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

pmichaud at svn.parrot.org pmichaud at svn.parrot.org
Sun Jun 6 07:57:49 UTC 2010


Author: pmichaud
Date: Sun Jun  6 07:57:48 2010
New Revision: 47424
URL: https://trac.parrot.org/parrot/changeset/47424

Log:
[nqp]:  Update bootstrap with full pasm constant versions.

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	Sun Jun  6 07:55:20 2010	(r47423)
+++ trunk/ext/nqp-rx/src/stage0/HLL-s0.pir	Sun Jun  6 07:57:48 2010	(r47424)
@@ -902,7 +902,7 @@
 ### .include 'gen/hllgrammar-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1275803235.70644")
+.sub "_block11"  :anon :subid("10_1275805935.36838")
 .annotate 'line', 0
     get_hll_global $P14, ["HLL";"Grammar"], "_block13" 
     capture_lex $P14
@@ -919,15 +919,15 @@
     $P348 = $P14()
 .annotate 'line', 1
     .return ($P348)
-    .const 'Sub' $P350 = "106_1275803235.70644" 
+    .const 'Sub' $P350 = "106_1275805935.36838" 
     .return ($P350)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post107") :outer("10_1275803235.70644")
+.sub "" :load :init :subid("post107") :outer("10_1275805935.36838")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1275803235.70644" 
+    .const 'Sub' $P12 = "10_1275805935.36838" 
     .local pmc block
     set block, $P12
     $P353 = get_root_global ["parrot"], "P6metaclass"
@@ -936,83 +936,83 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block13"  :subid("11_1275803235.70644") :outer("10_1275803235.70644")
+.sub "_block13"  :subid("11_1275805935.36838") :outer("10_1275805935.36838")
 .annotate 'line', 5
-    .const 'Sub' $P334 = "103_1275803235.70644" 
+    .const 'Sub' $P334 = "103_1275805935.36838" 
     capture_lex $P334
-    .const 'Sub' $P327 = "101_1275803235.70644" 
+    .const 'Sub' $P327 = "101_1275805935.36838" 
     capture_lex $P327
-    .const 'Sub' $P314 = "98_1275803235.70644" 
+    .const 'Sub' $P314 = "98_1275805935.36838" 
     capture_lex $P314
-    .const 'Sub' $P282 = "93_1275803235.70644" 
+    .const 'Sub' $P282 = "93_1275805935.36838" 
     capture_lex $P282
-    .const 'Sub' $P276 = "91_1275803235.70644" 
+    .const 'Sub' $P276 = "91_1275805935.36838" 
     capture_lex $P276
-    .const 'Sub' $P271 = "89_1275803235.70644" 
+    .const 'Sub' $P271 = "89_1275805935.36838" 
     capture_lex $P271
-    .const 'Sub' $P265 = "87_1275803235.70644" 
+    .const 'Sub' $P265 = "87_1275805935.36838" 
     capture_lex $P265
-    .const 'Sub' $P259 = "85_1275803235.70644" 
+    .const 'Sub' $P259 = "85_1275805935.36838" 
     capture_lex $P259
-    .const 'Sub' $P254 = "83_1275803235.70644" 
+    .const 'Sub' $P254 = "83_1275805935.36838" 
     capture_lex $P254
-    .const 'Sub' $P249 = "81_1275803235.70644" 
+    .const 'Sub' $P249 = "81_1275805935.36838" 
     capture_lex $P249
-    .const 'Sub' $P244 = "79_1275803235.70644" 
+    .const 'Sub' $P244 = "79_1275805935.36838" 
     capture_lex $P244
-    .const 'Sub' $P239 = "77_1275803235.70644" 
+    .const 'Sub' $P239 = "77_1275805935.36838" 
     capture_lex $P239
-    .const 'Sub' $P234 = "75_1275803235.70644" 
+    .const 'Sub' $P234 = "75_1275805935.36838" 
     capture_lex $P234
-    .const 'Sub' $P229 = "73_1275803235.70644" 
+    .const 'Sub' $P229 = "73_1275805935.36838" 
     capture_lex $P229
-    .const 'Sub' $P224 = "71_1275803235.70644" 
+    .const 'Sub' $P224 = "71_1275805935.36838" 
     capture_lex $P224
-    .const 'Sub' $P219 = "69_1275803235.70644" 
+    .const 'Sub' $P219 = "69_1275805935.36838" 
     capture_lex $P219
-    .const 'Sub' $P208 = "65_1275803235.70644" 
+    .const 'Sub' $P208 = "65_1275805935.36838" 
     capture_lex $P208
-    .const 'Sub' $P195 = "63_1275803235.70644" 
+    .const 'Sub' $P195 = "63_1275805935.36838" 
     capture_lex $P195
-    .const 'Sub' $P183 = "61_1275803235.70644" 
+    .const 'Sub' $P183 = "61_1275805935.36838" 
     capture_lex $P183
-    .const 'Sub' $P176 = "59_1275803235.70644" 
+    .const 'Sub' $P176 = "59_1275805935.36838" 
     capture_lex $P176
-    .const 'Sub' $P167 = "57_1275803235.70644" 
+    .const 'Sub' $P167 = "57_1275805935.36838" 
     capture_lex $P167
-    .const 'Sub' $P160 = "55_1275803235.70644" 
+    .const 'Sub' $P160 = "55_1275805935.36838" 
     capture_lex $P160
-    .const 'Sub' $P151 = "53_1275803235.70644" 
+    .const 'Sub' $P151 = "53_1275805935.36838" 
     capture_lex $P151
-    .const 'Sub' $P144 = "51_1275803235.70644" 
+    .const 'Sub' $P144 = "51_1275805935.36838" 
     capture_lex $P144
-    .const 'Sub' $P135 = "49_1275803235.70644" 
+    .const 'Sub' $P135 = "49_1275805935.36838" 
     capture_lex $P135
-    .const 'Sub' $P128 = "47_1275803235.70644" 
+    .const 'Sub' $P128 = "47_1275805935.36838" 
     capture_lex $P128
-    .const 'Sub' $P121 = "45_1275803235.70644" 
+    .const 'Sub' $P121 = "45_1275805935.36838" 
     capture_lex $P121
-    .const 'Sub' $P111 = "43_1275803235.70644" 
+    .const 'Sub' $P111 = "43_1275805935.36838" 
     capture_lex $P111
-    .const 'Sub' $P103 = "41_1275803235.70644" 
+    .const 'Sub' $P103 = "41_1275805935.36838" 
     capture_lex $P103
-    .const 'Sub' $P93 = "40_1275803235.70644" 
+    .const 'Sub' $P93 = "40_1275805935.36838" 
     capture_lex $P93
-    .const 'Sub' $P87 = "38_1275803235.70644" 
+    .const 'Sub' $P87 = "38_1275805935.36838" 
     capture_lex $P87
-    .const 'Sub' $P82 = "36_1275803235.70644" 
+    .const 'Sub' $P82 = "36_1275805935.36838" 
     capture_lex $P82
-    .const 'Sub' $P74 = "34_1275803235.70644" 
+    .const 'Sub' $P74 = "34_1275805935.36838" 
     capture_lex $P74
-    .const 'Sub' $P68 = "32_1275803235.70644" 
+    .const 'Sub' $P68 = "32_1275805935.36838" 
     capture_lex $P68
-    .const 'Sub' $P62 = "30_1275803235.70644" 
+    .const 'Sub' $P62 = "30_1275805935.36838" 
     capture_lex $P62
-    .const 'Sub' $P56 = "28_1275803235.70644" 
+    .const 'Sub' $P56 = "28_1275805935.36838" 
     capture_lex $P56
-    .const 'Sub' $P23 = "14_1275803235.70644" 
+    .const 'Sub' $P23 = "14_1275805935.36838" 
     capture_lex $P23
-    .const 'Sub' $P15 = "12_1275803235.70644" 
+    .const 'Sub' $P15 = "12_1275805935.36838" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -1021,17 +1021,17 @@
     $P0."ctxsave"()
   ctxsave_done:
 .annotate 'line', 33
-    .const 'Sub' $P334 = "103_1275803235.70644" 
+    .const 'Sub' $P334 = "103_1275805935.36838" 
     capture_lex $P334
 .annotate 'line', 5
     .return ($P334)
-    .const 'Sub' $P345 = "105_1275803235.70644" 
+    .const 'Sub' $P345 = "105_1275805935.36838" 
     .return ($P345)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "ws"  :subid("12_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "ws"  :subid("12_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 5
     .local string rx16_tgt
     .local int rx16_pos
@@ -1116,7 +1116,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__ws"  :subid("13_1275803235.70644") :method
+.sub "!PREFIX__ws"  :subid("13_1275805935.36838") :method
 .annotate 'line', 5
     new $P18, "ResizablePMCArray"
     push $P18, ""
@@ -1125,7 +1125,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "termish"  :subid("14_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "termish"  :subid("14_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 5
     .local string rx24_tgt
     .local int rx24_pos
@@ -1135,7 +1135,7 @@
     .local pmc rx24_cur
     (rx24_cur, rx24_pos, rx24_tgt) = self."!cursor_start"()
     rx24_cur."!cursor_debug"("START ", "termish")
-    rx24_cur."!cursor_caparray"("prefixish", "postfixish")
+    rx24_cur."!cursor_caparray"("postfixish", "prefixish")
     .lex unicode:"$\x{a2}", rx24_cur
     .local pmc match
     .lex "$/", match
@@ -1218,7 +1218,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__termish"  :subid("15_1275803235.70644") :method
+.sub "!PREFIX__termish"  :subid("15_1275805935.36838") :method
 .annotate 'line', 5
     new $P26, "ResizablePMCArray"
     push $P26, ""
@@ -1227,7 +1227,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term"  :subid("16_1275803235.70644") :method
+.sub "term"  :subid("16_1275805935.36838") :method
 .annotate 'line', 13
     $P33 = self."!protoregex"("term")
     .return ($P33)
@@ -1235,7 +1235,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term"  :subid("17_1275803235.70644") :method
+.sub "!PREFIX__term"  :subid("17_1275805935.36838") :method
 .annotate 'line', 13
     $P35 = self."!PREFIX__!protoregex"("term")
     .return ($P35)
@@ -1243,7 +1243,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infix"  :subid("18_1275803235.70644") :method
+.sub "infix"  :subid("18_1275805935.36838") :method
 .annotate 'line', 14
     $P37 = self."!protoregex"("infix")
     .return ($P37)
@@ -1251,7 +1251,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infix"  :subid("19_1275803235.70644") :method
+.sub "!PREFIX__infix"  :subid("19_1275805935.36838") :method
 .annotate 'line', 14
     $P39 = self."!PREFIX__!protoregex"("infix")
     .return ($P39)
@@ -1259,7 +1259,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefix"  :subid("20_1275803235.70644") :method
+.sub "prefix"  :subid("20_1275805935.36838") :method
 .annotate 'line', 15
     $P41 = self."!protoregex"("prefix")
     .return ($P41)
@@ -1267,7 +1267,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefix"  :subid("21_1275803235.70644") :method
+.sub "!PREFIX__prefix"  :subid("21_1275805935.36838") :method
 .annotate 'line', 15
     $P43 = self."!PREFIX__!protoregex"("prefix")
     .return ($P43)
@@ -1275,7 +1275,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfix"  :subid("22_1275803235.70644") :method
+.sub "postfix"  :subid("22_1275805935.36838") :method
 .annotate 'line', 16
     $P45 = self."!protoregex"("postfix")
     .return ($P45)
@@ -1283,7 +1283,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfix"  :subid("23_1275803235.70644") :method
+.sub "!PREFIX__postfix"  :subid("23_1275805935.36838") :method
 .annotate 'line', 16
     $P47 = self."!PREFIX__!protoregex"("postfix")
     .return ($P47)
@@ -1291,7 +1291,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "circumfix"  :subid("24_1275803235.70644") :method
+.sub "circumfix"  :subid("24_1275805935.36838") :method
 .annotate 'line', 17
     $P49 = self."!protoregex"("circumfix")
     .return ($P49)
@@ -1299,7 +1299,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__circumfix"  :subid("25_1275803235.70644") :method
+.sub "!PREFIX__circumfix"  :subid("25_1275805935.36838") :method
 .annotate 'line', 17
     $P51 = self."!PREFIX__!protoregex"("circumfix")
     .return ($P51)
@@ -1307,7 +1307,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postcircumfix"  :subid("26_1275803235.70644") :method
+.sub "postcircumfix"  :subid("26_1275805935.36838") :method
 .annotate 'line', 18
     $P53 = self."!protoregex"("postcircumfix")
     .return ($P53)
@@ -1315,7 +1315,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postcircumfix"  :subid("27_1275803235.70644") :method
+.sub "!PREFIX__postcircumfix"  :subid("27_1275805935.36838") :method
 .annotate 'line', 18
     $P55 = self."!PREFIX__!protoregex"("postcircumfix")
     .return ($P55)
@@ -1323,7 +1323,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term:sym<circumfix>"  :subid("28_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "term:sym<circumfix>"  :subid("28_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 5
     .local string rx57_tgt
     .local int rx57_pos
@@ -1382,7 +1382,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term:sym<circumfix>"  :subid("29_1275803235.70644") :method
+.sub "!PREFIX__term:sym<circumfix>"  :subid("29_1275805935.36838") :method
 .annotate 'line', 5
     $P59 = self."!PREFIX__!subrule"("circumfix", "")
     new $P60, "ResizablePMCArray"
@@ -1392,7 +1392,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infixish"  :subid("30_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "infixish"  :subid("30_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 5
     .local string rx63_tgt
     .local int rx63_pos
@@ -1451,7 +1451,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("31_1275803235.70644") :method
+.sub "!PREFIX__infixish"  :subid("31_1275805935.36838") :method
 .annotate 'line', 5
     $P65 = self."!PREFIX__!subrule"("infix", "")
     new $P66, "ResizablePMCArray"
@@ -1461,7 +1461,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefixish"  :subid("32_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "prefixish"  :subid("32_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 5
     .local string rx69_tgt
     .local int rx69_pos
@@ -1525,7 +1525,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefixish"  :subid("33_1275803235.70644") :method
+.sub "!PREFIX__prefixish"  :subid("33_1275805935.36838") :method
 .annotate 'line', 5
     $P71 = self."!PREFIX__!subrule"("prefix", "")
     new $P72, "ResizablePMCArray"
@@ -1535,7 +1535,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfixish"  :subid("34_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "postfixish"  :subid("34_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 5
     .local string rx75_tgt
     .local int rx75_pos
@@ -1610,7 +1610,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfixish"  :subid("35_1275803235.70644") :method
+.sub "!PREFIX__postfixish"  :subid("35_1275805935.36838") :method
 .annotate 'line', 5
     $P77 = self."!PREFIX__!subrule"("postcircumfix", "")
     $P78 = self."!PREFIX__!subrule"("postfix", "")
@@ -1622,7 +1622,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nullterm"  :subid("36_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "nullterm"  :subid("36_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 5
     .local string rx83_tgt
     .local int rx83_pos
@@ -1674,7 +1674,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm"  :subid("37_1275803235.70644") :method
+.sub "!PREFIX__nullterm"  :subid("37_1275805935.36838") :method
 .annotate 'line', 5
     new $P85, "ResizablePMCArray"
     push $P85, ""
@@ -1683,7 +1683,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nullterm_alt"  :subid("38_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "nullterm_alt"  :subid("38_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 5
     .local string rx88_tgt
     .local int rx88_pos
@@ -1742,7 +1742,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm_alt"  :subid("39_1275803235.70644") :method
+.sub "!PREFIX__nullterm_alt"  :subid("39_1275805935.36838") :method
 .annotate 'line', 5
     $P90 = self."!PREFIX__!subrule"("nullterm", "")
     new $P91, "ResizablePMCArray"
@@ -1752,11 +1752,12 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nulltermish"  :subid("40_1275803235.70644") :method :outer("11_1275803235.70644")
+.include "except_types.pasm"
+.sub "nulltermish"  :subid("40_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     new $P95, 'ExceptionHandler'
     set_addr $P95, control_94
-    $P95."handle_types"(57)
+    $P95."handle_types"(.CONTROL_RETURN)
     push_eh $P95
     .lex "self", self
     find_lex $P98, "self"
@@ -1779,7 +1780,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_delimited"  :subid("41_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "quote_delimited"  :subid("41_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx104_tgt
     .local int rx104_pos
@@ -1862,7 +1863,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_delimited"  :subid("42_1275803235.70644") :method
+.sub "!PREFIX__quote_delimited"  :subid("42_1275805935.36838") :method
 .annotate 'line', 33
     $P106 = self."!PREFIX__!subrule"("starter", "")
     new $P107, "ResizablePMCArray"
@@ -1872,7 +1873,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_atom"  :subid("43_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "quote_atom"  :subid("43_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx112_tgt
     .local int rx112_pos
@@ -1964,7 +1965,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_atom"  :subid("44_1275803235.70644") :method
+.sub "!PREFIX__quote_atom"  :subid("44_1275805935.36838") :method
 .annotate 'line', 33
     new $P114, "ResizablePMCArray"
     push $P114, ""
@@ -1973,7 +1974,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "decint"  :subid("45_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "decint"  :subid("45_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx122_tgt
     .local int rx122_pos
@@ -2046,7 +2047,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decint"  :subid("46_1275803235.70644") :method
+.sub "!PREFIX__decint"  :subid("46_1275805935.36838") :method
 .annotate 'line', 33
     new $P124, "ResizablePMCArray"
     push $P124, ""
@@ -2055,7 +2056,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "decints"  :subid("47_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "decints"  :subid("47_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx129_tgt
     .local int rx129_pos
@@ -2140,7 +2141,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decints"  :subid("48_1275803235.70644") :method
+.sub "!PREFIX__decints"  :subid("48_1275805935.36838") :method
 .annotate 'line', 33
     new $P131, "ResizablePMCArray"
     push $P131, ""
@@ -2149,7 +2150,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexint"  :subid("49_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "hexint"  :subid("49_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx136_tgt
     .local int rx136_pos
@@ -2231,7 +2232,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexint"  :subid("50_1275803235.70644") :method
+.sub "!PREFIX__hexint"  :subid("50_1275805935.36838") :method
 .annotate 'line', 33
     new $P138, "ResizablePMCArray"
     push $P138, ""
@@ -2240,7 +2241,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexints"  :subid("51_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "hexints"  :subid("51_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx145_tgt
     .local int rx145_pos
@@ -2325,7 +2326,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints"  :subid("52_1275803235.70644") :method
+.sub "!PREFIX__hexints"  :subid("52_1275805935.36838") :method
 .annotate 'line', 33
     new $P147, "ResizablePMCArray"
     push $P147, ""
@@ -2334,7 +2335,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octint"  :subid("53_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "octint"  :subid("53_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx152_tgt
     .local int rx152_pos
@@ -2416,7 +2417,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octint"  :subid("54_1275803235.70644") :method
+.sub "!PREFIX__octint"  :subid("54_1275805935.36838") :method
 .annotate 'line', 33
     new $P154, "ResizablePMCArray"
     push $P154, ""
@@ -2425,7 +2426,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octints"  :subid("55_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "octints"  :subid("55_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx161_tgt
     .local int rx161_pos
@@ -2510,7 +2511,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octints"  :subid("56_1275803235.70644") :method
+.sub "!PREFIX__octints"  :subid("56_1275805935.36838") :method
 .annotate 'line', 33
     new $P163, "ResizablePMCArray"
     push $P163, ""
@@ -2519,7 +2520,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binint"  :subid("57_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "binint"  :subid("57_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx168_tgt
     .local int rx168_pos
@@ -2601,7 +2602,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binint"  :subid("58_1275803235.70644") :method
+.sub "!PREFIX__binint"  :subid("58_1275805935.36838") :method
 .annotate 'line', 33
     new $P170, "ResizablePMCArray"
     push $P170, ""
@@ -2610,7 +2611,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binints"  :subid("59_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "binints"  :subid("59_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx177_tgt
     .local int rx177_pos
@@ -2695,7 +2696,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binints"  :subid("60_1275803235.70644") :method
+.sub "!PREFIX__binints"  :subid("60_1275805935.36838") :method
 .annotate 'line', 33
     new $P179, "ResizablePMCArray"
     push $P179, ""
@@ -2704,7 +2705,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "integer"  :subid("61_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "integer"  :subid("61_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx184_tgt
     .local int rx184_pos
@@ -2853,7 +2854,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__integer"  :subid("62_1275803235.70644") :method
+.sub "!PREFIX__integer"  :subid("62_1275805935.36838") :method
 .annotate 'line', 33
     $P186 = self."!PREFIX__!subrule"("decint", "")
     $P187 = self."!PREFIX__!subrule"("decint", "0d")
@@ -2871,7 +2872,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "dec_number"  :subid("63_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "dec_number"  :subid("63_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx196_tgt
     .local int rx196_pos
@@ -3051,7 +3052,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__dec_number"  :subid("64_1275803235.70644") :method
+.sub "!PREFIX__dec_number"  :subid("64_1275805935.36838") :method
 .annotate 'line', 33
     new $P198, "ResizablePMCArray"
     push $P198, ""
@@ -3062,7 +3063,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "escale"  :subid("65_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "escale"  :subid("65_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx209_tgt
     .local int rx209_pos
@@ -3140,7 +3141,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__escale"  :subid("66_1275803235.70644") :method
+.sub "!PREFIX__escale"  :subid("66_1275805935.36838") :method
 .annotate 'line', 33
     new $P211, "ResizablePMCArray"
     push $P211, "e"
@@ -3150,7 +3151,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape"  :subid("67_1275803235.70644") :method
+.sub "quote_escape"  :subid("67_1275805935.36838") :method
 .annotate 'line', 79
     $P216 = self."!protoregex"("quote_escape")
     .return ($P216)
@@ -3158,7 +3159,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape"  :subid("68_1275803235.70644") :method
+.sub "!PREFIX__quote_escape"  :subid("68_1275805935.36838") :method
 .annotate 'line', 79
     $P218 = self."!PREFIX__!protoregex"("quote_escape")
     .return ($P218)
@@ -3166,7 +3167,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<backslash>"  :subid("69_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "quote_escape:sym<backslash>"  :subid("69_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx220_tgt
     .local int rx220_pos
@@ -3229,7 +3230,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1275803235.70644") :method
+.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1275805935.36838") :method
 .annotate 'line', 33
     new $P222, "ResizablePMCArray"
     push $P222, "\\\\"
@@ -3238,7 +3239,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<stopper>"  :subid("71_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "quote_escape:sym<stopper>"  :subid("71_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx225_tgt
     .local int rx225_pos
@@ -3308,7 +3309,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1275803235.70644") :method
+.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1275805935.36838") :method
 .annotate 'line', 33
     new $P227, "ResizablePMCArray"
     push $P227, "\\"
@@ -3317,7 +3318,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<bs>"  :subid("73_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "quote_escape:sym<bs>"  :subid("73_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx230_tgt
     .local int rx230_pos
@@ -3380,7 +3381,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1275803235.70644") :method
+.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1275805935.36838") :method
 .annotate 'line', 33
     new $P232, "ResizablePMCArray"
     push $P232, "\\b"
@@ -3389,7 +3390,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<nl>"  :subid("75_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "quote_escape:sym<nl>"  :subid("75_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx235_tgt
     .local int rx235_pos
@@ -3452,7 +3453,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1275803235.70644") :method
+.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1275805935.36838") :method
 .annotate 'line', 33
     new $P237, "ResizablePMCArray"
     push $P237, "\\n"
@@ -3461,7 +3462,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<cr>"  :subid("77_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "quote_escape:sym<cr>"  :subid("77_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx240_tgt
     .local int rx240_pos
@@ -3524,7 +3525,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1275803235.70644") :method
+.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1275805935.36838") :method
 .annotate 'line', 33
     new $P242, "ResizablePMCArray"
     push $P242, "\\r"
@@ -3533,7 +3534,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<tab>"  :subid("79_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "quote_escape:sym<tab>"  :subid("79_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx245_tgt
     .local int rx245_pos
@@ -3596,7 +3597,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1275803235.70644") :method
+.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1275805935.36838") :method
 .annotate 'line', 33
     new $P247, "ResizablePMCArray"
     push $P247, "\\t"
@@ -3605,7 +3606,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<ff>"  :subid("81_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "quote_escape:sym<ff>"  :subid("81_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx250_tgt
     .local int rx250_pos
@@ -3668,7 +3669,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<ff>"  :subid("82_1275803235.70644") :method
+.sub "!PREFIX__quote_escape:sym<ff>"  :subid("82_1275805935.36838") :method
 .annotate 'line', 33
     new $P252, "ResizablePMCArray"
     push $P252, "\\f"
@@ -3677,7 +3678,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<esc>"  :subid("83_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "quote_escape:sym<esc>"  :subid("83_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx255_tgt
     .local int rx255_pos
@@ -3740,7 +3741,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>"  :subid("84_1275803235.70644") :method
+.sub "!PREFIX__quote_escape:sym<esc>"  :subid("84_1275805935.36838") :method
 .annotate 'line', 33
     new $P257, "ResizablePMCArray"
     push $P257, "\\e"
@@ -3749,7 +3750,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<hex>"  :subid("85_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "quote_escape:sym<hex>"  :subid("85_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx260_tgt
     .local int rx260_pos
@@ -3848,7 +3849,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<hex>"  :subid("86_1275803235.70644") :method
+.sub "!PREFIX__quote_escape:sym<hex>"  :subid("86_1275805935.36838") :method
 .annotate 'line', 33
     new $P262, "ResizablePMCArray"
     push $P262, unicode:"\\x"
@@ -3857,7 +3858,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<oct>"  :subid("87_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "quote_escape:sym<oct>"  :subid("87_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx266_tgt
     .local int rx266_pos
@@ -3956,7 +3957,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<oct>"  :subid("88_1275803235.70644") :method
+.sub "!PREFIX__quote_escape:sym<oct>"  :subid("88_1275805935.36838") :method
 .annotate 'line', 33
     new $P268, "ResizablePMCArray"
     push $P268, "\\o"
@@ -3965,7 +3966,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<chr>"  :subid("89_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "quote_escape:sym<chr>"  :subid("89_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx272_tgt
     .local int rx272_pos
@@ -4035,7 +4036,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<chr>"  :subid("90_1275803235.70644") :method
+.sub "!PREFIX__quote_escape:sym<chr>"  :subid("90_1275805935.36838") :method
 .annotate 'line', 33
     new $P274, "ResizablePMCArray"
     push $P274, "\\c"
@@ -4044,7 +4045,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<0>"  :subid("91_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "quote_escape:sym<0>"  :subid("91_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx277_tgt
     .local int rx277_pos
@@ -4128,7 +4129,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<0>"  :subid("92_1275803235.70644") :method
+.sub "!PREFIX__quote_escape:sym<0>"  :subid("92_1275805935.36838") :method
 .annotate 'line', 33
     new $P279, "ResizablePMCArray"
     push $P279, "\\0"
@@ -4137,13 +4138,13 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<misc>"  :subid("93_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "quote_escape:sym<misc>"  :subid("93_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
-    .const 'Sub' $P302 = "97_1275803235.70644" 
+    .const 'Sub' $P302 = "97_1275805935.36838" 
     capture_lex $P302
-    .const 'Sub' $P295 = "96_1275803235.70644" 
+    .const 'Sub' $P295 = "96_1275805935.36838" 
     capture_lex $P295
-    .const 'Sub' $P290 = "95_1275803235.70644" 
+    .const 'Sub' $P290 = "95_1275805935.36838" 
     capture_lex $P290
     .local string rx283_tgt
     .local int rx283_pos
@@ -4180,7 +4181,7 @@
     find_lex $P287, unicode:"$\x{a2}"
     $P288 = $P287."MATCH"()
     store_lex "$/", $P288
-    .const 'Sub' $P290 = "95_1275803235.70644" 
+    .const 'Sub' $P290 = "95_1275805935.36838" 
     capture_lex $P290
     $P291 = $P290()
   # rx literal  "\\"
@@ -4206,7 +4207,7 @@
 .annotate 'line', 104
   # rx subrule $P295 subtype=capture negate=
     rx283_cur."!cursor_pos"(rx283_pos)
-    .const 'Sub' $P295 = "96_1275803235.70644" 
+    .const 'Sub' $P295 = "96_1275805935.36838" 
     capture_lex $P295
     $P10 = rx283_cur.$P295()
     unless $P10, rx283_fail
@@ -4240,7 +4241,7 @@
     find_lex $P299, unicode:"$\x{a2}"
     $P300 = $P299."MATCH"()
     store_lex "$/", $P300
-    .const 'Sub' $P302 = "97_1275803235.70644" 
+    .const 'Sub' $P302 = "97_1275805935.36838" 
     capture_lex $P302
     $P312 = $P302()
   alt293_end:
@@ -4286,7 +4287,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<misc>"  :subid("94_1275803235.70644") :method
+.sub "!PREFIX__quote_escape:sym<misc>"  :subid("94_1275805935.36838") :method
 .annotate 'line', 33
     new $P285, "ResizablePMCArray"
     push $P285, ""
@@ -4295,14 +4296,14 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block289"  :anon :subid("95_1275803235.70644") :outer("93_1275803235.70644")
+.sub "_block289"  :anon :subid("95_1275805935.36838") :outer("93_1275805935.36838")
 .annotate 'line', 100
     .return ()
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block294"  :anon :subid("96_1275803235.70644") :method :outer("93_1275803235.70644")
+.sub "_block294"  :anon :subid("96_1275805935.36838") :method :outer("93_1275805935.36838")
 .annotate 'line', 104
     .local string rx296_tgt
     .local int rx296_pos
@@ -4358,7 +4359,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block301"  :anon :subid("97_1275803235.70644") :outer("93_1275803235.70644")
+.sub "_block301"  :anon :subid("97_1275805935.36838") :outer("93_1275805935.36838")
 .annotate 'line', 105
     find_lex $P303, "$/"
     $P304 = $P303."CURSOR"()
@@ -4381,9 +4382,9 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charname"  :subid("98_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "charname"  :subid("98_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
-    .const 'Sub' $P324 = "100_1275803235.70644" 
+    .const 'Sub' $P324 = "100_1275805935.36838" 
     capture_lex $P324
     .local string rx315_tgt
     .local int rx315_pos
@@ -4462,7 +4463,7 @@
 .annotate 'line', 114
   # rx subrule "before" subtype=zerowidth negate=
     rx315_cur."!cursor_pos"(rx315_pos)
-    .const 'Sub' $P324 = "100_1275803235.70644" 
+    .const 'Sub' $P324 = "100_1275805935.36838" 
     capture_lex $P324
     $P10 = rx315_cur."before"($P324)
     unless $P10, rx315_fail
@@ -4487,7 +4488,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charname"  :subid("99_1275803235.70644") :method
+.sub "!PREFIX__charname"  :subid("99_1275805935.36838") :method
 .annotate 'line', 33
     $P317 = self."!PREFIX__!subrule"("integer", "")
     new $P318, "ResizablePMCArray"
@@ -4549,7 +4550,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block323"  :anon :subid("100_1275803235.70644") :method :outer("98_1275803235.70644")
+.sub "_block323"  :anon :subid("100_1275805935.36838") :method :outer("98_1275805935.36838")
 .annotate 'line', 114
     .local string rx325_tgt
     .local int rx325_pos
@@ -4610,7 +4611,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charnames"  :subid("101_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "charnames"  :subid("101_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx328_tgt
     .local int rx328_pos
@@ -4695,7 +4696,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charnames"  :subid("102_1275803235.70644") :method
+.sub "!PREFIX__charnames"  :subid("102_1275805935.36838") :method
 .annotate 'line', 33
     new $P330, "ResizablePMCArray"
     push $P330, ""
@@ -4704,7 +4705,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charspec"  :subid("103_1275803235.70644") :method :outer("11_1275803235.70644")
+.sub "charspec"  :subid("103_1275805935.36838") :method :outer("11_1275805935.36838")
 .annotate 'line', 33
     .local string rx335_tgt
     .local int rx335_pos
@@ -4835,7 +4836,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charspec"  :subid("104_1275803235.70644") :method
+.sub "!PREFIX__charspec"  :subid("104_1275805935.36838") :method
 .annotate 'line', 33
     $P337 = self."!PREFIX__!subrule"("panic", "")
     $P338 = self."!PREFIX__!subrule"("charnames", "[")
@@ -4876,18 +4877,18 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block344" :load :anon :subid("105_1275803235.70644")
+.sub "_block344" :load :anon :subid("105_1275805935.36838")
 .annotate 'line', 5
-    .const 'Sub' $P346 = "11_1275803235.70644" 
+    .const 'Sub' $P346 = "11_1275805935.36838" 
     $P347 = $P346()
     .return ($P347)
 .end
 
 
 .namespace []
-.sub "_block349" :load :anon :subid("106_1275803235.70644")
+.sub "_block349" :load :anon :subid("106_1275805935.36838")
 .annotate 'line', 1
-    .const 'Sub' $P351 = "10_1275803235.70644" 
+    .const 'Sub' $P351 = "10_1275805935.36838" 
     $P352 = $P351()
     .return ($P352)
 .end
@@ -4895,7 +4896,7 @@
 ### .include 'gen/hllgrammar-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1275803237.85498")
+.sub "_block11"  :anon :subid("10_1275805937.49596")
 .annotate 'line', 0
     get_hll_global $P14, ["HLL";"Actions"], "_block13" 
     capture_lex $P14
@@ -4912,15 +4913,15 @@
     $P627 = $P14()
 .annotate 'line', 1
     .return ($P627)
-    .const 'Sub' $P629 = "55_1275803237.85498" 
+    .const 'Sub' $P629 = "55_1275805937.49596" 
     .return ($P629)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post56") :outer("10_1275803237.85498")
+.sub "" :load :init :subid("post56") :outer("10_1275805937.49596")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1275803237.85498" 
+    .const 'Sub' $P12 = "10_1275805937.49596" 
     .local pmc block
     set block, $P12
     $P632 = get_root_global ["parrot"], "P6metaclass"
@@ -4929,75 +4930,75 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block13"  :subid("11_1275803237.85498") :outer("10_1275803237.85498")
+.sub "_block13"  :subid("11_1275805937.49596") :outer("10_1275805937.49596")
 .annotate 'line', 3
-    .const 'Sub' $P605 = "53_1275803237.85498" 
+    .const 'Sub' $P605 = "53_1275805937.49596" 
     capture_lex $P605
-    .const 'Sub' $P580 = "51_1275803237.85498" 
+    .const 'Sub' $P580 = "51_1275805937.49596" 
     capture_lex $P580
-    .const 'Sub' $P550 = "50_1275803237.85498" 
+    .const 'Sub' $P550 = "50_1275805937.49596" 
     capture_lex $P550
-    .const 'Sub' $P531 = "49_1275803237.85498" 
+    .const 'Sub' $P531 = "49_1275805937.49596" 
     capture_lex $P531
-    .const 'Sub' $P524 = "48_1275803237.85498" 
+    .const 'Sub' $P524 = "48_1275805937.49596" 
     capture_lex $P524
-    .const 'Sub' $P514 = "47_1275803237.85498" 
+    .const 'Sub' $P514 = "47_1275805937.49596" 
     capture_lex $P514
-    .const 'Sub' $P497 = "46_1275803237.85498" 
+    .const 'Sub' $P497 = "46_1275805937.49596" 
     capture_lex $P497
-    .const 'Sub' $P480 = "45_1275803237.85498" 
+    .const 'Sub' $P480 = "45_1275805937.49596" 
     capture_lex $P480
-    .const 'Sub' $P473 = "44_1275803237.85498" 
+    .const 'Sub' $P473 = "44_1275805937.49596" 
     capture_lex $P473
-    .const 'Sub' $P466 = "43_1275803237.85498" 
+    .const 'Sub' $P466 = "43_1275805937.49596" 
     capture_lex $P466
-    .const 'Sub' $P459 = "42_1275803237.85498" 
+    .const 'Sub' $P459 = "42_1275805937.49596" 
     capture_lex $P459
-    .const 'Sub' $P452 = "41_1275803237.85498" 
+    .const 'Sub' $P452 = "41_1275805937.49596" 
     capture_lex $P452
-    .const 'Sub' $P445 = "40_1275803237.85498" 
+    .const 'Sub' $P445 = "40_1275805937.49596" 
     capture_lex $P445
-    .const 'Sub' $P438 = "39_1275803237.85498" 
+    .const 'Sub' $P438 = "39_1275805937.49596" 
     capture_lex $P438
-    .const 'Sub' $P428 = "38_1275803237.85498" 
+    .const 'Sub' $P428 = "38_1275805937.49596" 
     capture_lex $P428
-    .const 'Sub' $P421 = "37_1275803237.85498" 
+    .const 'Sub' $P421 = "37_1275805937.49596" 
     capture_lex $P421
-    .const 'Sub' $P405 = "36_1275803237.85498" 
+    .const 'Sub' $P405 = "36_1275805937.49596" 
     capture_lex $P405
-    .const 'Sub' $P330 = "34_1275803237.85498" 
+    .const 'Sub' $P330 = "34_1275805937.49596" 
     capture_lex $P330
-    .const 'Sub' $P267 = "31_1275803237.85498" 
+    .const 'Sub' $P267 = "31_1275805937.49596" 
     capture_lex $P267
-    .const 'Sub' $P258 = "30_1275803237.85498" 
+    .const 'Sub' $P258 = "30_1275805937.49596" 
     capture_lex $P258
-    .const 'Sub' $P249 = "29_1275803237.85498" 
+    .const 'Sub' $P249 = "29_1275805937.49596" 
     capture_lex $P249
-    .const 'Sub' $P240 = "28_1275803237.85498" 
+    .const 'Sub' $P240 = "28_1275805937.49596" 
     capture_lex $P240
-    .const 'Sub' $P231 = "27_1275803237.85498" 
+    .const 'Sub' $P231 = "27_1275805937.49596" 
     capture_lex $P231
-    .const 'Sub' $P222 = "26_1275803237.85498" 
+    .const 'Sub' $P222 = "26_1275805937.49596" 
     capture_lex $P222
-    .const 'Sub' $P212 = "25_1275803237.85498" 
+    .const 'Sub' $P212 = "25_1275805937.49596" 
     capture_lex $P212
-    .const 'Sub' $P202 = "24_1275803237.85498" 
+    .const 'Sub' $P202 = "24_1275805937.49596" 
     capture_lex $P202
-    .const 'Sub' $P194 = "23_1275803237.85498" 
+    .const 'Sub' $P194 = "23_1275805937.49596" 
     capture_lex $P194
-    .const 'Sub' $P184 = "22_1275803237.85498" 
+    .const 'Sub' $P184 = "22_1275805937.49596" 
     capture_lex $P184
-    .const 'Sub' $P174 = "21_1275803237.85498" 
+    .const 'Sub' $P174 = "21_1275805937.49596" 
     capture_lex $P174
-    .const 'Sub' $P73 = "18_1275803237.85498" 
+    .const 'Sub' $P73 = "18_1275805937.49596" 
     capture_lex $P73
-    .const 'Sub' $P35 = "15_1275803237.85498" 
+    .const 'Sub' $P35 = "15_1275805937.49596" 
     capture_lex $P35
-    .const 'Sub' $P28 = "14_1275803237.85498" 
+    .const 'Sub' $P28 = "14_1275805937.49596" 
     capture_lex $P28
-    .const 'Sub' $P22 = "13_1275803237.85498" 
+    .const 'Sub' $P22 = "13_1275805937.49596" 
     capture_lex $P22
-    .const 'Sub' $P15 = "12_1275803237.85498" 
+    .const 'Sub' $P15 = "12_1275805937.49596" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -5006,23 +5007,24 @@
     $P0."ctxsave"()
   ctxsave_done:
 .annotate 'line', 225
-    .const 'Sub' $P605 = "53_1275803237.85498" 
+    .const 'Sub' $P605 = "53_1275805937.49596" 
     newclosure $P622, $P605
 .annotate 'line', 3
     .return ($P622)
-    .const 'Sub' $P624 = "54_1275803237.85498" 
+    .const 'Sub' $P624 = "54_1275805937.49596" 
     .return ($P624)
 .end
 
 
 .namespace ["HLL";"Actions"]
-.sub "string_to_int"  :subid("12_1275803237.85498") :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "string_to_int"  :subid("12_1275805937.49596") :outer("11_1275805937.49596")
     .param pmc param_18
     .param pmc param_19
 .annotate 'line', 3
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
-    $P17."handle_types"(57)
+    $P17."handle_types"(.CONTROL_RETURN)
     push_eh $P17
     .lex "$src", param_18
     .lex "$base", param_19
@@ -5069,12 +5071,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "ints_to_string"  :subid("13_1275803237.85498") :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "ints_to_string"  :subid("13_1275805937.49596") :outer("11_1275805937.49596")
     .param pmc param_25
 .annotate 'line', 37
     new $P24, 'ExceptionHandler'
     set_addr $P24, control_23
-    $P24."handle_types"(57)
+    $P24."handle_types"(.CONTROL_RETURN)
     push_eh $P24
     .lex "$ints", param_25
 .annotate 'line', 38
@@ -5110,11 +5113,12 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "CTXSAVE"  :subid("14_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "CTXSAVE"  :subid("14_1275805937.49596") :method :outer("11_1275805937.49596")
 .annotate 'line', 62
     new $P30, 'ExceptionHandler'
     set_addr $P30, control_29
-    $P30."handle_types"(57)
+    $P30."handle_types"(.CONTROL_RETURN)
     push_eh $P30
     .lex "self", self
 .annotate 'line', 63
@@ -5139,14 +5143,15 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "SET_BLOCK_OUTER_CTX"  :subid("15_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "SET_BLOCK_OUTER_CTX"  :subid("15_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_38
 .annotate 'line', 76
-    .const 'Sub' $P48 = "16_1275803237.85498" 
+    .const 'Sub' $P48 = "16_1275805937.49596" 
     capture_lex $P48
     new $P37, 'ExceptionHandler'
     set_addr $P37, control_36
-    $P37."handle_types"(57)
+    $P37."handle_types"(.CONTROL_RETURN)
     push_eh $P37
     .lex "self", self
     .lex "$block", param_38
@@ -5177,7 +5182,7 @@
     set $P43, $I46
     goto if_44_end
   if_44:
-    .const 'Sub' $P48 = "16_1275803237.85498" 
+    .const 'Sub' $P48 = "16_1275805937.49596" 
     capture_lex $P48
     $P71 = $P48()
     set $P43, $P71
@@ -5193,9 +5198,10 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block47"  :anon :subid("16_1275803237.85498") :outer("15_1275803237.85498")
+.include "except_types.pasm"
+.sub "_block47"  :anon :subid("16_1275805937.49596") :outer("15_1275805937.49596")
 .annotate 'line', 78
-    .const 'Sub' $P62 = "17_1275803237.85498" 
+    .const 'Sub' $P62 = "17_1275805937.49596" 
     capture_lex $P62
 .annotate 'line', 79
     $P49 = root_new ['parrot';'ResizablePMCArray']
@@ -5219,13 +5225,13 @@
     iter $P56, $P58
     new $P69, 'ExceptionHandler'
     set_addr $P69, loop68_handler
-    $P69."handle_types"(64, 66, 65)
+    $P69."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P69
   loop68_test:
     unless $P56, loop68_done
     shift $P60, $P56
   loop68_redo:
-    .const 'Sub' $P62 = "17_1275803237.85498" 
+    .const 'Sub' $P62 = "17_1275805937.49596" 
     capture_lex $P62
     $P62($P60)
   loop68_next:
@@ -5234,8 +5240,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P70, exception, 'type'
-    eq $P70, 64, loop68_next
-    eq $P70, 66, loop68_redo
+    eq $P70, .CONTROL_LOOP_NEXT, loop68_next
+    eq $P70, .CONTROL_LOOP_REDO, loop68_redo
   loop68_done:
     pop_eh 
   for_undef_61:
@@ -5245,7 +5251,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block61"  :anon :subid("17_1275803237.85498") :outer("16_1275803237.85498")
+.sub "_block61"  :anon :subid("17_1275805937.49596") :outer("16_1275805937.49596")
     .param pmc param_63
 .annotate 'line', 82
     .lex "$_", param_63
@@ -5260,18 +5266,19 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "EXPR"  :subid("18_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "EXPR"  :subid("18_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_76
     .param pmc param_77 :optional
     .param int has_param_77 :opt_flag
 .annotate 'line', 89
-    .const 'Sub' $P156 = "20_1275803237.85498" 
+    .const 'Sub' $P156 = "20_1275805937.49596" 
     capture_lex $P156
-    .const 'Sub' $P123 = "19_1275803237.85498" 
+    .const 'Sub' $P123 = "19_1275805937.49596" 
     capture_lex $P123
     new $P75, 'ExceptionHandler'
     set_addr $P75, control_74
-    $P75."handle_types"(57)
+    $P75."handle_types"(.CONTROL_RETURN)
     push_eh $P75
     .lex "self", self
     .lex "$/", param_76
@@ -5287,7 +5294,7 @@
     find_lex $P81, "$key"
     if $P81, unless_80_end
     new $P82, "Exception"
-    set $P82['type'], 57
+    set $P82['type'], .CONTROL_RETURN
     new $P83, "Integer"
     assign $P83, 0
     setattribute $P82, 'payload', $P83
@@ -5402,7 +5409,7 @@
     find_lex $P120, "$past"
     $P121 = $P120."name"()
     if $P121, unless_119_end
-    .const 'Sub' $P123 = "19_1275803237.85498" 
+    .const 'Sub' $P123 = "19_1275805937.49596" 
     capture_lex $P123
     $P123()
   unless_119_end:
@@ -5420,13 +5427,13 @@
     iter $P150, $P152
     new $P168, 'ExceptionHandler'
     set_addr $P168, loop167_handler
-    $P168."handle_types"(64, 66, 65)
+    $P168."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P168
   loop167_test:
     unless $P150, loop167_done
     shift $P154, $P150
   loop167_redo:
-    .const 'Sub' $P156 = "20_1275803237.85498" 
+    .const 'Sub' $P156 = "20_1275805937.49596" 
     capture_lex $P156
     $P156($P154)
   loop167_next:
@@ -5435,8 +5442,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P169, exception, 'type'
-    eq $P169, 64, loop167_next
-    eq $P169, 66, loop167_redo
+    eq $P169, .CONTROL_LOOP_NEXT, loop167_next
+    eq $P169, .CONTROL_LOOP_REDO, loop167_redo
   loop167_done:
     pop_eh 
   for_undef_84:
@@ -5471,7 +5478,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block122"  :anon :subid("19_1275803237.85498") :outer("18_1275803237.85498")
+.sub "_block122"  :anon :subid("19_1275805937.49596") :outer("18_1275805937.49596")
 .annotate 'line', 98
     new $P124, "Undef"
     .lex "$name", $P124
@@ -5521,7 +5528,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block155"  :anon :subid("20_1275803237.85498") :outer("18_1275803237.85498")
+.sub "_block155"  :anon :subid("20_1275805937.49596") :outer("18_1275805937.49596")
     .param pmc param_157
 .annotate 'line', 109
     .lex "$_", param_157
@@ -5544,12 +5551,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "term:sym<circumfix>"  :subid("21_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "term:sym<circumfix>"  :subid("21_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_177
 .annotate 'line', 114
     new $P176, 'ExceptionHandler'
     set_addr $P176, control_175
-    $P176."handle_types"(57)
+    $P176."handle_types"(.CONTROL_RETURN)
     push_eh $P176
     .lex "self", self
     .lex "$/", param_177
@@ -5574,12 +5582,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "termish"  :subid("22_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "termish"  :subid("22_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_187
 .annotate 'line', 116
     new $P186, 'ExceptionHandler'
     set_addr $P186, control_185
-    $P186."handle_types"(57)
+    $P186."handle_types"(.CONTROL_RETURN)
     push_eh $P186
     .lex "self", self
     .lex "$/", param_187
@@ -5604,12 +5613,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "nullterm"  :subid("23_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "nullterm"  :subid("23_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_197
 .annotate 'line', 117
     new $P196, 'ExceptionHandler'
     set_addr $P196, control_195
-    $P196."handle_types"(57)
+    $P196."handle_types"(.CONTROL_RETURN)
     push_eh $P196
     .lex "self", self
     .lex "$/", param_197
@@ -5626,12 +5636,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "nullterm_alt"  :subid("24_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "nullterm_alt"  :subid("24_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_205
 .annotate 'line', 118
     new $P204, 'ExceptionHandler'
     set_addr $P204, control_203
-    $P204."handle_types"(57)
+    $P204."handle_types"(.CONTROL_RETURN)
     push_eh $P204
     .lex "self", self
     .lex "$/", param_205
@@ -5656,12 +5667,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "integer"  :subid("25_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "integer"  :subid("25_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_215
 .annotate 'line', 120
     new $P214, 'ExceptionHandler'
     set_addr $P214, control_213
-    $P214."handle_types"(57)
+    $P214."handle_types"(.CONTROL_RETURN)
     push_eh $P214
     .lex "self", self
     .lex "$/", param_215
@@ -5686,12 +5698,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "dec_number"  :subid("26_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "dec_number"  :subid("26_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_225
 .annotate 'line', 122
     new $P224, 'ExceptionHandler'
     set_addr $P224, control_223
-    $P224."handle_types"(57)
+    $P224."handle_types"(.CONTROL_RETURN)
     push_eh $P224
     .lex "self", self
     .lex "$/", param_225
@@ -5709,12 +5722,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "decint"  :subid("27_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "decint"  :subid("27_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_234
 .annotate 'line', 124
     new $P233, 'ExceptionHandler'
     set_addr $P233, control_232
-    $P233."handle_types"(57)
+    $P233."handle_types"(.CONTROL_RETURN)
     push_eh $P233
     .lex "self", self
     .lex "$/", param_234
@@ -5732,12 +5746,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "hexint"  :subid("28_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "hexint"  :subid("28_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_243
 .annotate 'line', 125
     new $P242, 'ExceptionHandler'
     set_addr $P242, control_241
-    $P242."handle_types"(57)
+    $P242."handle_types"(.CONTROL_RETURN)
     push_eh $P242
     .lex "self", self
     .lex "$/", param_243
@@ -5755,12 +5770,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "octint"  :subid("29_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "octint"  :subid("29_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_252
 .annotate 'line', 126
     new $P251, 'ExceptionHandler'
     set_addr $P251, control_250
-    $P251."handle_types"(57)
+    $P251."handle_types"(.CONTROL_RETURN)
     push_eh $P251
     .lex "self", self
     .lex "$/", param_252
@@ -5778,12 +5794,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "binint"  :subid("30_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "binint"  :subid("30_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_261
 .annotate 'line', 127
     new $P260, 'ExceptionHandler'
     set_addr $P260, control_259
-    $P260."handle_types"(57)
+    $P260."handle_types"(.CONTROL_RETURN)
     push_eh $P260
     .lex "self", self
     .lex "$/", param_261
@@ -5801,14 +5818,15 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_EXPR"  :subid("31_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_EXPR"  :subid("31_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_270
 .annotate 'line', 129
-    .const 'Sub' $P286 = "32_1275803237.85498" 
+    .const 'Sub' $P286 = "32_1275805937.49596" 
     capture_lex $P286
     new $P269, 'ExceptionHandler'
     set_addr $P269, control_268
-    $P269."handle_types"(57)
+    $P269."handle_types"(.CONTROL_RETURN)
     push_eh $P269
     .lex "self", self
     .lex "$/", param_270
@@ -5836,7 +5854,7 @@
     $P282 = $P280."ACCEPTS"($P281)
     if $P282, if_279
 .annotate 'line', 135
-    .const 'Sub' $P286 = "32_1275803237.85498" 
+    .const 'Sub' $P286 = "32_1275805937.49596" 
     capture_lex $P286
     $P286()
     goto if_279_end
@@ -5875,9 +5893,10 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block285"  :anon :subid("32_1275803237.85498") :outer("31_1275803237.85498")
+.include "except_types.pasm"
+.sub "_block285"  :anon :subid("32_1275805937.49596") :outer("31_1275805937.49596")
 .annotate 'line', 135
-    .const 'Sub' $P305 = "33_1275803237.85498" 
+    .const 'Sub' $P305 = "33_1275805937.49596" 
     capture_lex $P305
 .annotate 'line', 136
     $P287 = root_new ['parrot';'ResizablePMCArray']
@@ -5922,13 +5941,13 @@
     iter $P300, $P301
     new $P311, 'ExceptionHandler'
     set_addr $P311, loop310_handler
-    $P311."handle_types"(64, 66, 65)
+    $P311."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P311
   loop310_test:
     unless $P300, loop310_done
     shift $P303, $P300
   loop310_redo:
-    .const 'Sub' $P305 = "33_1275803237.85498" 
+    .const 'Sub' $P305 = "33_1275805937.49596" 
     capture_lex $P305
     $P305($P303)
   loop310_next:
@@ -5937,8 +5956,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P312, exception, 'type'
-    eq $P312, 64, loop310_next
-    eq $P312, 66, loop310_redo
+    eq $P312, .CONTROL_LOOP_NEXT, loop310_next
+    eq $P312, .CONTROL_LOOP_REDO, loop310_redo
   loop310_done:
     pop_eh 
   for_undef_99:
@@ -5951,7 +5970,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block304"  :anon :subid("33_1275803237.85498") :outer("32_1275803237.85498")
+.sub "_block304"  :anon :subid("33_1275805937.49596") :outer("32_1275805937.49596")
     .param pmc param_306
 .annotate 'line', 139
     .lex "$_", param_306
@@ -5963,14 +5982,15 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_delimited"  :subid("34_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_delimited"  :subid("34_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_333
 .annotate 'line', 152
-    .const 'Sub' $P345 = "35_1275803237.85498" 
+    .const 'Sub' $P345 = "35_1275805937.49596" 
     capture_lex $P345
     new $P332, 'ExceptionHandler'
     set_addr $P332, control_331
-    $P332."handle_types"(57)
+    $P332."handle_types"(.CONTROL_RETURN)
     push_eh $P332
     .lex "self", self
     .lex "$/", param_333
@@ -6003,13 +6023,13 @@
     iter $P339, $P341
     new $P378, 'ExceptionHandler'
     set_addr $P378, loop377_handler
-    $P378."handle_types"(64, 66, 65)
+    $P378."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P378
   loop377_test:
     unless $P339, loop377_done
     shift $P343, $P339
   loop377_redo:
-    .const 'Sub' $P345 = "35_1275803237.85498" 
+    .const 'Sub' $P345 = "35_1275805937.49596" 
     capture_lex $P345
     $P345($P343)
   loop377_next:
@@ -6018,8 +6038,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P379, exception, 'type'
-    eq $P379, 64, loop377_next
-    eq $P379, 66, loop377_redo
+    eq $P379, .CONTROL_LOOP_NEXT, loop377_next
+    eq $P379, .CONTROL_LOOP_REDO, loop377_redo
   loop377_done:
     pop_eh 
   for_undef_102:
@@ -6048,7 +6068,7 @@
 .annotate 'line', 171
     new $P399, 'ExceptionHandler'
     set_addr $P399, loop398_handler
-    $P399."handle_types"(64, 66, 65)
+    $P399."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P399
   loop398_test:
     find_lex $P392, "@parts"
@@ -6068,8 +6088,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P400, exception, 'type'
-    eq $P400, 64, loop398_next
-    eq $P400, 66, loop398_redo
+    eq $P400, .CONTROL_LOOP_NEXT, loop398_next
+    eq $P400, .CONTROL_LOOP_REDO, loop398_redo
   loop398_done:
     pop_eh 
 .annotate 'line', 174
@@ -6087,7 +6107,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block344"  :anon :subid("35_1275803237.85498") :outer("34_1275803237.85498")
+.sub "_block344"  :anon :subid("35_1275805937.49596") :outer("34_1275805937.49596")
     .param pmc param_347
 .annotate 'line', 156
     new $P346, "Undef"
@@ -6156,12 +6176,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_atom"  :subid("36_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_atom"  :subid("36_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_408
 .annotate 'line', 177
     new $P407, 'ExceptionHandler'
     set_addr $P407, control_406
-    $P407."handle_types"(57)
+    $P407."handle_types"(.CONTROL_RETURN)
     push_eh $P407
     .lex "self", self
     .lex "$/", param_408
@@ -6205,12 +6226,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<backslash>"  :subid("37_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_escape:sym<backslash>"  :subid("37_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_424
 .annotate 'line', 181
     new $P423, 'ExceptionHandler'
     set_addr $P423, control_422
-    $P423."handle_types"(57)
+    $P423."handle_types"(.CONTROL_RETURN)
     push_eh $P423
     .lex "self", self
     .lex "$/", param_424
@@ -6226,12 +6248,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<stopper>"  :subid("38_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_escape:sym<stopper>"  :subid("38_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_431
 .annotate 'line', 182
     new $P430, 'ExceptionHandler'
     set_addr $P430, control_429
-    $P430."handle_types"(57)
+    $P430."handle_types"(.CONTROL_RETURN)
     push_eh $P430
     .lex "self", self
     .lex "$/", param_431
@@ -6256,12 +6279,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<bs>"  :subid("39_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_escape:sym<bs>"  :subid("39_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_441
 .annotate 'line', 184
     new $P440, 'ExceptionHandler'
     set_addr $P440, control_439
-    $P440."handle_types"(57)
+    $P440."handle_types"(.CONTROL_RETURN)
     push_eh $P440
     .lex "self", self
     .lex "$/", param_441
@@ -6277,12 +6301,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<nl>"  :subid("40_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_escape:sym<nl>"  :subid("40_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_448
 .annotate 'line', 185
     new $P447, 'ExceptionHandler'
     set_addr $P447, control_446
-    $P447."handle_types"(57)
+    $P447."handle_types"(.CONTROL_RETURN)
     push_eh $P447
     .lex "self", self
     .lex "$/", param_448
@@ -6298,12 +6323,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<cr>"  :subid("41_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_escape:sym<cr>"  :subid("41_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_455
 .annotate 'line', 186
     new $P454, 'ExceptionHandler'
     set_addr $P454, control_453
-    $P454."handle_types"(57)
+    $P454."handle_types"(.CONTROL_RETURN)
     push_eh $P454
     .lex "self", self
     .lex "$/", param_455
@@ -6319,12 +6345,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<tab>"  :subid("42_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_escape:sym<tab>"  :subid("42_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_462
 .annotate 'line', 187
     new $P461, 'ExceptionHandler'
     set_addr $P461, control_460
-    $P461."handle_types"(57)
+    $P461."handle_types"(.CONTROL_RETURN)
     push_eh $P461
     .lex "self", self
     .lex "$/", param_462
@@ -6340,12 +6367,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<ff>"  :subid("43_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_escape:sym<ff>"  :subid("43_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_469
 .annotate 'line', 188
     new $P468, 'ExceptionHandler'
     set_addr $P468, control_467
-    $P468."handle_types"(57)
+    $P468."handle_types"(.CONTROL_RETURN)
     push_eh $P468
     .lex "self", self
     .lex "$/", param_469
@@ -6361,12 +6389,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<esc>"  :subid("44_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_escape:sym<esc>"  :subid("44_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_476
 .annotate 'line', 189
     new $P475, 'ExceptionHandler'
     set_addr $P475, control_474
-    $P475."handle_types"(57)
+    $P475."handle_types"(.CONTROL_RETURN)
     push_eh $P475
     .lex "self", self
     .lex "$/", param_476
@@ -6382,12 +6411,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<hex>"  :subid("45_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_escape:sym<hex>"  :subid("45_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_483
 .annotate 'line', 191
     new $P482, 'ExceptionHandler'
     set_addr $P482, control_481
-    $P482."handle_types"(57)
+    $P482."handle_types"(.CONTROL_RETURN)
     push_eh $P482
     .lex "self", self
     .lex "$/", param_483
@@ -6440,12 +6470,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<oct>"  :subid("46_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_escape:sym<oct>"  :subid("46_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_500
 .annotate 'line', 195
     new $P499, 'ExceptionHandler'
     set_addr $P499, control_498
-    $P499."handle_types"(57)
+    $P499."handle_types"(.CONTROL_RETURN)
     push_eh $P499
     .lex "self", self
     .lex "$/", param_500
@@ -6498,12 +6529,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<chr>"  :subid("47_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_escape:sym<chr>"  :subid("47_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_517
 .annotate 'line', 199
     new $P516, 'ExceptionHandler'
     set_addr $P516, control_515
-    $P516."handle_types"(57)
+    $P516."handle_types"(.CONTROL_RETURN)
     push_eh $P516
     .lex "self", self
     .lex "$/", param_517
@@ -6530,12 +6562,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<0>"  :subid("48_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_escape:sym<0>"  :subid("48_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_527
 .annotate 'line', 203
     new $P526, 'ExceptionHandler'
     set_addr $P526, control_525
-    $P526."handle_types"(57)
+    $P526."handle_types"(.CONTROL_RETURN)
     push_eh $P526
     .lex "self", self
     .lex "$/", param_527
@@ -6553,12 +6586,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<misc>"  :subid("49_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "quote_escape:sym<misc>"  :subid("49_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_534
 .annotate 'line', 207
     new $P533, 'ExceptionHandler'
     set_addr $P533, control_532
-    $P533."handle_types"(57)
+    $P533."handle_types"(.CONTROL_RETURN)
     push_eh $P533
     .lex "self", self
     .lex "$/", param_534
@@ -6611,12 +6645,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "charname"  :subid("50_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "charname"  :subid("50_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_553
 .annotate 'line', 211
     new $P552, 'ExceptionHandler'
     set_addr $P552, control_551
-    $P552."handle_types"(57)
+    $P552."handle_types"(.CONTROL_RETURN)
     push_eh $P552
     .lex "self", self
     .lex "$/", param_553
@@ -6684,14 +6719,15 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "charnames"  :subid("51_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "charnames"  :subid("51_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_583
 .annotate 'line', 219
-    .const 'Sub' $P592 = "52_1275803237.85498" 
+    .const 'Sub' $P592 = "52_1275805937.49596" 
     capture_lex $P592
     new $P582, 'ExceptionHandler'
     set_addr $P582, control_581
-    $P582."handle_types"(57)
+    $P582."handle_types"(.CONTROL_RETURN)
     push_eh $P582
     .lex "self", self
     .lex "$/", param_583
@@ -6715,13 +6751,13 @@
     iter $P586, $P588
     new $P599, 'ExceptionHandler'
     set_addr $P599, loop598_handler
-    $P599."handle_types"(64, 66, 65)
+    $P599."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P599
   loop598_test:
     unless $P586, loop598_done
     shift $P590, $P586
   loop598_redo:
-    .const 'Sub' $P592 = "52_1275803237.85498" 
+    .const 'Sub' $P592 = "52_1275805937.49596" 
     capture_lex $P592
     $P592($P590)
   loop598_next:
@@ -6730,8 +6766,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P600, exception, 'type'
-    eq $P600, 64, loop598_next
-    eq $P600, 66, loop598_redo
+    eq $P600, .CONTROL_LOOP_NEXT, loop598_next
+    eq $P600, .CONTROL_LOOP_REDO, loop598_redo
   loop598_done:
     pop_eh 
   for_undef_137:
@@ -6750,7 +6786,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block591"  :anon :subid("52_1275803237.85498") :outer("51_1275803237.85498")
+.sub "_block591"  :anon :subid("52_1275805937.49596") :outer("51_1275805937.49596")
     .param pmc param_593
 .annotate 'line', 221
     .lex "$_", param_593
@@ -6764,12 +6800,13 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "charspec"  :subid("53_1275803237.85498") :method :outer("11_1275803237.85498")
+.include "except_types.pasm"
+.sub "charspec"  :subid("53_1275805937.49596") :method :outer("11_1275805937.49596")
     .param pmc param_608
 .annotate 'line', 225
     new $P607, 'ExceptionHandler'
     set_addr $P607, control_606
-    $P607."handle_types"(57)
+    $P607."handle_types"(.CONTROL_RETURN)
     push_eh $P607
     .lex "self", self
     .lex "$/", param_608
@@ -6814,18 +6851,18 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block623" :load :anon :subid("54_1275803237.85498")
+.sub "_block623" :load :anon :subid("54_1275805937.49596")
 .annotate 'line', 3
-    .const 'Sub' $P625 = "11_1275803237.85498" 
+    .const 'Sub' $P625 = "11_1275805937.49596" 
     $P626 = $P625()
     .return ($P626)
 .end
 
 
 .namespace []
-.sub "_block628" :load :anon :subid("55_1275803237.85498")
+.sub "_block628" :load :anon :subid("55_1275805937.49596")
 .annotate 'line', 1
-    .const 'Sub' $P630 = "10_1275803237.85498" 
+    .const 'Sub' $P630 = "10_1275805937.49596" 
     $P631 = $P630()
     .return ($P631)
 .end
@@ -6833,7 +6870,7 @@
 ### .include 'gen/hllcompiler.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1275803239.24833")
+.sub "_block11"  :anon :subid("10_1275805938.89696")
 .annotate 'line', 0
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     capture_lex $P14
@@ -6850,15 +6887,15 @@
     $P492 = $P14()
 .annotate 'line', 1
     .return ($P492)
-    .const 'Sub' $P494 = "35_1275803239.24833" 
+    .const 'Sub' $P494 = "35_1275805938.89696" 
     .return ($P494)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post36") :outer("10_1275803239.24833")
+.sub "" :load :init :subid("post36") :outer("10_1275805938.89696")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1275803239.24833" 
+    .const 'Sub' $P12 = "10_1275805938.89696" 
     .local pmc block
     set block, $P12
 .annotate 'line', 2
@@ -6872,36 +6909,36 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block13"  :subid("11_1275803239.24833") :outer("10_1275803239.24833")
+.sub "_block13"  :subid("11_1275805938.89696") :outer("10_1275805938.89696")
 .annotate 'line', 6
-    .const 'Sub' $P484 = "34_1275803239.24833" 
+    .const 'Sub' $P484 = "34_1275805938.89696" 
     capture_lex $P484
-    .const 'Sub' $P442 = "32_1275803239.24833" 
+    .const 'Sub' $P442 = "32_1275805938.89696" 
     capture_lex $P442
-    .const 'Sub' $P298 = "26_1275803239.24833" 
+    .const 'Sub' $P298 = "26_1275805938.89696" 
     capture_lex $P298
-    .const 'Sub' $P283 = "25_1275803239.24833" 
+    .const 'Sub' $P283 = "25_1275805938.89696" 
     capture_lex $P283
-    .const 'Sub' $P188 = "20_1275803239.24833" 
+    .const 'Sub' $P188 = "20_1275805938.89696" 
     capture_lex $P188
-    .const 'Sub' $P153 = "18_1275803239.24833" 
+    .const 'Sub' $P153 = "18_1275805938.89696" 
     capture_lex $P153
-    .const 'Sub' $P138 = "17_1275803239.24833" 
+    .const 'Sub' $P138 = "17_1275805938.89696" 
     capture_lex $P138
-    .const 'Sub' $P122 = "16_1275803239.24833" 
+    .const 'Sub' $P122 = "16_1275805938.89696" 
     capture_lex $P122
-    .const 'Sub' $P33 = "13_1275803239.24833" 
+    .const 'Sub' $P33 = "13_1275805938.89696" 
     capture_lex $P33
-    .const 'Sub' $P15 = "12_1275803239.24833" 
+    .const 'Sub' $P15 = "12_1275805938.89696" 
     capture_lex $P15
 .annotate 'line', 14
-    .const 'Sub' $P15 = "12_1275803239.24833" 
+    .const 'Sub' $P15 = "12_1275805938.89696" 
     newclosure $P31, $P15
     .lex "value_type", $P31
 .annotate 'line', 10
     find_lex $P32, "value_type"
 .annotate 'line', 163
-    .const 'Sub' $P484 = "34_1275803239.24833" 
+    .const 'Sub' $P484 = "34_1275805938.89696" 
     newclosure $P490, $P484
 .annotate 'line', 6
     .return ($P490)
@@ -6909,7 +6946,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "" :load :init :subid("post37") :outer("11_1275803239.24833")
+.sub "" :load :init :subid("post37") :outer("11_1275805938.89696")
 .annotate 'line', 6
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     .local pmc block
@@ -6921,12 +6958,13 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "value_type"  :subid("12_1275803239.24833") :outer("11_1275803239.24833")
+.include "except_types.pasm"
+.sub "value_type"  :subid("12_1275805938.89696") :outer("11_1275805938.89696")
     .param pmc param_18
 .annotate 'line', 14
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
-    $P17."handle_types"(57)
+    $P17."handle_types"(.CONTROL_RETURN)
     push_eh $P17
     .lex "$value", param_18
 .annotate 'line', 15
@@ -6965,19 +7003,20 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "get_exports"  :subid("13_1275803239.24833") :method :outer("11_1275803239.24833")
+.include "except_types.pasm"
+.sub "get_exports"  :subid("13_1275805938.89696") :method :outer("11_1275805938.89696")
     .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_1275803239.24833" 
+    .const 'Sub' $P105 = "15_1275805938.89696" 
     capture_lex $P105
-    .const 'Sub' $P84 = "14_1275803239.24833" 
+    .const 'Sub' $P84 = "14_1275805938.89696" 
     capture_lex $P84
     new $P35, 'ExceptionHandler'
     set_addr $P35, control_34
-    $P35."handle_types"(57)
+    $P35."handle_types"(.CONTROL_RETURN)
     push_eh $P35
     .lex "self", self
     .lex "$module", param_36
@@ -7073,13 +7112,13 @@
     iter $P100, $P101
     new $P118, 'ExceptionHandler'
     set_addr $P118, loop117_handler
-    $P118."handle_types"(64, 66, 65)
+    $P118."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P118
   loop117_test:
     unless $P100, loop117_done
     shift $P103, $P100
   loop117_redo:
-    .const 'Sub' $P105 = "15_1275803239.24833" 
+    .const 'Sub' $P105 = "15_1275805938.89696" 
     capture_lex $P105
     $P105($P103)
   loop117_next:
@@ -7088,8 +7127,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P119, exception, 'type'
-    eq $P119, 64, loop117_next
-    eq $P119, 66, loop117_redo
+    eq $P119, .CONTROL_LOOP_NEXT, loop117_next
+    eq $P119, .CONTROL_LOOP_REDO, loop117_redo
   loop117_done:
     pop_eh 
   for_undef_42:
@@ -7103,13 +7142,13 @@
     iter $P79, $P80
     new $P98, 'ExceptionHandler'
     set_addr $P98, loop97_handler
-    $P98."handle_types"(64, 66, 65)
+    $P98."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P98
   loop97_test:
     unless $P79, loop97_done
     shift $P82, $P79
   loop97_redo:
-    .const 'Sub' $P84 = "14_1275803239.24833" 
+    .const 'Sub' $P84 = "14_1275805938.89696" 
     capture_lex $P84
     $P84($P82)
   loop97_next:
@@ -7118,8 +7157,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P99, exception, 'type'
-    eq $P99, 64, loop97_next
-    eq $P99, 66, loop97_redo
+    eq $P99, .CONTROL_LOOP_NEXT, loop97_next
+    eq $P99, .CONTROL_LOOP_REDO, loop97_redo
   loop97_done:
     pop_eh 
   for_undef_45:
@@ -7137,7 +7176,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block104"  :anon :subid("15_1275803239.24833") :outer("13_1275803239.24833")
+.sub "_block104"  :anon :subid("15_1275805938.89696") :outer("13_1275805938.89696")
     .param pmc param_107
 .annotate 'line', 40
     new $P106, "Undef"
@@ -7169,7 +7208,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block83"  :anon :subid("14_1275803239.24833") :outer("13_1275803239.24833")
+.sub "_block83"  :anon :subid("14_1275805938.89696") :outer("13_1275805938.89696")
     .param pmc param_86
 .annotate 'line', 34
     new $P85, "Undef"
@@ -7208,12 +7247,13 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "get_module"  :subid("16_1275803239.24833") :method :outer("11_1275803239.24833")
+.include "except_types.pasm"
+.sub "get_module"  :subid("16_1275805938.89696") :method :outer("11_1275805938.89696")
     .param pmc param_125
 .annotate 'line', 47
     new $P124, 'ExceptionHandler'
     set_addr $P124, control_123
-    $P124."handle_types"(57)
+    $P124."handle_types"(.CONTROL_RETURN)
     push_eh $P124
     .lex "self", self
     .lex "$name", param_125
@@ -7248,13 +7288,14 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "language"  :subid("17_1275803239.24833") :method :outer("11_1275803239.24833")
+.include "except_types.pasm"
+.sub "language"  :subid("17_1275805938.89696") :method :outer("11_1275805938.89696")
     .param pmc param_141 :optional
     .param int has_param_141 :opt_flag
 .annotate 'line', 53
     new $P140, 'ExceptionHandler'
     set_addr $P140, control_139
-    $P140."handle_types"(57)
+    $P140."handle_types"(.CONTROL_RETURN)
     push_eh $P140
     .lex "self", self
     if has_param_141, optparam_51
@@ -7292,14 +7333,15 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "load_module"  :subid("18_1275803239.24833") :method :outer("11_1275803239.24833")
+.include "except_types.pasm"
+.sub "load_module"  :subid("18_1275805938.89696") :method :outer("11_1275805938.89696")
     .param pmc param_156
 .annotate 'line', 61
-    .const 'Sub' $P166 = "19_1275803239.24833" 
+    .const 'Sub' $P166 = "19_1275805938.89696" 
     capture_lex $P166
     new $P155, 'ExceptionHandler'
     set_addr $P155, control_154
-    $P155."handle_types"(57)
+    $P155."handle_types"(.CONTROL_RETURN)
     push_eh $P155
     .lex "self", self
     .lex "$name", param_156
@@ -7322,7 +7364,7 @@
     assign $P164, 0
     store_lex "$loaded", $P164
 .annotate 'line', 64
-    .const 'Sub' $P166 = "19_1275803239.24833" 
+    .const 'Sub' $P166 = "19_1275805938.89696" 
     capture_lex $P166
     $P166()
 .annotate 'line', 65
@@ -7352,7 +7394,7 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block165"  :anon :subid("19_1275803239.24833") :outer("18_1275803239.24833")
+.sub "_block165"  :anon :subid("19_1275805938.89696") :outer("18_1275805938.89696")
 .annotate 'line', 64
     new $P173, 'ExceptionHandler'
     set_addr $P173, control_172
@@ -7385,15 +7427,16 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "import"  :subid("20_1275803239.24833") :method :outer("11_1275803239.24833")
+.include "except_types.pasm"
+.sub "import"  :subid("20_1275805938.89696") :method :outer("11_1275805938.89696")
     .param pmc param_191
     .param pmc param_192
 .annotate 'line', 69
-    .const 'Sub' $P198 = "21_1275803239.24833" 
+    .const 'Sub' $P198 = "21_1275805938.89696" 
     capture_lex $P198
     new $P190, 'ExceptionHandler'
     set_addr $P190, control_189
-    $P190."handle_types"(57)
+    $P190."handle_types"(.CONTROL_RETURN)
     push_eh $P190
     .lex "self", self
     .lex "$target", param_191
@@ -7405,13 +7448,13 @@
     iter $P193, $P194
     new $P280, 'ExceptionHandler'
     set_addr $P280, loop279_handler
-    $P280."handle_types"(64, 66, 65)
+    $P280."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P280
   loop279_test:
     unless $P193, loop279_done
     shift $P196, $P193
   loop279_redo:
-    .const 'Sub' $P198 = "21_1275803239.24833" 
+    .const 'Sub' $P198 = "21_1275805938.89696" 
     capture_lex $P198
     $P198($P196)
   loop279_next:
@@ -7420,8 +7463,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P281, exception, 'type'
-    eq $P281, 64, loop279_next
-    eq $P281, 66, loop279_redo
+    eq $P281, .CONTROL_LOOP_NEXT, loop279_next
+    eq $P281, .CONTROL_LOOP_REDO, loop279_redo
   loop279_done:
     pop_eh 
   for_undef_53:
@@ -7436,14 +7479,15 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block197"  :anon :subid("21_1275803239.24833") :outer("20_1275803239.24833")
+.include "except_types.pasm"
+.sub "_block197"  :anon :subid("21_1275805938.89696") :outer("20_1275805938.89696")
     .param pmc param_201
 .annotate 'line', 70
-    .const 'Sub' $P268 = "24_1275803239.24833" 
+    .const 'Sub' $P268 = "24_1275805938.89696" 
     capture_lex $P268
-    .const 'Sub' $P248 = "23_1275803239.24833" 
+    .const 'Sub' $P248 = "23_1275805938.89696" 
     capture_lex $P248
-    .const 'Sub' $P219 = "22_1275803239.24833" 
+    .const 'Sub' $P219 = "22_1275805938.89696" 
     capture_lex $P219
 .annotate 'line', 71
     new $P199, "Undef"
@@ -7485,13 +7529,13 @@
     iter $P263, $P264
     new $P277, 'ExceptionHandler'
     set_addr $P277, loop276_handler
-    $P277."handle_types"(64, 66, 65)
+    $P277."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P277
   loop276_test:
     unless $P263, loop276_done
     shift $P266, $P263
   loop276_redo:
-    .const 'Sub' $P268 = "24_1275803239.24833" 
+    .const 'Sub' $P268 = "24_1275805938.89696" 
     capture_lex $P268
     $P268($P266)
   loop276_next:
@@ -7500,8 +7544,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P278, exception, 'type'
-    eq $P278, 64, loop276_next
-    eq $P278, 66, loop276_redo
+    eq $P278, .CONTROL_LOOP_NEXT, loop276_next
+    eq $P278, .CONTROL_LOOP_REDO, loop276_redo
   loop276_done:
     pop_eh 
   for_undef_54:
@@ -7517,13 +7561,13 @@
     iter $P243, $P244
     new $P261, 'ExceptionHandler'
     set_addr $P261, loop260_handler
-    $P261."handle_types"(64, 66, 65)
+    $P261."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P261
   loop260_test:
     unless $P243, loop260_done
     shift $P246, $P243
   loop260_redo:
-    .const 'Sub' $P248 = "23_1275803239.24833" 
+    .const 'Sub' $P248 = "23_1275805938.89696" 
     capture_lex $P248
     $P248($P246)
   loop260_next:
@@ -7532,8 +7576,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P262, exception, 'type'
-    eq $P262, 64, loop260_next
-    eq $P262, 66, loop260_redo
+    eq $P262, .CONTROL_LOOP_NEXT, loop260_next
+    eq $P262, .CONTROL_LOOP_REDO, loop260_redo
   loop260_done:
     pop_eh 
   for_undef_56:
@@ -7551,13 +7595,13 @@
     iter $P214, $P215
     new $P233, 'ExceptionHandler'
     set_addr $P233, loop232_handler
-    $P233."handle_types"(64, 66, 65)
+    $P233."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P233
   loop232_test:
     unless $P214, loop232_done
     shift $P217, $P214
   loop232_redo:
-    .const 'Sub' $P219 = "22_1275803239.24833" 
+    .const 'Sub' $P219 = "22_1275805938.89696" 
     capture_lex $P219
     $P219($P217)
   loop232_next:
@@ -7566,8 +7610,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P234, exception, 'type'
-    eq $P234, 64, loop232_next
-    eq $P234, 66, loop232_redo
+    eq $P234, .CONTROL_LOOP_NEXT, loop232_next
+    eq $P234, .CONTROL_LOOP_REDO, loop232_redo
   loop232_done:
     pop_eh 
   for_undef_57:
@@ -7580,7 +7624,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block267"  :anon :subid("24_1275803239.24833") :outer("21_1275803239.24833")
+.sub "_block267"  :anon :subid("24_1275805938.89696") :outer("21_1275805938.89696")
     .param pmc param_269
 .annotate 'line', 80
     .lex "$_", param_269
@@ -7600,7 +7644,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block247"  :anon :subid("23_1275803239.24833") :outer("21_1275803239.24833")
+.sub "_block247"  :anon :subid("23_1275805938.89696") :outer("21_1275805938.89696")
     .param pmc param_249
 .annotate 'line', 77
     .lex "$_", param_249
@@ -7620,7 +7664,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block218"  :anon :subid("22_1275803239.24833") :outer("21_1275803239.24833")
+.sub "_block218"  :anon :subid("22_1275805938.89696") :outer("21_1275805938.89696")
     .param pmc param_220
 .annotate 'line', 74
     .lex "$_", param_220
@@ -7641,12 +7685,13 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "autoprint"  :subid("25_1275803239.24833") :method :outer("11_1275803239.24833")
+.include "except_types.pasm"
+.sub "autoprint"  :subid("25_1275805938.89696") :method :outer("11_1275805938.89696")
     .param pmc param_286
 .annotate 'line', 85
     new $P285, 'ExceptionHandler'
     set_addr $P285, control_284
-    $P285."handle_types"(57)
+    $P285."handle_types"(.CONTROL_RETURN)
     push_eh $P285
     .lex "self", self
     .lex "$value", param_286
@@ -7684,14 +7729,15 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "interactive"  :subid("26_1275803239.24833") :method :outer("11_1275803239.24833")
+.include "except_types.pasm"
+.sub "interactive"  :subid("26_1275805938.89696") :method :outer("11_1275805938.89696")
     .param pmc param_301 :slurpy :named
 .annotate 'line', 90
-    .const 'Sub' $P331 = "27_1275803239.24833" 
+    .const 'Sub' $P331 = "27_1275805938.89696" 
     capture_lex $P331
     new $P300, 'ExceptionHandler'
     set_addr $P300, control_299
-    $P300."handle_types"(57)
+    $P300."handle_types"(.CONTROL_RETURN)
     push_eh $P300
     .lex "self", self
     .lex "%adverbs", param_301
@@ -7762,14 +7808,14 @@
 .annotate 'line', 101
     new $P439, 'ExceptionHandler'
     set_addr $P439, loop438_handler
-    $P439."handle_types"(64, 66, 65)
+    $P439."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P439
   loop438_test:
     new $P329, "Integer"
     assign $P329, 1
     unless $P329, loop438_done
   loop438_redo:
-    .const 'Sub' $P331 = "27_1275803239.24833" 
+    .const 'Sub' $P331 = "27_1275805938.89696" 
     capture_lex $P331
     $P331()
   loop438_next:
@@ -7778,8 +7824,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P440, exception, 'type'
-    eq $P440, 64, loop438_next
-    eq $P440, 66, loop438_redo
+    eq $P440, .CONTROL_LOOP_NEXT, loop438_next
+    eq $P440, .CONTROL_LOOP_REDO, loop438_redo
   loop438_done:
     pop_eh 
 .annotate 'line', 90
@@ -7794,9 +7840,9 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block330"  :anon :subid("27_1275803239.24833") :outer("26_1275803239.24833")
+.sub "_block330"  :anon :subid("27_1275805938.89696") :outer("26_1275805938.89696")
 .annotate 'line', 101
-    .const 'Sub' $P367 = "28_1275803239.24833" 
+    .const 'Sub' $P367 = "28_1275805938.89696" 
     capture_lex $P367
 .annotate 'line', 104
     new $P332, "Undef"
@@ -7878,7 +7924,7 @@
     set $P363, $P365
     goto if_364_end
   if_364:
-    .const 'Sub' $P367 = "28_1275803239.24833" 
+    .const 'Sub' $P367 = "28_1275805938.89696" 
     capture_lex $P367
     $P437 = $P367()
     set $P363, $P437
@@ -7890,11 +7936,11 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block366"  :anon :subid("28_1275803239.24833") :outer("27_1275803239.24833")
+.sub "_block366"  :anon :subid("28_1275805938.89696") :outer("27_1275805938.89696")
 .annotate 'line', 116
-    .const 'Sub' $P405 = "31_1275803239.24833" 
+    .const 'Sub' $P405 = "31_1275805938.89696" 
     capture_lex $P405
-    .const 'Sub' $P373 = "29_1275803239.24833" 
+    .const 'Sub' $P373 = "29_1275805938.89696" 
     capture_lex $P373
 .annotate 'line', 118
     new $P368, "Undef"
@@ -7905,7 +7951,7 @@
     store_lex "$code", $P370
     find_lex $P371, "$output"
 .annotate 'line', 119
-    .const 'Sub' $P373 = "29_1275803239.24833" 
+    .const 'Sub' $P373 = "29_1275805938.89696" 
     capture_lex $P373
     $P373()
 .annotate 'line', 126
@@ -7932,13 +7978,13 @@
     iter $P399, $P401
     new $P413, 'ExceptionHandler'
     set_addr $P413, loop412_handler
-    $P413."handle_types"(64, 66, 65)
+    $P413."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P413
   loop412_test:
     unless $P399, loop412_done
     shift $P403, $P399
   loop412_redo:
-    .const 'Sub' $P405 = "31_1275803239.24833" 
+    .const 'Sub' $P405 = "31_1275805938.89696" 
     capture_lex $P405
     $P405($P403)
   loop412_next:
@@ -7947,8 +7993,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P414, exception, 'type'
-    eq $P414, 64, loop412_next
-    eq $P414, 66, loop412_redo
+    eq $P414, .CONTROL_LOOP_NEXT, loop412_next
+    eq $P414, .CONTROL_LOOP_REDO, loop412_redo
   loop412_done:
     pop_eh 
   for_undef_72:
@@ -8003,9 +8049,9 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block372"  :anon :subid("29_1275803239.24833") :outer("28_1275803239.24833")
+.sub "_block372"  :anon :subid("29_1275805938.89696") :outer("28_1275805938.89696")
 .annotate 'line', 119
-    .const 'Sub' $P385 = "30_1275803239.24833" 
+    .const 'Sub' $P385 = "30_1275805938.89696" 
     capture_lex $P385
     new $P381, 'ExceptionHandler'
     set_addr $P381, control_380
@@ -8025,7 +8071,7 @@
 .annotate 'line', 121
     .local pmc exception 
     .get_results (exception) 
-    .const 'Sub' $P385 = "30_1275803239.24833" 
+    .const 'Sub' $P385 = "30_1275805938.89696" 
     newclosure $P393, $P385
     $P393(exception)
     new $P394, 'Integer'
@@ -8045,7 +8091,7 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block384"  :anon :subid("30_1275803239.24833") :outer("29_1275803239.24833")
+.sub "_block384"  :anon :subid("30_1275805938.89696") :outer("29_1275805938.89696")
     .param pmc param_386
 .annotate 'line', 121
     .lex "$_", param_386
@@ -8067,7 +8113,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block404"  :anon :subid("31_1275803239.24833") :outer("28_1275803239.24833")
+.sub "_block404"  :anon :subid("31_1275805938.89696") :outer("28_1275805938.89696")
     .param pmc param_406
 .annotate 'line', 127
     .lex "$_", param_406
@@ -8088,16 +8134,17 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "eval"  :subid("32_1275803239.24833") :method :outer("11_1275803239.24833")
+.include "except_types.pasm"
+.sub "eval"  :subid("32_1275805938.89696") :method :outer("11_1275805938.89696")
     .param pmc param_445
     .param pmc param_446 :slurpy
     .param pmc param_447 :slurpy :named
 .annotate 'line', 144
-    .const 'Sub' $P466 = "33_1275803239.24833" 
+    .const 'Sub' $P466 = "33_1275805938.89696" 
     capture_lex $P466
     new $P444, 'ExceptionHandler'
     set_addr $P444, control_443
-    $P444."handle_types"(57)
+    $P444."handle_types"(.CONTROL_RETURN)
     push_eh $P444
     .lex "self", self
     .lex "$code", param_445
@@ -8140,7 +8187,7 @@
     set $P455, $I464
   if_456_end:
     unless $P455, if_454_end
-    .const 'Sub' $P466 = "33_1275803239.24833" 
+    .const 'Sub' $P466 = "33_1275805938.89696" 
     capture_lex $P466
     $P466()
   if_454_end:
@@ -8157,7 +8204,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block465"  :anon :subid("33_1275803239.24833") :outer("32_1275803239.24833")
+.sub "_block465"  :anon :subid("33_1275805938.89696") :outer("32_1275805938.89696")
 .annotate 'line', 150
     new $P467, "Undef"
     .lex "$outer_ctx", $P467
@@ -8210,11 +8257,12 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "ctxsave"  :subid("34_1275803239.24833") :method :outer("11_1275803239.24833")
+.include "except_types.pasm"
+.sub "ctxsave"  :subid("34_1275805938.89696") :method :outer("11_1275805938.89696")
 .annotate 'line', 163
     new $P486, 'ExceptionHandler'
     set_addr $P486, control_485
-    $P486."handle_types"(57)
+    $P486."handle_types"(.CONTROL_RETURN)
     push_eh $P486
     .lex "self", self
 .annotate 'line', 165
@@ -8238,9 +8286,9 @@
 
 
 .namespace []
-.sub "_block493" :load :anon :subid("35_1275803239.24833")
+.sub "_block493" :load :anon :subid("35_1275805938.89696")
 .annotate 'line', 1
-    .const 'Sub' $P495 = "10_1275803239.24833" 
+    .const 'Sub' $P495 = "10_1275805938.89696" 
     $P496 = $P495()
     .return ($P496)
 .end

Modified: trunk/ext/nqp-rx/src/stage0/NQP-s0.pir
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/NQP-s0.pir	Sun Jun  6 07:55:20 2010	(r47423)
+++ trunk/ext/nqp-rx/src/stage0/NQP-s0.pir	Sun Jun  6 07:57:48 2010	(r47424)
@@ -15,7 +15,7 @@
 ### .include 'gen/nqp-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1275803252.45257")
+.sub "_block11"  :anon :subid("10_1275805952.10494")
 .annotate 'line', 0
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     capture_lex $P14
@@ -32,15 +32,15 @@
     $P1424 = $P14()
 .annotate 'line', 1
     .return ($P1424)
-    .const 'Sub' $P1426 = "363_1275803252.45257" 
+    .const 'Sub' $P1426 = "363_1275805952.10494" 
     .return ($P1426)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post364") :outer("10_1275803252.45257")
+.sub "" :load :init :subid("post364") :outer("10_1275805952.10494")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1275803252.45257" 
+    .const 'Sub' $P12 = "10_1275805952.10494" 
     .local pmc block
     set block, $P12
     $P1429 = get_root_global ["parrot"], "P6metaclass"
@@ -49,313 +49,313 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block13"  :subid("11_1275803252.45257") :outer("10_1275803252.45257")
+.sub "_block13"  :subid("11_1275805952.10494") :outer("10_1275805952.10494")
 .annotate 'line', 4
     get_hll_global $P1340, ["NQP";"Regex"], "_block1339" 
     capture_lex $P1340
-    .const 'Sub' $P1326 = "340_1275803252.45257" 
+    .const 'Sub' $P1326 = "340_1275805952.10494" 
     capture_lex $P1326
-    .const 'Sub' $P1320 = "338_1275803252.45257" 
+    .const 'Sub' $P1320 = "338_1275805952.10494" 
     capture_lex $P1320
-    .const 'Sub' $P1314 = "336_1275803252.45257" 
+    .const 'Sub' $P1314 = "336_1275805952.10494" 
     capture_lex $P1314
-    .const 'Sub' $P1308 = "334_1275803252.45257" 
+    .const 'Sub' $P1308 = "334_1275805952.10494" 
     capture_lex $P1308
-    .const 'Sub' $P1302 = "332_1275803252.45257" 
+    .const 'Sub' $P1302 = "332_1275805952.10494" 
     capture_lex $P1302
-    .const 'Sub' $P1296 = "330_1275803252.45257" 
+    .const 'Sub' $P1296 = "330_1275805952.10494" 
     capture_lex $P1296
-    .const 'Sub' $P1289 = "328_1275803252.45257" 
+    .const 'Sub' $P1289 = "328_1275805952.10494" 
     capture_lex $P1289
-    .const 'Sub' $P1282 = "326_1275803252.45257" 
+    .const 'Sub' $P1282 = "326_1275805952.10494" 
     capture_lex $P1282
-    .const 'Sub' $P1275 = "324_1275803252.45257" 
+    .const 'Sub' $P1275 = "324_1275805952.10494" 
     capture_lex $P1275
-    .const 'Sub' $P1268 = "322_1275803252.45257" 
+    .const 'Sub' $P1268 = "322_1275805952.10494" 
     capture_lex $P1268
-    .const 'Sub' $P1262 = "320_1275803252.45257" 
+    .const 'Sub' $P1262 = "320_1275805952.10494" 
     capture_lex $P1262
-    .const 'Sub' $P1255 = "318_1275803252.45257" 
+    .const 'Sub' $P1255 = "318_1275805952.10494" 
     capture_lex $P1255
-    .const 'Sub' $P1248 = "316_1275803252.45257" 
+    .const 'Sub' $P1248 = "316_1275805952.10494" 
     capture_lex $P1248
-    .const 'Sub' $P1241 = "314_1275803252.45257" 
+    .const 'Sub' $P1241 = "314_1275805952.10494" 
     capture_lex $P1241
-    .const 'Sub' $P1234 = "312_1275803252.45257" 
+    .const 'Sub' $P1234 = "312_1275805952.10494" 
     capture_lex $P1234
-    .const 'Sub' $P1227 = "310_1275803252.45257" 
+    .const 'Sub' $P1227 = "310_1275805952.10494" 
     capture_lex $P1227
-    .const 'Sub' $P1220 = "308_1275803252.45257" 
+    .const 'Sub' $P1220 = "308_1275805952.10494" 
     capture_lex $P1220
-    .const 'Sub' $P1213 = "306_1275803252.45257" 
+    .const 'Sub' $P1213 = "306_1275805952.10494" 
     capture_lex $P1213
-    .const 'Sub' $P1206 = "304_1275803252.45257" 
+    .const 'Sub' $P1206 = "304_1275805952.10494" 
     capture_lex $P1206
-    .const 'Sub' $P1199 = "302_1275803252.45257" 
+    .const 'Sub' $P1199 = "302_1275805952.10494" 
     capture_lex $P1199
-    .const 'Sub' $P1192 = "300_1275803252.45257" 
+    .const 'Sub' $P1192 = "300_1275805952.10494" 
     capture_lex $P1192
-    .const 'Sub' $P1185 = "298_1275803252.45257" 
+    .const 'Sub' $P1185 = "298_1275805952.10494" 
     capture_lex $P1185
-    .const 'Sub' $P1178 = "296_1275803252.45257" 
+    .const 'Sub' $P1178 = "296_1275805952.10494" 
     capture_lex $P1178
-    .const 'Sub' $P1171 = "294_1275803252.45257" 
+    .const 'Sub' $P1171 = "294_1275805952.10494" 
     capture_lex $P1171
-    .const 'Sub' $P1164 = "292_1275803252.45257" 
+    .const 'Sub' $P1164 = "292_1275805952.10494" 
     capture_lex $P1164
-    .const 'Sub' $P1157 = "290_1275803252.45257" 
+    .const 'Sub' $P1157 = "290_1275805952.10494" 
     capture_lex $P1157
-    .const 'Sub' $P1150 = "288_1275803252.45257" 
+    .const 'Sub' $P1150 = "288_1275805952.10494" 
     capture_lex $P1150
-    .const 'Sub' $P1143 = "286_1275803252.45257" 
+    .const 'Sub' $P1143 = "286_1275805952.10494" 
     capture_lex $P1143
-    .const 'Sub' $P1136 = "284_1275803252.45257" 
+    .const 'Sub' $P1136 = "284_1275805952.10494" 
     capture_lex $P1136
-    .const 'Sub' $P1129 = "282_1275803252.45257" 
+    .const 'Sub' $P1129 = "282_1275805952.10494" 
     capture_lex $P1129
-    .const 'Sub' $P1122 = "280_1275803252.45257" 
+    .const 'Sub' $P1122 = "280_1275805952.10494" 
     capture_lex $P1122
-    .const 'Sub' $P1115 = "278_1275803252.45257" 
+    .const 'Sub' $P1115 = "278_1275805952.10494" 
     capture_lex $P1115
-    .const 'Sub' $P1108 = "276_1275803252.45257" 
+    .const 'Sub' $P1108 = "276_1275805952.10494" 
     capture_lex $P1108
-    .const 'Sub' $P1101 = "274_1275803252.45257" 
+    .const 'Sub' $P1101 = "274_1275805952.10494" 
     capture_lex $P1101
-    .const 'Sub' $P1094 = "272_1275803252.45257" 
+    .const 'Sub' $P1094 = "272_1275805952.10494" 
     capture_lex $P1094
-    .const 'Sub' $P1087 = "270_1275803252.45257" 
+    .const 'Sub' $P1087 = "270_1275805952.10494" 
     capture_lex $P1087
-    .const 'Sub' $P1080 = "268_1275803252.45257" 
+    .const 'Sub' $P1080 = "268_1275805952.10494" 
     capture_lex $P1080
-    .const 'Sub' $P1074 = "266_1275803252.45257" 
+    .const 'Sub' $P1074 = "266_1275805952.10494" 
     capture_lex $P1074
-    .const 'Sub' $P1067 = "264_1275803252.45257" 
+    .const 'Sub' $P1067 = "264_1275805952.10494" 
     capture_lex $P1067
-    .const 'Sub' $P1060 = "262_1275803252.45257" 
+    .const 'Sub' $P1060 = "262_1275805952.10494" 
     capture_lex $P1060
-    .const 'Sub' $P1053 = "260_1275803252.45257" 
+    .const 'Sub' $P1053 = "260_1275805952.10494" 
     capture_lex $P1053
-    .const 'Sub' $P1046 = "258_1275803252.45257" 
+    .const 'Sub' $P1046 = "258_1275805952.10494" 
     capture_lex $P1046
-    .const 'Sub' $P1039 = "256_1275803252.45257" 
+    .const 'Sub' $P1039 = "256_1275805952.10494" 
     capture_lex $P1039
-    .const 'Sub' $P1032 = "254_1275803252.45257" 
+    .const 'Sub' $P1032 = "254_1275805952.10494" 
     capture_lex $P1032
-    .const 'Sub' $P1025 = "252_1275803252.45257" 
+    .const 'Sub' $P1025 = "252_1275805952.10494" 
     capture_lex $P1025
-    .const 'Sub' $P1019 = "250_1275803252.45257" 
+    .const 'Sub' $P1019 = "250_1275805952.10494" 
     capture_lex $P1019
-    .const 'Sub' $P1013 = "248_1275803252.45257" 
+    .const 'Sub' $P1013 = "248_1275805952.10494" 
     capture_lex $P1013
-    .const 'Sub' $P1008 = "246_1275803252.45257" 
+    .const 'Sub' $P1008 = "246_1275805952.10494" 
     capture_lex $P1008
-    .const 'Sub' $P1002 = "244_1275803252.45257" 
+    .const 'Sub' $P1002 = "244_1275805952.10494" 
     capture_lex $P1002
-    .const 'Sub' $P996 = "242_1275803252.45257" 
+    .const 'Sub' $P996 = "242_1275805952.10494" 
     capture_lex $P996
-    .const 'Sub' $P991 = "240_1275803252.45257" 
+    .const 'Sub' $P991 = "240_1275805952.10494" 
     capture_lex $P991
-    .const 'Sub' $P986 = "238_1275803252.45257" 
+    .const 'Sub' $P986 = "238_1275805952.10494" 
     capture_lex $P986
-    .const 'Sub' $P978 = "236_1275803252.45257" 
+    .const 'Sub' $P978 = "236_1275805952.10494" 
     capture_lex $P978
-    .const 'Sub' $P970 = "234_1275803252.45257" 
+    .const 'Sub' $P970 = "234_1275805952.10494" 
     capture_lex $P970
-    .const 'Sub' $P965 = "232_1275803252.45257" 
+    .const 'Sub' $P965 = "232_1275805952.10494" 
     capture_lex $P965
-    .const 'Sub' $P960 = "230_1275803252.45257" 
+    .const 'Sub' $P960 = "230_1275805952.10494" 
     capture_lex $P960
-    .const 'Sub' $P955 = "228_1275803252.45257" 
+    .const 'Sub' $P955 = "228_1275805952.10494" 
     capture_lex $P955
-    .const 'Sub' $P947 = "226_1275803252.45257" 
+    .const 'Sub' $P947 = "226_1275805952.10494" 
     capture_lex $P947
-    .const 'Sub' $P939 = "224_1275803252.45257" 
+    .const 'Sub' $P939 = "224_1275805952.10494" 
     capture_lex $P939
-    .const 'Sub' $P934 = "222_1275803252.45257" 
+    .const 'Sub' $P934 = "222_1275805952.10494" 
     capture_lex $P934
-    .const 'Sub' $P929 = "220_1275803252.45257" 
+    .const 'Sub' $P929 = "220_1275805952.10494" 
     capture_lex $P929
-    .const 'Sub' $P924 = "218_1275803252.45257" 
+    .const 'Sub' $P924 = "218_1275805952.10494" 
     capture_lex $P924
-    .const 'Sub' $P918 = "216_1275803252.45257" 
+    .const 'Sub' $P918 = "216_1275805952.10494" 
     capture_lex $P918
-    .const 'Sub' $P912 = "214_1275803252.45257" 
+    .const 'Sub' $P912 = "214_1275805952.10494" 
     capture_lex $P912
-    .const 'Sub' $P906 = "212_1275803252.45257" 
+    .const 'Sub' $P906 = "212_1275805952.10494" 
     capture_lex $P906
-    .const 'Sub' $P900 = "210_1275803252.45257" 
+    .const 'Sub' $P900 = "210_1275805952.10494" 
     capture_lex $P900
-    .const 'Sub' $P894 = "208_1275803252.45257" 
+    .const 'Sub' $P894 = "208_1275805952.10494" 
     capture_lex $P894
-    .const 'Sub' $P889 = "206_1275803252.45257" 
+    .const 'Sub' $P889 = "206_1275805952.10494" 
     capture_lex $P889
-    .const 'Sub' $P884 = "204_1275803252.45257" 
+    .const 'Sub' $P884 = "204_1275805952.10494" 
     capture_lex $P884
-    .const 'Sub' $P871 = "200_1275803252.45257" 
+    .const 'Sub' $P871 = "200_1275805952.10494" 
     capture_lex $P871
-    .const 'Sub' $P863 = "198_1275803252.45257" 
+    .const 'Sub' $P863 = "198_1275805952.10494" 
     capture_lex $P863
-    .const 'Sub' $P857 = "196_1275803252.45257" 
+    .const 'Sub' $P857 = "196_1275805952.10494" 
     capture_lex $P857
-    .const 'Sub' $P850 = "194_1275803252.45257" 
+    .const 'Sub' $P850 = "194_1275805952.10494" 
     capture_lex $P850
-    .const 'Sub' $P844 = "192_1275803252.45257" 
+    .const 'Sub' $P844 = "192_1275805952.10494" 
     capture_lex $P844
-    .const 'Sub' $P836 = "190_1275803252.45257" 
+    .const 'Sub' $P836 = "190_1275805952.10494" 
     capture_lex $P836
-    .const 'Sub' $P828 = "188_1275803252.45257" 
+    .const 'Sub' $P828 = "188_1275805952.10494" 
     capture_lex $P828
-    .const 'Sub' $P822 = "186_1275803252.45257" 
+    .const 'Sub' $P822 = "186_1275805952.10494" 
     capture_lex $P822
-    .const 'Sub' $P816 = "184_1275803252.45257" 
+    .const 'Sub' $P816 = "184_1275805952.10494" 
     capture_lex $P816
-    .const 'Sub' $P801 = "180_1275803252.45257" 
+    .const 'Sub' $P801 = "180_1275805952.10494" 
     capture_lex $P801
-    .const 'Sub' $P763 = "178_1275803252.45257" 
+    .const 'Sub' $P763 = "178_1275805952.10494" 
     capture_lex $P763
-    .const 'Sub' $P754 = "176_1275803252.45257" 
+    .const 'Sub' $P754 = "176_1275805952.10494" 
     capture_lex $P754
-    .const 'Sub' $P748 = "174_1275803252.45257" 
+    .const 'Sub' $P748 = "174_1275805952.10494" 
     capture_lex $P748
-    .const 'Sub' $P738 = "172_1275803252.45257" 
+    .const 'Sub' $P738 = "172_1275805952.10494" 
     capture_lex $P738
-    .const 'Sub' $P724 = "170_1275803252.45257" 
+    .const 'Sub' $P724 = "170_1275805952.10494" 
     capture_lex $P724
-    .const 'Sub' $P715 = "168_1275803252.45257" 
+    .const 'Sub' $P715 = "168_1275805952.10494" 
     capture_lex $P715
-    .const 'Sub' $P707 = "166_1275803252.45257" 
+    .const 'Sub' $P707 = "166_1275805952.10494" 
     capture_lex $P707
-    .const 'Sub' $P697 = "164_1275803252.45257" 
+    .const 'Sub' $P697 = "164_1275805952.10494" 
     capture_lex $P697
-    .const 'Sub' $P673 = "160_1275803252.45257" 
+    .const 'Sub' $P673 = "160_1275805952.10494" 
     capture_lex $P673
-    .const 'Sub' $P648 = "158_1275803252.45257" 
+    .const 'Sub' $P648 = "158_1275805952.10494" 
     capture_lex $P648
-    .const 'Sub' $P641 = "156_1275803252.45257" 
+    .const 'Sub' $P641 = "156_1275805952.10494" 
     capture_lex $P641
-    .const 'Sub' $P634 = "154_1275803252.45257" 
+    .const 'Sub' $P634 = "154_1275805952.10494" 
     capture_lex $P634
-    .const 'Sub' $P624 = "150_1275803252.45257" 
+    .const 'Sub' $P624 = "150_1275805952.10494" 
     capture_lex $P624
-    .const 'Sub' $P616 = "148_1275803252.45257" 
+    .const 'Sub' $P616 = "148_1275805952.10494" 
     capture_lex $P616
-    .const 'Sub' $P610 = "146_1275803252.45257" 
+    .const 'Sub' $P610 = "146_1275805952.10494" 
     capture_lex $P610
-    .const 'Sub' $P597 = "144_1275803252.45257" 
+    .const 'Sub' $P597 = "144_1275805952.10494" 
     capture_lex $P597
-    .const 'Sub' $P590 = "142_1275803252.45257" 
+    .const 'Sub' $P590 = "142_1275805952.10494" 
     capture_lex $P590
-    .const 'Sub' $P583 = "140_1275803252.45257" 
+    .const 'Sub' $P583 = "140_1275805952.10494" 
     capture_lex $P583
-    .const 'Sub' $P576 = "138_1275803252.45257" 
+    .const 'Sub' $P576 = "138_1275805952.10494" 
     capture_lex $P576
-    .const 'Sub' $P548 = "134_1275803252.45257" 
+    .const 'Sub' $P548 = "134_1275805952.10494" 
     capture_lex $P548
-    .const 'Sub' $P539 = "132_1275803252.45257" 
+    .const 'Sub' $P539 = "132_1275805952.10494" 
     capture_lex $P539
-    .const 'Sub' $P532 = "130_1275803252.45257" 
+    .const 'Sub' $P532 = "130_1275805952.10494" 
     capture_lex $P532
-    .const 'Sub' $P523 = "126_1275803252.45257" 
+    .const 'Sub' $P523 = "126_1275805952.10494" 
     capture_lex $P523
-    .const 'Sub' $P518 = "124_1275803252.45257" 
+    .const 'Sub' $P518 = "124_1275805952.10494" 
     capture_lex $P518
-    .const 'Sub' $P506 = "122_1275803252.45257" 
+    .const 'Sub' $P506 = "122_1275805952.10494" 
     capture_lex $P506
-    .const 'Sub' $P494 = "120_1275803252.45257" 
+    .const 'Sub' $P494 = "120_1275805952.10494" 
     capture_lex $P494
-    .const 'Sub' $P486 = "118_1275803252.45257" 
+    .const 'Sub' $P486 = "118_1275805952.10494" 
     capture_lex $P486
-    .const 'Sub' $P481 = "116_1275803252.45257" 
+    .const 'Sub' $P481 = "116_1275805952.10494" 
     capture_lex $P481
-    .const 'Sub' $P475 = "114_1275803252.45257" 
+    .const 'Sub' $P475 = "114_1275805952.10494" 
     capture_lex $P475
-    .const 'Sub' $P469 = "112_1275803252.45257" 
+    .const 'Sub' $P469 = "112_1275805952.10494" 
     capture_lex $P469
-    .const 'Sub' $P459 = "109_1275803252.45257" 
+    .const 'Sub' $P459 = "109_1275805952.10494" 
     capture_lex $P459
-    .const 'Sub' $P453 = "107_1275803252.45257" 
+    .const 'Sub' $P453 = "107_1275805952.10494" 
     capture_lex $P453
-    .const 'Sub' $P447 = "105_1275803252.45257" 
+    .const 'Sub' $P447 = "105_1275805952.10494" 
     capture_lex $P447
-    .const 'Sub' $P441 = "103_1275803252.45257" 
+    .const 'Sub' $P441 = "103_1275805952.10494" 
     capture_lex $P441
-    .const 'Sub' $P435 = "101_1275803252.45257" 
+    .const 'Sub' $P435 = "101_1275805952.10494" 
     capture_lex $P435
-    .const 'Sub' $P429 = "99_1275803252.45257" 
+    .const 'Sub' $P429 = "99_1275805952.10494" 
     capture_lex $P429
-    .const 'Sub' $P423 = "97_1275803252.45257" 
+    .const 'Sub' $P423 = "97_1275805952.10494" 
     capture_lex $P423
-    .const 'Sub' $P414 = "95_1275803252.45257" 
+    .const 'Sub' $P414 = "95_1275805952.10494" 
     capture_lex $P414
-    .const 'Sub' $P405 = "93_1275803252.45257" 
+    .const 'Sub' $P405 = "93_1275805952.10494" 
     capture_lex $P405
-    .const 'Sub' $P392 = "89_1275803252.45257" 
+    .const 'Sub' $P392 = "89_1275805952.10494" 
     capture_lex $P392
-    .const 'Sub' $P383 = "87_1275803252.45257" 
+    .const 'Sub' $P383 = "87_1275805952.10494" 
     capture_lex $P383
-    .const 'Sub' $P373 = "83_1275803252.45257" 
+    .const 'Sub' $P373 = "83_1275805952.10494" 
     capture_lex $P373
-    .const 'Sub' $P366 = "81_1275803252.45257" 
+    .const 'Sub' $P366 = "81_1275805952.10494" 
     capture_lex $P366
-    .const 'Sub' $P359 = "79_1275803252.45257" 
+    .const 'Sub' $P359 = "79_1275805952.10494" 
     capture_lex $P359
-    .const 'Sub' $P347 = "75_1275803252.45257" 
+    .const 'Sub' $P347 = "75_1275805952.10494" 
     capture_lex $P347
-    .const 'Sub' $P339 = "73_1275803252.45257" 
+    .const 'Sub' $P339 = "73_1275805952.10494" 
     capture_lex $P339
-    .const 'Sub' $P331 = "71_1275803252.45257" 
+    .const 'Sub' $P331 = "71_1275805952.10494" 
     capture_lex $P331
-    .const 'Sub' $P311 = "69_1275803252.45257" 
+    .const 'Sub' $P311 = "69_1275805952.10494" 
     capture_lex $P311
-    .const 'Sub' $P302 = "67_1275803252.45257" 
+    .const 'Sub' $P302 = "67_1275805952.10494" 
     capture_lex $P302
-    .const 'Sub' $P284 = "64_1275803252.45257" 
+    .const 'Sub' $P284 = "64_1275805952.10494" 
     capture_lex $P284
-    .const 'Sub' $P264 = "62_1275803252.45257" 
+    .const 'Sub' $P264 = "62_1275805952.10494" 
     capture_lex $P264
-    .const 'Sub' $P255 = "58_1275803252.45257" 
+    .const 'Sub' $P255 = "58_1275805952.10494" 
     capture_lex $P255
-    .const 'Sub' $P250 = "56_1275803252.45257" 
+    .const 'Sub' $P250 = "56_1275805952.10494" 
     capture_lex $P250
-    .const 'Sub' $P241 = "52_1275803252.45257" 
+    .const 'Sub' $P241 = "52_1275805952.10494" 
     capture_lex $P241
-    .const 'Sub' $P236 = "50_1275803252.45257" 
+    .const 'Sub' $P236 = "50_1275805952.10494" 
     capture_lex $P236
-    .const 'Sub' $P231 = "48_1275803252.45257" 
+    .const 'Sub' $P231 = "48_1275805952.10494" 
     capture_lex $P231
-    .const 'Sub' $P223 = "46_1275803252.45257" 
+    .const 'Sub' $P223 = "46_1275805952.10494" 
     capture_lex $P223
-    .const 'Sub' $P216 = "44_1275803252.45257" 
+    .const 'Sub' $P216 = "44_1275805952.10494" 
     capture_lex $P216
-    .const 'Sub' $P210 = "42_1275803252.45257" 
+    .const 'Sub' $P210 = "42_1275805952.10494" 
     capture_lex $P210
-    .const 'Sub' $P202 = "40_1275803252.45257" 
+    .const 'Sub' $P202 = "40_1275805952.10494" 
     capture_lex $P202
-    .const 'Sub' $P196 = "38_1275803252.45257" 
+    .const 'Sub' $P196 = "38_1275805952.10494" 
     capture_lex $P196
-    .const 'Sub' $P190 = "36_1275803252.45257" 
+    .const 'Sub' $P190 = "36_1275805952.10494" 
     capture_lex $P190
-    .const 'Sub' $P174 = "33_1275803252.45257" 
+    .const 'Sub' $P174 = "33_1275805952.10494" 
     capture_lex $P174
-    .const 'Sub' $P159 = "31_1275803252.45257" 
+    .const 'Sub' $P159 = "31_1275805952.10494" 
     capture_lex $P159
-    .const 'Sub' $P152 = "29_1275803252.45257" 
+    .const 'Sub' $P152 = "29_1275805952.10494" 
     capture_lex $P152
-    .const 'Sub' $P102 = "26_1275803252.45257" 
+    .const 'Sub' $P102 = "26_1275805952.10494" 
     capture_lex $P102
-    .const 'Sub' $P84 = "23_1275803252.45257" 
+    .const 'Sub' $P84 = "23_1275805952.10494" 
     capture_lex $P84
-    .const 'Sub' $P70 = "21_1275803252.45257" 
+    .const 'Sub' $P70 = "21_1275805952.10494" 
     capture_lex $P70
-    .const 'Sub' $P56 = "19_1275803252.45257" 
+    .const 'Sub' $P56 = "19_1275805952.10494" 
     capture_lex $P56
-    .const 'Sub' $P48 = "17_1275803252.45257" 
+    .const 'Sub' $P48 = "17_1275805952.10494" 
     capture_lex $P48
-    .const 'Sub' $P41 = "15_1275803252.45257" 
+    .const 'Sub' $P41 = "15_1275805952.10494" 
     capture_lex $P41
-    .const 'Sub' $P35 = "13_1275803252.45257" 
+    .const 'Sub' $P35 = "13_1275805952.10494" 
     capture_lex $P35
-    .const 'Sub' $P15 = "12_1275803252.45257" 
+    .const 'Sub' $P15 = "12_1275805952.10494" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -369,13 +369,13 @@
     $P1403 = $P1340()
 .annotate 'line', 4
     .return ($P1403)
-    .const 'Sub' $P1405 = "362_1275803252.45257" 
+    .const 'Sub' $P1405 = "362_1275805952.10494" 
     .return ($P1405)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "" :load :init :subid("post365") :outer("11_1275803252.45257")
+.sub "" :load :init :subid("post365") :outer("11_1275805952.10494")
 .annotate 'line', 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     .local pmc block
@@ -432,11 +432,12 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "TOP"  :subid("12_1275803252.45257") :method :outer("11_1275803252.45257")
+.include "except_types.pasm"
+.sub "TOP"  :subid("12_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
-    $P17."handle_types"(57)
+    $P17."handle_types"(.CONTROL_RETURN)
     push_eh $P17
     .lex "self", self
 .annotate 'line', 5
@@ -522,7 +523,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "identifier"  :subid("13_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "identifier"  :subid("13_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx36_tgt
     .local int rx36_pos
@@ -581,7 +582,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__identifier"  :subid("14_1275803252.45257") :method
+.sub "!PREFIX__identifier"  :subid("14_1275805952.10494") :method
 .annotate 'line', 4
     $P38 = self."!PREFIX__!subrule"("ident", "")
     new $P39, "ResizablePMCArray"
@@ -591,7 +592,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "name"  :subid("15_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "name"  :subid("15_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx42_tgt
     .local int rx42_pos
@@ -666,7 +667,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__name"  :subid("16_1275803252.45257") :method
+.sub "!PREFIX__name"  :subid("16_1275805952.10494") :method
 .annotate 'line', 4
     new $P44, "ResizablePMCArray"
     push $P44, ""
@@ -675,7 +676,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "deflongname"  :subid("17_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "deflongname"  :subid("17_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx49_tgt
     .local int rx49_pos
@@ -749,7 +750,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__deflongname"  :subid("18_1275803252.45257") :method
+.sub "!PREFIX__deflongname"  :subid("18_1275805952.10494") :method
 .annotate 'line', 4
     $P51 = self."!PREFIX__!subrule"("identifier", "")
     new $P52, "ResizablePMCArray"
@@ -759,7 +760,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ENDSTMT"  :subid("19_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "ENDSTMT"  :subid("19_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx57_tgt
     .local int rx57_pos
@@ -892,7 +893,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ENDSTMT"  :subid("20_1275803252.45257") :method
+.sub "!PREFIX__ENDSTMT"  :subid("20_1275805952.10494") :method
 .annotate 'line', 4
     new $P59, "ResizablePMCArray"
     push $P59, ""
@@ -901,7 +902,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ws"  :subid("21_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "ws"  :subid("21_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx71_tgt
     .local int rx71_pos
@@ -1057,7 +1058,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ws"  :subid("22_1275803252.45257") :method
+.sub "!PREFIX__ws"  :subid("22_1275805952.10494") :method
 .annotate 'line', 4
     new $P73, "ResizablePMCArray"
     push $P73, ""
@@ -1067,9 +1068,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "unv"  :subid("23_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "unv"  :subid("23_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
-    .const 'Sub' $P92 = "25_1275803252.45257" 
+    .const 'Sub' $P92 = "25_1275805952.10494" 
     capture_lex $P92
     .local string rx85_tgt
     .local int rx85_pos
@@ -1116,7 +1117,7 @@
   rxanchor90_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx85_cur."!cursor_pos"(rx85_pos)
-    .const 'Sub' $P92 = "25_1275803252.45257" 
+    .const 'Sub' $P92 = "25_1275805952.10494" 
     capture_lex $P92
     $P10 = rx85_cur."before"($P92)
     unless $P10, rx85_fail
@@ -1195,7 +1196,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__unv"  :subid("24_1275803252.45257") :method
+.sub "!PREFIX__unv"  :subid("24_1275805952.10494") :method
 .annotate 'line', 4
     new $P87, "ResizablePMCArray"
     push $P87, ""
@@ -1206,7 +1207,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block91"  :anon :subid("25_1275803252.45257") :method :outer("23_1275803252.45257")
+.sub "_block91"  :anon :subid("25_1275805952.10494") :method :outer("23_1275805952.10494")
 .annotate 'line', 46
     .local string rx93_tgt
     .local int rx93_pos
@@ -1297,9 +1298,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pod_comment"  :subid("26_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "pod_comment"  :subid("26_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
-    .const 'Sub' $P143 = "28_1275803252.45257" 
+    .const 'Sub' $P143 = "28_1275805952.10494" 
     capture_lex $P143
     .local string rx103_tgt
     .local int rx103_pos
@@ -1786,7 +1787,7 @@
   rxanchor141_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx103_cur."!cursor_pos"(rx103_pos)
-    .const 'Sub' $P143 = "28_1275803252.45257" 
+    .const 'Sub' $P143 = "28_1275805952.10494" 
     capture_lex $P143
     $P10 = rx103_cur."before"($P143)
     unless $P10, rx103_fail
@@ -1837,7 +1838,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pod_comment"  :subid("27_1275803252.45257") :method
+.sub "!PREFIX__pod_comment"  :subid("27_1275805952.10494") :method
 .annotate 'line', 4
     new $P105, "ResizablePMCArray"
     push $P105, ""
@@ -1846,7 +1847,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block142"  :anon :subid("28_1275803252.45257") :method :outer("26_1275803252.45257")
+.sub "_block142"  :anon :subid("28_1275805952.10494") :method :outer("26_1275805952.10494")
 .annotate 'line', 69
     .local string rx144_tgt
     .local int rx144_pos
@@ -1966,7 +1967,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "comp_unit"  :subid("29_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "comp_unit"  :subid("29_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx153_tgt
     .local int rx153_pos
@@ -2052,7 +2053,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__comp_unit"  :subid("30_1275803252.45257") :method
+.sub "!PREFIX__comp_unit"  :subid("30_1275805952.10494") :method
 .annotate 'line', 4
     $P155 = self."!PREFIX__!subrule"("newpad", "")
     new $P156, "ResizablePMCArray"
@@ -2062,7 +2063,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statementlist"  :subid("31_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "statementlist"  :subid("31_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx160_tgt
     .local int rx160_pos
@@ -2171,7 +2172,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statementlist"  :subid("32_1275803252.45257") :method
+.sub "!PREFIX__statementlist"  :subid("32_1275805952.10494") :method
 .annotate 'line', 4
     $P162 = self."!PREFIX__!subrule"("ws", "")
     $P163 = self."!PREFIX__!subrule"("ws", "")
@@ -2183,9 +2184,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement"  :subid("33_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "statement"  :subid("33_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
-    .const 'Sub' $P180 = "35_1275803252.45257" 
+    .const 'Sub' $P180 = "35_1275805952.10494" 
     capture_lex $P180
     .local string rx175_tgt
     .local int rx175_pos
@@ -2221,7 +2222,7 @@
 .annotate 'line', 96
   # rx subrule "before" subtype=zerowidth negate=1
     rx175_cur."!cursor_pos"(rx175_pos)
-    .const 'Sub' $P180 = "35_1275803252.45257" 
+    .const 'Sub' $P180 = "35_1275805952.10494" 
     capture_lex $P180
     $P10 = rx175_cur."before"($P180)
     if $P10, rx175_fail
@@ -2326,7 +2327,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement"  :subid("34_1275803252.45257") :method
+.sub "!PREFIX__statement"  :subid("34_1275805952.10494") :method
 .annotate 'line', 4
     new $P177, "ResizablePMCArray"
     push $P177, ""
@@ -2335,7 +2336,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block179"  :anon :subid("35_1275803252.45257") :method :outer("33_1275803252.45257")
+.sub "_block179"  :anon :subid("35_1275805952.10494") :method :outer("33_1275805952.10494")
 .annotate 'line', 96
     .local string rx181_tgt
     .local int rx181_pos
@@ -2400,7 +2401,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "eat_terminator"  :subid("36_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "eat_terminator"  :subid("36_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx191_tgt
     .local int rx191_pos
@@ -2488,7 +2489,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__eat_terminator"  :subid("37_1275803252.45257") :method
+.sub "!PREFIX__eat_terminator"  :subid("37_1275805952.10494") :method
 .annotate 'line', 4
     new $P193, "ResizablePMCArray"
     push $P193, ""
@@ -2500,7 +2501,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "xblock"  :subid("38_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "xblock"  :subid("38_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx197_tgt
     .local int rx197_pos
@@ -2572,7 +2573,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__xblock"  :subid("39_1275803252.45257") :method
+.sub "!PREFIX__xblock"  :subid("39_1275805952.10494") :method
 .annotate 'line', 4
     $P199 = self."!PREFIX__!subrule"("EXPR", "")
     new $P200, "ResizablePMCArray"
@@ -2582,7 +2583,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pblock"  :subid("40_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "pblock"  :subid("40_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx203_tgt
     .local int rx203_pos
@@ -2702,7 +2703,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pblock"  :subid("41_1275803252.45257") :method
+.sub "!PREFIX__pblock"  :subid("41_1275805952.10494") :method
 .annotate 'line', 4
     $P205 = self."!PREFIX__!subrule"("panic", "")
     $P206 = self."!PREFIX__!subrule"("lambda", "")
@@ -2715,7 +2716,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "lambda"  :subid("42_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "lambda"  :subid("42_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx211_tgt
     .local int rx211_pos
@@ -2787,7 +2788,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__lambda"  :subid("43_1275803252.45257") :method
+.sub "!PREFIX__lambda"  :subid("43_1275805952.10494") :method
 .annotate 'line', 4
     new $P213, "ResizablePMCArray"
     push $P213, "<->"
@@ -2797,7 +2798,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "block"  :subid("44_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "block"  :subid("44_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx217_tgt
     .local int rx217_pos
@@ -2881,7 +2882,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__block"  :subid("45_1275803252.45257") :method
+.sub "!PREFIX__block"  :subid("45_1275805952.10494") :method
 .annotate 'line', 4
     $P219 = self."!PREFIX__!subrule"("panic", "")
     new $P220, "ResizablePMCArray"
@@ -2892,7 +2893,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blockoid"  :subid("46_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "blockoid"  :subid("46_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx224_tgt
     .local int rx224_pos
@@ -2988,7 +2989,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blockoid"  :subid("47_1275803252.45257") :method
+.sub "!PREFIX__blockoid"  :subid("47_1275805952.10494") :method
 .annotate 'line', 4
     $P226 = self."!PREFIX__!subrule"("finishpad", "")
     new $P227, "ResizablePMCArray"
@@ -2998,7 +2999,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "newpad"  :subid("48_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "newpad"  :subid("48_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx232_tgt
     .local int rx232_pos
@@ -3050,7 +3051,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__newpad"  :subid("49_1275803252.45257") :method
+.sub "!PREFIX__newpad"  :subid("49_1275805952.10494") :method
 .annotate 'line', 4
     new $P234, "ResizablePMCArray"
     push $P234, ""
@@ -3059,7 +3060,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "outerctx"  :subid("50_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "outerctx"  :subid("50_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx237_tgt
     .local int rx237_pos
@@ -3111,7 +3112,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__outerctx"  :subid("51_1275803252.45257") :method
+.sub "!PREFIX__outerctx"  :subid("51_1275805952.10494") :method
 .annotate 'line', 4
     new $P239, "ResizablePMCArray"
     push $P239, ""
@@ -3120,7 +3121,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "finishpad"  :subid("52_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "finishpad"  :subid("52_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx242_tgt
     .local int rx242_pos
@@ -3172,7 +3173,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__finishpad"  :subid("53_1275803252.45257") :method
+.sub "!PREFIX__finishpad"  :subid("53_1275805952.10494") :method
 .annotate 'line', 4
     new $P244, "ResizablePMCArray"
     push $P244, ""
@@ -3181,7 +3182,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator"  :subid("54_1275803252.45257") :method
+.sub "terminator"  :subid("54_1275805952.10494") :method
 .annotate 'line', 148
     $P247 = self."!protoregex"("terminator")
     .return ($P247)
@@ -3189,7 +3190,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator"  :subid("55_1275803252.45257") :method
+.sub "!PREFIX__terminator"  :subid("55_1275805952.10494") :method
 .annotate 'line', 148
     $P249 = self."!PREFIX__!protoregex"("terminator")
     .return ($P249)
@@ -3197,7 +3198,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<;>"  :subid("56_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "terminator:sym<;>"  :subid("56_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx251_tgt
     .local int rx251_pos
@@ -3255,7 +3256,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<;>"  :subid("57_1275803252.45257") :method
+.sub "!PREFIX__terminator:sym<;>"  :subid("57_1275805952.10494") :method
 .annotate 'line', 4
     new $P253, "ResizablePMCArray"
     push $P253, ";"
@@ -3264,7 +3265,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<}>"  :subid("58_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "terminator:sym<}>"  :subid("58_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx256_tgt
     .local int rx256_pos
@@ -3322,7 +3323,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<}>"  :subid("59_1275803252.45257") :method
+.sub "!PREFIX__terminator:sym<}>"  :subid("59_1275805952.10494") :method
 .annotate 'line', 4
     new $P258, "ResizablePMCArray"
     push $P258, "}"
@@ -3331,7 +3332,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control"  :subid("60_1275803252.45257") :method
+.sub "statement_control"  :subid("60_1275805952.10494") :method
 .annotate 'line', 155
     $P261 = self."!protoregex"("statement_control")
     .return ($P261)
@@ -3339,7 +3340,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control"  :subid("61_1275803252.45257") :method
+.sub "!PREFIX__statement_control"  :subid("61_1275805952.10494") :method
 .annotate 'line', 155
     $P263 = self."!PREFIX__!protoregex"("statement_control")
     .return ($P263)
@@ -3347,7 +3348,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<if>"  :subid("62_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "statement_control:sym<if>"  :subid("62_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx265_tgt
     .local int rx265_pos
@@ -3542,7 +3543,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<if>"  :subid("63_1275803252.45257") :method
+.sub "!PREFIX__statement_control:sym<if>"  :subid("63_1275805952.10494") :method
 .annotate 'line', 4
     new $P267, "ResizablePMCArray"
     push $P267, "if"
@@ -3551,9 +3552,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<unless>"  :subid("64_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "statement_control:sym<unless>"  :subid("64_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
-    .const 'Sub' $P295 = "66_1275803252.45257" 
+    .const 'Sub' $P295 = "66_1275805952.10494" 
     capture_lex $P295
     .local string rx285_tgt
     .local int rx285_pos
@@ -3642,7 +3643,7 @@
     rx285_pos = $P10."pos"()
   # rx subrule "before" subtype=zerowidth negate=1
     rx285_cur."!cursor_pos"(rx285_pos)
-    .const 'Sub' $P295 = "66_1275803252.45257" 
+    .const 'Sub' $P295 = "66_1275805952.10494" 
     capture_lex $P295
     $P10 = rx285_cur."before"($P295)
     if $P10, rx285_fail
@@ -3694,7 +3695,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<unless>"  :subid("65_1275803252.45257") :method
+.sub "!PREFIX__statement_control:sym<unless>"  :subid("65_1275805952.10494") :method
 .annotate 'line', 4
     new $P287, "ResizablePMCArray"
     push $P287, "unless"
@@ -3703,7 +3704,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block294"  :anon :subid("66_1275803252.45257") :method :outer("64_1275803252.45257")
+.sub "_block294"  :anon :subid("66_1275805952.10494") :method :outer("64_1275805952.10494")
 .annotate 'line', 167
     .local string rx296_tgt
     .local int rx296_pos
@@ -3760,7 +3761,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<while>"  :subid("67_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "statement_control:sym<while>"  :subid("67_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx303_tgt
     .local int rx303_pos
@@ -3871,7 +3872,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<while>"  :subid("68_1275803252.45257") :method
+.sub "!PREFIX__statement_control:sym<while>"  :subid("68_1275805952.10494") :method
 .annotate 'line', 4
     new $P305, "ResizablePMCArray"
     push $P305, "until"
@@ -3881,7 +3882,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<repeat>"  :subid("69_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "statement_control:sym<repeat>"  :subid("69_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx312_tgt
     .local int rx312_pos
@@ -4117,7 +4118,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<repeat>"  :subid("70_1275803252.45257") :method
+.sub "!PREFIX__statement_control:sym<repeat>"  :subid("70_1275805952.10494") :method
 .annotate 'line', 4
     new $P314, "ResizablePMCArray"
     push $P314, "repeat"
@@ -4126,7 +4127,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<for>"  :subid("71_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "statement_control:sym<for>"  :subid("71_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx332_tgt
     .local int rx332_pos
@@ -4224,7 +4225,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<for>"  :subid("72_1275803252.45257") :method
+.sub "!PREFIX__statement_control:sym<for>"  :subid("72_1275805952.10494") :method
 .annotate 'line', 4
     new $P334, "ResizablePMCArray"
     push $P334, "for"
@@ -4233,7 +4234,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CATCH>"  :subid("73_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "statement_control:sym<CATCH>"  :subid("73_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx340_tgt
     .local int rx340_pos
@@ -4331,7 +4332,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("74_1275803252.45257") :method
+.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("74_1275805952.10494") :method
 .annotate 'line', 4
     new $P342, "ResizablePMCArray"
     push $P342, "CATCH"
@@ -4340,7 +4341,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CONTROL>"  :subid("75_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "statement_control:sym<CONTROL>"  :subid("75_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx348_tgt
     .local int rx348_pos
@@ -4438,7 +4439,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("76_1275803252.45257") :method
+.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("76_1275805952.10494") :method
 .annotate 'line', 4
     new $P350, "ResizablePMCArray"
     push $P350, "CONTROL"
@@ -4447,7 +4448,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix"  :subid("77_1275803252.45257") :method
+.sub "statement_prefix"  :subid("77_1275805952.10494") :method
 .annotate 'line', 198
     $P356 = self."!protoregex"("statement_prefix")
     .return ($P356)
@@ -4455,7 +4456,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix"  :subid("78_1275803252.45257") :method
+.sub "!PREFIX__statement_prefix"  :subid("78_1275805952.10494") :method
 .annotate 'line', 198
     $P358 = self."!PREFIX__!protoregex"("statement_prefix")
     .return ($P358)
@@ -4463,7 +4464,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<INIT>"  :subid("79_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "statement_prefix:sym<INIT>"  :subid("79_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx360_tgt
     .local int rx360_pos
@@ -4543,7 +4544,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("80_1275803252.45257") :method
+.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("80_1275805952.10494") :method
 .annotate 'line', 4
     $P362 = self."!PREFIX__!subrule"("blorst", "INIT")
     new $P363, "ResizablePMCArray"
@@ -4553,7 +4554,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<try>"  :subid("81_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "statement_prefix:sym<try>"  :subid("81_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx367_tgt
     .local int rx367_pos
@@ -4635,7 +4636,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<try>"  :subid("82_1275803252.45257") :method
+.sub "!PREFIX__statement_prefix:sym<try>"  :subid("82_1275805952.10494") :method
 .annotate 'line', 4
     $P369 = self."!PREFIX__!subrule"("blorst", "try")
     new $P370, "ResizablePMCArray"
@@ -4645,7 +4646,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blorst"  :subid("83_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "blorst"  :subid("83_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx374_tgt
     .local int rx374_pos
@@ -4735,7 +4736,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blorst"  :subid("84_1275803252.45257") :method
+.sub "!PREFIX__blorst"  :subid("84_1275805952.10494") :method
 .annotate 'line', 4
     new $P376, "ResizablePMCArray"
     push $P376, ""
@@ -4744,7 +4745,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond"  :subid("85_1275803252.45257") :method
+.sub "statement_mod_cond"  :subid("85_1275805952.10494") :method
 .annotate 'line', 212
     $P380 = self."!protoregex"("statement_mod_cond")
     .return ($P380)
@@ -4752,7 +4753,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond"  :subid("86_1275803252.45257") :method
+.sub "!PREFIX__statement_mod_cond"  :subid("86_1275805952.10494") :method
 .annotate 'line', 212
     $P382 = self."!PREFIX__!protoregex"("statement_mod_cond")
     .return ($P382)
@@ -4760,7 +4761,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<if>"  :subid("87_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "statement_mod_cond:sym<if>"  :subid("87_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx384_tgt
     .local int rx384_pos
@@ -4850,7 +4851,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("88_1275803252.45257") :method
+.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("88_1275805952.10494") :method
 .annotate 'line', 4
     $P386 = self."!PREFIX__!subrule"("ws", "if")
     new $P387, "ResizablePMCArray"
@@ -4860,7 +4861,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<unless>"  :subid("89_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "statement_mod_cond:sym<unless>"  :subid("89_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx393_tgt
     .local int rx393_pos
@@ -4950,7 +4951,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("90_1275803252.45257") :method
+.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("90_1275805952.10494") :method
 .annotate 'line', 4
     $P395 = self."!PREFIX__!subrule"("ws", "unless")
     new $P396, "ResizablePMCArray"
@@ -4960,7 +4961,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop"  :subid("91_1275803252.45257") :method
+.sub "statement_mod_loop"  :subid("91_1275805952.10494") :method
 .annotate 'line', 217
     $P402 = self."!protoregex"("statement_mod_loop")
     .return ($P402)
@@ -4968,7 +4969,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop"  :subid("92_1275803252.45257") :method
+.sub "!PREFIX__statement_mod_loop"  :subid("92_1275805952.10494") :method
 .annotate 'line', 217
     $P404 = self."!PREFIX__!protoregex"("statement_mod_loop")
     .return ($P404)
@@ -4976,7 +4977,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<while>"  :subid("93_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "statement_mod_loop:sym<while>"  :subid("93_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx406_tgt
     .local int rx406_pos
@@ -5066,7 +5067,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("94_1275803252.45257") :method
+.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("94_1275805952.10494") :method
 .annotate 'line', 4
     $P408 = self."!PREFIX__!subrule"("ws", "while")
     new $P409, "ResizablePMCArray"
@@ -5076,7 +5077,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<until>"  :subid("95_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "statement_mod_loop:sym<until>"  :subid("95_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx415_tgt
     .local int rx415_pos
@@ -5166,7 +5167,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("96_1275803252.45257") :method
+.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("96_1275805952.10494") :method
 .annotate 'line', 4
     $P417 = self."!PREFIX__!subrule"("ws", "until")
     new $P418, "ResizablePMCArray"
@@ -5176,7 +5177,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<fatarrow>"  :subid("97_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<fatarrow>"  :subid("97_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx424_tgt
     .local int rx424_pos
@@ -5235,7 +5236,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<fatarrow>"  :subid("98_1275803252.45257") :method
+.sub "!PREFIX__term:sym<fatarrow>"  :subid("98_1275805952.10494") :method
 .annotate 'line', 4
     $P426 = self."!PREFIX__!subrule"("fatarrow", "")
     new $P427, "ResizablePMCArray"
@@ -5245,7 +5246,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<colonpair>"  :subid("99_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<colonpair>"  :subid("99_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx430_tgt
     .local int rx430_pos
@@ -5304,7 +5305,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<colonpair>"  :subid("100_1275803252.45257") :method
+.sub "!PREFIX__term:sym<colonpair>"  :subid("100_1275805952.10494") :method
 .annotate 'line', 4
     $P432 = self."!PREFIX__!subrule"("colonpair", "")
     new $P433, "ResizablePMCArray"
@@ -5314,7 +5315,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<variable>"  :subid("101_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<variable>"  :subid("101_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx436_tgt
     .local int rx436_pos
@@ -5373,7 +5374,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<variable>"  :subid("102_1275803252.45257") :method
+.sub "!PREFIX__term:sym<variable>"  :subid("102_1275805952.10494") :method
 .annotate 'line', 4
     $P438 = self."!PREFIX__!subrule"("variable", "")
     new $P439, "ResizablePMCArray"
@@ -5383,7 +5384,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<package_declarator>"  :subid("103_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<package_declarator>"  :subid("103_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx442_tgt
     .local int rx442_pos
@@ -5442,7 +5443,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<package_declarator>"  :subid("104_1275803252.45257") :method
+.sub "!PREFIX__term:sym<package_declarator>"  :subid("104_1275805952.10494") :method
 .annotate 'line', 4
     $P444 = self."!PREFIX__!subrule"("package_declarator", "")
     new $P445, "ResizablePMCArray"
@@ -5452,7 +5453,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<scope_declarator>"  :subid("105_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<scope_declarator>"  :subid("105_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx448_tgt
     .local int rx448_pos
@@ -5511,7 +5512,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<scope_declarator>"  :subid("106_1275803252.45257") :method
+.sub "!PREFIX__term:sym<scope_declarator>"  :subid("106_1275805952.10494") :method
 .annotate 'line', 4
     $P450 = self."!PREFIX__!subrule"("scope_declarator", "")
     new $P451, "ResizablePMCArray"
@@ -5521,7 +5522,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<routine_declarator>"  :subid("107_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<routine_declarator>"  :subid("107_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx454_tgt
     .local int rx454_pos
@@ -5580,7 +5581,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<routine_declarator>"  :subid("108_1275803252.45257") :method
+.sub "!PREFIX__term:sym<routine_declarator>"  :subid("108_1275805952.10494") :method
 .annotate 'line', 4
     $P456 = self."!PREFIX__!subrule"("routine_declarator", "")
     new $P457, "ResizablePMCArray"
@@ -5590,9 +5591,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<multi_declarator>"  :subid("109_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<multi_declarator>"  :subid("109_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
-    .const 'Sub' $P465 = "111_1275803252.45257" 
+    .const 'Sub' $P465 = "111_1275805952.10494" 
     capture_lex $P465
     .local string rx460_tgt
     .local int rx460_pos
@@ -5627,7 +5628,7 @@
 .annotate 'line', 230
   # rx subrule "before" subtype=zerowidth negate=
     rx460_cur."!cursor_pos"(rx460_pos)
-    .const 'Sub' $P465 = "111_1275803252.45257" 
+    .const 'Sub' $P465 = "111_1275805952.10494" 
     capture_lex $P465
     $P10 = rx460_cur."before"($P465)
     unless $P10, rx460_fail
@@ -5657,7 +5658,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<multi_declarator>"  :subid("110_1275803252.45257") :method
+.sub "!PREFIX__term:sym<multi_declarator>"  :subid("110_1275805952.10494") :method
 .annotate 'line', 4
     new $P462, "ResizablePMCArray"
     push $P462, ""
@@ -5666,7 +5667,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block464"  :anon :subid("111_1275803252.45257") :method :outer("109_1275803252.45257")
+.sub "_block464"  :anon :subid("111_1275805952.10494") :method :outer("109_1275805952.10494")
 .annotate 'line', 230
     .local string rx466_tgt
     .local int rx466_pos
@@ -5747,7 +5748,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<regex_declarator>"  :subid("112_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<regex_declarator>"  :subid("112_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx470_tgt
     .local int rx470_pos
@@ -5806,7 +5807,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<regex_declarator>"  :subid("113_1275803252.45257") :method
+.sub "!PREFIX__term:sym<regex_declarator>"  :subid("113_1275805952.10494") :method
 .annotate 'line', 4
     $P472 = self."!PREFIX__!subrule"("regex_declarator", "")
     new $P473, "ResizablePMCArray"
@@ -5816,7 +5817,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<statement_prefix>"  :subid("114_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<statement_prefix>"  :subid("114_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx476_tgt
     .local int rx476_pos
@@ -5875,7 +5876,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<statement_prefix>"  :subid("115_1275803252.45257") :method
+.sub "!PREFIX__term:sym<statement_prefix>"  :subid("115_1275805952.10494") :method
 .annotate 'line', 4
     $P478 = self."!PREFIX__!subrule"("statement_prefix", "")
     new $P479, "ResizablePMCArray"
@@ -5885,7 +5886,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<lambda>"  :subid("116_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<lambda>"  :subid("116_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx482_tgt
     .local int rx482_pos
@@ -5948,7 +5949,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<lambda>"  :subid("117_1275803252.45257") :method
+.sub "!PREFIX__term:sym<lambda>"  :subid("117_1275805952.10494") :method
 .annotate 'line', 4
     new $P484, "ResizablePMCArray"
     push $P484, ""
@@ -5957,7 +5958,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "fatarrow"  :subid("118_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "fatarrow"  :subid("118_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx487_tgt
     .local int rx487_pos
@@ -6051,7 +6052,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__fatarrow"  :subid("119_1275803252.45257") :method
+.sub "!PREFIX__fatarrow"  :subid("119_1275805952.10494") :method
 .annotate 'line', 4
     $P489 = self."!PREFIX__!subrule"("identifier", "")
     new $P490, "ResizablePMCArray"
@@ -6061,7 +6062,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "colonpair"  :subid("120_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "colonpair"  :subid("120_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx495_tgt
     .local int rx495_pos
@@ -6191,7 +6192,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__colonpair"  :subid("121_1275803252.45257") :method
+.sub "!PREFIX__colonpair"  :subid("121_1275805952.10494") :method
 .annotate 'line', 4
     $P497 = self."!PREFIX__!subrule"("circumfix", ":")
     $P498 = self."!PREFIX__!subrule"("identifier", ":")
@@ -6205,7 +6206,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable"  :subid("122_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "variable"  :subid("122_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx507_tgt
     .local int rx507_pos
@@ -6361,7 +6362,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable"  :subid("123_1275803252.45257") :method
+.sub "!PREFIX__variable"  :subid("123_1275805952.10494") :method
 .annotate 'line', 4
     $P509 = self."!PREFIX__!subrule"("sigil", "")
     $P510 = self."!PREFIX__!subrule"("sigil", "")
@@ -6376,7 +6377,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "sigil"  :subid("124_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "sigil"  :subid("124_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx519_tgt
     .local int rx519_pos
@@ -6435,7 +6436,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__sigil"  :subid("125_1275803252.45257") :method
+.sub "!PREFIX__sigil"  :subid("125_1275805952.10494") :method
 .annotate 'line', 4
     new $P521, "ResizablePMCArray"
     push $P521, "&"
@@ -6447,7 +6448,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "twigil"  :subid("126_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "twigil"  :subid("126_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx524_tgt
     .local int rx524_pos
@@ -6506,7 +6507,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__twigil"  :subid("127_1275803252.45257") :method
+.sub "!PREFIX__twigil"  :subid("127_1275805952.10494") :method
 .annotate 'line', 4
     new $P526, "ResizablePMCArray"
     push $P526, "?"
@@ -6517,7 +6518,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator"  :subid("128_1275803252.45257") :method
+.sub "package_declarator"  :subid("128_1275805952.10494") :method
 .annotate 'line', 258
     $P529 = self."!protoregex"("package_declarator")
     .return ($P529)
@@ -6525,7 +6526,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator"  :subid("129_1275803252.45257") :method
+.sub "!PREFIX__package_declarator"  :subid("129_1275805952.10494") :method
 .annotate 'line', 258
     $P531 = self."!PREFIX__!protoregex"("package_declarator")
     .return ($P531)
@@ -6533,7 +6534,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<module>"  :subid("130_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "package_declarator:sym<module>"  :subid("130_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx533_tgt
     .local int rx533_pos
@@ -6613,7 +6614,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<module>"  :subid("131_1275803252.45257") :method
+.sub "!PREFIX__package_declarator:sym<module>"  :subid("131_1275805952.10494") :method
 .annotate 'line', 4
     $P535 = self."!PREFIX__!subrule"("package_def", "module")
     new $P536, "ResizablePMCArray"
@@ -6623,7 +6624,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<class>"  :subid("132_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "package_declarator:sym<class>"  :subid("132_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx540_tgt
     .local int rx540_pos
@@ -6716,7 +6717,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<class>"  :subid("133_1275803252.45257") :method
+.sub "!PREFIX__package_declarator:sym<class>"  :subid("133_1275805952.10494") :method
 .annotate 'line', 4
     $P542 = self."!PREFIX__!subrule"("package_def", "grammar")
     $P543 = self."!PREFIX__!subrule"("package_def", "class")
@@ -6728,7 +6729,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_def"  :subid("134_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "package_def"  :subid("134_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx549_tgt
     .local int rx549_pos
@@ -6933,7 +6934,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_def"  :subid("135_1275803252.45257") :method
+.sub "!PREFIX__package_def"  :subid("135_1275805952.10494") :method
 .annotate 'line', 4
     $P551 = self."!PREFIX__!subrule"("ws", "")
     new $P552, "ResizablePMCArray"
@@ -6943,7 +6944,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator"  :subid("136_1275803252.45257") :method
+.sub "scope_declarator"  :subid("136_1275805952.10494") :method
 .annotate 'line', 272
     $P573 = self."!protoregex"("scope_declarator")
     .return ($P573)
@@ -6951,7 +6952,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator"  :subid("137_1275803252.45257") :method
+.sub "!PREFIX__scope_declarator"  :subid("137_1275805952.10494") :method
 .annotate 'line', 272
     $P575 = self."!PREFIX__!protoregex"("scope_declarator")
     .return ($P575)
@@ -6959,7 +6960,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<my>"  :subid("138_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "scope_declarator:sym<my>"  :subid("138_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx577_tgt
     .local int rx577_pos
@@ -7039,7 +7040,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<my>"  :subid("139_1275803252.45257") :method
+.sub "!PREFIX__scope_declarator:sym<my>"  :subid("139_1275805952.10494") :method
 .annotate 'line', 4
     $P579 = self."!PREFIX__!subrule"("scoped", "my")
     new $P580, "ResizablePMCArray"
@@ -7049,7 +7050,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<our>"  :subid("140_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "scope_declarator:sym<our>"  :subid("140_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx584_tgt
     .local int rx584_pos
@@ -7129,7 +7130,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<our>"  :subid("141_1275803252.45257") :method
+.sub "!PREFIX__scope_declarator:sym<our>"  :subid("141_1275805952.10494") :method
 .annotate 'line', 4
     $P586 = self."!PREFIX__!subrule"("scoped", "our")
     new $P587, "ResizablePMCArray"
@@ -7139,7 +7140,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<has>"  :subid("142_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "scope_declarator:sym<has>"  :subid("142_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx591_tgt
     .local int rx591_pos
@@ -7219,7 +7220,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<has>"  :subid("143_1275803252.45257") :method
+.sub "!PREFIX__scope_declarator:sym<has>"  :subid("143_1275805952.10494") :method
 .annotate 'line', 4
     $P593 = self."!PREFIX__!subrule"("scoped", "has")
     new $P594, "ResizablePMCArray"
@@ -7229,7 +7230,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scoped"  :subid("144_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "scoped"  :subid("144_1275805952.10494") :method :outer("11_1275805952.10494")
     .param pmc param_598
 .annotate 'line', 277
     .lex "$*SCOPE", param_598
@@ -7327,7 +7328,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scoped"  :subid("145_1275803252.45257") :method
+.sub "!PREFIX__scoped"  :subid("145_1275805952.10494") :method
 .annotate 'line', 4
     $P601 = self."!PREFIX__!subrule"("ws", "")
     $P602 = self."!PREFIX__!subrule"("ws", "")
@@ -7339,7 +7340,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "typename"  :subid("146_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "typename"  :subid("146_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx611_tgt
     .local int rx611_pos
@@ -7398,7 +7399,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__typename"  :subid("147_1275803252.45257") :method
+.sub "!PREFIX__typename"  :subid("147_1275805952.10494") :method
 .annotate 'line', 4
     $P613 = self."!PREFIX__!subrule"("name", "")
     new $P614, "ResizablePMCArray"
@@ -7408,7 +7409,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "declarator"  :subid("148_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "declarator"  :subid("148_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx617_tgt
     .local int rx617_pos
@@ -7483,7 +7484,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__declarator"  :subid("149_1275803252.45257") :method
+.sub "!PREFIX__declarator"  :subid("149_1275805952.10494") :method
 .annotate 'line', 4
     $P619 = self."!PREFIX__!subrule"("routine_declarator", "")
     $P620 = self."!PREFIX__!subrule"("variable_declarator", "")
@@ -7495,7 +7496,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable_declarator"  :subid("150_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "variable_declarator"  :subid("150_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx625_tgt
     .local int rx625_pos
@@ -7554,7 +7555,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable_declarator"  :subid("151_1275803252.45257") :method
+.sub "!PREFIX__variable_declarator"  :subid("151_1275805952.10494") :method
 .annotate 'line', 4
     $P627 = self."!PREFIX__!subrule"("variable", "")
     new $P628, "ResizablePMCArray"
@@ -7564,7 +7565,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator"  :subid("152_1275803252.45257") :method
+.sub "routine_declarator"  :subid("152_1275805952.10494") :method
 .annotate 'line', 291
     $P631 = self."!protoregex"("routine_declarator")
     .return ($P631)
@@ -7572,7 +7573,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator"  :subid("153_1275803252.45257") :method
+.sub "!PREFIX__routine_declarator"  :subid("153_1275805952.10494") :method
 .annotate 'line', 291
     $P633 = self."!PREFIX__!protoregex"("routine_declarator")
     .return ($P633)
@@ -7580,7 +7581,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<sub>"  :subid("154_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "routine_declarator:sym<sub>"  :subid("154_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx635_tgt
     .local int rx635_pos
@@ -7660,7 +7661,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("155_1275803252.45257") :method
+.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("155_1275805952.10494") :method
 .annotate 'line', 4
     $P637 = self."!PREFIX__!subrule"("routine_def", "sub")
     new $P638, "ResizablePMCArray"
@@ -7670,7 +7671,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<method>"  :subid("156_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "routine_declarator:sym<method>"  :subid("156_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx642_tgt
     .local int rx642_pos
@@ -7750,7 +7751,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<method>"  :subid("157_1275803252.45257") :method
+.sub "!PREFIX__routine_declarator:sym<method>"  :subid("157_1275805952.10494") :method
 .annotate 'line', 4
     $P644 = self."!PREFIX__!subrule"("method_def", "method")
     new $P645, "ResizablePMCArray"
@@ -7760,7 +7761,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_def"  :subid("158_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "routine_def"  :subid("158_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx649_tgt
     .local int rx649_pos
@@ -7770,7 +7771,7 @@
     .local pmc rx649_cur
     (rx649_cur, rx649_pos, rx649_tgt) = self."!cursor_start"()
     rx649_cur."!cursor_debug"("START ", "routine_def")
-    rx649_cur."!cursor_caparray"("sigil", "deflongname")
+    rx649_cur."!cursor_caparray"("deflongname", "sigil")
     .lex unicode:"$\x{a2}", rx649_cur
     .local pmc match
     .lex "$/", match
@@ -7968,7 +7969,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_def"  :subid("159_1275803252.45257") :method
+.sub "!PREFIX__routine_def"  :subid("159_1275805952.10494") :method
 .annotate 'line', 4
     $P651 = self."!PREFIX__!subrule"("ws", "")
     new $P652, "ResizablePMCArray"
@@ -7978,7 +7979,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "method_def"  :subid("160_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "method_def"  :subid("160_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx674_tgt
     .local int rx674_pos
@@ -8149,7 +8150,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__method_def"  :subid("161_1275803252.45257") :method
+.sub "!PREFIX__method_def"  :subid("161_1275805952.10494") :method
 .annotate 'line', 4
     $P676 = self."!PREFIX__!subrule"("ws", "")
     new $P677, "ResizablePMCArray"
@@ -8159,7 +8160,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "multi_declarator"  :subid("162_1275803252.45257") :method
+.sub "multi_declarator"  :subid("162_1275805952.10494") :method
 .annotate 'line', 311
     $P694 = self."!protoregex"("multi_declarator")
     .return ($P694)
@@ -8167,7 +8168,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__multi_declarator"  :subid("163_1275803252.45257") :method
+.sub "!PREFIX__multi_declarator"  :subid("163_1275805952.10494") :method
 .annotate 'line', 311
     $P696 = self."!PREFIX__!protoregex"("multi_declarator")
     .return ($P696)
@@ -8175,7 +8176,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "multi_declarator:sym<multi>"  :subid("164_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "multi_declarator:sym<multi>"  :subid("164_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 313
     new $P698, "Undef"
     .lex "$*MULTINESS", $P698
@@ -8292,7 +8293,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__multi_declarator:sym<multi>"  :subid("165_1275803252.45257") :method
+.sub "!PREFIX__multi_declarator:sym<multi>"  :subid("165_1275805952.10494") :method
 .annotate 'line', 4
     $P701 = self."!PREFIX__!subrule"("ws", "multi")
     new $P702, "ResizablePMCArray"
@@ -8302,7 +8303,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "multi_declarator:sym<null>"  :subid("166_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "multi_declarator:sym<null>"  :subid("166_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 318
     new $P708, "Undef"
     .lex "$*MULTINESS", $P708
@@ -8370,7 +8371,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__multi_declarator:sym<null>"  :subid("167_1275803252.45257") :method
+.sub "!PREFIX__multi_declarator:sym<null>"  :subid("167_1275805952.10494") :method
 .annotate 'line', 4
     $P711 = self."!PREFIX__!subrule"("declarator", "")
     new $P712, "ResizablePMCArray"
@@ -8380,7 +8381,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "signature"  :subid("168_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "signature"  :subid("168_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx716_tgt
     .local int rx716_pos
@@ -8471,7 +8472,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__signature"  :subid("169_1275803252.45257") :method
+.sub "!PREFIX__signature"  :subid("169_1275805952.10494") :method
 .annotate 'line', 4
     new $P718, "ResizablePMCArray"
     push $P718, ""
@@ -8480,7 +8481,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "parameter"  :subid("170_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "parameter"  :subid("170_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx725_tgt
     .local int rx725_pos
@@ -8663,7 +8664,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__parameter"  :subid("171_1275803252.45257") :method
+.sub "!PREFIX__parameter"  :subid("171_1275805952.10494") :method
 .annotate 'line', 4
     new $P727, "ResizablePMCArray"
     push $P727, ""
@@ -8672,7 +8673,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "param_var"  :subid("172_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "param_var"  :subid("172_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx739_tgt
     .local int rx739_pos
@@ -8781,7 +8782,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__param_var"  :subid("173_1275803252.45257") :method
+.sub "!PREFIX__param_var"  :subid("173_1275805952.10494") :method
 .annotate 'line', 4
     $P741 = self."!PREFIX__!subrule"("sigil", "")
     new $P742, "ResizablePMCArray"
@@ -8791,7 +8792,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "named_param"  :subid("174_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "named_param"  :subid("174_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx749_tgt
     .local int rx749_pos
@@ -8858,7 +8859,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__named_param"  :subid("175_1275803252.45257") :method
+.sub "!PREFIX__named_param"  :subid("175_1275805952.10494") :method
 .annotate 'line', 4
     $P751 = self."!PREFIX__!subrule"("param_var", ":")
     new $P752, "ResizablePMCArray"
@@ -8868,7 +8869,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "default_value"  :subid("176_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "default_value"  :subid("176_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx755_tgt
     .local int rx755_pos
@@ -8949,7 +8950,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__default_value"  :subid("177_1275803252.45257") :method
+.sub "!PREFIX__default_value"  :subid("177_1275805952.10494") :method
 .annotate 'line', 4
     $P757 = self."!PREFIX__!subrule"("ws", "")
     new $P758, "ResizablePMCArray"
@@ -8959,7 +8960,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "regex_declarator"  :subid("178_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "regex_declarator"  :subid("178_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx764_tgt
     .local int rx764_pos
@@ -9361,7 +9362,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__regex_declarator"  :subid("179_1275803252.45257") :method
+.sub "!PREFIX__regex_declarator"  :subid("179_1275805952.10494") :method
 .annotate 'line', 4
     $P766 = self."!PREFIX__!subrule"("ws", "")
     new $P767, "ResizablePMCArray"
@@ -9371,7 +9372,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "dotty"  :subid("180_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "dotty"  :subid("180_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx802_tgt
     .local int rx802_pos
@@ -9528,7 +9529,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__dotty"  :subid("181_1275803252.45257") :method
+.sub "!PREFIX__dotty"  :subid("181_1275805952.10494") :method
 .annotate 'line', 4
     $P804 = self."!PREFIX__!subrule"("identifier", ".")
     new $P805, "ResizablePMCArray"
@@ -9540,7 +9541,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term"  :subid("182_1275803252.45257") :method
+.sub "term"  :subid("182_1275805952.10494") :method
 .annotate 'line', 375
     $P813 = self."!protoregex"("term")
     .return ($P813)
@@ -9548,7 +9549,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term"  :subid("183_1275803252.45257") :method
+.sub "!PREFIX__term"  :subid("183_1275805952.10494") :method
 .annotate 'line', 375
     $P815 = self."!PREFIX__!protoregex"("term")
     .return ($P815)
@@ -9556,7 +9557,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<self>"  :subid("184_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<self>"  :subid("184_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx817_tgt
     .local int rx817_pos
@@ -9637,7 +9638,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<self>"  :subid("185_1275803252.45257") :method
+.sub "!PREFIX__term:sym<self>"  :subid("185_1275805952.10494") :method
 .annotate 'line', 4
     new $P819, "ResizablePMCArray"
     push $P819, "self"
@@ -9646,7 +9647,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<identifier>"  :subid("186_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<identifier>"  :subid("186_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx823_tgt
     .local int rx823_pos
@@ -9719,7 +9720,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<identifier>"  :subid("187_1275803252.45257") :method
+.sub "!PREFIX__term:sym<identifier>"  :subid("187_1275805952.10494") :method
 .annotate 'line', 4
     $P825 = self."!PREFIX__!subrule"("identifier", "")
     new $P826, "ResizablePMCArray"
@@ -9729,7 +9730,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<name>"  :subid("188_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<name>"  :subid("188_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx829_tgt
     .local int rx829_pos
@@ -9803,7 +9804,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<name>"  :subid("189_1275803252.45257") :method
+.sub "!PREFIX__term:sym<name>"  :subid("189_1275805952.10494") :method
 .annotate 'line', 4
     $P831 = self."!PREFIX__!subrule"("name", "")
     new $P832, "ResizablePMCArray"
@@ -9813,7 +9814,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<pir::op>"  :subid("190_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<pir::op>"  :subid("190_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx837_tgt
     .local int rx837_pos
@@ -9907,7 +9908,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<pir::op>"  :subid("191_1275803252.45257") :method
+.sub "!PREFIX__term:sym<pir::op>"  :subid("191_1275805952.10494") :method
 .annotate 'line', 4
     new $P839, "ResizablePMCArray"
     push $P839, "pir::"
@@ -9916,7 +9917,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "args"  :subid("192_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "args"  :subid("192_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx845_tgt
     .local int rx845_pos
@@ -9989,7 +9990,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__args"  :subid("193_1275803252.45257") :method
+.sub "!PREFIX__args"  :subid("193_1275805952.10494") :method
 .annotate 'line', 4
     $P847 = self."!PREFIX__!subrule"("arglist", "(")
     new $P848, "ResizablePMCArray"
@@ -9999,7 +10000,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "arglist"  :subid("194_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "arglist"  :subid("194_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx851_tgt
     .local int rx851_pos
@@ -10072,7 +10073,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("195_1275803252.45257") :method
+.sub "!PREFIX__arglist"  :subid("195_1275805952.10494") :method
 .annotate 'line', 4
     $P853 = self."!PREFIX__!subrule"("ws", "")
     new $P854, "ResizablePMCArray"
@@ -10082,7 +10083,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<value>"  :subid("196_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<value>"  :subid("196_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx858_tgt
     .local int rx858_pos
@@ -10141,7 +10142,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<value>"  :subid("197_1275803252.45257") :method
+.sub "!PREFIX__term:sym<value>"  :subid("197_1275805952.10494") :method
 .annotate 'line', 4
     $P860 = self."!PREFIX__!subrule"("value", "")
     new $P861, "ResizablePMCArray"
@@ -10151,7 +10152,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "value"  :subid("198_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "value"  :subid("198_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx864_tgt
     .local int rx864_pos
@@ -10226,7 +10227,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__value"  :subid("199_1275803252.45257") :method
+.sub "!PREFIX__value"  :subid("199_1275805952.10494") :method
 .annotate 'line', 4
     $P866 = self."!PREFIX__!subrule"("number", "")
     $P867 = self."!PREFIX__!subrule"("quote", "")
@@ -10238,7 +10239,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "number"  :subid("200_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "number"  :subid("200_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx872_tgt
     .local int rx872_pos
@@ -10339,7 +10340,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__number"  :subid("201_1275803252.45257") :method
+.sub "!PREFIX__number"  :subid("201_1275805952.10494") :method
 .annotate 'line', 4
     new $P874, "ResizablePMCArray"
     push $P874, ""
@@ -10348,7 +10349,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote"  :subid("202_1275803252.45257") :method
+.sub "quote"  :subid("202_1275805952.10494") :method
 .annotate 'line', 416
     $P881 = self."!protoregex"("quote")
     .return ($P881)
@@ -10356,7 +10357,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote"  :subid("203_1275803252.45257") :method
+.sub "!PREFIX__quote"  :subid("203_1275805952.10494") :method
 .annotate 'line', 416
     $P883 = self."!PREFIX__!protoregex"("quote")
     .return ($P883)
@@ -10364,7 +10365,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<apos>"  :subid("204_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "quote:sym<apos>"  :subid("204_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx885_tgt
     .local int rx885_pos
@@ -10429,7 +10430,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<apos>"  :subid("205_1275803252.45257") :method
+.sub "!PREFIX__quote:sym<apos>"  :subid("205_1275805952.10494") :method
 .annotate 'line', 4
     new $P887, "ResizablePMCArray"
     push $P887, "'"
@@ -10438,7 +10439,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<dblq>"  :subid("206_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "quote:sym<dblq>"  :subid("206_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx890_tgt
     .local int rx890_pos
@@ -10503,7 +10504,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<dblq>"  :subid("207_1275803252.45257") :method
+.sub "!PREFIX__quote:sym<dblq>"  :subid("207_1275805952.10494") :method
 .annotate 'line', 4
     new $P892, "ResizablePMCArray"
     push $P892, "\""
@@ -10512,7 +10513,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<q>"  :subid("208_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "quote:sym<q>"  :subid("208_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx895_tgt
     .local int rx895_pos
@@ -10597,7 +10598,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<q>"  :subid("209_1275803252.45257") :method
+.sub "!PREFIX__quote:sym<q>"  :subid("209_1275805952.10494") :method
 .annotate 'line', 4
     $P897 = self."!PREFIX__!subrule"("ws", "q")
     new $P898, "ResizablePMCArray"
@@ -10607,7 +10608,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<qq>"  :subid("210_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "quote:sym<qq>"  :subid("210_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx901_tgt
     .local int rx901_pos
@@ -10692,7 +10693,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<qq>"  :subid("211_1275803252.45257") :method
+.sub "!PREFIX__quote:sym<qq>"  :subid("211_1275805952.10494") :method
 .annotate 'line', 4
     $P903 = self."!PREFIX__!subrule"("ws", "qq")
     new $P904, "ResizablePMCArray"
@@ -10702,7 +10703,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q>"  :subid("212_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "quote:sym<Q>"  :subid("212_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx907_tgt
     .local int rx907_pos
@@ -10787,7 +10788,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q>"  :subid("213_1275803252.45257") :method
+.sub "!PREFIX__quote:sym<Q>"  :subid("213_1275805952.10494") :method
 .annotate 'line', 4
     $P909 = self."!PREFIX__!subrule"("ws", "Q")
     new $P910, "ResizablePMCArray"
@@ -10797,7 +10798,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q:PIR>"  :subid("214_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "quote:sym<Q:PIR>"  :subid("214_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx913_tgt
     .local int rx913_pos
@@ -10868,7 +10869,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("215_1275803252.45257") :method
+.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("215_1275805952.10494") :method
 .annotate 'line', 4
     $P915 = self."!PREFIX__!subrule"("ws", "Q:PIR")
     new $P916, "ResizablePMCArray"
@@ -10878,7 +10879,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym</ />"  :subid("216_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "quote:sym</ />"  :subid("216_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx919_tgt
     .local int rx919_pos
@@ -10964,7 +10965,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym</ />"  :subid("217_1275803252.45257") :method
+.sub "!PREFIX__quote:sym</ />"  :subid("217_1275805952.10494") :method
 .annotate 'line', 4
     $P921 = self."!PREFIX__!subrule"("newpad", "/")
     new $P922, "ResizablePMCArray"
@@ -10974,7 +10975,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<$>"  :subid("218_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "quote_escape:sym<$>"  :subid("218_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx925_tgt
     .local int rx925_pos
@@ -11043,7 +11044,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<$>"  :subid("219_1275803252.45257") :method
+.sub "!PREFIX__quote_escape:sym<$>"  :subid("219_1275805952.10494") :method
 .annotate 'line', 4
     new $P927, "ResizablePMCArray"
     push $P927, "$"
@@ -11052,7 +11053,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<{ }>"  :subid("220_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "quote_escape:sym<{ }>"  :subid("220_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx930_tgt
     .local int rx930_pos
@@ -11121,7 +11122,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("221_1275803252.45257") :method
+.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("221_1275805952.10494") :method
 .annotate 'line', 4
     new $P932, "ResizablePMCArray"
     push $P932, "{"
@@ -11130,7 +11131,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<esc>"  :subid("222_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "quote_escape:sym<esc>"  :subid("222_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx935_tgt
     .local int rx935_pos
@@ -11193,7 +11194,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>"  :subid("223_1275803252.45257") :method
+.sub "!PREFIX__quote_escape:sym<esc>"  :subid("223_1275805952.10494") :method
 .annotate 'line', 4
     new $P937, "ResizablePMCArray"
     push $P937, "\\e"
@@ -11202,7 +11203,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<( )>"  :subid("224_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "circumfix:sym<( )>"  :subid("224_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx940_tgt
     .local int rx940_pos
@@ -11287,7 +11288,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<( )>"  :subid("225_1275803252.45257") :method
+.sub "!PREFIX__circumfix:sym<( )>"  :subid("225_1275805952.10494") :method
 .annotate 'line', 4
     $P942 = self."!PREFIX__!subrule"("ws", "(")
     new $P943, "ResizablePMCArray"
@@ -11297,7 +11298,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<[ ]>"  :subid("226_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "circumfix:sym<[ ]>"  :subid("226_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx948_tgt
     .local int rx948_pos
@@ -11382,7 +11383,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("227_1275803252.45257") :method
+.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("227_1275805952.10494") :method
 .annotate 'line', 4
     $P950 = self."!PREFIX__!subrule"("ws", "[")
     new $P951, "ResizablePMCArray"
@@ -11392,7 +11393,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<ang>"  :subid("228_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "circumfix:sym<ang>"  :subid("228_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx956_tgt
     .local int rx956_pos
@@ -11457,7 +11458,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<ang>"  :subid("229_1275803252.45257") :method
+.sub "!PREFIX__circumfix:sym<ang>"  :subid("229_1275805952.10494") :method
 .annotate 'line', 4
     new $P958, "ResizablePMCArray"
     push $P958, "<"
@@ -11466,7 +11467,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("230_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("230_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx961_tgt
     .local int rx961_pos
@@ -11531,7 +11532,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("231_1275803252.45257") :method
+.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("231_1275805952.10494") :method
 .annotate 'line', 4
     new $P963, "ResizablePMCArray"
     push $P963, unicode:"\x{ab}"
@@ -11540,7 +11541,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<{ }>"  :subid("232_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "circumfix:sym<{ }>"  :subid("232_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx966_tgt
     .local int rx966_pos
@@ -11605,7 +11606,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<{ }>"  :subid("233_1275803252.45257") :method
+.sub "!PREFIX__circumfix:sym<{ }>"  :subid("233_1275805952.10494") :method
 .annotate 'line', 4
     new $P968, "ResizablePMCArray"
     push $P968, "{"
@@ -11614,7 +11615,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<sigil>"  :subid("234_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "circumfix:sym<sigil>"  :subid("234_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx971_tgt
     .local int rx971_pos
@@ -11705,7 +11706,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<sigil>"  :subid("235_1275803252.45257") :method
+.sub "!PREFIX__circumfix:sym<sigil>"  :subid("235_1275805952.10494") :method
 .annotate 'line', 4
     $P973 = self."!PREFIX__!subrule"("sigil", "")
     new $P974, "ResizablePMCArray"
@@ -11715,7 +11716,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "semilist"  :subid("236_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "semilist"  :subid("236_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 4
     .local string rx979_tgt
     .local int rx979_pos
@@ -11784,7 +11785,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__semilist"  :subid("237_1275803252.45257") :method
+.sub "!PREFIX__semilist"  :subid("237_1275805952.10494") :method
 .annotate 'line', 4
     $P981 = self."!PREFIX__!subrule"("ws", "")
     new $P982, "ResizablePMCArray"
@@ -11794,7 +11795,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixish"  :subid("238_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infixish"  :subid("238_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx987_tgt
     .local int rx987_pos
@@ -11857,7 +11858,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("239_1275803252.45257") :method
+.sub "!PREFIX__infixish"  :subid("239_1275805952.10494") :method
 .annotate 'line', 446
     new $P989, "ResizablePMCArray"
     push $P989, ""
@@ -11866,7 +11867,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixstopper"  :subid("240_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infixstopper"  :subid("240_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx992_tgt
     .local int rx992_pos
@@ -11922,7 +11923,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixstopper"  :subid("241_1275803252.45257") :method
+.sub "!PREFIX__infixstopper"  :subid("241_1275805952.10494") :method
 .annotate 'line', 446
     new $P994, "ResizablePMCArray"
     push $P994, ""
@@ -11931,7 +11932,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<[ ]>"  :subid("242_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "postcircumfix:sym<[ ]>"  :subid("242_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx997_tgt
     .local int rx997_pos
@@ -12018,7 +12019,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("243_1275803252.45257") :method
+.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("243_1275805952.10494") :method
 .annotate 'line', 446
     $P999 = self."!PREFIX__!subrule"("ws", "[")
     new $P1000, "ResizablePMCArray"
@@ -12028,7 +12029,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<{ }>"  :subid("244_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "postcircumfix:sym<{ }>"  :subid("244_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1003_tgt
     .local int rx1003_pos
@@ -12115,7 +12116,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("245_1275803252.45257") :method
+.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("245_1275805952.10494") :method
 .annotate 'line', 446
     $P1005 = self."!PREFIX__!subrule"("ws", "{")
     new $P1006, "ResizablePMCArray"
@@ -12125,7 +12126,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<ang>"  :subid("246_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "postcircumfix:sym<ang>"  :subid("246_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1009_tgt
     .local int rx1009_pos
@@ -12199,7 +12200,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("247_1275803252.45257") :method
+.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("247_1275805952.10494") :method
 .annotate 'line', 446
     new $P1011, "ResizablePMCArray"
     push $P1011, "<"
@@ -12208,7 +12209,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<( )>"  :subid("248_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "postcircumfix:sym<( )>"  :subid("248_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1014_tgt
     .local int rx1014_pos
@@ -12295,7 +12296,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("249_1275803252.45257") :method
+.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("249_1275805952.10494") :method
 .annotate 'line', 446
     $P1016 = self."!PREFIX__!subrule"("ws", "(")
     new $P1017, "ResizablePMCArray"
@@ -12305,7 +12306,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<.>"  :subid("250_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "postfix:sym<.>"  :subid("250_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1020_tgt
     .local int rx1020_pos
@@ -12371,7 +12372,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<.>"  :subid("251_1275803252.45257") :method
+.sub "!PREFIX__postfix:sym<.>"  :subid("251_1275805952.10494") :method
 .annotate 'line', 446
     $P1022 = self."!PREFIX__!subrule"("dotty", "")
     new $P1023, "ResizablePMCArray"
@@ -12381,7 +12382,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<++>"  :subid("252_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "prefix:sym<++>"  :subid("252_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1026_tgt
     .local int rx1026_pos
@@ -12461,7 +12462,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<++>"  :subid("253_1275803252.45257") :method
+.sub "!PREFIX__prefix:sym<++>"  :subid("253_1275805952.10494") :method
 .annotate 'line', 446
     $P1028 = self."!PREFIX__!subrule"("O", "++")
     new $P1029, "ResizablePMCArray"
@@ -12471,7 +12472,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<-->"  :subid("254_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "prefix:sym<-->"  :subid("254_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1033_tgt
     .local int rx1033_pos
@@ -12551,7 +12552,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<-->"  :subid("255_1275803252.45257") :method
+.sub "!PREFIX__prefix:sym<-->"  :subid("255_1275805952.10494") :method
 .annotate 'line', 446
     $P1035 = self."!PREFIX__!subrule"("O", "--")
     new $P1036, "ResizablePMCArray"
@@ -12561,7 +12562,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<++>"  :subid("256_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "postfix:sym<++>"  :subid("256_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1040_tgt
     .local int rx1040_pos
@@ -12641,7 +12642,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<++>"  :subid("257_1275803252.45257") :method
+.sub "!PREFIX__postfix:sym<++>"  :subid("257_1275805952.10494") :method
 .annotate 'line', 446
     $P1042 = self."!PREFIX__!subrule"("O", "++")
     new $P1043, "ResizablePMCArray"
@@ -12651,7 +12652,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<-->"  :subid("258_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "postfix:sym<-->"  :subid("258_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1047_tgt
     .local int rx1047_pos
@@ -12731,7 +12732,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<-->"  :subid("259_1275803252.45257") :method
+.sub "!PREFIX__postfix:sym<-->"  :subid("259_1275805952.10494") :method
 .annotate 'line', 446
     $P1049 = self."!PREFIX__!subrule"("O", "--")
     new $P1050, "ResizablePMCArray"
@@ -12741,7 +12742,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<**>"  :subid("260_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<**>"  :subid("260_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1054_tgt
     .local int rx1054_pos
@@ -12821,7 +12822,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<**>"  :subid("261_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<**>"  :subid("261_1275805952.10494") :method
 .annotate 'line', 446
     $P1056 = self."!PREFIX__!subrule"("O", "**")
     new $P1057, "ResizablePMCArray"
@@ -12831,7 +12832,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<+>"  :subid("262_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "prefix:sym<+>"  :subid("262_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1061_tgt
     .local int rx1061_pos
@@ -12911,7 +12912,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<+>"  :subid("263_1275803252.45257") :method
+.sub "!PREFIX__prefix:sym<+>"  :subid("263_1275805952.10494") :method
 .annotate 'line', 446
     $P1063 = self."!PREFIX__!subrule"("O", "+")
     new $P1064, "ResizablePMCArray"
@@ -12921,7 +12922,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<~>"  :subid("264_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "prefix:sym<~>"  :subid("264_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1068_tgt
     .local int rx1068_pos
@@ -13001,7 +13002,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<~>"  :subid("265_1275803252.45257") :method
+.sub "!PREFIX__prefix:sym<~>"  :subid("265_1275805952.10494") :method
 .annotate 'line', 446
     $P1070 = self."!PREFIX__!subrule"("O", "~")
     new $P1071, "ResizablePMCArray"
@@ -13011,7 +13012,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<->"  :subid("266_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "prefix:sym<->"  :subid("266_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1075_tgt
     .local int rx1075_pos
@@ -13101,7 +13102,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<->"  :subid("267_1275803252.45257") :method
+.sub "!PREFIX__prefix:sym<->"  :subid("267_1275805952.10494") :method
 .annotate 'line', 446
     new $P1077, "ResizablePMCArray"
     push $P1077, "-"
@@ -13110,7 +13111,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<?>"  :subid("268_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "prefix:sym<?>"  :subid("268_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1081_tgt
     .local int rx1081_pos
@@ -13190,7 +13191,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<?>"  :subid("269_1275803252.45257") :method
+.sub "!PREFIX__prefix:sym<?>"  :subid("269_1275805952.10494") :method
 .annotate 'line', 446
     $P1083 = self."!PREFIX__!subrule"("O", "?")
     new $P1084, "ResizablePMCArray"
@@ -13200,7 +13201,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<!>"  :subid("270_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "prefix:sym<!>"  :subid("270_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1088_tgt
     .local int rx1088_pos
@@ -13280,7 +13281,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<!>"  :subid("271_1275803252.45257") :method
+.sub "!PREFIX__prefix:sym<!>"  :subid("271_1275805952.10494") :method
 .annotate 'line', 446
     $P1090 = self."!PREFIX__!subrule"("O", "!")
     new $P1091, "ResizablePMCArray"
@@ -13290,7 +13291,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<|>"  :subid("272_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "prefix:sym<|>"  :subid("272_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1095_tgt
     .local int rx1095_pos
@@ -13370,7 +13371,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<|>"  :subid("273_1275803252.45257") :method
+.sub "!PREFIX__prefix:sym<|>"  :subid("273_1275805952.10494") :method
 .annotate 'line', 446
     $P1097 = self."!PREFIX__!subrule"("O", "|")
     new $P1098, "ResizablePMCArray"
@@ -13380,7 +13381,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<*>"  :subid("274_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<*>"  :subid("274_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1102_tgt
     .local int rx1102_pos
@@ -13460,7 +13461,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<*>"  :subid("275_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<*>"  :subid("275_1275805952.10494") :method
 .annotate 'line', 446
     $P1104 = self."!PREFIX__!subrule"("O", "*")
     new $P1105, "ResizablePMCArray"
@@ -13470,7 +13471,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym</>"  :subid("276_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym</>"  :subid("276_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1109_tgt
     .local int rx1109_pos
@@ -13550,7 +13551,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym</>"  :subid("277_1275803252.45257") :method
+.sub "!PREFIX__infix:sym</>"  :subid("277_1275805952.10494") :method
 .annotate 'line', 446
     $P1111 = self."!PREFIX__!subrule"("O", "/")
     new $P1112, "ResizablePMCArray"
@@ -13560,7 +13561,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<%>"  :subid("278_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<%>"  :subid("278_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1116_tgt
     .local int rx1116_pos
@@ -13640,7 +13641,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<%>"  :subid("279_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<%>"  :subid("279_1275805952.10494") :method
 .annotate 'line', 446
     $P1118 = self."!PREFIX__!subrule"("O", "%")
     new $P1119, "ResizablePMCArray"
@@ -13650,7 +13651,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<+>"  :subid("280_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<+>"  :subid("280_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1123_tgt
     .local int rx1123_pos
@@ -13730,7 +13731,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+>"  :subid("281_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<+>"  :subid("281_1275805952.10494") :method
 .annotate 'line', 446
     $P1125 = self."!PREFIX__!subrule"("O", "+")
     new $P1126, "ResizablePMCArray"
@@ -13740,7 +13741,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<->"  :subid("282_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<->"  :subid("282_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1130_tgt
     .local int rx1130_pos
@@ -13820,7 +13821,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<->"  :subid("283_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<->"  :subid("283_1275805952.10494") :method
 .annotate 'line', 446
     $P1132 = self."!PREFIX__!subrule"("O", "-")
     new $P1133, "ResizablePMCArray"
@@ -13830,7 +13831,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~>"  :subid("284_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<~>"  :subid("284_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1137_tgt
     .local int rx1137_pos
@@ -13910,7 +13911,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~>"  :subid("285_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<~>"  :subid("285_1275805952.10494") :method
 .annotate 'line', 446
     $P1139 = self."!PREFIX__!subrule"("O", "~")
     new $P1140, "ResizablePMCArray"
@@ -13920,7 +13921,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<==>"  :subid("286_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<==>"  :subid("286_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1144_tgt
     .local int rx1144_pos
@@ -14000,7 +14001,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<==>"  :subid("287_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<==>"  :subid("287_1275805952.10494") :method
 .annotate 'line', 446
     $P1146 = self."!PREFIX__!subrule"("O", "==")
     new $P1147, "ResizablePMCArray"
@@ -14010,7 +14011,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<!=>"  :subid("288_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<!=>"  :subid("288_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1151_tgt
     .local int rx1151_pos
@@ -14090,7 +14091,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<!=>"  :subid("289_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<!=>"  :subid("289_1275805952.10494") :method
 .annotate 'line', 446
     $P1153 = self."!PREFIX__!subrule"("O", "!=")
     new $P1154, "ResizablePMCArray"
@@ -14100,7 +14101,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<=>"  :subid("290_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<<=>"  :subid("290_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1158_tgt
     .local int rx1158_pos
@@ -14180,7 +14181,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<=>"  :subid("291_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<<=>"  :subid("291_1275805952.10494") :method
 .annotate 'line', 446
     $P1160 = self."!PREFIX__!subrule"("O", "<=")
     new $P1161, "ResizablePMCArray"
@@ -14190,7 +14191,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>=>"  :subid("292_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<>=>"  :subid("292_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1165_tgt
     .local int rx1165_pos
@@ -14270,7 +14271,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>=>"  :subid("293_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<>=>"  :subid("293_1275805952.10494") :method
 .annotate 'line', 446
     $P1167 = self."!PREFIX__!subrule"("O", ">=")
     new $P1168, "ResizablePMCArray"
@@ -14280,7 +14281,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<>"  :subid("294_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<<>"  :subid("294_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1172_tgt
     .local int rx1172_pos
@@ -14360,7 +14361,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<>"  :subid("295_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<<>"  :subid("295_1275805952.10494") :method
 .annotate 'line', 446
     $P1174 = self."!PREFIX__!subrule"("O", "<")
     new $P1175, "ResizablePMCArray"
@@ -14370,7 +14371,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>>"  :subid("296_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<>>"  :subid("296_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1179_tgt
     .local int rx1179_pos
@@ -14450,7 +14451,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>>"  :subid("297_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<>>"  :subid("297_1275805952.10494") :method
 .annotate 'line', 446
     $P1181 = self."!PREFIX__!subrule"("O", ">")
     new $P1182, "ResizablePMCArray"
@@ -14460,7 +14461,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<eq>"  :subid("298_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<eq>"  :subid("298_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1186_tgt
     .local int rx1186_pos
@@ -14540,7 +14541,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<eq>"  :subid("299_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<eq>"  :subid("299_1275805952.10494") :method
 .annotate 'line', 446
     $P1188 = self."!PREFIX__!subrule"("O", "eq")
     new $P1189, "ResizablePMCArray"
@@ -14550,7 +14551,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ne>"  :subid("300_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<ne>"  :subid("300_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1193_tgt
     .local int rx1193_pos
@@ -14630,7 +14631,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ne>"  :subid("301_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<ne>"  :subid("301_1275805952.10494") :method
 .annotate 'line', 446
     $P1195 = self."!PREFIX__!subrule"("O", "ne")
     new $P1196, "ResizablePMCArray"
@@ -14640,7 +14641,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<le>"  :subid("302_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<le>"  :subid("302_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1200_tgt
     .local int rx1200_pos
@@ -14720,7 +14721,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<le>"  :subid("303_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<le>"  :subid("303_1275805952.10494") :method
 .annotate 'line', 446
     $P1202 = self."!PREFIX__!subrule"("O", "le")
     new $P1203, "ResizablePMCArray"
@@ -14730,7 +14731,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ge>"  :subid("304_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<ge>"  :subid("304_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1207_tgt
     .local int rx1207_pos
@@ -14810,7 +14811,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ge>"  :subid("305_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<ge>"  :subid("305_1275805952.10494") :method
 .annotate 'line', 446
     $P1209 = self."!PREFIX__!subrule"("O", "ge")
     new $P1210, "ResizablePMCArray"
@@ -14820,7 +14821,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<lt>"  :subid("306_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<lt>"  :subid("306_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1214_tgt
     .local int rx1214_pos
@@ -14900,7 +14901,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<lt>"  :subid("307_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<lt>"  :subid("307_1275805952.10494") :method
 .annotate 'line', 446
     $P1216 = self."!PREFIX__!subrule"("O", "lt")
     new $P1217, "ResizablePMCArray"
@@ -14910,7 +14911,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<gt>"  :subid("308_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<gt>"  :subid("308_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1221_tgt
     .local int rx1221_pos
@@ -14990,7 +14991,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<gt>"  :subid("309_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<gt>"  :subid("309_1275805952.10494") :method
 .annotate 'line', 446
     $P1223 = self."!PREFIX__!subrule"("O", "gt")
     new $P1224, "ResizablePMCArray"
@@ -15000,7 +15001,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=:=>"  :subid("310_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<=:=>"  :subid("310_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1228_tgt
     .local int rx1228_pos
@@ -15080,7 +15081,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=:=>"  :subid("311_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<=:=>"  :subid("311_1275805952.10494") :method
 .annotate 'line', 446
     $P1230 = self."!PREFIX__!subrule"("O", "=:=")
     new $P1231, "ResizablePMCArray"
@@ -15090,7 +15091,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~~>"  :subid("312_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<~~>"  :subid("312_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1235_tgt
     .local int rx1235_pos
@@ -15170,7 +15171,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~~>"  :subid("313_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<~~>"  :subid("313_1275805952.10494") :method
 .annotate 'line', 446
     $P1237 = self."!PREFIX__!subrule"("O", "~~")
     new $P1238, "ResizablePMCArray"
@@ -15180,7 +15181,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<&&>"  :subid("314_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<&&>"  :subid("314_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1242_tgt
     .local int rx1242_pos
@@ -15260,7 +15261,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<&&>"  :subid("315_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<&&>"  :subid("315_1275805952.10494") :method
 .annotate 'line', 446
     $P1244 = self."!PREFIX__!subrule"("O", "&&")
     new $P1245, "ResizablePMCArray"
@@ -15270,7 +15271,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<||>"  :subid("316_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<||>"  :subid("316_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1249_tgt
     .local int rx1249_pos
@@ -15350,7 +15351,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<||>"  :subid("317_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<||>"  :subid("317_1275805952.10494") :method
 .annotate 'line', 446
     $P1251 = self."!PREFIX__!subrule"("O", "||")
     new $P1252, "ResizablePMCArray"
@@ -15360,7 +15361,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<//>"  :subid("318_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<//>"  :subid("318_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1256_tgt
     .local int rx1256_pos
@@ -15440,7 +15441,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<//>"  :subid("319_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<//>"  :subid("319_1275805952.10494") :method
 .annotate 'line', 446
     $P1258 = self."!PREFIX__!subrule"("O", "//")
     new $P1259, "ResizablePMCArray"
@@ -15450,7 +15451,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<?? !!>"  :subid("320_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<?? !!>"  :subid("320_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1263_tgt
     .local int rx1263_pos
@@ -15540,7 +15541,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<?? !!>"  :subid("321_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<?? !!>"  :subid("321_1275805952.10494") :method
 .annotate 'line', 446
     $P1265 = self."!PREFIX__!subrule"("ws", "??")
     new $P1266, "ResizablePMCArray"
@@ -15550,7 +15551,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=>"  :subid("322_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<=>"  :subid("322_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1269_tgt
     .local int rx1269_pos
@@ -15629,7 +15630,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=>"  :subid("323_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<=>"  :subid("323_1275805952.10494") :method
 .annotate 'line', 446
     $P1271 = self."!PREFIX__!subrule"("panic", "=")
     new $P1272, "ResizablePMCArray"
@@ -15639,7 +15640,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<:=>"  :subid("324_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<:=>"  :subid("324_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1276_tgt
     .local int rx1276_pos
@@ -15719,7 +15720,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<:=>"  :subid("325_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<:=>"  :subid("325_1275805952.10494") :method
 .annotate 'line', 446
     $P1278 = self."!PREFIX__!subrule"("O", ":=")
     new $P1279, "ResizablePMCArray"
@@ -15729,7 +15730,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<::=>"  :subid("326_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<::=>"  :subid("326_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1283_tgt
     .local int rx1283_pos
@@ -15809,7 +15810,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<::=>"  :subid("327_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<::=>"  :subid("327_1275805952.10494") :method
 .annotate 'line', 446
     $P1285 = self."!PREFIX__!subrule"("O", "::=")
     new $P1286, "ResizablePMCArray"
@@ -15819,7 +15820,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<,>"  :subid("328_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "infix:sym<,>"  :subid("328_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1290_tgt
     .local int rx1290_pos
@@ -15899,7 +15900,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<,>"  :subid("329_1275803252.45257") :method
+.sub "!PREFIX__infix:sym<,>"  :subid("329_1275805952.10494") :method
 .annotate 'line', 446
     $P1292 = self."!PREFIX__!subrule"("O", ",")
     new $P1293, "ResizablePMCArray"
@@ -15909,7 +15910,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<return>"  :subid("330_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "prefix:sym<return>"  :subid("330_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1297_tgt
     .local int rx1297_pos
@@ -15995,7 +15996,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<return>"  :subid("331_1275803252.45257") :method
+.sub "!PREFIX__prefix:sym<return>"  :subid("331_1275805952.10494") :method
 .annotate 'line', 446
     new $P1299, "ResizablePMCArray"
     push $P1299, "return"
@@ -16004,7 +16005,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<make>"  :subid("332_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "prefix:sym<make>"  :subid("332_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1303_tgt
     .local int rx1303_pos
@@ -16090,7 +16091,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<make>"  :subid("333_1275803252.45257") :method
+.sub "!PREFIX__prefix:sym<make>"  :subid("333_1275805952.10494") :method
 .annotate 'line', 446
     new $P1305, "ResizablePMCArray"
     push $P1305, "make"
@@ -16099,7 +16100,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<last>"  :subid("334_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<last>"  :subid("334_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1309_tgt
     .local int rx1309_pos
@@ -16172,7 +16173,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<last>"  :subid("335_1275803252.45257") :method
+.sub "!PREFIX__term:sym<last>"  :subid("335_1275805952.10494") :method
 .annotate 'line', 446
     new $P1311, "ResizablePMCArray"
     push $P1311, "last"
@@ -16181,7 +16182,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<next>"  :subid("336_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<next>"  :subid("336_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1315_tgt
     .local int rx1315_pos
@@ -16254,7 +16255,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<next>"  :subid("337_1275803252.45257") :method
+.sub "!PREFIX__term:sym<next>"  :subid("337_1275805952.10494") :method
 .annotate 'line', 446
     new $P1317, "ResizablePMCArray"
     push $P1317, "next"
@@ -16263,7 +16264,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<redo>"  :subid("338_1275803252.45257") :method :outer("11_1275803252.45257")
+.sub "term:sym<redo>"  :subid("338_1275805952.10494") :method :outer("11_1275805952.10494")
 .annotate 'line', 446
     .local string rx1321_tgt
     .local int rx1321_pos
@@ -16336,7 +16337,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<redo>"  :subid("339_1275803252.45257") :method
+.sub "!PREFIX__term:sym<redo>"  :subid("339_1275805952.10494") :method
 .annotate 'line', 446
     new $P1323, "ResizablePMCArray"
     push $P1323, "redo"
@@ -16345,12 +16346,13 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "smartmatch"  :subid("340_1275803252.45257") :method :outer("11_1275803252.45257")
+.include "except_types.pasm"
+.sub "smartmatch"  :subid("340_1275805952.10494") :method :outer("11_1275805952.10494")
     .param pmc param_1329
 .annotate 'line', 557
     new $P1328, 'ExceptionHandler'
     set_addr $P1328, control_1327
-    $P1328."handle_types"(57)
+    $P1328."handle_types"(.CONTROL_RETURN)
     push_eh $P1328
     .lex "self", self
     .lex "$/", param_1329
@@ -16398,34 +16400,34 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1339"  :subid("341_1275803252.45257") :outer("11_1275803252.45257")
+.sub "_block1339"  :subid("341_1275805952.10494") :outer("11_1275805952.10494")
 .annotate 'line', 563
-    .const 'Sub' $P1397 = "360_1275803252.45257" 
+    .const 'Sub' $P1397 = "360_1275805952.10494" 
     capture_lex $P1397
-    .const 'Sub' $P1392 = "358_1275803252.45257" 
+    .const 'Sub' $P1392 = "358_1275805952.10494" 
     capture_lex $P1392
-    .const 'Sub' $P1379 = "355_1275803252.45257" 
+    .const 'Sub' $P1379 = "355_1275805952.10494" 
     capture_lex $P1379
-    .const 'Sub' $P1369 = "352_1275803252.45257" 
+    .const 'Sub' $P1369 = "352_1275805952.10494" 
     capture_lex $P1369
-    .const 'Sub' $P1364 = "350_1275803252.45257" 
+    .const 'Sub' $P1364 = "350_1275805952.10494" 
     capture_lex $P1364
-    .const 'Sub' $P1355 = "347_1275803252.45257" 
+    .const 'Sub' $P1355 = "347_1275805952.10494" 
     capture_lex $P1355
-    .const 'Sub' $P1350 = "345_1275803252.45257" 
+    .const 'Sub' $P1350 = "345_1275805952.10494" 
     capture_lex $P1350
-    .const 'Sub' $P1341 = "342_1275803252.45257" 
+    .const 'Sub' $P1341 = "342_1275805952.10494" 
     capture_lex $P1341
-    .const 'Sub' $P1397 = "360_1275803252.45257" 
+    .const 'Sub' $P1397 = "360_1275805952.10494" 
     capture_lex $P1397
     .return ($P1397)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<:my>"  :subid("342_1275803252.45257") :method :outer("341_1275803252.45257")
+.sub "metachar:sym<:my>"  :subid("342_1275805952.10494") :method :outer("341_1275805952.10494")
 .annotate 'line', 563
-    .const 'Sub' $P1347 = "344_1275803252.45257" 
+    .const 'Sub' $P1347 = "344_1275805952.10494" 
     capture_lex $P1347
     .local string rx1342_tgt
     .local int rx1342_pos
@@ -16467,7 +16469,7 @@
     add rx1342_pos, 1
   # rx subrule "before" subtype=zerowidth negate=
     rx1342_cur."!cursor_pos"(rx1342_pos)
-    .const 'Sub' $P1347 = "344_1275803252.45257" 
+    .const 'Sub' $P1347 = "344_1275805952.10494" 
     capture_lex $P1347
     $P10 = rx1342_cur."before"($P1347)
     unless $P10, rx1342_fail
@@ -16510,7 +16512,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<:my>"  :subid("343_1275803252.45257") :method
+.sub "!PREFIX__metachar:sym<:my>"  :subid("343_1275805952.10494") :method
 .annotate 'line', 563
     new $P1344, "ResizablePMCArray"
     push $P1344, ":"
@@ -16519,7 +16521,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1346"  :anon :subid("344_1275803252.45257") :method :outer("342_1275803252.45257")
+.sub "_block1346"  :anon :subid("344_1275805952.10494") :method :outer("342_1275805952.10494")
 .annotate 'line', 565
     .local string rx1348_tgt
     .local int rx1348_pos
@@ -16576,7 +16578,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<{ }>"  :subid("345_1275803252.45257") :method :outer("341_1275803252.45257")
+.sub "metachar:sym<{ }>"  :subid("345_1275805952.10494") :method :outer("341_1275805952.10494")
 .annotate 'line', 563
     .local string rx1351_tgt
     .local int rx1351_pos
@@ -16642,7 +16644,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<{ }>"  :subid("346_1275803252.45257") :method
+.sub "!PREFIX__metachar:sym<{ }>"  :subid("346_1275805952.10494") :method
 .annotate 'line', 563
     new $P1353, "ResizablePMCArray"
     push $P1353, "{"
@@ -16651,9 +16653,9 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<nqpvar>"  :subid("347_1275803252.45257") :method :outer("341_1275803252.45257")
+.sub "metachar:sym<nqpvar>"  :subid("347_1275805952.10494") :method :outer("341_1275805952.10494")
 .annotate 'line', 563
-    .const 'Sub' $P1361 = "349_1275803252.45257" 
+    .const 'Sub' $P1361 = "349_1275805952.10494" 
     capture_lex $P1361
     .local string rx1356_tgt
     .local int rx1356_pos
@@ -16694,7 +16696,7 @@
     lt $I11, 0, rx1356_fail
   # rx subrule "before" subtype=zerowidth negate=
     rx1356_cur."!cursor_pos"(rx1356_pos)
-    .const 'Sub' $P1361 = "349_1275803252.45257" 
+    .const 'Sub' $P1361 = "349_1275805952.10494" 
     capture_lex $P1361
     $P10 = rx1356_cur."before"($P1361)
     unless $P10, rx1356_fail
@@ -16725,7 +16727,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<nqpvar>"  :subid("348_1275803252.45257") :method
+.sub "!PREFIX__metachar:sym<nqpvar>"  :subid("348_1275805952.10494") :method
 .annotate 'line', 563
     new $P1358, "ResizablePMCArray"
     push $P1358, "$"
@@ -16735,7 +16737,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1360"  :anon :subid("349_1275803252.45257") :method :outer("347_1275803252.45257")
+.sub "_block1360"  :anon :subid("349_1275805952.10494") :method :outer("347_1275805952.10494")
 .annotate 'line', 573
     .local string rx1362_tgt
     .local int rx1362_pos
@@ -16794,7 +16796,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<{ }>"  :subid("350_1275803252.45257") :method :outer("341_1275803252.45257")
+.sub "assertion:sym<{ }>"  :subid("350_1275805952.10494") :method :outer("341_1275805952.10494")
 .annotate 'line', 563
     .local string rx1365_tgt
     .local int rx1365_pos
@@ -16860,7 +16862,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<{ }>"  :subid("351_1275803252.45257") :method
+.sub "!PREFIX__assertion:sym<{ }>"  :subid("351_1275805952.10494") :method
 .annotate 'line', 563
     new $P1367, "ResizablePMCArray"
     push $P1367, "{"
@@ -16869,9 +16871,9 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<?{ }>"  :subid("352_1275803252.45257") :method :outer("341_1275803252.45257")
+.sub "assertion:sym<?{ }>"  :subid("352_1275805952.10494") :method :outer("341_1275805952.10494")
 .annotate 'line', 563
-    .const 'Sub' $P1375 = "354_1275803252.45257" 
+    .const 'Sub' $P1375 = "354_1275805952.10494" 
     capture_lex $P1375
     .local string rx1370_tgt
     .local int rx1370_pos
@@ -16916,7 +16918,7 @@
     inc rx1370_pos
   # rx subrule "before" subtype=zerowidth negate=
     rx1370_cur."!cursor_pos"(rx1370_pos)
-    .const 'Sub' $P1375 = "354_1275803252.45257" 
+    .const 'Sub' $P1375 = "354_1275805952.10494" 
     capture_lex $P1375
     $P10 = rx1370_cur."before"($P1375)
     unless $P10, rx1370_fail
@@ -16958,7 +16960,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<?{ }>"  :subid("353_1275803252.45257") :method
+.sub "!PREFIX__assertion:sym<?{ }>"  :subid("353_1275805952.10494") :method
 .annotate 'line', 563
     new $P1372, "ResizablePMCArray"
     push $P1372, "!"
@@ -16968,7 +16970,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1374"  :anon :subid("354_1275803252.45257") :method :outer("352_1275803252.45257")
+.sub "_block1374"  :anon :subid("354_1275805952.10494") :method :outer("352_1275805952.10494")
 .annotate 'line', 581
     .local string rx1376_tgt
     .local int rx1376_pos
@@ -17025,9 +17027,9 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<name>"  :subid("355_1275803252.45257") :method :outer("341_1275803252.45257")
+.sub "assertion:sym<name>"  :subid("355_1275805952.10494") :method :outer("341_1275805952.10494")
 .annotate 'line', 563
-    .const 'Sub' $P1388 = "357_1275803252.45257" 
+    .const 'Sub' $P1388 = "357_1275805952.10494" 
     capture_lex $P1388
     .local string rx1380_tgt
     .local int rx1380_pos
@@ -17093,7 +17095,7 @@
 .annotate 'line', 587
   # rx subrule "before" subtype=zerowidth negate=
     rx1380_cur."!cursor_pos"(rx1380_pos)
-    .const 'Sub' $P1388 = "357_1275803252.45257" 
+    .const 'Sub' $P1388 = "357_1275805952.10494" 
     capture_lex $P1388
     $P10 = rx1380_cur."before"($P1388)
     unless $P10, rx1380_fail
@@ -17200,7 +17202,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("356_1275803252.45257") :method
+.sub "!PREFIX__assertion:sym<name>"  :subid("356_1275805952.10494") :method
 .annotate 'line', 563
     new $P1382, "ResizablePMCArray"
     push $P1382, ""
@@ -17209,7 +17211,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1387"  :anon :subid("357_1275803252.45257") :method :outer("355_1275803252.45257")
+.sub "_block1387"  :anon :subid("357_1275805952.10494") :method :outer("355_1275805952.10494")
 .annotate 'line', 587
     .local string rx1389_tgt
     .local int rx1389_pos
@@ -17266,7 +17268,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<var>"  :subid("358_1275803252.45257") :method :outer("341_1275803252.45257")
+.sub "assertion:sym<var>"  :subid("358_1275805952.10494") :method :outer("341_1275805952.10494")
 .annotate 'line', 563
     .local string rx1393_tgt
     .local int rx1393_pos
@@ -17332,7 +17334,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<var>"  :subid("359_1275803252.45257") :method
+.sub "!PREFIX__assertion:sym<var>"  :subid("359_1275805952.10494") :method
 .annotate 'line', 563
     new $P1395, "ResizablePMCArray"
     push $P1395, "$"
@@ -17342,7 +17344,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "codeblock"  :subid("360_1275803252.45257") :method :outer("341_1275803252.45257")
+.sub "codeblock"  :subid("360_1275805952.10494") :method :outer("341_1275805952.10494")
 .annotate 'line', 563
     .local string rx1398_tgt
     .local int rx1398_pos
@@ -17402,7 +17404,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__codeblock"  :subid("361_1275803252.45257") :method
+.sub "!PREFIX__codeblock"  :subid("361_1275805952.10494") :method
 .annotate 'line', 563
     $P1400 = self."!PREFIX__!subrule"("LANG", "")
     new $P1401, "ResizablePMCArray"
@@ -17412,18 +17414,18 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block1404" :load :anon :subid("362_1275803252.45257")
+.sub "_block1404" :load :anon :subid("362_1275805952.10494")
 .annotate 'line', 4
-    .const 'Sub' $P1406 = "11_1275803252.45257" 
+    .const 'Sub' $P1406 = "11_1275805952.10494" 
     $P1407 = $P1406()
     .return ($P1407)
 .end
 
 
 .namespace []
-.sub "_block1425" :load :anon :subid("363_1275803252.45257")
+.sub "_block1425" :load :anon :subid("363_1275805952.10494")
 .annotate 'line', 1
-    .const 'Sub' $P1427 = "10_1275803252.45257" 
+    .const 'Sub' $P1427 = "10_1275805952.10494" 
     $P1428 = $P1427()
     .return ($P1428)
 .end
@@ -17431,7 +17433,7 @@
 ### .include 'gen/nqp-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1275803262.0988")
+.sub "_block11"  :anon :subid("10_1275805961.69588")
 .annotate 'line', 0
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     capture_lex $P14
@@ -17448,15 +17450,15 @@
     $P2424 = $P14()
 .annotate 'line', 1
     .return ($P2424)
-    .const 'Sub' $P2426 = "143_1275803262.0988" 
+    .const 'Sub' $P2426 = "143_1275805961.69588" 
     .return ($P2426)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post144") :outer("10_1275803262.0988")
+.sub "" :load :init :subid("post144") :outer("10_1275805961.69588")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1275803262.0988" 
+    .const 'Sub' $P12 = "10_1275805961.69588" 
     .local pmc block
     set block, $P12
     $P2429 = get_root_global ["parrot"], "P6metaclass"
@@ -17465,217 +17467,217 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block13"  :subid("11_1275803262.0988") :outer("10_1275803262.0988")
+.sub "_block13"  :subid("11_1275805961.69588") :outer("10_1275805961.69588")
 .annotate 'line', 3
-    .const 'Sub' $P2420 = "142_1275803262.0988" 
+    .const 'Sub' $P2420 = "142_1275805961.69588" 
     capture_lex $P2420
     get_hll_global $P2303, ["NQP";"RegexActions"], "_block2302" 
     capture_lex $P2303
-    .const 'Sub' $P2292 = "132_1275803262.0988" 
+    .const 'Sub' $P2292 = "132_1275805961.69588" 
     capture_lex $P2292
-    .const 'Sub' $P2285 = "131_1275803262.0988" 
+    .const 'Sub' $P2285 = "131_1275805961.69588" 
     capture_lex $P2285
-    .const 'Sub' $P2278 = "130_1275803262.0988" 
+    .const 'Sub' $P2278 = "130_1275805961.69588" 
     capture_lex $P2278
-    .const 'Sub' $P2271 = "129_1275803262.0988" 
+    .const 'Sub' $P2271 = "129_1275805961.69588" 
     capture_lex $P2271
-    .const 'Sub' $P2258 = "128_1275803262.0988" 
+    .const 'Sub' $P2258 = "128_1275805961.69588" 
     capture_lex $P2258
-    .const 'Sub' $P2248 = "127_1275803262.0988" 
+    .const 'Sub' $P2248 = "127_1275805961.69588" 
     capture_lex $P2248
-    .const 'Sub' $P2238 = "126_1275803262.0988" 
+    .const 'Sub' $P2238 = "126_1275805961.69588" 
     capture_lex $P2238
-    .const 'Sub' $P2228 = "125_1275803262.0988" 
+    .const 'Sub' $P2228 = "125_1275805961.69588" 
     capture_lex $P2228
-    .const 'Sub' $P2221 = "124_1275803262.0988" 
+    .const 'Sub' $P2221 = "124_1275805961.69588" 
     capture_lex $P2221
-    .const 'Sub' $P2207 = "123_1275803262.0988" 
+    .const 'Sub' $P2207 = "123_1275805961.69588" 
     capture_lex $P2207
-    .const 'Sub' $P2197 = "122_1275803262.0988" 
+    .const 'Sub' $P2197 = "122_1275805961.69588" 
     capture_lex $P2197
-    .const 'Sub' $P2160 = "121_1275803262.0988" 
+    .const 'Sub' $P2160 = "121_1275805961.69588" 
     capture_lex $P2160
-    .const 'Sub' $P2146 = "120_1275803262.0988" 
+    .const 'Sub' $P2146 = "120_1275805961.69588" 
     capture_lex $P2146
-    .const 'Sub' $P2136 = "119_1275803262.0988" 
+    .const 'Sub' $P2136 = "119_1275805961.69588" 
     capture_lex $P2136
-    .const 'Sub' $P2126 = "118_1275803262.0988" 
+    .const 'Sub' $P2126 = "118_1275805961.69588" 
     capture_lex $P2126
-    .const 'Sub' $P2116 = "117_1275803262.0988" 
+    .const 'Sub' $P2116 = "117_1275805961.69588" 
     capture_lex $P2116
-    .const 'Sub' $P2106 = "116_1275803262.0988" 
+    .const 'Sub' $P2106 = "116_1275805961.69588" 
     capture_lex $P2106
-    .const 'Sub' $P2096 = "115_1275803262.0988" 
+    .const 'Sub' $P2096 = "115_1275805961.69588" 
     capture_lex $P2096
-    .const 'Sub' $P2068 = "114_1275803262.0988" 
+    .const 'Sub' $P2068 = "114_1275805961.69588" 
     capture_lex $P2068
-    .const 'Sub' $P2051 = "113_1275803262.0988" 
+    .const 'Sub' $P2051 = "113_1275805961.69588" 
     capture_lex $P2051
-    .const 'Sub' $P2041 = "112_1275803262.0988" 
+    .const 'Sub' $P2041 = "112_1275805961.69588" 
     capture_lex $P2041
-    .const 'Sub' $P2028 = "111_1275803262.0988" 
+    .const 'Sub' $P2028 = "111_1275805961.69588" 
     capture_lex $P2028
-    .const 'Sub' $P2015 = "110_1275803262.0988" 
+    .const 'Sub' $P2015 = "110_1275805961.69588" 
     capture_lex $P2015
-    .const 'Sub' $P2002 = "109_1275803262.0988" 
+    .const 'Sub' $P2002 = "109_1275805961.69588" 
     capture_lex $P2002
-    .const 'Sub' $P1992 = "108_1275803262.0988" 
+    .const 'Sub' $P1992 = "108_1275805961.69588" 
     capture_lex $P1992
-    .const 'Sub' $P1963 = "107_1275803262.0988" 
+    .const 'Sub' $P1963 = "107_1275805961.69588" 
     capture_lex $P1963
-    .const 'Sub' $P1939 = "106_1275803262.0988" 
+    .const 'Sub' $P1939 = "106_1275805961.69588" 
     capture_lex $P1939
-    .const 'Sub' $P1929 = "105_1275803262.0988" 
+    .const 'Sub' $P1929 = "105_1275805961.69588" 
     capture_lex $P1929
-    .const 'Sub' $P1919 = "104_1275803262.0988" 
+    .const 'Sub' $P1919 = "104_1275805961.69588" 
     capture_lex $P1919
-    .const 'Sub' $P1892 = "103_1275803262.0988" 
+    .const 'Sub' $P1892 = "103_1275805961.69588" 
     capture_lex $P1892
-    .const 'Sub' $P1874 = "102_1275803262.0988" 
+    .const 'Sub' $P1874 = "102_1275805961.69588" 
     capture_lex $P1874
-    .const 'Sub' $P1864 = "101_1275803262.0988" 
+    .const 'Sub' $P1864 = "101_1275805961.69588" 
     capture_lex $P1864
-    .const 'Sub' $P1760 = "98_1275803262.0988" 
+    .const 'Sub' $P1760 = "98_1275805961.69588" 
     capture_lex $P1760
-    .const 'Sub' $P1750 = "97_1275803262.0988" 
+    .const 'Sub' $P1750 = "97_1275805961.69588" 
     capture_lex $P1750
-    .const 'Sub' $P1721 = "96_1275803262.0988" 
+    .const 'Sub' $P1721 = "96_1275805961.69588" 
     capture_lex $P1721
-    .const 'Sub' $P1679 = "95_1275803262.0988" 
+    .const 'Sub' $P1679 = "95_1275805961.69588" 
     capture_lex $P1679
-    .const 'Sub' $P1663 = "94_1275803262.0988" 
+    .const 'Sub' $P1663 = "94_1275805961.69588" 
     capture_lex $P1663
-    .const 'Sub' $P1654 = "93_1275803262.0988" 
+    .const 'Sub' $P1654 = "93_1275805961.69588" 
     capture_lex $P1654
-    .const 'Sub' $P1622 = "92_1275803262.0988" 
+    .const 'Sub' $P1622 = "92_1275805961.69588" 
     capture_lex $P1622
-    .const 'Sub' $P1523 = "89_1275803262.0988" 
+    .const 'Sub' $P1523 = "89_1275805961.69588" 
     capture_lex $P1523
-    .const 'Sub' $P1506 = "88_1275803262.0988" 
+    .const 'Sub' $P1506 = "88_1275805961.69588" 
     capture_lex $P1506
-    .const 'Sub' $P1486 = "87_1275803262.0988" 
+    .const 'Sub' $P1486 = "87_1275805961.69588" 
     capture_lex $P1486
-    .const 'Sub' $P1374 = "84_1275803262.0988" 
+    .const 'Sub' $P1374 = "84_1275805961.69588" 
     capture_lex $P1374
-    .const 'Sub' $P1317 = "80_1275803262.0988" 
+    .const 'Sub' $P1317 = "80_1275805961.69588" 
     capture_lex $P1317
-    .const 'Sub' $P1277 = "78_1275803262.0988" 
+    .const 'Sub' $P1277 = "78_1275805961.69588" 
     capture_lex $P1277
-    .const 'Sub' $P1227 = "76_1275803262.0988" 
+    .const 'Sub' $P1227 = "76_1275805961.69588" 
     capture_lex $P1227
-    .const 'Sub' $P1217 = "75_1275803262.0988" 
+    .const 'Sub' $P1217 = "75_1275805961.69588" 
     capture_lex $P1217
-    .const 'Sub' $P1207 = "74_1275803262.0988" 
+    .const 'Sub' $P1207 = "74_1275805961.69588" 
     capture_lex $P1207
-    .const 'Sub' $P1136 = "72_1275803262.0988" 
+    .const 'Sub' $P1136 = "72_1275805961.69588" 
     capture_lex $P1136
-    .const 'Sub' $P1126 = "71_1275803262.0988" 
+    .const 'Sub' $P1126 = "71_1275805961.69588" 
     capture_lex $P1126
-    .const 'Sub' $P1109 = "70_1275803262.0988" 
+    .const 'Sub' $P1109 = "70_1275805961.69588" 
     capture_lex $P1109
-    .const 'Sub' $P1092 = "69_1275803262.0988" 
+    .const 'Sub' $P1092 = "69_1275805961.69588" 
     capture_lex $P1092
-    .const 'Sub' $P1075 = "68_1275803262.0988" 
+    .const 'Sub' $P1075 = "68_1275805961.69588" 
     capture_lex $P1075
-    .const 'Sub' $P1065 = "67_1275803262.0988" 
+    .const 'Sub' $P1065 = "67_1275805961.69588" 
     capture_lex $P1065
-    .const 'Sub' $P1055 = "66_1275803262.0988" 
+    .const 'Sub' $P1055 = "66_1275805961.69588" 
     capture_lex $P1055
-    .const 'Sub' $P1045 = "65_1275803262.0988" 
+    .const 'Sub' $P1045 = "65_1275805961.69588" 
     capture_lex $P1045
-    .const 'Sub' $P1021 = "64_1275803262.0988" 
+    .const 'Sub' $P1021 = "64_1275805961.69588" 
     capture_lex $P1021
-    .const 'Sub' $P968 = "63_1275803262.0988" 
+    .const 'Sub' $P968 = "63_1275805961.69588" 
     capture_lex $P968
-    .const 'Sub' $P958 = "62_1275803262.0988" 
+    .const 'Sub' $P958 = "62_1275805961.69588" 
     capture_lex $P958
-    .const 'Sub' $P869 = "60_1275803262.0988" 
+    .const 'Sub' $P869 = "60_1275805961.69588" 
     capture_lex $P869
-    .const 'Sub' $P843 = "59_1275803262.0988" 
+    .const 'Sub' $P843 = "59_1275805961.69588" 
     capture_lex $P843
-    .const 'Sub' $P827 = "58_1275803262.0988" 
+    .const 'Sub' $P827 = "58_1275805961.69588" 
     capture_lex $P827
-    .const 'Sub' $P817 = "57_1275803262.0988" 
+    .const 'Sub' $P817 = "57_1275805961.69588" 
     capture_lex $P817
-    .const 'Sub' $P807 = "56_1275803262.0988" 
+    .const 'Sub' $P807 = "56_1275805961.69588" 
     capture_lex $P807
-    .const 'Sub' $P797 = "55_1275803262.0988" 
+    .const 'Sub' $P797 = "55_1275805961.69588" 
     capture_lex $P797
-    .const 'Sub' $P787 = "54_1275803262.0988" 
+    .const 'Sub' $P787 = "54_1275805961.69588" 
     capture_lex $P787
-    .const 'Sub' $P777 = "53_1275803262.0988" 
+    .const 'Sub' $P777 = "53_1275805961.69588" 
     capture_lex $P777
-    .const 'Sub' $P767 = "52_1275803262.0988" 
+    .const 'Sub' $P767 = "52_1275805961.69588" 
     capture_lex $P767
-    .const 'Sub' $P757 = "51_1275803262.0988" 
+    .const 'Sub' $P757 = "51_1275805961.69588" 
     capture_lex $P757
-    .const 'Sub' $P747 = "50_1275803262.0988" 
+    .const 'Sub' $P747 = "50_1275805961.69588" 
     capture_lex $P747
-    .const 'Sub' $P737 = "49_1275803262.0988" 
+    .const 'Sub' $P737 = "49_1275805961.69588" 
     capture_lex $P737
-    .const 'Sub' $P727 = "48_1275803262.0988" 
+    .const 'Sub' $P727 = "48_1275805961.69588" 
     capture_lex $P727
-    .const 'Sub' $P717 = "47_1275803262.0988" 
+    .const 'Sub' $P717 = "47_1275805961.69588" 
     capture_lex $P717
-    .const 'Sub' $P707 = "46_1275803262.0988" 
+    .const 'Sub' $P707 = "46_1275805961.69588" 
     capture_lex $P707
-    .const 'Sub' $P697 = "45_1275803262.0988" 
+    .const 'Sub' $P697 = "45_1275805961.69588" 
     capture_lex $P697
-    .const 'Sub' $P679 = "44_1275803262.0988" 
+    .const 'Sub' $P679 = "44_1275805961.69588" 
     capture_lex $P679
-    .const 'Sub' $P644 = "43_1275803262.0988" 
+    .const 'Sub' $P644 = "43_1275805961.69588" 
     capture_lex $P644
-    .const 'Sub' $P628 = "42_1275803262.0988" 
+    .const 'Sub' $P628 = "42_1275805961.69588" 
     capture_lex $P628
-    .const 'Sub' $P607 = "41_1275803262.0988" 
+    .const 'Sub' $P607 = "41_1275805961.69588" 
     capture_lex $P607
-    .const 'Sub' $P587 = "40_1275803262.0988" 
+    .const 'Sub' $P587 = "40_1275805961.69588" 
     capture_lex $P587
-    .const 'Sub' $P574 = "39_1275803262.0988" 
+    .const 'Sub' $P574 = "39_1275805961.69588" 
     capture_lex $P574
-    .const 'Sub' $P548 = "38_1275803262.0988" 
+    .const 'Sub' $P548 = "38_1275805961.69588" 
     capture_lex $P548
-    .const 'Sub' $P512 = "37_1275803262.0988" 
+    .const 'Sub' $P512 = "37_1275805961.69588" 
     capture_lex $P512
-    .const 'Sub' $P495 = "36_1275803262.0988" 
+    .const 'Sub' $P495 = "36_1275805961.69588" 
     capture_lex $P495
-    .const 'Sub' $P481 = "35_1275803262.0988" 
+    .const 'Sub' $P481 = "35_1275805961.69588" 
     capture_lex $P481
-    .const 'Sub' $P428 = "33_1275803262.0988" 
+    .const 'Sub' $P428 = "33_1275805961.69588" 
     capture_lex $P428
-    .const 'Sub' $P417 = "32_1275803262.0988" 
+    .const 'Sub' $P417 = "32_1275805961.69588" 
     capture_lex $P417
-    .const 'Sub' $P404 = "31_1275803262.0988" 
+    .const 'Sub' $P404 = "31_1275805961.69588" 
     capture_lex $P404
-    .const 'Sub' $P384 = "30_1275803262.0988" 
+    .const 'Sub' $P384 = "30_1275805961.69588" 
     capture_lex $P384
-    .const 'Sub' $P374 = "29_1275803262.0988" 
+    .const 'Sub' $P374 = "29_1275805961.69588" 
     capture_lex $P374
-    .const 'Sub' $P364 = "28_1275803262.0988" 
+    .const 'Sub' $P364 = "28_1275805961.69588" 
     capture_lex $P364
-    .const 'Sub' $P348 = "27_1275803262.0988" 
+    .const 'Sub' $P348 = "27_1275805961.69588" 
     capture_lex $P348
-    .const 'Sub' $P288 = "25_1275803262.0988" 
+    .const 'Sub' $P288 = "25_1275805961.69588" 
     capture_lex $P288
-    .const 'Sub' $P245 = "23_1275803262.0988" 
+    .const 'Sub' $P245 = "23_1275805961.69588" 
     capture_lex $P245
-    .const 'Sub' $P213 = "22_1275803262.0988" 
+    .const 'Sub' $P213 = "22_1275805961.69588" 
     capture_lex $P213
-    .const 'Sub' $P180 = "21_1275803262.0988" 
+    .const 'Sub' $P180 = "21_1275805961.69588" 
     capture_lex $P180
-    .const 'Sub' $P170 = "20_1275803262.0988" 
+    .const 'Sub' $P170 = "20_1275805961.69588" 
     capture_lex $P170
-    .const 'Sub' $P151 = "19_1275803262.0988" 
+    .const 'Sub' $P151 = "19_1275805961.69588" 
     capture_lex $P151
-    .const 'Sub' $P100 = "18_1275803262.0988" 
+    .const 'Sub' $P100 = "18_1275805961.69588" 
     capture_lex $P100
-    .const 'Sub' $P84 = "17_1275803262.0988" 
+    .const 'Sub' $P84 = "17_1275805961.69588" 
     capture_lex $P84
-    .const 'Sub' $P63 = "16_1275803262.0988" 
+    .const 'Sub' $P63 = "16_1275805961.69588" 
     capture_lex $P63
-    .const 'Sub' $P27 = "13_1275803262.0988" 
+    .const 'Sub' $P27 = "13_1275805961.69588" 
     capture_lex $P27
-    .const 'Sub' $P16 = "12_1275803262.0988" 
+    .const 'Sub' $P16 = "12_1275805961.69588" 
     capture_lex $P16
     get_global $P15, "@BLOCK"
     unless_null $P15, vivify_147
@@ -17683,27 +17685,27 @@
     set_global "@BLOCK", $P15
   vivify_147:
 .annotate 'line', 9
-    .const 'Sub' $P16 = "12_1275803262.0988" 
+    .const 'Sub' $P16 = "12_1275805961.69588" 
     newclosure $P26, $P16
     .lex "xblock_immediate", $P26
 .annotate 'line', 14
-    .const 'Sub' $P27 = "13_1275803262.0988" 
+    .const 'Sub' $P27 = "13_1275805961.69588" 
     newclosure $P62, $P27
     .lex "block_immediate", $P62
 .annotate 'line', 24
-    .const 'Sub' $P63 = "16_1275803262.0988" 
+    .const 'Sub' $P63 = "16_1275805961.69588" 
     newclosure $P83, $P63
     .lex "vivitype", $P83
 .annotate 'line', 43
-    .const 'Sub' $P84 = "17_1275803262.0988" 
+    .const 'Sub' $P84 = "17_1275805961.69588" 
     newclosure $P99, $P84
     .lex "colonpair_str", $P99
 .annotate 'line', 213
-    .const 'Sub' $P100 = "18_1275803262.0988" 
+    .const 'Sub' $P100 = "18_1275805961.69588" 
     newclosure $P150, $P100
     .lex "push_block_handler", $P150
 .annotate 'line', 822
-    .const 'Sub' $P151 = "19_1275803262.0988" 
+    .const 'Sub' $P151 = "19_1275805961.69588" 
     newclosure $P165, $P151
     .lex "control", $P165
 .annotate 'line', 3
@@ -17730,19 +17732,19 @@
     $P2414 = $P2303()
 .annotate 'line', 3
     .return ($P2414)
-    .const 'Sub' $P2416 = "141_1275803262.0988" 
+    .const 'Sub' $P2416 = "141_1275805961.69588" 
     .return ($P2416)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "" :load :init :subid("post145") :outer("11_1275803262.0988")
+.sub "" :load :init :subid("post145") :outer("11_1275805961.69588")
 .annotate 'line', 3
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     .local pmc block
     set block, $P14
 .annotate 'line', 5
-    .const 'Sub' $P2420 = "142_1275803262.0988" 
+    .const 'Sub' $P2420 = "142_1275805961.69588" 
     capture_lex $P2420
     $P2420()
     $P2423 = get_root_global ["parrot"], "P6metaclass"
@@ -17751,7 +17753,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block2419"  :anon :subid("142_1275803262.0988") :outer("11_1275803262.0988")
+.sub "_block2419"  :anon :subid("142_1275805961.69588") :outer("11_1275805961.69588")
 .annotate 'line', 6
     get_global $P2421, "@BLOCK"
     unless_null $P2421, vivify_146
@@ -17766,12 +17768,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "xblock_immediate"  :subid("12_1275803262.0988") :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "xblock_immediate"  :subid("12_1275805961.69588") :outer("11_1275805961.69588")
     .param pmc param_19
 .annotate 'line', 9
     new $P18, 'ExceptionHandler'
     set_addr $P18, control_17
-    $P18."handle_types"(57)
+    $P18."handle_types"(.CONTROL_RETURN)
     push_eh $P18
     .lex "$xblock", param_19
 .annotate 'line', 10
@@ -17802,14 +17805,15 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "block_immediate"  :subid("13_1275803262.0988") :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "block_immediate"  :subid("13_1275805961.69588") :outer("11_1275805961.69588")
     .param pmc param_30
 .annotate 'line', 14
-    .const 'Sub' $P40 = "14_1275803262.0988" 
+    .const 'Sub' $P40 = "14_1275805961.69588" 
     capture_lex $P40
     new $P29, 'ExceptionHandler'
     set_addr $P29, control_28
-    $P29."handle_types"(57)
+    $P29."handle_types"(.CONTROL_RETURN)
     push_eh $P29
     .lex "$block", param_30
 .annotate 'line', 15
@@ -17827,7 +17831,7 @@
     set $P33, $P38
   unless_34_end:
     if $P33, unless_32_end
-    .const 'Sub' $P40 = "14_1275803262.0988" 
+    .const 'Sub' $P40 = "14_1275805961.69588" 
     capture_lex $P40
     $P40()
   unless_32_end:
@@ -17843,9 +17847,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block39"  :anon :subid("14_1275803262.0988") :outer("13_1275803262.0988")
+.include "except_types.pasm"
+.sub "_block39"  :anon :subid("14_1275805961.69588") :outer("13_1275805961.69588")
 .annotate 'line', 16
-    .const 'Sub' $P51 = "15_1275803262.0988" 
+    .const 'Sub' $P51 = "15_1275805961.69588" 
     capture_lex $P51
 .annotate 'line', 17
     new $P41, "Undef"
@@ -17862,13 +17867,13 @@
     iter $P45, $P47
     new $P57, 'ExceptionHandler'
     set_addr $P57, loop56_handler
-    $P57."handle_types"(64, 66, 65)
+    $P57."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P57
   loop56_test:
     unless $P45, loop56_done
     shift $P49, $P45
   loop56_redo:
-    .const 'Sub' $P51 = "15_1275803262.0988" 
+    .const 'Sub' $P51 = "15_1275805961.69588" 
     capture_lex $P51
     $P51($P49)
   loop56_next:
@@ -17877,8 +17882,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P58, exception, 'type'
-    eq $P58, 64, loop56_next
-    eq $P58, 66, loop56_redo
+    eq $P58, .CONTROL_LOOP_NEXT, loop56_next
+    eq $P58, .CONTROL_LOOP_REDO, loop56_redo
   loop56_done:
     pop_eh 
   for_undef_151:
@@ -17891,7 +17896,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block50"  :anon :subid("15_1275803262.0988") :outer("14_1275803262.0988")
+.sub "_block50"  :anon :subid("15_1275805961.69588") :outer("14_1275805961.69588")
     .param pmc param_52
 .annotate 'line', 18
     .lex "$_", param_52
@@ -17903,12 +17908,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "vivitype"  :subid("16_1275803262.0988") :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "vivitype"  :subid("16_1275805961.69588") :outer("11_1275805961.69588")
     .param pmc param_66
 .annotate 'line', 24
     new $P65, 'ExceptionHandler'
     set_addr $P65, control_64
-    $P65."handle_types"(57)
+    $P65."handle_types"(.CONTROL_RETURN)
     push_eh $P65
     .lex "$sigil", param_66
 .annotate 'line', 25
@@ -17951,12 +17957,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "colonpair_str"  :subid("17_1275803262.0988") :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "colonpair_str"  :subid("17_1275805961.69588") :outer("11_1275805961.69588")
     .param pmc param_87
 .annotate 'line', 43
     new $P86, 'ExceptionHandler'
     set_addr $P86, control_85
-    $P86."handle_types"(57)
+    $P86."handle_types"(.CONTROL_RETURN)
     push_eh $P86
     .lex "$ast", param_87
 .annotate 'line', 44
@@ -17989,13 +17996,14 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "push_block_handler"  :subid("18_1275803262.0988") :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "push_block_handler"  :subid("18_1275805961.69588") :outer("11_1275805961.69588")
     .param pmc param_103
     .param pmc param_104
 .annotate 'line', 213
     new $P102, 'ExceptionHandler'
     set_addr $P102, control_101
-    $P102."handle_types"(57)
+    $P102."handle_types"(.CONTROL_RETURN)
     push_eh $P102
     .lex "$/", param_103
     .lex "$block", param_104
@@ -18106,13 +18114,14 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "control"  :subid("19_1275803262.0988") :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "control"  :subid("19_1275805961.69588") :outer("11_1275805961.69588")
     .param pmc param_154
     .param pmc param_155
 .annotate 'line', 822
     new $P153, 'ExceptionHandler'
     set_addr $P153, control_152
-    $P153."handle_types"(57)
+    $P153."handle_types"(.CONTROL_RETURN)
     push_eh $P153
     .lex "$/", param_154
     .lex "$type", param_155
@@ -18138,12 +18147,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "TOP"  :subid("20_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "TOP"  :subid("20_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_173
 .annotate 'line', 33
     new $P172, 'ExceptionHandler'
     set_addr $P172, control_171
-    $P172."handle_types"(57)
+    $P172."handle_types"(.CONTROL_RETURN)
     push_eh $P172
     .lex "self", self
     .lex "$/", param_173
@@ -18168,12 +18178,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "deflongname"  :subid("21_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "deflongname"  :subid("21_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_183
 .annotate 'line', 35
     new $P182, 'ExceptionHandler'
     set_addr $P182, control_181
-    $P182."handle_types"(57)
+    $P182."handle_types"(.CONTROL_RETURN)
     push_eh $P182
     .lex "self", self
     .lex "$/", param_183
@@ -18257,12 +18268,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "comp_unit"  :subid("22_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "comp_unit"  :subid("22_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_216
 .annotate 'line', 49
     new $P215, 'ExceptionHandler'
     set_addr $P215, control_214
-    $P215."handle_types"(57)
+    $P215."handle_types"(.CONTROL_RETURN)
     push_eh $P215
     .lex "self", self
     .lex "$/", param_216
@@ -18331,14 +18343,15 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statementlist"  :subid("23_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statementlist"  :subid("23_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_248
 .annotate 'line', 76
-    .const 'Sub' $P262 = "24_1275803262.0988" 
+    .const 'Sub' $P262 = "24_1275805961.69588" 
     capture_lex $P262
     new $P247, 'ExceptionHandler'
     set_addr $P247, control_246
-    $P247."handle_types"(57)
+    $P247."handle_types"(.CONTROL_RETURN)
     push_eh $P247
     .lex "self", self
     .lex "$/", param_248
@@ -18373,13 +18386,13 @@
     iter $P256, $P258
     new $P282, 'ExceptionHandler'
     set_addr $P282, loop281_handler
-    $P282."handle_types"(64, 66, 65)
+    $P282."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P282
   loop281_test:
     unless $P256, loop281_done
     shift $P260, $P256
   loop281_redo:
-    .const 'Sub' $P262 = "24_1275803262.0988" 
+    .const 'Sub' $P262 = "24_1275805961.69588" 
     capture_lex $P262
     $P262($P260)
   loop281_next:
@@ -18388,8 +18401,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P283, exception, 'type'
-    eq $P283, 64, loop281_next
-    eq $P283, 66, loop281_redo
+    eq $P283, .CONTROL_LOOP_NEXT, loop281_next
+    eq $P283, .CONTROL_LOOP_REDO, loop281_redo
   loop281_done:
     pop_eh 
   for_undef_176:
@@ -18409,7 +18422,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block261"  :anon :subid("24_1275803262.0988") :outer("23_1275803262.0988")
+.sub "_block261"  :anon :subid("24_1275805961.69588") :outer("23_1275805961.69588")
     .param pmc param_264
 .annotate 'line', 80
     new $P263, "Undef"
@@ -18463,16 +18476,17 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement"  :subid("25_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statement"  :subid("25_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_291
     .param pmc param_292 :optional
     .param int has_param_292 :opt_flag
 .annotate 'line', 89
-    .const 'Sub' $P300 = "26_1275803262.0988" 
+    .const 'Sub' $P300 = "26_1275805961.69588" 
     capture_lex $P300
     new $P290, 'ExceptionHandler'
     set_addr $P290, control_289
-    $P290."handle_types"(57)
+    $P290."handle_types"(.CONTROL_RETURN)
     push_eh $P290
     .lex "self", self
     .lex "$/", param_291
@@ -18527,7 +18541,7 @@
     goto if_296_end
   if_296:
 .annotate 'line', 91
-    .const 'Sub' $P300 = "26_1275803262.0988" 
+    .const 'Sub' $P300 = "26_1275805961.69588" 
     capture_lex $P300
     $P300()
   if_296_end:
@@ -18546,7 +18560,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block299"  :anon :subid("26_1275803262.0988") :outer("25_1275803262.0988")
+.sub "_block299"  :anon :subid("26_1275805961.69588") :outer("25_1275805961.69588")
 .annotate 'line', 92
     new $P301, "Undef"
     .lex "$mc", $P301
@@ -18659,12 +18673,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "xblock"  :subid("27_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "xblock"  :subid("27_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_351
 .annotate 'line', 107
     new $P350, 'ExceptionHandler'
     set_addr $P350, control_349
-    $P350."handle_types"(57)
+    $P350."handle_types"(.CONTROL_RETURN)
     push_eh $P350
     .lex "self", self
     .lex "$/", param_351
@@ -18703,12 +18718,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "pblock"  :subid("28_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "pblock"  :subid("28_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_367
 .annotate 'line', 111
     new $P366, 'ExceptionHandler'
     set_addr $P366, control_365
-    $P366."handle_types"(57)
+    $P366."handle_types"(.CONTROL_RETURN)
     push_eh $P366
     .lex "self", self
     .lex "$/", param_367
@@ -18735,12 +18751,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "block"  :subid("29_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "block"  :subid("29_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_377
 .annotate 'line', 115
     new $P376, 'ExceptionHandler'
     set_addr $P376, control_375
-    $P376."handle_types"(57)
+    $P376."handle_types"(.CONTROL_RETURN)
     push_eh $P376
     .lex "self", self
     .lex "$/", param_377
@@ -18767,12 +18784,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "blockoid"  :subid("30_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "blockoid"  :subid("30_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_387
 .annotate 'line', 119
     new $P386, 'ExceptionHandler'
     set_addr $P386, control_385
-    $P386."handle_types"(57)
+    $P386."handle_types"(.CONTROL_RETURN)
     push_eh $P386
     .lex "self", self
     .lex "$/", param_387
@@ -18823,12 +18841,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "newpad"  :subid("31_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "newpad"  :subid("31_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_407
 .annotate 'line', 128
     new $P406, 'ExceptionHandler'
     set_addr $P406, control_405
-    $P406."handle_types"(57)
+    $P406."handle_types"(.CONTROL_RETURN)
     push_eh $P406
     .lex "self", self
     .lex "$/", param_407
@@ -18858,12 +18877,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "outerctx"  :subid("32_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "outerctx"  :subid("32_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_420
 .annotate 'line', 133
     new $P419, 'ExceptionHandler'
     set_addr $P419, control_418
-    $P419."handle_types"(57)
+    $P419."handle_types"(.CONTROL_RETURN)
     push_eh $P419
     .lex "self", self
     .lex "$/", param_420
@@ -18897,14 +18917,15 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<if>"  :subid("33_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statement_control:sym<if>"  :subid("33_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_431
 .annotate 'line', 140
-    .const 'Sub' $P459 = "34_1275803262.0988" 
+    .const 'Sub' $P459 = "34_1275805961.69588" 
     capture_lex $P459
     new $P430, 'ExceptionHandler'
     set_addr $P430, control_429
-    $P430."handle_types"(57)
+    $P430."handle_types"(.CONTROL_RETURN)
     push_eh $P430
     .lex "self", self
     .lex "$/", param_431
@@ -18977,7 +18998,7 @@
 .annotate 'line', 147
     new $P475, 'ExceptionHandler'
     set_addr $P475, loop474_handler
-    $P475."handle_types"(64, 66, 65)
+    $P475."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P475
   loop474_test:
     find_lex $P455, "$count"
@@ -18985,7 +19006,7 @@
     isgt $I457, $N456, 0.0
     unless $I457, loop474_done
   loop474_redo:
-    .const 'Sub' $P459 = "34_1275803262.0988" 
+    .const 'Sub' $P459 = "34_1275805961.69588" 
     capture_lex $P459
     $P459()
   loop474_next:
@@ -18994,8 +19015,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P476, exception, 'type'
-    eq $P476, 64, loop474_next
-    eq $P476, 66, loop474_redo
+    eq $P476, .CONTROL_LOOP_NEXT, loop474_next
+    eq $P476, .CONTROL_LOOP_REDO, loop474_redo
   loop474_done:
     pop_eh 
 .annotate 'line', 153
@@ -19013,7 +19034,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block458"  :anon :subid("34_1275803262.0988") :outer("33_1275803262.0988")
+.sub "_block458"  :anon :subid("34_1275805961.69588") :outer("33_1275805961.69588")
 .annotate 'line', 149
     new $P460, "Undef"
     .lex "$else", $P460
@@ -19052,12 +19073,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<unless>"  :subid("35_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statement_control:sym<unless>"  :subid("35_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_484
 .annotate 'line', 156
     new $P483, 'ExceptionHandler'
     set_addr $P483, control_482
-    $P483."handle_types"(57)
+    $P483."handle_types"(.CONTROL_RETURN)
     push_eh $P483
     .lex "self", self
     .lex "$/", param_484
@@ -19093,12 +19115,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<while>"  :subid("36_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statement_control:sym<while>"  :subid("36_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_498
 .annotate 'line', 162
     new $P497, 'ExceptionHandler'
     set_addr $P497, control_496
-    $P497."handle_types"(57)
+    $P497."handle_types"(.CONTROL_RETURN)
     push_eh $P497
     .lex "self", self
     .lex "$/", param_498
@@ -19143,12 +19166,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<repeat>"  :subid("37_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statement_control:sym<repeat>"  :subid("37_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_515
 .annotate 'line', 168
     new $P514, 'ExceptionHandler'
     set_addr $P514, control_513
-    $P514."handle_types"(57)
+    $P514."handle_types"(.CONTROL_RETURN)
     push_eh $P514
     .lex "self", self
     .lex "$/", param_515
@@ -19243,12 +19267,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<for>"  :subid("38_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statement_control:sym<for>"  :subid("38_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_551
 .annotate 'line', 182
     new $P550, 'ExceptionHandler'
     set_addr $P550, control_549
-    $P550."handle_types"(57)
+    $P550."handle_types"(.CONTROL_RETURN)
     push_eh $P550
     .lex "self", self
     .lex "$/", param_551
@@ -19323,12 +19348,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<return>"  :subid("39_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statement_control:sym<return>"  :subid("39_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_577
 .annotate 'line', 195
     new $P576, 'ExceptionHandler'
     set_addr $P576, control_575
-    $P576."handle_types"(57)
+    $P576."handle_types"(.CONTROL_RETURN)
     push_eh $P576
     .lex "self", self
     .lex "$/", param_577
@@ -19358,12 +19384,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CATCH>"  :subid("40_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statement_control:sym<CATCH>"  :subid("40_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_590
 .annotate 'line', 199
     new $P589, 'ExceptionHandler'
     set_addr $P589, control_588
-    $P589."handle_types"(57)
+    $P589."handle_types"(.CONTROL_RETURN)
     push_eh $P589
     .lex "self", self
     .lex "$/", param_590
@@ -19416,12 +19443,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CONTROL>"  :subid("41_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statement_control:sym<CONTROL>"  :subid("41_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_610
 .annotate 'line', 206
     new $P609, 'ExceptionHandler'
     set_addr $P609, control_608
-    $P609."handle_types"(57)
+    $P609."handle_types"(.CONTROL_RETURN)
     push_eh $P609
     .lex "self", self
     .lex "$/", param_610
@@ -19474,12 +19502,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<INIT>"  :subid("42_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statement_prefix:sym<INIT>"  :subid("42_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_631
 .annotate 'line', 250
     new $P630, 'ExceptionHandler'
     set_addr $P630, control_629
-    $P630."handle_types"(57)
+    $P630."handle_types"(.CONTROL_RETURN)
     push_eh $P630
     .lex "self", self
     .lex "$/", param_631
@@ -19520,12 +19549,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<try>"  :subid("43_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statement_prefix:sym<try>"  :subid("43_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_647
 .annotate 'line', 255
     new $P646, 'ExceptionHandler'
     set_addr $P646, control_645
-    $P646."handle_types"(57)
+    $P646."handle_types"(.CONTROL_RETURN)
     push_eh $P646
     .lex "self", self
     .lex "$/", param_647
@@ -19597,12 +19627,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "blorst"  :subid("44_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "blorst"  :subid("44_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_682
 .annotate 'line', 278
     new $P681, 'ExceptionHandler'
     set_addr $P681, control_680
-    $P681."handle_types"(57)
+    $P681."handle_types"(.CONTROL_RETURN)
     push_eh $P681
     .lex "self", self
     .lex "$/", param_682
@@ -19656,12 +19687,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<if>"  :subid("45_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statement_mod_cond:sym<if>"  :subid("45_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_700
 .annotate 'line', 286
     new $P699, 'ExceptionHandler'
     set_addr $P699, control_698
-    $P699."handle_types"(57)
+    $P699."handle_types"(.CONTROL_RETURN)
     push_eh $P699
     .lex "self", self
     .lex "$/", param_700
@@ -19686,12 +19718,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<unless>"  :subid("46_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statement_mod_cond:sym<unless>"  :subid("46_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_710
 .annotate 'line', 287
     new $P709, 'ExceptionHandler'
     set_addr $P709, control_708
-    $P709."handle_types"(57)
+    $P709."handle_types"(.CONTROL_RETURN)
     push_eh $P709
     .lex "self", self
     .lex "$/", param_710
@@ -19716,12 +19749,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<while>"  :subid("47_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statement_mod_loop:sym<while>"  :subid("47_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_720
 .annotate 'line', 289
     new $P719, 'ExceptionHandler'
     set_addr $P719, control_718
-    $P719."handle_types"(57)
+    $P719."handle_types"(.CONTROL_RETURN)
     push_eh $P719
     .lex "self", self
     .lex "$/", param_720
@@ -19746,12 +19780,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<until>"  :subid("48_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "statement_mod_loop:sym<until>"  :subid("48_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_730
 .annotate 'line', 290
     new $P729, 'ExceptionHandler'
     set_addr $P729, control_728
-    $P729."handle_types"(57)
+    $P729."handle_types"(.CONTROL_RETURN)
     push_eh $P729
     .lex "self", self
     .lex "$/", param_730
@@ -19776,12 +19811,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<fatarrow>"  :subid("49_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<fatarrow>"  :subid("49_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_740
 .annotate 'line', 294
     new $P739, 'ExceptionHandler'
     set_addr $P739, control_738
-    $P739."handle_types"(57)
+    $P739."handle_types"(.CONTROL_RETURN)
     push_eh $P739
     .lex "self", self
     .lex "$/", param_740
@@ -19806,12 +19842,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<colonpair>"  :subid("50_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<colonpair>"  :subid("50_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_750
 .annotate 'line', 295
     new $P749, 'ExceptionHandler'
     set_addr $P749, control_748
-    $P749."handle_types"(57)
+    $P749."handle_types"(.CONTROL_RETURN)
     push_eh $P749
     .lex "self", self
     .lex "$/", param_750
@@ -19836,12 +19873,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<variable>"  :subid("51_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<variable>"  :subid("51_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_760
 .annotate 'line', 296
     new $P759, 'ExceptionHandler'
     set_addr $P759, control_758
-    $P759."handle_types"(57)
+    $P759."handle_types"(.CONTROL_RETURN)
     push_eh $P759
     .lex "self", self
     .lex "$/", param_760
@@ -19866,12 +19904,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<package_declarator>"  :subid("52_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<package_declarator>"  :subid("52_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_770
 .annotate 'line', 297
     new $P769, 'ExceptionHandler'
     set_addr $P769, control_768
-    $P769."handle_types"(57)
+    $P769."handle_types"(.CONTROL_RETURN)
     push_eh $P769
     .lex "self", self
     .lex "$/", param_770
@@ -19896,12 +19935,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<scope_declarator>"  :subid("53_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<scope_declarator>"  :subid("53_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_780
 .annotate 'line', 298
     new $P779, 'ExceptionHandler'
     set_addr $P779, control_778
-    $P779."handle_types"(57)
+    $P779."handle_types"(.CONTROL_RETURN)
     push_eh $P779
     .lex "self", self
     .lex "$/", param_780
@@ -19926,12 +19966,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<routine_declarator>"  :subid("54_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<routine_declarator>"  :subid("54_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_790
 .annotate 'line', 299
     new $P789, 'ExceptionHandler'
     set_addr $P789, control_788
-    $P789."handle_types"(57)
+    $P789."handle_types"(.CONTROL_RETURN)
     push_eh $P789
     .lex "self", self
     .lex "$/", param_790
@@ -19956,12 +19997,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<regex_declarator>"  :subid("55_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<regex_declarator>"  :subid("55_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_800
 .annotate 'line', 300
     new $P799, 'ExceptionHandler'
     set_addr $P799, control_798
-    $P799."handle_types"(57)
+    $P799."handle_types"(.CONTROL_RETURN)
     push_eh $P799
     .lex "self", self
     .lex "$/", param_800
@@ -19986,12 +20028,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<statement_prefix>"  :subid("56_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<statement_prefix>"  :subid("56_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_810
 .annotate 'line', 301
     new $P809, 'ExceptionHandler'
     set_addr $P809, control_808
-    $P809."handle_types"(57)
+    $P809."handle_types"(.CONTROL_RETURN)
     push_eh $P809
     .lex "self", self
     .lex "$/", param_810
@@ -20016,12 +20059,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<lambda>"  :subid("57_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<lambda>"  :subid("57_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_820
 .annotate 'line', 302
     new $P819, 'ExceptionHandler'
     set_addr $P819, control_818
-    $P819."handle_types"(57)
+    $P819."handle_types"(.CONTROL_RETURN)
     push_eh $P819
     .lex "self", self
     .lex "$/", param_820
@@ -20046,12 +20090,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "fatarrow"  :subid("58_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "fatarrow"  :subid("58_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_830
 .annotate 'line', 304
     new $P829, 'ExceptionHandler'
     set_addr $P829, control_828
-    $P829."handle_types"(57)
+    $P829."handle_types"(.CONTROL_RETURN)
     push_eh $P829
     .lex "self", self
     .lex "$/", param_830
@@ -20095,12 +20140,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "colonpair"  :subid("59_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "colonpair"  :subid("59_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_846
 .annotate 'line', 310
     new $P845, 'ExceptionHandler'
     set_addr $P845, control_844
-    $P845."handle_types"(57)
+    $P845."handle_types"(.CONTROL_RETURN)
     push_eh $P845
     .lex "self", self
     .lex "$/", param_846
@@ -20176,14 +20222,15 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "variable"  :subid("60_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "variable"  :subid("60_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_872
 .annotate 'line', 318
-    .const 'Sub' $P885 = "61_1275803262.0988" 
+    .const 'Sub' $P885 = "61_1275805961.69588" 
     capture_lex $P885
     new $P871, 'ExceptionHandler'
     set_addr $P871, control_870
-    $P871."handle_types"(57)
+    $P871."handle_types"(.CONTROL_RETURN)
     push_eh $P871
     .lex "self", self
     .lex "$/", param_872
@@ -20203,7 +20250,7 @@
   vivify_319:
     if $P877, if_875
 .annotate 'line', 324
-    .const 'Sub' $P885 = "61_1275803262.0988" 
+    .const 'Sub' $P885 = "61_1275805961.69588" 
     capture_lex $P885
     $P885()
     goto if_875_end
@@ -20240,7 +20287,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block884"  :anon :subid("61_1275803262.0988") :outer("60_1275803262.0988")
+.sub "_block884"  :anon :subid("61_1275805961.69588") :outer("60_1275805961.69588")
 .annotate 'line', 325
     $P886 = root_new ['parrot';'ResizablePMCArray']
     .lex "@name", $P886
@@ -20409,12 +20456,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<module>"  :subid("62_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "package_declarator:sym<module>"  :subid("62_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_961
 .annotate 'line', 356
     new $P960, 'ExceptionHandler'
     set_addr $P960, control_959
-    $P960."handle_types"(57)
+    $P960."handle_types"(.CONTROL_RETURN)
     push_eh $P960
     .lex "self", self
     .lex "$/", param_961
@@ -20439,12 +20487,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<class>"  :subid("63_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "package_declarator:sym<class>"  :subid("63_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_971
 .annotate 'line', 357
     new $P970, 'ExceptionHandler'
     set_addr $P970, control_969
-    $P970."handle_types"(57)
+    $P970."handle_types"(.CONTROL_RETURN)
     push_eh $P970
     .lex "self", self
     .lex "$/", param_971
@@ -20596,12 +20645,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "package_def"  :subid("64_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "package_def"  :subid("64_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1024
 .annotate 'line', 380
     new $P1023, 'ExceptionHandler'
     set_addr $P1023, control_1022
-    $P1023."handle_types"(57)
+    $P1023."handle_types"(.CONTROL_RETURN)
     push_eh $P1023
     .lex "self", self
     .lex "$/", param_1024
@@ -20674,12 +20724,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<my>"  :subid("65_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "scope_declarator:sym<my>"  :subid("65_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1048
 .annotate 'line', 387
     new $P1047, 'ExceptionHandler'
     set_addr $P1047, control_1046
-    $P1047."handle_types"(57)
+    $P1047."handle_types"(.CONTROL_RETURN)
     push_eh $P1047
     .lex "self", self
     .lex "$/", param_1048
@@ -20704,12 +20755,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<our>"  :subid("66_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "scope_declarator:sym<our>"  :subid("66_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1058
 .annotate 'line', 388
     new $P1057, 'ExceptionHandler'
     set_addr $P1057, control_1056
-    $P1057."handle_types"(57)
+    $P1057."handle_types"(.CONTROL_RETURN)
     push_eh $P1057
     .lex "self", self
     .lex "$/", param_1058
@@ -20734,12 +20786,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<has>"  :subid("67_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "scope_declarator:sym<has>"  :subid("67_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1068
 .annotate 'line', 389
     new $P1067, 'ExceptionHandler'
     set_addr $P1067, control_1066
-    $P1067."handle_types"(57)
+    $P1067."handle_types"(.CONTROL_RETURN)
     push_eh $P1067
     .lex "self", self
     .lex "$/", param_1068
@@ -20764,12 +20817,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "scoped"  :subid("68_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "scoped"  :subid("68_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1078
 .annotate 'line', 391
     new $P1077, 'ExceptionHandler'
     set_addr $P1077, control_1076
-    $P1077."handle_types"(57)
+    $P1077."handle_types"(.CONTROL_RETURN)
     push_eh $P1077
     .lex "self", self
     .lex "$/", param_1078
@@ -20822,12 +20876,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "declarator"  :subid("69_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "declarator"  :subid("69_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1095
 .annotate 'line', 397
     new $P1094, 'ExceptionHandler'
     set_addr $P1094, control_1093
-    $P1094."handle_types"(57)
+    $P1094."handle_types"(.CONTROL_RETURN)
     push_eh $P1094
     .lex "self", self
     .lex "$/", param_1095
@@ -20880,12 +20935,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "multi_declarator:sym<multi>"  :subid("70_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "multi_declarator:sym<multi>"  :subid("70_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1112
 .annotate 'line', 403
     new $P1111, 'ExceptionHandler'
     set_addr $P1111, control_1110
-    $P1111."handle_types"(57)
+    $P1111."handle_types"(.CONTROL_RETURN)
     push_eh $P1111
     .lex "self", self
     .lex "$/", param_1112
@@ -20933,12 +20989,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "multi_declarator:sym<null>"  :subid("71_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "multi_declarator:sym<null>"  :subid("71_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1129
 .annotate 'line', 404
     new $P1128, 'ExceptionHandler'
     set_addr $P1128, control_1127
-    $P1128."handle_types"(57)
+    $P1128."handle_types"(.CONTROL_RETURN)
     push_eh $P1128
     .lex "self", self
     .lex "$/", param_1129
@@ -20963,14 +21020,15 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "variable_declarator"  :subid("72_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "variable_declarator"  :subid("72_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1139
 .annotate 'line', 407
-    .const 'Sub' $P1179 = "73_1275803262.0988" 
+    .const 'Sub' $P1179 = "73_1275805961.69588" 
     capture_lex $P1179
     new $P1138, 'ExceptionHandler'
     set_addr $P1138, control_1137
-    $P1138."handle_types"(57)
+    $P1138."handle_types"(.CONTROL_RETURN)
     push_eh $P1138
     .lex "self", self
     .lex "$/", param_1139
@@ -21048,7 +21106,7 @@
     iseq $I1164, $S1163, "has"
     if $I1164, if_1161
 .annotate 'line', 424
-    .const 'Sub' $P1179 = "73_1275803262.0988" 
+    .const 'Sub' $P1179 = "73_1275805961.69588" 
     capture_lex $P1179
     $P1179()
     goto if_1161_end
@@ -21108,7 +21166,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1178"  :anon :subid("73_1275803262.0988") :outer("72_1275803262.0988")
+.sub "_block1178"  :anon :subid("73_1275805961.69588") :outer("72_1275805961.69588")
 .annotate 'line', 425
     new $P1180, "Undef"
     .lex "$scope", $P1180
@@ -21169,12 +21227,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<sub>"  :subid("74_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "routine_declarator:sym<sub>"  :subid("74_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1210
 .annotate 'line', 435
     new $P1209, 'ExceptionHandler'
     set_addr $P1209, control_1208
-    $P1209."handle_types"(57)
+    $P1209."handle_types"(.CONTROL_RETURN)
     push_eh $P1209
     .lex "self", self
     .lex "$/", param_1210
@@ -21199,12 +21258,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<method>"  :subid("75_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "routine_declarator:sym<method>"  :subid("75_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1220
 .annotate 'line', 436
     new $P1219, 'ExceptionHandler'
     set_addr $P1219, control_1218
-    $P1219."handle_types"(57)
+    $P1219."handle_types"(.CONTROL_RETURN)
     push_eh $P1219
     .lex "self", self
     .lex "$/", param_1220
@@ -21229,14 +21289,15 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_def"  :subid("76_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "routine_def"  :subid("76_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1230
 .annotate 'line', 438
-    .const 'Sub' $P1241 = "77_1275803262.0988" 
+    .const 'Sub' $P1241 = "77_1275805961.69588" 
     capture_lex $P1241
     new $P1229, 'ExceptionHandler'
     set_addr $P1229, control_1228
-    $P1229."handle_types"(57)
+    $P1229."handle_types"(.CONTROL_RETURN)
     push_eh $P1229
     .lex "self", self
     .lex "$/", param_1230
@@ -21269,7 +21330,7 @@
     new $P1239, "Undef"
   vivify_417:
     unless $P1239, if_1237_end
-    .const 'Sub' $P1241 = "77_1275803262.0988" 
+    .const 'Sub' $P1241 = "77_1275805961.69588" 
     capture_lex $P1241
     $P1241()
   if_1237_end:
@@ -21288,7 +21349,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1240"  :anon :subid("77_1275803262.0988") :outer("76_1275803262.0988")
+.sub "_block1240"  :anon :subid("77_1275805961.69588") :outer("76_1275805961.69588")
 .annotate 'line', 443
     new $P1242, "Undef"
     .lex "$name", $P1242
@@ -21384,14 +21445,15 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "method_def"  :subid("78_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "method_def"  :subid("78_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1280
 .annotate 'line', 456
-    .const 'Sub' $P1296 = "79_1275803262.0988" 
+    .const 'Sub' $P1296 = "79_1275805961.69588" 
     capture_lex $P1296
     new $P1279, 'ExceptionHandler'
     set_addr $P1279, control_1278
-    $P1279."handle_types"(57)
+    $P1279."handle_types"(.CONTROL_RETURN)
     push_eh $P1279
     .lex "self", self
     .lex "$/", param_1280
@@ -21439,7 +21501,7 @@
     new $P1294, "Undef"
   vivify_436:
     unless $P1294, if_1292_end
-    .const 'Sub' $P1296 = "79_1275803262.0988" 
+    .const 'Sub' $P1296 = "79_1275805961.69588" 
     capture_lex $P1296
     $P1296()
   if_1292_end:
@@ -21473,7 +21535,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1295"  :anon :subid("79_1275803262.0988") :outer("78_1275803262.0988")
+.sub "_block1295"  :anon :subid("79_1275805961.69588") :outer("78_1275805961.69588")
 .annotate 'line', 463
     new $P1297, "Undef"
     .lex "$name", $P1297
@@ -21504,16 +21566,17 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "signature"  :subid("80_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "signature"  :subid("80_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1320
 .annotate 'line', 471
-    .const 'Sub' $P1346 = "82_1275803262.0988" 
+    .const 'Sub' $P1346 = "82_1275805961.69588" 
     capture_lex $P1346
-    .const 'Sub' $P1331 = "81_1275803262.0988" 
+    .const 'Sub' $P1331 = "81_1275805961.69588" 
     capture_lex $P1331
     new $P1319, 'ExceptionHandler'
     set_addr $P1319, control_1318
-    $P1319."handle_types"(57)
+    $P1319."handle_types"(.CONTROL_RETURN)
     push_eh $P1319
     .lex "self", self
     .lex "$/", param_1320
@@ -21547,13 +21610,13 @@
     iter $P1325, $P1327
     new $P1338, 'ExceptionHandler'
     set_addr $P1338, loop1337_handler
-    $P1338."handle_types"(64, 66, 65)
+    $P1338."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P1338
   loop1337_test:
     unless $P1325, loop1337_done
     shift $P1329, $P1325
   loop1337_redo:
-    .const 'Sub' $P1331 = "81_1275803262.0988" 
+    .const 'Sub' $P1331 = "81_1275805961.69588" 
     capture_lex $P1331
     $P1331($P1329)
   loop1337_next:
@@ -21562,8 +21625,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P1339, exception, 'type'
-    eq $P1339, 64, loop1337_next
-    eq $P1339, 66, loop1337_redo
+    eq $P1339, .CONTROL_LOOP_NEXT, loop1337_next
+    eq $P1339, .CONTROL_LOOP_REDO, loop1337_redo
   loop1337_done:
     pop_eh 
   for_undef_447:
@@ -21582,7 +21645,7 @@
     set $P1340, $I1344
     goto if_1341_end
   if_1341:
-    .const 'Sub' $P1346 = "82_1275803262.0988" 
+    .const 'Sub' $P1346 = "82_1275805961.69588" 
     capture_lex $P1346
     $P1372 = $P1346()
     set $P1340, $P1372
@@ -21598,7 +21661,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1330"  :anon :subid("81_1275803262.0988") :outer("80_1275803262.0988")
+.sub "_block1330"  :anon :subid("81_1275805961.69588") :outer("80_1275805961.69588")
     .param pmc param_1332
 .annotate 'line', 474
     .lex "$_", param_1332
@@ -21611,9 +21674,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1345"  :anon :subid("82_1275803262.0988") :outer("80_1275803262.0988")
+.include "except_types.pasm"
+.sub "_block1345"  :anon :subid("82_1275805961.69588") :outer("80_1275805961.69588")
 .annotate 'line', 477
-    .const 'Sub' $P1355 = "83_1275803262.0988" 
+    .const 'Sub' $P1355 = "83_1275805961.69588" 
     capture_lex $P1355
 .annotate 'line', 478
     $P1347 = root_new ['parrot';'ResizablePMCArray']
@@ -21628,13 +21692,13 @@
     iter $P1349, $P1351
     new $P1366, 'ExceptionHandler'
     set_addr $P1366, loop1365_handler
-    $P1366."handle_types"(64, 66, 65)
+    $P1366."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P1366
   loop1365_test:
     unless $P1349, loop1365_done
     shift $P1353, $P1349
   loop1365_redo:
-    .const 'Sub' $P1355 = "83_1275803262.0988" 
+    .const 'Sub' $P1355 = "83_1275805961.69588" 
     capture_lex $P1355
     $P1355($P1353)
   loop1365_next:
@@ -21643,8 +21707,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P1367, exception, 'type'
-    eq $P1367, 64, loop1365_next
-    eq $P1367, 66, loop1365_redo
+    eq $P1367, .CONTROL_LOOP_NEXT, loop1365_next
+    eq $P1367, .CONTROL_LOOP_REDO, loop1365_redo
   loop1365_done:
     pop_eh 
   for_undef_450:
@@ -21665,7 +21729,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1354"  :anon :subid("83_1275803262.0988") :outer("82_1275803262.0988")
+.sub "_block1354"  :anon :subid("83_1275805961.69588") :outer("82_1275805961.69588")
     .param pmc param_1356
 .annotate 'line', 479
     .lex "$_", param_1356
@@ -21687,14 +21751,15 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "parameter"  :subid("84_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "parameter"  :subid("84_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1377
 .annotate 'line', 486
-    .const 'Sub' $P1458 = "85_1275803262.0988" 
+    .const 'Sub' $P1458 = "85_1275805961.69588" 
     capture_lex $P1458
     new $P1376, 'ExceptionHandler'
     set_addr $P1376, control_1375
-    $P1376."handle_types"(57)
+    $P1376."handle_types"(.CONTROL_RETURN)
     push_eh $P1376
     .lex "self", self
     .lex "$/", param_1377
@@ -21916,7 +21981,7 @@
     new $P1456, "Undef"
   vivify_482:
     unless $P1456, if_1454_end
-    .const 'Sub' $P1458 = "85_1275803262.0988" 
+    .const 'Sub' $P1458 = "85_1275805961.69588" 
     capture_lex $P1458
     $P1458()
   if_1454_end:
@@ -21935,9 +22000,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1457"  :anon :subid("85_1275803262.0988") :outer("84_1275803262.0988")
+.include "except_types.pasm"
+.sub "_block1457"  :anon :subid("85_1275805961.69588") :outer("84_1275805961.69588")
 .annotate 'line', 517
-    .const 'Sub' $P1470 = "86_1275803262.0988" 
+    .const 'Sub' $P1470 = "86_1275805961.69588" 
     capture_lex $P1470
 .annotate 'line', 518
     $P1459 = root_new ['parrot';'ResizablePMCArray']
@@ -21970,13 +22036,13 @@
     iter $P1461, $P1466
     new $P1477, 'ExceptionHandler'
     set_addr $P1477, loop1476_handler
-    $P1477."handle_types"(64, 66, 65)
+    $P1477."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P1477
   loop1476_test:
     unless $P1461, loop1476_done
     shift $P1468, $P1461
   loop1476_redo:
-    .const 'Sub' $P1470 = "86_1275803262.0988" 
+    .const 'Sub' $P1470 = "86_1275805961.69588" 
     capture_lex $P1470
     $P1470($P1468)
   loop1476_next:
@@ -21985,8 +22051,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P1478, exception, 'type'
-    eq $P1478, 64, loop1476_next
-    eq $P1478, 66, loop1476_redo
+    eq $P1478, .CONTROL_LOOP_NEXT, loop1476_next
+    eq $P1478, .CONTROL_LOOP_REDO, loop1476_redo
   loop1476_done:
     pop_eh 
   for_undef_488:
@@ -22000,7 +22066,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1469"  :anon :subid("86_1275803262.0988") :outer("85_1275803262.0988")
+.sub "_block1469"  :anon :subid("86_1275805961.69588") :outer("85_1275805961.69588")
     .param pmc param_1471
 .annotate 'line', 519
     .lex "$_", param_1471
@@ -22013,12 +22079,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "param_var"  :subid("87_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "param_var"  :subid("87_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1489
 .annotate 'line', 526
     new $P1488, 'ExceptionHandler'
     set_addr $P1488, control_1487
-    $P1488."handle_types"(57)
+    $P1488."handle_types"(.CONTROL_RETURN)
     push_eh $P1488
     .lex "self", self
     .lex "$/", param_1489
@@ -22066,12 +22133,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "named_param"  :subid("88_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "named_param"  :subid("88_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1509
 .annotate 'line', 534
     new $P1508, 'ExceptionHandler'
     set_addr $P1508, control_1507
-    $P1508."handle_types"(57)
+    $P1508."handle_types"(.CONTROL_RETURN)
     push_eh $P1508
     .lex "self", self
     .lex "$/", param_1509
@@ -22119,18 +22187,19 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "regex_declarator"  :subid("89_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "regex_declarator"  :subid("89_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1526
     .param pmc param_1527 :optional
     .param int has_param_1527 :opt_flag
 .annotate 'line', 540
-    .const 'Sub' $P1597 = "91_1275803262.0988" 
+    .const 'Sub' $P1597 = "91_1275805961.69588" 
     capture_lex $P1597
-    .const 'Sub' $P1569 = "90_1275803262.0988" 
+    .const 'Sub' $P1569 = "90_1275805961.69588" 
     capture_lex $P1569
     new $P1525, 'ExceptionHandler'
     set_addr $P1525, control_1524
-    $P1525."handle_types"(57)
+    $P1525."handle_types"(.CONTROL_RETURN)
     push_eh $P1525
     .lex "self", self
     .lex "$/", param_1526
@@ -22184,13 +22253,13 @@
     iseq $I1567, $S1566, "open"
     if $I1567, if_1564
 .annotate 'line', 586
-    .const 'Sub' $P1597 = "91_1275803262.0988" 
+    .const 'Sub' $P1597 = "91_1275805961.69588" 
     capture_lex $P1597
     $P1597()
     goto if_1564_end
   if_1564:
 .annotate 'line', 573
-    .const 'Sub' $P1569 = "90_1275803262.0988" 
+    .const 'Sub' $P1569 = "90_1275805961.69588" 
     capture_lex $P1569
     $P1569()
   if_1564_end:
@@ -22247,7 +22316,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1596"  :anon :subid("91_1275803262.0988") :outer("89_1275803262.0988")
+.sub "_block1596"  :anon :subid("91_1275805961.69588") :outer("89_1275805961.69588")
 .annotate 'line', 587
     new $P1598, "Undef"
     .lex "$regex", $P1598
@@ -22298,7 +22367,8 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1568"  :anon :subid("90_1275803262.0988") :outer("89_1275803262.0988")
+.include "except_types.pasm"
+.sub "_block1568"  :anon :subid("90_1275805961.69588") :outer("89_1275805961.69588")
 .annotate 'line', 574
     $P1570 = root_new ['parrot';'Hash']
     .lex "%h", $P1570
@@ -22385,7 +22455,7 @@
     $P1593."symbol"("$/", "lexical" :named("scope"))
 .annotate 'line', 584
     new $P1594, "Exception"
-    set $P1594['type'], 57
+    set $P1594['type'], .CONTROL_RETURN
     new $P1595, "Integer"
     assign $P1595, 0
     setattribute $P1594, 'payload', $P1595
@@ -22396,12 +22466,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "dotty"  :subid("92_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "dotty"  :subid("92_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1625
 .annotate 'line', 604
     new $P1624, 'ExceptionHandler'
     set_addr $P1624, control_1623
-    $P1624."handle_types"(57)
+    $P1624."handle_types"(.CONTROL_RETURN)
     push_eh $P1624
     .lex "self", self
     .lex "$/", param_1625
@@ -22493,12 +22564,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<self>"  :subid("93_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<self>"  :subid("93_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1657
 .annotate 'line', 613
     new $P1656, 'ExceptionHandler'
     set_addr $P1656, control_1655
-    $P1656."handle_types"(57)
+    $P1656."handle_types"(.CONTROL_RETURN)
     push_eh $P1656
     .lex "self", self
     .lex "$/", param_1657
@@ -22518,12 +22590,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<identifier>"  :subid("94_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<identifier>"  :subid("94_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1666
 .annotate 'line', 617
     new $P1665, 'ExceptionHandler'
     set_addr $P1665, control_1664
-    $P1665."handle_types"(57)
+    $P1665."handle_types"(.CONTROL_RETURN)
     push_eh $P1665
     .lex "self", self
     .lex "$/", param_1666
@@ -22567,12 +22640,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<name>"  :subid("95_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<name>"  :subid("95_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1682
 .annotate 'line', 623
     new $P1681, 'ExceptionHandler'
     set_addr $P1681, control_1680
-    $P1681."handle_types"(57)
+    $P1681."handle_types"(.CONTROL_RETURN)
     push_eh $P1681
     .lex "self", self
     .lex "$/", param_1682
@@ -22685,12 +22759,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<pir::op>"  :subid("96_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<pir::op>"  :subid("96_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1724
 .annotate 'line', 637
     new $P1723, 'ExceptionHandler'
     set_addr $P1723, control_1722
-    $P1723."handle_types"(57)
+    $P1723."handle_types"(.CONTROL_RETURN)
     push_eh $P1723
     .lex "self", self
     .lex "$/", param_1724
@@ -22776,12 +22851,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "args"  :subid("97_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "args"  :subid("97_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1753
 .annotate 'line', 652
     new $P1752, 'ExceptionHandler'
     set_addr $P1752, control_1751
-    $P1752."handle_types"(57)
+    $P1752."handle_types"(.CONTROL_RETURN)
     push_eh $P1752
     .lex "self", self
     .lex "$/", param_1753
@@ -22806,14 +22882,15 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "arglist"  :subid("98_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "arglist"  :subid("98_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1763
 .annotate 'line', 654
-    .const 'Sub' $P1774 = "99_1275803262.0988" 
+    .const 'Sub' $P1774 = "99_1275805961.69588" 
     capture_lex $P1774
     new $P1762, 'ExceptionHandler'
     set_addr $P1762, control_1761
-    $P1762."handle_types"(57)
+    $P1762."handle_types"(.CONTROL_RETURN)
     push_eh $P1762
     .lex "self", self
     .lex "$/", param_1763
@@ -22841,7 +22918,7 @@
     new $P1772, "Undef"
   vivify_550:
     unless $P1772, if_1770_end
-    .const 'Sub' $P1774 = "99_1275803262.0988" 
+    .const 'Sub' $P1774 = "99_1275805961.69588" 
     capture_lex $P1774
     $P1774()
   if_1770_end:
@@ -22859,7 +22936,7 @@
 .annotate 'line', 665
     new $P1858, 'ExceptionHandler'
     set_addr $P1858, loop1857_handler
-    $P1858."handle_types"(64, 66, 65)
+    $P1858."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P1858
   loop1857_test:
     find_lex $P1811, "$i"
@@ -22978,8 +23055,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P1859, exception, 'type'
-    eq $P1859, 64, loop1857_next
-    eq $P1859, 66, loop1857_redo
+    eq $P1859, .CONTROL_LOOP_NEXT, loop1857_next
+    eq $P1859, .CONTROL_LOOP_REDO, loop1857_redo
   loop1857_done:
     pop_eh 
 .annotate 'line', 676
@@ -22997,9 +23074,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1773"  :anon :subid("99_1275803262.0988") :outer("98_1275803262.0988")
+.include "except_types.pasm"
+.sub "_block1773"  :anon :subid("99_1275805961.69588") :outer("98_1275805961.69588")
 .annotate 'line', 656
-    .const 'Sub' $P1795 = "100_1275803262.0988" 
+    .const 'Sub' $P1795 = "100_1275805961.69588" 
     capture_lex $P1795
 .annotate 'line', 657
     new $P1775, "Undef"
@@ -23046,13 +23124,13 @@
     iter $P1789, $P1791
     new $P1801, 'ExceptionHandler'
     set_addr $P1801, loop1800_handler
-    $P1801."handle_types"(64, 66, 65)
+    $P1801."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P1801
   loop1800_test:
     unless $P1789, loop1800_done
     shift $P1793, $P1789
   loop1800_redo:
-    .const 'Sub' $P1795 = "100_1275803262.0988" 
+    .const 'Sub' $P1795 = "100_1275805961.69588" 
     capture_lex $P1795
     $P1795($P1793)
   loop1800_next:
@@ -23061,8 +23139,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P1802, exception, 'type'
-    eq $P1802, 64, loop1800_next
-    eq $P1802, 66, loop1800_redo
+    eq $P1802, .CONTROL_LOOP_NEXT, loop1800_next
+    eq $P1802, .CONTROL_LOOP_REDO, loop1800_redo
   loop1800_done:
     pop_eh 
   for_undef_553:
@@ -23075,7 +23153,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1794"  :anon :subid("100_1275803262.0988") :outer("99_1275803262.0988")
+.sub "_block1794"  :anon :subid("100_1275805961.69588") :outer("99_1275805961.69588")
     .param pmc param_1796
 .annotate 'line', 659
     .lex "$_", param_1796
@@ -23087,12 +23165,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<value>"  :subid("101_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<value>"  :subid("101_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1867
 .annotate 'line', 680
     new $P1866, 'ExceptionHandler'
     set_addr $P1866, control_1865
-    $P1866."handle_types"(57)
+    $P1866."handle_types"(.CONTROL_RETURN)
     push_eh $P1866
     .lex "self", self
     .lex "$/", param_1867
@@ -23117,12 +23196,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<( )>"  :subid("102_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "circumfix:sym<( )>"  :subid("102_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1877
 .annotate 'line', 682
     new $P1876, 'ExceptionHandler'
     set_addr $P1876, control_1875
-    $P1876."handle_types"(57)
+    $P1876."handle_types"(.CONTROL_RETURN)
     push_eh $P1876
     .lex "self", self
     .lex "$/", param_1877
@@ -23173,12 +23253,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<[ ]>"  :subid("103_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "circumfix:sym<[ ]>"  :subid("103_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1895
 .annotate 'line', 688
     new $P1894, 'ExceptionHandler'
     set_addr $P1894, control_1893
-    $P1894."handle_types"(57)
+    $P1894."handle_types"(.CONTROL_RETURN)
     push_eh $P1894
     .lex "self", self
     .lex "$/", param_1895
@@ -23249,12 +23330,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<ang>"  :subid("104_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "circumfix:sym<ang>"  :subid("104_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1922
 .annotate 'line', 703
     new $P1921, 'ExceptionHandler'
     set_addr $P1921, control_1920
-    $P1921."handle_types"(57)
+    $P1921."handle_types"(.CONTROL_RETURN)
     push_eh $P1921
     .lex "self", self
     .lex "$/", param_1922
@@ -23279,12 +23361,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("105_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("105_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1932
 .annotate 'line', 704
     new $P1931, 'ExceptionHandler'
     set_addr $P1931, control_1930
-    $P1931."handle_types"(57)
+    $P1931."handle_types"(.CONTROL_RETURN)
     push_eh $P1931
     .lex "self", self
     .lex "$/", param_1932
@@ -23309,12 +23392,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<{ }>"  :subid("106_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "circumfix:sym<{ }>"  :subid("106_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1942
 .annotate 'line', 706
     new $P1941, 'ExceptionHandler'
     set_addr $P1941, control_1940
-    $P1941."handle_types"(57)
+    $P1941."handle_types"(.CONTROL_RETURN)
     push_eh $P1941
     .lex "self", self
     .lex "$/", param_1942
@@ -23387,12 +23471,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<sigil>"  :subid("107_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "circumfix:sym<sigil>"  :subid("107_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1966
 .annotate 'line', 714
     new $P1965, 'ExceptionHandler'
     set_addr $P1965, control_1964
-    $P1965."handle_types"(57)
+    $P1965."handle_types"(.CONTROL_RETURN)
     push_eh $P1965
     .lex "self", self
     .lex "$/", param_1966
@@ -23466,12 +23551,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "semilist"  :subid("108_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "semilist"  :subid("108_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_1995
 .annotate 'line', 721
     new $P1994, 'ExceptionHandler'
     set_addr $P1994, control_1993
-    $P1994."handle_types"(57)
+    $P1994."handle_types"(.CONTROL_RETURN)
     push_eh $P1994
     .lex "self", self
     .lex "$/", param_1995
@@ -23496,12 +23582,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<[ ]>"  :subid("109_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "postcircumfix:sym<[ ]>"  :subid("109_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2005
 .annotate 'line', 723
     new $P2004, 'ExceptionHandler'
     set_addr $P2004, control_2003
-    $P2004."handle_types"(57)
+    $P2004."handle_types"(.CONTROL_RETURN)
     push_eh $P2004
     .lex "self", self
     .lex "$/", param_2005
@@ -23533,12 +23620,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<{ }>"  :subid("110_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "postcircumfix:sym<{ }>"  :subid("110_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2018
 .annotate 'line', 729
     new $P2017, 'ExceptionHandler'
     set_addr $P2017, control_2016
-    $P2017."handle_types"(57)
+    $P2017."handle_types"(.CONTROL_RETURN)
     push_eh $P2017
     .lex "self", self
     .lex "$/", param_2018
@@ -23570,12 +23658,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<ang>"  :subid("111_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "postcircumfix:sym<ang>"  :subid("111_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2031
 .annotate 'line', 735
     new $P2030, 'ExceptionHandler'
     set_addr $P2030, control_2029
-    $P2030."handle_types"(57)
+    $P2030."handle_types"(.CONTROL_RETURN)
     push_eh $P2030
     .lex "self", self
     .lex "$/", param_2031
@@ -23607,12 +23696,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<( )>"  :subid("112_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "postcircumfix:sym<( )>"  :subid("112_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2044
 .annotate 'line', 741
     new $P2043, 'ExceptionHandler'
     set_addr $P2043, control_2042
-    $P2043."handle_types"(57)
+    $P2043."handle_types"(.CONTROL_RETURN)
     push_eh $P2043
     .lex "self", self
     .lex "$/", param_2044
@@ -23639,12 +23729,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "value"  :subid("113_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "value"  :subid("113_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2054
 .annotate 'line', 745
     new $P2053, 'ExceptionHandler'
     set_addr $P2053, control_2052
-    $P2053."handle_types"(57)
+    $P2053."handle_types"(.CONTROL_RETURN)
     push_eh $P2053
     .lex "self", self
     .lex "$/", param_2054
@@ -23694,12 +23785,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "number"  :subid("114_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "number"  :subid("114_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2071
 .annotate 'line', 749
     new $P2070, 'ExceptionHandler'
     set_addr $P2070, control_2069
-    $P2070."handle_types"(57)
+    $P2070."handle_types"(.CONTROL_RETURN)
     push_eh $P2070
     .lex "self", self
     .lex "$/", param_2071
@@ -23772,12 +23864,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<apos>"  :subid("115_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "quote:sym<apos>"  :subid("115_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2099
 .annotate 'line', 755
     new $P2098, 'ExceptionHandler'
     set_addr $P2098, control_2097
-    $P2098."handle_types"(57)
+    $P2098."handle_types"(.CONTROL_RETURN)
     push_eh $P2098
     .lex "self", self
     .lex "$/", param_2099
@@ -23802,12 +23895,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<dblq>"  :subid("116_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "quote:sym<dblq>"  :subid("116_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2109
 .annotate 'line', 756
     new $P2108, 'ExceptionHandler'
     set_addr $P2108, control_2107
-    $P2108."handle_types"(57)
+    $P2108."handle_types"(.CONTROL_RETURN)
     push_eh $P2108
     .lex "self", self
     .lex "$/", param_2109
@@ -23832,12 +23926,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<qq>"  :subid("117_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "quote:sym<qq>"  :subid("117_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2119
 .annotate 'line', 757
     new $P2118, 'ExceptionHandler'
     set_addr $P2118, control_2117
-    $P2118."handle_types"(57)
+    $P2118."handle_types"(.CONTROL_RETURN)
     push_eh $P2118
     .lex "self", self
     .lex "$/", param_2119
@@ -23862,12 +23957,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<q>"  :subid("118_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "quote:sym<q>"  :subid("118_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2129
 .annotate 'line', 758
     new $P2128, 'ExceptionHandler'
     set_addr $P2128, control_2127
-    $P2128."handle_types"(57)
+    $P2128."handle_types"(.CONTROL_RETURN)
     push_eh $P2128
     .lex "self", self
     .lex "$/", param_2129
@@ -23892,12 +23988,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<Q>"  :subid("119_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "quote:sym<Q>"  :subid("119_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2139
 .annotate 'line', 759
     new $P2138, 'ExceptionHandler'
     set_addr $P2138, control_2137
-    $P2138."handle_types"(57)
+    $P2138."handle_types"(.CONTROL_RETURN)
     push_eh $P2138
     .lex "self", self
     .lex "$/", param_2139
@@ -23922,12 +24019,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<Q:PIR>"  :subid("120_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "quote:sym<Q:PIR>"  :subid("120_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2149
 .annotate 'line', 760
     new $P2148, 'ExceptionHandler'
     set_addr $P2148, control_2147
-    $P2148."handle_types"(57)
+    $P2148."handle_types"(.CONTROL_RETURN)
     push_eh $P2148
     .lex "self", self
     .lex "$/", param_2149
@@ -23958,14 +24056,15 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym</ />"  :subid("121_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "quote:sym</ />"  :subid("121_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2163
     .param pmc param_2164 :optional
     .param int has_param_2164 :opt_flag
 .annotate 'line', 766
     new $P2162, 'ExceptionHandler'
     set_addr $P2162, control_2161
-    $P2162."handle_types"(57)
+    $P2162."handle_types"(.CONTROL_RETURN)
     push_eh $P2162
     .lex "self", self
     .lex "$/", param_2163
@@ -24012,7 +24111,7 @@
     $P2175."symbol"("$/", "lexical" :named("scope"))
 .annotate 'line', 774
     new $P2176, "Exception"
-    set $P2176['type'], 57
+    set $P2176['type'], .CONTROL_RETURN
     new $P2177, "Integer"
     assign $P2177, 0
     setattribute $P2176, 'payload', $P2177
@@ -24067,12 +24166,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<$>"  :subid("122_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "quote_escape:sym<$>"  :subid("122_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2200
 .annotate 'line', 789
     new $P2199, 'ExceptionHandler'
     set_addr $P2199, control_2198
-    $P2199."handle_types"(57)
+    $P2199."handle_types"(.CONTROL_RETURN)
     push_eh $P2199
     .lex "self", self
     .lex "$/", param_2200
@@ -24097,12 +24197,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<{ }>"  :subid("123_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "quote_escape:sym<{ }>"  :subid("123_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2210
 .annotate 'line', 790
     new $P2209, 'ExceptionHandler'
     set_addr $P2209, control_2208
-    $P2209."handle_types"(57)
+    $P2209."handle_types"(.CONTROL_RETURN)
     push_eh $P2209
     .lex "self", self
     .lex "$/", param_2210
@@ -24135,12 +24236,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<esc>"  :subid("124_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "quote_escape:sym<esc>"  :subid("124_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2224
 .annotate 'line', 795
     new $P2223, 'ExceptionHandler'
     set_addr $P2223, control_2222
-    $P2223."handle_types"(57)
+    $P2223."handle_types"(.CONTROL_RETURN)
     push_eh $P2223
     .lex "self", self
     .lex "$/", param_2224
@@ -24156,12 +24258,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<.>"  :subid("125_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "postfix:sym<.>"  :subid("125_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2231
 .annotate 'line', 799
     new $P2230, 'ExceptionHandler'
     set_addr $P2230, control_2229
-    $P2230."handle_types"(57)
+    $P2230."handle_types"(.CONTROL_RETURN)
     push_eh $P2230
     .lex "self", self
     .lex "$/", param_2231
@@ -24186,12 +24289,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<++>"  :subid("126_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "postfix:sym<++>"  :subid("126_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2241
 .annotate 'line', 801
     new $P2240, 'ExceptionHandler'
     set_addr $P2240, control_2239
-    $P2240."handle_types"(57)
+    $P2240."handle_types"(.CONTROL_RETURN)
     push_eh $P2240
     .lex "self", self
     .lex "$/", param_2241
@@ -24216,12 +24320,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<-->"  :subid("127_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "postfix:sym<-->"  :subid("127_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2251
 .annotate 'line', 807
     new $P2250, 'ExceptionHandler'
     set_addr $P2250, control_2249
-    $P2250."handle_types"(57)
+    $P2250."handle_types"(.CONTROL_RETURN)
     push_eh $P2250
     .lex "self", self
     .lex "$/", param_2251
@@ -24246,12 +24351,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "prefix:sym<make>"  :subid("128_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "prefix:sym<make>"  :subid("128_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2261
 .annotate 'line', 813
     new $P2260, 'ExceptionHandler'
     set_addr $P2260, control_2259
-    $P2260."handle_types"(57)
+    $P2260."handle_types"(.CONTROL_RETURN)
     push_eh $P2260
     .lex "self", self
     .lex "$/", param_2261
@@ -24276,12 +24382,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<next>"  :subid("129_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<next>"  :subid("129_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2274
 .annotate 'line', 831
     new $P2273, 'ExceptionHandler'
     set_addr $P2273, control_2272
-    $P2273."handle_types"(57)
+    $P2273."handle_types"(.CONTROL_RETURN)
     push_eh $P2273
     .lex "self", self
     .lex "$/", param_2274
@@ -24297,12 +24404,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<last>"  :subid("130_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<last>"  :subid("130_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2281
 .annotate 'line', 832
     new $P2280, 'ExceptionHandler'
     set_addr $P2280, control_2279
-    $P2280."handle_types"(57)
+    $P2280."handle_types"(.CONTROL_RETURN)
     push_eh $P2280
     .lex "self", self
     .lex "$/", param_2281
@@ -24318,12 +24426,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<redo>"  :subid("131_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "term:sym<redo>"  :subid("131_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2288
 .annotate 'line', 833
     new $P2287, 'ExceptionHandler'
     set_addr $P2287, control_2286
-    $P2287."handle_types"(57)
+    $P2287."handle_types"(.CONTROL_RETURN)
     push_eh $P2287
     .lex "self", self
     .lex "$/", param_2288
@@ -24339,12 +24448,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "infix:sym<~~>"  :subid("132_1275803262.0988") :method :outer("11_1275803262.0988")
+.include "except_types.pasm"
+.sub "infix:sym<~~>"  :subid("132_1275805961.69588") :method :outer("11_1275805961.69588")
     .param pmc param_2295
 .annotate 'line', 835
     new $P2294, 'ExceptionHandler'
     set_addr $P2294, control_2293
-    $P2294."handle_types"(57)
+    $P2294."handle_types"(.CONTROL_RETURN)
     push_eh $P2294
     .lex "self", self
     .lex "$/", param_2295
@@ -24365,24 +24475,24 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "_block2302"  :subid("133_1275803262.0988") :outer("11_1275803262.0988")
+.sub "_block2302"  :subid("133_1275805961.69588") :outer("11_1275805961.69588")
 .annotate 'line', 840
-    .const 'Sub' $P2388 = "140_1275803262.0988" 
+    .const 'Sub' $P2388 = "140_1275805961.69588" 
     capture_lex $P2388
-    .const 'Sub' $P2375 = "139_1275803262.0988" 
+    .const 'Sub' $P2375 = "139_1275805961.69588" 
     capture_lex $P2375
-    .const 'Sub' $P2358 = "138_1275803262.0988" 
+    .const 'Sub' $P2358 = "138_1275805961.69588" 
     capture_lex $P2358
-    .const 'Sub' $P2345 = "137_1275803262.0988" 
+    .const 'Sub' $P2345 = "137_1275805961.69588" 
     capture_lex $P2345
-    .const 'Sub' $P2332 = "136_1275803262.0988" 
+    .const 'Sub' $P2332 = "136_1275805961.69588" 
     capture_lex $P2332
-    .const 'Sub' $P2319 = "135_1275803262.0988" 
+    .const 'Sub' $P2319 = "135_1275805961.69588" 
     capture_lex $P2319
-    .const 'Sub' $P2304 = "134_1275803262.0988" 
+    .const 'Sub' $P2304 = "134_1275805961.69588" 
     capture_lex $P2304
 .annotate 'line', 874
-    .const 'Sub' $P2388 = "140_1275803262.0988" 
+    .const 'Sub' $P2388 = "140_1275805961.69588" 
     newclosure $P2413, $P2388
 .annotate 'line', 840
     .return ($P2413)
@@ -24390,12 +24500,13 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<:my>"  :subid("134_1275803262.0988") :method :outer("133_1275803262.0988")
+.include "except_types.pasm"
+.sub "metachar:sym<:my>"  :subid("134_1275805961.69588") :method :outer("133_1275805961.69588")
     .param pmc param_2307
 .annotate 'line', 842
     new $P2306, 'ExceptionHandler'
     set_addr $P2306, control_2305
-    $P2306."handle_types"(57)
+    $P2306."handle_types"(.CONTROL_RETURN)
     push_eh $P2306
     .lex "self", self
     .lex "$/", param_2307
@@ -24430,12 +24541,13 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<{ }>"  :subid("135_1275803262.0988") :method :outer("133_1275803262.0988")
+.include "except_types.pasm"
+.sub "metachar:sym<{ }>"  :subid("135_1275805961.69588") :method :outer("133_1275805961.69588")
     .param pmc param_2322
 .annotate 'line', 848
     new $P2321, 'ExceptionHandler'
     set_addr $P2321, control_2320
-    $P2321."handle_types"(57)
+    $P2321."handle_types"(.CONTROL_RETURN)
     push_eh $P2321
     .lex "self", self
     .lex "$/", param_2322
@@ -24465,12 +24577,13 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<nqpvar>"  :subid("136_1275803262.0988") :method :outer("133_1275803262.0988")
+.include "except_types.pasm"
+.sub "metachar:sym<nqpvar>"  :subid("136_1275805961.69588") :method :outer("133_1275805961.69588")
     .param pmc param_2335
 .annotate 'line', 853
     new $P2334, 'ExceptionHandler'
     set_addr $P2334, control_2333
-    $P2334."handle_types"(57)
+    $P2334."handle_types"(.CONTROL_RETURN)
     push_eh $P2334
     .lex "self", self
     .lex "$/", param_2335
@@ -24500,12 +24613,13 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<{ }>"  :subid("137_1275803262.0988") :method :outer("133_1275803262.0988")
+.include "except_types.pasm"
+.sub "assertion:sym<{ }>"  :subid("137_1275805961.69588") :method :outer("133_1275805961.69588")
     .param pmc param_2348
 .annotate 'line', 858
     new $P2347, 'ExceptionHandler'
     set_addr $P2347, control_2346
-    $P2347."handle_types"(57)
+    $P2347."handle_types"(.CONTROL_RETURN)
     push_eh $P2347
     .lex "self", self
     .lex "$/", param_2348
@@ -24535,12 +24649,13 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<?{ }>"  :subid("138_1275803262.0988") :method :outer("133_1275803262.0988")
+.include "except_types.pasm"
+.sub "assertion:sym<?{ }>"  :subid("138_1275805961.69588") :method :outer("133_1275805961.69588")
     .param pmc param_2361
 .annotate 'line', 863
     new $P2360, 'ExceptionHandler'
     set_addr $P2360, control_2359
-    $P2360."handle_types"(57)
+    $P2360."handle_types"(.CONTROL_RETURN)
     push_eh $P2360
     .lex "self", self
     .lex "$/", param_2361
@@ -24582,12 +24697,13 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<var>"  :subid("139_1275803262.0988") :method :outer("133_1275803262.0988")
+.include "except_types.pasm"
+.sub "assertion:sym<var>"  :subid("139_1275805961.69588") :method :outer("133_1275805961.69588")
     .param pmc param_2378
 .annotate 'line', 869
     new $P2377, 'ExceptionHandler'
     set_addr $P2377, control_2376
-    $P2377."handle_types"(57)
+    $P2377."handle_types"(.CONTROL_RETURN)
     push_eh $P2377
     .lex "self", self
     .lex "$/", param_2378
@@ -24617,12 +24733,13 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "codeblock"  :subid("140_1275803262.0988") :method :outer("133_1275803262.0988")
+.include "except_types.pasm"
+.sub "codeblock"  :subid("140_1275805961.69588") :method :outer("133_1275805961.69588")
     .param pmc param_2391
 .annotate 'line', 874
     new $P2390, 'ExceptionHandler'
     set_addr $P2390, control_2389
-    $P2390."handle_types"(57)
+    $P2390."handle_types"(.CONTROL_RETURN)
     push_eh $P2390
     .lex "self", self
     .lex "$/", param_2391
@@ -24681,18 +24798,18 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block2415" :load :anon :subid("141_1275803262.0988")
+.sub "_block2415" :load :anon :subid("141_1275805961.69588")
 .annotate 'line', 3
-    .const 'Sub' $P2417 = "11_1275803262.0988" 
+    .const 'Sub' $P2417 = "11_1275805961.69588" 
     $P2418 = $P2417()
     .return ($P2418)
 .end
 
 
 .namespace []
-.sub "_block2425" :load :anon :subid("143_1275803262.0988")
+.sub "_block2425" :load :anon :subid("143_1275805961.69588")
 .annotate 'line', 1
-    .const 'Sub' $P2427 = "10_1275803262.0988" 
+    .const 'Sub' $P2427 = "10_1275805961.69588" 
     $P2428 = $P2427()
     .return ($P2428)
 .end

Modified: trunk/ext/nqp-rx/src/stage0/P6Regex-s0.pir
==============================================================================
--- trunk/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Sun Jun  6 07:55:20 2010	(r47423)
+++ trunk/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Sun Jun  6 07:57:48 2010	(r47424)
@@ -16,7 +16,7 @@
 ### .include 'gen/p6regex-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1275803241.30534")
+.sub "_block11"  :anon :subid("10_1275805940.96895")
 .annotate 'line', 0
     get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" 
     capture_lex $P14
@@ -33,15 +33,15 @@
     $P588 = $P14()
 .annotate 'line', 1
     .return ($P588)
-    .const 'Sub' $P590 = "159_1275803241.30534" 
+    .const 'Sub' $P590 = "159_1275805940.96895" 
     .return ($P590)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post160") :outer("10_1275803241.30534")
+.sub "" :load :init :subid("post160") :outer("10_1275805940.96895")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1275803241.30534" 
+    .const 'Sub' $P12 = "10_1275805940.96895" 
     .local pmc block
     set block, $P12
     $P593 = get_root_global ["parrot"], "P6metaclass"
@@ -50,131 +50,131 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block13"  :subid("11_1275803241.30534") :outer("10_1275803241.30534")
+.sub "_block13"  :subid("11_1275805940.96895") :outer("10_1275805940.96895")
 .annotate 'line', 3
-    .const 'Sub' $P576 = "156_1275803241.30534" 
+    .const 'Sub' $P576 = "156_1275805940.96895" 
     capture_lex $P576
-    .const 'Sub' $P568 = "154_1275803241.30534" 
+    .const 'Sub' $P568 = "154_1275805940.96895" 
     capture_lex $P568
-    .const 'Sub' $P560 = "152_1275803241.30534" 
+    .const 'Sub' $P560 = "152_1275805940.96895" 
     capture_lex $P560
-    .const 'Sub' $P539 = "147_1275803241.30534" 
+    .const 'Sub' $P539 = "147_1275805940.96895" 
     capture_lex $P539
-    .const 'Sub' $P504 = "141_1275803241.30534" 
+    .const 'Sub' $P504 = "141_1275805940.96895" 
     capture_lex $P504
-    .const 'Sub' $P492 = "138_1275803241.30534" 
+    .const 'Sub' $P492 = "138_1275805940.96895" 
     capture_lex $P492
-    .const 'Sub' $P479 = "135_1275803241.30534" 
+    .const 'Sub' $P479 = "135_1275805940.96895" 
     capture_lex $P479
-    .const 'Sub' $P473 = "133_1275803241.30534" 
+    .const 'Sub' $P473 = "133_1275805940.96895" 
     capture_lex $P473
-    .const 'Sub' $P462 = "130_1275803241.30534" 
+    .const 'Sub' $P462 = "130_1275805940.96895" 
     capture_lex $P462
-    .const 'Sub' $P451 = "127_1275803241.30534" 
+    .const 'Sub' $P451 = "127_1275805940.96895" 
     capture_lex $P451
-    .const 'Sub' $P442 = "123_1275803241.30534" 
+    .const 'Sub' $P442 = "123_1275805940.96895" 
     capture_lex $P442
-    .const 'Sub' $P436 = "121_1275803241.30534" 
+    .const 'Sub' $P436 = "121_1275805940.96895" 
     capture_lex $P436
-    .const 'Sub' $P430 = "119_1275803241.30534" 
+    .const 'Sub' $P430 = "119_1275805940.96895" 
     capture_lex $P430
-    .const 'Sub' $P424 = "117_1275803241.30534" 
+    .const 'Sub' $P424 = "117_1275805940.96895" 
     capture_lex $P424
-    .const 'Sub' $P418 = "115_1275803241.30534" 
+    .const 'Sub' $P418 = "115_1275805940.96895" 
     capture_lex $P418
-    .const 'Sub' $P410 = "113_1275803241.30534" 
+    .const 'Sub' $P410 = "113_1275805940.96895" 
     capture_lex $P410
-    .const 'Sub' $P399 = "111_1275803241.30534" 
+    .const 'Sub' $P399 = "111_1275805940.96895" 
     capture_lex $P399
-    .const 'Sub' $P388 = "109_1275803241.30534" 
+    .const 'Sub' $P388 = "109_1275805940.96895" 
     capture_lex $P388
-    .const 'Sub' $P382 = "107_1275803241.30534" 
+    .const 'Sub' $P382 = "107_1275805940.96895" 
     capture_lex $P382
-    .const 'Sub' $P376 = "105_1275803241.30534" 
+    .const 'Sub' $P376 = "105_1275805940.96895" 
     capture_lex $P376
-    .const 'Sub' $P370 = "103_1275803241.30534" 
+    .const 'Sub' $P370 = "103_1275805940.96895" 
     capture_lex $P370
-    .const 'Sub' $P364 = "101_1275803241.30534" 
+    .const 'Sub' $P364 = "101_1275805940.96895" 
     capture_lex $P364
-    .const 'Sub' $P358 = "99_1275803241.30534" 
+    .const 'Sub' $P358 = "99_1275805940.96895" 
     capture_lex $P358
-    .const 'Sub' $P352 = "97_1275803241.30534" 
+    .const 'Sub' $P352 = "97_1275805940.96895" 
     capture_lex $P352
-    .const 'Sub' $P346 = "95_1275803241.30534" 
+    .const 'Sub' $P346 = "95_1275805940.96895" 
     capture_lex $P346
-    .const 'Sub' $P340 = "93_1275803241.30534" 
+    .const 'Sub' $P340 = "93_1275805940.96895" 
     capture_lex $P340
-    .const 'Sub' $P328 = "89_1275803241.30534" 
+    .const 'Sub' $P328 = "89_1275805940.96895" 
     capture_lex $P328
-    .const 'Sub' $P316 = "87_1275803241.30534" 
+    .const 'Sub' $P316 = "87_1275805940.96895" 
     capture_lex $P316
-    .const 'Sub' $P309 = "85_1275803241.30534" 
+    .const 'Sub' $P309 = "85_1275805940.96895" 
     capture_lex $P309
-    .const 'Sub' $P292 = "83_1275803241.30534" 
+    .const 'Sub' $P292 = "83_1275805940.96895" 
     capture_lex $P292
-    .const 'Sub' $P285 = "81_1275803241.30534" 
+    .const 'Sub' $P285 = "81_1275805940.96895" 
     capture_lex $P285
-    .const 'Sub' $P279 = "79_1275803241.30534" 
+    .const 'Sub' $P279 = "79_1275805940.96895" 
     capture_lex $P279
-    .const 'Sub' $P273 = "77_1275803241.30534" 
+    .const 'Sub' $P273 = "77_1275805940.96895" 
     capture_lex $P273
-    .const 'Sub' $P266 = "75_1275803241.30534" 
+    .const 'Sub' $P266 = "75_1275805940.96895" 
     capture_lex $P266
-    .const 'Sub' $P259 = "73_1275803241.30534" 
+    .const 'Sub' $P259 = "73_1275805940.96895" 
     capture_lex $P259
-    .const 'Sub' $P252 = "71_1275803241.30534" 
+    .const 'Sub' $P252 = "71_1275805940.96895" 
     capture_lex $P252
-    .const 'Sub' $P245 = "69_1275803241.30534" 
+    .const 'Sub' $P245 = "69_1275805940.96895" 
     capture_lex $P245
-    .const 'Sub' $P239 = "67_1275803241.30534" 
+    .const 'Sub' $P239 = "67_1275805940.96895" 
     capture_lex $P239
-    .const 'Sub' $P233 = "65_1275803241.30534" 
+    .const 'Sub' $P233 = "65_1275805940.96895" 
     capture_lex $P233
-    .const 'Sub' $P227 = "63_1275803241.30534" 
+    .const 'Sub' $P227 = "63_1275805940.96895" 
     capture_lex $P227
-    .const 'Sub' $P221 = "61_1275803241.30534" 
+    .const 'Sub' $P221 = "61_1275805940.96895" 
     capture_lex $P221
-    .const 'Sub' $P215 = "59_1275803241.30534" 
+    .const 'Sub' $P215 = "59_1275805940.96895" 
     capture_lex $P215
-    .const 'Sub' $P210 = "57_1275803241.30534" 
+    .const 'Sub' $P210 = "57_1275805940.96895" 
     capture_lex $P210
-    .const 'Sub' $P205 = "55_1275803241.30534" 
+    .const 'Sub' $P205 = "55_1275805940.96895" 
     capture_lex $P205
-    .const 'Sub' $P199 = "53_1275803241.30534" 
+    .const 'Sub' $P199 = "53_1275805940.96895" 
     capture_lex $P199
-    .const 'Sub' $P193 = "51_1275803241.30534" 
+    .const 'Sub' $P193 = "51_1275805940.96895" 
     capture_lex $P193
-    .const 'Sub' $P187 = "49_1275803241.30534" 
+    .const 'Sub' $P187 = "49_1275805940.96895" 
     capture_lex $P187
-    .const 'Sub' $P171 = "44_1275803241.30534" 
+    .const 'Sub' $P171 = "44_1275805940.96895" 
     capture_lex $P171
-    .const 'Sub' $P155 = "42_1275803241.30534" 
+    .const 'Sub' $P155 = "42_1275805940.96895" 
     capture_lex $P155
-    .const 'Sub' $P148 = "40_1275803241.30534" 
+    .const 'Sub' $P148 = "40_1275805940.96895" 
     capture_lex $P148
-    .const 'Sub' $P141 = "38_1275803241.30534" 
+    .const 'Sub' $P141 = "38_1275805940.96895" 
     capture_lex $P141
-    .const 'Sub' $P134 = "36_1275803241.30534" 
+    .const 'Sub' $P134 = "36_1275805940.96895" 
     capture_lex $P134
-    .const 'Sub' $P115 = "31_1275803241.30534" 
+    .const 'Sub' $P115 = "31_1275805940.96895" 
     capture_lex $P115
-    .const 'Sub' $P102 = "28_1275803241.30534" 
+    .const 'Sub' $P102 = "28_1275805940.96895" 
     capture_lex $P102
-    .const 'Sub' $P95 = "26_1275803241.30534" 
+    .const 'Sub' $P95 = "26_1275805940.96895" 
     capture_lex $P95
-    .const 'Sub' $P83 = "24_1275803241.30534" 
+    .const 'Sub' $P83 = "24_1275805940.96895" 
     capture_lex $P83
-    .const 'Sub' $P76 = "22_1275803241.30534" 
+    .const 'Sub' $P76 = "22_1275805940.96895" 
     capture_lex $P76
-    .const 'Sub' $P63 = "20_1275803241.30534" 
+    .const 'Sub' $P63 = "20_1275805940.96895" 
     capture_lex $P63
-    .const 'Sub' $P56 = "18_1275803241.30534" 
+    .const 'Sub' $P56 = "18_1275805940.96895" 
     capture_lex $P56
-    .const 'Sub' $P46 = "15_1275803241.30534" 
+    .const 'Sub' $P46 = "15_1275805940.96895" 
     capture_lex $P46
-    .const 'Sub' $P38 = "13_1275803241.30534" 
+    .const 'Sub' $P38 = "13_1275805940.96895" 
     capture_lex $P38
-    .const 'Sub' $P15 = "12_1275803241.30534" 
+    .const 'Sub' $P15 = "12_1275805940.96895" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -182,16 +182,17 @@
     unless $I0 goto ctxsave_done
     $P0."ctxsave"()
   ctxsave_done:
-    .const 'Sub' $P576 = "156_1275803241.30534" 
+    .const 'Sub' $P576 = "156_1275805940.96895" 
     capture_lex $P576
     .return ($P576)
-    .const 'Sub' $P585 = "158_1275803241.30534" 
+    .const 'Sub' $P585 = "158_1275805940.96895" 
     .return ($P585)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "obs"  :subid("12_1275803241.30534") :method :outer("11_1275803241.30534")
+.include "except_types.pasm"
+.sub "obs"  :subid("12_1275805940.96895") :method :outer("11_1275805940.96895")
     .param pmc param_18
     .param pmc param_19
     .param pmc param_20 :optional
@@ -199,7 +200,7 @@
 .annotate 'line', 3
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
-    $P17."handle_types"(57)
+    $P17."handle_types"(.CONTROL_RETURN)
     push_eh $P17
     .lex "self", self
     .lex "$old", param_18
@@ -239,7 +240,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "ws"  :subid("13_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "ws"  :subid("13_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx39_tgt
     .local int rx39_pos
@@ -322,7 +323,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__ws"  :subid("14_1275803241.30534") :method
+.sub "!PREFIX__ws"  :subid("14_1275805940.96895") :method
 .annotate 'line', 3
     new $P41, "ResizablePMCArray"
     push $P41, ""
@@ -331,9 +332,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "normspace"  :subid("15_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "normspace"  :subid("15_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
-    .const 'Sub' $P52 = "17_1275803241.30534" 
+    .const 'Sub' $P52 = "17_1275805940.96895" 
     capture_lex $P52
     .local string rx47_tgt
     .local int rx47_pos
@@ -368,7 +369,7 @@
 .annotate 'line', 10
   # rx subrule "before" subtype=zerowidth negate=
     rx47_cur."!cursor_pos"(rx47_pos)
-    .const 'Sub' $P52 = "17_1275803241.30534" 
+    .const 'Sub' $P52 = "17_1275805940.96895" 
     capture_lex $P52
     $P10 = rx47_cur."before"($P52)
     unless $P10, rx47_fail
@@ -396,7 +397,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__normspace"  :subid("16_1275803241.30534") :method
+.sub "!PREFIX__normspace"  :subid("16_1275805940.96895") :method
 .annotate 'line', 3
     new $P49, "ResizablePMCArray"
     push $P49, ""
@@ -405,7 +406,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block51"  :anon :subid("17_1275803241.30534") :method :outer("15_1275803241.30534")
+.sub "_block51"  :anon :subid("17_1275805940.96895") :method :outer("15_1275805940.96895")
 .annotate 'line', 10
     .local string rx53_tgt
     .local int rx53_pos
@@ -474,7 +475,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arg"  :subid("18_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "arg"  :subid("18_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx57_tgt
     .local int rx57_pos
@@ -586,7 +587,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arg"  :subid("19_1275803241.30534") :method
+.sub "!PREFIX__arg"  :subid("19_1275805940.96895") :method
 .annotate 'line', 3
     new $P59, "ResizablePMCArray"
     push $P59, ""
@@ -597,7 +598,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arglist"  :subid("20_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "arglist"  :subid("20_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx64_tgt
     .local int rx64_pos
@@ -704,7 +705,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("21_1275803241.30534") :method
+.sub "!PREFIX__arglist"  :subid("21_1275805940.96895") :method
 .annotate 'line', 3
     $P66 = self."!PREFIX__!subrule"("ws", "")
     new $P67, "ResizablePMCArray"
@@ -714,7 +715,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "TOP"  :subid("22_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "TOP"  :subid("22_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx77_tgt
     .local int rx77_pos
@@ -788,7 +789,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__TOP"  :subid("23_1275803241.30534") :method
+.sub "!PREFIX__TOP"  :subid("23_1275805940.96895") :method
 .annotate 'line', 3
     $P79 = self."!PREFIX__!subrule"("nibbler", "")
     new $P80, "ResizablePMCArray"
@@ -798,7 +799,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "nibbler"  :subid("24_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "nibbler"  :subid("24_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx84_tgt
     .local int rx84_pos
@@ -967,7 +968,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__nibbler"  :subid("25_1275803241.30534") :method
+.sub "!PREFIX__nibbler"  :subid("25_1275805940.96895") :method
 .annotate 'line', 3
     new $P86, "ResizablePMCArray"
     push $P86, ""
@@ -976,7 +977,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "termish"  :subid("26_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "termish"  :subid("26_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx96_tgt
     .local int rx96_pos
@@ -1045,7 +1046,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__termish"  :subid("27_1275803241.30534") :method
+.sub "!PREFIX__termish"  :subid("27_1275805940.96895") :method
 .annotate 'line', 3
     new $P98, "ResizablePMCArray"
     push $P98, ""
@@ -1054,9 +1055,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantified_atom"  :subid("28_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "quantified_atom"  :subid("28_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
-    .const 'Sub' $P111 = "30_1275803241.30534" 
+    .const 'Sub' $P111 = "30_1275805940.96895" 
     capture_lex $P111
     .local string rx103_tgt
     .local int rx103_pos
@@ -1066,7 +1067,7 @@
     .local pmc rx103_cur
     (rx103_cur, rx103_pos, rx103_tgt) = self."!cursor_start"()
     rx103_cur."!cursor_debug"("START ", "quantified_atom")
-    rx103_cur."!cursor_caparray"("backmod", "quantifier")
+    rx103_cur."!cursor_caparray"("quantifier", "backmod")
     .lex unicode:"$\x{a2}", rx103_cur
     .local pmc match
     .lex "$/", match
@@ -1120,7 +1121,7 @@
   alt109_1:
   # rx subrule "before" subtype=zerowidth negate=
     rx103_cur."!cursor_pos"(rx103_pos)
-    .const 'Sub' $P111 = "30_1275803241.30534" 
+    .const 'Sub' $P111 = "30_1275805940.96895" 
     capture_lex $P111
     $P10 = rx103_cur."before"($P111)
     unless $P10, rx103_fail
@@ -1158,7 +1159,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantified_atom"  :subid("29_1275803241.30534") :method
+.sub "!PREFIX__quantified_atom"  :subid("29_1275805940.96895") :method
 .annotate 'line', 3
     $P105 = self."!PREFIX__!subrule"("atom", "")
     new $P106, "ResizablePMCArray"
@@ -1168,7 +1169,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block110"  :anon :subid("30_1275803241.30534") :method :outer("28_1275803241.30534")
+.sub "_block110"  :anon :subid("30_1275805940.96895") :method :outer("28_1275805940.96895")
 .annotate 'line', 41
     .local string rx112_tgt
     .local int rx112_pos
@@ -1225,9 +1226,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "atom"  :subid("31_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "atom"  :subid("31_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
-    .const 'Sub' $P126 = "33_1275803241.30534" 
+    .const 'Sub' $P126 = "33_1275805940.96895" 
     capture_lex $P126
     .local string rx116_tgt
     .local int rx116_pos
@@ -1288,7 +1289,7 @@
   rxquantg123_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx116_cur."!cursor_pos"(rx116_pos)
-    .const 'Sub' $P126 = "33_1275803241.30534" 
+    .const 'Sub' $P126 = "33_1275805940.96895" 
     capture_lex $P126
     $P10 = rx116_cur."before"($P126)
     unless $P10, rx116_fail
@@ -1325,7 +1326,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__atom"  :subid("32_1275803241.30534") :method
+.sub "!PREFIX__atom"  :subid("32_1275805940.96895") :method
 .annotate 'line', 3
     $P118 = self."!PREFIX__!subrule"("metachar", "")
     new $P119, "ResizablePMCArray"
@@ -1336,7 +1337,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block125"  :anon :subid("33_1275803241.30534") :method :outer("31_1275803241.30534")
+.sub "_block125"  :anon :subid("33_1275805940.96895") :method :outer("31_1275805940.96895")
 .annotate 'line', 47
     .local string rx127_tgt
     .local int rx127_pos
@@ -1392,7 +1393,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier"  :subid("34_1275803241.30534") :method
+.sub "quantifier"  :subid("34_1275805940.96895") :method
 .annotate 'line', 52
     $P131 = self."!protoregex"("quantifier")
     .return ($P131)
@@ -1400,7 +1401,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier"  :subid("35_1275803241.30534") :method
+.sub "!PREFIX__quantifier"  :subid("35_1275805940.96895") :method
 .annotate 'line', 52
     $P133 = self."!PREFIX__!protoregex"("quantifier")
     .return ($P133)
@@ -1408,7 +1409,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<*>"  :subid("36_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "quantifier:sym<*>"  :subid("36_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx135_tgt
     .local int rx135_pos
@@ -1488,7 +1489,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<*>"  :subid("37_1275803241.30534") :method
+.sub "!PREFIX__quantifier:sym<*>"  :subid("37_1275805940.96895") :method
 .annotate 'line', 3
     $P137 = self."!PREFIX__!subrule"("backmod", "*")
     new $P138, "ResizablePMCArray"
@@ -1498,7 +1499,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<+>"  :subid("38_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "quantifier:sym<+>"  :subid("38_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx142_tgt
     .local int rx142_pos
@@ -1578,7 +1579,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<+>"  :subid("39_1275803241.30534") :method
+.sub "!PREFIX__quantifier:sym<+>"  :subid("39_1275805940.96895") :method
 .annotate 'line', 3
     $P144 = self."!PREFIX__!subrule"("backmod", "+")
     new $P145, "ResizablePMCArray"
@@ -1588,7 +1589,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<?>"  :subid("40_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "quantifier:sym<?>"  :subid("40_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx149_tgt
     .local int rx149_pos
@@ -1668,7 +1669,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<?>"  :subid("41_1275803241.30534") :method
+.sub "!PREFIX__quantifier:sym<?>"  :subid("41_1275805940.96895") :method
 .annotate 'line', 3
     $P151 = self."!PREFIX__!subrule"("backmod", "?")
     new $P152, "ResizablePMCArray"
@@ -1678,7 +1679,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<**>"  :subid("42_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "quantifier:sym<**>"  :subid("42_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx156_tgt
     .local int rx156_pos
@@ -1886,7 +1887,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<**>"  :subid("43_1275803241.30534") :method
+.sub "!PREFIX__quantifier:sym<**>"  :subid("43_1275805940.96895") :method
 .annotate 'line', 3
     new $P158, "ResizablePMCArray"
     push $P158, "**"
@@ -1895,9 +1896,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backmod"  :subid("44_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backmod"  :subid("44_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
-    .const 'Sub' $P180 = "46_1275803241.30534" 
+    .const 'Sub' $P180 = "46_1275805940.96895" 
     capture_lex $P180
     .local string rx172_tgt
     .local int rx172_pos
@@ -1968,7 +1969,7 @@
   alt178_2:
   # rx subrule "before" subtype=zerowidth negate=1
     rx172_cur."!cursor_pos"(rx172_pos)
-    .const 'Sub' $P180 = "46_1275803241.30534" 
+    .const 'Sub' $P180 = "46_1275805940.96895" 
     capture_lex $P180
     $P10 = rx172_cur."before"($P180)
     if $P10, rx172_fail
@@ -1992,7 +1993,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backmod"  :subid("45_1275803241.30534") :method
+.sub "!PREFIX__backmod"  :subid("45_1275805940.96895") :method
 .annotate 'line', 3
     new $P174, "ResizablePMCArray"
     push $P174, ""
@@ -2001,7 +2002,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block179"  :anon :subid("46_1275803241.30534") :method :outer("44_1275803241.30534")
+.sub "_block179"  :anon :subid("46_1275805940.96895") :method :outer("44_1275805940.96895")
 .annotate 'line', 71
     .local string rx181_tgt
     .local int rx181_pos
@@ -2058,7 +2059,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar"  :subid("47_1275803241.30534") :method
+.sub "metachar"  :subid("47_1275805940.96895") :method
 .annotate 'line', 73
     $P184 = self."!protoregex"("metachar")
     .return ($P184)
@@ -2066,7 +2067,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar"  :subid("48_1275803241.30534") :method
+.sub "!PREFIX__metachar"  :subid("48_1275805940.96895") :method
 .annotate 'line', 73
     $P186 = self."!PREFIX__!protoregex"("metachar")
     .return ($P186)
@@ -2074,7 +2075,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<ws>"  :subid("49_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<ws>"  :subid("49_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx188_tgt
     .local int rx188_pos
@@ -2131,7 +2132,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<ws>"  :subid("50_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<ws>"  :subid("50_1275805940.96895") :method
 .annotate 'line', 3
     $P190 = self."!PREFIX__!subrule"("normspace", "")
     new $P191, "ResizablePMCArray"
@@ -2141,7 +2142,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<[ ]>"  :subid("51_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<[ ]>"  :subid("51_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx194_tgt
     .local int rx194_pos
@@ -2214,7 +2215,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<[ ]>"  :subid("52_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<[ ]>"  :subid("52_1275805940.96895") :method
 .annotate 'line', 3
     $P196 = self."!PREFIX__!subrule"("nibbler", "[")
     new $P197, "ResizablePMCArray"
@@ -2224,7 +2225,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<( )>"  :subid("53_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<( )>"  :subid("53_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx200_tgt
     .local int rx200_pos
@@ -2297,7 +2298,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<( )>"  :subid("54_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<( )>"  :subid("54_1275805940.96895") :method
 .annotate 'line', 3
     $P202 = self."!PREFIX__!subrule"("nibbler", "(")
     new $P203, "ResizablePMCArray"
@@ -2307,7 +2308,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<'>"  :subid("55_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<'>"  :subid("55_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx206_tgt
     .local int rx206_pos
@@ -2372,7 +2373,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<'>"  :subid("56_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<'>"  :subid("56_1275805940.96895") :method
 .annotate 'line', 3
     new $P208, "ResizablePMCArray"
     push $P208, "'"
@@ -2381,7 +2382,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<\">"  :subid("57_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<\">"  :subid("57_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx211_tgt
     .local int rx211_pos
@@ -2446,7 +2447,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<\">"  :subid("58_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<\">"  :subid("58_1275805940.96895") :method
 .annotate 'line', 3
     new $P213, "ResizablePMCArray"
     push $P213, "\""
@@ -2455,7 +2456,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<.>"  :subid("59_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<.>"  :subid("59_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx216_tgt
     .local int rx216_pos
@@ -2528,7 +2529,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<.>"  :subid("60_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<.>"  :subid("60_1275805940.96895") :method
 .annotate 'line', 3
     new $P218, "ResizablePMCArray"
     push $P218, "."
@@ -2537,7 +2538,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^>"  :subid("61_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<^>"  :subid("61_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx222_tgt
     .local int rx222_pos
@@ -2610,7 +2611,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^>"  :subid("62_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<^>"  :subid("62_1275805940.96895") :method
 .annotate 'line', 3
     new $P224, "ResizablePMCArray"
     push $P224, "^"
@@ -2619,7 +2620,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^^>"  :subid("63_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<^^>"  :subid("63_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx228_tgt
     .local int rx228_pos
@@ -2692,7 +2693,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^^>"  :subid("64_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<^^>"  :subid("64_1275805940.96895") :method
 .annotate 'line', 3
     new $P230, "ResizablePMCArray"
     push $P230, "^^"
@@ -2701,7 +2702,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$>"  :subid("65_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<$>"  :subid("65_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx234_tgt
     .local int rx234_pos
@@ -2774,7 +2775,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$>"  :subid("66_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<$>"  :subid("66_1275805940.96895") :method
 .annotate 'line', 3
     new $P236, "ResizablePMCArray"
     push $P236, "$"
@@ -2783,7 +2784,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$$>"  :subid("67_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<$$>"  :subid("67_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx240_tgt
     .local int rx240_pos
@@ -2856,7 +2857,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$$>"  :subid("68_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<$$>"  :subid("68_1275805940.96895") :method
 .annotate 'line', 3
     new $P242, "ResizablePMCArray"
     push $P242, "$$"
@@ -2865,7 +2866,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<:::>"  :subid("69_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<:::>"  :subid("69_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx246_tgt
     .local int rx246_pos
@@ -2943,7 +2944,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<:::>"  :subid("70_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<:::>"  :subid("70_1275805940.96895") :method
 .annotate 'line', 3
     $P248 = self."!PREFIX__!subrule"("panic", ":::")
     new $P249, "ResizablePMCArray"
@@ -2953,7 +2954,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<::>"  :subid("71_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<::>"  :subid("71_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx253_tgt
     .local int rx253_pos
@@ -3031,7 +3032,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<::>"  :subid("72_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<::>"  :subid("72_1275805940.96895") :method
 .annotate 'line', 3
     $P255 = self."!PREFIX__!subrule"("panic", "::")
     new $P256, "ResizablePMCArray"
@@ -3041,7 +3042,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<lwb>"  :subid("73_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<lwb>"  :subid("73_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx260_tgt
     .local int rx260_pos
@@ -3127,7 +3128,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<lwb>"  :subid("74_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<lwb>"  :subid("74_1275805940.96895") :method
 .annotate 'line', 3
     new $P262, "ResizablePMCArray"
     push $P262, unicode:"\x{ab}"
@@ -3137,7 +3138,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<rwb>"  :subid("75_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<rwb>"  :subid("75_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx267_tgt
     .local int rx267_pos
@@ -3223,7 +3224,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<rwb>"  :subid("76_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<rwb>"  :subid("76_1275805940.96895") :method
 .annotate 'line', 3
     new $P269, "ResizablePMCArray"
     push $P269, unicode:"\x{bb}"
@@ -3233,7 +3234,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<bs>"  :subid("77_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<bs>"  :subid("77_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx274_tgt
     .local int rx274_pos
@@ -3299,7 +3300,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<bs>"  :subid("78_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<bs>"  :subid("78_1275805940.96895") :method
 .annotate 'line', 3
     $P276 = self."!PREFIX__!subrule"("backslash", "\\")
     new $P277, "ResizablePMCArray"
@@ -3309,7 +3310,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<mod>"  :subid("79_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<mod>"  :subid("79_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx280_tgt
     .local int rx280_pos
@@ -3368,7 +3369,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<mod>"  :subid("80_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<mod>"  :subid("80_1275805940.96895") :method
 .annotate 'line', 3
     $P282 = self."!PREFIX__!subrule"("mod_internal", "")
     new $P283, "ResizablePMCArray"
@@ -3378,7 +3379,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<~>"  :subid("81_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<~>"  :subid("81_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx286_tgt
     .local int rx286_pos
@@ -3478,7 +3479,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<~>"  :subid("82_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<~>"  :subid("82_1275805940.96895") :method
 .annotate 'line', 3
     $P288 = self."!PREFIX__!subrule"("ws", "~")
     new $P289, "ResizablePMCArray"
@@ -3488,7 +3489,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<{*}>"  :subid("83_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<{*}>"  :subid("83_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx293_tgt
     .local int rx293_pos
@@ -3656,7 +3657,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<{*}>"  :subid("84_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<{*}>"  :subid("84_1275805940.96895") :method
 .annotate 'line', 3
     new $P295, "ResizablePMCArray"
     push $P295, "{*}"
@@ -3665,7 +3666,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<assert>"  :subid("85_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<assert>"  :subid("85_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx310_tgt
     .local int rx310_pos
@@ -3751,7 +3752,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<assert>"  :subid("86_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<assert>"  :subid("86_1275805940.96895") :method
 .annotate 'line', 3
     $P312 = self."!PREFIX__!subrule"("assertion", "<")
     new $P313, "ResizablePMCArray"
@@ -3761,7 +3762,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<var>"  :subid("87_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<var>"  :subid("87_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx317_tgt
     .local int rx317_pos
@@ -3924,7 +3925,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<var>"  :subid("88_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<var>"  :subid("88_1275805940.96895") :method
 .annotate 'line', 3
     new $P319, "ResizablePMCArray"
     push $P319, "$"
@@ -3934,7 +3935,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<PIR>"  :subid("89_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "metachar:sym<PIR>"  :subid("89_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx329_tgt
     .local int rx329_pos
@@ -4026,7 +4027,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<PIR>"  :subid("90_1275803241.30534") :method
+.sub "!PREFIX__metachar:sym<PIR>"  :subid("90_1275805940.96895") :method
 .annotate 'line', 3
     new $P331, "ResizablePMCArray"
     push $P331, ":PIR{{"
@@ -4035,7 +4036,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash"  :subid("91_1275803241.30534") :method
+.sub "backslash"  :subid("91_1275805940.96895") :method
 .annotate 'line', 120
     $P337 = self."!protoregex"("backslash")
     .return ($P337)
@@ -4043,7 +4044,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash"  :subid("92_1275803241.30534") :method
+.sub "!PREFIX__backslash"  :subid("92_1275805940.96895") :method
 .annotate 'line', 120
     $P339 = self."!PREFIX__!protoregex"("backslash")
     .return ($P339)
@@ -4051,7 +4052,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<w>"  :subid("93_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<w>"  :subid("93_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx341_tgt
     .local int rx341_pos
@@ -4124,7 +4125,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<w>"  :subid("94_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<w>"  :subid("94_1275805940.96895") :method
 .annotate 'line', 3
     new $P343, "ResizablePMCArray"
     push $P343, "N"
@@ -4140,7 +4141,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<b>"  :subid("95_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<b>"  :subid("95_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx347_tgt
     .local int rx347_pos
@@ -4213,7 +4214,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<b>"  :subid("96_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<b>"  :subid("96_1275805940.96895") :method
 .annotate 'line', 3
     new $P349, "ResizablePMCArray"
     push $P349, "B"
@@ -4223,7 +4224,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<e>"  :subid("97_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<e>"  :subid("97_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx353_tgt
     .local int rx353_pos
@@ -4296,7 +4297,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<e>"  :subid("98_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<e>"  :subid("98_1275805940.96895") :method
 .annotate 'line', 3
     new $P355, "ResizablePMCArray"
     push $P355, "E"
@@ -4306,7 +4307,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<f>"  :subid("99_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<f>"  :subid("99_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx359_tgt
     .local int rx359_pos
@@ -4379,7 +4380,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<f>"  :subid("100_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<f>"  :subid("100_1275805940.96895") :method
 .annotate 'line', 3
     new $P361, "ResizablePMCArray"
     push $P361, "F"
@@ -4389,7 +4390,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<h>"  :subid("101_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<h>"  :subid("101_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx365_tgt
     .local int rx365_pos
@@ -4462,7 +4463,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<h>"  :subid("102_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<h>"  :subid("102_1275805940.96895") :method
 .annotate 'line', 3
     new $P367, "ResizablePMCArray"
     push $P367, "H"
@@ -4472,7 +4473,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<r>"  :subid("103_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<r>"  :subid("103_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx371_tgt
     .local int rx371_pos
@@ -4545,7 +4546,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<r>"  :subid("104_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<r>"  :subid("104_1275805940.96895") :method
 .annotate 'line', 3
     new $P373, "ResizablePMCArray"
     push $P373, "R"
@@ -4555,7 +4556,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<t>"  :subid("105_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<t>"  :subid("105_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx377_tgt
     .local int rx377_pos
@@ -4628,7 +4629,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<t>"  :subid("106_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<t>"  :subid("106_1275805940.96895") :method
 .annotate 'line', 3
     new $P379, "ResizablePMCArray"
     push $P379, "T"
@@ -4638,7 +4639,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<v>"  :subid("107_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<v>"  :subid("107_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx383_tgt
     .local int rx383_pos
@@ -4711,7 +4712,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<v>"  :subid("108_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<v>"  :subid("108_1275805940.96895") :method
 .annotate 'line', 3
     new $P385, "ResizablePMCArray"
     push $P385, "V"
@@ -4721,7 +4722,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<o>"  :subid("109_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<o>"  :subid("109_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx389_tgt
     .local int rx389_pos
@@ -4828,7 +4829,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<o>"  :subid("110_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<o>"  :subid("110_1275805940.96895") :method
 .annotate 'line', 3
     $P391 = self."!PREFIX__!subrule"("octints", "O[")
     $P392 = self."!PREFIX__!subrule"("octint", "O")
@@ -4844,7 +4845,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<x>"  :subid("111_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<x>"  :subid("111_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx400_tgt
     .local int rx400_pos
@@ -4951,7 +4952,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<x>"  :subid("112_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<x>"  :subid("112_1275805940.96895") :method
 .annotate 'line', 3
     $P402 = self."!PREFIX__!subrule"("hexints", "X[")
     $P403 = self."!PREFIX__!subrule"("hexint", "X")
@@ -4967,7 +4968,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<c>"  :subid("113_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<c>"  :subid("113_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx411_tgt
     .local int rx411_pos
@@ -5047,7 +5048,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<c>"  :subid("114_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<c>"  :subid("114_1275805940.96895") :method
 .annotate 'line', 3
     $P413 = self."!PREFIX__!subrule"("charspec", "C")
     $P414 = self."!PREFIX__!subrule"("charspec", "c")
@@ -5059,7 +5060,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<A>"  :subid("115_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<A>"  :subid("115_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx419_tgt
     .local int rx419_pos
@@ -5123,7 +5124,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<A>"  :subid("116_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<A>"  :subid("116_1275805940.96895") :method
 .annotate 'line', 3
     $P421 = self."!PREFIX__!subrule"("obs", "A")
     new $P422, "ResizablePMCArray"
@@ -5133,7 +5134,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<z>"  :subid("117_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<z>"  :subid("117_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx425_tgt
     .local int rx425_pos
@@ -5197,7 +5198,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<z>"  :subid("118_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<z>"  :subid("118_1275805940.96895") :method
 .annotate 'line', 3
     $P427 = self."!PREFIX__!subrule"("obs", "z")
     new $P428, "ResizablePMCArray"
@@ -5207,7 +5208,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Z>"  :subid("119_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<Z>"  :subid("119_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx431_tgt
     .local int rx431_pos
@@ -5271,7 +5272,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Z>"  :subid("120_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<Z>"  :subid("120_1275805940.96895") :method
 .annotate 'line', 3
     $P433 = self."!PREFIX__!subrule"("obs", "Z")
     new $P434, "ResizablePMCArray"
@@ -5281,7 +5282,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Q>"  :subid("121_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<Q>"  :subid("121_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx437_tgt
     .local int rx437_pos
@@ -5345,7 +5346,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Q>"  :subid("122_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<Q>"  :subid("122_1275805940.96895") :method
 .annotate 'line', 3
     $P439 = self."!PREFIX__!subrule"("obs", "Q")
     new $P440, "ResizablePMCArray"
@@ -5355,7 +5356,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<misc>"  :subid("123_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "backslash:sym<misc>"  :subid("123_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx443_tgt
     .local int rx443_pos
@@ -5413,7 +5414,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<misc>"  :subid("124_1275803241.30534") :method
+.sub "!PREFIX__backslash:sym<misc>"  :subid("124_1275805940.96895") :method
 .annotate 'line', 3
     new $P445, "ResizablePMCArray"
     push $P445, ""
@@ -5422,7 +5423,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion"  :subid("125_1275803241.30534") :method
+.sub "assertion"  :subid("125_1275805940.96895") :method
 .annotate 'line', 138
     $P448 = self."!protoregex"("assertion")
     .return ($P448)
@@ -5430,7 +5431,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion"  :subid("126_1275803241.30534") :method
+.sub "!PREFIX__assertion"  :subid("126_1275805940.96895") :method
 .annotate 'line', 138
     $P450 = self."!PREFIX__!protoregex"("assertion")
     .return ($P450)
@@ -5438,9 +5439,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<?>"  :subid("127_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "assertion:sym<?>"  :subid("127_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
-    .const 'Sub' $P459 = "129_1275803241.30534" 
+    .const 'Sub' $P459 = "129_1275805940.96895" 
     capture_lex $P459
     .local string rx452_tgt
     .local int rx452_pos
@@ -5485,7 +5486,7 @@
     rx452_cur."!mark_push"(0, rx452_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
     rx452_cur."!cursor_pos"(rx452_pos)
-    .const 'Sub' $P459 = "129_1275803241.30534" 
+    .const 'Sub' $P459 = "129_1275805940.96895" 
     capture_lex $P459
     $P10 = rx452_cur."before"($P459)
     unless $P10, rx452_fail
@@ -5518,7 +5519,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<?>"  :subid("128_1275803241.30534") :method
+.sub "!PREFIX__assertion:sym<?>"  :subid("128_1275805940.96895") :method
 .annotate 'line', 3
     $P454 = self."!PREFIX__!subrule"("assertion", "?")
     new $P455, "ResizablePMCArray"
@@ -5529,7 +5530,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block458"  :anon :subid("129_1275803241.30534") :method :outer("127_1275803241.30534")
+.sub "_block458"  :anon :subid("129_1275805940.96895") :method :outer("127_1275805940.96895")
 .annotate 'line', 140
     .local string rx460_tgt
     .local int rx460_pos
@@ -5586,9 +5587,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<!>"  :subid("130_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "assertion:sym<!>"  :subid("130_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
-    .const 'Sub' $P470 = "132_1275803241.30534" 
+    .const 'Sub' $P470 = "132_1275805940.96895" 
     capture_lex $P470
     .local string rx463_tgt
     .local int rx463_pos
@@ -5633,7 +5634,7 @@
     rx463_cur."!mark_push"(0, rx463_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
     rx463_cur."!cursor_pos"(rx463_pos)
-    .const 'Sub' $P470 = "132_1275803241.30534" 
+    .const 'Sub' $P470 = "132_1275805940.96895" 
     capture_lex $P470
     $P10 = rx463_cur."before"($P470)
     unless $P10, rx463_fail
@@ -5666,7 +5667,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<!>"  :subid("131_1275803241.30534") :method
+.sub "!PREFIX__assertion:sym<!>"  :subid("131_1275805940.96895") :method
 .annotate 'line', 3
     $P465 = self."!PREFIX__!subrule"("assertion", "!")
     new $P466, "ResizablePMCArray"
@@ -5677,7 +5678,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block469"  :anon :subid("132_1275803241.30534") :method :outer("130_1275803241.30534")
+.sub "_block469"  :anon :subid("132_1275805940.96895") :method :outer("130_1275805940.96895")
 .annotate 'line', 141
     .local string rx471_tgt
     .local int rx471_pos
@@ -5734,7 +5735,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<method>"  :subid("133_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "assertion:sym<method>"  :subid("133_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx474_tgt
     .local int rx474_pos
@@ -5801,7 +5802,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<method>"  :subid("134_1275803241.30534") :method
+.sub "!PREFIX__assertion:sym<method>"  :subid("134_1275805940.96895") :method
 .annotate 'line', 3
     $P476 = self."!PREFIX__!subrule"("assertion", ".")
     new $P477, "ResizablePMCArray"
@@ -5811,9 +5812,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<name>"  :subid("135_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "assertion:sym<name>"  :subid("135_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
-    .const 'Sub' $P488 = "137_1275803241.30534" 
+    .const 'Sub' $P488 = "137_1275805940.96895" 
     capture_lex $P488
     .local string rx480_tgt
     .local int rx480_pos
@@ -5823,7 +5824,7 @@
     .local pmc rx480_cur
     (rx480_cur, rx480_pos, rx480_tgt) = self."!cursor_start"()
     rx480_cur."!cursor_debug"("START ", "assertion:sym<name>")
-    rx480_cur."!cursor_caparray"("arglist", "nibbler", "assertion")
+    rx480_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
     .lex unicode:"$\x{a2}", rx480_cur
     .local pmc match
     .lex "$/", match
@@ -5879,7 +5880,7 @@
 .annotate 'line', 150
   # rx subrule "before" subtype=zerowidth negate=
     rx480_cur."!cursor_pos"(rx480_pos)
-    .const 'Sub' $P488 = "137_1275803241.30534" 
+    .const 'Sub' $P488 = "137_1275805940.96895" 
     capture_lex $P488
     $P10 = rx480_cur."before"($P488)
     unless $P10, rx480_fail
@@ -5986,7 +5987,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("136_1275803241.30534") :method
+.sub "!PREFIX__assertion:sym<name>"  :subid("136_1275805940.96895") :method
 .annotate 'line', 3
     new $P482, "ResizablePMCArray"
     push $P482, ""
@@ -5995,7 +5996,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block487"  :anon :subid("137_1275803241.30534") :method :outer("135_1275803241.30534")
+.sub "_block487"  :anon :subid("137_1275805940.96895") :method :outer("135_1275805940.96895")
 .annotate 'line', 150
     .local string rx489_tgt
     .local int rx489_pos
@@ -6052,9 +6053,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<[>"  :subid("138_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "assertion:sym<[>"  :subid("138_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
-    .const 'Sub' $P498 = "140_1275803241.30534" 
+    .const 'Sub' $P498 = "140_1275805940.96895" 
     capture_lex $P498
     .local string rx493_tgt
     .local int rx493_pos
@@ -6090,7 +6091,7 @@
 .annotate 'line', 158
   # rx subrule "before" subtype=zerowidth negate=
     rx493_cur."!cursor_pos"(rx493_pos)
-    .const 'Sub' $P498 = "140_1275803241.30534" 
+    .const 'Sub' $P498 = "140_1275805940.96895" 
     capture_lex $P498
     $P10 = rx493_cur."before"($P498)
     unless $P10, rx493_fail
@@ -6128,7 +6129,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<[>"  :subid("139_1275803241.30534") :method
+.sub "!PREFIX__assertion:sym<[>"  :subid("139_1275805940.96895") :method
 .annotate 'line', 3
     new $P495, "ResizablePMCArray"
     push $P495, ""
@@ -6137,7 +6138,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block497"  :anon :subid("140_1275803241.30534") :method :outer("138_1275803241.30534")
+.sub "_block497"  :anon :subid("140_1275805940.96895") :method :outer("138_1275805940.96895")
 .annotate 'line', 158
     .local string rx499_tgt
     .local int rx499_pos
@@ -6218,9 +6219,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "cclass_elem"  :subid("141_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "cclass_elem"  :subid("141_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
-    .const 'Sub' $P516 = "143_1275803241.30534" 
+    .const 'Sub' $P516 = "143_1275805940.96895" 
     capture_lex $P516
     .local string rx505_tgt
     .local int rx505_pos
@@ -6324,7 +6325,7 @@
 .annotate 'line', 164
   # rx subrule $P516 subtype=capture negate=
     rx505_cur."!cursor_pos"(rx505_pos)
-    .const 'Sub' $P516 = "143_1275803241.30534" 
+    .const 'Sub' $P516 = "143_1275805940.96895" 
     capture_lex $P516
     $P10 = rx505_cur.$P516()
     unless $P10, rx505_fail
@@ -6405,7 +6406,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__cclass_elem"  :subid("142_1275803241.30534") :method
+.sub "!PREFIX__cclass_elem"  :subid("142_1275805940.96895") :method
 .annotate 'line', 3
     new $P507, "ResizablePMCArray"
     push $P507, ""
@@ -6416,13 +6417,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block515"  :anon :subid("143_1275803241.30534") :method :outer("141_1275803241.30534")
+.sub "_block515"  :anon :subid("143_1275805940.96895") :method :outer("141_1275805940.96895")
 .annotate 'line', 164
-    .const 'Sub' $P531 = "146_1275803241.30534" 
+    .const 'Sub' $P531 = "146_1275805940.96895" 
     capture_lex $P531
-    .const 'Sub' $P526 = "145_1275803241.30534" 
+    .const 'Sub' $P526 = "145_1275805940.96895" 
     capture_lex $P526
-    .const 'Sub' $P522 = "144_1275803241.30534" 
+    .const 'Sub' $P522 = "144_1275805940.96895" 
     capture_lex $P522
     .local string rx517_tgt
     .local int rx517_pos
@@ -6494,7 +6495,7 @@
     add rx517_pos, 1
   # rx subrule $P522 subtype=capture negate=
     rx517_cur."!cursor_pos"(rx517_pos)
-    .const 'Sub' $P522 = "144_1275803241.30534" 
+    .const 'Sub' $P522 = "144_1275805940.96895" 
     capture_lex $P522
     $P10 = rx517_cur.$P522()
     unless $P10, rx517_fail
@@ -6505,7 +6506,7 @@
   alt520_1:
   # rx subrule $P526 subtype=capture negate=
     rx517_cur."!cursor_pos"(rx517_pos)
-    .const 'Sub' $P526 = "145_1275803241.30534" 
+    .const 'Sub' $P526 = "145_1275805940.96895" 
     capture_lex $P526
     $P10 = rx517_cur.$P526()
     unless $P10, rx517_fail
@@ -6534,7 +6535,7 @@
     add rx517_pos, rx517_off, $I11
   # rx subrule $P531 subtype=capture negate=
     rx517_cur."!cursor_pos"(rx517_pos)
-    .const 'Sub' $P531 = "146_1275803241.30534" 
+    .const 'Sub' $P531 = "146_1275805940.96895" 
     capture_lex $P531
     $P10 = rx517_cur.$P531()
     unless $P10, rx517_fail
@@ -6563,7 +6564,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block521"  :anon :subid("144_1275803241.30534") :method :outer("143_1275803241.30534")
+.sub "_block521"  :anon :subid("144_1275805940.96895") :method :outer("143_1275805940.96895")
 .annotate 'line', 166
     .local string rx523_tgt
     .local int rx523_pos
@@ -6616,7 +6617,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block525"  :anon :subid("145_1275803241.30534") :method :outer("143_1275803241.30534")
+.sub "_block525"  :anon :subid("145_1275805940.96895") :method :outer("143_1275805940.96895")
 .annotate 'line', 166
     .local string rx527_tgt
     .local int rx527_pos
@@ -6673,7 +6674,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block530"  :anon :subid("146_1275803241.30534") :method :outer("143_1275803241.30534")
+.sub "_block530"  :anon :subid("146_1275805940.96895") :method :outer("143_1275805940.96895")
 .annotate 'line', 166
     .local string rx532_tgt
     .local int rx532_pos
@@ -6726,9 +6727,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_internal"  :subid("147_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "mod_internal"  :subid("147_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
-    .const 'Sub' $P548 = "149_1275803241.30534" 
+    .const 'Sub' $P548 = "149_1275805940.96895" 
     capture_lex $P548
     .local string rx540_tgt
     .local int rx540_pos
@@ -6779,7 +6780,7 @@
   rxquantr546_loop:
   # rx subrule $P548 subtype=capture negate=
     rx540_cur."!cursor_pos"(rx540_pos)
-    .const 'Sub' $P548 = "149_1275803241.30534" 
+    .const 'Sub' $P548 = "149_1275805940.96895" 
     capture_lex $P548
     $P10 = rx540_cur.$P548()
     unless $P10, rx540_fail
@@ -6881,7 +6882,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_internal"  :subid("148_1275803241.30534") :method
+.sub "!PREFIX__mod_internal"  :subid("148_1275805940.96895") :method
 .annotate 'line', 3
     $P542 = self."!PREFIX__!subrule"("mod_ident", ":")
     new $P543, "ResizablePMCArray"
@@ -6892,7 +6893,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block547"  :anon :subid("149_1275803241.30534") :method :outer("147_1275803241.30534")
+.sub "_block547"  :anon :subid("149_1275805940.96895") :method :outer("147_1275805940.96895")
 .annotate 'line', 176
     .local string rx549_tgt
     .local int rx549_pos
@@ -6961,7 +6962,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident"  :subid("150_1275803241.30534") :method
+.sub "mod_ident"  :subid("150_1275805940.96895") :method
 .annotate 'line', 181
     $P557 = self."!protoregex"("mod_ident")
     .return ($P557)
@@ -6969,7 +6970,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident"  :subid("151_1275803241.30534") :method
+.sub "!PREFIX__mod_ident"  :subid("151_1275805940.96895") :method
 .annotate 'line', 181
     $P559 = self."!PREFIX__!protoregex"("mod_ident")
     .return ($P559)
@@ -6977,7 +6978,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ignorecase>"  :subid("152_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "mod_ident:sym<ignorecase>"  :subid("152_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx561_tgt
     .local int rx561_pos
@@ -7063,7 +7064,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("153_1275803241.30534") :method
+.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("153_1275805940.96895") :method
 .annotate 'line', 3
     new $P563, "ResizablePMCArray"
     push $P563, "i"
@@ -7072,7 +7073,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ratchet>"  :subid("154_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "mod_ident:sym<ratchet>"  :subid("154_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx569_tgt
     .local int rx569_pos
@@ -7158,7 +7159,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("155_1275803241.30534") :method
+.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("155_1275805940.96895") :method
 .annotate 'line', 3
     new $P571, "ResizablePMCArray"
     push $P571, "r"
@@ -7167,7 +7168,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<sigspace>"  :subid("156_1275803241.30534") :method :outer("11_1275803241.30534")
+.sub "mod_ident:sym<sigspace>"  :subid("156_1275805940.96895") :method :outer("11_1275805940.96895")
 .annotate 'line', 3
     .local string rx577_tgt
     .local int rx577_pos
@@ -7253,7 +7254,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("157_1275803241.30534") :method
+.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("157_1275805940.96895") :method
 .annotate 'line', 3
     new $P579, "ResizablePMCArray"
     push $P579, "s"
@@ -7262,18 +7263,18 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block584" :load :anon :subid("158_1275803241.30534")
+.sub "_block584" :load :anon :subid("158_1275805940.96895")
 .annotate 'line', 3
-    .const 'Sub' $P586 = "11_1275803241.30534" 
+    .const 'Sub' $P586 = "11_1275805940.96895" 
     $P587 = $P586()
     .return ($P587)
 .end
 
 
 .namespace []
-.sub "_block589" :load :anon :subid("159_1275803241.30534")
+.sub "_block589" :load :anon :subid("159_1275805940.96895")
 .annotate 'line', 1
-    .const 'Sub' $P591 = "10_1275803241.30534" 
+    .const 'Sub' $P591 = "10_1275805940.96895" 
     $P592 = $P591()
     .return ($P592)
 .end
@@ -7281,7 +7282,7 @@
 ### .include 'gen/p6regex-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1275803246.87024")
+.sub "_block11"  :anon :subid("10_1275805946.48212")
 .annotate 'line', 0
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     capture_lex $P14
@@ -7298,15 +7299,15 @@
     $P1599 = $P14()
 .annotate 'line', 1
     .return ($P1599)
-    .const 'Sub' $P1601 = "91_1275803246.87024" 
+    .const 'Sub' $P1601 = "91_1275805946.48212" 
     .return ($P1601)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post92") :outer("10_1275803246.87024")
+.sub "" :load :init :subid("post92") :outer("10_1275805946.48212")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1275803246.87024" 
+    .const 'Sub' $P12 = "10_1275805946.48212" 
     .local pmc block
     set block, $P12
     $P1604 = get_root_global ["parrot"], "P6metaclass"
@@ -7315,115 +7316,115 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block13"  :subid("11_1275803246.87024") :outer("10_1275803246.87024")
+.sub "_block13"  :subid("11_1275805946.48212") :outer("10_1275805946.48212")
 .annotate 'line', 4
-    .const 'Sub' $P1561 = "89_1275803246.87024" 
+    .const 'Sub' $P1561 = "89_1275805946.48212" 
     capture_lex $P1561
-    .const 'Sub' $P1492 = "85_1275803246.87024" 
+    .const 'Sub' $P1492 = "85_1275805946.48212" 
     capture_lex $P1492
-    .const 'Sub' $P1424 = "83_1275803246.87024" 
+    .const 'Sub' $P1424 = "83_1275805946.48212" 
     capture_lex $P1424
-    .const 'Sub' $P1351 = "80_1275803246.87024" 
+    .const 'Sub' $P1351 = "80_1275805946.48212" 
     capture_lex $P1351
-    .const 'Sub' $P1337 = "79_1275803246.87024" 
+    .const 'Sub' $P1337 = "79_1275805946.48212" 
     capture_lex $P1337
-    .const 'Sub' $P1313 = "78_1275803246.87024" 
+    .const 'Sub' $P1313 = "78_1275805946.48212" 
     capture_lex $P1313
-    .const 'Sub' $P1295 = "77_1275803246.87024" 
+    .const 'Sub' $P1295 = "77_1275805946.48212" 
     capture_lex $P1295
-    .const 'Sub' $P1281 = "76_1275803246.87024" 
+    .const 'Sub' $P1281 = "76_1275805946.48212" 
     capture_lex $P1281
-    .const 'Sub' $P1268 = "75_1275803246.87024" 
+    .const 'Sub' $P1268 = "75_1275805946.48212" 
     capture_lex $P1268
-    .const 'Sub' $P1237 = "74_1275803246.87024" 
+    .const 'Sub' $P1237 = "74_1275805946.48212" 
     capture_lex $P1237
-    .const 'Sub' $P1206 = "73_1275803246.87024" 
+    .const 'Sub' $P1206 = "73_1275805946.48212" 
     capture_lex $P1206
-    .const 'Sub' $P1190 = "72_1275803246.87024" 
+    .const 'Sub' $P1190 = "72_1275805946.48212" 
     capture_lex $P1190
-    .const 'Sub' $P1174 = "71_1275803246.87024" 
+    .const 'Sub' $P1174 = "71_1275805946.48212" 
     capture_lex $P1174
-    .const 'Sub' $P1158 = "70_1275803246.87024" 
+    .const 'Sub' $P1158 = "70_1275805946.48212" 
     capture_lex $P1158
-    .const 'Sub' $P1142 = "69_1275803246.87024" 
+    .const 'Sub' $P1142 = "69_1275805946.48212" 
     capture_lex $P1142
-    .const 'Sub' $P1126 = "68_1275803246.87024" 
+    .const 'Sub' $P1126 = "68_1275805946.48212" 
     capture_lex $P1126
-    .const 'Sub' $P1110 = "67_1275803246.87024" 
+    .const 'Sub' $P1110 = "67_1275805946.48212" 
     capture_lex $P1110
-    .const 'Sub' $P1094 = "66_1275803246.87024" 
+    .const 'Sub' $P1094 = "66_1275805946.48212" 
     capture_lex $P1094
-    .const 'Sub' $P1070 = "65_1275803246.87024" 
+    .const 'Sub' $P1070 = "65_1275805946.48212" 
     capture_lex $P1070
-    .const 'Sub' $P1055 = "64_1275803246.87024" 
+    .const 'Sub' $P1055 = "64_1275805946.48212" 
     capture_lex $P1055
-    .const 'Sub' $P999 = "63_1275803246.87024" 
+    .const 'Sub' $P999 = "63_1275805946.48212" 
     capture_lex $P999
-    .const 'Sub' $P978 = "62_1275803246.87024" 
+    .const 'Sub' $P978 = "62_1275805946.48212" 
     capture_lex $P978
-    .const 'Sub' $P956 = "61_1275803246.87024" 
+    .const 'Sub' $P956 = "61_1275805946.48212" 
     capture_lex $P956
-    .const 'Sub' $P946 = "60_1275803246.87024" 
+    .const 'Sub' $P946 = "60_1275805946.48212" 
     capture_lex $P946
-    .const 'Sub' $P936 = "59_1275803246.87024" 
+    .const 'Sub' $P936 = "59_1275805946.48212" 
     capture_lex $P936
-    .const 'Sub' $P926 = "58_1275803246.87024" 
+    .const 'Sub' $P926 = "58_1275805946.48212" 
     capture_lex $P926
-    .const 'Sub' $P914 = "57_1275803246.87024" 
+    .const 'Sub' $P914 = "57_1275805946.48212" 
     capture_lex $P914
-    .const 'Sub' $P902 = "56_1275803246.87024" 
+    .const 'Sub' $P902 = "56_1275805946.48212" 
     capture_lex $P902
-    .const 'Sub' $P890 = "55_1275803246.87024" 
+    .const 'Sub' $P890 = "55_1275805946.48212" 
     capture_lex $P890
-    .const 'Sub' $P878 = "54_1275803246.87024" 
+    .const 'Sub' $P878 = "54_1275805946.48212" 
     capture_lex $P878
-    .const 'Sub' $P866 = "53_1275803246.87024" 
+    .const 'Sub' $P866 = "53_1275805946.48212" 
     capture_lex $P866
-    .const 'Sub' $P854 = "52_1275803246.87024" 
+    .const 'Sub' $P854 = "52_1275805946.48212" 
     capture_lex $P854
-    .const 'Sub' $P842 = "51_1275803246.87024" 
+    .const 'Sub' $P842 = "51_1275805946.48212" 
     capture_lex $P842
-    .const 'Sub' $P830 = "50_1275803246.87024" 
+    .const 'Sub' $P830 = "50_1275805946.48212" 
     capture_lex $P830
-    .const 'Sub' $P807 = "49_1275803246.87024" 
+    .const 'Sub' $P807 = "49_1275805946.48212" 
     capture_lex $P807
-    .const 'Sub' $P784 = "48_1275803246.87024" 
+    .const 'Sub' $P784 = "48_1275805946.48212" 
     capture_lex $P784
-    .const 'Sub' $P766 = "47_1275803246.87024" 
+    .const 'Sub' $P766 = "47_1275805946.48212" 
     capture_lex $P766
-    .const 'Sub' $P756 = "46_1275803246.87024" 
+    .const 'Sub' $P756 = "46_1275805946.48212" 
     capture_lex $P756
-    .const 'Sub' $P738 = "45_1275803246.87024" 
+    .const 'Sub' $P738 = "45_1275805946.48212" 
     capture_lex $P738
-    .const 'Sub' $P665 = "43_1275803246.87024" 
+    .const 'Sub' $P665 = "43_1275805946.48212" 
     capture_lex $P665
-    .const 'Sub' $P648 = "42_1275803246.87024" 
+    .const 'Sub' $P648 = "42_1275805946.48212" 
     capture_lex $P648
-    .const 'Sub' $P633 = "41_1275803246.87024" 
+    .const 'Sub' $P633 = "41_1275805946.48212" 
     capture_lex $P633
-    .const 'Sub' $P618 = "40_1275803246.87024" 
+    .const 'Sub' $P618 = "40_1275805946.48212" 
     capture_lex $P618
-    .const 'Sub' $P592 = "39_1275803246.87024" 
+    .const 'Sub' $P592 = "39_1275805946.48212" 
     capture_lex $P592
-    .const 'Sub' $P541 = "37_1275803246.87024" 
+    .const 'Sub' $P541 = "37_1275805946.48212" 
     capture_lex $P541
-    .const 'Sub' $P473 = "35_1275803246.87024" 
+    .const 'Sub' $P473 = "35_1275805946.48212" 
     capture_lex $P473
-    .const 'Sub' $P418 = "32_1275803246.87024" 
+    .const 'Sub' $P418 = "32_1275805946.48212" 
     capture_lex $P418
-    .const 'Sub' $P403 = "31_1275803246.87024" 
+    .const 'Sub' $P403 = "31_1275805946.48212" 
     capture_lex $P403
-    .const 'Sub' $P377 = "29_1275803246.87024" 
+    .const 'Sub' $P377 = "29_1275805946.48212" 
     capture_lex $P377
-    .const 'Sub' $P360 = "28_1275803246.87024" 
+    .const 'Sub' $P360 = "28_1275805946.48212" 
     capture_lex $P360
-    .const 'Sub' $P338 = "27_1275803246.87024" 
+    .const 'Sub' $P338 = "27_1275805946.48212" 
     capture_lex $P338
-    .const 'Sub' $P305 = "26_1275803246.87024" 
+    .const 'Sub' $P305 = "26_1275805946.48212" 
     capture_lex $P305
-    .const 'Sub' $P50 = "13_1275803246.87024" 
+    .const 'Sub' $P50 = "13_1275805946.48212" 
     capture_lex $P50
-    .const 'Sub' $P16 = "12_1275803246.87024" 
+    .const 'Sub' $P16 = "12_1275805946.48212" 
     capture_lex $P16
     get_global $P15, "@MODIFIERS"
     unless_null $P15, vivify_94
@@ -7431,19 +7432,19 @@
     set_global "@MODIFIERS", $P15
   vivify_94:
 .annotate 'line', 494
-    .const 'Sub' $P16 = "12_1275803246.87024" 
+    .const 'Sub' $P16 = "12_1275805946.48212" 
     newclosure $P49, $P16
     .lex "buildsub", $P49
 .annotate 'line', 511
-    .const 'Sub' $P50 = "13_1275803246.87024" 
+    .const 'Sub' $P50 = "13_1275805946.48212" 
     newclosure $P304, $P50
     .lex "capnames", $P304
 .annotate 'line', 577
-    .const 'Sub' $P305 = "26_1275803246.87024" 
+    .const 'Sub' $P305 = "26_1275805946.48212" 
     newclosure $P337, $P305
     .lex "backmod", $P337
 .annotate 'line', 584
-    .const 'Sub' $P338 = "27_1275803246.87024" 
+    .const 'Sub' $P338 = "27_1275805946.48212" 
     newclosure $P358, $P338
     .lex "subrule_alias", $P358
 .annotate 'line', 4
@@ -7461,13 +7462,13 @@
     find_lex $P1593, "subrule_alias"
 .annotate 'line', 4
     .return ($P1593)
-    .const 'Sub' $P1595 = "90_1275803246.87024" 
+    .const 'Sub' $P1595 = "90_1275805946.48212" 
     .return ($P1595)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "" :load :init :subid("post93") :outer("11_1275803246.87024")
+.sub "" :load :init :subid("post93") :outer("11_1275805946.48212")
 .annotate 'line', 4
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     .local pmc block
@@ -7483,14 +7484,15 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "buildsub"  :subid("12_1275803246.87024") :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "buildsub"  :subid("12_1275805946.48212") :outer("11_1275805946.48212")
     .param pmc param_19
     .param pmc param_20 :optional
     .param int has_param_20 :opt_flag
 .annotate 'line', 494
     new $P18, 'ExceptionHandler'
     set_addr $P18, control_17
-    $P18."handle_types"(57)
+    $P18."handle_types"(.CONTROL_RETURN)
     push_eh $P18
     .lex "$rpast", param_19
     if has_param_20, optparam_95
@@ -7560,23 +7562,24 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "capnames"  :subid("13_1275803246.87024") :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "capnames"  :subid("13_1275805946.48212") :outer("11_1275805946.48212")
     .param pmc param_53
     .param pmc param_54
 .annotate 'line', 511
-    .const 'Sub' $P279 = "24_1275803246.87024" 
+    .const 'Sub' $P279 = "24_1275805946.48212" 
     capture_lex $P279
-    .const 'Sub' $P216 = "21_1275803246.87024" 
+    .const 'Sub' $P216 = "21_1275805946.48212" 
     capture_lex $P216
-    .const 'Sub' $P174 = "19_1275803246.87024" 
+    .const 'Sub' $P174 = "19_1275805946.48212" 
     capture_lex $P174
-    .const 'Sub' $P132 = "17_1275803246.87024" 
+    .const 'Sub' $P132 = "17_1275805946.48212" 
     capture_lex $P132
-    .const 'Sub' $P65 = "14_1275803246.87024" 
+    .const 'Sub' $P65 = "14_1275805946.48212" 
     capture_lex $P65
     new $P52, 'ExceptionHandler'
     set_addr $P52, control_51
-    $P52."handle_types"(57)
+    $P52."handle_types"(.CONTROL_RETURN)
     push_eh $P52
     .lex "$ast", param_53
     .lex "$count", param_54
@@ -7628,21 +7631,21 @@
     set $S276, $P275
     iseq $I277, $S276, "quant"
     unless $I277, if_274_end
-    .const 'Sub' $P279 = "24_1275803246.87024" 
+    .const 'Sub' $P279 = "24_1275805946.48212" 
     capture_lex $P279
     $P279()
   if_274_end:
     goto if_211_end
   if_211:
 .annotate 'line', 549
-    .const 'Sub' $P216 = "21_1275803246.87024" 
+    .const 'Sub' $P216 = "21_1275805946.48212" 
     capture_lex $P216
     $P216()
   if_211_end:
     goto if_164_end
   if_164:
 .annotate 'line', 536
-    .const 'Sub' $P174 = "19_1275803246.87024" 
+    .const 'Sub' $P174 = "19_1275805946.48212" 
     capture_lex $P174
     $P174()
   if_164_end:
@@ -7656,13 +7659,13 @@
     iter $P126, $P128
     new $P162, 'ExceptionHandler'
     set_addr $P162, loop161_handler
-    $P162."handle_types"(64, 66, 65)
+    $P162."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P162
   loop161_test:
     unless $P126, loop161_done
     shift $P130, $P126
   loop161_redo:
-    .const 'Sub' $P132 = "17_1275803246.87024" 
+    .const 'Sub' $P132 = "17_1275805946.48212" 
     capture_lex $P132
     $P132($P130)
   loop161_next:
@@ -7671,8 +7674,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P163, exception, 'type'
-    eq $P163, 64, loop161_next
-    eq $P163, 66, loop161_redo
+    eq $P163, .CONTROL_LOOP_NEXT, loop161_next
+    eq $P163, .CONTROL_LOOP_REDO, loop161_redo
   loop161_done:
     pop_eh 
   for_undef_117:
@@ -7681,7 +7684,7 @@
     goto if_60_end
   if_60:
 .annotate 'line', 514
-    .const 'Sub' $P65 = "14_1275803246.87024" 
+    .const 'Sub' $P65 = "14_1275805946.48212" 
     capture_lex $P65
     $P65()
   if_60_end:
@@ -7705,9 +7708,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block278"  :anon :subid("24_1275803246.87024") :outer("13_1275803246.87024")
+.include "except_types.pasm"
+.sub "_block278"  :anon :subid("24_1275805946.48212") :outer("13_1275805946.48212")
 .annotate 'line', 566
-    .const 'Sub' $P290 = "25_1275803246.87024" 
+    .const 'Sub' $P290 = "25_1275805946.48212" 
     capture_lex $P290
 .annotate 'line', 567
     $P280 = root_new ['parrot';'Hash']
@@ -7730,13 +7734,13 @@
     iter $P285, $P286
     new $P296, 'ExceptionHandler'
     set_addr $P296, loop295_handler
-    $P296."handle_types"(64, 66, 65)
+    $P296."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P296
   loop295_test:
     unless $P285, loop295_done
     shift $P288, $P285
   loop295_redo:
-    .const 'Sub' $P290 = "25_1275803246.87024" 
+    .const 'Sub' $P290 = "25_1275805946.48212" 
     capture_lex $P290
     $P290($P288)
   loop295_next:
@@ -7745,8 +7749,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P297, exception, 'type'
-    eq $P297, 64, loop295_next
-    eq $P297, 66, loop295_redo
+    eq $P297, .CONTROL_LOOP_NEXT, loop295_next
+    eq $P297, .CONTROL_LOOP_REDO, loop295_redo
   loop295_done:
     pop_eh 
   for_undef_99:
@@ -7766,7 +7770,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block289"  :anon :subid("25_1275803246.87024") :outer("24_1275803246.87024")
+.sub "_block289"  :anon :subid("25_1275805946.48212") :outer("24_1275805946.48212")
     .param pmc param_291
 .annotate 'line', 568
     .lex "$_", param_291
@@ -7786,11 +7790,12 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block215"  :anon :subid("21_1275803246.87024") :outer("13_1275803246.87024")
+.include "except_types.pasm"
+.sub "_block215"  :anon :subid("21_1275805946.48212") :outer("13_1275805946.48212")
 .annotate 'line', 549
-    .const 'Sub' $P256 = "23_1275803246.87024" 
+    .const 'Sub' $P256 = "23_1275805946.48212" 
     capture_lex $P256
-    .const 'Sub' $P228 = "22_1275803246.87024" 
+    .const 'Sub' $P228 = "22_1275805946.48212" 
     capture_lex $P228
 .annotate 'line', 550
     new $P217, "Undef"
@@ -7819,13 +7824,13 @@
     iter $P223, $P224
     new $P245, 'ExceptionHandler'
     set_addr $P245, loop244_handler
-    $P245."handle_types"(64, 66, 65)
+    $P245."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P245
   loop244_test:
     unless $P223, loop244_done
     shift $P226, $P223
   loop244_redo:
-    .const 'Sub' $P228 = "22_1275803246.87024" 
+    .const 'Sub' $P228 = "22_1275805946.48212" 
     capture_lex $P228
     $P228($P226)
   loop244_next:
@@ -7834,8 +7839,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P246, exception, 'type'
-    eq $P246, 64, loop244_next
-    eq $P246, 66, loop244_redo
+    eq $P246, .CONTROL_LOOP_NEXT, loop244_next
+    eq $P246, .CONTROL_LOOP_REDO, loop244_redo
   loop244_done:
     pop_eh 
   for_undef_103:
@@ -7858,13 +7863,13 @@
     iter $P251, $P252
     new $P270, 'ExceptionHandler'
     set_addr $P270, loop269_handler
-    $P270."handle_types"(64, 66, 65)
+    $P270."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P270
   loop269_test:
     unless $P251, loop269_done
     shift $P254, $P251
   loop269_redo:
-    .const 'Sub' $P256 = "23_1275803246.87024" 
+    .const 'Sub' $P256 = "23_1275805946.48212" 
     capture_lex $P256
     $P256($P254)
   loop269_next:
@@ -7873,8 +7878,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P271, exception, 'type'
-    eq $P271, 64, loop269_next
-    eq $P271, 66, loop269_redo
+    eq $P271, .CONTROL_LOOP_NEXT, loop269_next
+    eq $P271, .CONTROL_LOOP_REDO, loop269_redo
   loop269_done:
     pop_eh 
   for_undef_107:
@@ -7894,7 +7899,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block227"  :anon :subid("22_1275803246.87024") :outer("21_1275803246.87024")
+.sub "_block227"  :anon :subid("22_1275805946.48212") :outer("21_1275805946.48212")
     .param pmc param_229
 .annotate 'line', 556
     .lex "$_", param_229
@@ -7934,7 +7939,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block255"  :anon :subid("23_1275803246.87024") :outer("21_1275803246.87024")
+.sub "_block255"  :anon :subid("23_1275805946.48212") :outer("21_1275805946.48212")
     .param pmc param_257
 .annotate 'line', 561
     .lex "$_", param_257
@@ -7974,9 +7979,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block173"  :anon :subid("19_1275803246.87024") :outer("13_1275803246.87024")
+.include "except_types.pasm"
+.sub "_block173"  :anon :subid("19_1275805946.48212") :outer("13_1275805946.48212")
 .annotate 'line', 536
-    .const 'Sub' $P192 = "20_1275803246.87024" 
+    .const 'Sub' $P192 = "20_1275805946.48212" 
     capture_lex $P192
 .annotate 'line', 537
     new $P175, "Undef"
@@ -8013,13 +8019,13 @@
     iter $P187, $P188
     new $P209, 'ExceptionHandler'
     set_addr $P209, loop208_handler
-    $P209."handle_types"(64, 66, 65)
+    $P209."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P209
   loop208_test:
     unless $P187, loop208_done
     shift $P190, $P187
   loop208_redo:
-    .const 'Sub' $P192 = "20_1275803246.87024" 
+    .const 'Sub' $P192 = "20_1275805946.48212" 
     capture_lex $P192
     $P192($P190)
   loop208_next:
@@ -8028,8 +8034,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P210, exception, 'type'
-    eq $P210, 64, loop208_next
-    eq $P210, 66, loop208_redo
+    eq $P210, .CONTROL_LOOP_NEXT, loop208_next
+    eq $P210, .CONTROL_LOOP_REDO, loop208_redo
   loop208_done:
     pop_eh 
   for_undef_115:
@@ -8039,7 +8045,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block191"  :anon :subid("20_1275803246.87024") :outer("19_1275803246.87024")
+.sub "_block191"  :anon :subid("20_1275805946.48212") :outer("19_1275805946.48212")
     .param pmc param_193
 .annotate 'line', 544
     .lex "$_", param_193
@@ -8079,10 +8085,11 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block131"  :anon :subid("17_1275803246.87024") :outer("13_1275803246.87024")
+.include "except_types.pasm"
+.sub "_block131"  :anon :subid("17_1275805946.48212") :outer("13_1275805946.48212")
     .param pmc param_134
 .annotate 'line', 528
-    .const 'Sub' $P143 = "18_1275803246.87024" 
+    .const 'Sub' $P143 = "18_1275805946.48212" 
     capture_lex $P143
 .annotate 'line', 529
     $P133 = root_new ['parrot';'Hash']
@@ -8099,13 +8106,13 @@
     iter $P138, $P139
     new $P157, 'ExceptionHandler'
     set_addr $P157, loop156_handler
-    $P157."handle_types"(64, 66, 65)
+    $P157."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P157
   loop156_test:
     unless $P138, loop156_done
     shift $P141, $P138
   loop156_redo:
-    .const 'Sub' $P143 = "18_1275803246.87024" 
+    .const 'Sub' $P143 = "18_1275805946.48212" 
     capture_lex $P143
     $P143($P141)
   loop156_next:
@@ -8114,8 +8121,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P158, exception, 'type'
-    eq $P158, 64, loop156_next
-    eq $P158, 66, loop156_redo
+    eq $P158, .CONTROL_LOOP_NEXT, loop156_next
+    eq $P158, .CONTROL_LOOP_REDO, loop156_redo
   loop156_done:
     pop_eh 
   for_undef_118:
@@ -8135,7 +8142,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block142"  :anon :subid("18_1275803246.87024") :outer("17_1275803246.87024")
+.sub "_block142"  :anon :subid("18_1275805946.48212") :outer("17_1275805946.48212")
     .param pmc param_144
 .annotate 'line', 530
     .lex "$_", param_144
@@ -8175,9 +8182,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block64"  :anon :subid("14_1275803246.87024") :outer("13_1275803246.87024")
+.include "except_types.pasm"
+.sub "_block64"  :anon :subid("14_1275805946.48212") :outer("13_1275805946.48212")
 .annotate 'line', 514
-    .const 'Sub' $P74 = "15_1275803246.87024" 
+    .const 'Sub' $P74 = "15_1275805946.48212" 
     capture_lex $P74
 .annotate 'line', 515
     new $P66, "Undef"
@@ -8192,13 +8200,13 @@
     iter $P68, $P70
     new $P119, 'ExceptionHandler'
     set_addr $P119, loop118_handler
-    $P119."handle_types"(64, 66, 65)
+    $P119."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P119
   loop118_test:
     unless $P68, loop118_done
     shift $P72, $P68
   loop118_redo:
-    .const 'Sub' $P74 = "15_1275803246.87024" 
+    .const 'Sub' $P74 = "15_1275805946.48212" 
     capture_lex $P74
     $P74($P72)
   loop118_next:
@@ -8207,8 +8215,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P120, exception, 'type'
-    eq $P120, 64, loop118_next
-    eq $P120, 66, loop118_redo
+    eq $P120, .CONTROL_LOOP_NEXT, loop118_next
+    eq $P120, .CONTROL_LOOP_REDO, loop118_redo
   loop118_done:
     pop_eh 
   for_undef_126:
@@ -8221,10 +8229,11 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block73"  :anon :subid("15_1275803246.87024") :outer("14_1275803246.87024")
+.include "except_types.pasm"
+.sub "_block73"  :anon :subid("15_1275805946.48212") :outer("14_1275805946.48212")
     .param pmc param_76
 .annotate 'line', 516
-    .const 'Sub' $P85 = "16_1275803246.87024" 
+    .const 'Sub' $P85 = "16_1275805946.48212" 
     capture_lex $P85
 .annotate 'line', 517
     $P75 = root_new ['parrot';'Hash']
@@ -8241,13 +8250,13 @@
     iter $P80, $P81
     new $P106, 'ExceptionHandler'
     set_addr $P106, loop105_handler
-    $P106."handle_types"(64, 66, 65)
+    $P106."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P106
   loop105_test:
     unless $P80, loop105_done
     shift $P83, $P80
   loop105_redo:
-    .const 'Sub' $P85 = "16_1275803246.87024" 
+    .const 'Sub' $P85 = "16_1275805946.48212" 
     capture_lex $P85
     $P85($P83)
   loop105_next:
@@ -8256,8 +8265,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P107, exception, 'type'
-    eq $P107, 64, loop105_next
-    eq $P107, 66, loop105_redo
+    eq $P107, .CONTROL_LOOP_NEXT, loop105_next
+    eq $P107, .CONTROL_LOOP_REDO, loop105_redo
   loop105_done:
     pop_eh 
   for_undef_127:
@@ -8296,7 +8305,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block84"  :anon :subid("16_1275803246.87024") :outer("15_1275803246.87024")
+.sub "_block84"  :anon :subid("16_1275805946.48212") :outer("15_1275805946.48212")
     .param pmc param_86
 .annotate 'line', 518
     .lex "$_", param_86
@@ -8355,13 +8364,14 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backmod"  :subid("26_1275803246.87024") :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "backmod"  :subid("26_1275805946.48212") :outer("11_1275805946.48212")
     .param pmc param_308
     .param pmc param_309
 .annotate 'line', 577
     new $P307, 'ExceptionHandler'
     set_addr $P307, control_306
-    $P307."handle_types"(57)
+    $P307."handle_types"(.CONTROL_RETURN)
     push_eh $P307
     .lex "$ast", param_308
     .lex "$backmod", param_309
@@ -8429,13 +8439,14 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "subrule_alias"  :subid("27_1275803246.87024") :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "subrule_alias"  :subid("27_1275805946.48212") :outer("11_1275805946.48212")
     .param pmc param_341
     .param pmc param_342
 .annotate 'line', 584
     new $P340, 'ExceptionHandler'
     set_addr $P340, control_339
-    $P340."handle_types"(57)
+    $P340."handle_types"(.CONTROL_RETURN)
     push_eh $P340
     .lex "$past", param_341
     .lex "$name", param_342
@@ -8473,12 +8484,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "arg"  :subid("28_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "arg"  :subid("28_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_363
 .annotate 'line', 14
     new $P362, 'ExceptionHandler'
     set_addr $P362, control_361
-    $P362."handle_types"(57)
+    $P362."handle_types"(.CONTROL_RETURN)
     push_eh $P362
     .lex "self", self
     .lex "$/", param_363
@@ -8529,14 +8541,15 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "arglist"  :subid("29_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "arglist"  :subid("29_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_380
 .annotate 'line', 18
-    .const 'Sub' $P390 = "30_1275803246.87024" 
+    .const 'Sub' $P390 = "30_1275805946.48212" 
     capture_lex $P390
     new $P379, 'ExceptionHandler'
     set_addr $P379, control_378
-    $P379."handle_types"(57)
+    $P379."handle_types"(.CONTROL_RETURN)
     push_eh $P379
     .lex "self", self
     .lex "$/", param_380
@@ -8560,13 +8573,13 @@
     iter $P384, $P386
     new $P397, 'ExceptionHandler'
     set_addr $P397, loop396_handler
-    $P397."handle_types"(64, 66, 65)
+    $P397."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P397
   loop396_test:
     unless $P384, loop396_done
     shift $P388, $P384
   loop396_redo:
-    .const 'Sub' $P390 = "30_1275803246.87024" 
+    .const 'Sub' $P390 = "30_1275805946.48212" 
     capture_lex $P390
     $P390($P388)
   loop396_next:
@@ -8575,8 +8588,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P398, exception, 'type'
-    eq $P398, 64, loop396_next
-    eq $P398, 66, loop396_redo
+    eq $P398, .CONTROL_LOOP_NEXT, loop396_next
+    eq $P398, .CONTROL_LOOP_REDO, loop396_redo
   loop396_done:
     pop_eh 
   for_undef_146:
@@ -8595,7 +8608,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block389"  :anon :subid("30_1275803246.87024") :outer("29_1275803246.87024")
+.sub "_block389"  :anon :subid("30_1275805946.48212") :outer("29_1275805946.48212")
     .param pmc param_391
 .annotate 'line', 20
     .lex "$_", param_391
@@ -8608,12 +8621,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "TOP"  :subid("31_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "TOP"  :subid("31_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_406
 .annotate 'line', 24
     new $P405, 'ExceptionHandler'
     set_addr $P405, control_404
-    $P405."handle_types"(57)
+    $P405."handle_types"(.CONTROL_RETURN)
     push_eh $P405
     .lex "self", self
     .lex "$/", param_406
@@ -8650,18 +8664,19 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "nibbler"  :subid("32_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "nibbler"  :subid("32_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_421
     .param pmc param_422 :optional
     .param int has_param_422 :opt_flag
 .annotate 'line', 30
-    .const 'Sub' $P456 = "34_1275803246.87024" 
+    .const 'Sub' $P456 = "34_1275805946.48212" 
     capture_lex $P456
-    .const 'Sub' $P430 = "33_1275803246.87024" 
+    .const 'Sub' $P430 = "33_1275805946.48212" 
     capture_lex $P430
     new $P420, 'ExceptionHandler'
     set_addr $P420, control_419
-    $P420."handle_types"(57)
+    $P420."handle_types"(.CONTROL_RETURN)
     push_eh $P420
     .lex "self", self
     .lex "$/", param_421
@@ -8678,7 +8693,7 @@
     set $S427, $P426
     iseq $I428, $S427, "open"
     unless $I428, if_425_end
-    .const 'Sub' $P430 = "33_1275803246.87024" 
+    .const 'Sub' $P430 = "33_1275805946.48212" 
     capture_lex $P430
     $P430()
   if_425_end:
@@ -8735,13 +8750,13 @@
     iter $P450, $P452
     new $P463, 'ExceptionHandler'
     set_addr $P463, loop462_handler
-    $P463."handle_types"(64, 66, 65)
+    $P463."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P463
   loop462_test:
     unless $P450, loop462_done
     shift $P454, $P450
   loop462_redo:
-    .const 'Sub' $P456 = "34_1275803246.87024" 
+    .const 'Sub' $P456 = "34_1275805946.48212" 
     capture_lex $P456
     $P456($P454)
   loop462_next:
@@ -8750,8 +8765,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P464, exception, 'type'
-    eq $P464, 64, loop462_next
-    eq $P464, 66, loop462_redo
+    eq $P464, .CONTROL_LOOP_NEXT, loop462_next
+    eq $P464, .CONTROL_LOOP_REDO, loop462_redo
   loop462_done:
     pop_eh 
   for_undef_159:
@@ -8771,7 +8786,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block429"  :anon :subid("33_1275803246.87024") :outer("32_1275803246.87024")
+.include "except_types.pasm"
+.sub "_block429"  :anon :subid("33_1275805946.48212") :outer("32_1275805946.48212")
 .annotate 'line', 32
     $P431 = root_new ['parrot';'Hash']
     .lex "%old", $P431
@@ -8800,7 +8816,7 @@
     $P436."unshift"($P437)
 .annotate 'line', 38
     new $P438, "Exception"
-    set $P438['type'], 57
+    set $P438['type'], .CONTROL_RETURN
     new $P439, "Integer"
     assign $P439, 1
     setattribute $P438, 'payload', $P439
@@ -8811,7 +8827,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block455"  :anon :subid("34_1275803246.87024") :outer("32_1275803246.87024")
+.sub "_block455"  :anon :subid("34_1275805946.48212") :outer("32_1275805946.48212")
     .param pmc param_457
 .annotate 'line', 45
     .lex "$_", param_457
@@ -8826,14 +8842,15 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "termish"  :subid("35_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "termish"  :subid("35_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_476
 .annotate 'line', 55
-    .const 'Sub' $P489 = "36_1275803246.87024" 
+    .const 'Sub' $P489 = "36_1275805946.48212" 
     capture_lex $P489
     new $P475, 'ExceptionHandler'
     set_addr $P475, control_474
-    $P475."handle_types"(57)
+    $P475."handle_types"(.CONTROL_RETURN)
     push_eh $P475
     .lex "self", self
     .lex "$/", param_476
@@ -8866,13 +8883,13 @@
     iter $P483, $P485
     new $P535, 'ExceptionHandler'
     set_addr $P535, loop534_handler
-    $P535."handle_types"(64, 66, 65)
+    $P535."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P535
   loop534_test:
     unless $P483, loop534_done
     shift $P487, $P483
   loop534_redo:
-    .const 'Sub' $P489 = "36_1275803246.87024" 
+    .const 'Sub' $P489 = "36_1275805946.48212" 
     capture_lex $P489
     $P489($P487)
   loop534_next:
@@ -8881,8 +8898,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P536, exception, 'type'
-    eq $P536, 64, loop534_next
-    eq $P536, 66, loop534_redo
+    eq $P536, .CONTROL_LOOP_NEXT, loop534_next
+    eq $P536, .CONTROL_LOOP_REDO, loop534_redo
   loop534_done:
     pop_eh 
   for_undef_162:
@@ -8901,7 +8918,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block488"  :anon :subid("36_1275803246.87024") :outer("35_1275803246.87024")
+.sub "_block488"  :anon :subid("36_1275805946.48212") :outer("35_1275805946.48212")
     .param pmc param_491
 .annotate 'line', 59
     new $P490, "Undef"
@@ -9028,14 +9045,15 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantified_atom"  :subid("37_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "quantified_atom"  :subid("37_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_544
 .annotate 'line', 76
-    .const 'Sub' $P553 = "38_1275803246.87024" 
+    .const 'Sub' $P553 = "38_1275805946.48212" 
     capture_lex $P553
     new $P543, 'ExceptionHandler'
     set_addr $P543, control_542
-    $P543."handle_types"(57)
+    $P543."handle_types"(.CONTROL_RETURN)
     push_eh $P543
     .lex "self", self
     .lex "$/", param_544
@@ -9094,7 +9112,7 @@
     goto if_549_end
   if_549:
 .annotate 'line', 78
-    .const 'Sub' $P553 = "38_1275803246.87024" 
+    .const 'Sub' $P553 = "38_1275805946.48212" 
     capture_lex $P553
     $P553()
   if_549_end:
@@ -9148,7 +9166,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block552"  :anon :subid("38_1275803246.87024") :outer("37_1275803246.87024")
+.sub "_block552"  :anon :subid("38_1275805946.48212") :outer("37_1275805946.48212")
 .annotate 'line', 80
     new $P554, "Undef"
     .lex "$qast", $P554
@@ -9188,12 +9206,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "atom"  :subid("39_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "atom"  :subid("39_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_595
 .annotate 'line', 91
     new $P594, 'ExceptionHandler'
     set_addr $P594, control_593
-    $P594."handle_types"(57)
+    $P594."handle_types"(.CONTROL_RETURN)
     push_eh $P594
     .lex "self", self
     .lex "$/", param_595
@@ -9266,12 +9285,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<*>"  :subid("40_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "quantifier:sym<*>"  :subid("40_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_621
 .annotate 'line', 101
     new $P620, 'ExceptionHandler'
     set_addr $P620, control_619
-    $P620."handle_types"(57)
+    $P620."handle_types"(.CONTROL_RETURN)
     push_eh $P620
     .lex "self", self
     .lex "$/", param_621
@@ -9306,12 +9326,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<+>"  :subid("41_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "quantifier:sym<+>"  :subid("41_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_636
 .annotate 'line', 106
     new $P635, 'ExceptionHandler'
     set_addr $P635, control_634
-    $P635."handle_types"(57)
+    $P635."handle_types"(.CONTROL_RETURN)
     push_eh $P635
     .lex "self", self
     .lex "$/", param_636
@@ -9346,12 +9367,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<?>"  :subid("42_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "quantifier:sym<?>"  :subid("42_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_651
 .annotate 'line', 111
     new $P650, 'ExceptionHandler'
     set_addr $P650, control_649
-    $P650."handle_types"(57)
+    $P650."handle_types"(.CONTROL_RETURN)
     push_eh $P650
     .lex "self", self
     .lex "$/", param_651
@@ -9390,14 +9412,15 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<**>"  :subid("43_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "quantifier:sym<**>"  :subid("43_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_668
 .annotate 'line', 117
-    .const 'Sub' $P683 = "44_1275803246.87024" 
+    .const 'Sub' $P683 = "44_1275805946.48212" 
     capture_lex $P683
     new $P667, 'ExceptionHandler'
     set_addr $P667, control_666
-    $P667."handle_types"(57)
+    $P667."handle_types"(.CONTROL_RETURN)
     push_eh $P667
     .lex "self", self
     .lex "$/", param_668
@@ -9531,7 +9554,7 @@
     goto if_679_end
   if_679:
 .annotate 'line', 120
-    .const 'Sub' $P683 = "44_1275803246.87024" 
+    .const 'Sub' $P683 = "44_1275805946.48212" 
     capture_lex $P683
     $P683()
   if_679_end:
@@ -9559,7 +9582,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block682"  :anon :subid("44_1275803246.87024") :outer("43_1275803246.87024")
+.sub "_block682"  :anon :subid("44_1275805946.48212") :outer("43_1275805946.48212")
 .annotate 'line', 121
     new $P684, "Undef"
     .lex "$ast", $P684
@@ -9601,12 +9624,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<ws>"  :subid("45_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<ws>"  :subid("45_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_741
 .annotate 'line', 146
     new $P740, 'ExceptionHandler'
     set_addr $P740, control_739
-    $P740."handle_types"(57)
+    $P740."handle_types"(.CONTROL_RETURN)
     push_eh $P740
     .lex "self", self
     .lex "$/", param_741
@@ -9653,12 +9677,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<[ ]>"  :subid("46_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<[ ]>"  :subid("46_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_759
 .annotate 'line', 155
     new $P758, 'ExceptionHandler'
     set_addr $P758, control_757
-    $P758."handle_types"(57)
+    $P758."handle_types"(.CONTROL_RETURN)
     push_eh $P758
     .lex "self", self
     .lex "$/", param_759
@@ -9685,12 +9710,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<( )>"  :subid("47_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<( )>"  :subid("47_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_769
 .annotate 'line', 159
     new $P768, 'ExceptionHandler'
     set_addr $P768, control_767
-    $P768."handle_types"(57)
+    $P768."handle_types"(.CONTROL_RETURN)
     push_eh $P768
     .lex "self", self
     .lex "$/", param_769
@@ -9733,12 +9759,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<'>"  :subid("48_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<'>"  :subid("48_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_787
 .annotate 'line', 166
     new $P786, 'ExceptionHandler'
     set_addr $P786, control_785
-    $P786."handle_types"(57)
+    $P786."handle_types"(.CONTROL_RETURN)
     push_eh $P786
     .lex "self", self
     .lex "$/", param_787
@@ -9789,12 +9816,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<\">"  :subid("49_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<\">"  :subid("49_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_810
 .annotate 'line', 173
     new $P809, 'ExceptionHandler'
     set_addr $P809, control_808
-    $P809."handle_types"(57)
+    $P809."handle_types"(.CONTROL_RETURN)
     push_eh $P809
     .lex "self", self
     .lex "$/", param_810
@@ -9845,12 +9873,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<.>"  :subid("50_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<.>"  :subid("50_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_833
 .annotate 'line', 180
     new $P832, 'ExceptionHandler'
     set_addr $P832, control_831
-    $P832."handle_types"(57)
+    $P832."handle_types"(.CONTROL_RETURN)
     push_eh $P832
     .lex "self", self
     .lex "$/", param_833
@@ -9876,12 +9905,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^>"  :subid("51_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<^>"  :subid("51_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_845
 .annotate 'line', 185
     new $P844, 'ExceptionHandler'
     set_addr $P844, control_843
-    $P844."handle_types"(57)
+    $P844."handle_types"(.CONTROL_RETURN)
     push_eh $P844
     .lex "self", self
     .lex "$/", param_845
@@ -9907,12 +9937,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^^>"  :subid("52_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<^^>"  :subid("52_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_857
 .annotate 'line', 190
     new $P856, 'ExceptionHandler'
     set_addr $P856, control_855
-    $P856."handle_types"(57)
+    $P856."handle_types"(.CONTROL_RETURN)
     push_eh $P856
     .lex "self", self
     .lex "$/", param_857
@@ -9938,12 +9969,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$>"  :subid("53_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<$>"  :subid("53_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_869
 .annotate 'line', 195
     new $P868, 'ExceptionHandler'
     set_addr $P868, control_867
-    $P868."handle_types"(57)
+    $P868."handle_types"(.CONTROL_RETURN)
     push_eh $P868
     .lex "self", self
     .lex "$/", param_869
@@ -9969,12 +10001,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$$>"  :subid("54_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<$$>"  :subid("54_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_881
 .annotate 'line', 200
     new $P880, 'ExceptionHandler'
     set_addr $P880, control_879
-    $P880."handle_types"(57)
+    $P880."handle_types"(.CONTROL_RETURN)
     push_eh $P880
     .lex "self", self
     .lex "$/", param_881
@@ -10000,12 +10033,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<:::>"  :subid("55_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<:::>"  :subid("55_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_893
 .annotate 'line', 205
     new $P892, 'ExceptionHandler'
     set_addr $P892, control_891
-    $P892."handle_types"(57)
+    $P892."handle_types"(.CONTROL_RETURN)
     push_eh $P892
     .lex "self", self
     .lex "$/", param_893
@@ -10031,12 +10065,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<lwb>"  :subid("56_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<lwb>"  :subid("56_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_905
 .annotate 'line', 210
     new $P904, 'ExceptionHandler'
     set_addr $P904, control_903
-    $P904."handle_types"(57)
+    $P904."handle_types"(.CONTROL_RETURN)
     push_eh $P904
     .lex "self", self
     .lex "$/", param_905
@@ -10062,12 +10097,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<rwb>"  :subid("57_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<rwb>"  :subid("57_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_917
 .annotate 'line', 215
     new $P916, 'ExceptionHandler'
     set_addr $P916, control_915
-    $P916."handle_types"(57)
+    $P916."handle_types"(.CONTROL_RETURN)
     push_eh $P916
     .lex "self", self
     .lex "$/", param_917
@@ -10093,12 +10129,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<bs>"  :subid("58_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<bs>"  :subid("58_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_929
 .annotate 'line', 220
     new $P928, 'ExceptionHandler'
     set_addr $P928, control_927
-    $P928."handle_types"(57)
+    $P928."handle_types"(.CONTROL_RETURN)
     push_eh $P928
     .lex "self", self
     .lex "$/", param_929
@@ -10125,12 +10162,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<mod>"  :subid("59_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<mod>"  :subid("59_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_939
 .annotate 'line', 224
     new $P938, 'ExceptionHandler'
     set_addr $P938, control_937
-    $P938."handle_types"(57)
+    $P938."handle_types"(.CONTROL_RETURN)
     push_eh $P938
     .lex "self", self
     .lex "$/", param_939
@@ -10157,12 +10195,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<assert>"  :subid("60_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<assert>"  :subid("60_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_949
 .annotate 'line', 228
     new $P948, 'ExceptionHandler'
     set_addr $P948, control_947
-    $P948."handle_types"(57)
+    $P948."handle_types"(.CONTROL_RETURN)
     push_eh $P948
     .lex "self", self
     .lex "$/", param_949
@@ -10189,12 +10228,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<~>"  :subid("61_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<~>"  :subid("61_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_959
 .annotate 'line', 232
     new $P958, 'ExceptionHandler'
     set_addr $P958, control_957
-    $P958."handle_types"(57)
+    $P958."handle_types"(.CONTROL_RETURN)
     push_eh $P958
     .lex "self", self
     .lex "$/", param_959
@@ -10251,12 +10291,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<{*}>"  :subid("62_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<{*}>"  :subid("62_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_981
 .annotate 'line', 245
     new $P980, 'ExceptionHandler'
     set_addr $P980, control_979
-    $P980."handle_types"(57)
+    $P980."handle_types"(.CONTROL_RETURN)
     push_eh $P980
     .lex "self", self
     .lex "$/", param_981
@@ -10312,12 +10353,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<var>"  :subid("63_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<var>"  :subid("63_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1002
 .annotate 'line', 252
     new $P1001, 'ExceptionHandler'
     set_addr $P1001, control_1000
-    $P1001."handle_types"(57)
+    $P1001."handle_types"(.CONTROL_RETURN)
     push_eh $P1001
     .lex "self", self
     .lex "$/", param_1002
@@ -10472,12 +10514,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<PIR>"  :subid("64_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "metachar:sym<PIR>"  :subid("64_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1058
 .annotate 'line', 272
     new $P1057, 'ExceptionHandler'
     set_addr $P1057, control_1056
-    $P1057."handle_types"(57)
+    $P1057."handle_types"(.CONTROL_RETURN)
     push_eh $P1057
     .lex "self", self
     .lex "$/", param_1058
@@ -10511,12 +10554,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<w>"  :subid("65_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "backslash:sym<w>"  :subid("65_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1073
 .annotate 'line', 280
     new $P1072, 'ExceptionHandler'
     set_addr $P1072, control_1071
-    $P1072."handle_types"(57)
+    $P1072."handle_types"(.CONTROL_RETURN)
     push_eh $P1072
     .lex "self", self
     .lex "$/", param_1073
@@ -10577,12 +10621,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<b>"  :subid("66_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "backslash:sym<b>"  :subid("66_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1097
 .annotate 'line', 286
     new $P1096, 'ExceptionHandler'
     set_addr $P1096, control_1095
-    $P1096."handle_types"(57)
+    $P1096."handle_types"(.CONTROL_RETURN)
     push_eh $P1096
     .lex "self", self
     .lex "$/", param_1097
@@ -10620,12 +10665,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<e>"  :subid("67_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "backslash:sym<e>"  :subid("67_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1113
 .annotate 'line', 292
     new $P1112, 'ExceptionHandler'
     set_addr $P1112, control_1111
-    $P1112."handle_types"(57)
+    $P1112."handle_types"(.CONTROL_RETURN)
     push_eh $P1112
     .lex "self", self
     .lex "$/", param_1113
@@ -10663,12 +10709,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<f>"  :subid("68_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "backslash:sym<f>"  :subid("68_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1129
 .annotate 'line', 298
     new $P1128, 'ExceptionHandler'
     set_addr $P1128, control_1127
-    $P1128."handle_types"(57)
+    $P1128."handle_types"(.CONTROL_RETURN)
     push_eh $P1128
     .lex "self", self
     .lex "$/", param_1129
@@ -10706,12 +10753,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<h>"  :subid("69_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "backslash:sym<h>"  :subid("69_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1145
 .annotate 'line', 304
     new $P1144, 'ExceptionHandler'
     set_addr $P1144, control_1143
-    $P1144."handle_types"(57)
+    $P1144."handle_types"(.CONTROL_RETURN)
     push_eh $P1144
     .lex "self", self
     .lex "$/", param_1145
@@ -10749,12 +10797,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<r>"  :subid("70_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "backslash:sym<r>"  :subid("70_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1161
 .annotate 'line', 310
     new $P1160, 'ExceptionHandler'
     set_addr $P1160, control_1159
-    $P1160."handle_types"(57)
+    $P1160."handle_types"(.CONTROL_RETURN)
     push_eh $P1160
     .lex "self", self
     .lex "$/", param_1161
@@ -10792,12 +10841,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<t>"  :subid("71_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "backslash:sym<t>"  :subid("71_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1177
 .annotate 'line', 316
     new $P1176, 'ExceptionHandler'
     set_addr $P1176, control_1175
-    $P1176."handle_types"(57)
+    $P1176."handle_types"(.CONTROL_RETURN)
     push_eh $P1176
     .lex "self", self
     .lex "$/", param_1177
@@ -10835,12 +10885,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<v>"  :subid("72_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "backslash:sym<v>"  :subid("72_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1193
 .annotate 'line', 322
     new $P1192, 'ExceptionHandler'
     set_addr $P1192, control_1191
-    $P1192."handle_types"(57)
+    $P1192."handle_types"(.CONTROL_RETURN)
     push_eh $P1192
     .lex "self", self
     .lex "$/", param_1193
@@ -10878,12 +10929,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<o>"  :subid("73_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "backslash:sym<o>"  :subid("73_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1209
 .annotate 'line', 329
     new $P1208, 'ExceptionHandler'
     set_addr $P1208, control_1207
-    $P1208."handle_types"(57)
+    $P1208."handle_types"(.CONTROL_RETURN)
     push_eh $P1208
     .lex "self", self
     .lex "$/", param_1209
@@ -10961,12 +11013,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<x>"  :subid("74_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "backslash:sym<x>"  :subid("74_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1240
 .annotate 'line', 338
     new $P1239, 'ExceptionHandler'
     set_addr $P1239, control_1238
-    $P1239."handle_types"(57)
+    $P1239."handle_types"(.CONTROL_RETURN)
     push_eh $P1239
     .lex "self", self
     .lex "$/", param_1240
@@ -11044,12 +11097,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<c>"  :subid("75_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "backslash:sym<c>"  :subid("75_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1271
 .annotate 'line', 347
     new $P1270, 'ExceptionHandler'
     set_addr $P1270, control_1269
-    $P1270."handle_types"(57)
+    $P1270."handle_types"(.CONTROL_RETURN)
     push_eh $P1270
     .lex "self", self
     .lex "$/", param_1271
@@ -11079,12 +11133,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<misc>"  :subid("76_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "backslash:sym<misc>"  :subid("76_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1284
 .annotate 'line', 351
     new $P1283, 'ExceptionHandler'
     set_addr $P1283, control_1282
-    $P1283."handle_types"(57)
+    $P1283."handle_types"(.CONTROL_RETURN)
     push_eh $P1283
     .lex "self", self
     .lex "$/", param_1284
@@ -11112,12 +11167,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<?>"  :subid("77_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "assertion:sym<?>"  :subid("77_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1298
 .annotate 'line', 357
     new $P1297, 'ExceptionHandler'
     set_addr $P1297, control_1296
-    $P1297."handle_types"(57)
+    $P1297."handle_types"(.CONTROL_RETURN)
     push_eh $P1297
     .lex "self", self
     .lex "$/", param_1298
@@ -11172,12 +11228,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<!>"  :subid("78_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "assertion:sym<!>"  :subid("78_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1316
 .annotate 'line', 367
     new $P1315, 'ExceptionHandler'
     set_addr $P1315, control_1314
-    $P1315."handle_types"(57)
+    $P1315."handle_types"(.CONTROL_RETURN)
     push_eh $P1315
     .lex "self", self
     .lex "$/", param_1316
@@ -11240,12 +11297,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<method>"  :subid("79_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "assertion:sym<method>"  :subid("79_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1340
 .annotate 'line', 380
     new $P1339, 'ExceptionHandler'
     set_addr $P1339, control_1338
-    $P1339."handle_types"(57)
+    $P1339."handle_types"(.CONTROL_RETURN)
     push_eh $P1339
     .lex "self", self
     .lex "$/", param_1340
@@ -11283,16 +11341,17 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<name>"  :subid("80_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "assertion:sym<name>"  :subid("80_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1354
 .annotate 'line', 387
-    .const 'Sub' $P1412 = "82_1275803246.87024" 
+    .const 'Sub' $P1412 = "82_1275805946.48212" 
     capture_lex $P1412
-    .const 'Sub' $P1376 = "81_1275803246.87024" 
+    .const 'Sub' $P1376 = "81_1275805946.48212" 
     capture_lex $P1376
     new $P1353, 'ExceptionHandler'
     set_addr $P1353, control_1352
-    $P1353."handle_types"(57)
+    $P1353."handle_types"(.CONTROL_RETURN)
     push_eh $P1353
     .lex "self", self
     .lex "$/", param_1354
@@ -11378,13 +11437,13 @@
     iter $P1403, $P1408
     new $P1418, 'ExceptionHandler'
     set_addr $P1418, loop1417_handler
-    $P1418."handle_types"(64, 66, 65)
+    $P1418."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P1418
   loop1417_test:
     unless $P1403, loop1417_done
     shift $P1410, $P1403
   loop1417_redo:
-    .const 'Sub' $P1412 = "82_1275803246.87024" 
+    .const 'Sub' $P1412 = "82_1275805946.48212" 
     capture_lex $P1412
     $P1412($P1410)
   loop1417_next:
@@ -11393,8 +11452,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P1419, exception, 'type'
-    eq $P1419, 64, loop1417_next
-    eq $P1419, 66, loop1417_redo
+    eq $P1419, .CONTROL_LOOP_NEXT, loop1417_next
+    eq $P1419, .CONTROL_LOOP_REDO, loop1417_redo
   loop1417_done:
     pop_eh 
   for_undef_324:
@@ -11424,7 +11483,7 @@
     goto if_1371_end
   if_1371:
 .annotate 'line', 394
-    .const 'Sub' $P1376 = "81_1275803246.87024" 
+    .const 'Sub' $P1376 = "81_1275805946.48212" 
     capture_lex $P1376
     $P1376()
   if_1371_end:
@@ -11465,7 +11524,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1411"  :anon :subid("82_1275803246.87024") :outer("80_1275803246.87024")
+.sub "_block1411"  :anon :subid("82_1275805946.48212") :outer("80_1275805946.48212")
     .param pmc param_1413
 .annotate 'line', 416
     .lex "$_", param_1413
@@ -11477,7 +11536,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1375"  :anon :subid("81_1275803246.87024") :outer("80_1275803246.87024")
+.sub "_block1375"  :anon :subid("81_1275805946.48212") :outer("80_1275805946.48212")
 .annotate 'line', 395
     new $P1377, "Undef"
     .lex "$regexsym", $P1377
@@ -11508,14 +11567,15 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<[>"  :subid("83_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "assertion:sym<[>"  :subid("83_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1427
 .annotate 'line', 422
-    .const 'Sub' $P1462 = "84_1275803246.87024" 
+    .const 'Sub' $P1462 = "84_1275805946.48212" 
     capture_lex $P1462
     new $P1426, 'ExceptionHandler'
     set_addr $P1426, control_1425
-    $P1426."handle_types"(57)
+    $P1426."handle_types"(.CONTROL_RETURN)
     push_eh $P1426
     .lex "self", self
     .lex "$/", param_1427
@@ -11593,7 +11653,7 @@
 .annotate 'line', 435
     new $P1486, 'ExceptionHandler'
     set_addr $P1486, loop1485_handler
-    $P1486."handle_types"(64, 66, 65)
+    $P1486."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P1486
   loop1485_test:
     find_lex $P1456, "$i"
@@ -11603,7 +11663,7 @@
     islt $I1460, $N1457, $N1459
     unless $I1460, loop1485_done
   loop1485_redo:
-    .const 'Sub' $P1462 = "84_1275803246.87024" 
+    .const 'Sub' $P1462 = "84_1275805946.48212" 
     capture_lex $P1462
     $P1462()
   loop1485_next:
@@ -11612,8 +11672,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P1487, exception, 'type'
-    eq $P1487, 64, loop1485_next
-    eq $P1487, 66, loop1485_redo
+    eq $P1487, .CONTROL_LOOP_NEXT, loop1485_next
+    eq $P1487, .CONTROL_LOOP_REDO, loop1485_redo
   loop1485_done:
     pop_eh 
 .annotate 'line', 446
@@ -11631,7 +11691,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1461"  :anon :subid("84_1275803246.87024") :outer("83_1275803246.87024")
+.sub "_block1461"  :anon :subid("84_1275805946.48212") :outer("83_1275805946.48212")
 .annotate 'line', 436
     new $P1463, "Undef"
     .lex "$ast", $P1463
@@ -11682,16 +11742,17 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "cclass_elem"  :subid("85_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "cclass_elem"  :subid("85_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1495
 .annotate 'line', 449
-    .const 'Sub' $P1520 = "87_1275803246.87024" 
+    .const 'Sub' $P1520 = "87_1275805946.48212" 
     capture_lex $P1520
-    .const 'Sub' $P1504 = "86_1275803246.87024" 
+    .const 'Sub' $P1504 = "86_1275805946.48212" 
     capture_lex $P1504
     new $P1494, 'ExceptionHandler'
     set_addr $P1494, control_1493
-    $P1494."handle_types"(57)
+    $P1494."handle_types"(.CONTROL_RETURN)
     push_eh $P1494
     .lex "self", self
     .lex "$/", param_1495
@@ -11730,13 +11791,13 @@
     iter $P1514, $P1516
     new $P1546, 'ExceptionHandler'
     set_addr $P1546, loop1545_handler
-    $P1546."handle_types"(64, 66, 65)
+    $P1546."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P1546
   loop1545_test:
     unless $P1514, loop1545_done
     shift $P1518, $P1514
   loop1545_redo:
-    .const 'Sub' $P1520 = "87_1275803246.87024" 
+    .const 'Sub' $P1520 = "87_1275805946.48212" 
     capture_lex $P1520
     $P1520($P1518)
   loop1545_next:
@@ -11745,8 +11806,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P1547, exception, 'type'
-    eq $P1547, 64, loop1545_next
-    eq $P1547, 66, loop1545_redo
+    eq $P1547, .CONTROL_LOOP_NEXT, loop1545_next
+    eq $P1547, .CONTROL_LOOP_REDO, loop1545_redo
   loop1545_done:
     pop_eh 
   for_undef_341:
@@ -11760,7 +11821,7 @@
     goto if_1500_end
   if_1500:
 .annotate 'line', 452
-    .const 'Sub' $P1504 = "86_1275803246.87024" 
+    .const 'Sub' $P1504 = "86_1275805946.48212" 
     capture_lex $P1504
     $P1504()
   if_1500_end:
@@ -11792,10 +11853,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1519"  :anon :subid("87_1275803246.87024") :outer("85_1275803246.87024")
+.sub "_block1519"  :anon :subid("87_1275805946.48212") :outer("85_1275805946.48212")
     .param pmc param_1521
 .annotate 'line', 456
-    .const 'Sub' $P1527 = "88_1275803246.87024" 
+    .const 'Sub' $P1527 = "88_1275805946.48212" 
     capture_lex $P1527
     .lex "$_", param_1521
 .annotate 'line', 457
@@ -11824,7 +11885,7 @@
 .annotate 'line', 457
     goto if_1523_end
   if_1523:
-    .const 'Sub' $P1527 = "88_1275803246.87024" 
+    .const 'Sub' $P1527 = "88_1275805946.48212" 
     capture_lex $P1527
     $P1540 = $P1527()
     set $P1522, $P1540
@@ -11835,7 +11896,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1526"  :anon :subid("88_1275803246.87024") :outer("87_1275803246.87024")
+.sub "_block1526"  :anon :subid("88_1275805946.48212") :outer("87_1275805946.48212")
 .annotate 'line', 458
     new $P1528, "Undef"
     .lex "$a", $P1528
@@ -11899,7 +11960,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1503"  :anon :subid("86_1275803246.87024") :outer("85_1275803246.87024")
+.sub "_block1503"  :anon :subid("86_1275805946.48212") :outer("85_1275805946.48212")
 .annotate 'line', 453
     new $P1505, "Undef"
     .lex "$name", $P1505
@@ -11927,12 +11988,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "mod_internal"  :subid("89_1275803246.87024") :method :outer("11_1275803246.87024")
+.include "except_types.pasm"
+.sub "mod_internal"  :subid("89_1275805946.48212") :method :outer("11_1275805946.48212")
     .param pmc param_1564
 .annotate 'line', 487
     new $P1563, 'ExceptionHandler'
     set_addr $P1563, control_1562
-    $P1563."handle_types"(57)
+    $P1563."handle_types"(.CONTROL_RETURN)
     push_eh $P1563
     .lex "self", self
     .lex "$/", param_1564
@@ -12025,18 +12087,18 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1594" :load :anon :subid("90_1275803246.87024")
+.sub "_block1594" :load :anon :subid("90_1275805946.48212")
 .annotate 'line', 4
-    .const 'Sub' $P1596 = "11_1275803246.87024" 
+    .const 'Sub' $P1596 = "11_1275805946.48212" 
     $P1597 = $P1596()
     .return ($P1597)
 .end
 
 
 .namespace []
-.sub "_block1600" :load :anon :subid("91_1275803246.87024")
+.sub "_block1600" :load :anon :subid("91_1275805946.48212")
 .annotate 'line', 1
-    .const 'Sub' $P1602 = "10_1275803246.87024" 
+    .const 'Sub' $P1602 = "10_1275805946.48212" 
     $P1603 = $P1602()
     .return ($P1603)
 .end


More information about the parrot-commits mailing list