[svn:parrot] r48071 - in branches/gsoc_threads: . compilers/imcc compilers/pct/src/PAST config/gen config/gen/makefiles config/gen/platform/generic editor ext/nqp-rx/src/stage0 include/parrot lib/Parrot/Configure/Options/Conf lib/Pod/Simple runtime/parrot/library src src/dynpmc src/interp src/pmc src/runcore t/library t/src t/steps/auto t/steps/init t/tools/pmc2cutils tools/dev

Chandon at svn.parrot.org Chandon at svn.parrot.org
Sun Jul 11 03:52:27 UTC 2010


Author: Chandon
Date: Sun Jul 11 03:52:25 2010
New Revision: 48071
URL: https://trac.parrot.org/parrot/changeset/48071

Log:
[gsoc_threads] Merge from trunk.

Modified:
   branches/gsoc_threads/   (props changed)
   branches/gsoc_threads/NEWS
   branches/gsoc_threads/compilers/imcc/pbc.c
   branches/gsoc_threads/compilers/pct/src/PAST/Compiler.pir
   branches/gsoc_threads/config/gen/core_pmcs.pm
   branches/gsoc_threads/config/gen/makefiles/editor.in
   branches/gsoc_threads/config/gen/platform/generic/env.c
   branches/gsoc_threads/editor/README.pod
   branches/gsoc_threads/editor/filetype_parrot.vim
   branches/gsoc_threads/ext/nqp-rx/src/stage0/HLL-s0.pir
   branches/gsoc_threads/ext/nqp-rx/src/stage0/NQP-s0.pir
   branches/gsoc_threads/ext/nqp-rx/src/stage0/P6Regex-s0.pir
   branches/gsoc_threads/include/parrot/runcore_trace.h   (props changed)
   branches/gsoc_threads/lib/Parrot/Configure/Options/Conf/File.pm
   branches/gsoc_threads/lib/Pod/Simple/Search.pm
   branches/gsoc_threads/runtime/parrot/library/distutils.pir
   branches/gsoc_threads/src/dynpmc/rational.pmc
   branches/gsoc_threads/src/interp/inter_create.c   (props changed)
   branches/gsoc_threads/src/oo.c
   branches/gsoc_threads/src/pmc/hash.pmc
   branches/gsoc_threads/src/pmc/key.pmc
   branches/gsoc_threads/src/pmc/sub.pmc
   branches/gsoc_threads/src/runcore/cores.c   (props changed)
   branches/gsoc_threads/src/runcore/profiling.c
   branches/gsoc_threads/src/runcore/trace.c   (props changed)
   branches/gsoc_threads/t/library/pcre.t
   branches/gsoc_threads/t/src/embed.t   (props changed)
   branches/gsoc_threads/t/steps/auto/format-01.t
   branches/gsoc_threads/t/steps/auto/inline-01.t
   branches/gsoc_threads/t/steps/init/hints-01.t
   branches/gsoc_threads/t/tools/pmc2cutils/05-gen_c.t
   branches/gsoc_threads/tools/dev/mk_gitignore.pl   (props changed)

Modified: branches/gsoc_threads/NEWS
==============================================================================
--- branches/gsoc_threads/NEWS	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/NEWS	Sun Jul 11 03:52:25 2010	(r48071)
@@ -1,5 +1,10 @@
 # $Id$
 
+New in 2.6.0
+- Platforms
+  + The Fedora package 'parrot-devel' install the files for syntax-highlighting
+    and automatic indenting for the vim editor.
+
 New in 2.5.0
 - Core
   + Added ByteBuffer PMC to allow direct byte manipulation

Modified: branches/gsoc_threads/compilers/imcc/pbc.c
==============================================================================
--- branches/gsoc_threads/compilers/imcc/pbc.c	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/compilers/imcc/pbc.c	Sun Jul 11 03:52:25 2010	(r48071)
@@ -1465,7 +1465,7 @@
         if (unit->vtable_name) {
             vtable_name = Parrot_str_new(interp, unit->vtable_name + 1,
                     strlen(unit->vtable_name) - 2);
-            UNIT_FREE_CHAR(unit->method_name);
+            UNIT_FREE_CHAR(unit->vtable_name);
         }
         else
             vtable_name = sub->name;

Modified: branches/gsoc_threads/compilers/pct/src/PAST/Compiler.pir
==============================================================================
--- branches/gsoc_threads/compilers/pct/src/PAST/Compiler.pir	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/compilers/pct/src/PAST/Compiler.pir	Sun Jul 11 03:52:25 2010	(r48071)
@@ -28,6 +28,7 @@
     +         PMC, int register, num register, or numeric constant
     ~         PMC, string register, or string constant
     :         argument (same as '*'), possibly with :named or :flat
+    0-9       use the nth input operand as the output result of this operation
 
 These flags are used to describe signatures and desired return
 types for various operations.  For example, if an opcode is

Modified: branches/gsoc_threads/config/gen/core_pmcs.pm
==============================================================================
--- branches/gsoc_threads/config/gen/core_pmcs.pm	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/config/gen/core_pmcs.pm	Sun Jul 11 03:52:25 2010	(r48071)
@@ -76,7 +76,7 @@
 END_H
     print {$OUT} coda();
 
-    close $OUT or die "Can't close file: $!";;
+    close $OUT or die "Can't close file: $!";
 
     move_if_diff( "$file.tmp", $file );
 

Modified: branches/gsoc_threads/config/gen/makefiles/editor.in
==============================================================================
--- branches/gsoc_threads/config/gen/makefiles/editor.in	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/config/gen/makefiles/editor.in	Sun Jul 11 03:52:25 2010	(r48071)
@@ -1,4 +1,4 @@
-# Copyright (C) 2005-2009, Parrot Foundation.
+# Copyright (C) 2005-2010, Parrot Foundation.
 # $Id$
 
 #IF(win32):VIM_DIR     = $(USERPROFILE)/vimfiles
@@ -13,6 +13,9 @@
 MKPATH = @mkpath@
 RM_F   = @rm_f@
 
+SKEL_FILE_DIR = `$(PERL) -e 'print "$(SKELETON)" || "$(VIM_DIR)"'`
+LINE          = "au BufNewFile         *.pir 0r $(SKEL_FILE_DIR)/skeleton.pir"
+
 default: all
 
 all: pir.vim imc.kate skeleton.pir
@@ -49,6 +52,7 @@
 	$(CP) pmc.vim "$(VIM_SYN_DIR)"
 	$(MKPATH) "$(VIM_FT_DIR)"
 	$(CP) filetype_parrot.vim "$(VIM_FT_DIR)/parrot.vim"
+	echo $(LINE) >> "$(VIM_FT_DIR)/parrot.vim"
 	$(MKPATH) "$(VIM_IN_DIR)"
 	$(CP) indent_pir.vim "$(VIM_IN_DIR)/pir.vim"
 

Modified: branches/gsoc_threads/config/gen/platform/generic/env.c
==============================================================================
--- branches/gsoc_threads/config/gen/platform/generic/env.c	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/config/gen/platform/generic/env.c	Sun Jul 11 03:52:25 2010	(r48071)
@@ -74,13 +74,13 @@
 void
 Parrot_unsetenv(PARROT_INTERP, STRING *str_name)
 {
-    char * const name = Parrot_str_to_cstring(interp, str_name);
 #ifdef PARROT_HAS_UNSETENV
+    char * const name = Parrot_str_to_cstring(interp, str_name);
     unsetenv(name);
+    Parrot_str_free_cstring(name);
 #else
-    Parrot_setenv(name, "");
+    Parrot_setenv(interp, str_name, Parrot_str_new(interp, "", 0));
 #endif
-    Parrot_str_free_cstring(name);
 }
 
 /*

Modified: branches/gsoc_threads/editor/README.pod
==============================================================================
--- branches/gsoc_threads/editor/README.pod	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/editor/README.pod	Sun Jul 11 03:52:25 2010	(r48071)
@@ -14,14 +14,20 @@
 
 =head2 Vim
 
-Calling C<make vim-install> in the F<editor/> directory will
-install several files in F<~/.vim>. All these files have the F<.vim>
+By default calling C<make vim-install> in the F<editor/> directory will
+install several files in F<~/.vim>. You can use the variable C<VIM_DIR>
+on the command line by calling C<make> to choose a different target directory
+for the vim files.
+
+   make vim-install [VIM_DIR=/vim_files_target_directory]
+
+All these files have the F<.vim>
 extension. F<pir.vim> (generated from F<pir_vim.in>), F<pasm.vim>, and
 F<pmc.vim> are syntax files; F<indent_pir.vim> is an indent plugin;
 and F<filetype_parrot.vim> is a filetype script that tells vim to
 associate the extensions .pir, .pasm, and .pmc with the
 right syntax. The syntax files are installed to F<~/.vim/syntax/>;
-F<filetype_parrot.vim> is installed to F<~/.vim/ftdetect>;
+F<filetype_parrot.vim> is installed to F<~/.vim/parrot.vim>;
 F<indent_pir.vim> is copied to F<~/.vim/indent/pir.vim>.  If you want
 indenting, you should also place C<filetype indent on> somewhere in
 your F<~/.vimrc>.
@@ -35,7 +41,7 @@
 
 in F<editor/> to build it.
 
-TODO: How do we install Kate syntax files?
+Copy the file F<imcc.xml> to F<~/.kde/share/apps/katepart/syntax>.
 
 =head2 Emacs
 
@@ -77,7 +83,7 @@
               (function (lambda ()
                           (setq indent-tabs-mode nil))))
 
-to F<~/.emacs> as this seems to prevent the odd behavior that is noted when 
+to F<~/.emacs> as this seems to prevent the odd behavior that is noted when
 using tabs in the pasm mode.
 
 =back

Modified: branches/gsoc_threads/editor/filetype_parrot.vim
==============================================================================
--- branches/gsoc_threads/editor/filetype_parrot.vim	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/editor/filetype_parrot.vim	Sun Jul 11 03:52:25 2010	(r48071)
@@ -1,4 +1,3 @@
 au BufNewFile,BufRead *.pmc set ft=pmc cindent
 au BufNewFile,BufRead *.pasm set ft=pasm ai sw=4
 au BufNewFile,BufRead *.pir set ft=pir ai sw=4
-au BufNewFile         *.pir 0r ~/.vim/skeleton.pir

Modified: branches/gsoc_threads/ext/nqp-rx/src/stage0/HLL-s0.pir
==============================================================================
--- branches/gsoc_threads/ext/nqp-rx/src/stage0/HLL-s0.pir	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/ext/nqp-rx/src/stage0/HLL-s0.pir	Sun Jul 11 03:52:25 2010	(r48071)
@@ -902,7 +902,7 @@
 ### .include 'gen/hllgrammar-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1277356884.2847")
+.sub "_block11"  :anon :subid("10_1278500527.62277")
 .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_1277356884.2847" 
+    .const 'Sub' $P350 = "106_1278500527.62277" 
     .return ($P350)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post107") :outer("10_1277356884.2847")
+.sub "" :load :init :subid("post107") :outer("10_1278500527.62277")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1277356884.2847" 
+    .const 'Sub' $P12 = "10_1278500527.62277" 
     .local pmc block
     set block, $P12
     $P353 = get_root_global ["parrot"], "P6metaclass"
@@ -936,83 +936,83 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block13"  :subid("11_1277356884.2847") :outer("10_1277356884.2847")
+.sub "_block13"  :subid("11_1278500527.62277") :outer("10_1278500527.62277")
 .annotate 'line', 5
-    .const 'Sub' $P334 = "103_1277356884.2847" 
+    .const 'Sub' $P334 = "103_1278500527.62277" 
     capture_lex $P334
-    .const 'Sub' $P327 = "101_1277356884.2847" 
+    .const 'Sub' $P327 = "101_1278500527.62277" 
     capture_lex $P327
-    .const 'Sub' $P314 = "98_1277356884.2847" 
+    .const 'Sub' $P314 = "98_1278500527.62277" 
     capture_lex $P314
-    .const 'Sub' $P282 = "93_1277356884.2847" 
+    .const 'Sub' $P282 = "93_1278500527.62277" 
     capture_lex $P282
-    .const 'Sub' $P276 = "91_1277356884.2847" 
+    .const 'Sub' $P276 = "91_1278500527.62277" 
     capture_lex $P276
-    .const 'Sub' $P271 = "89_1277356884.2847" 
+    .const 'Sub' $P271 = "89_1278500527.62277" 
     capture_lex $P271
-    .const 'Sub' $P265 = "87_1277356884.2847" 
+    .const 'Sub' $P265 = "87_1278500527.62277" 
     capture_lex $P265
-    .const 'Sub' $P259 = "85_1277356884.2847" 
+    .const 'Sub' $P259 = "85_1278500527.62277" 
     capture_lex $P259
-    .const 'Sub' $P254 = "83_1277356884.2847" 
+    .const 'Sub' $P254 = "83_1278500527.62277" 
     capture_lex $P254
-    .const 'Sub' $P249 = "81_1277356884.2847" 
+    .const 'Sub' $P249 = "81_1278500527.62277" 
     capture_lex $P249
-    .const 'Sub' $P244 = "79_1277356884.2847" 
+    .const 'Sub' $P244 = "79_1278500527.62277" 
     capture_lex $P244
-    .const 'Sub' $P239 = "77_1277356884.2847" 
+    .const 'Sub' $P239 = "77_1278500527.62277" 
     capture_lex $P239
-    .const 'Sub' $P234 = "75_1277356884.2847" 
+    .const 'Sub' $P234 = "75_1278500527.62277" 
     capture_lex $P234
-    .const 'Sub' $P229 = "73_1277356884.2847" 
+    .const 'Sub' $P229 = "73_1278500527.62277" 
     capture_lex $P229
-    .const 'Sub' $P224 = "71_1277356884.2847" 
+    .const 'Sub' $P224 = "71_1278500527.62277" 
     capture_lex $P224
-    .const 'Sub' $P219 = "69_1277356884.2847" 
+    .const 'Sub' $P219 = "69_1278500527.62277" 
     capture_lex $P219
-    .const 'Sub' $P208 = "65_1277356884.2847" 
+    .const 'Sub' $P208 = "65_1278500527.62277" 
     capture_lex $P208
-    .const 'Sub' $P195 = "63_1277356884.2847" 
+    .const 'Sub' $P195 = "63_1278500527.62277" 
     capture_lex $P195
-    .const 'Sub' $P183 = "61_1277356884.2847" 
+    .const 'Sub' $P183 = "61_1278500527.62277" 
     capture_lex $P183
-    .const 'Sub' $P176 = "59_1277356884.2847" 
+    .const 'Sub' $P176 = "59_1278500527.62277" 
     capture_lex $P176
-    .const 'Sub' $P167 = "57_1277356884.2847" 
+    .const 'Sub' $P167 = "57_1278500527.62277" 
     capture_lex $P167
-    .const 'Sub' $P160 = "55_1277356884.2847" 
+    .const 'Sub' $P160 = "55_1278500527.62277" 
     capture_lex $P160
-    .const 'Sub' $P151 = "53_1277356884.2847" 
+    .const 'Sub' $P151 = "53_1278500527.62277" 
     capture_lex $P151
-    .const 'Sub' $P144 = "51_1277356884.2847" 
+    .const 'Sub' $P144 = "51_1278500527.62277" 
     capture_lex $P144
-    .const 'Sub' $P135 = "49_1277356884.2847" 
+    .const 'Sub' $P135 = "49_1278500527.62277" 
     capture_lex $P135
-    .const 'Sub' $P128 = "47_1277356884.2847" 
+    .const 'Sub' $P128 = "47_1278500527.62277" 
     capture_lex $P128
-    .const 'Sub' $P121 = "45_1277356884.2847" 
+    .const 'Sub' $P121 = "45_1278500527.62277" 
     capture_lex $P121
-    .const 'Sub' $P111 = "43_1277356884.2847" 
+    .const 'Sub' $P111 = "43_1278500527.62277" 
     capture_lex $P111
-    .const 'Sub' $P103 = "41_1277356884.2847" 
+    .const 'Sub' $P103 = "41_1278500527.62277" 
     capture_lex $P103
-    .const 'Sub' $P93 = "40_1277356884.2847" 
+    .const 'Sub' $P93 = "40_1278500527.62277" 
     capture_lex $P93
-    .const 'Sub' $P87 = "38_1277356884.2847" 
+    .const 'Sub' $P87 = "38_1278500527.62277" 
     capture_lex $P87
-    .const 'Sub' $P82 = "36_1277356884.2847" 
+    .const 'Sub' $P82 = "36_1278500527.62277" 
     capture_lex $P82
-    .const 'Sub' $P74 = "34_1277356884.2847" 
+    .const 'Sub' $P74 = "34_1278500527.62277" 
     capture_lex $P74
-    .const 'Sub' $P68 = "32_1277356884.2847" 
+    .const 'Sub' $P68 = "32_1278500527.62277" 
     capture_lex $P68
-    .const 'Sub' $P62 = "30_1277356884.2847" 
+    .const 'Sub' $P62 = "30_1278500527.62277" 
     capture_lex $P62
-    .const 'Sub' $P56 = "28_1277356884.2847" 
+    .const 'Sub' $P56 = "28_1278500527.62277" 
     capture_lex $P56
-    .const 'Sub' $P23 = "14_1277356884.2847" 
+    .const 'Sub' $P23 = "14_1278500527.62277" 
     capture_lex $P23
-    .const 'Sub' $P15 = "12_1277356884.2847" 
+    .const 'Sub' $P15 = "12_1278500527.62277" 
     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_1277356884.2847" 
+    .const 'Sub' $P334 = "103_1278500527.62277" 
     capture_lex $P334
 .annotate 'line', 5
     .return ($P334)
-    .const 'Sub' $P345 = "105_1277356884.2847" 
+    .const 'Sub' $P345 = "105_1278500527.62277" 
     .return ($P345)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "ws"  :subid("12_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "ws"  :subid("12_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 5
     .local string rx16_tgt
     .local int rx16_pos
@@ -1116,7 +1116,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__ws"  :subid("13_1277356884.2847") :method
+.sub "!PREFIX__ws"  :subid("13_1278500527.62277") :method
 .annotate 'line', 5
     new $P18, "ResizablePMCArray"
     push $P18, ""
@@ -1125,7 +1125,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "termish"  :subid("14_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "termish"  :subid("14_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 5
     .local string rx24_tgt
     .local int rx24_pos
@@ -1218,7 +1218,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__termish"  :subid("15_1277356884.2847") :method
+.sub "!PREFIX__termish"  :subid("15_1278500527.62277") :method
 .annotate 'line', 5
     new $P26, "ResizablePMCArray"
     push $P26, ""
@@ -1227,7 +1227,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term"  :subid("16_1277356884.2847") :method
+.sub "term"  :subid("16_1278500527.62277") :method
 .annotate 'line', 13
     $P33 = self."!protoregex"("term")
     .return ($P33)
@@ -1235,7 +1235,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term"  :subid("17_1277356884.2847") :method
+.sub "!PREFIX__term"  :subid("17_1278500527.62277") :method
 .annotate 'line', 13
     $P35 = self."!PREFIX__!protoregex"("term")
     .return ($P35)
@@ -1243,7 +1243,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infix"  :subid("18_1277356884.2847") :method
+.sub "infix"  :subid("18_1278500527.62277") :method
 .annotate 'line', 14
     $P37 = self."!protoregex"("infix")
     .return ($P37)
@@ -1251,7 +1251,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infix"  :subid("19_1277356884.2847") :method
+.sub "!PREFIX__infix"  :subid("19_1278500527.62277") :method
 .annotate 'line', 14
     $P39 = self."!PREFIX__!protoregex"("infix")
     .return ($P39)
@@ -1259,7 +1259,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefix"  :subid("20_1277356884.2847") :method
+.sub "prefix"  :subid("20_1278500527.62277") :method
 .annotate 'line', 15
     $P41 = self."!protoregex"("prefix")
     .return ($P41)
@@ -1267,7 +1267,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefix"  :subid("21_1277356884.2847") :method
+.sub "!PREFIX__prefix"  :subid("21_1278500527.62277") :method
 .annotate 'line', 15
     $P43 = self."!PREFIX__!protoregex"("prefix")
     .return ($P43)
@@ -1275,7 +1275,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfix"  :subid("22_1277356884.2847") :method
+.sub "postfix"  :subid("22_1278500527.62277") :method
 .annotate 'line', 16
     $P45 = self."!protoregex"("postfix")
     .return ($P45)
@@ -1283,7 +1283,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfix"  :subid("23_1277356884.2847") :method
+.sub "!PREFIX__postfix"  :subid("23_1278500527.62277") :method
 .annotate 'line', 16
     $P47 = self."!PREFIX__!protoregex"("postfix")
     .return ($P47)
@@ -1291,7 +1291,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "circumfix"  :subid("24_1277356884.2847") :method
+.sub "circumfix"  :subid("24_1278500527.62277") :method
 .annotate 'line', 17
     $P49 = self."!protoregex"("circumfix")
     .return ($P49)
@@ -1299,7 +1299,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__circumfix"  :subid("25_1277356884.2847") :method
+.sub "!PREFIX__circumfix"  :subid("25_1278500527.62277") :method
 .annotate 'line', 17
     $P51 = self."!PREFIX__!protoregex"("circumfix")
     .return ($P51)
@@ -1307,7 +1307,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postcircumfix"  :subid("26_1277356884.2847") :method
+.sub "postcircumfix"  :subid("26_1278500527.62277") :method
 .annotate 'line', 18
     $P53 = self."!protoregex"("postcircumfix")
     .return ($P53)
@@ -1315,7 +1315,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postcircumfix"  :subid("27_1277356884.2847") :method
+.sub "!PREFIX__postcircumfix"  :subid("27_1278500527.62277") :method
 .annotate 'line', 18
     $P55 = self."!PREFIX__!protoregex"("postcircumfix")
     .return ($P55)
@@ -1323,7 +1323,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term:sym<circumfix>"  :subid("28_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "term:sym<circumfix>"  :subid("28_1278500527.62277") :method :outer("11_1278500527.62277")
 .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_1277356884.2847") :method
+.sub "!PREFIX__term:sym<circumfix>"  :subid("29_1278500527.62277") :method
 .annotate 'line', 5
     $P59 = self."!PREFIX__!subrule"("circumfix", "")
     new $P60, "ResizablePMCArray"
@@ -1392,7 +1392,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infixish"  :subid("30_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "infixish"  :subid("30_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 5
     .local string rx63_tgt
     .local int rx63_pos
@@ -1451,7 +1451,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("31_1277356884.2847") :method
+.sub "!PREFIX__infixish"  :subid("31_1278500527.62277") :method
 .annotate 'line', 5
     $P65 = self."!PREFIX__!subrule"("infix", "")
     new $P66, "ResizablePMCArray"
@@ -1461,7 +1461,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefixish"  :subid("32_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "prefixish"  :subid("32_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 5
     .local string rx69_tgt
     .local int rx69_pos
@@ -1525,7 +1525,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefixish"  :subid("33_1277356884.2847") :method
+.sub "!PREFIX__prefixish"  :subid("33_1278500527.62277") :method
 .annotate 'line', 5
     $P71 = self."!PREFIX__!subrule"("prefix", "")
     new $P72, "ResizablePMCArray"
@@ -1535,7 +1535,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfixish"  :subid("34_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "postfixish"  :subid("34_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 5
     .local string rx75_tgt
     .local int rx75_pos
@@ -1610,7 +1610,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfixish"  :subid("35_1277356884.2847") :method
+.sub "!PREFIX__postfixish"  :subid("35_1278500527.62277") :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_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "nullterm"  :subid("36_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 5
     .local string rx83_tgt
     .local int rx83_pos
@@ -1674,7 +1674,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm"  :subid("37_1277356884.2847") :method
+.sub "!PREFIX__nullterm"  :subid("37_1278500527.62277") :method
 .annotate 'line', 5
     new $P85, "ResizablePMCArray"
     push $P85, ""
@@ -1683,7 +1683,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nullterm_alt"  :subid("38_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "nullterm_alt"  :subid("38_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 5
     .local string rx88_tgt
     .local int rx88_pos
@@ -1742,7 +1742,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm_alt"  :subid("39_1277356884.2847") :method
+.sub "!PREFIX__nullterm_alt"  :subid("39_1278500527.62277") :method
 .annotate 'line', 5
     $P90 = self."!PREFIX__!subrule"("nullterm", "")
     new $P91, "ResizablePMCArray"
@@ -1753,7 +1753,7 @@
 
 .namespace ["HLL";"Grammar"]
 .include "except_types.pasm"
-.sub "nulltermish"  :subid("40_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "nulltermish"  :subid("40_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     new $P95, 'ExceptionHandler'
     set_addr $P95, control_94
@@ -1780,7 +1780,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_delimited"  :subid("41_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "quote_delimited"  :subid("41_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx104_tgt
     .local int rx104_pos
@@ -1863,7 +1863,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_delimited"  :subid("42_1277356884.2847") :method
+.sub "!PREFIX__quote_delimited"  :subid("42_1278500527.62277") :method
 .annotate 'line', 33
     $P106 = self."!PREFIX__!subrule"("starter", "")
     new $P107, "ResizablePMCArray"
@@ -1873,7 +1873,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_atom"  :subid("43_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "quote_atom"  :subid("43_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx112_tgt
     .local int rx112_pos
@@ -1965,7 +1965,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_atom"  :subid("44_1277356884.2847") :method
+.sub "!PREFIX__quote_atom"  :subid("44_1278500527.62277") :method
 .annotate 'line', 33
     new $P114, "ResizablePMCArray"
     push $P114, ""
@@ -1974,7 +1974,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "decint"  :subid("45_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "decint"  :subid("45_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx122_tgt
     .local int rx122_pos
@@ -2047,7 +2047,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decint"  :subid("46_1277356884.2847") :method
+.sub "!PREFIX__decint"  :subid("46_1278500527.62277") :method
 .annotate 'line', 33
     new $P124, "ResizablePMCArray"
     push $P124, ""
@@ -2056,7 +2056,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "decints"  :subid("47_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "decints"  :subid("47_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx129_tgt
     .local int rx129_pos
@@ -2141,7 +2141,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decints"  :subid("48_1277356884.2847") :method
+.sub "!PREFIX__decints"  :subid("48_1278500527.62277") :method
 .annotate 'line', 33
     new $P131, "ResizablePMCArray"
     push $P131, ""
@@ -2150,7 +2150,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexint"  :subid("49_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "hexint"  :subid("49_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx136_tgt
     .local int rx136_pos
@@ -2232,7 +2232,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexint"  :subid("50_1277356884.2847") :method
+.sub "!PREFIX__hexint"  :subid("50_1278500527.62277") :method
 .annotate 'line', 33
     new $P138, "ResizablePMCArray"
     push $P138, ""
@@ -2241,7 +2241,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexints"  :subid("51_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "hexints"  :subid("51_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx145_tgt
     .local int rx145_pos
@@ -2326,7 +2326,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints"  :subid("52_1277356884.2847") :method
+.sub "!PREFIX__hexints"  :subid("52_1278500527.62277") :method
 .annotate 'line', 33
     new $P147, "ResizablePMCArray"
     push $P147, ""
@@ -2335,7 +2335,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octint"  :subid("53_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "octint"  :subid("53_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx152_tgt
     .local int rx152_pos
@@ -2417,7 +2417,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octint"  :subid("54_1277356884.2847") :method
+.sub "!PREFIX__octint"  :subid("54_1278500527.62277") :method
 .annotate 'line', 33
     new $P154, "ResizablePMCArray"
     push $P154, ""
@@ -2426,7 +2426,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octints"  :subid("55_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "octints"  :subid("55_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx161_tgt
     .local int rx161_pos
@@ -2511,7 +2511,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octints"  :subid("56_1277356884.2847") :method
+.sub "!PREFIX__octints"  :subid("56_1278500527.62277") :method
 .annotate 'line', 33
     new $P163, "ResizablePMCArray"
     push $P163, ""
@@ -2520,7 +2520,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binint"  :subid("57_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "binint"  :subid("57_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx168_tgt
     .local int rx168_pos
@@ -2602,7 +2602,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binint"  :subid("58_1277356884.2847") :method
+.sub "!PREFIX__binint"  :subid("58_1278500527.62277") :method
 .annotate 'line', 33
     new $P170, "ResizablePMCArray"
     push $P170, ""
@@ -2611,7 +2611,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binints"  :subid("59_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "binints"  :subid("59_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx177_tgt
     .local int rx177_pos
@@ -2696,7 +2696,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binints"  :subid("60_1277356884.2847") :method
+.sub "!PREFIX__binints"  :subid("60_1278500527.62277") :method
 .annotate 'line', 33
     new $P179, "ResizablePMCArray"
     push $P179, ""
@@ -2705,7 +2705,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "integer"  :subid("61_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "integer"  :subid("61_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx184_tgt
     .local int rx184_pos
@@ -2854,7 +2854,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__integer"  :subid("62_1277356884.2847") :method
+.sub "!PREFIX__integer"  :subid("62_1278500527.62277") :method
 .annotate 'line', 33
     $P186 = self."!PREFIX__!subrule"("decint", "")
     $P187 = self."!PREFIX__!subrule"("decint", "0d")
@@ -2872,7 +2872,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "dec_number"  :subid("63_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "dec_number"  :subid("63_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx196_tgt
     .local int rx196_pos
@@ -3052,7 +3052,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__dec_number"  :subid("64_1277356884.2847") :method
+.sub "!PREFIX__dec_number"  :subid("64_1278500527.62277") :method
 .annotate 'line', 33
     new $P198, "ResizablePMCArray"
     push $P198, ""
@@ -3063,7 +3063,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "escale"  :subid("65_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "escale"  :subid("65_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx209_tgt
     .local int rx209_pos
@@ -3141,7 +3141,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__escale"  :subid("66_1277356884.2847") :method
+.sub "!PREFIX__escale"  :subid("66_1278500527.62277") :method
 .annotate 'line', 33
     new $P211, "ResizablePMCArray"
     push $P211, "e"
@@ -3151,7 +3151,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape"  :subid("67_1277356884.2847") :method
+.sub "quote_escape"  :subid("67_1278500527.62277") :method
 .annotate 'line', 79
     $P216 = self."!protoregex"("quote_escape")
     .return ($P216)
@@ -3159,7 +3159,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape"  :subid("68_1277356884.2847") :method
+.sub "!PREFIX__quote_escape"  :subid("68_1278500527.62277") :method
 .annotate 'line', 79
     $P218 = self."!PREFIX__!protoregex"("quote_escape")
     .return ($P218)
@@ -3167,7 +3167,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<backslash>"  :subid("69_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "quote_escape:sym<backslash>"  :subid("69_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx220_tgt
     .local int rx220_pos
@@ -3230,7 +3230,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1277356884.2847") :method
+.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1278500527.62277") :method
 .annotate 'line', 33
     new $P222, "ResizablePMCArray"
     push $P222, "\\\\"
@@ -3239,7 +3239,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<stopper>"  :subid("71_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "quote_escape:sym<stopper>"  :subid("71_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx225_tgt
     .local int rx225_pos
@@ -3309,7 +3309,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1277356884.2847") :method
+.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1278500527.62277") :method
 .annotate 'line', 33
     new $P227, "ResizablePMCArray"
     push $P227, "\\"
@@ -3318,7 +3318,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<bs>"  :subid("73_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "quote_escape:sym<bs>"  :subid("73_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx230_tgt
     .local int rx230_pos
@@ -3381,7 +3381,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1277356884.2847") :method
+.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1278500527.62277") :method
 .annotate 'line', 33
     new $P232, "ResizablePMCArray"
     push $P232, "\\b"
@@ -3390,7 +3390,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<nl>"  :subid("75_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "quote_escape:sym<nl>"  :subid("75_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx235_tgt
     .local int rx235_pos
@@ -3453,7 +3453,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1277356884.2847") :method
+.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1278500527.62277") :method
 .annotate 'line', 33
     new $P237, "ResizablePMCArray"
     push $P237, "\\n"
@@ -3462,7 +3462,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<cr>"  :subid("77_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "quote_escape:sym<cr>"  :subid("77_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx240_tgt
     .local int rx240_pos
@@ -3525,7 +3525,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1277356884.2847") :method
+.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1278500527.62277") :method
 .annotate 'line', 33
     new $P242, "ResizablePMCArray"
     push $P242, "\\r"
@@ -3534,7 +3534,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<tab>"  :subid("79_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "quote_escape:sym<tab>"  :subid("79_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx245_tgt
     .local int rx245_pos
@@ -3597,7 +3597,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1277356884.2847") :method
+.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1278500527.62277") :method
 .annotate 'line', 33
     new $P247, "ResizablePMCArray"
     push $P247, "\\t"
@@ -3606,7 +3606,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<ff>"  :subid("81_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "quote_escape:sym<ff>"  :subid("81_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx250_tgt
     .local int rx250_pos
@@ -3669,7 +3669,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<ff>"  :subid("82_1277356884.2847") :method
+.sub "!PREFIX__quote_escape:sym<ff>"  :subid("82_1278500527.62277") :method
 .annotate 'line', 33
     new $P252, "ResizablePMCArray"
     push $P252, "\\f"
@@ -3678,7 +3678,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<esc>"  :subid("83_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "quote_escape:sym<esc>"  :subid("83_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx255_tgt
     .local int rx255_pos
@@ -3741,7 +3741,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>"  :subid("84_1277356884.2847") :method
+.sub "!PREFIX__quote_escape:sym<esc>"  :subid("84_1278500527.62277") :method
 .annotate 'line', 33
     new $P257, "ResizablePMCArray"
     push $P257, "\\e"
@@ -3750,7 +3750,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<hex>"  :subid("85_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "quote_escape:sym<hex>"  :subid("85_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx260_tgt
     .local int rx260_pos
@@ -3849,7 +3849,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<hex>"  :subid("86_1277356884.2847") :method
+.sub "!PREFIX__quote_escape:sym<hex>"  :subid("86_1278500527.62277") :method
 .annotate 'line', 33
     new $P262, "ResizablePMCArray"
     push $P262, unicode:"\\x"
@@ -3858,7 +3858,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<oct>"  :subid("87_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "quote_escape:sym<oct>"  :subid("87_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx266_tgt
     .local int rx266_pos
@@ -3957,7 +3957,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<oct>"  :subid("88_1277356884.2847") :method
+.sub "!PREFIX__quote_escape:sym<oct>"  :subid("88_1278500527.62277") :method
 .annotate 'line', 33
     new $P268, "ResizablePMCArray"
     push $P268, "\\o"
@@ -3966,7 +3966,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<chr>"  :subid("89_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "quote_escape:sym<chr>"  :subid("89_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx272_tgt
     .local int rx272_pos
@@ -4036,7 +4036,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<chr>"  :subid("90_1277356884.2847") :method
+.sub "!PREFIX__quote_escape:sym<chr>"  :subid("90_1278500527.62277") :method
 .annotate 'line', 33
     new $P274, "ResizablePMCArray"
     push $P274, "\\c"
@@ -4045,7 +4045,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<0>"  :subid("91_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "quote_escape:sym<0>"  :subid("91_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx277_tgt
     .local int rx277_pos
@@ -4129,7 +4129,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<0>"  :subid("92_1277356884.2847") :method
+.sub "!PREFIX__quote_escape:sym<0>"  :subid("92_1278500527.62277") :method
 .annotate 'line', 33
     new $P279, "ResizablePMCArray"
     push $P279, "\\0"
@@ -4138,13 +4138,13 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<misc>"  :subid("93_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "quote_escape:sym<misc>"  :subid("93_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
-    .const 'Sub' $P302 = "97_1277356884.2847" 
+    .const 'Sub' $P302 = "97_1278500527.62277" 
     capture_lex $P302
-    .const 'Sub' $P295 = "96_1277356884.2847" 
+    .const 'Sub' $P295 = "96_1278500527.62277" 
     capture_lex $P295
-    .const 'Sub' $P290 = "95_1277356884.2847" 
+    .const 'Sub' $P290 = "95_1278500527.62277" 
     capture_lex $P290
     .local string rx283_tgt
     .local int rx283_pos
@@ -4181,7 +4181,7 @@
     find_lex $P287, unicode:"$\x{a2}"
     $P288 = $P287."MATCH"()
     store_lex "$/", $P288
-    .const 'Sub' $P290 = "95_1277356884.2847" 
+    .const 'Sub' $P290 = "95_1278500527.62277" 
     capture_lex $P290
     $P291 = $P290()
   # rx literal  "\\"
@@ -4207,7 +4207,7 @@
 .annotate 'line', 104
   # rx subrule $P295 subtype=capture negate=
     rx283_cur."!cursor_pos"(rx283_pos)
-    .const 'Sub' $P295 = "96_1277356884.2847" 
+    .const 'Sub' $P295 = "96_1278500527.62277" 
     capture_lex $P295
     $P10 = rx283_cur.$P295()
     unless $P10, rx283_fail
@@ -4241,7 +4241,7 @@
     find_lex $P299, unicode:"$\x{a2}"
     $P300 = $P299."MATCH"()
     store_lex "$/", $P300
-    .const 'Sub' $P302 = "97_1277356884.2847" 
+    .const 'Sub' $P302 = "97_1278500527.62277" 
     capture_lex $P302
     $P312 = $P302()
   alt293_end:
@@ -4287,7 +4287,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<misc>"  :subid("94_1277356884.2847") :method
+.sub "!PREFIX__quote_escape:sym<misc>"  :subid("94_1278500527.62277") :method
 .annotate 'line', 33
     new $P285, "ResizablePMCArray"
     push $P285, ""
@@ -4296,14 +4296,14 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block289"  :anon :subid("95_1277356884.2847") :outer("93_1277356884.2847")
+.sub "_block289"  :anon :subid("95_1278500527.62277") :outer("93_1278500527.62277")
 .annotate 'line', 100
     .return ()
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block294"  :anon :subid("96_1277356884.2847") :method :outer("93_1277356884.2847")
+.sub "_block294"  :anon :subid("96_1278500527.62277") :method :outer("93_1278500527.62277")
 .annotate 'line', 104
     .local string rx296_tgt
     .local int rx296_pos
@@ -4359,7 +4359,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block301"  :anon :subid("97_1277356884.2847") :outer("93_1277356884.2847")
+.sub "_block301"  :anon :subid("97_1278500527.62277") :outer("93_1278500527.62277")
 .annotate 'line', 105
     find_lex $P303, "$/"
     $P304 = $P303."CURSOR"()
@@ -4382,9 +4382,9 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charname"  :subid("98_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "charname"  :subid("98_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
-    .const 'Sub' $P324 = "100_1277356884.2847" 
+    .const 'Sub' $P324 = "100_1278500527.62277" 
     capture_lex $P324
     .local string rx315_tgt
     .local int rx315_pos
@@ -4463,7 +4463,7 @@
 .annotate 'line', 114
   # rx subrule "before" subtype=zerowidth negate=
     rx315_cur."!cursor_pos"(rx315_pos)
-    .const 'Sub' $P324 = "100_1277356884.2847" 
+    .const 'Sub' $P324 = "100_1278500527.62277" 
     capture_lex $P324
     $P10 = rx315_cur."before"($P324)
     unless $P10, rx315_fail
@@ -4488,7 +4488,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charname"  :subid("99_1277356884.2847") :method
+.sub "!PREFIX__charname"  :subid("99_1278500527.62277") :method
 .annotate 'line', 33
     $P317 = self."!PREFIX__!subrule"("integer", "")
     new $P318, "ResizablePMCArray"
@@ -4550,7 +4550,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block323"  :anon :subid("100_1277356884.2847") :method :outer("98_1277356884.2847")
+.sub "_block323"  :anon :subid("100_1278500527.62277") :method :outer("98_1278500527.62277")
 .annotate 'line', 114
     .local string rx325_tgt
     .local int rx325_pos
@@ -4611,7 +4611,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charnames"  :subid("101_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "charnames"  :subid("101_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx328_tgt
     .local int rx328_pos
@@ -4696,7 +4696,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charnames"  :subid("102_1277356884.2847") :method
+.sub "!PREFIX__charnames"  :subid("102_1278500527.62277") :method
 .annotate 'line', 33
     new $P330, "ResizablePMCArray"
     push $P330, ""
@@ -4705,7 +4705,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charspec"  :subid("103_1277356884.2847") :method :outer("11_1277356884.2847")
+.sub "charspec"  :subid("103_1278500527.62277") :method :outer("11_1278500527.62277")
 .annotate 'line', 33
     .local string rx335_tgt
     .local int rx335_pos
@@ -4836,7 +4836,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charspec"  :subid("104_1277356884.2847") :method
+.sub "!PREFIX__charspec"  :subid("104_1278500527.62277") :method
 .annotate 'line', 33
     $P337 = self."!PREFIX__!subrule"("panic", "")
     $P338 = self."!PREFIX__!subrule"("charnames", "[")
@@ -4877,18 +4877,18 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block344" :load :anon :subid("105_1277356884.2847")
+.sub "_block344" :load :anon :subid("105_1278500527.62277")
 .annotate 'line', 5
-    .const 'Sub' $P346 = "11_1277356884.2847" 
+    .const 'Sub' $P346 = "11_1278500527.62277" 
     $P347 = $P346()
     .return ($P347)
 .end
 
 
 .namespace []
-.sub "_block349" :load :anon :subid("106_1277356884.2847")
+.sub "_block349" :load :anon :subid("106_1278500527.62277")
 .annotate 'line', 1
-    .const 'Sub' $P351 = "10_1277356884.2847" 
+    .const 'Sub' $P351 = "10_1278500527.62277" 
     $P352 = $P351()
     .return ($P352)
 .end
@@ -4896,7 +4896,7 @@
 ### .include 'gen/hllgrammar-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1277356885.58319")
+.sub "_block11"  :anon :subid("10_1278500528.84129")
 .annotate 'line', 0
     get_hll_global $P14, ["HLL";"Actions"], "_block13" 
     capture_lex $P14
@@ -4913,15 +4913,15 @@
     $P627 = $P14()
 .annotate 'line', 1
     .return ($P627)
-    .const 'Sub' $P629 = "55_1277356885.58319" 
+    .const 'Sub' $P629 = "55_1278500528.84129" 
     .return ($P629)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post56") :outer("10_1277356885.58319")
+.sub "" :load :init :subid("post56") :outer("10_1278500528.84129")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1277356885.58319" 
+    .const 'Sub' $P12 = "10_1278500528.84129" 
     .local pmc block
     set block, $P12
     $P632 = get_root_global ["parrot"], "P6metaclass"
@@ -4930,75 +4930,75 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block13"  :subid("11_1277356885.58319") :outer("10_1277356885.58319")
+.sub "_block13"  :subid("11_1278500528.84129") :outer("10_1278500528.84129")
 .annotate 'line', 3
-    .const 'Sub' $P605 = "53_1277356885.58319" 
+    .const 'Sub' $P605 = "53_1278500528.84129" 
     capture_lex $P605
-    .const 'Sub' $P580 = "51_1277356885.58319" 
+    .const 'Sub' $P580 = "51_1278500528.84129" 
     capture_lex $P580
-    .const 'Sub' $P550 = "50_1277356885.58319" 
+    .const 'Sub' $P550 = "50_1278500528.84129" 
     capture_lex $P550
-    .const 'Sub' $P531 = "49_1277356885.58319" 
+    .const 'Sub' $P531 = "49_1278500528.84129" 
     capture_lex $P531
-    .const 'Sub' $P524 = "48_1277356885.58319" 
+    .const 'Sub' $P524 = "48_1278500528.84129" 
     capture_lex $P524
-    .const 'Sub' $P514 = "47_1277356885.58319" 
+    .const 'Sub' $P514 = "47_1278500528.84129" 
     capture_lex $P514
-    .const 'Sub' $P497 = "46_1277356885.58319" 
+    .const 'Sub' $P497 = "46_1278500528.84129" 
     capture_lex $P497
-    .const 'Sub' $P480 = "45_1277356885.58319" 
+    .const 'Sub' $P480 = "45_1278500528.84129" 
     capture_lex $P480
-    .const 'Sub' $P473 = "44_1277356885.58319" 
+    .const 'Sub' $P473 = "44_1278500528.84129" 
     capture_lex $P473
-    .const 'Sub' $P466 = "43_1277356885.58319" 
+    .const 'Sub' $P466 = "43_1278500528.84129" 
     capture_lex $P466
-    .const 'Sub' $P459 = "42_1277356885.58319" 
+    .const 'Sub' $P459 = "42_1278500528.84129" 
     capture_lex $P459
-    .const 'Sub' $P452 = "41_1277356885.58319" 
+    .const 'Sub' $P452 = "41_1278500528.84129" 
     capture_lex $P452
-    .const 'Sub' $P445 = "40_1277356885.58319" 
+    .const 'Sub' $P445 = "40_1278500528.84129" 
     capture_lex $P445
-    .const 'Sub' $P438 = "39_1277356885.58319" 
+    .const 'Sub' $P438 = "39_1278500528.84129" 
     capture_lex $P438
-    .const 'Sub' $P428 = "38_1277356885.58319" 
+    .const 'Sub' $P428 = "38_1278500528.84129" 
     capture_lex $P428
-    .const 'Sub' $P421 = "37_1277356885.58319" 
+    .const 'Sub' $P421 = "37_1278500528.84129" 
     capture_lex $P421
-    .const 'Sub' $P405 = "36_1277356885.58319" 
+    .const 'Sub' $P405 = "36_1278500528.84129" 
     capture_lex $P405
-    .const 'Sub' $P330 = "34_1277356885.58319" 
+    .const 'Sub' $P330 = "34_1278500528.84129" 
     capture_lex $P330
-    .const 'Sub' $P267 = "31_1277356885.58319" 
+    .const 'Sub' $P267 = "31_1278500528.84129" 
     capture_lex $P267
-    .const 'Sub' $P258 = "30_1277356885.58319" 
+    .const 'Sub' $P258 = "30_1278500528.84129" 
     capture_lex $P258
-    .const 'Sub' $P249 = "29_1277356885.58319" 
+    .const 'Sub' $P249 = "29_1278500528.84129" 
     capture_lex $P249
-    .const 'Sub' $P240 = "28_1277356885.58319" 
+    .const 'Sub' $P240 = "28_1278500528.84129" 
     capture_lex $P240
-    .const 'Sub' $P231 = "27_1277356885.58319" 
+    .const 'Sub' $P231 = "27_1278500528.84129" 
     capture_lex $P231
-    .const 'Sub' $P222 = "26_1277356885.58319" 
+    .const 'Sub' $P222 = "26_1278500528.84129" 
     capture_lex $P222
-    .const 'Sub' $P212 = "25_1277356885.58319" 
+    .const 'Sub' $P212 = "25_1278500528.84129" 
     capture_lex $P212
-    .const 'Sub' $P202 = "24_1277356885.58319" 
+    .const 'Sub' $P202 = "24_1278500528.84129" 
     capture_lex $P202
-    .const 'Sub' $P194 = "23_1277356885.58319" 
+    .const 'Sub' $P194 = "23_1278500528.84129" 
     capture_lex $P194
-    .const 'Sub' $P184 = "22_1277356885.58319" 
+    .const 'Sub' $P184 = "22_1278500528.84129" 
     capture_lex $P184
-    .const 'Sub' $P174 = "21_1277356885.58319" 
+    .const 'Sub' $P174 = "21_1278500528.84129" 
     capture_lex $P174
-    .const 'Sub' $P73 = "18_1277356885.58319" 
+    .const 'Sub' $P73 = "18_1278500528.84129" 
     capture_lex $P73
-    .const 'Sub' $P35 = "15_1277356885.58319" 
+    .const 'Sub' $P35 = "15_1278500528.84129" 
     capture_lex $P35
-    .const 'Sub' $P28 = "14_1277356885.58319" 
+    .const 'Sub' $P28 = "14_1278500528.84129" 
     capture_lex $P28
-    .const 'Sub' $P22 = "13_1277356885.58319" 
+    .const 'Sub' $P22 = "13_1278500528.84129" 
     capture_lex $P22
-    .const 'Sub' $P15 = "12_1277356885.58319" 
+    .const 'Sub' $P15 = "12_1278500528.84129" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -5007,18 +5007,18 @@
     $P0."ctxsave"()
   ctxsave_done:
 .annotate 'line', 225
-    .const 'Sub' $P605 = "53_1277356885.58319" 
+    .const 'Sub' $P605 = "53_1278500528.84129" 
     newclosure $P622, $P605
 .annotate 'line', 3
     .return ($P622)
-    .const 'Sub' $P624 = "54_1277356885.58319" 
+    .const 'Sub' $P624 = "54_1278500528.84129" 
     .return ($P624)
 .end
 
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "string_to_int"  :subid("12_1277356885.58319") :outer("11_1277356885.58319")
+.sub "string_to_int"  :subid("12_1278500528.84129") :outer("11_1278500528.84129")
     .param pmc param_18
     .param pmc param_19
 .annotate 'line', 3
@@ -5072,7 +5072,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "ints_to_string"  :subid("13_1277356885.58319") :outer("11_1277356885.58319")
+.sub "ints_to_string"  :subid("13_1278500528.84129") :outer("11_1278500528.84129")
     .param pmc param_25
 .annotate 'line', 37
     new $P24, 'ExceptionHandler'
@@ -5114,7 +5114,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "CTXSAVE"  :subid("14_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "CTXSAVE"  :subid("14_1278500528.84129") :method :outer("11_1278500528.84129")
 .annotate 'line', 62
     new $P30, 'ExceptionHandler'
     set_addr $P30, control_29
@@ -5144,10 +5144,10 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "SET_BLOCK_OUTER_CTX"  :subid("15_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "SET_BLOCK_OUTER_CTX"  :subid("15_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_38
 .annotate 'line', 76
-    .const 'Sub' $P48 = "16_1277356885.58319" 
+    .const 'Sub' $P48 = "16_1278500528.84129" 
     capture_lex $P48
     new $P37, 'ExceptionHandler'
     set_addr $P37, control_36
@@ -5182,7 +5182,7 @@
     set $P43, $I46
     goto if_44_end
   if_44:
-    .const 'Sub' $P48 = "16_1277356885.58319" 
+    .const 'Sub' $P48 = "16_1278500528.84129" 
     capture_lex $P48
     $P71 = $P48()
     set $P43, $P71
@@ -5199,9 +5199,9 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "_block47"  :anon :subid("16_1277356885.58319") :outer("15_1277356885.58319")
+.sub "_block47"  :anon :subid("16_1278500528.84129") :outer("15_1278500528.84129")
 .annotate 'line', 78
-    .const 'Sub' $P62 = "17_1277356885.58319" 
+    .const 'Sub' $P62 = "17_1278500528.84129" 
     capture_lex $P62
 .annotate 'line', 79
     $P49 = root_new ['parrot';'ResizablePMCArray']
@@ -5231,7 +5231,7 @@
     unless $P56, loop68_done
     shift $P60, $P56
   loop68_redo:
-    .const 'Sub' $P62 = "17_1277356885.58319" 
+    .const 'Sub' $P62 = "17_1278500528.84129" 
     capture_lex $P62
     $P62($P60)
   loop68_next:
@@ -5251,7 +5251,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block61"  :anon :subid("17_1277356885.58319") :outer("16_1277356885.58319")
+.sub "_block61"  :anon :subid("17_1278500528.84129") :outer("16_1278500528.84129")
     .param pmc param_63
 .annotate 'line', 82
     .lex "$_", param_63
@@ -5267,14 +5267,14 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "EXPR"  :subid("18_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "EXPR"  :subid("18_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_76
     .param pmc param_77 :optional
     .param int has_param_77 :opt_flag
 .annotate 'line', 89
-    .const 'Sub' $P156 = "20_1277356885.58319" 
+    .const 'Sub' $P156 = "20_1278500528.84129" 
     capture_lex $P156
-    .const 'Sub' $P123 = "19_1277356885.58319" 
+    .const 'Sub' $P123 = "19_1278500528.84129" 
     capture_lex $P123
     new $P75, 'ExceptionHandler'
     set_addr $P75, control_74
@@ -5409,7 +5409,7 @@
     find_lex $P120, "$past"
     $P121 = $P120."name"()
     if $P121, unless_119_end
-    .const 'Sub' $P123 = "19_1277356885.58319" 
+    .const 'Sub' $P123 = "19_1278500528.84129" 
     capture_lex $P123
     $P123()
   unless_119_end:
@@ -5433,7 +5433,7 @@
     unless $P150, loop167_done
     shift $P154, $P150
   loop167_redo:
-    .const 'Sub' $P156 = "20_1277356885.58319" 
+    .const 'Sub' $P156 = "20_1278500528.84129" 
     capture_lex $P156
     $P156($P154)
   loop167_next:
@@ -5478,7 +5478,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block122"  :anon :subid("19_1277356885.58319") :outer("18_1277356885.58319")
+.sub "_block122"  :anon :subid("19_1278500528.84129") :outer("18_1278500528.84129")
 .annotate 'line', 98
     new $P124, "Undef"
     .lex "$name", $P124
@@ -5528,7 +5528,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block155"  :anon :subid("20_1277356885.58319") :outer("18_1277356885.58319")
+.sub "_block155"  :anon :subid("20_1278500528.84129") :outer("18_1278500528.84129")
     .param pmc param_157
 .annotate 'line', 109
     .lex "$_", param_157
@@ -5552,7 +5552,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<circumfix>"  :subid("21_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "term:sym<circumfix>"  :subid("21_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_177
 .annotate 'line', 114
     new $P176, 'ExceptionHandler'
@@ -5583,7 +5583,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "termish"  :subid("22_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "termish"  :subid("22_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_187
 .annotate 'line', 116
     new $P186, 'ExceptionHandler'
@@ -5614,7 +5614,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "nullterm"  :subid("23_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "nullterm"  :subid("23_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_197
 .annotate 'line', 117
     new $P196, 'ExceptionHandler'
@@ -5637,7 +5637,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "nullterm_alt"  :subid("24_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "nullterm_alt"  :subid("24_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_205
 .annotate 'line', 118
     new $P204, 'ExceptionHandler'
@@ -5668,7 +5668,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "integer"  :subid("25_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "integer"  :subid("25_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_215
 .annotate 'line', 120
     new $P214, 'ExceptionHandler'
@@ -5699,7 +5699,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "dec_number"  :subid("26_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "dec_number"  :subid("26_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_225
 .annotate 'line', 122
     new $P224, 'ExceptionHandler'
@@ -5723,7 +5723,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "decint"  :subid("27_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "decint"  :subid("27_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_234
 .annotate 'line', 124
     new $P233, 'ExceptionHandler'
@@ -5747,7 +5747,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "hexint"  :subid("28_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "hexint"  :subid("28_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_243
 .annotate 'line', 125
     new $P242, 'ExceptionHandler'
@@ -5771,7 +5771,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "octint"  :subid("29_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "octint"  :subid("29_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_252
 .annotate 'line', 126
     new $P251, 'ExceptionHandler'
@@ -5795,7 +5795,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "binint"  :subid("30_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "binint"  :subid("30_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_261
 .annotate 'line', 127
     new $P260, 'ExceptionHandler'
@@ -5819,10 +5819,10 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_EXPR"  :subid("31_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_EXPR"  :subid("31_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_270
 .annotate 'line', 129
-    .const 'Sub' $P286 = "32_1277356885.58319" 
+    .const 'Sub' $P286 = "32_1278500528.84129" 
     capture_lex $P286
     new $P269, 'ExceptionHandler'
     set_addr $P269, control_268
@@ -5854,7 +5854,7 @@
     $P282 = $P280."ACCEPTS"($P281)
     if $P282, if_279
 .annotate 'line', 135
-    .const 'Sub' $P286 = "32_1277356885.58319" 
+    .const 'Sub' $P286 = "32_1278500528.84129" 
     capture_lex $P286
     $P286()
     goto if_279_end
@@ -5894,9 +5894,9 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "_block285"  :anon :subid("32_1277356885.58319") :outer("31_1277356885.58319")
+.sub "_block285"  :anon :subid("32_1278500528.84129") :outer("31_1278500528.84129")
 .annotate 'line', 135
-    .const 'Sub' $P305 = "33_1277356885.58319" 
+    .const 'Sub' $P305 = "33_1278500528.84129" 
     capture_lex $P305
 .annotate 'line', 136
     $P287 = root_new ['parrot';'ResizablePMCArray']
@@ -5947,7 +5947,7 @@
     unless $P300, loop310_done
     shift $P303, $P300
   loop310_redo:
-    .const 'Sub' $P305 = "33_1277356885.58319" 
+    .const 'Sub' $P305 = "33_1278500528.84129" 
     capture_lex $P305
     $P305($P303)
   loop310_next:
@@ -5970,7 +5970,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block304"  :anon :subid("33_1277356885.58319") :outer("32_1277356885.58319")
+.sub "_block304"  :anon :subid("33_1278500528.84129") :outer("32_1278500528.84129")
     .param pmc param_306
 .annotate 'line', 139
     .lex "$_", param_306
@@ -5983,10 +5983,10 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_delimited"  :subid("34_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_delimited"  :subid("34_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_333
 .annotate 'line', 152
-    .const 'Sub' $P345 = "35_1277356885.58319" 
+    .const 'Sub' $P345 = "35_1278500528.84129" 
     capture_lex $P345
     new $P332, 'ExceptionHandler'
     set_addr $P332, control_331
@@ -6029,7 +6029,7 @@
     unless $P339, loop377_done
     shift $P343, $P339
   loop377_redo:
-    .const 'Sub' $P345 = "35_1277356885.58319" 
+    .const 'Sub' $P345 = "35_1278500528.84129" 
     capture_lex $P345
     $P345($P343)
   loop377_next:
@@ -6107,7 +6107,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block344"  :anon :subid("35_1277356885.58319") :outer("34_1277356885.58319")
+.sub "_block344"  :anon :subid("35_1278500528.84129") :outer("34_1278500528.84129")
     .param pmc param_347
 .annotate 'line', 156
     new $P346, "Undef"
@@ -6177,7 +6177,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_atom"  :subid("36_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_atom"  :subid("36_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_408
 .annotate 'line', 177
     new $P407, 'ExceptionHandler'
@@ -6227,7 +6227,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<backslash>"  :subid("37_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_escape:sym<backslash>"  :subid("37_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_424
 .annotate 'line', 181
     new $P423, 'ExceptionHandler'
@@ -6249,7 +6249,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<stopper>"  :subid("38_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_escape:sym<stopper>"  :subid("38_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_431
 .annotate 'line', 182
     new $P430, 'ExceptionHandler'
@@ -6280,7 +6280,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<bs>"  :subid("39_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_escape:sym<bs>"  :subid("39_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_441
 .annotate 'line', 184
     new $P440, 'ExceptionHandler'
@@ -6302,7 +6302,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<nl>"  :subid("40_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_escape:sym<nl>"  :subid("40_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_448
 .annotate 'line', 185
     new $P447, 'ExceptionHandler'
@@ -6324,7 +6324,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<cr>"  :subid("41_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_escape:sym<cr>"  :subid("41_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_455
 .annotate 'line', 186
     new $P454, 'ExceptionHandler'
@@ -6346,7 +6346,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<tab>"  :subid("42_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_escape:sym<tab>"  :subid("42_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_462
 .annotate 'line', 187
     new $P461, 'ExceptionHandler'
@@ -6368,7 +6368,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<ff>"  :subid("43_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_escape:sym<ff>"  :subid("43_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_469
 .annotate 'line', 188
     new $P468, 'ExceptionHandler'
@@ -6390,7 +6390,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<esc>"  :subid("44_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_escape:sym<esc>"  :subid("44_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_476
 .annotate 'line', 189
     new $P475, 'ExceptionHandler'
@@ -6412,7 +6412,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<hex>"  :subid("45_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_escape:sym<hex>"  :subid("45_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_483
 .annotate 'line', 191
     new $P482, 'ExceptionHandler'
@@ -6471,7 +6471,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<oct>"  :subid("46_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_escape:sym<oct>"  :subid("46_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_500
 .annotate 'line', 195
     new $P499, 'ExceptionHandler'
@@ -6530,7 +6530,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<chr>"  :subid("47_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_escape:sym<chr>"  :subid("47_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_517
 .annotate 'line', 199
     new $P516, 'ExceptionHandler'
@@ -6563,7 +6563,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<0>"  :subid("48_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_escape:sym<0>"  :subid("48_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_527
 .annotate 'line', 203
     new $P526, 'ExceptionHandler'
@@ -6587,7 +6587,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<misc>"  :subid("49_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "quote_escape:sym<misc>"  :subid("49_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_534
 .annotate 'line', 207
     new $P533, 'ExceptionHandler'
@@ -6646,7 +6646,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "charname"  :subid("50_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "charname"  :subid("50_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_553
 .annotate 'line', 211
     new $P552, 'ExceptionHandler'
@@ -6720,10 +6720,10 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "charnames"  :subid("51_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "charnames"  :subid("51_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_583
 .annotate 'line', 219
-    .const 'Sub' $P592 = "52_1277356885.58319" 
+    .const 'Sub' $P592 = "52_1278500528.84129" 
     capture_lex $P592
     new $P582, 'ExceptionHandler'
     set_addr $P582, control_581
@@ -6757,7 +6757,7 @@
     unless $P586, loop598_done
     shift $P590, $P586
   loop598_redo:
-    .const 'Sub' $P592 = "52_1277356885.58319" 
+    .const 'Sub' $P592 = "52_1278500528.84129" 
     capture_lex $P592
     $P592($P590)
   loop598_next:
@@ -6786,7 +6786,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block591"  :anon :subid("52_1277356885.58319") :outer("51_1277356885.58319")
+.sub "_block591"  :anon :subid("52_1278500528.84129") :outer("51_1278500528.84129")
     .param pmc param_593
 .annotate 'line', 221
     .lex "$_", param_593
@@ -6801,7 +6801,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "charspec"  :subid("53_1277356885.58319") :method :outer("11_1277356885.58319")
+.sub "charspec"  :subid("53_1278500528.84129") :method :outer("11_1278500528.84129")
     .param pmc param_608
 .annotate 'line', 225
     new $P607, 'ExceptionHandler'
@@ -6851,18 +6851,18 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block623" :load :anon :subid("54_1277356885.58319")
+.sub "_block623" :load :anon :subid("54_1278500528.84129")
 .annotate 'line', 3
-    .const 'Sub' $P625 = "11_1277356885.58319" 
+    .const 'Sub' $P625 = "11_1278500528.84129" 
     $P626 = $P625()
     .return ($P626)
 .end
 
 
 .namespace []
-.sub "_block628" :load :anon :subid("55_1277356885.58319")
+.sub "_block628" :load :anon :subid("55_1278500528.84129")
 .annotate 'line', 1
-    .const 'Sub' $P630 = "10_1277356885.58319" 
+    .const 'Sub' $P630 = "10_1278500528.84129" 
     $P631 = $P630()
     .return ($P631)
 .end
@@ -6870,7 +6870,7 @@
 ### .include 'gen/hllcompiler.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1277356886.38597")
+.sub "_block11"  :anon :subid("10_1278500529.62668")
 .annotate 'line', 0
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     capture_lex $P14
@@ -6884,82 +6884,82 @@
 .annotate 'line', 6
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     capture_lex $P14
-    $P492 = $P14()
+    $P497 = $P14()
 .annotate 'line', 1
-    .return ($P492)
-    .const 'Sub' $P494 = "35_1277356886.38597" 
-    .return ($P494)
+    .return ($P497)
+    .const 'Sub' $P499 = "36_1278500529.62668" 
+    .return ($P499)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post36") :outer("10_1277356886.38597")
+.sub "" :load :init :subid("post37") :outer("10_1278500529.62668")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1277356886.38597" 
+    .const 'Sub' $P12 = "10_1278500529.62668" 
     .local pmc block
     set block, $P12
 .annotate 'line', 2
     load_bytecode "PCT/HLLCompiler.pbc"
 .annotate 'line', 1
-    $P497 = get_root_global ["parrot"], "P6metaclass"
-    new $P498, "ResizablePMCArray"
-    push $P498, "$!language"
-    $P497."new_class"("HLL::Compiler", "PCT::HLLCompiler" :named("parent"), $P498 :named("attr"))
+    $P502 = get_root_global ["parrot"], "P6metaclass"
+    new $P503, "ResizablePMCArray"
+    push $P503, "$!language"
+    $P502."new_class"("HLL::Compiler", "PCT::HLLCompiler" :named("parent"), $P503 :named("attr"))
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block13"  :subid("11_1277356886.38597") :outer("10_1277356886.38597")
+.sub "_block13"  :subid("11_1278500529.62668") :outer("10_1278500529.62668")
 .annotate 'line', 6
-    .const 'Sub' $P484 = "34_1277356886.38597" 
-    capture_lex $P484
-    .const 'Sub' $P442 = "32_1277356886.38597" 
-    capture_lex $P442
-    .const 'Sub' $P298 = "26_1277356886.38597" 
+    .const 'Sub' $P489 = "35_1278500529.62668" 
+    capture_lex $P489
+    .const 'Sub' $P447 = "33_1278500529.62668" 
+    capture_lex $P447
+    .const 'Sub' $P298 = "26_1278500529.62668" 
     capture_lex $P298
-    .const 'Sub' $P283 = "25_1277356886.38597" 
+    .const 'Sub' $P283 = "25_1278500529.62668" 
     capture_lex $P283
-    .const 'Sub' $P188 = "20_1277356886.38597" 
+    .const 'Sub' $P188 = "20_1278500529.62668" 
     capture_lex $P188
-    .const 'Sub' $P153 = "18_1277356886.38597" 
+    .const 'Sub' $P153 = "18_1278500529.62668" 
     capture_lex $P153
-    .const 'Sub' $P138 = "17_1277356886.38597" 
+    .const 'Sub' $P138 = "17_1278500529.62668" 
     capture_lex $P138
-    .const 'Sub' $P122 = "16_1277356886.38597" 
+    .const 'Sub' $P122 = "16_1278500529.62668" 
     capture_lex $P122
-    .const 'Sub' $P33 = "13_1277356886.38597" 
+    .const 'Sub' $P33 = "13_1278500529.62668" 
     capture_lex $P33
-    .const 'Sub' $P15 = "12_1277356886.38597" 
+    .const 'Sub' $P15 = "12_1278500529.62668" 
     capture_lex $P15
 .annotate 'line', 14
-    .const 'Sub' $P15 = "12_1277356886.38597" 
+    .const 'Sub' $P15 = "12_1278500529.62668" 
     newclosure $P31, $P15
     .lex "value_type", $P31
 .annotate 'line', 10
     find_lex $P32, "value_type"
-.annotate 'line', 163
-    .const 'Sub' $P484 = "34_1277356886.38597" 
-    newclosure $P490, $P484
+.annotate 'line', 165
+    .const 'Sub' $P489 = "35_1278500529.62668" 
+    newclosure $P495, $P489
 .annotate 'line', 6
-    .return ($P490)
+    .return ($P495)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "" :load :init :subid("post37") :outer("11_1277356886.38597")
+.sub "" :load :init :subid("post38") :outer("11_1278500529.62668")
 .annotate 'line', 6
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     .local pmc block
     set block, $P14
 .annotate 'line', 11
-    get_hll_global $P491, ["HLL"], "Compiler"
-    $P491."language"("parrot")
+    get_hll_global $P496, ["HLL"], "Compiler"
+    $P496."language"("parrot")
 .end
 
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "value_type"  :subid("12_1277356886.38597") :outer("11_1277356886.38597")
+.sub "value_type"  :subid("12_1278500529.62668") :outer("11_1278500529.62668")
     .param pmc param_18
 .annotate 'line', 14
     new $P17, 'ExceptionHandler'
@@ -7004,15 +7004,15 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "get_exports"  :subid("13_1277356886.38597") :method :outer("11_1277356886.38597")
+.sub "get_exports"  :subid("13_1278500529.62668") :method :outer("11_1278500529.62668")
     .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_1277356886.38597" 
+    .const 'Sub' $P105 = "15_1278500529.62668" 
     capture_lex $P105
-    .const 'Sub' $P84 = "14_1277356886.38597" 
+    .const 'Sub' $P84 = "14_1278500529.62668" 
     capture_lex $P84
     new $P35, 'ExceptionHandler'
     set_addr $P35, control_34
@@ -7020,10 +7020,10 @@
     push_eh $P35
     .lex "self", self
     .lex "$module", param_36
-    if has_param_37, optparam_38
+    if has_param_37, optparam_39
     new $P38, "Undef"
     set param_37, $P38
-  optparam_38:
+  optparam_39:
     .lex "$tagset", param_37
     .lex "@symbols", param_39
 .annotate 'line', 27
@@ -7069,17 +7069,17 @@
     find_lex $P60, "$tagset"
     set $S61, $P60
     find_lex $P62, "$module"
-    unless_null $P62, vivify_39
+    unless_null $P62, vivify_40
     $P62 = root_new ['parrot';'Hash']
-  vivify_39:
+  vivify_40:
     set $P63, $P62["EXPORT"]
-    unless_null $P63, vivify_40
+    unless_null $P63, vivify_41
     $P63 = root_new ['parrot';'Hash']
-  vivify_40:
+  vivify_41:
     set $P64, $P63[$S61]
-    unless_null $P64, vivify_41
+    unless_null $P64, vivify_42
     new $P64, "Undef"
-  vivify_41:
+  vivify_42:
     store_lex "%source", $P64
 .annotate 'line', 29
     find_lex $P66, "%source"
@@ -7108,7 +7108,7 @@
 .annotate 'line', 39
     find_lex $P101, "%source"
     defined $I102, $P101
-    unless $I102, for_undef_42
+    unless $I102, for_undef_43
     iter $P100, $P101
     new $P118, 'ExceptionHandler'
     set_addr $P118, loop117_handler
@@ -7118,7 +7118,7 @@
     unless $P100, loop117_done
     shift $P103, $P100
   loop117_redo:
-    .const 'Sub' $P105 = "15_1277356886.38597" 
+    .const 'Sub' $P105 = "15_1278500529.62668" 
     capture_lex $P105
     $P105($P103)
   loop117_next:
@@ -7131,14 +7131,14 @@
     eq $P119, .CONTROL_LOOP_REDO, loop117_redo
   loop117_done:
     pop_eh 
-  for_undef_42:
+  for_undef_43:
 .annotate 'line', 38
     goto if_77_end
   if_77:
 .annotate 'line', 33
     find_lex $P80, "@symbols"
     defined $I81, $P80
-    unless $I81, for_undef_45
+    unless $I81, for_undef_46
     iter $P79, $P80
     new $P98, 'ExceptionHandler'
     set_addr $P98, loop97_handler
@@ -7148,7 +7148,7 @@
     unless $P79, loop97_done
     shift $P82, $P79
   loop97_redo:
-    .const 'Sub' $P84 = "14_1277356886.38597" 
+    .const 'Sub' $P84 = "14_1278500529.62668" 
     capture_lex $P84
     $P84($P82)
   loop97_next:
@@ -7161,7 +7161,7 @@
     eq $P99, .CONTROL_LOOP_REDO, loop97_redo
   loop97_done:
     pop_eh 
-  for_undef_45:
+  for_undef_46:
   if_77_end:
 .annotate 'line', 32
     find_lex $P120, "%exports"
@@ -7176,7 +7176,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block104"  :anon :subid("15_1277356886.38597") :outer("13_1277356886.38597")
+.sub "_block104"  :anon :subid("15_1278500529.62668") :outer("13_1278500529.62668")
     .param pmc param_107
 .annotate 'line', 40
     new $P106, "Undef"
@@ -7192,15 +7192,15 @@
     find_lex $P113, "$value"
     $P114 = "value_type"($P113)
     find_lex $P115, "%exports"
-    unless_null $P115, vivify_43
+    unless_null $P115, vivify_44
     $P115 = root_new ['parrot';'Hash']
     store_lex "%exports", $P115
-  vivify_43:
+  vivify_44:
     set $P116, $P115[$P114]
-    unless_null $P116, vivify_44
+    unless_null $P116, vivify_45
     $P116 = root_new ['parrot';'Hash']
     set $P115[$P114], $P116
-  vivify_44:
+  vivify_45:
     set $P116[$P112], $P110
 .annotate 'line', 39
     .return ($P110)
@@ -7208,7 +7208,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block83"  :anon :subid("14_1277356886.38597") :outer("13_1277356886.38597")
+.sub "_block83"  :anon :subid("14_1278500529.62668") :outer("13_1278500529.62668")
     .param pmc param_86
 .annotate 'line', 34
     new $P85, "Undef"
@@ -7217,13 +7217,13 @@
     find_lex $P87, "$_"
     set $S88, $P87
     find_lex $P89, "%source"
-    unless_null $P89, vivify_46
+    unless_null $P89, vivify_47
     $P89 = root_new ['parrot';'Hash']
-  vivify_46:
+  vivify_47:
     set $P90, $P89[$S88]
-    unless_null $P90, vivify_47
+    unless_null $P90, vivify_48
     new $P90, "Undef"
-  vivify_47:
+  vivify_48:
     store_lex "$value", $P90
 .annotate 'line', 35
     find_lex $P91, "$value"
@@ -7231,15 +7231,15 @@
     find_lex $P93, "$value"
     $P94 = "value_type"($P93)
     find_lex $P95, "%exports"
-    unless_null $P95, vivify_48
+    unless_null $P95, vivify_49
     $P95 = root_new ['parrot';'Hash']
     store_lex "%exports", $P95
-  vivify_48:
+  vivify_49:
     set $P96, $P95[$P94]
-    unless_null $P96, vivify_49
+    unless_null $P96, vivify_50
     $P96 = root_new ['parrot';'Hash']
     set $P95[$P94], $P96
-  vivify_49:
+  vivify_50:
     set $P96[$P92], $P91
 .annotate 'line', 33
     .return ($P91)
@@ -7248,7 +7248,7 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "get_module"  :subid("16_1277356886.38597") :method :outer("11_1277356886.38597")
+.sub "get_module"  :subid("16_1278500529.62668") :method :outer("11_1278500529.62668")
     .param pmc param_125
 .annotate 'line', 47
     new $P124, 'ExceptionHandler'
@@ -7268,9 +7268,9 @@
     find_lex $P130, "@name"
     find_lex $P131, "self"
     getattribute $P132, $P131, "$!language"
-    unless_null $P132, vivify_50
+    unless_null $P132, vivify_51
     new $P132, "Undef"
-  vivify_50:
+  vivify_51:
     set $S133, $P132
     downcase $S134, $S133
     $P130."unshift"($S134)
@@ -7289,7 +7289,7 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "language"  :subid("17_1277356886.38597") :method :outer("11_1277356886.38597")
+.sub "language"  :subid("17_1278500529.62668") :method :outer("11_1278500529.62668")
     .param pmc param_141 :optional
     .param int has_param_141 :opt_flag
 .annotate 'line', 53
@@ -7298,10 +7298,10 @@
     $P140."handle_types"(.CONTROL_RETURN)
     push_eh $P140
     .lex "self", self
-    if has_param_141, optparam_51
+    if has_param_141, optparam_52
     new $P142, "Undef"
     set param_141, $P142
-  optparam_51:
+  optparam_52:
     .lex "$name", param_141
 .annotate 'line', 54
     find_lex $P144, "$name"
@@ -7319,9 +7319,9 @@
 .annotate 'line', 54
     find_lex $P150, "self"
     getattribute $P151, $P150, "$!language"
-    unless_null $P151, vivify_52
+    unless_null $P151, vivify_53
     new $P151, "Undef"
-  vivify_52:
+  vivify_53:
 .annotate 'line', 53
     .return ($P151)
   control_139:
@@ -7334,10 +7334,10 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "load_module"  :subid("18_1277356886.38597") :method :outer("11_1277356886.38597")
+.sub "load_module"  :subid("18_1278500529.62668") :method :outer("11_1278500529.62668")
     .param pmc param_156
 .annotate 'line', 61
-    .const 'Sub' $P166 = "19_1277356886.38597" 
+    .const 'Sub' $P166 = "19_1278500529.62668" 
     capture_lex $P166
     new $P155, 'ExceptionHandler'
     set_addr $P155, control_154
@@ -7364,7 +7364,7 @@
     assign $P164, 0
     store_lex "$loaded", $P164
 .annotate 'line', 64
-    .const 'Sub' $P166 = "19_1277356886.38597" 
+    .const 'Sub' $P166 = "19_1278500529.62668" 
     capture_lex $P166
     $P166()
 .annotate 'line', 65
@@ -7394,7 +7394,7 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block165"  :anon :subid("19_1277356886.38597") :outer("18_1277356886.38597")
+.sub "_block165"  :anon :subid("19_1278500529.62668") :outer("18_1278500529.62668")
 .annotate 'line', 64
     new $P173, 'ExceptionHandler'
     set_addr $P173, control_172
@@ -7428,11 +7428,11 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "import"  :subid("20_1277356886.38597") :method :outer("11_1277356886.38597")
+.sub "import"  :subid("20_1278500529.62668") :method :outer("11_1278500529.62668")
     .param pmc param_191
     .param pmc param_192
 .annotate 'line', 69
-    .const 'Sub' $P198 = "21_1277356886.38597" 
+    .const 'Sub' $P198 = "21_1278500529.62668" 
     capture_lex $P198
     new $P190, 'ExceptionHandler'
     set_addr $P190, control_189
@@ -7444,7 +7444,7 @@
 .annotate 'line', 70
     find_lex $P194, "%exports"
     defined $I195, $P194
-    unless $I195, for_undef_53
+    unless $I195, for_undef_54
     iter $P193, $P194
     new $P280, 'ExceptionHandler'
     set_addr $P280, loop279_handler
@@ -7454,7 +7454,7 @@
     unless $P193, loop279_done
     shift $P196, $P193
   loop279_redo:
-    .const 'Sub' $P198 = "21_1277356886.38597" 
+    .const 'Sub' $P198 = "21_1278500529.62668" 
     capture_lex $P198
     $P198($P196)
   loop279_next:
@@ -7467,7 +7467,7 @@
     eq $P281, .CONTROL_LOOP_REDO, loop279_redo
   loop279_done:
     pop_eh 
-  for_undef_53:
+  for_undef_54:
 .annotate 'line', 69
     .return ($P193)
   control_189:
@@ -7480,14 +7480,14 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block197"  :anon :subid("21_1277356886.38597") :outer("20_1277356886.38597")
+.sub "_block197"  :anon :subid("21_1278500529.62668") :outer("20_1278500529.62668")
     .param pmc param_201
 .annotate 'line', 70
-    .const 'Sub' $P268 = "24_1277356886.38597" 
+    .const 'Sub' $P268 = "24_1278500529.62668" 
     capture_lex $P268
-    .const 'Sub' $P248 = "23_1277356886.38597" 
+    .const 'Sub' $P248 = "23_1278500529.62668" 
     capture_lex $P248
-    .const 'Sub' $P219 = "22_1277356886.38597" 
+    .const 'Sub' $P219 = "22_1278500529.62668" 
     capture_lex $P219
 .annotate 'line', 71
     new $P199, "Undef"
@@ -7525,7 +7525,7 @@
 .annotate 'line', 80
     find_lex $P264, "%items"
     defined $I265, $P264
-    unless $I265, for_undef_54
+    unless $I265, for_undef_55
     iter $P263, $P264
     new $P277, 'ExceptionHandler'
     set_addr $P277, loop276_handler
@@ -7535,7 +7535,7 @@
     unless $P263, loop276_done
     shift $P266, $P263
   loop276_redo:
-    .const 'Sub' $P268 = "24_1277356886.38597" 
+    .const 'Sub' $P268 = "24_1278500529.62668" 
     capture_lex $P268
     $P268($P266)
   loop276_next:
@@ -7548,7 +7548,7 @@
     eq $P278, .CONTROL_LOOP_REDO, loop276_redo
   loop276_done:
     pop_eh 
-  for_undef_54:
+  for_undef_55:
 .annotate 'line', 79
     set $P235, $P263
 .annotate 'line', 76
@@ -7557,7 +7557,7 @@
 .annotate 'line', 77
     find_lex $P244, "%items"
     defined $I245, $P244
-    unless $I245, for_undef_56
+    unless $I245, for_undef_57
     iter $P243, $P244
     new $P261, 'ExceptionHandler'
     set_addr $P261, loop260_handler
@@ -7567,7 +7567,7 @@
     unless $P243, loop260_done
     shift $P246, $P243
   loop260_redo:
-    .const 'Sub' $P248 = "23_1277356886.38597" 
+    .const 'Sub' $P248 = "23_1278500529.62668" 
     capture_lex $P248
     $P248($P246)
   loop260_next:
@@ -7580,7 +7580,7 @@
     eq $P262, .CONTROL_LOOP_REDO, loop260_redo
   loop260_done:
     pop_eh 
-  for_undef_56:
+  for_undef_57:
 .annotate 'line', 76
     set $P235, $P243
   if_236_end:
@@ -7591,7 +7591,7 @@
 .annotate 'line', 74
     find_lex $P215, "%items"
     defined $I216, $P215
-    unless $I216, for_undef_57
+    unless $I216, for_undef_58
     iter $P214, $P215
     new $P233, 'ExceptionHandler'
     set_addr $P233, loop232_handler
@@ -7601,7 +7601,7 @@
     unless $P214, loop232_done
     shift $P217, $P214
   loop232_redo:
-    .const 'Sub' $P219 = "22_1277356886.38597" 
+    .const 'Sub' $P219 = "22_1278500529.62668" 
     capture_lex $P219
     $P219($P217)
   loop232_next:
@@ -7614,7 +7614,7 @@
     eq $P234, .CONTROL_LOOP_REDO, loop232_redo
   loop232_done:
     pop_eh 
-  for_undef_57:
+  for_undef_58:
 .annotate 'line', 73
     set $P206, $P214
   if_207_end:
@@ -7624,7 +7624,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block267"  :anon :subid("24_1277356886.38597") :outer("21_1277356886.38597")
+.sub "_block267"  :anon :subid("24_1278500529.62668") :outer("21_1278500529.62668")
     .param pmc param_269
 .annotate 'line', 80
     .lex "$_", param_269
@@ -7634,17 +7634,17 @@
     $P273 = $P272."key"()
     set $S274, $P273
     find_lex $P275, "$target"
-    unless_null $P275, vivify_55
+    unless_null $P275, vivify_56
     $P275 = root_new ['parrot';'Hash']
     store_lex "$target", $P275
-  vivify_55:
+  vivify_56:
     set $P275[$S274], $P271
     .return ($P271)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block247"  :anon :subid("23_1277356886.38597") :outer("21_1277356886.38597")
+.sub "_block247"  :anon :subid("23_1278500529.62668") :outer("21_1278500529.62668")
     .param pmc param_249
 .annotate 'line', 77
     .lex "$_", param_249
@@ -7664,7 +7664,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block218"  :anon :subid("22_1277356886.38597") :outer("21_1277356886.38597")
+.sub "_block218"  :anon :subid("22_1278500529.62668") :outer("21_1278500529.62668")
     .param pmc param_220
 .annotate 'line', 74
     .lex "$_", param_220
@@ -7686,7 +7686,7 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "autoprint"  :subid("25_1277356886.38597") :method :outer("11_1277356886.38597")
+.sub "autoprint"  :subid("25_1278500529.62668") :method :outer("11_1278500529.62668")
     .param pmc param_286
 .annotate 'line', 85
     new $P285, 'ExceptionHandler'
@@ -7700,12 +7700,12 @@
     $P290 = $P289."stdhandle"(1)
     $N291 = $P290."tell"()
     find_dynamic_lex $P292, "$*AUTOPRINTPOS"
-    unless_null $P292, vivify_58
-    get_hll_global $P292, "$AUTOPRINTPOS"
     unless_null $P292, vivify_59
+    get_hll_global $P292, "$AUTOPRINTPOS"
+    unless_null $P292, vivify_60
     die "Contextual $*AUTOPRINTPOS not found"
+  vivify_60:
   vivify_59:
-  vivify_58:
     set $N293, $P292
     isgt $I294, $N291, $N293
     unless $I294, unless_288
@@ -7730,11 +7730,11 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "interactive"  :subid("26_1277356886.38597") :method :outer("11_1277356886.38597")
+.sub "interactive"  :subid("26_1278500529.62668") :method :outer("11_1278500529.62668")
     .param pmc param_301 :slurpy :named
 .annotate 'line', 90
-    .const 'Sub' $P331 = "27_1277356886.38597" 
-    capture_lex $P331
+    .const 'Sub' $P333 = "27_1278500529.62668" 
+    capture_lex $P333
     new $P300, 'ExceptionHandler'
     set_addr $P300, control_299
     $P300."handle_types"(.CONTROL_RETURN)
@@ -7750,134 +7750,127 @@
 .annotate 'line', 96
     new $P304, "Undef"
     .lex "$encoding", $P304
+.annotate 'line', 101
+    new $P305, "Undef"
+    .lex "$save_ctx", $P305
 .annotate 'line', 91
-    find_lex $P305, "%adverbs"
-    unless_null $P305, vivify_60
-    $P305 = root_new ['parrot';'Hash']
-  vivify_60:
-    set $P306, $P305["target"]
+    find_lex $P306, "%adverbs"
     unless_null $P306, vivify_61
-    new $P306, "Undef"
+    $P306 = root_new ['parrot';'Hash']
   vivify_61:
-    set $S307, $P306
-    downcase $S308, $S307
-    new $P309, 'String'
-    set $P309, $S308
-    store_lex "$target", $P309
+    set $P307, $P306["target"]
+    unless_null $P307, vivify_62
+    new $P307, "Undef"
+  vivify_62:
+    set $S308, $P307
+    downcase $S309, $S308
+    new $P310, 'String'
+    set $P310, $S309
+    store_lex "$target", $P310
 .annotate 'line', 93
-    getinterp $P310
-    $P311 = $P310."stdhandle"(2)
-    find_lex $P312, "self"
-    $S313 = $P312."commandline_banner"()
-    print $P311, $S313
+    getinterp $P311
+    $P312 = $P311."stdhandle"(2)
+    find_lex $P313, "self"
+    $S314 = $P313."commandline_banner"()
+    print $P312, $S314
 .annotate 'line', 95
-    getinterp $P314
-    $P315 = $P314."stdhandle"(0)
-    store_lex "$stdin", $P315
+    getinterp $P315
+    $P316 = $P315."stdhandle"(0)
+    store_lex "$stdin", $P316
 .annotate 'line', 96
-    find_lex $P316, "%adverbs"
-    unless_null $P316, vivify_62
-    $P316 = root_new ['parrot';'Hash']
-  vivify_62:
-    set $P317, $P316["encoding"]
+    find_lex $P317, "%adverbs"
     unless_null $P317, vivify_63
-    new $P317, "Undef"
+    $P317 = root_new ['parrot';'Hash']
   vivify_63:
-    set $S318, $P317
-    new $P319, 'String'
-    set $P319, $S318
-    store_lex "$encoding", $P319
+    set $P318, $P317["encoding"]
+    unless_null $P318, vivify_64
+    new $P318, "Undef"
+  vivify_64:
+    set $S319, $P318
+    new $P320, 'String'
+    set $P320, $S319
+    store_lex "$encoding", $P320
 .annotate 'line', 97
-    find_lex $P323, "$encoding"
-    if $P323, if_322
-    set $P321, $P323
-    goto if_322_end
-  if_322:
     find_lex $P324, "$encoding"
-    set $S325, $P324
-    isne $I326, $S325, "fixed_8"
-    new $P321, 'Integer'
-    set $P321, $I326
-  if_322_end:
-    unless $P321, if_320_end
+    if $P324, if_323
+    set $P322, $P324
+    goto if_323_end
+  if_323:
+    find_lex $P325, "$encoding"
+    set $S326, $P325
+    isne $I327, $S326, "fixed_8"
+    new $P322, 'Integer'
+    set $P322, $I327
+  if_323_end:
+    unless $P322, if_321_end
 .annotate 'line', 98
-    find_lex $P327, "$stdin"
-    find_lex $P328, "$encoding"
-    $P327."encoding"($P328)
-  if_320_end:
-.annotate 'line', 101
-    new $P439, 'ExceptionHandler'
-    set_addr $P439, loop438_handler
-    $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_1277356886.38597" 
-    capture_lex $P331
-    $P331()
-  loop438_next:
-    goto loop438_test
-  loop438_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P440, exception, 'type'
-    eq $P440, .CONTROL_LOOP_NEXT, loop438_next
-    eq $P440, .CONTROL_LOOP_REDO, loop438_redo
-  loop438_done:
+    find_lex $P328, "$stdin"
+    find_lex $P329, "$encoding"
+    $P328."encoding"($P329)
+  if_321_end:
+.annotate 'line', 97
+    find_lex $P330, "$save_ctx"
+.annotate 'line', 102
+    new $P444, 'ExceptionHandler'
+    set_addr $P444, loop443_handler
+    $P444."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P444
+  loop443_test:
+    new $P331, "Integer"
+    assign $P331, 1
+    unless $P331, loop443_done
+  loop443_redo:
+    .const 'Sub' $P333 = "27_1278500529.62668" 
+    capture_lex $P333
+    $P333()
+  loop443_next:
+    goto loop443_test
+  loop443_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P445, exception, 'type'
+    eq $P445, .CONTROL_LOOP_NEXT, loop443_next
+    eq $P445, .CONTROL_LOOP_REDO, loop443_redo
+  loop443_done:
     pop_eh 
 .annotate 'line', 90
-    .return ($P329)
+    .return ($P331)
   control_299:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P441, exception, "payload"
-    .return ($P441)
+    getattribute $P446, exception, "payload"
+    .return ($P446)
 .end
 
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block330"  :anon :subid("27_1277356886.38597") :outer("26_1277356886.38597")
-.annotate 'line', 101
-    .const 'Sub' $P367 = "28_1277356886.38597" 
-    capture_lex $P367
-.annotate 'line', 104
-    new $P332, "Undef"
-    .lex "$prompt", $P332
+.sub "_block332"  :anon :subid("27_1278500529.62668") :outer("26_1278500529.62668")
+.annotate 'line', 102
+    .const 'Sub' $P365 = "28_1278500529.62668" 
+    capture_lex $P365
 .annotate 'line', 105
-    new $P333, "Undef"
-    .lex "$code", $P333
-.annotate 'line', 110
     new $P334, "Undef"
-    .lex "$*AUTOPRINTPOS", $P334
-.annotate 'line', 111
-    get_global $P335, "$interactive_ctx"
-    unless_null $P335, vivify_64
+    .lex "$prompt", $P334
+.annotate 'line', 106
     new $P335, "Undef"
-    set_global "$interactive_ctx", $P335
-  vivify_64:
+    .lex "$code", $P335
+.annotate 'line', 111
+    new $P336, "Undef"
+    .lex "$*AUTOPRINTPOS", $P336
 .annotate 'line', 112
-    get_global $P336, "%interactive_pad"
-    unless_null $P336, vivify_65
-    $P336 = root_new ['parrot';'Hash']
-    set_global "%interactive_pad", $P336
-  vivify_65:
-.annotate 'line', 113
     new $P337, "Undef"
     .lex "$*CTXSAVE", $P337
-.annotate 'line', 114
+.annotate 'line', 113
     new $P338, "Undef"
     .lex "$*MAIN_CTX", $P338
-.annotate 'line', 102
+.annotate 'line', 103
     find_lex $P340, "$stdin"
     if $P340, unless_339_end
     set $I341, .CONTROL_LOOP_LAST
     die 0, $I341
   unless_339_end:
-.annotate 'line', 104
+.annotate 'line', 105
     find_lex $P343, "self"
     $P344 = $P343."commandline_prompt"()
     set $P342, $P344
@@ -7888,409 +7881,439 @@
     set $P342, $P347
   default_345:
     store_lex "$prompt", $P342
-.annotate 'line', 105
+.annotate 'line', 106
     find_lex $P348, "$stdin"
     find_lex $P349, "$prompt"
     set $S350, $P349
     $P351 = $P348."readline_interactive"($S350)
     store_lex "$code", $P351
-.annotate 'line', 107
+.annotate 'line', 108
     find_lex $P353, "$code"
     isnull $I354, $P353
     unless $I354, if_352_end
     set $I355, .CONTROL_LOOP_LAST
     die 0, $I355
   if_352_end:
-.annotate 'line', 110
+.annotate 'line', 111
     getinterp $P356
     $P357 = $P356."stdhandle"(1)
     $P358 = $P357."tell"()
     store_lex "$*AUTOPRINTPOS", $P358
-    get_global $P359, "$interactive_ctx"
-    get_global $P360, "%interactive_pad"
-.annotate 'line', 113
-    find_lex $P361, "self"
-    store_lex "$*CTXSAVE", $P361
-    find_lex $P362, "$*MAIN_CTX"
-    unless_null $P362, vivify_66
-    get_hll_global $P362, "$MAIN_CTX"
-    unless_null $P362, vivify_67
+.annotate 'line', 112
+    find_lex $P359, "self"
+    store_lex "$*CTXSAVE", $P359
+    find_lex $P360, "$*MAIN_CTX"
+    unless_null $P360, vivify_65
+    get_hll_global $P360, "$MAIN_CTX"
+    unless_null $P360, vivify_66
     die "Contextual $*MAIN_CTX not found"
-  vivify_67:
   vivify_66:
-.annotate 'line', 116
-    find_lex $P365, "$code"
-    if $P365, if_364
-    set $P363, $P365
-    goto if_364_end
-  if_364:
-    .const 'Sub' $P367 = "28_1277356886.38597" 
-    capture_lex $P367
-    $P437 = $P367()
-    set $P363, $P437
-  if_364_end:
-.annotate 'line', 101
-    .return ($P363)
+  vivify_65:
+.annotate 'line', 115
+    find_lex $P363, "$code"
+    if $P363, if_362
+    set $P361, $P363
+    goto if_362_end
+  if_362:
+    .const 'Sub' $P365 = "28_1278500529.62668" 
+    capture_lex $P365
+    $P442 = $P365()
+    set $P361, $P442
+  if_362_end:
+.annotate 'line', 102
+    .return ($P361)
 .end
 
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block366"  :anon :subid("28_1277356886.38597") :outer("27_1277356886.38597")
+.sub "_block364"  :anon :subid("28_1278500529.62668") :outer("27_1278500529.62668")
+.annotate 'line', 115
+    .const 'Sub' $P398 = "31_1278500529.62668" 
+    capture_lex $P398
+    .const 'Sub' $P371 = "29_1278500529.62668" 
+    capture_lex $P371
+.annotate 'line', 117
+    new $P366, "Undef"
+    .lex "$output", $P366
 .annotate 'line', 116
-    .const 'Sub' $P405 = "31_1277356886.38597" 
-    capture_lex $P405
-    .const 'Sub' $P373 = "29_1277356886.38597" 
-    capture_lex $P373
+    find_lex $P367, "$code"
+    concat $P368, $P367, "\n"
+    store_lex "$code", $P368
+    find_lex $P369, "$output"
 .annotate 'line', 118
-    new $P368, "Undef"
-    .lex "$output", $P368
-.annotate 'line', 117
-    find_lex $P369, "$code"
-    concat $P370, $P369, "\n"
-    store_lex "$code", $P370
-    find_lex $P371, "$output"
-.annotate 'line', 119
-    .const 'Sub' $P373 = "29_1277356886.38597" 
-    capture_lex $P373
-    $P373()
-.annotate 'line', 126
-    find_dynamic_lex $P397, "$*MAIN_CTX"
-    unless_null $P397, vivify_68
-    get_hll_global $P397, "$MAIN_CTX"
-    unless_null $P397, vivify_69
+    .const 'Sub' $P371 = "29_1278500529.62668" 
+    capture_lex $P371
+    $P371()
+.annotate 'line', 125
+    find_dynamic_lex $P395, "$*MAIN_CTX"
+    unless_null $P395, vivify_67
+    get_hll_global $P395, "$MAIN_CTX"
+    unless_null $P395, vivify_68
     die "Contextual $*MAIN_CTX not found"
-  vivify_69:
   vivify_68:
-    defined $I398, $P397
-    unless $I398, if_396_end
-.annotate 'line', 127
-    find_dynamic_lex $P400, "$*MAIN_CTX"
-    unless_null $P400, vivify_70
-    get_hll_global $P400, "$MAIN_CTX"
-    unless_null $P400, vivify_71
-    die "Contextual $*MAIN_CTX not found"
-  vivify_71:
-  vivify_70:
-    $P401 = $P400."lexpad_full"()
-    defined $I402, $P401
-    unless $I402, for_undef_72
-    iter $P399, $P401
-    new $P413, 'ExceptionHandler'
-    set_addr $P413, loop412_handler
-    $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_1277356886.38597" 
-    capture_lex $P405
-    $P405($P403)
-  loop412_next:
-    goto loop412_test
-  loop412_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P414, exception, 'type'
-    eq $P414, .CONTROL_LOOP_NEXT, loop412_next
-    eq $P414, .CONTROL_LOOP_REDO, loop412_redo
-  loop412_done:
-    pop_eh 
-  for_undef_72:
-  if_396_end:
-.annotate 'line', 131
-    find_lex $P416, "$output"
-    isnull $I417, $P416
-    unless $I417, if_415_end
-    set $I418, .CONTROL_LOOP_NEXT
-    die 0, $I418
-  if_415_end:
+  vivify_67:
+    defined $I396, $P395
+    unless $I396, if_394_end
+    .const 'Sub' $P398 = "31_1278500529.62668" 
+    capture_lex $P398
+    $P398()
+  if_394_end:
 .annotate 'line', 133
-    find_lex $P421, "$target"
-    isfalse $I422, $P421
-    if $I422, if_420
+    find_lex $P421, "$output"
+    isnull $I422, $P421
+    unless $I422, if_420_end
+    set $I423, .CONTROL_LOOP_NEXT
+    die 0, $I423
+  if_420_end:
 .annotate 'line', 135
-    find_lex $P428, "$target"
-    set $S429, $P428
-    iseq $I430, $S429, "pir"
-    if $I430, if_427
+    find_lex $P426, "$target"
+    isfalse $I427, $P426
+    if $I427, if_425
+.annotate 'line', 137
+    find_lex $P433, "$target"
+    set $S434, $P433
+    iseq $I435, $S434, "pir"
+    if $I435, if_432
+.annotate 'line', 140
+    find_lex $P437, "self"
+    find_lex $P438, "$output"
+    find_lex $P439, "$target"
+    find_lex $P440, "%adverbs"
+    $P441 = $P437."dumper"($P438, $P439, $P440 :flat)
+.annotate 'line', 139
+    set $P431, $P441
+.annotate 'line', 137
+    goto if_432_end
+  if_432:
 .annotate 'line', 138
-    find_lex $P432, "self"
-    find_lex $P433, "$output"
-    find_lex $P434, "$target"
-    find_lex $P435, "%adverbs"
-    $P436 = $P432."dumper"($P433, $P434, $P435 :flat)
+    find_lex $P436, "$output"
+    say $P436
+  if_432_end:
 .annotate 'line', 137
-    set $P426, $P436
+    set $P424, $P431
 .annotate 'line', 135
-    goto if_427_end
-  if_427:
+    goto if_425_end
+  if_425:
 .annotate 'line', 136
-    find_lex $P431, "$output"
-    say $P431
-  if_427_end:
+    find_lex $P428, "self"
+    find_lex $P429, "$output"
+    $P430 = $P428."autoprint"($P429)
 .annotate 'line', 135
-    set $P419, $P426
-.annotate 'line', 133
-    goto if_420_end
-  if_420:
-.annotate 'line', 134
-    find_lex $P423, "self"
-    find_lex $P424, "$output"
-    $P425 = $P423."autoprint"($P424)
-.annotate 'line', 133
-    set $P419, $P425
-  if_420_end:
-.annotate 'line', 116
-    .return ($P419)
+    set $P424, $P430
+  if_425_end:
+.annotate 'line', 115
+    .return ($P424)
 .end
 
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block372"  :anon :subid("29_1277356886.38597") :outer("28_1277356886.38597")
-.annotate 'line', 119
-    .const 'Sub' $P385 = "30_1277356886.38597" 
-    capture_lex $P385
-    new $P381, 'ExceptionHandler'
-    set_addr $P381, control_380
-    $P381."handle_types_except"(.CONTROL_RETURN,  .CONTROL_OK,  .CONTROL_BREAK,  .CONTROL_CONTINUE,  .CONTROL_TAKE,  .CONTROL_LEAVE,  .CONTROL_EXIT,  .CONTROL_LOOP_NEXT,  .CONTROL_LOOP_LAST,  .CONTROL_LOOP_REDO)
-    push_eh $P381
-.annotate 'line', 120
-    find_lex $P374, "self"
-    find_lex $P375, "$code"
-    get_global $P376, "$interactive_ctx"
-    find_lex $P377, "%adverbs"
-    $P378 = $P374."eval"($P375, $P377 :flat, $P376 :named("outer_ctx"))
-    store_lex "$output", $P378
+.sub "_block370"  :anon :subid("29_1278500529.62668") :outer("28_1278500529.62668")
+.annotate 'line', 118
+    .const 'Sub' $P383 = "30_1278500529.62668" 
+    capture_lex $P383
+    new $P379, 'ExceptionHandler'
+    set_addr $P379, control_378
+    $P379."handle_types_except"(.CONTROL_RETURN,  .CONTROL_OK,  .CONTROL_BREAK,  .CONTROL_CONTINUE,  .CONTROL_TAKE,  .CONTROL_LEAVE,  .CONTROL_EXIT,  .CONTROL_LOOP_NEXT,  .CONTROL_LOOP_LAST,  .CONTROL_LOOP_REDO)
+    push_eh $P379
 .annotate 'line', 119
+    find_lex $P372, "self"
+    find_lex $P373, "$code"
+    find_lex $P374, "$save_ctx"
+    find_lex $P375, "%adverbs"
+    $P376 = $P372."eval"($P373, $P375 :flat, $P374 :named("outer_ctx"))
+    store_lex "$output", $P376
+.annotate 'line', 118
     pop_eh 
-    goto skip_handler_379
-  control_380:
-.annotate 'line', 121
+    goto skip_handler_377
+  control_378:
+.annotate 'line', 120
     .local pmc exception 
     .get_results (exception) 
-    .const 'Sub' $P385 = "30_1277356886.38597" 
-    newclosure $P393, $P385
-    $P393(exception)
-    new $P394, 'Integer'
-    set $P394, 1
-    set exception["handled"], $P394
-    set $I395, exception["handled"]
-    ne $I395, 1, nothandled_383
-  handled_382:
+    .const 'Sub' $P383 = "30_1278500529.62668" 
+    newclosure $P391, $P383
+    $P391(exception)
+    new $P392, 'Integer'
+    set $P392, 1
+    set exception["handled"], $P392
+    set $I393, exception["handled"]
+    ne $I393, 1, nothandled_381
+  handled_380:
     .return (exception)
-  nothandled_383:
+  nothandled_381:
     rethrow exception
-  skip_handler_379:
-.annotate 'line', 119
+  skip_handler_377:
+.annotate 'line', 118
     .return ()
 .end
 
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block384"  :anon :subid("30_1277356886.38597") :outer("29_1277356886.38597")
-    .param pmc param_386
+.sub "_block382"  :anon :subid("30_1278500529.62668") :outer("29_1278500529.62668")
+    .param pmc param_384
+.annotate 'line', 120
+    .lex "$_", param_384
+    find_lex $P385, "$_"
+    .lex "$!", $P385
 .annotate 'line', 121
-    .lex "$_", param_386
-    find_lex $P387, "$_"
-    .lex "$!", $P387
+    find_lex $P386, "$!"
+    set $S387, $P386
+    new $P388, 'String'
+    set $P388, $S387
+    concat $P389, $P388, "\n"
+    print $P389
 .annotate 'line', 122
-    find_lex $P388, "$!"
-    set $S389, $P388
-    new $P390, 'String'
-    set $P390, $S389
-    concat $P391, $P390, "\n"
-    print $P391
-.annotate 'line', 123
-    set $I392, .CONTROL_LOOP_NEXT
-    die 0, $I392
-.annotate 'line', 121
+    set $I390, .CONTROL_LOOP_NEXT
+    die 0, $I390
+.annotate 'line', 120
     .return ()
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block404"  :anon :subid("31_1277356886.38597") :outer("28_1277356886.38597")
-    .param pmc param_406
+.include "except_types.pasm"
+.sub "_block397"  :anon :subid("31_1278500529.62668") :outer("28_1278500529.62668")
+.annotate 'line', 125
+    .const 'Sub' $P409 = "32_1278500529.62668" 
+    capture_lex $P409
+.annotate 'line', 126
+    get_global $P399, "$interactive_ctx"
+    unless_null $P399, vivify_69
+    new $P399, "Undef"
+    set_global "$interactive_ctx", $P399
+  vivify_69:
 .annotate 'line', 127
-    .lex "$_", param_406
+    get_global $P400, "%interactive_pad"
+    unless_null $P400, vivify_70
+    $P400 = root_new ['parrot';'Hash']
+    set_global "%interactive_pad", $P400
+  vivify_70:
+.annotate 'line', 125
+    get_global $P401, "$interactive_ctx"
+    get_global $P402, "%interactive_pad"
 .annotate 'line', 128
-    find_lex $P407, "$_"
-    $P408 = $P407."value"()
-    find_lex $P409, "$_"
-    $P410 = $P409."key"()
-    get_global $P411, "%interactive_pad"
-    unless_null $P411, vivify_73
-    $P411 = root_new ['parrot';'Hash']
-    set_global "%interactive_pad", $P411
-  vivify_73:
-    set $P411[$P410], $P408
-.annotate 'line', 127
-    .return ($P408)
+    find_dynamic_lex $P404, "$*MAIN_CTX"
+    unless_null $P404, vivify_71
+    get_hll_global $P404, "$MAIN_CTX"
+    unless_null $P404, vivify_72
+    die "Contextual $*MAIN_CTX not found"
+  vivify_72:
+  vivify_71:
+    $P405 = $P404."lexpad_full"()
+    defined $I406, $P405
+    unless $I406, for_undef_73
+    iter $P403, $P405
+    new $P417, 'ExceptionHandler'
+    set_addr $P417, loop416_handler
+    $P417."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P417
+  loop416_test:
+    unless $P403, loop416_done
+    shift $P407, $P403
+  loop416_redo:
+    .const 'Sub' $P409 = "32_1278500529.62668" 
+    capture_lex $P409
+    $P409($P407)
+  loop416_next:
+    goto loop416_test
+  loop416_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P418, exception, 'type'
+    eq $P418, .CONTROL_LOOP_NEXT, loop416_next
+    eq $P418, .CONTROL_LOOP_REDO, loop416_redo
+  loop416_done:
+    pop_eh 
+  for_undef_73:
+.annotate 'line', 131
+    get_global $P419, "$interactive_ctx"
+    store_lex "$save_ctx", $P419
+.annotate 'line', 125
+    .return ($P419)
+.end
+
+
+.namespace ["HLL";"Compiler"]
+.sub "_block408"  :anon :subid("32_1278500529.62668") :outer("31_1278500529.62668")
+    .param pmc param_410
+.annotate 'line', 128
+    .lex "$_", param_410
+.annotate 'line', 129
+    find_lex $P411, "$_"
+    $P412 = $P411."value"()
+    find_lex $P413, "$_"
+    $P414 = $P413."key"()
+    get_global $P415, "%interactive_pad"
+    unless_null $P415, vivify_74
+    $P415 = root_new ['parrot';'Hash']
+    set_global "%interactive_pad", $P415
+  vivify_74:
+    set $P415[$P414], $P412
+.annotate 'line', 128
+    .return ($P412)
 .end
 
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "eval"  :subid("32_1277356886.38597") :method :outer("11_1277356886.38597")
-    .param pmc param_445
-    .param pmc param_446 :slurpy
-    .param pmc param_447 :slurpy :named
-.annotate 'line', 144
-    .const 'Sub' $P466 = "33_1277356886.38597" 
-    capture_lex $P466
-    new $P444, 'ExceptionHandler'
-    set_addr $P444, control_443
-    $P444."handle_types"(.CONTROL_RETURN)
-    push_eh $P444
-    .lex "self", self
-    .lex "$code", param_445
-    .lex "@args", param_446
-    .lex "%adverbs", param_447
-.annotate 'line', 145
-    new $P448, "Undef"
-    .lex "$output", $P448
-.annotate 'line', 144
-    find_lex $P449, "$output"
+.sub "eval"  :subid("33_1278500529.62668") :method :outer("11_1278500529.62668")
+    .param pmc param_450
+    .param pmc param_451 :slurpy
+    .param pmc param_452 :slurpy :named
+.annotate 'line', 146
+    .const 'Sub' $P471 = "34_1278500529.62668" 
+    capture_lex $P471
+    new $P449, 'ExceptionHandler'
+    set_addr $P449, control_448
+    $P449."handle_types"(.CONTROL_RETURN)
+    push_eh $P449
+    .lex "self", self
+    .lex "$code", param_450
+    .lex "@args", param_451
+    .lex "%adverbs", param_452
+.annotate 'line', 147
+    new $P453, "Undef"
+    .lex "$output", $P453
 .annotate 'line', 146
-    find_lex $P450, "self"
-    find_lex $P451, "$code"
-    find_lex $P452, "%adverbs"
-    $P453 = $P450."compile"($P451, $P452 :flat)
-    store_lex "$output", $P453
+    find_lex $P454, "$output"
 .annotate 'line', 148
-    find_lex $P457, "$output"
-    isa $I458, $P457, "String"
-    new $P459, 'Integer'
-    set $P459, $I458
-    isfalse $I460, $P459
-    if $I460, if_456
-    new $P455, 'Integer'
-    set $P455, $I460
-    goto if_456_end
-  if_456:
-.annotate 'line', 149
-    find_lex $P461, "%adverbs"
-    unless_null $P461, vivify_74
-    $P461 = root_new ['parrot';'Hash']
-  vivify_74:
-    set $P462, $P461["target"]
-    unless_null $P462, vivify_75
-    new $P462, "Undef"
+    find_lex $P455, "self"
+    find_lex $P456, "$code"
+    find_lex $P457, "%adverbs"
+    $P458 = $P455."compile"($P456, $P457 :flat)
+    store_lex "$output", $P458
+.annotate 'line', 150
+    find_lex $P462, "$output"
+    isa $I463, $P462, "String"
+    new $P464, 'Integer'
+    set $P464, $I463
+    isfalse $I465, $P464
+    if $I465, if_461
+    new $P460, 'Integer'
+    set $P460, $I465
+    goto if_461_end
+  if_461:
+.annotate 'line', 151
+    find_lex $P466, "%adverbs"
+    unless_null $P466, vivify_75
+    $P466 = root_new ['parrot';'Hash']
   vivify_75:
-    set $S463, $P462
-    iseq $I464, $S463, ""
-    new $P455, 'Integer'
-    set $P455, $I464
-  if_456_end:
-    unless $P455, if_454_end
-    .const 'Sub' $P466 = "33_1277356886.38597" 
-    capture_lex $P466
-    $P466()
-  if_454_end:
-.annotate 'line', 148
-    find_lex $P482, "$output"
-.annotate 'line', 144
-    .return ($P482)
-  control_443:
+    set $P467, $P466["target"]
+    unless_null $P467, vivify_76
+    new $P467, "Undef"
+  vivify_76:
+    set $S468, $P467
+    iseq $I469, $S468, ""
+    new $P460, 'Integer'
+    set $P460, $I469
+  if_461_end:
+    unless $P460, if_459_end
+    .const 'Sub' $P471 = "34_1278500529.62668" 
+    capture_lex $P471
+    $P471()
+  if_459_end:
+.annotate 'line', 150
+    find_lex $P487, "$output"
+.annotate 'line', 146
+    .return ($P487)
+  control_448:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P483, exception, "payload"
-    .return ($P483)
+    getattribute $P488, exception, "payload"
+    .return ($P488)
 .end
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block465"  :anon :subid("33_1277356886.38597") :outer("32_1277356886.38597")
-.annotate 'line', 150
-    new $P467, "Undef"
-    .lex "$outer_ctx", $P467
-    find_lex $P468, "%adverbs"
-    unless_null $P468, vivify_76
-    $P468 = root_new ['parrot';'Hash']
-  vivify_76:
-    set $P469, $P468["outer_ctx"]
-    unless_null $P469, vivify_77
-    new $P469, "Undef"
-  vivify_77:
-    store_lex "$outer_ctx", $P469
-.annotate 'line', 151
-    find_lex $P471, "$outer_ctx"
-    defined $I472, $P471
-    unless $I472, if_470_end
+.sub "_block470"  :anon :subid("34_1278500529.62668") :outer("33_1278500529.62668")
 .annotate 'line', 152
-    find_lex $P473, "$output"
-    unless_null $P473, vivify_78
-    $P473 = root_new ['parrot';'ResizablePMCArray']
-  vivify_78:
-    set $P474, $P473[0]
-    unless_null $P474, vivify_79
+    new $P472, "Undef"
+    .lex "$outer_ctx", $P472
+    find_lex $P473, "%adverbs"
+    unless_null $P473, vivify_77
+    $P473 = root_new ['parrot';'Hash']
+  vivify_77:
+    set $P474, $P473["outer_ctx"]
+    unless_null $P474, vivify_78
     new $P474, "Undef"
+  vivify_78:
+    store_lex "$outer_ctx", $P474
+.annotate 'line', 153
+    find_lex $P476, "$outer_ctx"
+    defined $I477, $P476
+    unless $I477, if_475_end
+.annotate 'line', 154
+    find_lex $P478, "$output"
+    unless_null $P478, vivify_79
+    $P478 = root_new ['parrot';'ResizablePMCArray']
   vivify_79:
-    find_lex $P475, "$outer_ctx"
-    $P474."set_outer_ctx"($P475)
-  if_470_end:
-.annotate 'line', 155
-    find_lex $P476, "%adverbs"
-    unless_null $P476, vivify_80
-    $P476 = root_new ['parrot';'Hash']
+    set $P479, $P478[0]
+    unless_null $P479, vivify_80
+    new $P479, "Undef"
   vivify_80:
-    set $P477, $P476["trace"]
-    unless_null $P477, vivify_81
-    new $P477, "Undef"
-  vivify_81:
-    set $I478, $P477
-    trace $I478
-.annotate 'line', 156
-    find_lex $P479, "$output"
-    find_lex $P480, "@args"
-    $P481 = $P479($P480 :flat)
-    store_lex "$output", $P481
+    find_lex $P480, "$outer_ctx"
+    $P479."set_outer_ctx"($P480)
+  if_475_end:
 .annotate 'line', 157
+    find_lex $P481, "%adverbs"
+    unless_null $P481, vivify_81
+    $P481 = root_new ['parrot';'Hash']
+  vivify_81:
+    set $P482, $P481["trace"]
+    unless_null $P482, vivify_82
+    new $P482, "Undef"
+  vivify_82:
+    set $I483, $P482
+    trace $I483
+.annotate 'line', 158
+    find_lex $P484, "$output"
+    find_lex $P485, "@args"
+    $P486 = $P484($P485 :flat)
+    store_lex "$output", $P486
+.annotate 'line', 159
     trace 0
-.annotate 'line', 149
+.annotate 'line', 151
     .return ()
 .end
 
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "ctxsave"  :subid("34_1277356886.38597") :method :outer("11_1277356886.38597")
-.annotate 'line', 163
-    new $P486, 'ExceptionHandler'
-    set_addr $P486, control_485
-    $P486."handle_types"(.CONTROL_RETURN)
-    push_eh $P486
-    .lex "self", self
+.sub "ctxsave"  :subid("35_1278500529.62668") :method :outer("11_1278500529.62668")
 .annotate 'line', 165
+    new $P491, 'ExceptionHandler'
+    set_addr $P491, control_490
+    $P491."handle_types"(.CONTROL_RETURN)
+    push_eh $P491
+    .lex "self", self
+.annotate 'line', 167
 
                 $P0 = getinterp
-                $P487 = $P0['context';1]
+                $P492 = $P0['context';1]
             
-    store_dynamic_lex "$*MAIN_CTX", $P487
-.annotate 'line', 169
-    new $P488, "Integer"
-    assign $P488, 0
-    store_dynamic_lex "$*CTXSAVE", $P488
-.annotate 'line', 163
-    .return ($P488)
-  control_485:
+    store_dynamic_lex "$*MAIN_CTX", $P492
+.annotate 'line', 171
+    new $P493, "Integer"
+    assign $P493, 0
+    store_dynamic_lex "$*CTXSAVE", $P493
+.annotate 'line', 165
+    .return ($P493)
+  control_490:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P489, exception, "payload"
-    .return ($P489)
+    getattribute $P494, exception, "payload"
+    .return ($P494)
 .end
 
 
 .namespace []
-.sub "_block493" :load :anon :subid("35_1277356886.38597")
+.sub "_block498" :load :anon :subid("36_1278500529.62668")
 .annotate 'line', 1
-    .const 'Sub' $P495 = "10_1277356886.38597" 
-    $P496 = $P495()
-    .return ($P496)
+    .const 'Sub' $P500 = "10_1278500529.62668" 
+    $P501 = $P500()
+    .return ($P501)
 .end
 
 

Modified: branches/gsoc_threads/ext/nqp-rx/src/stage0/NQP-s0.pir
==============================================================================
--- branches/gsoc_threads/ext/nqp-rx/src/stage0/NQP-s0.pir	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/ext/nqp-rx/src/stage0/NQP-s0.pir	Sun Jul 11 03:52:25 2010	(r48071)
@@ -15,7 +15,7 @@
 ### .include 'gen/nqp-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1277356913.9538")
+.sub "_block11"  :anon :subid("10_1278500537.15927")
 .annotate 'line', 0
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     capture_lex $P14
@@ -29,333 +29,341 @@
 .annotate 'line', 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     capture_lex $P14
-    $P1426 = $P14()
+    $P1456 = $P14()
 .annotate 'line', 1
-    .return ($P1426)
-    .const 'Sub' $P1428 = "363_1277356913.9538" 
-    .return ($P1428)
+    .return ($P1456)
+    .const 'Sub' $P1458 = "371_1278500537.15927" 
+    .return ($P1458)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post364") :outer("10_1277356913.9538")
+.sub "" :load :init :subid("post372") :outer("10_1278500537.15927")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1277356913.9538" 
+    .const 'Sub' $P12 = "10_1278500537.15927" 
     .local pmc block
     set block, $P12
-    $P1431 = get_root_global ["parrot"], "P6metaclass"
-    $P1431."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
+    $P1461 = get_root_global ["parrot"], "P6metaclass"
+    $P1461."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block13"  :subid("11_1277356913.9538") :outer("10_1277356913.9538")
+.sub "_block13"  :subid("11_1278500537.15927") :outer("10_1278500537.15927")
 .annotate 'line', 4
-    get_hll_global $P1342, ["NQP";"Regex"], "_block1341" 
-    capture_lex $P1342
-    .const 'Sub' $P1328 = "340_1277356913.9538" 
+    get_hll_global $P1372, ["NQP";"Regex"], "_block1371" 
+    capture_lex $P1372
+    .const 'Sub' $P1358 = "348_1278500537.15927" 
+    capture_lex $P1358
+    .const 'Sub' $P1352 = "346_1278500537.15927" 
+    capture_lex $P1352
+    .const 'Sub' $P1346 = "344_1278500537.15927" 
+    capture_lex $P1346
+    .const 'Sub' $P1340 = "342_1278500537.15927" 
+    capture_lex $P1340
+    .const 'Sub' $P1334 = "340_1278500537.15927" 
+    capture_lex $P1334
+    .const 'Sub' $P1328 = "338_1278500537.15927" 
     capture_lex $P1328
-    .const 'Sub' $P1322 = "338_1277356913.9538" 
-    capture_lex $P1322
-    .const 'Sub' $P1316 = "336_1277356913.9538" 
-    capture_lex $P1316
-    .const 'Sub' $P1310 = "334_1277356913.9538" 
-    capture_lex $P1310
-    .const 'Sub' $P1304 = "332_1277356913.9538" 
-    capture_lex $P1304
-    .const 'Sub' $P1298 = "330_1277356913.9538" 
-    capture_lex $P1298
-    .const 'Sub' $P1291 = "328_1277356913.9538" 
-    capture_lex $P1291
-    .const 'Sub' $P1284 = "326_1277356913.9538" 
-    capture_lex $P1284
-    .const 'Sub' $P1277 = "324_1277356913.9538" 
-    capture_lex $P1277
-    .const 'Sub' $P1270 = "322_1277356913.9538" 
-    capture_lex $P1270
-    .const 'Sub' $P1264 = "320_1277356913.9538" 
-    capture_lex $P1264
-    .const 'Sub' $P1257 = "318_1277356913.9538" 
-    capture_lex $P1257
-    .const 'Sub' $P1250 = "316_1277356913.9538" 
-    capture_lex $P1250
-    .const 'Sub' $P1243 = "314_1277356913.9538" 
-    capture_lex $P1243
-    .const 'Sub' $P1236 = "312_1277356913.9538" 
-    capture_lex $P1236
-    .const 'Sub' $P1229 = "310_1277356913.9538" 
-    capture_lex $P1229
-    .const 'Sub' $P1222 = "308_1277356913.9538" 
-    capture_lex $P1222
-    .const 'Sub' $P1215 = "306_1277356913.9538" 
-    capture_lex $P1215
-    .const 'Sub' $P1208 = "304_1277356913.9538" 
-    capture_lex $P1208
-    .const 'Sub' $P1201 = "302_1277356913.9538" 
-    capture_lex $P1201
-    .const 'Sub' $P1194 = "300_1277356913.9538" 
-    capture_lex $P1194
-    .const 'Sub' $P1187 = "298_1277356913.9538" 
-    capture_lex $P1187
-    .const 'Sub' $P1180 = "296_1277356913.9538" 
-    capture_lex $P1180
-    .const 'Sub' $P1173 = "294_1277356913.9538" 
-    capture_lex $P1173
-    .const 'Sub' $P1166 = "292_1277356913.9538" 
-    capture_lex $P1166
-    .const 'Sub' $P1159 = "290_1277356913.9538" 
-    capture_lex $P1159
-    .const 'Sub' $P1152 = "288_1277356913.9538" 
-    capture_lex $P1152
-    .const 'Sub' $P1145 = "286_1277356913.9538" 
-    capture_lex $P1145
-    .const 'Sub' $P1138 = "284_1277356913.9538" 
-    capture_lex $P1138
-    .const 'Sub' $P1131 = "282_1277356913.9538" 
-    capture_lex $P1131
-    .const 'Sub' $P1124 = "280_1277356913.9538" 
-    capture_lex $P1124
-    .const 'Sub' $P1117 = "278_1277356913.9538" 
-    capture_lex $P1117
-    .const 'Sub' $P1110 = "276_1277356913.9538" 
-    capture_lex $P1110
-    .const 'Sub' $P1103 = "274_1277356913.9538" 
-    capture_lex $P1103
-    .const 'Sub' $P1096 = "272_1277356913.9538" 
-    capture_lex $P1096
-    .const 'Sub' $P1089 = "270_1277356913.9538" 
-    capture_lex $P1089
-    .const 'Sub' $P1082 = "268_1277356913.9538" 
-    capture_lex $P1082
-    .const 'Sub' $P1076 = "266_1277356913.9538" 
-    capture_lex $P1076
-    .const 'Sub' $P1069 = "264_1277356913.9538" 
-    capture_lex $P1069
-    .const 'Sub' $P1062 = "262_1277356913.9538" 
-    capture_lex $P1062
-    .const 'Sub' $P1055 = "260_1277356913.9538" 
-    capture_lex $P1055
-    .const 'Sub' $P1048 = "258_1277356913.9538" 
-    capture_lex $P1048
-    .const 'Sub' $P1041 = "256_1277356913.9538" 
-    capture_lex $P1041
-    .const 'Sub' $P1034 = "254_1277356913.9538" 
-    capture_lex $P1034
-    .const 'Sub' $P1027 = "252_1277356913.9538" 
-    capture_lex $P1027
-    .const 'Sub' $P1021 = "250_1277356913.9538" 
-    capture_lex $P1021
-    .const 'Sub' $P1015 = "248_1277356913.9538" 
-    capture_lex $P1015
-    .const 'Sub' $P1010 = "246_1277356913.9538" 
-    capture_lex $P1010
-    .const 'Sub' $P1004 = "244_1277356913.9538" 
-    capture_lex $P1004
-    .const 'Sub' $P998 = "242_1277356913.9538" 
-    capture_lex $P998
-    .const 'Sub' $P993 = "240_1277356913.9538" 
-    capture_lex $P993
-    .const 'Sub' $P988 = "238_1277356913.9538" 
-    capture_lex $P988
-    .const 'Sub' $P980 = "236_1277356913.9538" 
-    capture_lex $P980
-    .const 'Sub' $P972 = "234_1277356913.9538" 
-    capture_lex $P972
-    .const 'Sub' $P967 = "232_1277356913.9538" 
-    capture_lex $P967
-    .const 'Sub' $P962 = "230_1277356913.9538" 
-    capture_lex $P962
-    .const 'Sub' $P957 = "228_1277356913.9538" 
-    capture_lex $P957
-    .const 'Sub' $P949 = "226_1277356913.9538" 
-    capture_lex $P949
-    .const 'Sub' $P941 = "224_1277356913.9538" 
-    capture_lex $P941
-    .const 'Sub' $P936 = "222_1277356913.9538" 
-    capture_lex $P936
-    .const 'Sub' $P931 = "220_1277356913.9538" 
-    capture_lex $P931
-    .const 'Sub' $P926 = "218_1277356913.9538" 
-    capture_lex $P926
-    .const 'Sub' $P920 = "216_1277356913.9538" 
-    capture_lex $P920
-    .const 'Sub' $P914 = "214_1277356913.9538" 
-    capture_lex $P914
-    .const 'Sub' $P908 = "212_1277356913.9538" 
-    capture_lex $P908
-    .const 'Sub' $P902 = "210_1277356913.9538" 
-    capture_lex $P902
-    .const 'Sub' $P896 = "208_1277356913.9538" 
-    capture_lex $P896
-    .const 'Sub' $P891 = "206_1277356913.9538" 
-    capture_lex $P891
-    .const 'Sub' $P886 = "204_1277356913.9538" 
-    capture_lex $P886
-    .const 'Sub' $P873 = "200_1277356913.9538" 
-    capture_lex $P873
-    .const 'Sub' $P865 = "198_1277356913.9538" 
-    capture_lex $P865
-    .const 'Sub' $P859 = "196_1277356913.9538" 
-    capture_lex $P859
-    .const 'Sub' $P852 = "194_1277356913.9538" 
-    capture_lex $P852
-    .const 'Sub' $P846 = "192_1277356913.9538" 
-    capture_lex $P846
-    .const 'Sub' $P838 = "190_1277356913.9538" 
-    capture_lex $P838
-    .const 'Sub' $P830 = "188_1277356913.9538" 
-    capture_lex $P830
-    .const 'Sub' $P824 = "186_1277356913.9538" 
-    capture_lex $P824
-    .const 'Sub' $P818 = "184_1277356913.9538" 
-    capture_lex $P818
-    .const 'Sub' $P803 = "180_1277356913.9538" 
-    capture_lex $P803
-    .const 'Sub' $P765 = "178_1277356913.9538" 
+    .const 'Sub' $P1321 = "336_1278500537.15927" 
+    capture_lex $P1321
+    .const 'Sub' $P1314 = "334_1278500537.15927" 
+    capture_lex $P1314
+    .const 'Sub' $P1307 = "332_1278500537.15927" 
+    capture_lex $P1307
+    .const 'Sub' $P1300 = "330_1278500537.15927" 
+    capture_lex $P1300
+    .const 'Sub' $P1294 = "328_1278500537.15927" 
+    capture_lex $P1294
+    .const 'Sub' $P1287 = "326_1278500537.15927" 
+    capture_lex $P1287
+    .const 'Sub' $P1280 = "324_1278500537.15927" 
+    capture_lex $P1280
+    .const 'Sub' $P1273 = "322_1278500537.15927" 
+    capture_lex $P1273
+    .const 'Sub' $P1266 = "320_1278500537.15927" 
+    capture_lex $P1266
+    .const 'Sub' $P1259 = "318_1278500537.15927" 
+    capture_lex $P1259
+    .const 'Sub' $P1252 = "316_1278500537.15927" 
+    capture_lex $P1252
+    .const 'Sub' $P1245 = "314_1278500537.15927" 
+    capture_lex $P1245
+    .const 'Sub' $P1238 = "312_1278500537.15927" 
+    capture_lex $P1238
+    .const 'Sub' $P1231 = "310_1278500537.15927" 
+    capture_lex $P1231
+    .const 'Sub' $P1224 = "308_1278500537.15927" 
+    capture_lex $P1224
+    .const 'Sub' $P1217 = "306_1278500537.15927" 
+    capture_lex $P1217
+    .const 'Sub' $P1210 = "304_1278500537.15927" 
+    capture_lex $P1210
+    .const 'Sub' $P1203 = "302_1278500537.15927" 
+    capture_lex $P1203
+    .const 'Sub' $P1196 = "300_1278500537.15927" 
+    capture_lex $P1196
+    .const 'Sub' $P1189 = "298_1278500537.15927" 
+    capture_lex $P1189
+    .const 'Sub' $P1182 = "296_1278500537.15927" 
+    capture_lex $P1182
+    .const 'Sub' $P1175 = "294_1278500537.15927" 
+    capture_lex $P1175
+    .const 'Sub' $P1168 = "292_1278500537.15927" 
+    capture_lex $P1168
+    .const 'Sub' $P1161 = "290_1278500537.15927" 
+    capture_lex $P1161
+    .const 'Sub' $P1154 = "288_1278500537.15927" 
+    capture_lex $P1154
+    .const 'Sub' $P1147 = "286_1278500537.15927" 
+    capture_lex $P1147
+    .const 'Sub' $P1140 = "284_1278500537.15927" 
+    capture_lex $P1140
+    .const 'Sub' $P1133 = "282_1278500537.15927" 
+    capture_lex $P1133
+    .const 'Sub' $P1126 = "280_1278500537.15927" 
+    capture_lex $P1126
+    .const 'Sub' $P1119 = "278_1278500537.15927" 
+    capture_lex $P1119
+    .const 'Sub' $P1112 = "276_1278500537.15927" 
+    capture_lex $P1112
+    .const 'Sub' $P1105 = "274_1278500537.15927" 
+    capture_lex $P1105
+    .const 'Sub' $P1098 = "272_1278500537.15927" 
+    capture_lex $P1098
+    .const 'Sub' $P1091 = "270_1278500537.15927" 
+    capture_lex $P1091
+    .const 'Sub' $P1085 = "268_1278500537.15927" 
+    capture_lex $P1085
+    .const 'Sub' $P1078 = "266_1278500537.15927" 
+    capture_lex $P1078
+    .const 'Sub' $P1071 = "264_1278500537.15927" 
+    capture_lex $P1071
+    .const 'Sub' $P1064 = "262_1278500537.15927" 
+    capture_lex $P1064
+    .const 'Sub' $P1057 = "260_1278500537.15927" 
+    capture_lex $P1057
+    .const 'Sub' $P1050 = "258_1278500537.15927" 
+    capture_lex $P1050
+    .const 'Sub' $P1043 = "256_1278500537.15927" 
+    capture_lex $P1043
+    .const 'Sub' $P1036 = "254_1278500537.15927" 
+    capture_lex $P1036
+    .const 'Sub' $P1030 = "252_1278500537.15927" 
+    capture_lex $P1030
+    .const 'Sub' $P1024 = "250_1278500537.15927" 
+    capture_lex $P1024
+    .const 'Sub' $P1019 = "248_1278500537.15927" 
+    capture_lex $P1019
+    .const 'Sub' $P1013 = "246_1278500537.15927" 
+    capture_lex $P1013
+    .const 'Sub' $P1007 = "244_1278500537.15927" 
+    capture_lex $P1007
+    .const 'Sub' $P1002 = "242_1278500537.15927" 
+    capture_lex $P1002
+    .const 'Sub' $P997 = "240_1278500537.15927" 
+    capture_lex $P997
+    .const 'Sub' $P989 = "238_1278500537.15927" 
+    capture_lex $P989
+    .const 'Sub' $P981 = "236_1278500537.15927" 
+    capture_lex $P981
+    .const 'Sub' $P976 = "234_1278500537.15927" 
+    capture_lex $P976
+    .const 'Sub' $P971 = "232_1278500537.15927" 
+    capture_lex $P971
+    .const 'Sub' $P966 = "230_1278500537.15927" 
+    capture_lex $P966
+    .const 'Sub' $P958 = "228_1278500537.15927" 
+    capture_lex $P958
+    .const 'Sub' $P950 = "226_1278500537.15927" 
+    capture_lex $P950
+    .const 'Sub' $P945 = "224_1278500537.15927" 
+    capture_lex $P945
+    .const 'Sub' $P940 = "222_1278500537.15927" 
+    capture_lex $P940
+    .const 'Sub' $P935 = "220_1278500537.15927" 
+    capture_lex $P935
+    .const 'Sub' $P929 = "218_1278500537.15927" 
+    capture_lex $P929
+    .const 'Sub' $P923 = "216_1278500537.15927" 
+    capture_lex $P923
+    .const 'Sub' $P917 = "214_1278500537.15927" 
+    capture_lex $P917
+    .const 'Sub' $P911 = "212_1278500537.15927" 
+    capture_lex $P911
+    .const 'Sub' $P905 = "210_1278500537.15927" 
+    capture_lex $P905
+    .const 'Sub' $P900 = "208_1278500537.15927" 
+    capture_lex $P900
+    .const 'Sub' $P895 = "206_1278500537.15927" 
+    capture_lex $P895
+    .const 'Sub' $P882 = "202_1278500537.15927" 
+    capture_lex $P882
+    .const 'Sub' $P874 = "200_1278500537.15927" 
+    capture_lex $P874
+    .const 'Sub' $P868 = "198_1278500537.15927" 
+    capture_lex $P868
+    .const 'Sub' $P861 = "196_1278500537.15927" 
+    capture_lex $P861
+    .const 'Sub' $P855 = "194_1278500537.15927" 
+    capture_lex $P855
+    .const 'Sub' $P847 = "192_1278500537.15927" 
+    capture_lex $P847
+    .const 'Sub' $P839 = "190_1278500537.15927" 
+    capture_lex $P839
+    .const 'Sub' $P833 = "188_1278500537.15927" 
+    capture_lex $P833
+    .const 'Sub' $P827 = "186_1278500537.15927" 
+    capture_lex $P827
+    .const 'Sub' $P812 = "182_1278500537.15927" 
+    capture_lex $P812
+    .const 'Sub' $P774 = "180_1278500537.15927" 
+    capture_lex $P774
+    .const 'Sub' $P765 = "178_1278500537.15927" 
     capture_lex $P765
-    .const 'Sub' $P756 = "176_1277356913.9538" 
-    capture_lex $P756
-    .const 'Sub' $P750 = "174_1277356913.9538" 
-    capture_lex $P750
-    .const 'Sub' $P740 = "172_1277356913.9538" 
-    capture_lex $P740
-    .const 'Sub' $P726 = "170_1277356913.9538" 
+    .const 'Sub' $P759 = "176_1278500537.15927" 
+    capture_lex $P759
+    .const 'Sub' $P749 = "174_1278500537.15927" 
+    capture_lex $P749
+    .const 'Sub' $P735 = "172_1278500537.15927" 
+    capture_lex $P735
+    .const 'Sub' $P726 = "170_1278500537.15927" 
     capture_lex $P726
-    .const 'Sub' $P717 = "168_1277356913.9538" 
-    capture_lex $P717
-    .const 'Sub' $P709 = "166_1277356913.9538" 
-    capture_lex $P709
-    .const 'Sub' $P699 = "164_1277356913.9538" 
-    capture_lex $P699
-    .const 'Sub' $P675 = "160_1277356913.9538" 
-    capture_lex $P675
-    .const 'Sub' $P650 = "158_1277356913.9538" 
-    capture_lex $P650
-    .const 'Sub' $P643 = "156_1277356913.9538" 
-    capture_lex $P643
-    .const 'Sub' $P636 = "154_1277356913.9538" 
-    capture_lex $P636
-    .const 'Sub' $P626 = "150_1277356913.9538" 
-    capture_lex $P626
-    .const 'Sub' $P618 = "148_1277356913.9538" 
-    capture_lex $P618
-    .const 'Sub' $P612 = "146_1277356913.9538" 
-    capture_lex $P612
-    .const 'Sub' $P599 = "144_1277356913.9538" 
-    capture_lex $P599
-    .const 'Sub' $P592 = "142_1277356913.9538" 
-    capture_lex $P592
-    .const 'Sub' $P585 = "140_1277356913.9538" 
-    capture_lex $P585
-    .const 'Sub' $P578 = "138_1277356913.9538" 
-    capture_lex $P578
-    .const 'Sub' $P550 = "134_1277356913.9538" 
+    .const 'Sub' $P718 = "168_1278500537.15927" 
+    capture_lex $P718
+    .const 'Sub' $P708 = "166_1278500537.15927" 
+    capture_lex $P708
+    .const 'Sub' $P684 = "162_1278500537.15927" 
+    capture_lex $P684
+    .const 'Sub' $P659 = "160_1278500537.15927" 
+    capture_lex $P659
+    .const 'Sub' $P652 = "158_1278500537.15927" 
+    capture_lex $P652
+    .const 'Sub' $P645 = "156_1278500537.15927" 
+    capture_lex $P645
+    .const 'Sub' $P635 = "152_1278500537.15927" 
+    capture_lex $P635
+    .const 'Sub' $P627 = "150_1278500537.15927" 
+    capture_lex $P627
+    .const 'Sub' $P621 = "148_1278500537.15927" 
+    capture_lex $P621
+    .const 'Sub' $P608 = "146_1278500537.15927" 
+    capture_lex $P608
+    .const 'Sub' $P601 = "144_1278500537.15927" 
+    capture_lex $P601
+    .const 'Sub' $P594 = "142_1278500537.15927" 
+    capture_lex $P594
+    .const 'Sub' $P587 = "140_1278500537.15927" 
+    capture_lex $P587
+    .const 'Sub' $P559 = "136_1278500537.15927" 
+    capture_lex $P559
+    .const 'Sub' $P550 = "134_1278500537.15927" 
     capture_lex $P550
-    .const 'Sub' $P541 = "132_1277356913.9538" 
-    capture_lex $P541
-    .const 'Sub' $P534 = "130_1277356913.9538" 
+    .const 'Sub' $P543 = "132_1278500537.15927" 
+    capture_lex $P543
+    .const 'Sub' $P534 = "128_1278500537.15927" 
     capture_lex $P534
-    .const 'Sub' $P525 = "126_1277356913.9538" 
-    capture_lex $P525
-    .const 'Sub' $P520 = "124_1277356913.9538" 
-    capture_lex $P520
-    .const 'Sub' $P508 = "122_1277356913.9538" 
-    capture_lex $P508
-    .const 'Sub' $P496 = "120_1277356913.9538" 
-    capture_lex $P496
-    .const 'Sub' $P488 = "118_1277356913.9538" 
-    capture_lex $P488
-    .const 'Sub' $P483 = "116_1277356913.9538" 
-    capture_lex $P483
-    .const 'Sub' $P477 = "114_1277356913.9538" 
-    capture_lex $P477
-    .const 'Sub' $P471 = "112_1277356913.9538" 
-    capture_lex $P471
-    .const 'Sub' $P461 = "109_1277356913.9538" 
-    capture_lex $P461
-    .const 'Sub' $P455 = "107_1277356913.9538" 
-    capture_lex $P455
-    .const 'Sub' $P449 = "105_1277356913.9538" 
-    capture_lex $P449
-    .const 'Sub' $P443 = "103_1277356913.9538" 
-    capture_lex $P443
-    .const 'Sub' $P437 = "101_1277356913.9538" 
-    capture_lex $P437
-    .const 'Sub' $P431 = "99_1277356913.9538" 
-    capture_lex $P431
-    .const 'Sub' $P425 = "97_1277356913.9538" 
+    .const 'Sub' $P529 = "126_1278500537.15927" 
+    capture_lex $P529
+    .const 'Sub' $P517 = "124_1278500537.15927" 
+    capture_lex $P517
+    .const 'Sub' $P505 = "122_1278500537.15927" 
+    capture_lex $P505
+    .const 'Sub' $P497 = "120_1278500537.15927" 
+    capture_lex $P497
+    .const 'Sub' $P492 = "118_1278500537.15927" 
+    capture_lex $P492
+    .const 'Sub' $P486 = "116_1278500537.15927" 
+    capture_lex $P486
+    .const 'Sub' $P480 = "114_1278500537.15927" 
+    capture_lex $P480
+    .const 'Sub' $P470 = "111_1278500537.15927" 
+    capture_lex $P470
+    .const 'Sub' $P464 = "109_1278500537.15927" 
+    capture_lex $P464
+    .const 'Sub' $P458 = "107_1278500537.15927" 
+    capture_lex $P458
+    .const 'Sub' $P452 = "105_1278500537.15927" 
+    capture_lex $P452
+    .const 'Sub' $P446 = "103_1278500537.15927" 
+    capture_lex $P446
+    .const 'Sub' $P440 = "101_1278500537.15927" 
+    capture_lex $P440
+    .const 'Sub' $P434 = "99_1278500537.15927" 
+    capture_lex $P434
+    .const 'Sub' $P425 = "97_1278500537.15927" 
     capture_lex $P425
-    .const 'Sub' $P416 = "95_1277356913.9538" 
+    .const 'Sub' $P416 = "95_1278500537.15927" 
     capture_lex $P416
-    .const 'Sub' $P407 = "93_1277356913.9538" 
+    .const 'Sub' $P407 = "93_1278500537.15927" 
     capture_lex $P407
-    .const 'Sub' $P394 = "89_1277356913.9538" 
+    .const 'Sub' $P394 = "89_1278500537.15927" 
     capture_lex $P394
-    .const 'Sub' $P385 = "87_1277356913.9538" 
+    .const 'Sub' $P385 = "87_1278500537.15927" 
     capture_lex $P385
-    .const 'Sub' $P375 = "83_1277356913.9538" 
+    .const 'Sub' $P375 = "83_1278500537.15927" 
     capture_lex $P375
-    .const 'Sub' $P368 = "81_1277356913.9538" 
+    .const 'Sub' $P368 = "81_1278500537.15927" 
     capture_lex $P368
-    .const 'Sub' $P361 = "79_1277356913.9538" 
+    .const 'Sub' $P361 = "79_1278500537.15927" 
     capture_lex $P361
-    .const 'Sub' $P349 = "75_1277356913.9538" 
+    .const 'Sub' $P349 = "75_1278500537.15927" 
     capture_lex $P349
-    .const 'Sub' $P341 = "73_1277356913.9538" 
+    .const 'Sub' $P341 = "73_1278500537.15927" 
     capture_lex $P341
-    .const 'Sub' $P333 = "71_1277356913.9538" 
+    .const 'Sub' $P333 = "71_1278500537.15927" 
     capture_lex $P333
-    .const 'Sub' $P313 = "69_1277356913.9538" 
+    .const 'Sub' $P313 = "69_1278500537.15927" 
     capture_lex $P313
-    .const 'Sub' $P304 = "67_1277356913.9538" 
+    .const 'Sub' $P304 = "67_1278500537.15927" 
     capture_lex $P304
-    .const 'Sub' $P286 = "64_1277356913.9538" 
+    .const 'Sub' $P286 = "64_1278500537.15927" 
     capture_lex $P286
-    .const 'Sub' $P266 = "62_1277356913.9538" 
+    .const 'Sub' $P266 = "62_1278500537.15927" 
     capture_lex $P266
-    .const 'Sub' $P257 = "58_1277356913.9538" 
+    .const 'Sub' $P257 = "58_1278500537.15927" 
     capture_lex $P257
-    .const 'Sub' $P252 = "56_1277356913.9538" 
+    .const 'Sub' $P252 = "56_1278500537.15927" 
     capture_lex $P252
-    .const 'Sub' $P243 = "52_1277356913.9538" 
+    .const 'Sub' $P243 = "52_1278500537.15927" 
     capture_lex $P243
-    .const 'Sub' $P238 = "50_1277356913.9538" 
+    .const 'Sub' $P238 = "50_1278500537.15927" 
     capture_lex $P238
-    .const 'Sub' $P233 = "48_1277356913.9538" 
+    .const 'Sub' $P233 = "48_1278500537.15927" 
     capture_lex $P233
-    .const 'Sub' $P225 = "46_1277356913.9538" 
+    .const 'Sub' $P225 = "46_1278500537.15927" 
     capture_lex $P225
-    .const 'Sub' $P218 = "44_1277356913.9538" 
+    .const 'Sub' $P218 = "44_1278500537.15927" 
     capture_lex $P218
-    .const 'Sub' $P212 = "42_1277356913.9538" 
+    .const 'Sub' $P212 = "42_1278500537.15927" 
     capture_lex $P212
-    .const 'Sub' $P204 = "40_1277356913.9538" 
+    .const 'Sub' $P204 = "40_1278500537.15927" 
     capture_lex $P204
-    .const 'Sub' $P198 = "38_1277356913.9538" 
+    .const 'Sub' $P198 = "38_1278500537.15927" 
     capture_lex $P198
-    .const 'Sub' $P192 = "36_1277356913.9538" 
+    .const 'Sub' $P192 = "36_1278500537.15927" 
     capture_lex $P192
-    .const 'Sub' $P176 = "33_1277356913.9538" 
+    .const 'Sub' $P176 = "33_1278500537.15927" 
     capture_lex $P176
-    .const 'Sub' $P161 = "31_1277356913.9538" 
+    .const 'Sub' $P161 = "31_1278500537.15927" 
     capture_lex $P161
-    .const 'Sub' $P154 = "29_1277356913.9538" 
+    .const 'Sub' $P154 = "29_1278500537.15927" 
     capture_lex $P154
-    .const 'Sub' $P104 = "26_1277356913.9538" 
+    .const 'Sub' $P104 = "26_1278500537.15927" 
     capture_lex $P104
-    .const 'Sub' $P86 = "23_1277356913.9538" 
+    .const 'Sub' $P86 = "23_1278500537.15927" 
     capture_lex $P86
-    .const 'Sub' $P72 = "21_1277356913.9538" 
+    .const 'Sub' $P72 = "21_1278500537.15927" 
     capture_lex $P72
-    .const 'Sub' $P58 = "19_1277356913.9538" 
+    .const 'Sub' $P58 = "19_1278500537.15927" 
     capture_lex $P58
-    .const 'Sub' $P50 = "17_1277356913.9538" 
+    .const 'Sub' $P50 = "17_1278500537.15927" 
     capture_lex $P50
-    .const 'Sub' $P43 = "15_1277356913.9538" 
+    .const 'Sub' $P43 = "15_1278500537.15927" 
     capture_lex $P43
-    .const 'Sub' $P35 = "13_1277356913.9538" 
+    .const 'Sub' $P35 = "13_1278500537.15927" 
     capture_lex $P35
-    .const 'Sub' $P15 = "12_1277356913.9538" 
+    .const 'Sub' $P15 = "12_1278500537.15927" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -363,77 +371,77 @@
     unless $I0 goto ctxsave_done
     $P0."ctxsave"()
   ctxsave_done:
-.annotate 'line', 563
-    get_hll_global $P1342, ["NQP";"Regex"], "_block1341" 
-    capture_lex $P1342
-    $P1405 = $P1342()
+.annotate 'line', 567
+    get_hll_global $P1372, ["NQP";"Regex"], "_block1371" 
+    capture_lex $P1372
+    $P1435 = $P1372()
 .annotate 'line', 4
-    .return ($P1405)
-    .const 'Sub' $P1407 = "362_1277356913.9538" 
-    .return ($P1407)
+    .return ($P1435)
+    .const 'Sub' $P1437 = "370_1278500537.15927" 
+    .return ($P1437)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "" :load :init :subid("post365") :outer("11_1277356913.9538")
+.sub "" :load :init :subid("post373") :outer("11_1278500537.15927")
 .annotate 'line', 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     .local pmc block
     set block, $P14
-.annotate 'line', 447
-    get_hll_global $P1410, ["NQP"], "Grammar"
-    $P1410."O"(":prec<y=>, :assoc<unary>", "%methodop")
 .annotate 'line', 448
-    get_hll_global $P1411, ["NQP"], "Grammar"
-    $P1411."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
+    get_hll_global $P1440, ["NQP"], "Grammar"
+    $P1440."O"(":prec<y=>, :assoc<unary>", "%methodop")
 .annotate 'line', 449
-    get_hll_global $P1412, ["NQP"], "Grammar"
-    $P1412."O"(":prec<w=>, :assoc<left>", "%exponentiation")
+    get_hll_global $P1441, ["NQP"], "Grammar"
+    $P1441."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
 .annotate 'line', 450
-    get_hll_global $P1413, ["NQP"], "Grammar"
-    $P1413."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
+    get_hll_global $P1442, ["NQP"], "Grammar"
+    $P1442."O"(":prec<w=>, :assoc<left>", "%exponentiation")
 .annotate 'line', 451
-    get_hll_global $P1414, ["NQP"], "Grammar"
-    $P1414."O"(":prec<u=>, :assoc<left>", "%multiplicative")
+    get_hll_global $P1443, ["NQP"], "Grammar"
+    $P1443."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
 .annotate 'line', 452
-    get_hll_global $P1415, ["NQP"], "Grammar"
-    $P1415."O"(":prec<t=>, :assoc<left>", "%additive")
+    get_hll_global $P1444, ["NQP"], "Grammar"
+    $P1444."O"(":prec<u=>, :assoc<left>", "%multiplicative")
 .annotate 'line', 453
-    get_hll_global $P1416, ["NQP"], "Grammar"
-    $P1416."O"(":prec<r=>, :assoc<left>", "%concatenation")
+    get_hll_global $P1445, ["NQP"], "Grammar"
+    $P1445."O"(":prec<t=>, :assoc<left>", "%additive")
 .annotate 'line', 454
-    get_hll_global $P1417, ["NQP"], "Grammar"
-    $P1417."O"(":prec<m=>, :assoc<left>", "%relational")
+    get_hll_global $P1446, ["NQP"], "Grammar"
+    $P1446."O"(":prec<r=>, :assoc<left>", "%concatenation")
 .annotate 'line', 455
-    get_hll_global $P1418, ["NQP"], "Grammar"
-    $P1418."O"(":prec<l=>, :assoc<left>", "%tight_and")
+    get_hll_global $P1447, ["NQP"], "Grammar"
+    $P1447."O"(":prec<m=>, :assoc<left>", "%relational")
 .annotate 'line', 456
-    get_hll_global $P1419, ["NQP"], "Grammar"
-    $P1419."O"(":prec<k=>, :assoc<left>", "%tight_or")
+    get_hll_global $P1448, ["NQP"], "Grammar"
+    $P1448."O"(":prec<l=>, :assoc<left>", "%tight_and")
 .annotate 'line', 457
-    get_hll_global $P1420, ["NQP"], "Grammar"
-    $P1420."O"(":prec<j=>, :assoc<right>", "%conditional")
+    get_hll_global $P1449, ["NQP"], "Grammar"
+    $P1449."O"(":prec<k=>, :assoc<left>", "%tight_or")
 .annotate 'line', 458
-    get_hll_global $P1421, ["NQP"], "Grammar"
-    $P1421."O"(":prec<i=>, :assoc<right>", "%assignment")
+    get_hll_global $P1450, ["NQP"], "Grammar"
+    $P1450."O"(":prec<j=>, :assoc<right>", "%conditional")
 .annotate 'line', 459
-    get_hll_global $P1422, ["NQP"], "Grammar"
-    $P1422."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
+    get_hll_global $P1451, ["NQP"], "Grammar"
+    $P1451."O"(":prec<i=>, :assoc<right>", "%assignment")
 .annotate 'line', 460
-    get_hll_global $P1423, ["NQP"], "Grammar"
-    $P1423."O"(":prec<f=>, :assoc<list>", "%list_infix")
+    get_hll_global $P1452, ["NQP"], "Grammar"
+    $P1452."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
 .annotate 'line', 461
-    get_hll_global $P1424, ["NQP"], "Grammar"
-    $P1424."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
-.annotate 'line', 446
-    $P1425 = get_root_global ["parrot"], "P6metaclass"
-    $P1425."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
+    get_hll_global $P1453, ["NQP"], "Grammar"
+    $P1453."O"(":prec<f=>, :assoc<list>", "%list_infix")
+.annotate 'line', 462
+    get_hll_global $P1454, ["NQP"], "Grammar"
+    $P1454."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
+.annotate 'line', 447
+    $P1455 = get_root_global ["parrot"], "P6metaclass"
+    $P1455."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Grammar"]
 .include "except_types.pasm"
-.sub "TOP"  :subid("12_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "TOP"  :subid("12_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
@@ -451,55 +459,55 @@
     .lex "$*MULTINESS", $P20
 .annotate 'line', 4
     find_lex $P21, "%*LANG"
-    unless_null $P21, vivify_366
+    unless_null $P21, vivify_374
     get_hll_global $P21, "%LANG"
-    unless_null $P21, vivify_367
+    unless_null $P21, vivify_375
     die "Contextual %*LANG not found"
-  vivify_367:
-  vivify_366:
+  vivify_375:
+  vivify_374:
 .annotate 'line', 6
     get_hll_global $P22, ["NQP"], "Regex"
     find_lex $P23, "%*LANG"
-    unless_null $P23, vivify_368
+    unless_null $P23, vivify_376
     get_hll_global $P23, "%LANG"
-    unless_null $P23, vivify_369
+    unless_null $P23, vivify_377
     die "Contextual %*LANG not found"
-  vivify_369:
+  vivify_377:
     store_lex "%*LANG", $P23
-  vivify_368:
+  vivify_376:
     set $P23["Regex"], $P22
 .annotate 'line', 7
     get_hll_global $P24, ["NQP"], "RegexActions"
     find_lex $P25, "%*LANG"
-    unless_null $P25, vivify_370
+    unless_null $P25, vivify_378
     get_hll_global $P25, "%LANG"
-    unless_null $P25, vivify_371
+    unless_null $P25, vivify_379
     die "Contextual %*LANG not found"
-  vivify_371:
+  vivify_379:
     store_lex "%*LANG", $P25
-  vivify_370:
+  vivify_378:
     set $P25["Regex-actions"], $P24
 .annotate 'line', 8
     get_hll_global $P26, ["NQP"], "Grammar"
     find_lex $P27, "%*LANG"
-    unless_null $P27, vivify_372
+    unless_null $P27, vivify_380
     get_hll_global $P27, "%LANG"
-    unless_null $P27, vivify_373
+    unless_null $P27, vivify_381
     die "Contextual %*LANG not found"
-  vivify_373:
+  vivify_381:
     store_lex "%*LANG", $P27
-  vivify_372:
+  vivify_380:
     set $P27["MAIN"], $P26
 .annotate 'line', 9
     get_hll_global $P28, ["NQP"], "Actions"
     find_lex $P29, "%*LANG"
-    unless_null $P29, vivify_374
+    unless_null $P29, vivify_382
     get_hll_global $P29, "%LANG"
-    unless_null $P29, vivify_375
+    unless_null $P29, vivify_383
     die "Contextual %*LANG not found"
-  vivify_375:
+  vivify_383:
     store_lex "%*LANG", $P29
-  vivify_374:
+  vivify_382:
     set $P29["MAIN-actions"], $P28
 .annotate 'line', 10
     new $P30, "String"
@@ -523,7 +531,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "identifier"  :subid("13_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "identifier"  :subid("13_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx36_tgt
     .local int rx36_pos
@@ -600,7 +608,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__identifier"  :subid("14_1277356913.9538") :method
+.sub "!PREFIX__identifier"  :subid("14_1278500537.15927") :method
 .annotate 'line', 4
     $P38 = self."!PREFIX__!subrule"("ident", "")
     new $P39, "ResizablePMCArray"
@@ -610,7 +618,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "name"  :subid("15_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "name"  :subid("15_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx44_tgt
     .local int rx44_pos
@@ -685,7 +693,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__name"  :subid("16_1277356913.9538") :method
+.sub "!PREFIX__name"  :subid("16_1278500537.15927") :method
 .annotate 'line', 4
     new $P46, "ResizablePMCArray"
     push $P46, ""
@@ -694,7 +702,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "deflongname"  :subid("17_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "deflongname"  :subid("17_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx51_tgt
     .local int rx51_pos
@@ -768,7 +776,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__deflongname"  :subid("18_1277356913.9538") :method
+.sub "!PREFIX__deflongname"  :subid("18_1278500537.15927") :method
 .annotate 'line', 4
     $P53 = self."!PREFIX__!subrule"("identifier", "")
     new $P54, "ResizablePMCArray"
@@ -778,7 +786,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ENDSTMT"  :subid("19_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "ENDSTMT"  :subid("19_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx59_tgt
     .local int rx59_pos
@@ -911,7 +919,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ENDSTMT"  :subid("20_1277356913.9538") :method
+.sub "!PREFIX__ENDSTMT"  :subid("20_1278500537.15927") :method
 .annotate 'line', 4
     new $P61, "ResizablePMCArray"
     push $P61, ""
@@ -920,7 +928,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ws"  :subid("21_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "ws"  :subid("21_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx73_tgt
     .local int rx73_pos
@@ -1076,7 +1084,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ws"  :subid("22_1277356913.9538") :method
+.sub "!PREFIX__ws"  :subid("22_1278500537.15927") :method
 .annotate 'line', 4
     new $P75, "ResizablePMCArray"
     push $P75, ""
@@ -1086,9 +1094,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "unv"  :subid("23_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "unv"  :subid("23_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .const 'Sub' $P94 = "25_1277356913.9538" 
+    .const 'Sub' $P94 = "25_1278500537.15927" 
     capture_lex $P94
     .local string rx87_tgt
     .local int rx87_pos
@@ -1135,7 +1143,7 @@
   rxanchor92_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx87_cur."!cursor_pos"(rx87_pos)
-    .const 'Sub' $P94 = "25_1277356913.9538" 
+    .const 'Sub' $P94 = "25_1278500537.15927" 
     capture_lex $P94
     $P10 = rx87_cur."before"($P94)
     unless $P10, rx87_fail
@@ -1214,7 +1222,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__unv"  :subid("24_1277356913.9538") :method
+.sub "!PREFIX__unv"  :subid("24_1278500537.15927") :method
 .annotate 'line', 4
     new $P89, "ResizablePMCArray"
     push $P89, ""
@@ -1225,7 +1233,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block93"  :anon :subid("25_1277356913.9538") :method :outer("23_1277356913.9538")
+.sub "_block93"  :anon :subid("25_1278500537.15927") :method :outer("23_1278500537.15927")
 .annotate 'line', 46
     .local string rx95_tgt
     .local int rx95_pos
@@ -1316,9 +1324,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pod_comment"  :subid("26_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "pod_comment"  :subid("26_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .const 'Sub' $P145 = "28_1277356913.9538" 
+    .const 'Sub' $P145 = "28_1278500537.15927" 
     capture_lex $P145
     .local string rx105_tgt
     .local int rx105_pos
@@ -1805,7 +1813,7 @@
   rxanchor143_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx105_cur."!cursor_pos"(rx105_pos)
-    .const 'Sub' $P145 = "28_1277356913.9538" 
+    .const 'Sub' $P145 = "28_1278500537.15927" 
     capture_lex $P145
     $P10 = rx105_cur."before"($P145)
     unless $P10, rx105_fail
@@ -1856,7 +1864,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pod_comment"  :subid("27_1277356913.9538") :method
+.sub "!PREFIX__pod_comment"  :subid("27_1278500537.15927") :method
 .annotate 'line', 4
     new $P107, "ResizablePMCArray"
     push $P107, ""
@@ -1865,7 +1873,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block144"  :anon :subid("28_1277356913.9538") :method :outer("26_1277356913.9538")
+.sub "_block144"  :anon :subid("28_1278500537.15927") :method :outer("26_1278500537.15927")
 .annotate 'line', 69
     .local string rx146_tgt
     .local int rx146_pos
@@ -1985,7 +1993,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "comp_unit"  :subid("29_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "comp_unit"  :subid("29_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx155_tgt
     .local int rx155_pos
@@ -2071,7 +2079,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__comp_unit"  :subid("30_1277356913.9538") :method
+.sub "!PREFIX__comp_unit"  :subid("30_1278500537.15927") :method
 .annotate 'line', 4
     $P157 = self."!PREFIX__!subrule"("newpad", "")
     new $P158, "ResizablePMCArray"
@@ -2081,7 +2089,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statementlist"  :subid("31_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statementlist"  :subid("31_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx162_tgt
     .local int rx162_pos
@@ -2190,7 +2198,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statementlist"  :subid("32_1277356913.9538") :method
+.sub "!PREFIX__statementlist"  :subid("32_1278500537.15927") :method
 .annotate 'line', 4
     $P164 = self."!PREFIX__!subrule"("ws", "")
     $P165 = self."!PREFIX__!subrule"("ws", "")
@@ -2202,9 +2210,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement"  :subid("33_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statement"  :subid("33_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .const 'Sub' $P182 = "35_1277356913.9538" 
+    .const 'Sub' $P182 = "35_1278500537.15927" 
     capture_lex $P182
     .local string rx177_tgt
     .local int rx177_pos
@@ -2214,7 +2222,7 @@
     .local pmc rx177_cur
     (rx177_cur, rx177_pos, rx177_tgt) = self."!cursor_start"()
     rx177_cur."!cursor_debug"("START ", "statement")
-    rx177_cur."!cursor_caparray"("statement_mod_loop", "statement_mod_cond")
+    rx177_cur."!cursor_caparray"("statement_mod_cond", "statement_mod_loop")
     .lex unicode:"$\x{a2}", rx177_cur
     .local pmc match
     .lex "$/", match
@@ -2240,7 +2248,7 @@
 .annotate 'line', 96
   # rx subrule "before" subtype=zerowidth negate=1
     rx177_cur."!cursor_pos"(rx177_pos)
-    .const 'Sub' $P182 = "35_1277356913.9538" 
+    .const 'Sub' $P182 = "35_1278500537.15927" 
     capture_lex $P182
     $P10 = rx177_cur."before"($P182)
     if $P10, rx177_fail
@@ -2345,7 +2353,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement"  :subid("34_1277356913.9538") :method
+.sub "!PREFIX__statement"  :subid("34_1278500537.15927") :method
 .annotate 'line', 4
     new $P179, "ResizablePMCArray"
     push $P179, ""
@@ -2354,7 +2362,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block181"  :anon :subid("35_1277356913.9538") :method :outer("33_1277356913.9538")
+.sub "_block181"  :anon :subid("35_1278500537.15927") :method :outer("33_1278500537.15927")
 .annotate 'line', 96
     .local string rx183_tgt
     .local int rx183_pos
@@ -2419,7 +2427,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "eat_terminator"  :subid("36_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "eat_terminator"  :subid("36_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx193_tgt
     .local int rx193_pos
@@ -2507,7 +2515,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__eat_terminator"  :subid("37_1277356913.9538") :method
+.sub "!PREFIX__eat_terminator"  :subid("37_1278500537.15927") :method
 .annotate 'line', 4
     new $P195, "ResizablePMCArray"
     push $P195, ""
@@ -2519,7 +2527,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "xblock"  :subid("38_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "xblock"  :subid("38_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx199_tgt
     .local int rx199_pos
@@ -2591,7 +2599,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__xblock"  :subid("39_1277356913.9538") :method
+.sub "!PREFIX__xblock"  :subid("39_1278500537.15927") :method
 .annotate 'line', 4
     $P201 = self."!PREFIX__!subrule"("EXPR", "")
     new $P202, "ResizablePMCArray"
@@ -2601,7 +2609,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pblock"  :subid("40_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "pblock"  :subid("40_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx205_tgt
     .local int rx205_pos
@@ -2721,7 +2729,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pblock"  :subid("41_1277356913.9538") :method
+.sub "!PREFIX__pblock"  :subid("41_1278500537.15927") :method
 .annotate 'line', 4
     $P207 = self."!PREFIX__!subrule"("panic", "")
     $P208 = self."!PREFIX__!subrule"("lambda", "")
@@ -2734,7 +2742,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "lambda"  :subid("42_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "lambda"  :subid("42_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx213_tgt
     .local int rx213_pos
@@ -2806,7 +2814,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__lambda"  :subid("43_1277356913.9538") :method
+.sub "!PREFIX__lambda"  :subid("43_1278500537.15927") :method
 .annotate 'line', 4
     new $P215, "ResizablePMCArray"
     push $P215, "<->"
@@ -2816,7 +2824,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "block"  :subid("44_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "block"  :subid("44_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx219_tgt
     .local int rx219_pos
@@ -2900,7 +2908,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__block"  :subid("45_1277356913.9538") :method
+.sub "!PREFIX__block"  :subid("45_1278500537.15927") :method
 .annotate 'line', 4
     $P221 = self."!PREFIX__!subrule"("panic", "")
     new $P222, "ResizablePMCArray"
@@ -2911,7 +2919,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blockoid"  :subid("46_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "blockoid"  :subid("46_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx226_tgt
     .local int rx226_pos
@@ -3007,7 +3015,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blockoid"  :subid("47_1277356913.9538") :method
+.sub "!PREFIX__blockoid"  :subid("47_1278500537.15927") :method
 .annotate 'line', 4
     $P228 = self."!PREFIX__!subrule"("finishpad", "")
     new $P229, "ResizablePMCArray"
@@ -3017,7 +3025,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "newpad"  :subid("48_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "newpad"  :subid("48_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx234_tgt
     .local int rx234_pos
@@ -3069,7 +3077,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__newpad"  :subid("49_1277356913.9538") :method
+.sub "!PREFIX__newpad"  :subid("49_1278500537.15927") :method
 .annotate 'line', 4
     new $P236, "ResizablePMCArray"
     push $P236, ""
@@ -3078,7 +3086,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "outerctx"  :subid("50_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "outerctx"  :subid("50_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx239_tgt
     .local int rx239_pos
@@ -3130,7 +3138,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__outerctx"  :subid("51_1277356913.9538") :method
+.sub "!PREFIX__outerctx"  :subid("51_1278500537.15927") :method
 .annotate 'line', 4
     new $P241, "ResizablePMCArray"
     push $P241, ""
@@ -3139,7 +3147,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "finishpad"  :subid("52_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "finishpad"  :subid("52_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx244_tgt
     .local int rx244_pos
@@ -3191,7 +3199,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__finishpad"  :subid("53_1277356913.9538") :method
+.sub "!PREFIX__finishpad"  :subid("53_1278500537.15927") :method
 .annotate 'line', 4
     new $P246, "ResizablePMCArray"
     push $P246, ""
@@ -3200,7 +3208,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator"  :subid("54_1277356913.9538") :method
+.sub "terminator"  :subid("54_1278500537.15927") :method
 .annotate 'line', 148
     $P249 = self."!protoregex"("terminator")
     .return ($P249)
@@ -3208,7 +3216,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator"  :subid("55_1277356913.9538") :method
+.sub "!PREFIX__terminator"  :subid("55_1278500537.15927") :method
 .annotate 'line', 148
     $P251 = self."!PREFIX__!protoregex"("terminator")
     .return ($P251)
@@ -3216,7 +3224,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<;>"  :subid("56_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "terminator:sym<;>"  :subid("56_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx253_tgt
     .local int rx253_pos
@@ -3274,7 +3282,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<;>"  :subid("57_1277356913.9538") :method
+.sub "!PREFIX__terminator:sym<;>"  :subid("57_1278500537.15927") :method
 .annotate 'line', 4
     new $P255, "ResizablePMCArray"
     push $P255, ";"
@@ -3283,7 +3291,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<}>"  :subid("58_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "terminator:sym<}>"  :subid("58_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx258_tgt
     .local int rx258_pos
@@ -3341,7 +3349,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<}>"  :subid("59_1277356913.9538") :method
+.sub "!PREFIX__terminator:sym<}>"  :subid("59_1278500537.15927") :method
 .annotate 'line', 4
     new $P260, "ResizablePMCArray"
     push $P260, "}"
@@ -3350,7 +3358,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control"  :subid("60_1277356913.9538") :method
+.sub "statement_control"  :subid("60_1278500537.15927") :method
 .annotate 'line', 155
     $P263 = self."!protoregex"("statement_control")
     .return ($P263)
@@ -3358,7 +3366,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control"  :subid("61_1277356913.9538") :method
+.sub "!PREFIX__statement_control"  :subid("61_1278500537.15927") :method
 .annotate 'line', 155
     $P265 = self."!PREFIX__!protoregex"("statement_control")
     .return ($P265)
@@ -3366,7 +3374,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<if>"  :subid("62_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statement_control:sym<if>"  :subid("62_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx267_tgt
     .local int rx267_pos
@@ -3561,7 +3569,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<if>"  :subid("63_1277356913.9538") :method
+.sub "!PREFIX__statement_control:sym<if>"  :subid("63_1278500537.15927") :method
 .annotate 'line', 4
     new $P269, "ResizablePMCArray"
     push $P269, "if"
@@ -3570,9 +3578,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<unless>"  :subid("64_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statement_control:sym<unless>"  :subid("64_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .const 'Sub' $P297 = "66_1277356913.9538" 
+    .const 'Sub' $P297 = "66_1278500537.15927" 
     capture_lex $P297
     .local string rx287_tgt
     .local int rx287_pos
@@ -3661,7 +3669,7 @@
     rx287_pos = $P10."pos"()
   # rx subrule "before" subtype=zerowidth negate=1
     rx287_cur."!cursor_pos"(rx287_pos)
-    .const 'Sub' $P297 = "66_1277356913.9538" 
+    .const 'Sub' $P297 = "66_1278500537.15927" 
     capture_lex $P297
     $P10 = rx287_cur."before"($P297)
     if $P10, rx287_fail
@@ -3713,7 +3721,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<unless>"  :subid("65_1277356913.9538") :method
+.sub "!PREFIX__statement_control:sym<unless>"  :subid("65_1278500537.15927") :method
 .annotate 'line', 4
     new $P289, "ResizablePMCArray"
     push $P289, "unless"
@@ -3722,7 +3730,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block296"  :anon :subid("66_1277356913.9538") :method :outer("64_1277356913.9538")
+.sub "_block296"  :anon :subid("66_1278500537.15927") :method :outer("64_1278500537.15927")
 .annotate 'line', 167
     .local string rx298_tgt
     .local int rx298_pos
@@ -3779,7 +3787,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<while>"  :subid("67_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statement_control:sym<while>"  :subid("67_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx305_tgt
     .local int rx305_pos
@@ -3890,7 +3898,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<while>"  :subid("68_1277356913.9538") :method
+.sub "!PREFIX__statement_control:sym<while>"  :subid("68_1278500537.15927") :method
 .annotate 'line', 4
     new $P307, "ResizablePMCArray"
     push $P307, "until"
@@ -3900,7 +3908,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<repeat>"  :subid("69_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statement_control:sym<repeat>"  :subid("69_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx314_tgt
     .local int rx314_pos
@@ -4136,7 +4144,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<repeat>"  :subid("70_1277356913.9538") :method
+.sub "!PREFIX__statement_control:sym<repeat>"  :subid("70_1278500537.15927") :method
 .annotate 'line', 4
     new $P316, "ResizablePMCArray"
     push $P316, "repeat"
@@ -4145,7 +4153,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<for>"  :subid("71_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statement_control:sym<for>"  :subid("71_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx334_tgt
     .local int rx334_pos
@@ -4243,7 +4251,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<for>"  :subid("72_1277356913.9538") :method
+.sub "!PREFIX__statement_control:sym<for>"  :subid("72_1278500537.15927") :method
 .annotate 'line', 4
     new $P336, "ResizablePMCArray"
     push $P336, "for"
@@ -4252,7 +4260,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CATCH>"  :subid("73_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statement_control:sym<CATCH>"  :subid("73_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx342_tgt
     .local int rx342_pos
@@ -4350,7 +4358,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("74_1277356913.9538") :method
+.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("74_1278500537.15927") :method
 .annotate 'line', 4
     new $P344, "ResizablePMCArray"
     push $P344, "CATCH"
@@ -4359,7 +4367,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CONTROL>"  :subid("75_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statement_control:sym<CONTROL>"  :subid("75_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx350_tgt
     .local int rx350_pos
@@ -4457,7 +4465,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("76_1277356913.9538") :method
+.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("76_1278500537.15927") :method
 .annotate 'line', 4
     new $P352, "ResizablePMCArray"
     push $P352, "CONTROL"
@@ -4466,7 +4474,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix"  :subid("77_1277356913.9538") :method
+.sub "statement_prefix"  :subid("77_1278500537.15927") :method
 .annotate 'line', 198
     $P358 = self."!protoregex"("statement_prefix")
     .return ($P358)
@@ -4474,7 +4482,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix"  :subid("78_1277356913.9538") :method
+.sub "!PREFIX__statement_prefix"  :subid("78_1278500537.15927") :method
 .annotate 'line', 198
     $P360 = self."!PREFIX__!protoregex"("statement_prefix")
     .return ($P360)
@@ -4482,7 +4490,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<INIT>"  :subid("79_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statement_prefix:sym<INIT>"  :subid("79_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx362_tgt
     .local int rx362_pos
@@ -4562,7 +4570,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("80_1277356913.9538") :method
+.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("80_1278500537.15927") :method
 .annotate 'line', 4
     $P364 = self."!PREFIX__!subrule"("blorst", "INIT")
     new $P365, "ResizablePMCArray"
@@ -4572,7 +4580,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<try>"  :subid("81_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statement_prefix:sym<try>"  :subid("81_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx369_tgt
     .local int rx369_pos
@@ -4654,7 +4662,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<try>"  :subid("82_1277356913.9538") :method
+.sub "!PREFIX__statement_prefix:sym<try>"  :subid("82_1278500537.15927") :method
 .annotate 'line', 4
     $P371 = self."!PREFIX__!subrule"("blorst", "try")
     new $P372, "ResizablePMCArray"
@@ -4664,7 +4672,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blorst"  :subid("83_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "blorst"  :subid("83_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx376_tgt
     .local int rx376_pos
@@ -4754,7 +4762,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blorst"  :subid("84_1277356913.9538") :method
+.sub "!PREFIX__blorst"  :subid("84_1278500537.15927") :method
 .annotate 'line', 4
     new $P378, "ResizablePMCArray"
     push $P378, ""
@@ -4763,7 +4771,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond"  :subid("85_1277356913.9538") :method
+.sub "statement_mod_cond"  :subid("85_1278500537.15927") :method
 .annotate 'line', 212
     $P382 = self."!protoregex"("statement_mod_cond")
     .return ($P382)
@@ -4771,7 +4779,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond"  :subid("86_1277356913.9538") :method
+.sub "!PREFIX__statement_mod_cond"  :subid("86_1278500537.15927") :method
 .annotate 'line', 212
     $P384 = self."!PREFIX__!protoregex"("statement_mod_cond")
     .return ($P384)
@@ -4779,7 +4787,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<if>"  :subid("87_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statement_mod_cond:sym<if>"  :subid("87_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx386_tgt
     .local int rx386_pos
@@ -4869,7 +4877,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("88_1277356913.9538") :method
+.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("88_1278500537.15927") :method
 .annotate 'line', 4
     $P388 = self."!PREFIX__!subrule"("ws", "if")
     new $P389, "ResizablePMCArray"
@@ -4879,7 +4887,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<unless>"  :subid("89_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statement_mod_cond:sym<unless>"  :subid("89_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx395_tgt
     .local int rx395_pos
@@ -4969,7 +4977,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("90_1277356913.9538") :method
+.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("90_1278500537.15927") :method
 .annotate 'line', 4
     $P397 = self."!PREFIX__!subrule"("ws", "unless")
     new $P398, "ResizablePMCArray"
@@ -4979,7 +4987,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop"  :subid("91_1277356913.9538") :method
+.sub "statement_mod_loop"  :subid("91_1278500537.15927") :method
 .annotate 'line', 217
     $P404 = self."!protoregex"("statement_mod_loop")
     .return ($P404)
@@ -4987,7 +4995,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop"  :subid("92_1277356913.9538") :method
+.sub "!PREFIX__statement_mod_loop"  :subid("92_1278500537.15927") :method
 .annotate 'line', 217
     $P406 = self."!PREFIX__!protoregex"("statement_mod_loop")
     .return ($P406)
@@ -4995,7 +5003,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<while>"  :subid("93_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statement_mod_loop:sym<while>"  :subid("93_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx408_tgt
     .local int rx408_pos
@@ -5085,7 +5093,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("94_1277356913.9538") :method
+.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("94_1278500537.15927") :method
 .annotate 'line', 4
     $P410 = self."!PREFIX__!subrule"("ws", "while")
     new $P411, "ResizablePMCArray"
@@ -5095,7 +5103,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<until>"  :subid("95_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statement_mod_loop:sym<until>"  :subid("95_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx417_tgt
     .local int rx417_pos
@@ -5185,7 +5193,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("96_1277356913.9538") :method
+.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("96_1278500537.15927") :method
 .annotate 'line', 4
     $P419 = self."!PREFIX__!subrule"("ws", "until")
     new $P420, "ResizablePMCArray"
@@ -5195,7 +5203,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<fatarrow>"  :subid("97_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "statement_mod_loop:sym<for>"  :subid("97_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx426_tgt
     .local int rx426_pos
@@ -5204,7 +5212,7 @@
     .local int rx426_rep
     .local pmc rx426_cur
     (rx426_cur, rx426_pos, rx426_tgt) = self."!cursor_start"()
-    rx426_cur."!cursor_debug"("START ", "term:sym<fatarrow>")
+    rx426_cur."!cursor_debug"("START ", "statement_mod_loop:sym<for>")
     .lex unicode:"$\x{a2}", rx426_cur
     .local pmc match
     .lex "$/", match
@@ -5227,17 +5235,48 @@
     set_addr $I10, rxscan430_loop
     rx426_cur."!mark_push"(0, rx426_pos, $I10)
   rxscan430_done:
-.annotate 'line', 224
-  # rx subrule "fatarrow" subtype=capture negate=
+.annotate 'line', 221
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_431_fail
+    rx426_cur."!mark_push"(0, rx426_pos, $I10)
+  # rx literal  "for"
+    add $I11, rx426_pos, 3
+    gt $I11, rx426_eos, rx426_fail
+    sub $I11, rx426_pos, rx426_off
+    substr $S10, rx426_tgt, $I11, 3
+    ne $S10, "for", rx426_fail
+    add rx426_pos, 3
+    set_addr $I10, rxcap_431_fail
+    ($I12, $I11) = rx426_cur."!mark_peek"($I10)
+    rx426_cur."!cursor_pos"($I11)
+    ($P10) = rx426_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx426_pos, "")
+    rx426_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_431_done
+  rxcap_431_fail:
+    goto rx426_fail
+  rxcap_431_done:
+  # rx subrule "ws" subtype=method negate=
     rx426_cur."!cursor_pos"(rx426_pos)
-    $P10 = rx426_cur."fatarrow"()
+    $P10 = rx426_cur."ws"()
+    unless $P10, rx426_fail
+    rx426_pos = $P10."pos"()
+  # rx subrule "EXPR" subtype=capture negate=
+    rx426_cur."!cursor_pos"(rx426_pos)
+    $P10 = rx426_cur."EXPR"()
     unless $P10, rx426_fail
     rx426_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("fatarrow")
+    $P10."!cursor_names"("cond")
+    rx426_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx426_cur."!cursor_pos"(rx426_pos)
+    $P10 = rx426_cur."ws"()
+    unless $P10, rx426_fail
     rx426_pos = $P10."pos"()
   # rx pass
-    rx426_cur."!cursor_pass"(rx426_pos, "term:sym<fatarrow>")
-    rx426_cur."!cursor_debug"("PASS  ", "term:sym<fatarrow>", " at pos=", rx426_pos)
+    rx426_cur."!cursor_pass"(rx426_pos, "statement_mod_loop:sym<for>")
+    rx426_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<for>", " at pos=", rx426_pos)
     .return (rx426_cur)
   rx426_fail:
 .annotate 'line', 4
@@ -5247,16 +5286,16 @@
     jump $I10
   rx426_done:
     rx426_cur."!cursor_fail"()
-    rx426_cur."!cursor_debug"("FAIL  ", "term:sym<fatarrow>")
+    rx426_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<for>")
     .return (rx426_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<fatarrow>"  :subid("98_1277356913.9538") :method
+.sub "!PREFIX__statement_mod_loop:sym<for>"  :subid("98_1278500537.15927") :method
 .annotate 'line', 4
-    $P428 = self."!PREFIX__!subrule"("fatarrow", "")
+    $P428 = self."!PREFIX__!subrule"("ws", "for")
     new $P429, "ResizablePMCArray"
     push $P429, $P428
     .return ($P429)
@@ -5264,1295 +5303,1278 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<colonpair>"  :subid("99_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "term:sym<fatarrow>"  :subid("99_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx432_tgt
-    .local int rx432_pos
-    .local int rx432_off
-    .local int rx432_eos
-    .local int rx432_rep
-    .local pmc rx432_cur
-    (rx432_cur, rx432_pos, rx432_tgt) = self."!cursor_start"()
-    rx432_cur."!cursor_debug"("START ", "term:sym<colonpair>")
-    .lex unicode:"$\x{a2}", rx432_cur
-    .local pmc match
-    .lex "$/", match
-    length rx432_eos, rx432_tgt
-    gt rx432_pos, rx432_eos, rx432_done
-    set rx432_off, 0
-    lt rx432_pos, 2, rx432_start
-    sub rx432_off, rx432_pos, 1
-    substr rx432_tgt, rx432_tgt, rx432_off
-  rx432_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan436_done
-    goto rxscan436_scan
-  rxscan436_loop:
-    ($P10) = rx432_cur."from"()
-    inc $P10
-    set rx432_pos, $P10
-    ge rx432_pos, rx432_eos, rxscan436_done
-  rxscan436_scan:
-    set_addr $I10, rxscan436_loop
-    rx432_cur."!mark_push"(0, rx432_pos, $I10)
-  rxscan436_done:
+    .local string rx435_tgt
+    .local int rx435_pos
+    .local int rx435_off
+    .local int rx435_eos
+    .local int rx435_rep
+    .local pmc rx435_cur
+    (rx435_cur, rx435_pos, rx435_tgt) = self."!cursor_start"()
+    rx435_cur."!cursor_debug"("START ", "term:sym<fatarrow>")
+    .lex unicode:"$\x{a2}", rx435_cur
+    .local pmc match
+    .lex "$/", match
+    length rx435_eos, rx435_tgt
+    gt rx435_pos, rx435_eos, rx435_done
+    set rx435_off, 0
+    lt rx435_pos, 2, rx435_start
+    sub rx435_off, rx435_pos, 1
+    substr rx435_tgt, rx435_tgt, rx435_off
+  rx435_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan439_done
+    goto rxscan439_scan
+  rxscan439_loop:
+    ($P10) = rx435_cur."from"()
+    inc $P10
+    set rx435_pos, $P10
+    ge rx435_pos, rx435_eos, rxscan439_done
+  rxscan439_scan:
+    set_addr $I10, rxscan439_loop
+    rx435_cur."!mark_push"(0, rx435_pos, $I10)
+  rxscan439_done:
 .annotate 'line', 225
+  # rx subrule "fatarrow" subtype=capture negate=
+    rx435_cur."!cursor_pos"(rx435_pos)
+    $P10 = rx435_cur."fatarrow"()
+    unless $P10, rx435_fail
+    rx435_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("fatarrow")
+    rx435_pos = $P10."pos"()
+  # rx pass
+    rx435_cur."!cursor_pass"(rx435_pos, "term:sym<fatarrow>")
+    rx435_cur."!cursor_debug"("PASS  ", "term:sym<fatarrow>", " at pos=", rx435_pos)
+    .return (rx435_cur)
+  rx435_fail:
+.annotate 'line', 4
+    (rx435_rep, rx435_pos, $I10, $P10) = rx435_cur."!mark_fail"(0)
+    lt rx435_pos, -1, rx435_done
+    eq rx435_pos, -1, rx435_fail
+    jump $I10
+  rx435_done:
+    rx435_cur."!cursor_fail"()
+    rx435_cur."!cursor_debug"("FAIL  ", "term:sym<fatarrow>")
+    .return (rx435_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__term:sym<fatarrow>"  :subid("100_1278500537.15927") :method
+.annotate 'line', 4
+    $P437 = self."!PREFIX__!subrule"("fatarrow", "")
+    new $P438, "ResizablePMCArray"
+    push $P438, $P437
+    .return ($P438)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "term:sym<colonpair>"  :subid("101_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 4
+    .local string rx441_tgt
+    .local int rx441_pos
+    .local int rx441_off
+    .local int rx441_eos
+    .local int rx441_rep
+    .local pmc rx441_cur
+    (rx441_cur, rx441_pos, rx441_tgt) = self."!cursor_start"()
+    rx441_cur."!cursor_debug"("START ", "term:sym<colonpair>")
+    .lex unicode:"$\x{a2}", rx441_cur
+    .local pmc match
+    .lex "$/", match
+    length rx441_eos, rx441_tgt
+    gt rx441_pos, rx441_eos, rx441_done
+    set rx441_off, 0
+    lt rx441_pos, 2, rx441_start
+    sub rx441_off, rx441_pos, 1
+    substr rx441_tgt, rx441_tgt, rx441_off
+  rx441_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan445_done
+    goto rxscan445_scan
+  rxscan445_loop:
+    ($P10) = rx441_cur."from"()
+    inc $P10
+    set rx441_pos, $P10
+    ge rx441_pos, rx441_eos, rxscan445_done
+  rxscan445_scan:
+    set_addr $I10, rxscan445_loop
+    rx441_cur."!mark_push"(0, rx441_pos, $I10)
+  rxscan445_done:
+.annotate 'line', 226
   # rx subrule "colonpair" subtype=capture negate=
-    rx432_cur."!cursor_pos"(rx432_pos)
-    $P10 = rx432_cur."colonpair"()
-    unless $P10, rx432_fail
-    rx432_cur."!mark_push"(0, -1, 0, $P10)
+    rx441_cur."!cursor_pos"(rx441_pos)
+    $P10 = rx441_cur."colonpair"()
+    unless $P10, rx441_fail
+    rx441_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("colonpair")
-    rx432_pos = $P10."pos"()
+    rx441_pos = $P10."pos"()
   # rx pass
-    rx432_cur."!cursor_pass"(rx432_pos, "term:sym<colonpair>")
-    rx432_cur."!cursor_debug"("PASS  ", "term:sym<colonpair>", " at pos=", rx432_pos)
-    .return (rx432_cur)
-  rx432_fail:
+    rx441_cur."!cursor_pass"(rx441_pos, "term:sym<colonpair>")
+    rx441_cur."!cursor_debug"("PASS  ", "term:sym<colonpair>", " at pos=", rx441_pos)
+    .return (rx441_cur)
+  rx441_fail:
 .annotate 'line', 4
-    (rx432_rep, rx432_pos, $I10, $P10) = rx432_cur."!mark_fail"(0)
-    lt rx432_pos, -1, rx432_done
-    eq rx432_pos, -1, rx432_fail
+    (rx441_rep, rx441_pos, $I10, $P10) = rx441_cur."!mark_fail"(0)
+    lt rx441_pos, -1, rx441_done
+    eq rx441_pos, -1, rx441_fail
     jump $I10
-  rx432_done:
-    rx432_cur."!cursor_fail"()
-    rx432_cur."!cursor_debug"("FAIL  ", "term:sym<colonpair>")
-    .return (rx432_cur)
+  rx441_done:
+    rx441_cur."!cursor_fail"()
+    rx441_cur."!cursor_debug"("FAIL  ", "term:sym<colonpair>")
+    .return (rx441_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<colonpair>"  :subid("100_1277356913.9538") :method
+.sub "!PREFIX__term:sym<colonpair>"  :subid("102_1278500537.15927") :method
 .annotate 'line', 4
-    $P434 = self."!PREFIX__!subrule"("colonpair", "")
-    new $P435, "ResizablePMCArray"
-    push $P435, $P434
-    .return ($P435)
+    $P443 = self."!PREFIX__!subrule"("colonpair", "")
+    new $P444, "ResizablePMCArray"
+    push $P444, $P443
+    .return ($P444)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<variable>"  :subid("101_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "term:sym<variable>"  :subid("103_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx438_tgt
-    .local int rx438_pos
-    .local int rx438_off
-    .local int rx438_eos
-    .local int rx438_rep
-    .local pmc rx438_cur
-    (rx438_cur, rx438_pos, rx438_tgt) = self."!cursor_start"()
-    rx438_cur."!cursor_debug"("START ", "term:sym<variable>")
-    .lex unicode:"$\x{a2}", rx438_cur
+    .local string rx447_tgt
+    .local int rx447_pos
+    .local int rx447_off
+    .local int rx447_eos
+    .local int rx447_rep
+    .local pmc rx447_cur
+    (rx447_cur, rx447_pos, rx447_tgt) = self."!cursor_start"()
+    rx447_cur."!cursor_debug"("START ", "term:sym<variable>")
+    .lex unicode:"$\x{a2}", rx447_cur
     .local pmc match
     .lex "$/", match
-    length rx438_eos, rx438_tgt
-    gt rx438_pos, rx438_eos, rx438_done
-    set rx438_off, 0
-    lt rx438_pos, 2, rx438_start
-    sub rx438_off, rx438_pos, 1
-    substr rx438_tgt, rx438_tgt, rx438_off
-  rx438_start:
+    length rx447_eos, rx447_tgt
+    gt rx447_pos, rx447_eos, rx447_done
+    set rx447_off, 0
+    lt rx447_pos, 2, rx447_start
+    sub rx447_off, rx447_pos, 1
+    substr rx447_tgt, rx447_tgt, rx447_off
+  rx447_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan442_done
-    goto rxscan442_scan
-  rxscan442_loop:
-    ($P10) = rx438_cur."from"()
+    ne $I10, -1, rxscan451_done
+    goto rxscan451_scan
+  rxscan451_loop:
+    ($P10) = rx447_cur."from"()
     inc $P10
-    set rx438_pos, $P10
-    ge rx438_pos, rx438_eos, rxscan442_done
-  rxscan442_scan:
-    set_addr $I10, rxscan442_loop
-    rx438_cur."!mark_push"(0, rx438_pos, $I10)
-  rxscan442_done:
-.annotate 'line', 226
+    set rx447_pos, $P10
+    ge rx447_pos, rx447_eos, rxscan451_done
+  rxscan451_scan:
+    set_addr $I10, rxscan451_loop
+    rx447_cur."!mark_push"(0, rx447_pos, $I10)
+  rxscan451_done:
+.annotate 'line', 227
   # rx subrule "variable" subtype=capture negate=
-    rx438_cur."!cursor_pos"(rx438_pos)
-    $P10 = rx438_cur."variable"()
-    unless $P10, rx438_fail
-    rx438_cur."!mark_push"(0, -1, 0, $P10)
+    rx447_cur."!cursor_pos"(rx447_pos)
+    $P10 = rx447_cur."variable"()
+    unless $P10, rx447_fail
+    rx447_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable")
-    rx438_pos = $P10."pos"()
+    rx447_pos = $P10."pos"()
   # rx pass
-    rx438_cur."!cursor_pass"(rx438_pos, "term:sym<variable>")
-    rx438_cur."!cursor_debug"("PASS  ", "term:sym<variable>", " at pos=", rx438_pos)
-    .return (rx438_cur)
-  rx438_fail:
+    rx447_cur."!cursor_pass"(rx447_pos, "term:sym<variable>")
+    rx447_cur."!cursor_debug"("PASS  ", "term:sym<variable>", " at pos=", rx447_pos)
+    .return (rx447_cur)
+  rx447_fail:
 .annotate 'line', 4
-    (rx438_rep, rx438_pos, $I10, $P10) = rx438_cur."!mark_fail"(0)
-    lt rx438_pos, -1, rx438_done
-    eq rx438_pos, -1, rx438_fail
+    (rx447_rep, rx447_pos, $I10, $P10) = rx447_cur."!mark_fail"(0)
+    lt rx447_pos, -1, rx447_done
+    eq rx447_pos, -1, rx447_fail
     jump $I10
-  rx438_done:
-    rx438_cur."!cursor_fail"()
-    rx438_cur."!cursor_debug"("FAIL  ", "term:sym<variable>")
-    .return (rx438_cur)
+  rx447_done:
+    rx447_cur."!cursor_fail"()
+    rx447_cur."!cursor_debug"("FAIL  ", "term:sym<variable>")
+    .return (rx447_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<variable>"  :subid("102_1277356913.9538") :method
+.sub "!PREFIX__term:sym<variable>"  :subid("104_1278500537.15927") :method
 .annotate 'line', 4
-    $P440 = self."!PREFIX__!subrule"("variable", "")
-    new $P441, "ResizablePMCArray"
-    push $P441, $P440
-    .return ($P441)
+    $P449 = self."!PREFIX__!subrule"("variable", "")
+    new $P450, "ResizablePMCArray"
+    push $P450, $P449
+    .return ($P450)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<package_declarator>"  :subid("103_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "term:sym<package_declarator>"  :subid("105_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx444_tgt
-    .local int rx444_pos
-    .local int rx444_off
-    .local int rx444_eos
-    .local int rx444_rep
-    .local pmc rx444_cur
-    (rx444_cur, rx444_pos, rx444_tgt) = self."!cursor_start"()
-    rx444_cur."!cursor_debug"("START ", "term:sym<package_declarator>")
-    .lex unicode:"$\x{a2}", rx444_cur
+    .local string rx453_tgt
+    .local int rx453_pos
+    .local int rx453_off
+    .local int rx453_eos
+    .local int rx453_rep
+    .local pmc rx453_cur
+    (rx453_cur, rx453_pos, rx453_tgt) = self."!cursor_start"()
+    rx453_cur."!cursor_debug"("START ", "term:sym<package_declarator>")
+    .lex unicode:"$\x{a2}", rx453_cur
     .local pmc match
     .lex "$/", match
-    length rx444_eos, rx444_tgt
-    gt rx444_pos, rx444_eos, rx444_done
-    set rx444_off, 0
-    lt rx444_pos, 2, rx444_start
-    sub rx444_off, rx444_pos, 1
-    substr rx444_tgt, rx444_tgt, rx444_off
-  rx444_start:
+    length rx453_eos, rx453_tgt
+    gt rx453_pos, rx453_eos, rx453_done
+    set rx453_off, 0
+    lt rx453_pos, 2, rx453_start
+    sub rx453_off, rx453_pos, 1
+    substr rx453_tgt, rx453_tgt, rx453_off
+  rx453_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan448_done
-    goto rxscan448_scan
-  rxscan448_loop:
-    ($P10) = rx444_cur."from"()
+    ne $I10, -1, rxscan457_done
+    goto rxscan457_scan
+  rxscan457_loop:
+    ($P10) = rx453_cur."from"()
     inc $P10
-    set rx444_pos, $P10
-    ge rx444_pos, rx444_eos, rxscan448_done
-  rxscan448_scan:
-    set_addr $I10, rxscan448_loop
-    rx444_cur."!mark_push"(0, rx444_pos, $I10)
-  rxscan448_done:
-.annotate 'line', 227
+    set rx453_pos, $P10
+    ge rx453_pos, rx453_eos, rxscan457_done
+  rxscan457_scan:
+    set_addr $I10, rxscan457_loop
+    rx453_cur."!mark_push"(0, rx453_pos, $I10)
+  rxscan457_done:
+.annotate 'line', 228
   # rx subrule "package_declarator" subtype=capture negate=
-    rx444_cur."!cursor_pos"(rx444_pos)
-    $P10 = rx444_cur."package_declarator"()
-    unless $P10, rx444_fail
-    rx444_cur."!mark_push"(0, -1, 0, $P10)
+    rx453_cur."!cursor_pos"(rx453_pos)
+    $P10 = rx453_cur."package_declarator"()
+    unless $P10, rx453_fail
+    rx453_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_declarator")
-    rx444_pos = $P10."pos"()
+    rx453_pos = $P10."pos"()
   # rx pass
-    rx444_cur."!cursor_pass"(rx444_pos, "term:sym<package_declarator>")
-    rx444_cur."!cursor_debug"("PASS  ", "term:sym<package_declarator>", " at pos=", rx444_pos)
-    .return (rx444_cur)
-  rx444_fail:
+    rx453_cur."!cursor_pass"(rx453_pos, "term:sym<package_declarator>")
+    rx453_cur."!cursor_debug"("PASS  ", "term:sym<package_declarator>", " at pos=", rx453_pos)
+    .return (rx453_cur)
+  rx453_fail:
 .annotate 'line', 4
-    (rx444_rep, rx444_pos, $I10, $P10) = rx444_cur."!mark_fail"(0)
-    lt rx444_pos, -1, rx444_done
-    eq rx444_pos, -1, rx444_fail
+    (rx453_rep, rx453_pos, $I10, $P10) = rx453_cur."!mark_fail"(0)
+    lt rx453_pos, -1, rx453_done
+    eq rx453_pos, -1, rx453_fail
     jump $I10
-  rx444_done:
-    rx444_cur."!cursor_fail"()
-    rx444_cur."!cursor_debug"("FAIL  ", "term:sym<package_declarator>")
-    .return (rx444_cur)
+  rx453_done:
+    rx453_cur."!cursor_fail"()
+    rx453_cur."!cursor_debug"("FAIL  ", "term:sym<package_declarator>")
+    .return (rx453_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<package_declarator>"  :subid("104_1277356913.9538") :method
+.sub "!PREFIX__term:sym<package_declarator>"  :subid("106_1278500537.15927") :method
 .annotate 'line', 4
-    $P446 = self."!PREFIX__!subrule"("package_declarator", "")
-    new $P447, "ResizablePMCArray"
-    push $P447, $P446
-    .return ($P447)
+    $P455 = self."!PREFIX__!subrule"("package_declarator", "")
+    new $P456, "ResizablePMCArray"
+    push $P456, $P455
+    .return ($P456)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<scope_declarator>"  :subid("105_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "term:sym<scope_declarator>"  :subid("107_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx450_tgt
-    .local int rx450_pos
-    .local int rx450_off
-    .local int rx450_eos
-    .local int rx450_rep
-    .local pmc rx450_cur
-    (rx450_cur, rx450_pos, rx450_tgt) = self."!cursor_start"()
-    rx450_cur."!cursor_debug"("START ", "term:sym<scope_declarator>")
-    .lex unicode:"$\x{a2}", rx450_cur
+    .local string rx459_tgt
+    .local int rx459_pos
+    .local int rx459_off
+    .local int rx459_eos
+    .local int rx459_rep
+    .local pmc rx459_cur
+    (rx459_cur, rx459_pos, rx459_tgt) = self."!cursor_start"()
+    rx459_cur."!cursor_debug"("START ", "term:sym<scope_declarator>")
+    .lex unicode:"$\x{a2}", rx459_cur
     .local pmc match
     .lex "$/", match
-    length rx450_eos, rx450_tgt
-    gt rx450_pos, rx450_eos, rx450_done
-    set rx450_off, 0
-    lt rx450_pos, 2, rx450_start
-    sub rx450_off, rx450_pos, 1
-    substr rx450_tgt, rx450_tgt, rx450_off
-  rx450_start:
+    length rx459_eos, rx459_tgt
+    gt rx459_pos, rx459_eos, rx459_done
+    set rx459_off, 0
+    lt rx459_pos, 2, rx459_start
+    sub rx459_off, rx459_pos, 1
+    substr rx459_tgt, rx459_tgt, rx459_off
+  rx459_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan454_done
-    goto rxscan454_scan
-  rxscan454_loop:
-    ($P10) = rx450_cur."from"()
+    ne $I10, -1, rxscan463_done
+    goto rxscan463_scan
+  rxscan463_loop:
+    ($P10) = rx459_cur."from"()
     inc $P10
-    set rx450_pos, $P10
-    ge rx450_pos, rx450_eos, rxscan454_done
-  rxscan454_scan:
-    set_addr $I10, rxscan454_loop
-    rx450_cur."!mark_push"(0, rx450_pos, $I10)
-  rxscan454_done:
-.annotate 'line', 228
+    set rx459_pos, $P10
+    ge rx459_pos, rx459_eos, rxscan463_done
+  rxscan463_scan:
+    set_addr $I10, rxscan463_loop
+    rx459_cur."!mark_push"(0, rx459_pos, $I10)
+  rxscan463_done:
+.annotate 'line', 229
   # rx subrule "scope_declarator" subtype=capture negate=
-    rx450_cur."!cursor_pos"(rx450_pos)
-    $P10 = rx450_cur."scope_declarator"()
-    unless $P10, rx450_fail
-    rx450_cur."!mark_push"(0, -1, 0, $P10)
+    rx459_cur."!cursor_pos"(rx459_pos)
+    $P10 = rx459_cur."scope_declarator"()
+    unless $P10, rx459_fail
+    rx459_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scope_declarator")
-    rx450_pos = $P10."pos"()
+    rx459_pos = $P10."pos"()
   # rx pass
-    rx450_cur."!cursor_pass"(rx450_pos, "term:sym<scope_declarator>")
-    rx450_cur."!cursor_debug"("PASS  ", "term:sym<scope_declarator>", " at pos=", rx450_pos)
-    .return (rx450_cur)
-  rx450_fail:
+    rx459_cur."!cursor_pass"(rx459_pos, "term:sym<scope_declarator>")
+    rx459_cur."!cursor_debug"("PASS  ", "term:sym<scope_declarator>", " at pos=", rx459_pos)
+    .return (rx459_cur)
+  rx459_fail:
 .annotate 'line', 4
-    (rx450_rep, rx450_pos, $I10, $P10) = rx450_cur."!mark_fail"(0)
-    lt rx450_pos, -1, rx450_done
-    eq rx450_pos, -1, rx450_fail
+    (rx459_rep, rx459_pos, $I10, $P10) = rx459_cur."!mark_fail"(0)
+    lt rx459_pos, -1, rx459_done
+    eq rx459_pos, -1, rx459_fail
     jump $I10
-  rx450_done:
-    rx450_cur."!cursor_fail"()
-    rx450_cur."!cursor_debug"("FAIL  ", "term:sym<scope_declarator>")
-    .return (rx450_cur)
+  rx459_done:
+    rx459_cur."!cursor_fail"()
+    rx459_cur."!cursor_debug"("FAIL  ", "term:sym<scope_declarator>")
+    .return (rx459_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<scope_declarator>"  :subid("106_1277356913.9538") :method
+.sub "!PREFIX__term:sym<scope_declarator>"  :subid("108_1278500537.15927") :method
 .annotate 'line', 4
-    $P452 = self."!PREFIX__!subrule"("scope_declarator", "")
-    new $P453, "ResizablePMCArray"
-    push $P453, $P452
-    .return ($P453)
+    $P461 = self."!PREFIX__!subrule"("scope_declarator", "")
+    new $P462, "ResizablePMCArray"
+    push $P462, $P461
+    .return ($P462)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<routine_declarator>"  :subid("107_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "term:sym<routine_declarator>"  :subid("109_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx456_tgt
-    .local int rx456_pos
-    .local int rx456_off
-    .local int rx456_eos
-    .local int rx456_rep
-    .local pmc rx456_cur
-    (rx456_cur, rx456_pos, rx456_tgt) = self."!cursor_start"()
-    rx456_cur."!cursor_debug"("START ", "term:sym<routine_declarator>")
-    .lex unicode:"$\x{a2}", rx456_cur
+    .local string rx465_tgt
+    .local int rx465_pos
+    .local int rx465_off
+    .local int rx465_eos
+    .local int rx465_rep
+    .local pmc rx465_cur
+    (rx465_cur, rx465_pos, rx465_tgt) = self."!cursor_start"()
+    rx465_cur."!cursor_debug"("START ", "term:sym<routine_declarator>")
+    .lex unicode:"$\x{a2}", rx465_cur
     .local pmc match
     .lex "$/", match
-    length rx456_eos, rx456_tgt
-    gt rx456_pos, rx456_eos, rx456_done
-    set rx456_off, 0
-    lt rx456_pos, 2, rx456_start
-    sub rx456_off, rx456_pos, 1
-    substr rx456_tgt, rx456_tgt, rx456_off
-  rx456_start:
+    length rx465_eos, rx465_tgt
+    gt rx465_pos, rx465_eos, rx465_done
+    set rx465_off, 0
+    lt rx465_pos, 2, rx465_start
+    sub rx465_off, rx465_pos, 1
+    substr rx465_tgt, rx465_tgt, rx465_off
+  rx465_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan460_done
-    goto rxscan460_scan
-  rxscan460_loop:
-    ($P10) = rx456_cur."from"()
+    ne $I10, -1, rxscan469_done
+    goto rxscan469_scan
+  rxscan469_loop:
+    ($P10) = rx465_cur."from"()
     inc $P10
-    set rx456_pos, $P10
-    ge rx456_pos, rx456_eos, rxscan460_done
-  rxscan460_scan:
-    set_addr $I10, rxscan460_loop
-    rx456_cur."!mark_push"(0, rx456_pos, $I10)
-  rxscan460_done:
-.annotate 'line', 229
+    set rx465_pos, $P10
+    ge rx465_pos, rx465_eos, rxscan469_done
+  rxscan469_scan:
+    set_addr $I10, rxscan469_loop
+    rx465_cur."!mark_push"(0, rx465_pos, $I10)
+  rxscan469_done:
+.annotate 'line', 230
   # rx subrule "routine_declarator" subtype=capture negate=
-    rx456_cur."!cursor_pos"(rx456_pos)
-    $P10 = rx456_cur."routine_declarator"()
-    unless $P10, rx456_fail
-    rx456_cur."!mark_push"(0, -1, 0, $P10)
+    rx465_cur."!cursor_pos"(rx465_pos)
+    $P10 = rx465_cur."routine_declarator"()
+    unless $P10, rx465_fail
+    rx465_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_declarator")
-    rx456_pos = $P10."pos"()
+    rx465_pos = $P10."pos"()
   # rx pass
-    rx456_cur."!cursor_pass"(rx456_pos, "term:sym<routine_declarator>")
-    rx456_cur."!cursor_debug"("PASS  ", "term:sym<routine_declarator>", " at pos=", rx456_pos)
-    .return (rx456_cur)
-  rx456_fail:
+    rx465_cur."!cursor_pass"(rx465_pos, "term:sym<routine_declarator>")
+    rx465_cur."!cursor_debug"("PASS  ", "term:sym<routine_declarator>", " at pos=", rx465_pos)
+    .return (rx465_cur)
+  rx465_fail:
 .annotate 'line', 4
-    (rx456_rep, rx456_pos, $I10, $P10) = rx456_cur."!mark_fail"(0)
-    lt rx456_pos, -1, rx456_done
-    eq rx456_pos, -1, rx456_fail
+    (rx465_rep, rx465_pos, $I10, $P10) = rx465_cur."!mark_fail"(0)
+    lt rx465_pos, -1, rx465_done
+    eq rx465_pos, -1, rx465_fail
     jump $I10
-  rx456_done:
-    rx456_cur."!cursor_fail"()
-    rx456_cur."!cursor_debug"("FAIL  ", "term:sym<routine_declarator>")
-    .return (rx456_cur)
+  rx465_done:
+    rx465_cur."!cursor_fail"()
+    rx465_cur."!cursor_debug"("FAIL  ", "term:sym<routine_declarator>")
+    .return (rx465_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<routine_declarator>"  :subid("108_1277356913.9538") :method
+.sub "!PREFIX__term:sym<routine_declarator>"  :subid("110_1278500537.15927") :method
 .annotate 'line', 4
-    $P458 = self."!PREFIX__!subrule"("routine_declarator", "")
-    new $P459, "ResizablePMCArray"
-    push $P459, $P458
-    .return ($P459)
+    $P467 = self."!PREFIX__!subrule"("routine_declarator", "")
+    new $P468, "ResizablePMCArray"
+    push $P468, $P467
+    .return ($P468)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<multi_declarator>"  :subid("109_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "term:sym<multi_declarator>"  :subid("111_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .const 'Sub' $P467 = "111_1277356913.9538" 
-    capture_lex $P467
-    .local string rx462_tgt
-    .local int rx462_pos
-    .local int rx462_off
-    .local int rx462_eos
-    .local int rx462_rep
-    .local pmc rx462_cur
-    (rx462_cur, rx462_pos, rx462_tgt) = self."!cursor_start"()
-    rx462_cur."!cursor_debug"("START ", "term:sym<multi_declarator>")
-    .lex unicode:"$\x{a2}", rx462_cur
+    .const 'Sub' $P476 = "113_1278500537.15927" 
+    capture_lex $P476
+    .local string rx471_tgt
+    .local int rx471_pos
+    .local int rx471_off
+    .local int rx471_eos
+    .local int rx471_rep
+    .local pmc rx471_cur
+    (rx471_cur, rx471_pos, rx471_tgt) = self."!cursor_start"()
+    rx471_cur."!cursor_debug"("START ", "term:sym<multi_declarator>")
+    .lex unicode:"$\x{a2}", rx471_cur
     .local pmc match
     .lex "$/", match
-    length rx462_eos, rx462_tgt
-    gt rx462_pos, rx462_eos, rx462_done
-    set rx462_off, 0
-    lt rx462_pos, 2, rx462_start
-    sub rx462_off, rx462_pos, 1
-    substr rx462_tgt, rx462_tgt, rx462_off
-  rx462_start:
+    length rx471_eos, rx471_tgt
+    gt rx471_pos, rx471_eos, rx471_done
+    set rx471_off, 0
+    lt rx471_pos, 2, rx471_start
+    sub rx471_off, rx471_pos, 1
+    substr rx471_tgt, rx471_tgt, rx471_off
+  rx471_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan465_done
-    goto rxscan465_scan
-  rxscan465_loop:
-    ($P10) = rx462_cur."from"()
+    ne $I10, -1, rxscan474_done
+    goto rxscan474_scan
+  rxscan474_loop:
+    ($P10) = rx471_cur."from"()
     inc $P10
-    set rx462_pos, $P10
-    ge rx462_pos, rx462_eos, rxscan465_done
-  rxscan465_scan:
-    set_addr $I10, rxscan465_loop
-    rx462_cur."!mark_push"(0, rx462_pos, $I10)
-  rxscan465_done:
-.annotate 'line', 230
+    set rx471_pos, $P10
+    ge rx471_pos, rx471_eos, rxscan474_done
+  rxscan474_scan:
+    set_addr $I10, rxscan474_loop
+    rx471_cur."!mark_push"(0, rx471_pos, $I10)
+  rxscan474_done:
+.annotate 'line', 231
   # rx subrule "before" subtype=zerowidth negate=
-    rx462_cur."!cursor_pos"(rx462_pos)
-    .const 'Sub' $P467 = "111_1277356913.9538" 
-    capture_lex $P467
-    $P10 = rx462_cur."before"($P467)
-    unless $P10, rx462_fail
+    rx471_cur."!cursor_pos"(rx471_pos)
+    .const 'Sub' $P476 = "113_1278500537.15927" 
+    capture_lex $P476
+    $P10 = rx471_cur."before"($P476)
+    unless $P10, rx471_fail
   # rx subrule "multi_declarator" subtype=capture negate=
-    rx462_cur."!cursor_pos"(rx462_pos)
-    $P10 = rx462_cur."multi_declarator"()
-    unless $P10, rx462_fail
-    rx462_cur."!mark_push"(0, -1, 0, $P10)
+    rx471_cur."!cursor_pos"(rx471_pos)
+    $P10 = rx471_cur."multi_declarator"()
+    unless $P10, rx471_fail
+    rx471_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("multi_declarator")
-    rx462_pos = $P10."pos"()
+    rx471_pos = $P10."pos"()
   # rx pass
-    rx462_cur."!cursor_pass"(rx462_pos, "term:sym<multi_declarator>")
-    rx462_cur."!cursor_debug"("PASS  ", "term:sym<multi_declarator>", " at pos=", rx462_pos)
-    .return (rx462_cur)
-  rx462_fail:
+    rx471_cur."!cursor_pass"(rx471_pos, "term:sym<multi_declarator>")
+    rx471_cur."!cursor_debug"("PASS  ", "term:sym<multi_declarator>", " at pos=", rx471_pos)
+    .return (rx471_cur)
+  rx471_fail:
 .annotate 'line', 4
-    (rx462_rep, rx462_pos, $I10, $P10) = rx462_cur."!mark_fail"(0)
-    lt rx462_pos, -1, rx462_done
-    eq rx462_pos, -1, rx462_fail
+    (rx471_rep, rx471_pos, $I10, $P10) = rx471_cur."!mark_fail"(0)
+    lt rx471_pos, -1, rx471_done
+    eq rx471_pos, -1, rx471_fail
     jump $I10
-  rx462_done:
-    rx462_cur."!cursor_fail"()
-    rx462_cur."!cursor_debug"("FAIL  ", "term:sym<multi_declarator>")
-    .return (rx462_cur)
+  rx471_done:
+    rx471_cur."!cursor_fail"()
+    rx471_cur."!cursor_debug"("FAIL  ", "term:sym<multi_declarator>")
+    .return (rx471_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<multi_declarator>"  :subid("110_1277356913.9538") :method
+.sub "!PREFIX__term:sym<multi_declarator>"  :subid("112_1278500537.15927") :method
 .annotate 'line', 4
-    new $P464, "ResizablePMCArray"
-    push $P464, ""
-    .return ($P464)
+    new $P473, "ResizablePMCArray"
+    push $P473, ""
+    .return ($P473)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block466"  :anon :subid("111_1277356913.9538") :method :outer("109_1277356913.9538")
-.annotate 'line', 230
-    .local string rx468_tgt
-    .local int rx468_pos
-    .local int rx468_off
-    .local int rx468_eos
-    .local int rx468_rep
-    .local pmc rx468_cur
-    (rx468_cur, rx468_pos, rx468_tgt) = self."!cursor_start"()
-    rx468_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx468_cur
-    .local pmc match
-    .lex "$/", match
-    length rx468_eos, rx468_tgt
-    gt rx468_pos, rx468_eos, rx468_done
-    set rx468_off, 0
-    lt rx468_pos, 2, rx468_start
-    sub rx468_off, rx468_pos, 1
-    substr rx468_tgt, rx468_tgt, rx468_off
-  rx468_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan469_done
-    goto rxscan469_scan
-  rxscan469_loop:
-    ($P10) = rx468_cur."from"()
-    inc $P10
-    set rx468_pos, $P10
-    ge rx468_pos, rx468_eos, rxscan469_done
-  rxscan469_scan:
-    set_addr $I10, rxscan469_loop
-    rx468_cur."!mark_push"(0, rx468_pos, $I10)
-  rxscan469_done:
-  alt470_0:
-    set_addr $I10, alt470_1
-    rx468_cur."!mark_push"(0, rx468_pos, $I10)
+.sub "_block475"  :anon :subid("113_1278500537.15927") :method :outer("111_1278500537.15927")
+.annotate 'line', 231
+    .local string rx477_tgt
+    .local int rx477_pos
+    .local int rx477_off
+    .local int rx477_eos
+    .local int rx477_rep
+    .local pmc rx477_cur
+    (rx477_cur, rx477_pos, rx477_tgt) = self."!cursor_start"()
+    rx477_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx477_cur
+    .local pmc match
+    .lex "$/", match
+    length rx477_eos, rx477_tgt
+    gt rx477_pos, rx477_eos, rx477_done
+    set rx477_off, 0
+    lt rx477_pos, 2, rx477_start
+    sub rx477_off, rx477_pos, 1
+    substr rx477_tgt, rx477_tgt, rx477_off
+  rx477_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan478_done
+    goto rxscan478_scan
+  rxscan478_loop:
+    ($P10) = rx477_cur."from"()
+    inc $P10
+    set rx477_pos, $P10
+    ge rx477_pos, rx477_eos, rxscan478_done
+  rxscan478_scan:
+    set_addr $I10, rxscan478_loop
+    rx477_cur."!mark_push"(0, rx477_pos, $I10)
+  rxscan478_done:
+  alt479_0:
+    set_addr $I10, alt479_1
+    rx477_cur."!mark_push"(0, rx477_pos, $I10)
   # rx literal  "multi"
-    add $I11, rx468_pos, 5
-    gt $I11, rx468_eos, rx468_fail
-    sub $I11, rx468_pos, rx468_off
-    substr $S10, rx468_tgt, $I11, 5
-    ne $S10, "multi", rx468_fail
-    add rx468_pos, 5
-    goto alt470_end
-  alt470_1:
-    set_addr $I10, alt470_2
-    rx468_cur."!mark_push"(0, rx468_pos, $I10)
+    add $I11, rx477_pos, 5
+    gt $I11, rx477_eos, rx477_fail
+    sub $I11, rx477_pos, rx477_off
+    substr $S10, rx477_tgt, $I11, 5
+    ne $S10, "multi", rx477_fail
+    add rx477_pos, 5
+    goto alt479_end
+  alt479_1:
+    set_addr $I10, alt479_2
+    rx477_cur."!mark_push"(0, rx477_pos, $I10)
   # rx literal  "proto"
-    add $I11, rx468_pos, 5
-    gt $I11, rx468_eos, rx468_fail
-    sub $I11, rx468_pos, rx468_off
-    substr $S10, rx468_tgt, $I11, 5
-    ne $S10, "proto", rx468_fail
-    add rx468_pos, 5
-    goto alt470_end
-  alt470_2:
+    add $I11, rx477_pos, 5
+    gt $I11, rx477_eos, rx477_fail
+    sub $I11, rx477_pos, rx477_off
+    substr $S10, rx477_tgt, $I11, 5
+    ne $S10, "proto", rx477_fail
+    add rx477_pos, 5
+    goto alt479_end
+  alt479_2:
   # rx literal  "only"
-    add $I11, rx468_pos, 4
-    gt $I11, rx468_eos, rx468_fail
-    sub $I11, rx468_pos, rx468_off
-    substr $S10, rx468_tgt, $I11, 4
-    ne $S10, "only", rx468_fail
-    add rx468_pos, 4
-  alt470_end:
-  # rx pass
-    rx468_cur."!cursor_pass"(rx468_pos, "")
-    rx468_cur."!cursor_debug"("PASS  ", "", " at pos=", rx468_pos)
-    .return (rx468_cur)
-  rx468_fail:
-    (rx468_rep, rx468_pos, $I10, $P10) = rx468_cur."!mark_fail"(0)
-    lt rx468_pos, -1, rx468_done
-    eq rx468_pos, -1, rx468_fail
-    jump $I10
-  rx468_done:
-    rx468_cur."!cursor_fail"()
-    rx468_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx468_cur)
+    add $I11, rx477_pos, 4
+    gt $I11, rx477_eos, rx477_fail
+    sub $I11, rx477_pos, rx477_off
+    substr $S10, rx477_tgt, $I11, 4
+    ne $S10, "only", rx477_fail
+    add rx477_pos, 4
+  alt479_end:
+  # rx pass
+    rx477_cur."!cursor_pass"(rx477_pos, "")
+    rx477_cur."!cursor_debug"("PASS  ", "", " at pos=", rx477_pos)
+    .return (rx477_cur)
+  rx477_fail:
+    (rx477_rep, rx477_pos, $I10, $P10) = rx477_cur."!mark_fail"(0)
+    lt rx477_pos, -1, rx477_done
+    eq rx477_pos, -1, rx477_fail
+    jump $I10
+  rx477_done:
+    rx477_cur."!cursor_fail"()
+    rx477_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx477_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<regex_declarator>"  :subid("112_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 4
-    .local string rx472_tgt
-    .local int rx472_pos
-    .local int rx472_off
-    .local int rx472_eos
-    .local int rx472_rep
-    .local pmc rx472_cur
-    (rx472_cur, rx472_pos, rx472_tgt) = self."!cursor_start"()
-    rx472_cur."!cursor_debug"("START ", "term:sym<regex_declarator>")
-    .lex unicode:"$\x{a2}", rx472_cur
-    .local pmc match
-    .lex "$/", match
-    length rx472_eos, rx472_tgt
-    gt rx472_pos, rx472_eos, rx472_done
-    set rx472_off, 0
-    lt rx472_pos, 2, rx472_start
-    sub rx472_off, rx472_pos, 1
-    substr rx472_tgt, rx472_tgt, rx472_off
-  rx472_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan476_done
-    goto rxscan476_scan
-  rxscan476_loop:
-    ($P10) = rx472_cur."from"()
-    inc $P10
-    set rx472_pos, $P10
-    ge rx472_pos, rx472_eos, rxscan476_done
-  rxscan476_scan:
-    set_addr $I10, rxscan476_loop
-    rx472_cur."!mark_push"(0, rx472_pos, $I10)
-  rxscan476_done:
-.annotate 'line', 231
+.sub "term:sym<regex_declarator>"  :subid("114_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 4
+    .local string rx481_tgt
+    .local int rx481_pos
+    .local int rx481_off
+    .local int rx481_eos
+    .local int rx481_rep
+    .local pmc rx481_cur
+    (rx481_cur, rx481_pos, rx481_tgt) = self."!cursor_start"()
+    rx481_cur."!cursor_debug"("START ", "term:sym<regex_declarator>")
+    .lex unicode:"$\x{a2}", rx481_cur
+    .local pmc match
+    .lex "$/", match
+    length rx481_eos, rx481_tgt
+    gt rx481_pos, rx481_eos, rx481_done
+    set rx481_off, 0
+    lt rx481_pos, 2, rx481_start
+    sub rx481_off, rx481_pos, 1
+    substr rx481_tgt, rx481_tgt, rx481_off
+  rx481_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan485_done
+    goto rxscan485_scan
+  rxscan485_loop:
+    ($P10) = rx481_cur."from"()
+    inc $P10
+    set rx481_pos, $P10
+    ge rx481_pos, rx481_eos, rxscan485_done
+  rxscan485_scan:
+    set_addr $I10, rxscan485_loop
+    rx481_cur."!mark_push"(0, rx481_pos, $I10)
+  rxscan485_done:
+.annotate 'line', 232
   # rx subrule "regex_declarator" subtype=capture negate=
-    rx472_cur."!cursor_pos"(rx472_pos)
-    $P10 = rx472_cur."regex_declarator"()
-    unless $P10, rx472_fail
-    rx472_cur."!mark_push"(0, -1, 0, $P10)
+    rx481_cur."!cursor_pos"(rx481_pos)
+    $P10 = rx481_cur."regex_declarator"()
+    unless $P10, rx481_fail
+    rx481_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("regex_declarator")
-    rx472_pos = $P10."pos"()
+    rx481_pos = $P10."pos"()
   # rx pass
-    rx472_cur."!cursor_pass"(rx472_pos, "term:sym<regex_declarator>")
-    rx472_cur."!cursor_debug"("PASS  ", "term:sym<regex_declarator>", " at pos=", rx472_pos)
-    .return (rx472_cur)
-  rx472_fail:
+    rx481_cur."!cursor_pass"(rx481_pos, "term:sym<regex_declarator>")
+    rx481_cur."!cursor_debug"("PASS  ", "term:sym<regex_declarator>", " at pos=", rx481_pos)
+    .return (rx481_cur)
+  rx481_fail:
 .annotate 'line', 4
-    (rx472_rep, rx472_pos, $I10, $P10) = rx472_cur."!mark_fail"(0)
-    lt rx472_pos, -1, rx472_done
-    eq rx472_pos, -1, rx472_fail
+    (rx481_rep, rx481_pos, $I10, $P10) = rx481_cur."!mark_fail"(0)
+    lt rx481_pos, -1, rx481_done
+    eq rx481_pos, -1, rx481_fail
     jump $I10
-  rx472_done:
-    rx472_cur."!cursor_fail"()
-    rx472_cur."!cursor_debug"("FAIL  ", "term:sym<regex_declarator>")
-    .return (rx472_cur)
+  rx481_done:
+    rx481_cur."!cursor_fail"()
+    rx481_cur."!cursor_debug"("FAIL  ", "term:sym<regex_declarator>")
+    .return (rx481_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<regex_declarator>"  :subid("113_1277356913.9538") :method
+.sub "!PREFIX__term:sym<regex_declarator>"  :subid("115_1278500537.15927") :method
 .annotate 'line', 4
-    $P474 = self."!PREFIX__!subrule"("regex_declarator", "")
-    new $P475, "ResizablePMCArray"
-    push $P475, $P474
-    .return ($P475)
+    $P483 = self."!PREFIX__!subrule"("regex_declarator", "")
+    new $P484, "ResizablePMCArray"
+    push $P484, $P483
+    .return ($P484)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<statement_prefix>"  :subid("114_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "term:sym<statement_prefix>"  :subid("116_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx478_tgt
-    .local int rx478_pos
-    .local int rx478_off
-    .local int rx478_eos
-    .local int rx478_rep
-    .local pmc rx478_cur
-    (rx478_cur, rx478_pos, rx478_tgt) = self."!cursor_start"()
-    rx478_cur."!cursor_debug"("START ", "term:sym<statement_prefix>")
-    .lex unicode:"$\x{a2}", rx478_cur
+    .local string rx487_tgt
+    .local int rx487_pos
+    .local int rx487_off
+    .local int rx487_eos
+    .local int rx487_rep
+    .local pmc rx487_cur
+    (rx487_cur, rx487_pos, rx487_tgt) = self."!cursor_start"()
+    rx487_cur."!cursor_debug"("START ", "term:sym<statement_prefix>")
+    .lex unicode:"$\x{a2}", rx487_cur
     .local pmc match
     .lex "$/", match
-    length rx478_eos, rx478_tgt
-    gt rx478_pos, rx478_eos, rx478_done
-    set rx478_off, 0
-    lt rx478_pos, 2, rx478_start
-    sub rx478_off, rx478_pos, 1
-    substr rx478_tgt, rx478_tgt, rx478_off
-  rx478_start:
+    length rx487_eos, rx487_tgt
+    gt rx487_pos, rx487_eos, rx487_done
+    set rx487_off, 0
+    lt rx487_pos, 2, rx487_start
+    sub rx487_off, rx487_pos, 1
+    substr rx487_tgt, rx487_tgt, rx487_off
+  rx487_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan482_done
-    goto rxscan482_scan
-  rxscan482_loop:
-    ($P10) = rx478_cur."from"()
+    ne $I10, -1, rxscan491_done
+    goto rxscan491_scan
+  rxscan491_loop:
+    ($P10) = rx487_cur."from"()
     inc $P10
-    set rx478_pos, $P10
-    ge rx478_pos, rx478_eos, rxscan482_done
-  rxscan482_scan:
-    set_addr $I10, rxscan482_loop
-    rx478_cur."!mark_push"(0, rx478_pos, $I10)
-  rxscan482_done:
-.annotate 'line', 232
+    set rx487_pos, $P10
+    ge rx487_pos, rx487_eos, rxscan491_done
+  rxscan491_scan:
+    set_addr $I10, rxscan491_loop
+    rx487_cur."!mark_push"(0, rx487_pos, $I10)
+  rxscan491_done:
+.annotate 'line', 233
   # rx subrule "statement_prefix" subtype=capture negate=
-    rx478_cur."!cursor_pos"(rx478_pos)
-    $P10 = rx478_cur."statement_prefix"()
-    unless $P10, rx478_fail
-    rx478_cur."!mark_push"(0, -1, 0, $P10)
+    rx487_cur."!cursor_pos"(rx487_pos)
+    $P10 = rx487_cur."statement_prefix"()
+    unless $P10, rx487_fail
+    rx487_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_prefix")
-    rx478_pos = $P10."pos"()
+    rx487_pos = $P10."pos"()
   # rx pass
-    rx478_cur."!cursor_pass"(rx478_pos, "term:sym<statement_prefix>")
-    rx478_cur."!cursor_debug"("PASS  ", "term:sym<statement_prefix>", " at pos=", rx478_pos)
-    .return (rx478_cur)
-  rx478_fail:
+    rx487_cur."!cursor_pass"(rx487_pos, "term:sym<statement_prefix>")
+    rx487_cur."!cursor_debug"("PASS  ", "term:sym<statement_prefix>", " at pos=", rx487_pos)
+    .return (rx487_cur)
+  rx487_fail:
 .annotate 'line', 4
-    (rx478_rep, rx478_pos, $I10, $P10) = rx478_cur."!mark_fail"(0)
-    lt rx478_pos, -1, rx478_done
-    eq rx478_pos, -1, rx478_fail
+    (rx487_rep, rx487_pos, $I10, $P10) = rx487_cur."!mark_fail"(0)
+    lt rx487_pos, -1, rx487_done
+    eq rx487_pos, -1, rx487_fail
     jump $I10
-  rx478_done:
-    rx478_cur."!cursor_fail"()
-    rx478_cur."!cursor_debug"("FAIL  ", "term:sym<statement_prefix>")
-    .return (rx478_cur)
+  rx487_done:
+    rx487_cur."!cursor_fail"()
+    rx487_cur."!cursor_debug"("FAIL  ", "term:sym<statement_prefix>")
+    .return (rx487_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<statement_prefix>"  :subid("115_1277356913.9538") :method
+.sub "!PREFIX__term:sym<statement_prefix>"  :subid("117_1278500537.15927") :method
 .annotate 'line', 4
-    $P480 = self."!PREFIX__!subrule"("statement_prefix", "")
-    new $P481, "ResizablePMCArray"
-    push $P481, $P480
-    .return ($P481)
+    $P489 = self."!PREFIX__!subrule"("statement_prefix", "")
+    new $P490, "ResizablePMCArray"
+    push $P490, $P489
+    .return ($P490)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<lambda>"  :subid("116_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "term:sym<lambda>"  :subid("118_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx484_tgt
-    .local int rx484_pos
-    .local int rx484_off
-    .local int rx484_eos
-    .local int rx484_rep
-    .local pmc rx484_cur
-    (rx484_cur, rx484_pos, rx484_tgt) = self."!cursor_start"()
-    rx484_cur."!cursor_debug"("START ", "term:sym<lambda>")
-    .lex unicode:"$\x{a2}", rx484_cur
+    .local string rx493_tgt
+    .local int rx493_pos
+    .local int rx493_off
+    .local int rx493_eos
+    .local int rx493_rep
+    .local pmc rx493_cur
+    (rx493_cur, rx493_pos, rx493_tgt) = self."!cursor_start"()
+    rx493_cur."!cursor_debug"("START ", "term:sym<lambda>")
+    .lex unicode:"$\x{a2}", rx493_cur
     .local pmc match
     .lex "$/", match
-    length rx484_eos, rx484_tgt
-    gt rx484_pos, rx484_eos, rx484_done
-    set rx484_off, 0
-    lt rx484_pos, 2, rx484_start
-    sub rx484_off, rx484_pos, 1
-    substr rx484_tgt, rx484_tgt, rx484_off
-  rx484_start:
+    length rx493_eos, rx493_tgt
+    gt rx493_pos, rx493_eos, rx493_done
+    set rx493_off, 0
+    lt rx493_pos, 2, rx493_start
+    sub rx493_off, rx493_pos, 1
+    substr rx493_tgt, rx493_tgt, rx493_off
+  rx493_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan487_done
-    goto rxscan487_scan
-  rxscan487_loop:
-    ($P10) = rx484_cur."from"()
+    ne $I10, -1, rxscan496_done
+    goto rxscan496_scan
+  rxscan496_loop:
+    ($P10) = rx493_cur."from"()
     inc $P10
-    set rx484_pos, $P10
-    ge rx484_pos, rx484_eos, rxscan487_done
-  rxscan487_scan:
-    set_addr $I10, rxscan487_loop
-    rx484_cur."!mark_push"(0, rx484_pos, $I10)
-  rxscan487_done:
-.annotate 'line', 233
+    set rx493_pos, $P10
+    ge rx493_pos, rx493_eos, rxscan496_done
+  rxscan496_scan:
+    set_addr $I10, rxscan496_loop
+    rx493_cur."!mark_push"(0, rx493_pos, $I10)
+  rxscan496_done:
+.annotate 'line', 234
   # rx subrule "lambda" subtype=zerowidth negate=
-    rx484_cur."!cursor_pos"(rx484_pos)
-    $P10 = rx484_cur."lambda"()
-    unless $P10, rx484_fail
+    rx493_cur."!cursor_pos"(rx493_pos)
+    $P10 = rx493_cur."lambda"()
+    unless $P10, rx493_fail
   # rx subrule "pblock" subtype=capture negate=
-    rx484_cur."!cursor_pos"(rx484_pos)
-    $P10 = rx484_cur."pblock"()
-    unless $P10, rx484_fail
-    rx484_cur."!mark_push"(0, -1, 0, $P10)
+    rx493_cur."!cursor_pos"(rx493_pos)
+    $P10 = rx493_cur."pblock"()
+    unless $P10, rx493_fail
+    rx493_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pblock")
-    rx484_pos = $P10."pos"()
+    rx493_pos = $P10."pos"()
   # rx pass
-    rx484_cur."!cursor_pass"(rx484_pos, "term:sym<lambda>")
-    rx484_cur."!cursor_debug"("PASS  ", "term:sym<lambda>", " at pos=", rx484_pos)
-    .return (rx484_cur)
-  rx484_fail:
+    rx493_cur."!cursor_pass"(rx493_pos, "term:sym<lambda>")
+    rx493_cur."!cursor_debug"("PASS  ", "term:sym<lambda>", " at pos=", rx493_pos)
+    .return (rx493_cur)
+  rx493_fail:
 .annotate 'line', 4
-    (rx484_rep, rx484_pos, $I10, $P10) = rx484_cur."!mark_fail"(0)
-    lt rx484_pos, -1, rx484_done
-    eq rx484_pos, -1, rx484_fail
+    (rx493_rep, rx493_pos, $I10, $P10) = rx493_cur."!mark_fail"(0)
+    lt rx493_pos, -1, rx493_done
+    eq rx493_pos, -1, rx493_fail
     jump $I10
-  rx484_done:
-    rx484_cur."!cursor_fail"()
-    rx484_cur."!cursor_debug"("FAIL  ", "term:sym<lambda>")
-    .return (rx484_cur)
+  rx493_done:
+    rx493_cur."!cursor_fail"()
+    rx493_cur."!cursor_debug"("FAIL  ", "term:sym<lambda>")
+    .return (rx493_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<lambda>"  :subid("117_1277356913.9538") :method
+.sub "!PREFIX__term:sym<lambda>"  :subid("119_1278500537.15927") :method
 .annotate 'line', 4
-    new $P486, "ResizablePMCArray"
-    push $P486, ""
-    .return ($P486)
+    new $P495, "ResizablePMCArray"
+    push $P495, ""
+    .return ($P495)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "fatarrow"  :subid("118_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "fatarrow"  :subid("120_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx489_tgt
-    .local int rx489_pos
-    .local int rx489_off
-    .local int rx489_eos
-    .local int rx489_rep
-    .local pmc rx489_cur
-    (rx489_cur, rx489_pos, rx489_tgt) = self."!cursor_start"()
-    rx489_cur."!cursor_debug"("START ", "fatarrow")
-    .lex unicode:"$\x{a2}", rx489_cur
+    .local string rx498_tgt
+    .local int rx498_pos
+    .local int rx498_off
+    .local int rx498_eos
+    .local int rx498_rep
+    .local pmc rx498_cur
+    (rx498_cur, rx498_pos, rx498_tgt) = self."!cursor_start"()
+    rx498_cur."!cursor_debug"("START ", "fatarrow")
+    .lex unicode:"$\x{a2}", rx498_cur
     .local pmc match
     .lex "$/", match
-    length rx489_eos, rx489_tgt
-    gt rx489_pos, rx489_eos, rx489_done
-    set rx489_off, 0
-    lt rx489_pos, 2, rx489_start
-    sub rx489_off, rx489_pos, 1
-    substr rx489_tgt, rx489_tgt, rx489_off
-  rx489_start:
+    length rx498_eos, rx498_tgt
+    gt rx498_pos, rx498_eos, rx498_done
+    set rx498_off, 0
+    lt rx498_pos, 2, rx498_start
+    sub rx498_off, rx498_pos, 1
+    substr rx498_tgt, rx498_tgt, rx498_off
+  rx498_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan493_done
-    goto rxscan493_scan
-  rxscan493_loop:
-    ($P10) = rx489_cur."from"()
+    ne $I10, -1, rxscan502_done
+    goto rxscan502_scan
+  rxscan502_loop:
+    ($P10) = rx498_cur."from"()
     inc $P10
-    set rx489_pos, $P10
-    ge rx489_pos, rx489_eos, rxscan493_done
-  rxscan493_scan:
-    set_addr $I10, rxscan493_loop
-    rx489_cur."!mark_push"(0, rx489_pos, $I10)
-  rxscan493_done:
-.annotate 'line', 236
+    set rx498_pos, $P10
+    ge rx498_pos, rx498_eos, rxscan502_done
+  rxscan502_scan:
+    set_addr $I10, rxscan502_loop
+    rx498_cur."!mark_push"(0, rx498_pos, $I10)
+  rxscan502_done:
+.annotate 'line', 237
   # rx subrule "identifier" subtype=capture negate=
-    rx489_cur."!cursor_pos"(rx489_pos)
-    $P10 = rx489_cur."identifier"()
-    unless $P10, rx489_fail
-    rx489_cur."!mark_push"(0, -1, 0, $P10)
+    rx498_cur."!cursor_pos"(rx498_pos)
+    $P10 = rx498_cur."identifier"()
+    unless $P10, rx498_fail
+    rx498_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("key")
-    rx489_pos = $P10."pos"()
-  # rx rxquantr494 ** 0..*
-    set_addr $I495, rxquantr494_done
-    rx489_cur."!mark_push"(0, rx489_pos, $I495)
-  rxquantr494_loop:
+    rx498_pos = $P10."pos"()
+  # rx rxquantr503 ** 0..*
+    set_addr $I504, rxquantr503_done
+    rx498_cur."!mark_push"(0, rx498_pos, $I504)
+  rxquantr503_loop:
   # rx enumcharlist negate=0 
-    ge rx489_pos, rx489_eos, rx489_fail
-    sub $I10, rx489_pos, rx489_off
-    substr $S10, rx489_tgt, $I10, 1
+    ge rx498_pos, rx498_eos, rx498_fail
+    sub $I10, rx498_pos, rx498_off
+    substr $S10, rx498_tgt, $I10, 1
     index $I11, unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", $S10
-    lt $I11, 0, rx489_fail
-    inc rx489_pos
-    (rx489_rep) = rx489_cur."!mark_commit"($I495)
-    rx489_cur."!mark_push"(rx489_rep, rx489_pos, $I495)
-    goto rxquantr494_loop
-  rxquantr494_done:
+    lt $I11, 0, rx498_fail
+    inc rx498_pos
+    (rx498_rep) = rx498_cur."!mark_commit"($I504)
+    rx498_cur."!mark_push"(rx498_rep, rx498_pos, $I504)
+    goto rxquantr503_loop
+  rxquantr503_done:
   # rx literal  "=>"
-    add $I11, rx489_pos, 2
-    gt $I11, rx489_eos, rx489_fail
-    sub $I11, rx489_pos, rx489_off
-    substr $S10, rx489_tgt, $I11, 2
-    ne $S10, "=>", rx489_fail
-    add rx489_pos, 2
-  # rx subrule "ws" subtype=method negate=
-    rx489_cur."!cursor_pos"(rx489_pos)
-    $P10 = rx489_cur."ws"()
-    unless $P10, rx489_fail
-    rx489_pos = $P10."pos"()
+    add $I11, rx498_pos, 2
+    gt $I11, rx498_eos, rx498_fail
+    sub $I11, rx498_pos, rx498_off
+    substr $S10, rx498_tgt, $I11, 2
+    ne $S10, "=>", rx498_fail
+    add rx498_pos, 2
+  # rx subrule "ws" subtype=method negate=
+    rx498_cur."!cursor_pos"(rx498_pos)
+    $P10 = rx498_cur."ws"()
+    unless $P10, rx498_fail
+    rx498_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx489_cur."!cursor_pos"(rx489_pos)
-    $P10 = rx489_cur."EXPR"("i=")
-    unless $P10, rx489_fail
-    rx489_cur."!mark_push"(0, -1, 0, $P10)
+    rx498_cur."!cursor_pos"(rx498_pos)
+    $P10 = rx498_cur."EXPR"("i=")
+    unless $P10, rx498_fail
+    rx498_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("val")
-    rx489_pos = $P10."pos"()
-.annotate 'line', 235
+    rx498_pos = $P10."pos"()
+.annotate 'line', 236
   # rx pass
-    rx489_cur."!cursor_pass"(rx489_pos, "fatarrow")
-    rx489_cur."!cursor_debug"("PASS  ", "fatarrow", " at pos=", rx489_pos)
-    .return (rx489_cur)
-  rx489_fail:
+    rx498_cur."!cursor_pass"(rx498_pos, "fatarrow")
+    rx498_cur."!cursor_debug"("PASS  ", "fatarrow", " at pos=", rx498_pos)
+    .return (rx498_cur)
+  rx498_fail:
 .annotate 'line', 4
-    (rx489_rep, rx489_pos, $I10, $P10) = rx489_cur."!mark_fail"(0)
-    lt rx489_pos, -1, rx489_done
-    eq rx489_pos, -1, rx489_fail
+    (rx498_rep, rx498_pos, $I10, $P10) = rx498_cur."!mark_fail"(0)
+    lt rx498_pos, -1, rx498_done
+    eq rx498_pos, -1, rx498_fail
     jump $I10
-  rx489_done:
-    rx489_cur."!cursor_fail"()
-    rx489_cur."!cursor_debug"("FAIL  ", "fatarrow")
-    .return (rx489_cur)
+  rx498_done:
+    rx498_cur."!cursor_fail"()
+    rx498_cur."!cursor_debug"("FAIL  ", "fatarrow")
+    .return (rx498_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__fatarrow"  :subid("119_1277356913.9538") :method
+.sub "!PREFIX__fatarrow"  :subid("121_1278500537.15927") :method
 .annotate 'line', 4
-    $P491 = self."!PREFIX__!subrule"("identifier", "")
-    new $P492, "ResizablePMCArray"
-    push $P492, $P491
-    .return ($P492)
+    $P500 = self."!PREFIX__!subrule"("identifier", "")
+    new $P501, "ResizablePMCArray"
+    push $P501, $P500
+    .return ($P501)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "colonpair"  :subid("120_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "colonpair"  :subid("122_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx497_tgt
-    .local int rx497_pos
-    .local int rx497_off
-    .local int rx497_eos
-    .local int rx497_rep
-    .local pmc rx497_cur
-    (rx497_cur, rx497_pos, rx497_tgt) = self."!cursor_start"()
-    rx497_cur."!cursor_debug"("START ", "colonpair")
-    rx497_cur."!cursor_caparray"("circumfix")
-    .lex unicode:"$\x{a2}", rx497_cur
+    .local string rx506_tgt
+    .local int rx506_pos
+    .local int rx506_off
+    .local int rx506_eos
+    .local int rx506_rep
+    .local pmc rx506_cur
+    (rx506_cur, rx506_pos, rx506_tgt) = self."!cursor_start"()
+    rx506_cur."!cursor_debug"("START ", "colonpair")
+    rx506_cur."!cursor_caparray"("circumfix")
+    .lex unicode:"$\x{a2}", rx506_cur
     .local pmc match
     .lex "$/", match
-    length rx497_eos, rx497_tgt
-    gt rx497_pos, rx497_eos, rx497_done
-    set rx497_off, 0
-    lt rx497_pos, 2, rx497_start
-    sub rx497_off, rx497_pos, 1
-    substr rx497_tgt, rx497_tgt, rx497_off
-  rx497_start:
+    length rx506_eos, rx506_tgt
+    gt rx506_pos, rx506_eos, rx506_done
+    set rx506_off, 0
+    lt rx506_pos, 2, rx506_start
+    sub rx506_off, rx506_pos, 1
+    substr rx506_tgt, rx506_tgt, rx506_off
+  rx506_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan503_done
-    goto rxscan503_scan
-  rxscan503_loop:
-    ($P10) = rx497_cur."from"()
+    ne $I10, -1, rxscan512_done
+    goto rxscan512_scan
+  rxscan512_loop:
+    ($P10) = rx506_cur."from"()
     inc $P10
-    set rx497_pos, $P10
-    ge rx497_pos, rx497_eos, rxscan503_done
-  rxscan503_scan:
-    set_addr $I10, rxscan503_loop
-    rx497_cur."!mark_push"(0, rx497_pos, $I10)
-  rxscan503_done:
-.annotate 'line', 240
-  # rx literal  ":"
-    add $I11, rx497_pos, 1
-    gt $I11, rx497_eos, rx497_fail
-    sub $I11, rx497_pos, rx497_off
-    substr $S10, rx497_tgt, $I11, 1
-    ne $S10, ":", rx497_fail
-    add rx497_pos, 1
-  alt504_0:
+    set rx506_pos, $P10
+    ge rx506_pos, rx506_eos, rxscan512_done
+  rxscan512_scan:
+    set_addr $I10, rxscan512_loop
+    rx506_cur."!mark_push"(0, rx506_pos, $I10)
+  rxscan512_done:
 .annotate 'line', 241
-    set_addr $I10, alt504_1
-    rx497_cur."!mark_push"(0, rx497_pos, $I10)
+  # rx literal  ":"
+    add $I11, rx506_pos, 1
+    gt $I11, rx506_eos, rx506_fail
+    sub $I11, rx506_pos, rx506_off
+    substr $S10, rx506_tgt, $I11, 1
+    ne $S10, ":", rx506_fail
+    add rx506_pos, 1
+  alt513_0:
 .annotate 'line', 242
+    set_addr $I10, alt513_1
+    rx506_cur."!mark_push"(0, rx506_pos, $I10)
+.annotate 'line', 243
   # rx subcapture "not"
-    set_addr $I10, rxcap_505_fail
-    rx497_cur."!mark_push"(0, rx497_pos, $I10)
+    set_addr $I10, rxcap_514_fail
+    rx506_cur."!mark_push"(0, rx506_pos, $I10)
   # rx literal  "!"
-    add $I11, rx497_pos, 1
-    gt $I11, rx497_eos, rx497_fail
-    sub $I11, rx497_pos, rx497_off
-    substr $S10, rx497_tgt, $I11, 1
-    ne $S10, "!", rx497_fail
-    add rx497_pos, 1
-    set_addr $I10, rxcap_505_fail
-    ($I12, $I11) = rx497_cur."!mark_peek"($I10)
-    rx497_cur."!cursor_pos"($I11)
-    ($P10) = rx497_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx497_pos, "")
-    rx497_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx506_pos, 1
+    gt $I11, rx506_eos, rx506_fail
+    sub $I11, rx506_pos, rx506_off
+    substr $S10, rx506_tgt, $I11, 1
+    ne $S10, "!", rx506_fail
+    add rx506_pos, 1
+    set_addr $I10, rxcap_514_fail
+    ($I12, $I11) = rx506_cur."!mark_peek"($I10)
+    rx506_cur."!cursor_pos"($I11)
+    ($P10) = rx506_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx506_pos, "")
+    rx506_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("not")
-    goto rxcap_505_done
-  rxcap_505_fail:
-    goto rx497_fail
-  rxcap_505_done:
+    goto rxcap_514_done
+  rxcap_514_fail:
+    goto rx506_fail
+  rxcap_514_done:
   # rx subrule "identifier" subtype=capture negate=
-    rx497_cur."!cursor_pos"(rx497_pos)
-    $P10 = rx497_cur."identifier"()
-    unless $P10, rx497_fail
-    rx497_cur."!mark_push"(0, -1, 0, $P10)
+    rx506_cur."!cursor_pos"(rx506_pos)
+    $P10 = rx506_cur."identifier"()
+    unless $P10, rx506_fail
+    rx506_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx497_pos = $P10."pos"()
-    goto alt504_end
-  alt504_1:
-    set_addr $I10, alt504_2
-    rx497_cur."!mark_push"(0, rx497_pos, $I10)
-.annotate 'line', 243
+    rx506_pos = $P10."pos"()
+    goto alt513_end
+  alt513_1:
+    set_addr $I10, alt513_2
+    rx506_cur."!mark_push"(0, rx506_pos, $I10)
+.annotate 'line', 244
   # rx subrule "identifier" subtype=capture negate=
-    rx497_cur."!cursor_pos"(rx497_pos)
-    $P10 = rx497_cur."identifier"()
-    unless $P10, rx497_fail
-    rx497_cur."!mark_push"(0, -1, 0, $P10)
+    rx506_cur."!cursor_pos"(rx506_pos)
+    $P10 = rx506_cur."identifier"()
+    unless $P10, rx506_fail
+    rx506_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx497_pos = $P10."pos"()
-  # rx rxquantr506 ** 0..1
-    set_addr $I507, rxquantr506_done
-    rx497_cur."!mark_push"(0, rx497_pos, $I507)
-  rxquantr506_loop:
+    rx506_pos = $P10."pos"()
+  # rx rxquantr515 ** 0..1
+    set_addr $I516, rxquantr515_done
+    rx506_cur."!mark_push"(0, rx506_pos, $I516)
+  rxquantr515_loop:
   # rx subrule "circumfix" subtype=capture negate=
-    rx497_cur."!cursor_pos"(rx497_pos)
-    $P10 = rx497_cur."circumfix"()
-    unless $P10, rx497_fail
-    rx497_cur."!mark_push"(0, -1, 0, $P10)
+    rx506_cur."!cursor_pos"(rx506_pos)
+    $P10 = rx506_cur."circumfix"()
+    unless $P10, rx506_fail
+    rx506_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("circumfix")
-    rx497_pos = $P10."pos"()
-    (rx497_rep) = rx497_cur."!mark_commit"($I507)
-  rxquantr506_done:
-    goto alt504_end
-  alt504_2:
-.annotate 'line', 244
+    rx506_pos = $P10."pos"()
+    (rx506_rep) = rx506_cur."!mark_commit"($I516)
+  rxquantr515_done:
+    goto alt513_end
+  alt513_2:
+.annotate 'line', 245
   # rx subrule "circumfix" subtype=capture negate=
-    rx497_cur."!cursor_pos"(rx497_pos)
-    $P10 = rx497_cur."circumfix"()
-    unless $P10, rx497_fail
-    rx497_cur."!mark_push"(0, -1, 0, $P10)
+    rx506_cur."!cursor_pos"(rx506_pos)
+    $P10 = rx506_cur."circumfix"()
+    unless $P10, rx506_fail
+    rx506_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("circumfix")
-    rx497_pos = $P10."pos"()
-  alt504_end:
-.annotate 'line', 239
+    rx506_pos = $P10."pos"()
+  alt513_end:
+.annotate 'line', 240
   # rx pass
-    rx497_cur."!cursor_pass"(rx497_pos, "colonpair")
-    rx497_cur."!cursor_debug"("PASS  ", "colonpair", " at pos=", rx497_pos)
-    .return (rx497_cur)
-  rx497_fail:
+    rx506_cur."!cursor_pass"(rx506_pos, "colonpair")
+    rx506_cur."!cursor_debug"("PASS  ", "colonpair", " at pos=", rx506_pos)
+    .return (rx506_cur)
+  rx506_fail:
 .annotate 'line', 4
-    (rx497_rep, rx497_pos, $I10, $P10) = rx497_cur."!mark_fail"(0)
-    lt rx497_pos, -1, rx497_done
-    eq rx497_pos, -1, rx497_fail
+    (rx506_rep, rx506_pos, $I10, $P10) = rx506_cur."!mark_fail"(0)
+    lt rx506_pos, -1, rx506_done
+    eq rx506_pos, -1, rx506_fail
     jump $I10
-  rx497_done:
-    rx497_cur."!cursor_fail"()
-    rx497_cur."!cursor_debug"("FAIL  ", "colonpair")
-    .return (rx497_cur)
+  rx506_done:
+    rx506_cur."!cursor_fail"()
+    rx506_cur."!cursor_debug"("FAIL  ", "colonpair")
+    .return (rx506_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__colonpair"  :subid("121_1277356913.9538") :method
+.sub "!PREFIX__colonpair"  :subid("123_1278500537.15927") :method
 .annotate 'line', 4
-    $P499 = self."!PREFIX__!subrule"("circumfix", ":")
-    $P500 = self."!PREFIX__!subrule"("identifier", ":")
-    $P501 = self."!PREFIX__!subrule"("identifier", ":!")
-    new $P502, "ResizablePMCArray"
-    push $P502, $P499
-    push $P502, $P500
-    push $P502, $P501
-    .return ($P502)
+    $P508 = self."!PREFIX__!subrule"("circumfix", ":")
+    $P509 = self."!PREFIX__!subrule"("identifier", ":")
+    $P510 = self."!PREFIX__!subrule"("identifier", ":!")
+    new $P511, "ResizablePMCArray"
+    push $P511, $P508
+    push $P511, $P509
+    push $P511, $P510
+    .return ($P511)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable"  :subid("122_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "variable"  :subid("124_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx509_tgt
-    .local int rx509_pos
-    .local int rx509_off
-    .local int rx509_eos
-    .local int rx509_rep
-    .local pmc rx509_cur
-    (rx509_cur, rx509_pos, rx509_tgt) = self."!cursor_start"()
-    rx509_cur."!cursor_debug"("START ", "variable")
-    rx509_cur."!cursor_caparray"("twigil")
-    .lex unicode:"$\x{a2}", rx509_cur
-    .local pmc match
-    .lex "$/", match
-    length rx509_eos, rx509_tgt
-    gt rx509_pos, rx509_eos, rx509_done
-    set rx509_off, 0
-    lt rx509_pos, 2, rx509_start
-    sub rx509_off, rx509_pos, 1
-    substr rx509_tgt, rx509_tgt, rx509_off
-  rx509_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan514_done
-    goto rxscan514_scan
-  rxscan514_loop:
-    ($P10) = rx509_cur."from"()
-    inc $P10
-    set rx509_pos, $P10
-    ge rx509_pos, rx509_eos, rxscan514_done
-  rxscan514_scan:
-    set_addr $I10, rxscan514_loop
-    rx509_cur."!mark_push"(0, rx509_pos, $I10)
-  rxscan514_done:
-  alt515_0:
-.annotate 'line', 248
-    set_addr $I10, alt515_1
-    rx509_cur."!mark_push"(0, rx509_pos, $I10)
+    .local string rx518_tgt
+    .local int rx518_pos
+    .local int rx518_off
+    .local int rx518_eos
+    .local int rx518_rep
+    .local pmc rx518_cur
+    (rx518_cur, rx518_pos, rx518_tgt) = self."!cursor_start"()
+    rx518_cur."!cursor_debug"("START ", "variable")
+    rx518_cur."!cursor_caparray"("twigil")
+    .lex unicode:"$\x{a2}", rx518_cur
+    .local pmc match
+    .lex "$/", match
+    length rx518_eos, rx518_tgt
+    gt rx518_pos, rx518_eos, rx518_done
+    set rx518_off, 0
+    lt rx518_pos, 2, rx518_start
+    sub rx518_off, rx518_pos, 1
+    substr rx518_tgt, rx518_tgt, rx518_off
+  rx518_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan523_done
+    goto rxscan523_scan
+  rxscan523_loop:
+    ($P10) = rx518_cur."from"()
+    inc $P10
+    set rx518_pos, $P10
+    ge rx518_pos, rx518_eos, rxscan523_done
+  rxscan523_scan:
+    set_addr $I10, rxscan523_loop
+    rx518_cur."!mark_push"(0, rx518_pos, $I10)
+  rxscan523_done:
+  alt524_0:
 .annotate 'line', 249
+    set_addr $I10, alt524_1
+    rx518_cur."!mark_push"(0, rx518_pos, $I10)
+.annotate 'line', 250
   # rx subrule "sigil" subtype=capture negate=
-    rx509_cur."!cursor_pos"(rx509_pos)
-    $P10 = rx509_cur."sigil"()
-    unless $P10, rx509_fail
-    rx509_cur."!mark_push"(0, -1, 0, $P10)
+    rx518_cur."!cursor_pos"(rx518_pos)
+    $P10 = rx518_cur."sigil"()
+    unless $P10, rx518_fail
+    rx518_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx509_pos = $P10."pos"()
-  # rx rxquantr516 ** 0..1
-    set_addr $I517, rxquantr516_done
-    rx509_cur."!mark_push"(0, rx509_pos, $I517)
-  rxquantr516_loop:
+    rx518_pos = $P10."pos"()
+  # rx rxquantr525 ** 0..1
+    set_addr $I526, rxquantr525_done
+    rx518_cur."!mark_push"(0, rx518_pos, $I526)
+  rxquantr525_loop:
   # rx subrule "twigil" subtype=capture negate=
-    rx509_cur."!cursor_pos"(rx509_pos)
-    $P10 = rx509_cur."twigil"()
-    unless $P10, rx509_fail
-    rx509_cur."!mark_push"(0, -1, 0, $P10)
+    rx518_cur."!cursor_pos"(rx518_pos)
+    $P10 = rx518_cur."twigil"()
+    unless $P10, rx518_fail
+    rx518_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("twigil")
-    rx509_pos = $P10."pos"()
-    (rx509_rep) = rx509_cur."!mark_commit"($I517)
-  rxquantr516_done:
+    rx518_pos = $P10."pos"()
+    (rx518_rep) = rx518_cur."!mark_commit"($I526)
+  rxquantr525_done:
   # rx subrule "name" subtype=capture negate=
-    rx509_cur."!cursor_pos"(rx509_pos)
-    $P10 = rx509_cur."name"()
-    unless $P10, rx509_fail
-    rx509_cur."!mark_push"(0, -1, 0, $P10)
+    rx518_cur."!cursor_pos"(rx518_pos)
+    $P10 = rx518_cur."name"()
+    unless $P10, rx518_fail
+    rx518_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("desigilname")
-    rx509_pos = $P10."pos"()
-    goto alt515_end
-  alt515_1:
-    set_addr $I10, alt515_2
-    rx509_cur."!mark_push"(0, rx509_pos, $I10)
-.annotate 'line', 250
+    rx518_pos = $P10."pos"()
+    goto alt524_end
+  alt524_1:
+    set_addr $I10, alt524_2
+    rx518_cur."!mark_push"(0, rx518_pos, $I10)
+.annotate 'line', 251
   # rx subrule "sigil" subtype=capture negate=
-    rx509_cur."!cursor_pos"(rx509_pos)
-    $P10 = rx509_cur."sigil"()
-    unless $P10, rx509_fail
-    rx509_cur."!mark_push"(0, -1, 0, $P10)
+    rx518_cur."!cursor_pos"(rx518_pos)
+    $P10 = rx518_cur."sigil"()
+    unless $P10, rx518_fail
+    rx518_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx509_pos = $P10."pos"()
+    rx518_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx509_pos, rx509_eos, rx509_fail
-    sub $I10, rx509_pos, rx509_off
-    substr $S10, rx509_tgt, $I10, 1
+    ge rx518_pos, rx518_eos, rx518_fail
+    sub $I10, rx518_pos, rx518_off
+    substr $S10, rx518_tgt, $I10, 1
     index $I11, "<[", $S10
-    lt $I11, 0, rx509_fail
+    lt $I11, 0, rx518_fail
   # rx subrule "postcircumfix" subtype=capture negate=
-    rx509_cur."!cursor_pos"(rx509_pos)
-    $P10 = rx509_cur."postcircumfix"()
-    unless $P10, rx509_fail
-    rx509_cur."!mark_push"(0, -1, 0, $P10)
+    rx518_cur."!cursor_pos"(rx518_pos)
+    $P10 = rx518_cur."postcircumfix"()
+    unless $P10, rx518_fail
+    rx518_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("postcircumfix")
-    rx509_pos = $P10."pos"()
-    goto alt515_end
-  alt515_2:
-.annotate 'line', 251
+    rx518_pos = $P10."pos"()
+    goto alt524_end
+  alt524_2:
+.annotate 'line', 252
   # rx subcapture "sigil"
-    set_addr $I10, rxcap_518_fail
-    rx509_cur."!mark_push"(0, rx509_pos, $I10)
+    set_addr $I10, rxcap_527_fail
+    rx518_cur."!mark_push"(0, rx518_pos, $I10)
   # rx literal  "$"
-    add $I11, rx509_pos, 1
-    gt $I11, rx509_eos, rx509_fail
-    sub $I11, rx509_pos, rx509_off
-    substr $S10, rx509_tgt, $I11, 1
-    ne $S10, "$", rx509_fail
-    add rx509_pos, 1
-    set_addr $I10, rxcap_518_fail
-    ($I12, $I11) = rx509_cur."!mark_peek"($I10)
-    rx509_cur."!cursor_pos"($I11)
-    ($P10) = rx509_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx509_pos, "")
-    rx509_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx518_pos, 1
+    gt $I11, rx518_eos, rx518_fail
+    sub $I11, rx518_pos, rx518_off
+    substr $S10, rx518_tgt, $I11, 1
+    ne $S10, "$", rx518_fail
+    add rx518_pos, 1
+    set_addr $I10, rxcap_527_fail
+    ($I12, $I11) = rx518_cur."!mark_peek"($I10)
+    rx518_cur."!cursor_pos"($I11)
+    ($P10) = rx518_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx518_pos, "")
+    rx518_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    goto rxcap_518_done
-  rxcap_518_fail:
-    goto rx509_fail
-  rxcap_518_done:
+    goto rxcap_527_done
+  rxcap_527_fail:
+    goto rx518_fail
+  rxcap_527_done:
   # rx subcapture "desigilname"
-    set_addr $I10, rxcap_519_fail
-    rx509_cur."!mark_push"(0, rx509_pos, $I10)
+    set_addr $I10, rxcap_528_fail
+    rx518_cur."!mark_push"(0, rx518_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx509_pos, rx509_eos, rx509_fail
-    sub $I10, rx509_pos, rx509_off
-    substr $S10, rx509_tgt, $I10, 1
+    ge rx518_pos, rx518_eos, rx518_fail
+    sub $I10, rx518_pos, rx518_off
+    substr $S10, rx518_tgt, $I10, 1
     index $I11, "/_!", $S10
-    lt $I11, 0, rx509_fail
-    inc rx509_pos
-    set_addr $I10, rxcap_519_fail
-    ($I12, $I11) = rx509_cur."!mark_peek"($I10)
-    rx509_cur."!cursor_pos"($I11)
-    ($P10) = rx509_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx509_pos, "")
-    rx509_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx518_fail
+    inc rx518_pos
+    set_addr $I10, rxcap_528_fail
+    ($I12, $I11) = rx518_cur."!mark_peek"($I10)
+    rx518_cur."!cursor_pos"($I11)
+    ($P10) = rx518_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx518_pos, "")
+    rx518_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("desigilname")
-    goto rxcap_519_done
-  rxcap_519_fail:
-    goto rx509_fail
-  rxcap_519_done:
-  alt515_end:
-.annotate 'line', 248
+    goto rxcap_528_done
+  rxcap_528_fail:
+    goto rx518_fail
+  rxcap_528_done:
+  alt524_end:
+.annotate 'line', 249
   # rx pass
-    rx509_cur."!cursor_pass"(rx509_pos, "variable")
-    rx509_cur."!cursor_debug"("PASS  ", "variable", " at pos=", rx509_pos)
-    .return (rx509_cur)
-  rx509_fail:
+    rx518_cur."!cursor_pass"(rx518_pos, "variable")
+    rx518_cur."!cursor_debug"("PASS  ", "variable", " at pos=", rx518_pos)
+    .return (rx518_cur)
+  rx518_fail:
 .annotate 'line', 4
-    (rx509_rep, rx509_pos, $I10, $P10) = rx509_cur."!mark_fail"(0)
-    lt rx509_pos, -1, rx509_done
-    eq rx509_pos, -1, rx509_fail
+    (rx518_rep, rx518_pos, $I10, $P10) = rx518_cur."!mark_fail"(0)
+    lt rx518_pos, -1, rx518_done
+    eq rx518_pos, -1, rx518_fail
     jump $I10
-  rx509_done:
-    rx509_cur."!cursor_fail"()
-    rx509_cur."!cursor_debug"("FAIL  ", "variable")
-    .return (rx509_cur)
+  rx518_done:
+    rx518_cur."!cursor_fail"()
+    rx518_cur."!cursor_debug"("FAIL  ", "variable")
+    .return (rx518_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable"  :subid("123_1277356913.9538") :method
+.sub "!PREFIX__variable"  :subid("125_1278500537.15927") :method
 .annotate 'line', 4
-    $P511 = self."!PREFIX__!subrule"("sigil", "")
-    $P512 = self."!PREFIX__!subrule"("sigil", "")
-    new $P513, "ResizablePMCArray"
-    push $P513, "$!"
-    push $P513, "$_"
-    push $P513, "$/"
-    push $P513, $P511
-    push $P513, $P512
-    .return ($P513)
+    $P520 = self."!PREFIX__!subrule"("sigil", "")
+    $P521 = self."!PREFIX__!subrule"("sigil", "")
+    new $P522, "ResizablePMCArray"
+    push $P522, "$!"
+    push $P522, "$_"
+    push $P522, "$/"
+    push $P522, $P520
+    push $P522, $P521
+    .return ($P522)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "sigil"  :subid("124_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "sigil"  :subid("126_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx521_tgt
-    .local int rx521_pos
-    .local int rx521_off
-    .local int rx521_eos
-    .local int rx521_rep
-    .local pmc rx521_cur
-    (rx521_cur, rx521_pos, rx521_tgt) = self."!cursor_start"()
-    rx521_cur."!cursor_debug"("START ", "sigil")
-    .lex unicode:"$\x{a2}", rx521_cur
+    .local string rx530_tgt
+    .local int rx530_pos
+    .local int rx530_off
+    .local int rx530_eos
+    .local int rx530_rep
+    .local pmc rx530_cur
+    (rx530_cur, rx530_pos, rx530_tgt) = self."!cursor_start"()
+    rx530_cur."!cursor_debug"("START ", "sigil")
+    .lex unicode:"$\x{a2}", rx530_cur
     .local pmc match
     .lex "$/", match
-    length rx521_eos, rx521_tgt
-    gt rx521_pos, rx521_eos, rx521_done
-    set rx521_off, 0
-    lt rx521_pos, 2, rx521_start
-    sub rx521_off, rx521_pos, 1
-    substr rx521_tgt, rx521_tgt, rx521_off
-  rx521_start:
+    length rx530_eos, rx530_tgt
+    gt rx530_pos, rx530_eos, rx530_done
+    set rx530_off, 0
+    lt rx530_pos, 2, rx530_start
+    sub rx530_off, rx530_pos, 1
+    substr rx530_tgt, rx530_tgt, rx530_off
+  rx530_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan524_done
-    goto rxscan524_scan
-  rxscan524_loop:
-    ($P10) = rx521_cur."from"()
+    ne $I10, -1, rxscan533_done
+    goto rxscan533_scan
+  rxscan533_loop:
+    ($P10) = rx530_cur."from"()
     inc $P10
-    set rx521_pos, $P10
-    ge rx521_pos, rx521_eos, rxscan524_done
-  rxscan524_scan:
-    set_addr $I10, rxscan524_loop
-    rx521_cur."!mark_push"(0, rx521_pos, $I10)
-  rxscan524_done:
-.annotate 'line', 254
+    set rx530_pos, $P10
+    ge rx530_pos, rx530_eos, rxscan533_done
+  rxscan533_scan:
+    set_addr $I10, rxscan533_loop
+    rx530_cur."!mark_push"(0, rx530_pos, $I10)
+  rxscan533_done:
+.annotate 'line', 255
   # rx enumcharlist negate=0 
-    ge rx521_pos, rx521_eos, rx521_fail
-    sub $I10, rx521_pos, rx521_off
-    substr $S10, rx521_tgt, $I10, 1
+    ge rx530_pos, rx530_eos, rx530_fail
+    sub $I10, rx530_pos, rx530_off
+    substr $S10, rx530_tgt, $I10, 1
     index $I11, "$@%&", $S10
-    lt $I11, 0, rx521_fail
-    inc rx521_pos
-  # rx pass
-    rx521_cur."!cursor_pass"(rx521_pos, "sigil")
-    rx521_cur."!cursor_debug"("PASS  ", "sigil", " at pos=", rx521_pos)
-    .return (rx521_cur)
-  rx521_fail:
-.annotate 'line', 4
-    (rx521_rep, rx521_pos, $I10, $P10) = rx521_cur."!mark_fail"(0)
-    lt rx521_pos, -1, rx521_done
-    eq rx521_pos, -1, rx521_fail
-    jump $I10
-  rx521_done:
-    rx521_cur."!cursor_fail"()
-    rx521_cur."!cursor_debug"("FAIL  ", "sigil")
-    .return (rx521_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__sigil"  :subid("125_1277356913.9538") :method
-.annotate 'line', 4
-    new $P523, "ResizablePMCArray"
-    push $P523, "&"
-    push $P523, "%"
-    push $P523, "@"
-    push $P523, "$"
-    .return ($P523)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "twigil"  :subid("126_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 4
-    .local string rx526_tgt
-    .local int rx526_pos
-    .local int rx526_off
-    .local int rx526_eos
-    .local int rx526_rep
-    .local pmc rx526_cur
-    (rx526_cur, rx526_pos, rx526_tgt) = self."!cursor_start"()
-    rx526_cur."!cursor_debug"("START ", "twigil")
-    .lex unicode:"$\x{a2}", rx526_cur
-    .local pmc match
-    .lex "$/", match
-    length rx526_eos, rx526_tgt
-    gt rx526_pos, rx526_eos, rx526_done
-    set rx526_off, 0
-    lt rx526_pos, 2, rx526_start
-    sub rx526_off, rx526_pos, 1
-    substr rx526_tgt, rx526_tgt, rx526_off
-  rx526_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan529_done
-    goto rxscan529_scan
-  rxscan529_loop:
-    ($P10) = rx526_cur."from"()
-    inc $P10
-    set rx526_pos, $P10
-    ge rx526_pos, rx526_eos, rxscan529_done
-  rxscan529_scan:
-    set_addr $I10, rxscan529_loop
-    rx526_cur."!mark_push"(0, rx526_pos, $I10)
-  rxscan529_done:
-.annotate 'line', 256
-  # rx enumcharlist negate=0 
-    ge rx526_pos, rx526_eos, rx526_fail
-    sub $I10, rx526_pos, rx526_off
-    substr $S10, rx526_tgt, $I10, 1
-    index $I11, "*!?", $S10
-    lt $I11, 0, rx526_fail
-    inc rx526_pos
+    lt $I11, 0, rx530_fail
+    inc rx530_pos
   # rx pass
-    rx526_cur."!cursor_pass"(rx526_pos, "twigil")
-    rx526_cur."!cursor_debug"("PASS  ", "twigil", " at pos=", rx526_pos)
-    .return (rx526_cur)
-  rx526_fail:
+    rx530_cur."!cursor_pass"(rx530_pos, "sigil")
+    rx530_cur."!cursor_debug"("PASS  ", "sigil", " at pos=", rx530_pos)
+    .return (rx530_cur)
+  rx530_fail:
 .annotate 'line', 4
-    (rx526_rep, rx526_pos, $I10, $P10) = rx526_cur."!mark_fail"(0)
-    lt rx526_pos, -1, rx526_done
-    eq rx526_pos, -1, rx526_fail
+    (rx530_rep, rx530_pos, $I10, $P10) = rx530_cur."!mark_fail"(0)
+    lt rx530_pos, -1, rx530_done
+    eq rx530_pos, -1, rx530_fail
     jump $I10
-  rx526_done:
-    rx526_cur."!cursor_fail"()
-    rx526_cur."!cursor_debug"("FAIL  ", "twigil")
-    .return (rx526_cur)
+  rx530_done:
+    rx530_cur."!cursor_fail"()
+    rx530_cur."!cursor_debug"("FAIL  ", "sigil")
+    .return (rx530_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__twigil"  :subid("127_1277356913.9538") :method
+.sub "!PREFIX__sigil"  :subid("127_1278500537.15927") :method
 .annotate 'line', 4
-    new $P528, "ResizablePMCArray"
-    push $P528, "?"
-    push $P528, "!"
-    push $P528, "*"
-    .return ($P528)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "package_declarator"  :subid("128_1277356913.9538") :method
-.annotate 'line', 258
-    $P531 = self."!protoregex"("package_declarator")
-    .return ($P531)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator"  :subid("129_1277356913.9538") :method
-.annotate 'line', 258
-    $P533 = self."!PREFIX__!protoregex"("package_declarator")
-    .return ($P533)
+    new $P532, "ResizablePMCArray"
+    push $P532, "&"
+    push $P532, "%"
+    push $P532, "@"
+    push $P532, "$"
+    .return ($P532)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<module>"  :subid("130_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "twigil"  :subid("128_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx535_tgt
     .local int rx535_pos
@@ -6561,7 +6583,7 @@
     .local int rx535_rep
     .local pmc rx535_cur
     (rx535_cur, rx535_pos, rx535_tgt) = self."!cursor_start"()
-    rx535_cur."!cursor_debug"("START ", "package_declarator:sym<module>")
+    rx535_cur."!cursor_debug"("START ", "twigil")
     .lex unicode:"$\x{a2}", rx535_cur
     .local pmc match
     .lex "$/", match
@@ -6573,49 +6595,28 @@
     substr rx535_tgt, rx535_tgt, rx535_off
   rx535_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan539_done
-    goto rxscan539_scan
-  rxscan539_loop:
+    ne $I10, -1, rxscan538_done
+    goto rxscan538_scan
+  rxscan538_loop:
     ($P10) = rx535_cur."from"()
     inc $P10
     set rx535_pos, $P10
-    ge rx535_pos, rx535_eos, rxscan539_done
-  rxscan539_scan:
-    set_addr $I10, rxscan539_loop
+    ge rx535_pos, rx535_eos, rxscan538_done
+  rxscan538_scan:
+    set_addr $I10, rxscan538_loop
     rx535_cur."!mark_push"(0, rx535_pos, $I10)
-  rxscan539_done:
-.annotate 'line', 259
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_540_fail
-    rx535_cur."!mark_push"(0, rx535_pos, $I10)
-  # rx literal  "module"
-    add $I11, rx535_pos, 6
-    gt $I11, rx535_eos, rx535_fail
-    sub $I11, rx535_pos, rx535_off
-    substr $S10, rx535_tgt, $I11, 6
-    ne $S10, "module", rx535_fail
-    add rx535_pos, 6
-    set_addr $I10, rxcap_540_fail
-    ($I12, $I11) = rx535_cur."!mark_peek"($I10)
-    rx535_cur."!cursor_pos"($I11)
-    ($P10) = rx535_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx535_pos, "")
-    rx535_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_540_done
-  rxcap_540_fail:
-    goto rx535_fail
-  rxcap_540_done:
-  # rx subrule "package_def" subtype=capture negate=
-    rx535_cur."!cursor_pos"(rx535_pos)
-    $P10 = rx535_cur."package_def"()
-    unless $P10, rx535_fail
-    rx535_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("package_def")
-    rx535_pos = $P10."pos"()
+  rxscan538_done:
+.annotate 'line', 257
+  # rx enumcharlist negate=0 
+    ge rx535_pos, rx535_eos, rx535_fail
+    sub $I10, rx535_pos, rx535_off
+    substr $S10, rx535_tgt, $I10, 1
+    index $I11, "*!?", $S10
+    lt $I11, 0, rx535_fail
+    inc rx535_pos
   # rx pass
-    rx535_cur."!cursor_pass"(rx535_pos, "package_declarator:sym<module>")
-    rx535_cur."!cursor_debug"("PASS  ", "package_declarator:sym<module>", " at pos=", rx535_pos)
+    rx535_cur."!cursor_pass"(rx535_pos, "twigil")
+    rx535_cur."!cursor_debug"("PASS  ", "twigil", " at pos=", rx535_pos)
     .return (rx535_cur)
   rx535_fail:
 .annotate 'line', 4
@@ -6625,129 +6626,131 @@
     jump $I10
   rx535_done:
     rx535_cur."!cursor_fail"()
-    rx535_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<module>")
+    rx535_cur."!cursor_debug"("FAIL  ", "twigil")
     .return (rx535_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<module>"  :subid("131_1277356913.9538") :method
+.sub "!PREFIX__twigil"  :subid("129_1278500537.15927") :method
 .annotate 'line', 4
-    $P537 = self."!PREFIX__!subrule"("package_def", "module")
-    new $P538, "ResizablePMCArray"
-    push $P538, $P537
-    .return ($P538)
+    new $P537, "ResizablePMCArray"
+    push $P537, "?"
+    push $P537, "!"
+    push $P537, "*"
+    .return ($P537)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "package_declarator"  :subid("130_1278500537.15927") :method
+.annotate 'line', 259
+    $P540 = self."!protoregex"("package_declarator")
+    .return ($P540)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__package_declarator"  :subid("131_1278500537.15927") :method
+.annotate 'line', 259
+    $P542 = self."!PREFIX__!protoregex"("package_declarator")
+    .return ($P542)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<class>"  :subid("132_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 4
-    .local string rx542_tgt
-    .local int rx542_pos
-    .local int rx542_off
-    .local int rx542_eos
-    .local int rx542_rep
-    .local pmc rx542_cur
-    (rx542_cur, rx542_pos, rx542_tgt) = self."!cursor_start"()
-    rx542_cur."!cursor_debug"("START ", "package_declarator:sym<class>")
-    .lex unicode:"$\x{a2}", rx542_cur
-    .local pmc match
-    .lex "$/", match
-    length rx542_eos, rx542_tgt
-    gt rx542_pos, rx542_eos, rx542_done
-    set rx542_off, 0
-    lt rx542_pos, 2, rx542_start
-    sub rx542_off, rx542_pos, 1
-    substr rx542_tgt, rx542_tgt, rx542_off
-  rx542_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan547_done
-    goto rxscan547_scan
-  rxscan547_loop:
-    ($P10) = rx542_cur."from"()
-    inc $P10
-    set rx542_pos, $P10
-    ge rx542_pos, rx542_eos, rxscan547_done
-  rxscan547_scan:
-    set_addr $I10, rxscan547_loop
-    rx542_cur."!mark_push"(0, rx542_pos, $I10)
-  rxscan547_done:
+.sub "package_declarator:sym<module>"  :subid("132_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 4
+    .local string rx544_tgt
+    .local int rx544_pos
+    .local int rx544_off
+    .local int rx544_eos
+    .local int rx544_rep
+    .local pmc rx544_cur
+    (rx544_cur, rx544_pos, rx544_tgt) = self."!cursor_start"()
+    rx544_cur."!cursor_debug"("START ", "package_declarator:sym<module>")
+    .lex unicode:"$\x{a2}", rx544_cur
+    .local pmc match
+    .lex "$/", match
+    length rx544_eos, rx544_tgt
+    gt rx544_pos, rx544_eos, rx544_done
+    set rx544_off, 0
+    lt rx544_pos, 2, rx544_start
+    sub rx544_off, rx544_pos, 1
+    substr rx544_tgt, rx544_tgt, rx544_off
+  rx544_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan548_done
+    goto rxscan548_scan
+  rxscan548_loop:
+    ($P10) = rx544_cur."from"()
+    inc $P10
+    set rx544_pos, $P10
+    ge rx544_pos, rx544_eos, rxscan548_done
+  rxscan548_scan:
+    set_addr $I10, rxscan548_loop
+    rx544_cur."!mark_push"(0, rx544_pos, $I10)
+  rxscan548_done:
 .annotate 'line', 260
   # rx subcapture "sym"
     set_addr $I10, rxcap_549_fail
-    rx542_cur."!mark_push"(0, rx542_pos, $I10)
-  alt548_0:
-    set_addr $I10, alt548_1
-    rx542_cur."!mark_push"(0, rx542_pos, $I10)
-  # rx literal  "class"
-    add $I11, rx542_pos, 5
-    gt $I11, rx542_eos, rx542_fail
-    sub $I11, rx542_pos, rx542_off
-    substr $S10, rx542_tgt, $I11, 5
-    ne $S10, "class", rx542_fail
-    add rx542_pos, 5
-    goto alt548_end
-  alt548_1:
-  # rx literal  "grammar"
-    add $I11, rx542_pos, 7
-    gt $I11, rx542_eos, rx542_fail
-    sub $I11, rx542_pos, rx542_off
-    substr $S10, rx542_tgt, $I11, 7
-    ne $S10, "grammar", rx542_fail
-    add rx542_pos, 7
-  alt548_end:
+    rx544_cur."!mark_push"(0, rx544_pos, $I10)
+  # rx literal  "module"
+    add $I11, rx544_pos, 6
+    gt $I11, rx544_eos, rx544_fail
+    sub $I11, rx544_pos, rx544_off
+    substr $S10, rx544_tgt, $I11, 6
+    ne $S10, "module", rx544_fail
+    add rx544_pos, 6
     set_addr $I10, rxcap_549_fail
-    ($I12, $I11) = rx542_cur."!mark_peek"($I10)
-    rx542_cur."!cursor_pos"($I11)
-    ($P10) = rx542_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx542_pos, "")
-    rx542_cur."!mark_push"(0, -1, 0, $P10)
+    ($I12, $I11) = rx544_cur."!mark_peek"($I10)
+    rx544_cur."!cursor_pos"($I11)
+    ($P10) = rx544_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx544_pos, "")
+    rx544_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
     goto rxcap_549_done
   rxcap_549_fail:
-    goto rx542_fail
+    goto rx544_fail
   rxcap_549_done:
   # rx subrule "package_def" subtype=capture negate=
-    rx542_cur."!cursor_pos"(rx542_pos)
-    $P10 = rx542_cur."package_def"()
-    unless $P10, rx542_fail
-    rx542_cur."!mark_push"(0, -1, 0, $P10)
+    rx544_cur."!cursor_pos"(rx544_pos)
+    $P10 = rx544_cur."package_def"()
+    unless $P10, rx544_fail
+    rx544_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_def")
-    rx542_pos = $P10."pos"()
+    rx544_pos = $P10."pos"()
   # rx pass
-    rx542_cur."!cursor_pass"(rx542_pos, "package_declarator:sym<class>")
-    rx542_cur."!cursor_debug"("PASS  ", "package_declarator:sym<class>", " at pos=", rx542_pos)
-    .return (rx542_cur)
-  rx542_fail:
+    rx544_cur."!cursor_pass"(rx544_pos, "package_declarator:sym<module>")
+    rx544_cur."!cursor_debug"("PASS  ", "package_declarator:sym<module>", " at pos=", rx544_pos)
+    .return (rx544_cur)
+  rx544_fail:
 .annotate 'line', 4
-    (rx542_rep, rx542_pos, $I10, $P10) = rx542_cur."!mark_fail"(0)
-    lt rx542_pos, -1, rx542_done
-    eq rx542_pos, -1, rx542_fail
+    (rx544_rep, rx544_pos, $I10, $P10) = rx544_cur."!mark_fail"(0)
+    lt rx544_pos, -1, rx544_done
+    eq rx544_pos, -1, rx544_fail
     jump $I10
-  rx542_done:
-    rx542_cur."!cursor_fail"()
-    rx542_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<class>")
-    .return (rx542_cur)
+  rx544_done:
+    rx544_cur."!cursor_fail"()
+    rx544_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<module>")
+    .return (rx544_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<class>"  :subid("133_1277356913.9538") :method
+.sub "!PREFIX__package_declarator:sym<module>"  :subid("133_1278500537.15927") :method
 .annotate 'line', 4
-    $P544 = self."!PREFIX__!subrule"("package_def", "grammar")
-    $P545 = self."!PREFIX__!subrule"("package_def", "class")
-    new $P546, "ResizablePMCArray"
-    push $P546, $P544
-    push $P546, $P545
-    .return ($P546)
+    $P546 = self."!PREFIX__!subrule"("package_def", "module")
+    new $P547, "ResizablePMCArray"
+    push $P547, $P546
+    .return ($P547)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_def"  :subid("134_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "package_declarator:sym<class>"  :subid("134_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx551_tgt
     .local int rx551_pos
@@ -6756,8 +6759,7 @@
     .local int rx551_rep
     .local pmc rx551_cur
     (rx551_cur, rx551_pos, rx551_tgt) = self."!cursor_start"()
-    rx551_cur."!cursor_debug"("START ", "package_def")
-    rx551_cur."!cursor_caparray"("parent")
+    rx551_cur."!cursor_debug"("START ", "package_declarator:sym<class>")
     .lex unicode:"$\x{a2}", rx551_cur
     .local pmc match
     .lex "$/", match
@@ -6769,1737 +6771,1743 @@
     substr rx551_tgt, rx551_tgt, rx551_off
   rx551_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan555_done
-    goto rxscan555_scan
-  rxscan555_loop:
+    ne $I10, -1, rxscan556_done
+    goto rxscan556_scan
+  rxscan556_loop:
     ($P10) = rx551_cur."from"()
     inc $P10
     set rx551_pos, $P10
-    ge rx551_pos, rx551_eos, rxscan555_done
-  rxscan555_scan:
-    set_addr $I10, rxscan555_loop
+    ge rx551_pos, rx551_eos, rxscan556_done
+  rxscan556_scan:
+    set_addr $I10, rxscan556_loop
     rx551_cur."!mark_push"(0, rx551_pos, $I10)
-  rxscan555_done:
-.annotate 'line', 262
-  # rx subrule "ws" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."ws"()
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
-.annotate 'line', 263
-  # rx subrule "name" subtype=capture negate=
+  rxscan556_done:
+.annotate 'line', 261
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_558_fail
+    rx551_cur."!mark_push"(0, rx551_pos, $I10)
+  alt557_0:
+    set_addr $I10, alt557_1
+    rx551_cur."!mark_push"(0, rx551_pos, $I10)
+  # rx literal  "class"
+    add $I11, rx551_pos, 5
+    gt $I11, rx551_eos, rx551_fail
+    sub $I11, rx551_pos, rx551_off
+    substr $S10, rx551_tgt, $I11, 5
+    ne $S10, "class", rx551_fail
+    add rx551_pos, 5
+    goto alt557_end
+  alt557_1:
+  # rx literal  "grammar"
+    add $I11, rx551_pos, 7
+    gt $I11, rx551_eos, rx551_fail
+    sub $I11, rx551_pos, rx551_off
+    substr $S10, rx551_tgt, $I11, 7
+    ne $S10, "grammar", rx551_fail
+    add rx551_pos, 7
+  alt557_end:
+    set_addr $I10, rxcap_558_fail
+    ($I12, $I11) = rx551_cur."!mark_peek"($I10)
+    rx551_cur."!cursor_pos"($I11)
+    ($P10) = rx551_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx551_pos, "")
+    rx551_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_558_done
+  rxcap_558_fail:
+    goto rx551_fail
+  rxcap_558_done:
+  # rx subrule "package_def" subtype=capture negate=
     rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."name"()
+    $P10 = rx551_cur."package_def"()
     unless $P10, rx551_fail
     rx551_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("name")
+    $P10."!cursor_names"("package_def")
     rx551_pos = $P10."pos"()
+  # rx pass
+    rx551_cur."!cursor_pass"(rx551_pos, "package_declarator:sym<class>")
+    rx551_cur."!cursor_debug"("PASS  ", "package_declarator:sym<class>", " at pos=", rx551_pos)
+    .return (rx551_cur)
+  rx551_fail:
+.annotate 'line', 4
+    (rx551_rep, rx551_pos, $I10, $P10) = rx551_cur."!mark_fail"(0)
+    lt rx551_pos, -1, rx551_done
+    eq rx551_pos, -1, rx551_fail
+    jump $I10
+  rx551_done:
+    rx551_cur."!cursor_fail"()
+    rx551_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<class>")
+    .return (rx551_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__package_declarator:sym<class>"  :subid("135_1278500537.15927") :method
+.annotate 'line', 4
+    $P553 = self."!PREFIX__!subrule"("package_def", "grammar")
+    $P554 = self."!PREFIX__!subrule"("package_def", "class")
+    new $P555, "ResizablePMCArray"
+    push $P555, $P553
+    push $P555, $P554
+    .return ($P555)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "package_def"  :subid("136_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 4
+    .local string rx560_tgt
+    .local int rx560_pos
+    .local int rx560_off
+    .local int rx560_eos
+    .local int rx560_rep
+    .local pmc rx560_cur
+    (rx560_cur, rx560_pos, rx560_tgt) = self."!cursor_start"()
+    rx560_cur."!cursor_debug"("START ", "package_def")
+    rx560_cur."!cursor_caparray"("parent")
+    .lex unicode:"$\x{a2}", rx560_cur
+    .local pmc match
+    .lex "$/", match
+    length rx560_eos, rx560_tgt
+    gt rx560_pos, rx560_eos, rx560_done
+    set rx560_off, 0
+    lt rx560_pos, 2, rx560_start
+    sub rx560_off, rx560_pos, 1
+    substr rx560_tgt, rx560_tgt, rx560_off
+  rx560_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan564_done
+    goto rxscan564_scan
+  rxscan564_loop:
+    ($P10) = rx560_cur."from"()
+    inc $P10
+    set rx560_pos, $P10
+    ge rx560_pos, rx560_eos, rxscan564_done
+  rxscan564_scan:
+    set_addr $I10, rxscan564_loop
+    rx560_cur."!mark_push"(0, rx560_pos, $I10)
+  rxscan564_done:
+.annotate 'line', 263
   # rx subrule "ws" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."ws"()
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
 .annotate 'line', 264
-  # rx rxquantr558 ** 0..1
-    set_addr $I562, rxquantr558_done
-    rx551_cur."!mark_push"(0, rx551_pos, $I562)
-  rxquantr558_loop:
+  # rx subrule "name" subtype=capture negate=
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."name"()
+    unless $P10, rx560_fail
+    rx560_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("name")
+    rx560_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."ws"()
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
+.annotate 'line', 265
+  # rx rxquantr567 ** 0..1
+    set_addr $I571, rxquantr567_done
+    rx560_cur."!mark_push"(0, rx560_pos, $I571)
+  rxquantr567_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
   # rx literal  "is"
-    add $I11, rx551_pos, 2
-    gt $I11, rx551_eos, rx551_fail
-    sub $I11, rx551_pos, rx551_off
-    substr $S10, rx551_tgt, $I11, 2
-    ne $S10, "is", rx551_fail
-    add rx551_pos, 2
-  # rx subrule "ws" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."ws"()
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
+    add $I11, rx560_pos, 2
+    gt $I11, rx560_eos, rx560_fail
+    sub $I11, rx560_pos, rx560_off
+    substr $S10, rx560_tgt, $I11, 2
+    ne $S10, "is", rx560_fail
+    add rx560_pos, 2
+  # rx subrule "ws" subtype=method negate=
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
   # rx subrule "name" subtype=capture negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."name"()
-    unless $P10, rx551_fail
-    rx551_cur."!mark_push"(0, -1, 0, $P10)
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."name"()
+    unless $P10, rx560_fail
+    rx560_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("parent")
-    rx551_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."ws"()
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
-    (rx551_rep) = rx551_cur."!mark_commit"($I562)
-  rxquantr558_done:
+    rx560_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."ws"()
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
-  alt564_0:
-.annotate 'line', 265
-    set_addr $I10, alt564_1
-    rx551_cur."!mark_push"(0, rx551_pos, $I10)
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
+    (rx560_rep) = rx560_cur."!mark_commit"($I571)
+  rxquantr567_done:
+  # rx subrule "ws" subtype=method negate=
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
+  alt573_0:
 .annotate 'line', 266
+    set_addr $I10, alt573_1
+    rx560_cur."!mark_push"(0, rx560_pos, $I10)
+.annotate 'line', 267
   # rx subrule "ws" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."ws"()
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
   # rx literal  ";"
-    add $I11, rx551_pos, 1
-    gt $I11, rx551_eos, rx551_fail
-    sub $I11, rx551_pos, rx551_off
-    substr $S10, rx551_tgt, $I11, 1
-    ne $S10, ";", rx551_fail
-    add rx551_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."ws"()
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
+    add $I11, rx560_pos, 1
+    gt $I11, rx560_eos, rx560_fail
+    sub $I11, rx560_pos, rx560_off
+    substr $S10, rx560_tgt, $I11, 1
+    ne $S10, ";", rx560_fail
+    add rx560_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
   # rx subrule "comp_unit" subtype=capture negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."comp_unit"()
-    unless $P10, rx551_fail
-    rx551_cur."!mark_push"(0, -1, 0, $P10)
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."comp_unit"()
+    unless $P10, rx560_fail
+    rx560_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("comp_unit")
-    rx551_pos = $P10."pos"()
+    rx560_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."ws"()
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
-    goto alt564_end
-  alt564_1:
-    set_addr $I10, alt564_2
-    rx551_cur."!mark_push"(0, rx551_pos, $I10)
-.annotate 'line', 267
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
+    goto alt573_end
+  alt573_1:
+    set_addr $I10, alt573_2
+    rx560_cur."!mark_push"(0, rx560_pos, $I10)
+.annotate 'line', 268
   # rx subrule "ws" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."ws"()
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx551_pos, rx551_eos, rx551_fail
-    sub $I10, rx551_pos, rx551_off
-    substr $S10, rx551_tgt, $I10, 1
+    ge rx560_pos, rx560_eos, rx560_fail
+    sub $I10, rx560_pos, rx560_off
+    substr $S10, rx560_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx551_fail
+    lt $I11, 0, rx560_fail
   # rx subrule "ws" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."ws"()
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
   # rx subrule "block" subtype=capture negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."block"()
-    unless $P10, rx551_fail
-    rx551_cur."!mark_push"(0, -1, 0, $P10)
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."block"()
+    unless $P10, rx560_fail
+    rx560_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx551_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."ws"()
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
-    goto alt564_end
-  alt564_2:
-.annotate 'line', 268
-  # rx subrule "ws" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."ws"()
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
-  # rx subrule "panic" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."panic"("Malformed package declaration")
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
+    rx560_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."ws"()
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
-  alt564_end:
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
+    goto alt573_end
+  alt573_2:
 .annotate 'line', 269
   # rx subrule "ws" subtype=method negate=
-    rx551_cur."!cursor_pos"(rx551_pos)
-    $P10 = rx551_cur."ws"()
-    unless $P10, rx551_fail
-    rx551_pos = $P10."pos"()
-.annotate 'line', 262
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
+  # rx subrule "panic" subtype=method negate=
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."panic"("Malformed package declaration")
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
+  alt573_end:
+.annotate 'line', 270
+  # rx subrule "ws" subtype=method negate=
+    rx560_cur."!cursor_pos"(rx560_pos)
+    $P10 = rx560_cur."ws"()
+    unless $P10, rx560_fail
+    rx560_pos = $P10."pos"()
+.annotate 'line', 263
   # rx pass
-    rx551_cur."!cursor_pass"(rx551_pos, "package_def")
-    rx551_cur."!cursor_debug"("PASS  ", "package_def", " at pos=", rx551_pos)
-    .return (rx551_cur)
-  rx551_fail:
+    rx560_cur."!cursor_pass"(rx560_pos, "package_def")
+    rx560_cur."!cursor_debug"("PASS  ", "package_def", " at pos=", rx560_pos)
+    .return (rx560_cur)
+  rx560_fail:
 .annotate 'line', 4
-    (rx551_rep, rx551_pos, $I10, $P10) = rx551_cur."!mark_fail"(0)
-    lt rx551_pos, -1, rx551_done
-    eq rx551_pos, -1, rx551_fail
+    (rx560_rep, rx560_pos, $I10, $P10) = rx560_cur."!mark_fail"(0)
+    lt rx560_pos, -1, rx560_done
+    eq rx560_pos, -1, rx560_fail
     jump $I10
-  rx551_done:
-    rx551_cur."!cursor_fail"()
-    rx551_cur."!cursor_debug"("FAIL  ", "package_def")
-    .return (rx551_cur)
+  rx560_done:
+    rx560_cur."!cursor_fail"()
+    rx560_cur."!cursor_debug"("FAIL  ", "package_def")
+    .return (rx560_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_def"  :subid("135_1277356913.9538") :method
+.sub "!PREFIX__package_def"  :subid("137_1278500537.15927") :method
 .annotate 'line', 4
-    $P553 = self."!PREFIX__!subrule"("ws", "")
-    new $P554, "ResizablePMCArray"
-    push $P554, $P553
-    .return ($P554)
+    $P562 = self."!PREFIX__!subrule"("ws", "")
+    new $P563, "ResizablePMCArray"
+    push $P563, $P562
+    .return ($P563)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator"  :subid("136_1277356913.9538") :method
-.annotate 'line', 272
-    $P575 = self."!protoregex"("scope_declarator")
-    .return ($P575)
+.sub "scope_declarator"  :subid("138_1278500537.15927") :method
+.annotate 'line', 273
+    $P584 = self."!protoregex"("scope_declarator")
+    .return ($P584)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator"  :subid("137_1277356913.9538") :method
-.annotate 'line', 272
-    $P577 = self."!PREFIX__!protoregex"("scope_declarator")
-    .return ($P577)
+.sub "!PREFIX__scope_declarator"  :subid("139_1278500537.15927") :method
+.annotate 'line', 273
+    $P586 = self."!PREFIX__!protoregex"("scope_declarator")
+    .return ($P586)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<my>"  :subid("138_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "scope_declarator:sym<my>"  :subid("140_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx579_tgt
-    .local int rx579_pos
-    .local int rx579_off
-    .local int rx579_eos
-    .local int rx579_rep
-    .local pmc rx579_cur
-    (rx579_cur, rx579_pos, rx579_tgt) = self."!cursor_start"()
-    rx579_cur."!cursor_debug"("START ", "scope_declarator:sym<my>")
-    .lex unicode:"$\x{a2}", rx579_cur
-    .local pmc match
-    .lex "$/", match
-    length rx579_eos, rx579_tgt
-    gt rx579_pos, rx579_eos, rx579_done
-    set rx579_off, 0
-    lt rx579_pos, 2, rx579_start
-    sub rx579_off, rx579_pos, 1
-    substr rx579_tgt, rx579_tgt, rx579_off
-  rx579_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan583_done
-    goto rxscan583_scan
-  rxscan583_loop:
-    ($P10) = rx579_cur."from"()
-    inc $P10
-    set rx579_pos, $P10
-    ge rx579_pos, rx579_eos, rxscan583_done
-  rxscan583_scan:
-    set_addr $I10, rxscan583_loop
-    rx579_cur."!mark_push"(0, rx579_pos, $I10)
-  rxscan583_done:
-.annotate 'line', 273
+    .local string rx588_tgt
+    .local int rx588_pos
+    .local int rx588_off
+    .local int rx588_eos
+    .local int rx588_rep
+    .local pmc rx588_cur
+    (rx588_cur, rx588_pos, rx588_tgt) = self."!cursor_start"()
+    rx588_cur."!cursor_debug"("START ", "scope_declarator:sym<my>")
+    .lex unicode:"$\x{a2}", rx588_cur
+    .local pmc match
+    .lex "$/", match
+    length rx588_eos, rx588_tgt
+    gt rx588_pos, rx588_eos, rx588_done
+    set rx588_off, 0
+    lt rx588_pos, 2, rx588_start
+    sub rx588_off, rx588_pos, 1
+    substr rx588_tgt, rx588_tgt, rx588_off
+  rx588_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan592_done
+    goto rxscan592_scan
+  rxscan592_loop:
+    ($P10) = rx588_cur."from"()
+    inc $P10
+    set rx588_pos, $P10
+    ge rx588_pos, rx588_eos, rxscan592_done
+  rxscan592_scan:
+    set_addr $I10, rxscan592_loop
+    rx588_cur."!mark_push"(0, rx588_pos, $I10)
+  rxscan592_done:
+.annotate 'line', 274
   # rx subcapture "sym"
-    set_addr $I10, rxcap_584_fail
-    rx579_cur."!mark_push"(0, rx579_pos, $I10)
+    set_addr $I10, rxcap_593_fail
+    rx588_cur."!mark_push"(0, rx588_pos, $I10)
   # rx literal  "my"
-    add $I11, rx579_pos, 2
-    gt $I11, rx579_eos, rx579_fail
-    sub $I11, rx579_pos, rx579_off
-    substr $S10, rx579_tgt, $I11, 2
-    ne $S10, "my", rx579_fail
-    add rx579_pos, 2
-    set_addr $I10, rxcap_584_fail
-    ($I12, $I11) = rx579_cur."!mark_peek"($I10)
-    rx579_cur."!cursor_pos"($I11)
-    ($P10) = rx579_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx579_pos, "")
-    rx579_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx588_pos, 2
+    gt $I11, rx588_eos, rx588_fail
+    sub $I11, rx588_pos, rx588_off
+    substr $S10, rx588_tgt, $I11, 2
+    ne $S10, "my", rx588_fail
+    add rx588_pos, 2
+    set_addr $I10, rxcap_593_fail
+    ($I12, $I11) = rx588_cur."!mark_peek"($I10)
+    rx588_cur."!cursor_pos"($I11)
+    ($P10) = rx588_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx588_pos, "")
+    rx588_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_584_done
-  rxcap_584_fail:
-    goto rx579_fail
-  rxcap_584_done:
+    goto rxcap_593_done
+  rxcap_593_fail:
+    goto rx588_fail
+  rxcap_593_done:
   # rx subrule "scoped" subtype=capture negate=
-    rx579_cur."!cursor_pos"(rx579_pos)
-    $P10 = rx579_cur."scoped"("my")
-    unless $P10, rx579_fail
-    rx579_cur."!mark_push"(0, -1, 0, $P10)
+    rx588_cur."!cursor_pos"(rx588_pos)
+    $P10 = rx588_cur."scoped"("my")
+    unless $P10, rx588_fail
+    rx588_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
-    rx579_pos = $P10."pos"()
+    rx588_pos = $P10."pos"()
   # rx pass
-    rx579_cur."!cursor_pass"(rx579_pos, "scope_declarator:sym<my>")
-    rx579_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<my>", " at pos=", rx579_pos)
-    .return (rx579_cur)
-  rx579_fail:
+    rx588_cur."!cursor_pass"(rx588_pos, "scope_declarator:sym<my>")
+    rx588_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<my>", " at pos=", rx588_pos)
+    .return (rx588_cur)
+  rx588_fail:
 .annotate 'line', 4
-    (rx579_rep, rx579_pos, $I10, $P10) = rx579_cur."!mark_fail"(0)
-    lt rx579_pos, -1, rx579_done
-    eq rx579_pos, -1, rx579_fail
+    (rx588_rep, rx588_pos, $I10, $P10) = rx588_cur."!mark_fail"(0)
+    lt rx588_pos, -1, rx588_done
+    eq rx588_pos, -1, rx588_fail
     jump $I10
-  rx579_done:
-    rx579_cur."!cursor_fail"()
-    rx579_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<my>")
-    .return (rx579_cur)
+  rx588_done:
+    rx588_cur."!cursor_fail"()
+    rx588_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<my>")
+    .return (rx588_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<my>"  :subid("139_1277356913.9538") :method
+.sub "!PREFIX__scope_declarator:sym<my>"  :subid("141_1278500537.15927") :method
 .annotate 'line', 4
-    $P581 = self."!PREFIX__!subrule"("scoped", "my")
-    new $P582, "ResizablePMCArray"
-    push $P582, $P581
-    .return ($P582)
+    $P590 = self."!PREFIX__!subrule"("scoped", "my")
+    new $P591, "ResizablePMCArray"
+    push $P591, $P590
+    .return ($P591)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<our>"  :subid("140_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "scope_declarator:sym<our>"  :subid("142_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx586_tgt
-    .local int rx586_pos
-    .local int rx586_off
-    .local int rx586_eos
-    .local int rx586_rep
-    .local pmc rx586_cur
-    (rx586_cur, rx586_pos, rx586_tgt) = self."!cursor_start"()
-    rx586_cur."!cursor_debug"("START ", "scope_declarator:sym<our>")
-    .lex unicode:"$\x{a2}", rx586_cur
+    .local string rx595_tgt
+    .local int rx595_pos
+    .local int rx595_off
+    .local int rx595_eos
+    .local int rx595_rep
+    .local pmc rx595_cur
+    (rx595_cur, rx595_pos, rx595_tgt) = self."!cursor_start"()
+    rx595_cur."!cursor_debug"("START ", "scope_declarator:sym<our>")
+    .lex unicode:"$\x{a2}", rx595_cur
     .local pmc match
     .lex "$/", match
-    length rx586_eos, rx586_tgt
-    gt rx586_pos, rx586_eos, rx586_done
-    set rx586_off, 0
-    lt rx586_pos, 2, rx586_start
-    sub rx586_off, rx586_pos, 1
-    substr rx586_tgt, rx586_tgt, rx586_off
-  rx586_start:
+    length rx595_eos, rx595_tgt
+    gt rx595_pos, rx595_eos, rx595_done
+    set rx595_off, 0
+    lt rx595_pos, 2, rx595_start
+    sub rx595_off, rx595_pos, 1
+    substr rx595_tgt, rx595_tgt, rx595_off
+  rx595_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan590_done
-    goto rxscan590_scan
-  rxscan590_loop:
-    ($P10) = rx586_cur."from"()
+    ne $I10, -1, rxscan599_done
+    goto rxscan599_scan
+  rxscan599_loop:
+    ($P10) = rx595_cur."from"()
     inc $P10
-    set rx586_pos, $P10
-    ge rx586_pos, rx586_eos, rxscan590_done
-  rxscan590_scan:
-    set_addr $I10, rxscan590_loop
-    rx586_cur."!mark_push"(0, rx586_pos, $I10)
-  rxscan590_done:
-.annotate 'line', 274
+    set rx595_pos, $P10
+    ge rx595_pos, rx595_eos, rxscan599_done
+  rxscan599_scan:
+    set_addr $I10, rxscan599_loop
+    rx595_cur."!mark_push"(0, rx595_pos, $I10)
+  rxscan599_done:
+.annotate 'line', 275
   # rx subcapture "sym"
-    set_addr $I10, rxcap_591_fail
-    rx586_cur."!mark_push"(0, rx586_pos, $I10)
+    set_addr $I10, rxcap_600_fail
+    rx595_cur."!mark_push"(0, rx595_pos, $I10)
   # rx literal  "our"
-    add $I11, rx586_pos, 3
-    gt $I11, rx586_eos, rx586_fail
-    sub $I11, rx586_pos, rx586_off
-    substr $S10, rx586_tgt, $I11, 3
-    ne $S10, "our", rx586_fail
-    add rx586_pos, 3
-    set_addr $I10, rxcap_591_fail
-    ($I12, $I11) = rx586_cur."!mark_peek"($I10)
-    rx586_cur."!cursor_pos"($I11)
-    ($P10) = rx586_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx586_pos, "")
-    rx586_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx595_pos, 3
+    gt $I11, rx595_eos, rx595_fail
+    sub $I11, rx595_pos, rx595_off
+    substr $S10, rx595_tgt, $I11, 3
+    ne $S10, "our", rx595_fail
+    add rx595_pos, 3
+    set_addr $I10, rxcap_600_fail
+    ($I12, $I11) = rx595_cur."!mark_peek"($I10)
+    rx595_cur."!cursor_pos"($I11)
+    ($P10) = rx595_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx595_pos, "")
+    rx595_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_591_done
-  rxcap_591_fail:
-    goto rx586_fail
-  rxcap_591_done:
+    goto rxcap_600_done
+  rxcap_600_fail:
+    goto rx595_fail
+  rxcap_600_done:
   # rx subrule "scoped" subtype=capture negate=
-    rx586_cur."!cursor_pos"(rx586_pos)
-    $P10 = rx586_cur."scoped"("our")
-    unless $P10, rx586_fail
-    rx586_cur."!mark_push"(0, -1, 0, $P10)
+    rx595_cur."!cursor_pos"(rx595_pos)
+    $P10 = rx595_cur."scoped"("our")
+    unless $P10, rx595_fail
+    rx595_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
-    rx586_pos = $P10."pos"()
+    rx595_pos = $P10."pos"()
   # rx pass
-    rx586_cur."!cursor_pass"(rx586_pos, "scope_declarator:sym<our>")
-    rx586_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<our>", " at pos=", rx586_pos)
-    .return (rx586_cur)
-  rx586_fail:
+    rx595_cur."!cursor_pass"(rx595_pos, "scope_declarator:sym<our>")
+    rx595_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<our>", " at pos=", rx595_pos)
+    .return (rx595_cur)
+  rx595_fail:
 .annotate 'line', 4
-    (rx586_rep, rx586_pos, $I10, $P10) = rx586_cur."!mark_fail"(0)
-    lt rx586_pos, -1, rx586_done
-    eq rx586_pos, -1, rx586_fail
+    (rx595_rep, rx595_pos, $I10, $P10) = rx595_cur."!mark_fail"(0)
+    lt rx595_pos, -1, rx595_done
+    eq rx595_pos, -1, rx595_fail
     jump $I10
-  rx586_done:
-    rx586_cur."!cursor_fail"()
-    rx586_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<our>")
-    .return (rx586_cur)
+  rx595_done:
+    rx595_cur."!cursor_fail"()
+    rx595_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<our>")
+    .return (rx595_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<our>"  :subid("141_1277356913.9538") :method
+.sub "!PREFIX__scope_declarator:sym<our>"  :subid("143_1278500537.15927") :method
 .annotate 'line', 4
-    $P588 = self."!PREFIX__!subrule"("scoped", "our")
-    new $P589, "ResizablePMCArray"
-    push $P589, $P588
-    .return ($P589)
+    $P597 = self."!PREFIX__!subrule"("scoped", "our")
+    new $P598, "ResizablePMCArray"
+    push $P598, $P597
+    .return ($P598)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<has>"  :subid("142_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "scope_declarator:sym<has>"  :subid("144_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx593_tgt
-    .local int rx593_pos
-    .local int rx593_off
-    .local int rx593_eos
-    .local int rx593_rep
-    .local pmc rx593_cur
-    (rx593_cur, rx593_pos, rx593_tgt) = self."!cursor_start"()
-    rx593_cur."!cursor_debug"("START ", "scope_declarator:sym<has>")
-    .lex unicode:"$\x{a2}", rx593_cur
+    .local string rx602_tgt
+    .local int rx602_pos
+    .local int rx602_off
+    .local int rx602_eos
+    .local int rx602_rep
+    .local pmc rx602_cur
+    (rx602_cur, rx602_pos, rx602_tgt) = self."!cursor_start"()
+    rx602_cur."!cursor_debug"("START ", "scope_declarator:sym<has>")
+    .lex unicode:"$\x{a2}", rx602_cur
     .local pmc match
     .lex "$/", match
-    length rx593_eos, rx593_tgt
-    gt rx593_pos, rx593_eos, rx593_done
-    set rx593_off, 0
-    lt rx593_pos, 2, rx593_start
-    sub rx593_off, rx593_pos, 1
-    substr rx593_tgt, rx593_tgt, rx593_off
-  rx593_start:
+    length rx602_eos, rx602_tgt
+    gt rx602_pos, rx602_eos, rx602_done
+    set rx602_off, 0
+    lt rx602_pos, 2, rx602_start
+    sub rx602_off, rx602_pos, 1
+    substr rx602_tgt, rx602_tgt, rx602_off
+  rx602_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan597_done
-    goto rxscan597_scan
-  rxscan597_loop:
-    ($P10) = rx593_cur."from"()
+    ne $I10, -1, rxscan606_done
+    goto rxscan606_scan
+  rxscan606_loop:
+    ($P10) = rx602_cur."from"()
     inc $P10
-    set rx593_pos, $P10
-    ge rx593_pos, rx593_eos, rxscan597_done
-  rxscan597_scan:
-    set_addr $I10, rxscan597_loop
-    rx593_cur."!mark_push"(0, rx593_pos, $I10)
-  rxscan597_done:
-.annotate 'line', 275
+    set rx602_pos, $P10
+    ge rx602_pos, rx602_eos, rxscan606_done
+  rxscan606_scan:
+    set_addr $I10, rxscan606_loop
+    rx602_cur."!mark_push"(0, rx602_pos, $I10)
+  rxscan606_done:
+.annotate 'line', 276
   # rx subcapture "sym"
-    set_addr $I10, rxcap_598_fail
-    rx593_cur."!mark_push"(0, rx593_pos, $I10)
+    set_addr $I10, rxcap_607_fail
+    rx602_cur."!mark_push"(0, rx602_pos, $I10)
   # rx literal  "has"
-    add $I11, rx593_pos, 3
-    gt $I11, rx593_eos, rx593_fail
-    sub $I11, rx593_pos, rx593_off
-    substr $S10, rx593_tgt, $I11, 3
-    ne $S10, "has", rx593_fail
-    add rx593_pos, 3
-    set_addr $I10, rxcap_598_fail
-    ($I12, $I11) = rx593_cur."!mark_peek"($I10)
-    rx593_cur."!cursor_pos"($I11)
-    ($P10) = rx593_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx593_pos, "")
-    rx593_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx602_pos, 3
+    gt $I11, rx602_eos, rx602_fail
+    sub $I11, rx602_pos, rx602_off
+    substr $S10, rx602_tgt, $I11, 3
+    ne $S10, "has", rx602_fail
+    add rx602_pos, 3
+    set_addr $I10, rxcap_607_fail
+    ($I12, $I11) = rx602_cur."!mark_peek"($I10)
+    rx602_cur."!cursor_pos"($I11)
+    ($P10) = rx602_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx602_pos, "")
+    rx602_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_598_done
-  rxcap_598_fail:
-    goto rx593_fail
-  rxcap_598_done:
+    goto rxcap_607_done
+  rxcap_607_fail:
+    goto rx602_fail
+  rxcap_607_done:
   # rx subrule "scoped" subtype=capture negate=
-    rx593_cur."!cursor_pos"(rx593_pos)
-    $P10 = rx593_cur."scoped"("has")
-    unless $P10, rx593_fail
-    rx593_cur."!mark_push"(0, -1, 0, $P10)
+    rx602_cur."!cursor_pos"(rx602_pos)
+    $P10 = rx602_cur."scoped"("has")
+    unless $P10, rx602_fail
+    rx602_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
-    rx593_pos = $P10."pos"()
+    rx602_pos = $P10."pos"()
   # rx pass
-    rx593_cur."!cursor_pass"(rx593_pos, "scope_declarator:sym<has>")
-    rx593_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<has>", " at pos=", rx593_pos)
-    .return (rx593_cur)
-  rx593_fail:
+    rx602_cur."!cursor_pass"(rx602_pos, "scope_declarator:sym<has>")
+    rx602_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<has>", " at pos=", rx602_pos)
+    .return (rx602_cur)
+  rx602_fail:
 .annotate 'line', 4
-    (rx593_rep, rx593_pos, $I10, $P10) = rx593_cur."!mark_fail"(0)
-    lt rx593_pos, -1, rx593_done
-    eq rx593_pos, -1, rx593_fail
+    (rx602_rep, rx602_pos, $I10, $P10) = rx602_cur."!mark_fail"(0)
+    lt rx602_pos, -1, rx602_done
+    eq rx602_pos, -1, rx602_fail
     jump $I10
-  rx593_done:
-    rx593_cur."!cursor_fail"()
-    rx593_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<has>")
-    .return (rx593_cur)
+  rx602_done:
+    rx602_cur."!cursor_fail"()
+    rx602_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<has>")
+    .return (rx602_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<has>"  :subid("143_1277356913.9538") :method
+.sub "!PREFIX__scope_declarator:sym<has>"  :subid("145_1278500537.15927") :method
 .annotate 'line', 4
-    $P595 = self."!PREFIX__!subrule"("scoped", "has")
-    new $P596, "ResizablePMCArray"
-    push $P596, $P595
-    .return ($P596)
+    $P604 = self."!PREFIX__!subrule"("scoped", "has")
+    new $P605, "ResizablePMCArray"
+    push $P605, $P604
+    .return ($P605)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scoped"  :subid("144_1277356913.9538") :method :outer("11_1277356913.9538")
-    .param pmc param_600
-.annotate 'line', 277
-    .lex "$*SCOPE", param_600
+.sub "scoped"  :subid("146_1278500537.15927") :method :outer("11_1278500537.15927")
+    .param pmc param_609
+.annotate 'line', 278
+    .lex "$*SCOPE", param_609
 .annotate 'line', 4
-    .local string rx601_tgt
-    .local int rx601_pos
-    .local int rx601_off
-    .local int rx601_eos
-    .local int rx601_rep
-    .local pmc rx601_cur
-    (rx601_cur, rx601_pos, rx601_tgt) = self."!cursor_start"()
-    rx601_cur."!cursor_debug"("START ", "scoped")
-    .lex unicode:"$\x{a2}", rx601_cur
-    .local pmc match
-    .lex "$/", match
-    length rx601_eos, rx601_tgt
-    gt rx601_pos, rx601_eos, rx601_done
-    set rx601_off, 0
-    lt rx601_pos, 2, rx601_start
-    sub rx601_off, rx601_pos, 1
-    substr rx601_tgt, rx601_tgt, rx601_off
-  rx601_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan606_done
-    goto rxscan606_scan
-  rxscan606_loop:
-    ($P10) = rx601_cur."from"()
-    inc $P10
-    set rx601_pos, $P10
-    ge rx601_pos, rx601_eos, rxscan606_done
-  rxscan606_scan:
-    set_addr $I10, rxscan606_loop
-    rx601_cur."!mark_push"(0, rx601_pos, $I10)
-  rxscan606_done:
-  alt607_0:
-.annotate 'line', 277
-    set_addr $I10, alt607_1
-    rx601_cur."!mark_push"(0, rx601_pos, $I10)
+    .local string rx610_tgt
+    .local int rx610_pos
+    .local int rx610_off
+    .local int rx610_eos
+    .local int rx610_rep
+    .local pmc rx610_cur
+    (rx610_cur, rx610_pos, rx610_tgt) = self."!cursor_start"()
+    rx610_cur."!cursor_debug"("START ", "scoped")
+    .lex unicode:"$\x{a2}", rx610_cur
+    .local pmc match
+    .lex "$/", match
+    length rx610_eos, rx610_tgt
+    gt rx610_pos, rx610_eos, rx610_done
+    set rx610_off, 0
+    lt rx610_pos, 2, rx610_start
+    sub rx610_off, rx610_pos, 1
+    substr rx610_tgt, rx610_tgt, rx610_off
+  rx610_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan615_done
+    goto rxscan615_scan
+  rxscan615_loop:
+    ($P10) = rx610_cur."from"()
+    inc $P10
+    set rx610_pos, $P10
+    ge rx610_pos, rx610_eos, rxscan615_done
+  rxscan615_scan:
+    set_addr $I10, rxscan615_loop
+    rx610_cur."!mark_push"(0, rx610_pos, $I10)
+  rxscan615_done:
+  alt616_0:
 .annotate 'line', 278
+    set_addr $I10, alt616_1
+    rx610_cur."!mark_push"(0, rx610_pos, $I10)
+.annotate 'line', 279
   # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
+    rx610_cur."!cursor_pos"(rx610_pos)
+    $P10 = rx610_cur."ws"()
+    unless $P10, rx610_fail
+    rx610_pos = $P10."pos"()
   # rx subrule "declarator" subtype=capture negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."declarator"()
-    unless $P10, rx601_fail
-    rx601_cur."!mark_push"(0, -1, 0, $P10)
+    rx610_cur."!cursor_pos"(rx610_pos)
+    $P10 = rx610_cur."declarator"()
+    unless $P10, rx610_fail
+    rx610_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("declarator")
-    rx601_pos = $P10."pos"()
+    rx610_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
-    goto alt607_end
-  alt607_1:
-.annotate 'line', 279
+    rx610_cur."!cursor_pos"(rx610_pos)
+    $P10 = rx610_cur."ws"()
+    unless $P10, rx610_fail
+    rx610_pos = $P10."pos"()
+    goto alt616_end
+  alt616_1:
+.annotate 'line', 280
   # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
+    rx610_cur."!cursor_pos"(rx610_pos)
+    $P10 = rx610_cur."ws"()
+    unless $P10, rx610_fail
+    rx610_pos = $P10."pos"()
   # rx subrule "multi_declarator" subtype=capture negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."multi_declarator"()
-    unless $P10, rx601_fail
-    rx601_cur."!mark_push"(0, -1, 0, $P10)
+    rx610_cur."!cursor_pos"(rx610_pos)
+    $P10 = rx610_cur."multi_declarator"()
+    unless $P10, rx610_fail
+    rx610_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("multi_declarator")
-    rx601_pos = $P10."pos"()
+    rx610_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx601_cur."!cursor_pos"(rx601_pos)
-    $P10 = rx601_cur."ws"()
-    unless $P10, rx601_fail
-    rx601_pos = $P10."pos"()
-  alt607_end:
-.annotate 'line', 277
+    rx610_cur."!cursor_pos"(rx610_pos)
+    $P10 = rx610_cur."ws"()
+    unless $P10, rx610_fail
+    rx610_pos = $P10."pos"()
+  alt616_end:
+.annotate 'line', 278
   # rx pass
-    rx601_cur."!cursor_pass"(rx601_pos, "scoped")
-    rx601_cur."!cursor_debug"("PASS  ", "scoped", " at pos=", rx601_pos)
-    .return (rx601_cur)
-  rx601_fail:
+    rx610_cur."!cursor_pass"(rx610_pos, "scoped")
+    rx610_cur."!cursor_debug"("PASS  ", "scoped", " at pos=", rx610_pos)
+    .return (rx610_cur)
+  rx610_fail:
 .annotate 'line', 4
-    (rx601_rep, rx601_pos, $I10, $P10) = rx601_cur."!mark_fail"(0)
-    lt rx601_pos, -1, rx601_done
-    eq rx601_pos, -1, rx601_fail
+    (rx610_rep, rx610_pos, $I10, $P10) = rx610_cur."!mark_fail"(0)
+    lt rx610_pos, -1, rx610_done
+    eq rx610_pos, -1, rx610_fail
     jump $I10
-  rx601_done:
-    rx601_cur."!cursor_fail"()
-    rx601_cur."!cursor_debug"("FAIL  ", "scoped")
-    .return (rx601_cur)
+  rx610_done:
+    rx610_cur."!cursor_fail"()
+    rx610_cur."!cursor_debug"("FAIL  ", "scoped")
+    .return (rx610_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scoped"  :subid("145_1277356913.9538") :method
+.sub "!PREFIX__scoped"  :subid("147_1278500537.15927") :method
 .annotate 'line', 4
-    $P603 = self."!PREFIX__!subrule"("ws", "")
-    $P604 = self."!PREFIX__!subrule"("ws", "")
-    new $P605, "ResizablePMCArray"
-    push $P605, $P603
-    push $P605, $P604
-    .return ($P605)
+    $P612 = self."!PREFIX__!subrule"("ws", "")
+    $P613 = self."!PREFIX__!subrule"("ws", "")
+    new $P614, "ResizablePMCArray"
+    push $P614, $P612
+    push $P614, $P613
+    .return ($P614)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "typename"  :subid("146_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "typename"  :subid("148_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx613_tgt
-    .local int rx613_pos
-    .local int rx613_off
-    .local int rx613_eos
-    .local int rx613_rep
-    .local pmc rx613_cur
-    (rx613_cur, rx613_pos, rx613_tgt) = self."!cursor_start"()
-    rx613_cur."!cursor_debug"("START ", "typename")
-    .lex unicode:"$\x{a2}", rx613_cur
-    .local pmc match
-    .lex "$/", match
-    length rx613_eos, rx613_tgt
-    gt rx613_pos, rx613_eos, rx613_done
-    set rx613_off, 0
-    lt rx613_pos, 2, rx613_start
-    sub rx613_off, rx613_pos, 1
-    substr rx613_tgt, rx613_tgt, rx613_off
-  rx613_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan617_done
-    goto rxscan617_scan
-  rxscan617_loop:
-    ($P10) = rx613_cur."from"()
-    inc $P10
-    set rx613_pos, $P10
-    ge rx613_pos, rx613_eos, rxscan617_done
-  rxscan617_scan:
-    set_addr $I10, rxscan617_loop
-    rx613_cur."!mark_push"(0, rx613_pos, $I10)
-  rxscan617_done:
-.annotate 'line', 282
+    .local string rx622_tgt
+    .local int rx622_pos
+    .local int rx622_off
+    .local int rx622_eos
+    .local int rx622_rep
+    .local pmc rx622_cur
+    (rx622_cur, rx622_pos, rx622_tgt) = self."!cursor_start"()
+    rx622_cur."!cursor_debug"("START ", "typename")
+    .lex unicode:"$\x{a2}", rx622_cur
+    .local pmc match
+    .lex "$/", match
+    length rx622_eos, rx622_tgt
+    gt rx622_pos, rx622_eos, rx622_done
+    set rx622_off, 0
+    lt rx622_pos, 2, rx622_start
+    sub rx622_off, rx622_pos, 1
+    substr rx622_tgt, rx622_tgt, rx622_off
+  rx622_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan626_done
+    goto rxscan626_scan
+  rxscan626_loop:
+    ($P10) = rx622_cur."from"()
+    inc $P10
+    set rx622_pos, $P10
+    ge rx622_pos, rx622_eos, rxscan626_done
+  rxscan626_scan:
+    set_addr $I10, rxscan626_loop
+    rx622_cur."!mark_push"(0, rx622_pos, $I10)
+  rxscan626_done:
+.annotate 'line', 283
   # rx subrule "name" subtype=capture negate=
-    rx613_cur."!cursor_pos"(rx613_pos)
-    $P10 = rx613_cur."name"()
-    unless $P10, rx613_fail
-    rx613_cur."!mark_push"(0, -1, 0, $P10)
+    rx622_cur."!cursor_pos"(rx622_pos)
+    $P10 = rx622_cur."name"()
+    unless $P10, rx622_fail
+    rx622_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx613_pos = $P10."pos"()
+    rx622_pos = $P10."pos"()
   # rx pass
-    rx613_cur."!cursor_pass"(rx613_pos, "typename")
-    rx613_cur."!cursor_debug"("PASS  ", "typename", " at pos=", rx613_pos)
-    .return (rx613_cur)
-  rx613_fail:
+    rx622_cur."!cursor_pass"(rx622_pos, "typename")
+    rx622_cur."!cursor_debug"("PASS  ", "typename", " at pos=", rx622_pos)
+    .return (rx622_cur)
+  rx622_fail:
 .annotate 'line', 4
-    (rx613_rep, rx613_pos, $I10, $P10) = rx613_cur."!mark_fail"(0)
-    lt rx613_pos, -1, rx613_done
-    eq rx613_pos, -1, rx613_fail
+    (rx622_rep, rx622_pos, $I10, $P10) = rx622_cur."!mark_fail"(0)
+    lt rx622_pos, -1, rx622_done
+    eq rx622_pos, -1, rx622_fail
     jump $I10
-  rx613_done:
-    rx613_cur."!cursor_fail"()
-    rx613_cur."!cursor_debug"("FAIL  ", "typename")
-    .return (rx613_cur)
+  rx622_done:
+    rx622_cur."!cursor_fail"()
+    rx622_cur."!cursor_debug"("FAIL  ", "typename")
+    .return (rx622_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__typename"  :subid("147_1277356913.9538") :method
+.sub "!PREFIX__typename"  :subid("149_1278500537.15927") :method
 .annotate 'line', 4
-    $P615 = self."!PREFIX__!subrule"("name", "")
-    new $P616, "ResizablePMCArray"
-    push $P616, $P615
-    .return ($P616)
+    $P624 = self."!PREFIX__!subrule"("name", "")
+    new $P625, "ResizablePMCArray"
+    push $P625, $P624
+    .return ($P625)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "declarator"  :subid("148_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "declarator"  :subid("150_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx619_tgt
-    .local int rx619_pos
-    .local int rx619_off
-    .local int rx619_eos
-    .local int rx619_rep
-    .local pmc rx619_cur
-    (rx619_cur, rx619_pos, rx619_tgt) = self."!cursor_start"()
-    rx619_cur."!cursor_debug"("START ", "declarator")
-    .lex unicode:"$\x{a2}", rx619_cur
-    .local pmc match
-    .lex "$/", match
-    length rx619_eos, rx619_tgt
-    gt rx619_pos, rx619_eos, rx619_done
-    set rx619_off, 0
-    lt rx619_pos, 2, rx619_start
-    sub rx619_off, rx619_pos, 1
-    substr rx619_tgt, rx619_tgt, rx619_off
-  rx619_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan624_done
-    goto rxscan624_scan
-  rxscan624_loop:
-    ($P10) = rx619_cur."from"()
-    inc $P10
-    set rx619_pos, $P10
-    ge rx619_pos, rx619_eos, rxscan624_done
-  rxscan624_scan:
-    set_addr $I10, rxscan624_loop
-    rx619_cur."!mark_push"(0, rx619_pos, $I10)
-  rxscan624_done:
-  alt625_0:
-.annotate 'line', 284
-    set_addr $I10, alt625_1
-    rx619_cur."!mark_push"(0, rx619_pos, $I10)
+    .local string rx628_tgt
+    .local int rx628_pos
+    .local int rx628_off
+    .local int rx628_eos
+    .local int rx628_rep
+    .local pmc rx628_cur
+    (rx628_cur, rx628_pos, rx628_tgt) = self."!cursor_start"()
+    rx628_cur."!cursor_debug"("START ", "declarator")
+    .lex unicode:"$\x{a2}", rx628_cur
+    .local pmc match
+    .lex "$/", match
+    length rx628_eos, rx628_tgt
+    gt rx628_pos, rx628_eos, rx628_done
+    set rx628_off, 0
+    lt rx628_pos, 2, rx628_start
+    sub rx628_off, rx628_pos, 1
+    substr rx628_tgt, rx628_tgt, rx628_off
+  rx628_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan633_done
+    goto rxscan633_scan
+  rxscan633_loop:
+    ($P10) = rx628_cur."from"()
+    inc $P10
+    set rx628_pos, $P10
+    ge rx628_pos, rx628_eos, rxscan633_done
+  rxscan633_scan:
+    set_addr $I10, rxscan633_loop
+    rx628_cur."!mark_push"(0, rx628_pos, $I10)
+  rxscan633_done:
+  alt634_0:
 .annotate 'line', 285
+    set_addr $I10, alt634_1
+    rx628_cur."!mark_push"(0, rx628_pos, $I10)
+.annotate 'line', 286
   # rx subrule "variable_declarator" subtype=capture negate=
-    rx619_cur."!cursor_pos"(rx619_pos)
-    $P10 = rx619_cur."variable_declarator"()
-    unless $P10, rx619_fail
-    rx619_cur."!mark_push"(0, -1, 0, $P10)
+    rx628_cur."!cursor_pos"(rx628_pos)
+    $P10 = rx628_cur."variable_declarator"()
+    unless $P10, rx628_fail
+    rx628_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable_declarator")
-    rx619_pos = $P10."pos"()
-    goto alt625_end
-  alt625_1:
-.annotate 'line', 286
+    rx628_pos = $P10."pos"()
+    goto alt634_end
+  alt634_1:
+.annotate 'line', 287
   # rx subrule "routine_declarator" subtype=capture negate=
-    rx619_cur."!cursor_pos"(rx619_pos)
-    $P10 = rx619_cur."routine_declarator"()
-    unless $P10, rx619_fail
-    rx619_cur."!mark_push"(0, -1, 0, $P10)
+    rx628_cur."!cursor_pos"(rx628_pos)
+    $P10 = rx628_cur."routine_declarator"()
+    unless $P10, rx628_fail
+    rx628_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_declarator")
-    rx619_pos = $P10."pos"()
-  alt625_end:
-.annotate 'line', 284
+    rx628_pos = $P10."pos"()
+  alt634_end:
+.annotate 'line', 285
   # rx pass
-    rx619_cur."!cursor_pass"(rx619_pos, "declarator")
-    rx619_cur."!cursor_debug"("PASS  ", "declarator", " at pos=", rx619_pos)
-    .return (rx619_cur)
-  rx619_fail:
+    rx628_cur."!cursor_pass"(rx628_pos, "declarator")
+    rx628_cur."!cursor_debug"("PASS  ", "declarator", " at pos=", rx628_pos)
+    .return (rx628_cur)
+  rx628_fail:
 .annotate 'line', 4
-    (rx619_rep, rx619_pos, $I10, $P10) = rx619_cur."!mark_fail"(0)
-    lt rx619_pos, -1, rx619_done
-    eq rx619_pos, -1, rx619_fail
+    (rx628_rep, rx628_pos, $I10, $P10) = rx628_cur."!mark_fail"(0)
+    lt rx628_pos, -1, rx628_done
+    eq rx628_pos, -1, rx628_fail
     jump $I10
-  rx619_done:
-    rx619_cur."!cursor_fail"()
-    rx619_cur."!cursor_debug"("FAIL  ", "declarator")
-    .return (rx619_cur)
+  rx628_done:
+    rx628_cur."!cursor_fail"()
+    rx628_cur."!cursor_debug"("FAIL  ", "declarator")
+    .return (rx628_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__declarator"  :subid("149_1277356913.9538") :method
+.sub "!PREFIX__declarator"  :subid("151_1278500537.15927") :method
 .annotate 'line', 4
-    $P621 = self."!PREFIX__!subrule"("routine_declarator", "")
-    $P622 = self."!PREFIX__!subrule"("variable_declarator", "")
-    new $P623, "ResizablePMCArray"
-    push $P623, $P621
-    push $P623, $P622
-    .return ($P623)
+    $P630 = self."!PREFIX__!subrule"("routine_declarator", "")
+    $P631 = self."!PREFIX__!subrule"("variable_declarator", "")
+    new $P632, "ResizablePMCArray"
+    push $P632, $P630
+    push $P632, $P631
+    .return ($P632)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable_declarator"  :subid("150_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "variable_declarator"  :subid("152_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx627_tgt
-    .local int rx627_pos
-    .local int rx627_off
-    .local int rx627_eos
-    .local int rx627_rep
-    .local pmc rx627_cur
-    (rx627_cur, rx627_pos, rx627_tgt) = self."!cursor_start"()
-    rx627_cur."!cursor_debug"("START ", "variable_declarator")
-    .lex unicode:"$\x{a2}", rx627_cur
+    .local string rx636_tgt
+    .local int rx636_pos
+    .local int rx636_off
+    .local int rx636_eos
+    .local int rx636_rep
+    .local pmc rx636_cur
+    (rx636_cur, rx636_pos, rx636_tgt) = self."!cursor_start"()
+    rx636_cur."!cursor_debug"("START ", "variable_declarator")
+    .lex unicode:"$\x{a2}", rx636_cur
     .local pmc match
     .lex "$/", match
-    length rx627_eos, rx627_tgt
-    gt rx627_pos, rx627_eos, rx627_done
-    set rx627_off, 0
-    lt rx627_pos, 2, rx627_start
-    sub rx627_off, rx627_pos, 1
-    substr rx627_tgt, rx627_tgt, rx627_off
-  rx627_start:
+    length rx636_eos, rx636_tgt
+    gt rx636_pos, rx636_eos, rx636_done
+    set rx636_off, 0
+    lt rx636_pos, 2, rx636_start
+    sub rx636_off, rx636_pos, 1
+    substr rx636_tgt, rx636_tgt, rx636_off
+  rx636_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan631_done
-    goto rxscan631_scan
-  rxscan631_loop:
-    ($P10) = rx627_cur."from"()
+    ne $I10, -1, rxscan640_done
+    goto rxscan640_scan
+  rxscan640_loop:
+    ($P10) = rx636_cur."from"()
     inc $P10
-    set rx627_pos, $P10
-    ge rx627_pos, rx627_eos, rxscan631_done
-  rxscan631_scan:
-    set_addr $I10, rxscan631_loop
-    rx627_cur."!mark_push"(0, rx627_pos, $I10)
-  rxscan631_done:
-.annotate 'line', 289
+    set rx636_pos, $P10
+    ge rx636_pos, rx636_eos, rxscan640_done
+  rxscan640_scan:
+    set_addr $I10, rxscan640_loop
+    rx636_cur."!mark_push"(0, rx636_pos, $I10)
+  rxscan640_done:
+.annotate 'line', 290
   # rx subrule "variable" subtype=capture negate=
-    rx627_cur."!cursor_pos"(rx627_pos)
-    $P10 = rx627_cur."variable"()
-    unless $P10, rx627_fail
-    rx627_cur."!mark_push"(0, -1, 0, $P10)
+    rx636_cur."!cursor_pos"(rx636_pos)
+    $P10 = rx636_cur."variable"()
+    unless $P10, rx636_fail
+    rx636_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable")
-    rx627_pos = $P10."pos"()
+    rx636_pos = $P10."pos"()
   # rx pass
-    rx627_cur."!cursor_pass"(rx627_pos, "variable_declarator")
-    rx627_cur."!cursor_debug"("PASS  ", "variable_declarator", " at pos=", rx627_pos)
-    .return (rx627_cur)
-  rx627_fail:
+    rx636_cur."!cursor_pass"(rx636_pos, "variable_declarator")
+    rx636_cur."!cursor_debug"("PASS  ", "variable_declarator", " at pos=", rx636_pos)
+    .return (rx636_cur)
+  rx636_fail:
 .annotate 'line', 4
-    (rx627_rep, rx627_pos, $I10, $P10) = rx627_cur."!mark_fail"(0)
-    lt rx627_pos, -1, rx627_done
-    eq rx627_pos, -1, rx627_fail
+    (rx636_rep, rx636_pos, $I10, $P10) = rx636_cur."!mark_fail"(0)
+    lt rx636_pos, -1, rx636_done
+    eq rx636_pos, -1, rx636_fail
     jump $I10
-  rx627_done:
-    rx627_cur."!cursor_fail"()
-    rx627_cur."!cursor_debug"("FAIL  ", "variable_declarator")
-    .return (rx627_cur)
+  rx636_done:
+    rx636_cur."!cursor_fail"()
+    rx636_cur."!cursor_debug"("FAIL  ", "variable_declarator")
+    .return (rx636_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable_declarator"  :subid("151_1277356913.9538") :method
+.sub "!PREFIX__variable_declarator"  :subid("153_1278500537.15927") :method
 .annotate 'line', 4
-    $P629 = self."!PREFIX__!subrule"("variable", "")
-    new $P630, "ResizablePMCArray"
-    push $P630, $P629
-    .return ($P630)
+    $P638 = self."!PREFIX__!subrule"("variable", "")
+    new $P639, "ResizablePMCArray"
+    push $P639, $P638
+    .return ($P639)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator"  :subid("152_1277356913.9538") :method
-.annotate 'line', 291
-    $P633 = self."!protoregex"("routine_declarator")
-    .return ($P633)
+.sub "routine_declarator"  :subid("154_1278500537.15927") :method
+.annotate 'line', 292
+    $P642 = self."!protoregex"("routine_declarator")
+    .return ($P642)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator"  :subid("153_1277356913.9538") :method
-.annotate 'line', 291
-    $P635 = self."!PREFIX__!protoregex"("routine_declarator")
-    .return ($P635)
+.sub "!PREFIX__routine_declarator"  :subid("155_1278500537.15927") :method
+.annotate 'line', 292
+    $P644 = self."!PREFIX__!protoregex"("routine_declarator")
+    .return ($P644)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<sub>"  :subid("154_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "routine_declarator:sym<sub>"  :subid("156_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx637_tgt
-    .local int rx637_pos
-    .local int rx637_off
-    .local int rx637_eos
-    .local int rx637_rep
-    .local pmc rx637_cur
-    (rx637_cur, rx637_pos, rx637_tgt) = self."!cursor_start"()
-    rx637_cur."!cursor_debug"("START ", "routine_declarator:sym<sub>")
-    .lex unicode:"$\x{a2}", rx637_cur
-    .local pmc match
-    .lex "$/", match
-    length rx637_eos, rx637_tgt
-    gt rx637_pos, rx637_eos, rx637_done
-    set rx637_off, 0
-    lt rx637_pos, 2, rx637_start
-    sub rx637_off, rx637_pos, 1
-    substr rx637_tgt, rx637_tgt, rx637_off
-  rx637_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan641_done
-    goto rxscan641_scan
-  rxscan641_loop:
-    ($P10) = rx637_cur."from"()
-    inc $P10
-    set rx637_pos, $P10
-    ge rx637_pos, rx637_eos, rxscan641_done
-  rxscan641_scan:
-    set_addr $I10, rxscan641_loop
-    rx637_cur."!mark_push"(0, rx637_pos, $I10)
-  rxscan641_done:
-.annotate 'line', 292
+    .local string rx646_tgt
+    .local int rx646_pos
+    .local int rx646_off
+    .local int rx646_eos
+    .local int rx646_rep
+    .local pmc rx646_cur
+    (rx646_cur, rx646_pos, rx646_tgt) = self."!cursor_start"()
+    rx646_cur."!cursor_debug"("START ", "routine_declarator:sym<sub>")
+    .lex unicode:"$\x{a2}", rx646_cur
+    .local pmc match
+    .lex "$/", match
+    length rx646_eos, rx646_tgt
+    gt rx646_pos, rx646_eos, rx646_done
+    set rx646_off, 0
+    lt rx646_pos, 2, rx646_start
+    sub rx646_off, rx646_pos, 1
+    substr rx646_tgt, rx646_tgt, rx646_off
+  rx646_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan650_done
+    goto rxscan650_scan
+  rxscan650_loop:
+    ($P10) = rx646_cur."from"()
+    inc $P10
+    set rx646_pos, $P10
+    ge rx646_pos, rx646_eos, rxscan650_done
+  rxscan650_scan:
+    set_addr $I10, rxscan650_loop
+    rx646_cur."!mark_push"(0, rx646_pos, $I10)
+  rxscan650_done:
+.annotate 'line', 293
   # rx subcapture "sym"
-    set_addr $I10, rxcap_642_fail
-    rx637_cur."!mark_push"(0, rx637_pos, $I10)
+    set_addr $I10, rxcap_651_fail
+    rx646_cur."!mark_push"(0, rx646_pos, $I10)
   # rx literal  "sub"
-    add $I11, rx637_pos, 3
-    gt $I11, rx637_eos, rx637_fail
-    sub $I11, rx637_pos, rx637_off
-    substr $S10, rx637_tgt, $I11, 3
-    ne $S10, "sub", rx637_fail
-    add rx637_pos, 3
-    set_addr $I10, rxcap_642_fail
-    ($I12, $I11) = rx637_cur."!mark_peek"($I10)
-    rx637_cur."!cursor_pos"($I11)
-    ($P10) = rx637_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx637_pos, "")
-    rx637_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx646_pos, 3
+    gt $I11, rx646_eos, rx646_fail
+    sub $I11, rx646_pos, rx646_off
+    substr $S10, rx646_tgt, $I11, 3
+    ne $S10, "sub", rx646_fail
+    add rx646_pos, 3
+    set_addr $I10, rxcap_651_fail
+    ($I12, $I11) = rx646_cur."!mark_peek"($I10)
+    rx646_cur."!cursor_pos"($I11)
+    ($P10) = rx646_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx646_pos, "")
+    rx646_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_642_done
-  rxcap_642_fail:
-    goto rx637_fail
-  rxcap_642_done:
+    goto rxcap_651_done
+  rxcap_651_fail:
+    goto rx646_fail
+  rxcap_651_done:
   # rx subrule "routine_def" subtype=capture negate=
-    rx637_cur."!cursor_pos"(rx637_pos)
-    $P10 = rx637_cur."routine_def"()
-    unless $P10, rx637_fail
-    rx637_cur."!mark_push"(0, -1, 0, $P10)
+    rx646_cur."!cursor_pos"(rx646_pos)
+    $P10 = rx646_cur."routine_def"()
+    unless $P10, rx646_fail
+    rx646_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_def")
-    rx637_pos = $P10."pos"()
+    rx646_pos = $P10."pos"()
   # rx pass
-    rx637_cur."!cursor_pass"(rx637_pos, "routine_declarator:sym<sub>")
-    rx637_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<sub>", " at pos=", rx637_pos)
-    .return (rx637_cur)
-  rx637_fail:
+    rx646_cur."!cursor_pass"(rx646_pos, "routine_declarator:sym<sub>")
+    rx646_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<sub>", " at pos=", rx646_pos)
+    .return (rx646_cur)
+  rx646_fail:
 .annotate 'line', 4
-    (rx637_rep, rx637_pos, $I10, $P10) = rx637_cur."!mark_fail"(0)
-    lt rx637_pos, -1, rx637_done
-    eq rx637_pos, -1, rx637_fail
+    (rx646_rep, rx646_pos, $I10, $P10) = rx646_cur."!mark_fail"(0)
+    lt rx646_pos, -1, rx646_done
+    eq rx646_pos, -1, rx646_fail
     jump $I10
-  rx637_done:
-    rx637_cur."!cursor_fail"()
-    rx637_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<sub>")
-    .return (rx637_cur)
+  rx646_done:
+    rx646_cur."!cursor_fail"()
+    rx646_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<sub>")
+    .return (rx646_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("155_1277356913.9538") :method
+.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("157_1278500537.15927") :method
 .annotate 'line', 4
-    $P639 = self."!PREFIX__!subrule"("routine_def", "sub")
-    new $P640, "ResizablePMCArray"
-    push $P640, $P639
-    .return ($P640)
+    $P648 = self."!PREFIX__!subrule"("routine_def", "sub")
+    new $P649, "ResizablePMCArray"
+    push $P649, $P648
+    .return ($P649)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<method>"  :subid("156_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "routine_declarator:sym<method>"  :subid("158_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx644_tgt
-    .local int rx644_pos
-    .local int rx644_off
-    .local int rx644_eos
-    .local int rx644_rep
-    .local pmc rx644_cur
-    (rx644_cur, rx644_pos, rx644_tgt) = self."!cursor_start"()
-    rx644_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
-    .lex unicode:"$\x{a2}", rx644_cur
+    .local string rx653_tgt
+    .local int rx653_pos
+    .local int rx653_off
+    .local int rx653_eos
+    .local int rx653_rep
+    .local pmc rx653_cur
+    (rx653_cur, rx653_pos, rx653_tgt) = self."!cursor_start"()
+    rx653_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
+    .lex unicode:"$\x{a2}", rx653_cur
     .local pmc match
     .lex "$/", match
-    length rx644_eos, rx644_tgt
-    gt rx644_pos, rx644_eos, rx644_done
-    set rx644_off, 0
-    lt rx644_pos, 2, rx644_start
-    sub rx644_off, rx644_pos, 1
-    substr rx644_tgt, rx644_tgt, rx644_off
-  rx644_start:
+    length rx653_eos, rx653_tgt
+    gt rx653_pos, rx653_eos, rx653_done
+    set rx653_off, 0
+    lt rx653_pos, 2, rx653_start
+    sub rx653_off, rx653_pos, 1
+    substr rx653_tgt, rx653_tgt, rx653_off
+  rx653_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan648_done
-    goto rxscan648_scan
-  rxscan648_loop:
-    ($P10) = rx644_cur."from"()
+    ne $I10, -1, rxscan657_done
+    goto rxscan657_scan
+  rxscan657_loop:
+    ($P10) = rx653_cur."from"()
     inc $P10
-    set rx644_pos, $P10
-    ge rx644_pos, rx644_eos, rxscan648_done
-  rxscan648_scan:
-    set_addr $I10, rxscan648_loop
-    rx644_cur."!mark_push"(0, rx644_pos, $I10)
-  rxscan648_done:
-.annotate 'line', 293
+    set rx653_pos, $P10
+    ge rx653_pos, rx653_eos, rxscan657_done
+  rxscan657_scan:
+    set_addr $I10, rxscan657_loop
+    rx653_cur."!mark_push"(0, rx653_pos, $I10)
+  rxscan657_done:
+.annotate 'line', 294
   # rx subcapture "sym"
-    set_addr $I10, rxcap_649_fail
-    rx644_cur."!mark_push"(0, rx644_pos, $I10)
+    set_addr $I10, rxcap_658_fail
+    rx653_cur."!mark_push"(0, rx653_pos, $I10)
   # rx literal  "method"
-    add $I11, rx644_pos, 6
-    gt $I11, rx644_eos, rx644_fail
-    sub $I11, rx644_pos, rx644_off
-    substr $S10, rx644_tgt, $I11, 6
-    ne $S10, "method", rx644_fail
-    add rx644_pos, 6
-    set_addr $I10, rxcap_649_fail
-    ($I12, $I11) = rx644_cur."!mark_peek"($I10)
-    rx644_cur."!cursor_pos"($I11)
-    ($P10) = rx644_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx644_pos, "")
-    rx644_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx653_pos, 6
+    gt $I11, rx653_eos, rx653_fail
+    sub $I11, rx653_pos, rx653_off
+    substr $S10, rx653_tgt, $I11, 6
+    ne $S10, "method", rx653_fail
+    add rx653_pos, 6
+    set_addr $I10, rxcap_658_fail
+    ($I12, $I11) = rx653_cur."!mark_peek"($I10)
+    rx653_cur."!cursor_pos"($I11)
+    ($P10) = rx653_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx653_pos, "")
+    rx653_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_649_done
-  rxcap_649_fail:
-    goto rx644_fail
-  rxcap_649_done:
+    goto rxcap_658_done
+  rxcap_658_fail:
+    goto rx653_fail
+  rxcap_658_done:
   # rx subrule "method_def" subtype=capture negate=
-    rx644_cur."!cursor_pos"(rx644_pos)
-    $P10 = rx644_cur."method_def"()
-    unless $P10, rx644_fail
-    rx644_cur."!mark_push"(0, -1, 0, $P10)
+    rx653_cur."!cursor_pos"(rx653_pos)
+    $P10 = rx653_cur."method_def"()
+    unless $P10, rx653_fail
+    rx653_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("method_def")
-    rx644_pos = $P10."pos"()
+    rx653_pos = $P10."pos"()
   # rx pass
-    rx644_cur."!cursor_pass"(rx644_pos, "routine_declarator:sym<method>")
-    rx644_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<method>", " at pos=", rx644_pos)
-    .return (rx644_cur)
-  rx644_fail:
+    rx653_cur."!cursor_pass"(rx653_pos, "routine_declarator:sym<method>")
+    rx653_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<method>", " at pos=", rx653_pos)
+    .return (rx653_cur)
+  rx653_fail:
 .annotate 'line', 4
-    (rx644_rep, rx644_pos, $I10, $P10) = rx644_cur."!mark_fail"(0)
-    lt rx644_pos, -1, rx644_done
-    eq rx644_pos, -1, rx644_fail
+    (rx653_rep, rx653_pos, $I10, $P10) = rx653_cur."!mark_fail"(0)
+    lt rx653_pos, -1, rx653_done
+    eq rx653_pos, -1, rx653_fail
     jump $I10
-  rx644_done:
-    rx644_cur."!cursor_fail"()
-    rx644_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<method>")
-    .return (rx644_cur)
+  rx653_done:
+    rx653_cur."!cursor_fail"()
+    rx653_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<method>")
+    .return (rx653_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<method>"  :subid("157_1277356913.9538") :method
+.sub "!PREFIX__routine_declarator:sym<method>"  :subid("159_1278500537.15927") :method
 .annotate 'line', 4
-    $P646 = self."!PREFIX__!subrule"("method_def", "method")
-    new $P647, "ResizablePMCArray"
-    push $P647, $P646
-    .return ($P647)
+    $P655 = self."!PREFIX__!subrule"("method_def", "method")
+    new $P656, "ResizablePMCArray"
+    push $P656, $P655
+    .return ($P656)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_def"  :subid("158_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "routine_def"  :subid("160_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx651_tgt
-    .local int rx651_pos
-    .local int rx651_off
-    .local int rx651_eos
-    .local int rx651_rep
-    .local pmc rx651_cur
-    (rx651_cur, rx651_pos, rx651_tgt) = self."!cursor_start"()
-    rx651_cur."!cursor_debug"("START ", "routine_def")
-    rx651_cur."!cursor_caparray"("sigil", "deflongname")
-    .lex unicode:"$\x{a2}", rx651_cur
+    .local string rx660_tgt
+    .local int rx660_pos
+    .local int rx660_off
+    .local int rx660_eos
+    .local int rx660_rep
+    .local pmc rx660_cur
+    (rx660_cur, rx660_pos, rx660_tgt) = self."!cursor_start"()
+    rx660_cur."!cursor_debug"("START ", "routine_def")
+    rx660_cur."!cursor_caparray"("deflongname", "sigil")
+    .lex unicode:"$\x{a2}", rx660_cur
     .local pmc match
     .lex "$/", match
-    length rx651_eos, rx651_tgt
-    gt rx651_pos, rx651_eos, rx651_done
-    set rx651_off, 0
-    lt rx651_pos, 2, rx651_start
-    sub rx651_off, rx651_pos, 1
-    substr rx651_tgt, rx651_tgt, rx651_off
-  rx651_start:
+    length rx660_eos, rx660_tgt
+    gt rx660_pos, rx660_eos, rx660_done
+    set rx660_off, 0
+    lt rx660_pos, 2, rx660_start
+    sub rx660_off, rx660_pos, 1
+    substr rx660_tgt, rx660_tgt, rx660_off
+  rx660_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan655_done
-    goto rxscan655_scan
-  rxscan655_loop:
-    ($P10) = rx651_cur."from"()
+    ne $I10, -1, rxscan664_done
+    goto rxscan664_scan
+  rxscan664_loop:
+    ($P10) = rx660_cur."from"()
     inc $P10
-    set rx651_pos, $P10
-    ge rx651_pos, rx651_eos, rxscan655_done
-  rxscan655_scan:
-    set_addr $I10, rxscan655_loop
-    rx651_cur."!mark_push"(0, rx651_pos, $I10)
-  rxscan655_done:
-.annotate 'line', 295
-  # rx subrule "ws" subtype=method negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."ws"()
-    unless $P10, rx651_fail
-    rx651_pos = $P10."pos"()
+    set rx660_pos, $P10
+    ge rx660_pos, rx660_eos, rxscan664_done
+  rxscan664_scan:
+    set_addr $I10, rxscan664_loop
+    rx660_cur."!mark_push"(0, rx660_pos, $I10)
+  rxscan664_done:
 .annotate 'line', 296
-  # rx rxquantr657 ** 0..1
-    set_addr $I663, rxquantr657_done
-    rx651_cur."!mark_push"(0, rx651_pos, $I663)
-  rxquantr657_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."ws"()
-    unless $P10, rx651_fail
-    rx651_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."ws"()
+    unless $P10, rx660_fail
+    rx660_pos = $P10."pos"()
+.annotate 'line', 297
+  # rx rxquantr666 ** 0..1
+    set_addr $I672, rxquantr666_done
+    rx660_cur."!mark_push"(0, rx660_pos, $I672)
+  rxquantr666_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."ws"()
+    unless $P10, rx660_fail
+    rx660_pos = $P10."pos"()
   # rx subcapture "sigil"
-    set_addr $I10, rxcap_661_fail
-    rx651_cur."!mark_push"(0, rx651_pos, $I10)
-  # rx rxquantr659 ** 0..1
-    set_addr $I660, rxquantr659_done
-    rx651_cur."!mark_push"(0, rx651_pos, $I660)
-  rxquantr659_loop:
+    set_addr $I10, rxcap_670_fail
+    rx660_cur."!mark_push"(0, rx660_pos, $I10)
+  # rx rxquantr668 ** 0..1
+    set_addr $I669, rxquantr668_done
+    rx660_cur."!mark_push"(0, rx660_pos, $I669)
+  rxquantr668_loop:
   # rx literal  "&"
-    add $I11, rx651_pos, 1
-    gt $I11, rx651_eos, rx651_fail
-    sub $I11, rx651_pos, rx651_off
-    substr $S10, rx651_tgt, $I11, 1
-    ne $S10, "&", rx651_fail
-    add rx651_pos, 1
-    (rx651_rep) = rx651_cur."!mark_commit"($I660)
-  rxquantr659_done:
-    set_addr $I10, rxcap_661_fail
-    ($I12, $I11) = rx651_cur."!mark_peek"($I10)
-    rx651_cur."!cursor_pos"($I11)
-    ($P10) = rx651_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx651_pos, "")
-    rx651_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx660_pos, 1
+    gt $I11, rx660_eos, rx660_fail
+    sub $I11, rx660_pos, rx660_off
+    substr $S10, rx660_tgt, $I11, 1
+    ne $S10, "&", rx660_fail
+    add rx660_pos, 1
+    (rx660_rep) = rx660_cur."!mark_commit"($I669)
+  rxquantr668_done:
+    set_addr $I10, rxcap_670_fail
+    ($I12, $I11) = rx660_cur."!mark_peek"($I10)
+    rx660_cur."!cursor_pos"($I11)
+    ($P10) = rx660_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx660_pos, "")
+    rx660_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    goto rxcap_661_done
-  rxcap_661_fail:
-    goto rx651_fail
-  rxcap_661_done:
+    goto rxcap_670_done
+  rxcap_670_fail:
+    goto rx660_fail
+  rxcap_670_done:
   # rx subrule "deflongname" subtype=capture negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."deflongname"()
-    unless $P10, rx651_fail
-    rx651_cur."!mark_push"(0, -1, 0, $P10)
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."deflongname"()
+    unless $P10, rx660_fail
+    rx660_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx651_pos = $P10."pos"()
+    rx660_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."ws"()
-    unless $P10, rx651_fail
-    rx651_pos = $P10."pos"()
-    (rx651_rep) = rx651_cur."!mark_commit"($I663)
-  rxquantr657_done:
-  # rx subrule "ws" subtype=method negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."ws"()
-    unless $P10, rx651_fail
-    rx651_pos = $P10."pos"()
-.annotate 'line', 297
-  # rx subrule "newpad" subtype=method negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."newpad"()
-    unless $P10, rx651_fail
-    rx651_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."ws"()
-    unless $P10, rx651_fail
-    rx651_pos = $P10."pos"()
-  alt666_0:
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."ws"()
+    unless $P10, rx660_fail
+    rx660_pos = $P10."pos"()
+    (rx660_rep) = rx660_cur."!mark_commit"($I672)
+  rxquantr666_done:
+  # rx subrule "ws" subtype=method negate=
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."ws"()
+    unless $P10, rx660_fail
+    rx660_pos = $P10."pos"()
 .annotate 'line', 298
-    set_addr $I10, alt666_1
-    rx651_cur."!mark_push"(0, rx651_pos, $I10)
+  # rx subrule "newpad" subtype=method negate=
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."newpad"()
+    unless $P10, rx660_fail
+    rx660_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."ws"()
+    unless $P10, rx660_fail
+    rx660_pos = $P10."pos"()
+  alt675_0:
+.annotate 'line', 299
+    set_addr $I10, alt675_1
+    rx660_cur."!mark_push"(0, rx660_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."ws"()
-    unless $P10, rx651_fail
-    rx651_pos = $P10."pos"()
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."ws"()
+    unless $P10, rx660_fail
+    rx660_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx651_pos, 1
-    gt $I11, rx651_eos, rx651_fail
-    sub $I11, rx651_pos, rx651_off
-    substr $S10, rx651_tgt, $I11, 1
-    ne $S10, "(", rx651_fail
-    add rx651_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."ws"()
-    unless $P10, rx651_fail
-    rx651_pos = $P10."pos"()
+    add $I11, rx660_pos, 1
+    gt $I11, rx660_eos, rx660_fail
+    sub $I11, rx660_pos, rx660_off
+    substr $S10, rx660_tgt, $I11, 1
+    ne $S10, "(", rx660_fail
+    add rx660_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."ws"()
+    unless $P10, rx660_fail
+    rx660_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."signature"()
-    unless $P10, rx651_fail
-    rx651_cur."!mark_push"(0, -1, 0, $P10)
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."signature"()
+    unless $P10, rx660_fail
+    rx660_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx651_pos = $P10."pos"()
+    rx660_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."ws"()
-    unless $P10, rx651_fail
-    rx651_pos = $P10."pos"()
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."ws"()
+    unless $P10, rx660_fail
+    rx660_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx651_pos, 1
-    gt $I11, rx651_eos, rx651_fail
-    sub $I11, rx651_pos, rx651_off
-    substr $S10, rx651_tgt, $I11, 1
-    ne $S10, ")", rx651_fail
-    add rx651_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."ws"()
-    unless $P10, rx651_fail
-    rx651_pos = $P10."pos"()
-    goto alt666_end
-  alt666_1:
-.annotate 'line', 299
+    add $I11, rx660_pos, 1
+    gt $I11, rx660_eos, rx660_fail
+    sub $I11, rx660_pos, rx660_off
+    substr $S10, rx660_tgt, $I11, 1
+    ne $S10, ")", rx660_fail
+    add rx660_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."ws"()
+    unless $P10, rx660_fail
+    rx660_pos = $P10."pos"()
+    goto alt675_end
+  alt675_1:
+.annotate 'line', 300
   # rx subrule "ws" subtype=method negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."ws"()
-    unless $P10, rx651_fail
-    rx651_pos = $P10."pos"()
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."ws"()
+    unless $P10, rx660_fail
+    rx660_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."panic"("Routine declaration requires a signature")
-    unless $P10, rx651_fail
-    rx651_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."ws"()
-    unless $P10, rx651_fail
-    rx651_pos = $P10."pos"()
-  alt666_end:
-  # rx subrule "ws" subtype=method negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."ws"()
-    unless $P10, rx651_fail
-    rx651_pos = $P10."pos"()
-.annotate 'line', 300
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."panic"("Routine declaration requires a signature")
+    unless $P10, rx660_fail
+    rx660_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."ws"()
+    unless $P10, rx660_fail
+    rx660_pos = $P10."pos"()
+  alt675_end:
+  # rx subrule "ws" subtype=method negate=
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."ws"()
+    unless $P10, rx660_fail
+    rx660_pos = $P10."pos"()
+.annotate 'line', 301
   # rx subrule "blockoid" subtype=capture negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."blockoid"()
-    unless $P10, rx651_fail
-    rx651_cur."!mark_push"(0, -1, 0, $P10)
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."blockoid"()
+    unless $P10, rx660_fail
+    rx660_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx651_pos = $P10."pos"()
+    rx660_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx651_cur."!cursor_pos"(rx651_pos)
-    $P10 = rx651_cur."ws"()
-    unless $P10, rx651_fail
-    rx651_pos = $P10."pos"()
-.annotate 'line', 295
+    rx660_cur."!cursor_pos"(rx660_pos)
+    $P10 = rx660_cur."ws"()
+    unless $P10, rx660_fail
+    rx660_pos = $P10."pos"()
+.annotate 'line', 296
   # rx pass
-    rx651_cur."!cursor_pass"(rx651_pos, "routine_def")
-    rx651_cur."!cursor_debug"("PASS  ", "routine_def", " at pos=", rx651_pos)
-    .return (rx651_cur)
-  rx651_fail:
+    rx660_cur."!cursor_pass"(rx660_pos, "routine_def")
+    rx660_cur."!cursor_debug"("PASS  ", "routine_def", " at pos=", rx660_pos)
+    .return (rx660_cur)
+  rx660_fail:
 .annotate 'line', 4
-    (rx651_rep, rx651_pos, $I10, $P10) = rx651_cur."!mark_fail"(0)
-    lt rx651_pos, -1, rx651_done
-    eq rx651_pos, -1, rx651_fail
+    (rx660_rep, rx660_pos, $I10, $P10) = rx660_cur."!mark_fail"(0)
+    lt rx660_pos, -1, rx660_done
+    eq rx660_pos, -1, rx660_fail
     jump $I10
-  rx651_done:
-    rx651_cur."!cursor_fail"()
-    rx651_cur."!cursor_debug"("FAIL  ", "routine_def")
-    .return (rx651_cur)
+  rx660_done:
+    rx660_cur."!cursor_fail"()
+    rx660_cur."!cursor_debug"("FAIL  ", "routine_def")
+    .return (rx660_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_def"  :subid("159_1277356913.9538") :method
+.sub "!PREFIX__routine_def"  :subid("161_1278500537.15927") :method
 .annotate 'line', 4
-    $P653 = self."!PREFIX__!subrule"("ws", "")
-    new $P654, "ResizablePMCArray"
-    push $P654, $P653
-    .return ($P654)
+    $P662 = self."!PREFIX__!subrule"("ws", "")
+    new $P663, "ResizablePMCArray"
+    push $P663, $P662
+    .return ($P663)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "method_def"  :subid("160_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "method_def"  :subid("162_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx676_tgt
-    .local int rx676_pos
-    .local int rx676_off
-    .local int rx676_eos
-    .local int rx676_rep
-    .local pmc rx676_cur
-    (rx676_cur, rx676_pos, rx676_tgt) = self."!cursor_start"()
-    rx676_cur."!cursor_debug"("START ", "method_def")
-    rx676_cur."!cursor_caparray"("deflongname")
-    .lex unicode:"$\x{a2}", rx676_cur
+    .local string rx685_tgt
+    .local int rx685_pos
+    .local int rx685_off
+    .local int rx685_eos
+    .local int rx685_rep
+    .local pmc rx685_cur
+    (rx685_cur, rx685_pos, rx685_tgt) = self."!cursor_start"()
+    rx685_cur."!cursor_debug"("START ", "method_def")
+    rx685_cur."!cursor_caparray"("deflongname")
+    .lex unicode:"$\x{a2}", rx685_cur
     .local pmc match
     .lex "$/", match
-    length rx676_eos, rx676_tgt
-    gt rx676_pos, rx676_eos, rx676_done
-    set rx676_off, 0
-    lt rx676_pos, 2, rx676_start
-    sub rx676_off, rx676_pos, 1
-    substr rx676_tgt, rx676_tgt, rx676_off
-  rx676_start:
+    length rx685_eos, rx685_tgt
+    gt rx685_pos, rx685_eos, rx685_done
+    set rx685_off, 0
+    lt rx685_pos, 2, rx685_start
+    sub rx685_off, rx685_pos, 1
+    substr rx685_tgt, rx685_tgt, rx685_off
+  rx685_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan680_done
-    goto rxscan680_scan
-  rxscan680_loop:
-    ($P10) = rx676_cur."from"()
+    ne $I10, -1, rxscan689_done
+    goto rxscan689_scan
+  rxscan689_loop:
+    ($P10) = rx685_cur."from"()
     inc $P10
-    set rx676_pos, $P10
-    ge rx676_pos, rx676_eos, rxscan680_done
-  rxscan680_scan:
-    set_addr $I10, rxscan680_loop
-    rx676_cur."!mark_push"(0, rx676_pos, $I10)
-  rxscan680_done:
-.annotate 'line', 303
-  # rx subrule "ws" subtype=method negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."ws"()
-    unless $P10, rx676_fail
-    rx676_pos = $P10."pos"()
+    set rx685_pos, $P10
+    ge rx685_pos, rx685_eos, rxscan689_done
+  rxscan689_scan:
+    set_addr $I10, rxscan689_loop
+    rx685_cur."!mark_push"(0, rx685_pos, $I10)
+  rxscan689_done:
 .annotate 'line', 304
-  # rx rxquantr682 ** 0..1
-    set_addr $I683, rxquantr682_done
-    rx676_cur."!mark_push"(0, rx676_pos, $I683)
-  rxquantr682_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."ws"()
+    unless $P10, rx685_fail
+    rx685_pos = $P10."pos"()
+.annotate 'line', 305
+  # rx rxquantr691 ** 0..1
+    set_addr $I692, rxquantr691_done
+    rx685_cur."!mark_push"(0, rx685_pos, $I692)
+  rxquantr691_loop:
   # rx subrule "deflongname" subtype=capture negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."deflongname"()
-    unless $P10, rx676_fail
-    rx676_cur."!mark_push"(0, -1, 0, $P10)
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."deflongname"()
+    unless $P10, rx685_fail
+    rx685_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx676_pos = $P10."pos"()
-    (rx676_rep) = rx676_cur."!mark_commit"($I683)
-  rxquantr682_done:
-  # rx subrule "ws" subtype=method negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."ws"()
-    unless $P10, rx676_fail
-    rx676_pos = $P10."pos"()
-.annotate 'line', 305
-  # rx subrule "newpad" subtype=method negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."newpad"()
-    unless $P10, rx676_fail
-    rx676_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."ws"()
-    unless $P10, rx676_fail
-    rx676_pos = $P10."pos"()
-  alt686_0:
+    rx685_pos = $P10."pos"()
+    (rx685_rep) = rx685_cur."!mark_commit"($I692)
+  rxquantr691_done:
+  # rx subrule "ws" subtype=method negate=
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."ws"()
+    unless $P10, rx685_fail
+    rx685_pos = $P10."pos"()
 .annotate 'line', 306
-    set_addr $I10, alt686_1
-    rx676_cur."!mark_push"(0, rx676_pos, $I10)
+  # rx subrule "newpad" subtype=method negate=
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."newpad"()
+    unless $P10, rx685_fail
+    rx685_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."ws"()
+    unless $P10, rx685_fail
+    rx685_pos = $P10."pos"()
+  alt695_0:
+.annotate 'line', 307
+    set_addr $I10, alt695_1
+    rx685_cur."!mark_push"(0, rx685_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."ws"()
-    unless $P10, rx676_fail
-    rx676_pos = $P10."pos"()
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."ws"()
+    unless $P10, rx685_fail
+    rx685_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx676_pos, 1
-    gt $I11, rx676_eos, rx676_fail
-    sub $I11, rx676_pos, rx676_off
-    substr $S10, rx676_tgt, $I11, 1
-    ne $S10, "(", rx676_fail
-    add rx676_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."ws"()
-    unless $P10, rx676_fail
-    rx676_pos = $P10."pos"()
+    add $I11, rx685_pos, 1
+    gt $I11, rx685_eos, rx685_fail
+    sub $I11, rx685_pos, rx685_off
+    substr $S10, rx685_tgt, $I11, 1
+    ne $S10, "(", rx685_fail
+    add rx685_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."ws"()
+    unless $P10, rx685_fail
+    rx685_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."signature"()
-    unless $P10, rx676_fail
-    rx676_cur."!mark_push"(0, -1, 0, $P10)
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."signature"()
+    unless $P10, rx685_fail
+    rx685_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx676_pos = $P10."pos"()
+    rx685_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."ws"()
-    unless $P10, rx676_fail
-    rx676_pos = $P10."pos"()
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."ws"()
+    unless $P10, rx685_fail
+    rx685_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx676_pos, 1
-    gt $I11, rx676_eos, rx676_fail
-    sub $I11, rx676_pos, rx676_off
-    substr $S10, rx676_tgt, $I11, 1
-    ne $S10, ")", rx676_fail
-    add rx676_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."ws"()
-    unless $P10, rx676_fail
-    rx676_pos = $P10."pos"()
-    goto alt686_end
-  alt686_1:
-.annotate 'line', 307
+    add $I11, rx685_pos, 1
+    gt $I11, rx685_eos, rx685_fail
+    sub $I11, rx685_pos, rx685_off
+    substr $S10, rx685_tgt, $I11, 1
+    ne $S10, ")", rx685_fail
+    add rx685_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."ws"()
+    unless $P10, rx685_fail
+    rx685_pos = $P10."pos"()
+    goto alt695_end
+  alt695_1:
+.annotate 'line', 308
   # rx subrule "ws" subtype=method negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."ws"()
-    unless $P10, rx676_fail
-    rx676_pos = $P10."pos"()
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."ws"()
+    unless $P10, rx685_fail
+    rx685_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."panic"("Routine declaration requires a signature")
-    unless $P10, rx676_fail
-    rx676_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."ws"()
-    unless $P10, rx676_fail
-    rx676_pos = $P10."pos"()
-  alt686_end:
-  # rx subrule "ws" subtype=method negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."ws"()
-    unless $P10, rx676_fail
-    rx676_pos = $P10."pos"()
-.annotate 'line', 308
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."panic"("Routine declaration requires a signature")
+    unless $P10, rx685_fail
+    rx685_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."ws"()
+    unless $P10, rx685_fail
+    rx685_pos = $P10."pos"()
+  alt695_end:
+  # rx subrule "ws" subtype=method negate=
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."ws"()
+    unless $P10, rx685_fail
+    rx685_pos = $P10."pos"()
+.annotate 'line', 309
   # rx subrule "blockoid" subtype=capture negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."blockoid"()
-    unless $P10, rx676_fail
-    rx676_cur."!mark_push"(0, -1, 0, $P10)
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."blockoid"()
+    unless $P10, rx685_fail
+    rx685_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx676_pos = $P10."pos"()
+    rx685_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx676_cur."!cursor_pos"(rx676_pos)
-    $P10 = rx676_cur."ws"()
-    unless $P10, rx676_fail
-    rx676_pos = $P10."pos"()
-.annotate 'line', 303
+    rx685_cur."!cursor_pos"(rx685_pos)
+    $P10 = rx685_cur."ws"()
+    unless $P10, rx685_fail
+    rx685_pos = $P10."pos"()
+.annotate 'line', 304
   # rx pass
-    rx676_cur."!cursor_pass"(rx676_pos, "method_def")
-    rx676_cur."!cursor_debug"("PASS  ", "method_def", " at pos=", rx676_pos)
-    .return (rx676_cur)
-  rx676_fail:
+    rx685_cur."!cursor_pass"(rx685_pos, "method_def")
+    rx685_cur."!cursor_debug"("PASS  ", "method_def", " at pos=", rx685_pos)
+    .return (rx685_cur)
+  rx685_fail:
 .annotate 'line', 4
-    (rx676_rep, rx676_pos, $I10, $P10) = rx676_cur."!mark_fail"(0)
-    lt rx676_pos, -1, rx676_done
-    eq rx676_pos, -1, rx676_fail
+    (rx685_rep, rx685_pos, $I10, $P10) = rx685_cur."!mark_fail"(0)
+    lt rx685_pos, -1, rx685_done
+    eq rx685_pos, -1, rx685_fail
     jump $I10
-  rx676_done:
-    rx676_cur."!cursor_fail"()
-    rx676_cur."!cursor_debug"("FAIL  ", "method_def")
-    .return (rx676_cur)
+  rx685_done:
+    rx685_cur."!cursor_fail"()
+    rx685_cur."!cursor_debug"("FAIL  ", "method_def")
+    .return (rx685_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__method_def"  :subid("161_1277356913.9538") :method
+.sub "!PREFIX__method_def"  :subid("163_1278500537.15927") :method
 .annotate 'line', 4
-    $P678 = self."!PREFIX__!subrule"("ws", "")
-    new $P679, "ResizablePMCArray"
-    push $P679, $P678
-    .return ($P679)
+    $P687 = self."!PREFIX__!subrule"("ws", "")
+    new $P688, "ResizablePMCArray"
+    push $P688, $P687
+    .return ($P688)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "multi_declarator"  :subid("162_1277356913.9538") :method
-.annotate 'line', 311
-    $P696 = self."!protoregex"("multi_declarator")
-    .return ($P696)
+.sub "multi_declarator"  :subid("164_1278500537.15927") :method
+.annotate 'line', 312
+    $P705 = self."!protoregex"("multi_declarator")
+    .return ($P705)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__multi_declarator"  :subid("163_1277356913.9538") :method
-.annotate 'line', 311
-    $P698 = self."!PREFIX__!protoregex"("multi_declarator")
-    .return ($P698)
+.sub "!PREFIX__multi_declarator"  :subid("165_1278500537.15927") :method
+.annotate 'line', 312
+    $P707 = self."!PREFIX__!protoregex"("multi_declarator")
+    .return ($P707)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "multi_declarator:sym<multi>"  :subid("164_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 313
-    new $P700, "Undef"
-    .lex "$*MULTINESS", $P700
+.sub "multi_declarator:sym<multi>"  :subid("166_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 314
+    new $P709, "Undef"
+    .lex "$*MULTINESS", $P709
 .annotate 'line', 4
-    .local string rx701_tgt
-    .local int rx701_pos
-    .local int rx701_off
-    .local int rx701_eos
-    .local int rx701_rep
-    .local pmc rx701_cur
-    (rx701_cur, rx701_pos, rx701_tgt) = self."!cursor_start"()
-    rx701_cur."!cursor_debug"("START ", "multi_declarator:sym<multi>")
-    .lex unicode:"$\x{a2}", rx701_cur
-    .local pmc match
-    .lex "$/", match
-    length rx701_eos, rx701_tgt
-    gt rx701_pos, rx701_eos, rx701_done
-    set rx701_off, 0
-    lt rx701_pos, 2, rx701_start
-    sub rx701_off, rx701_pos, 1
-    substr rx701_tgt, rx701_tgt, rx701_off
-  rx701_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan705_done
-    goto rxscan705_scan
-  rxscan705_loop:
-    ($P10) = rx701_cur."from"()
-    inc $P10
-    set rx701_pos, $P10
-    ge rx701_pos, rx701_eos, rxscan705_done
-  rxscan705_scan:
-    set_addr $I10, rxscan705_loop
-    rx701_cur."!mark_push"(0, rx701_pos, $I10)
-  rxscan705_done:
-.annotate 'line', 313
-    rx701_cur."!cursor_pos"(rx701_pos)
-    new $P706, "String"
-    assign $P706, "multi"
-    store_lex "$*MULTINESS", $P706
+    .local string rx710_tgt
+    .local int rx710_pos
+    .local int rx710_off
+    .local int rx710_eos
+    .local int rx710_rep
+    .local pmc rx710_cur
+    (rx710_cur, rx710_pos, rx710_tgt) = self."!cursor_start"()
+    rx710_cur."!cursor_debug"("START ", "multi_declarator:sym<multi>")
+    .lex unicode:"$\x{a2}", rx710_cur
+    .local pmc match
+    .lex "$/", match
+    length rx710_eos, rx710_tgt
+    gt rx710_pos, rx710_eos, rx710_done
+    set rx710_off, 0
+    lt rx710_pos, 2, rx710_start
+    sub rx710_off, rx710_pos, 1
+    substr rx710_tgt, rx710_tgt, rx710_off
+  rx710_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan714_done
+    goto rxscan714_scan
+  rxscan714_loop:
+    ($P10) = rx710_cur."from"()
+    inc $P10
+    set rx710_pos, $P10
+    ge rx710_pos, rx710_eos, rxscan714_done
+  rxscan714_scan:
+    set_addr $I10, rxscan714_loop
+    rx710_cur."!mark_push"(0, rx710_pos, $I10)
+  rxscan714_done:
 .annotate 'line', 314
+    rx710_cur."!cursor_pos"(rx710_pos)
+    new $P715, "String"
+    assign $P715, "multi"
+    store_lex "$*MULTINESS", $P715
+.annotate 'line', 315
   # rx subcapture "sym"
-    set_addr $I10, rxcap_707_fail
-    rx701_cur."!mark_push"(0, rx701_pos, $I10)
+    set_addr $I10, rxcap_716_fail
+    rx710_cur."!mark_push"(0, rx710_pos, $I10)
   # rx literal  "multi"
-    add $I11, rx701_pos, 5
-    gt $I11, rx701_eos, rx701_fail
-    sub $I11, rx701_pos, rx701_off
-    substr $S10, rx701_tgt, $I11, 5
-    ne $S10, "multi", rx701_fail
-    add rx701_pos, 5
-    set_addr $I10, rxcap_707_fail
-    ($I12, $I11) = rx701_cur."!mark_peek"($I10)
-    rx701_cur."!cursor_pos"($I11)
-    ($P10) = rx701_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx701_pos, "")
-    rx701_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx710_pos, 5
+    gt $I11, rx710_eos, rx710_fail
+    sub $I11, rx710_pos, rx710_off
+    substr $S10, rx710_tgt, $I11, 5
+    ne $S10, "multi", rx710_fail
+    add rx710_pos, 5
+    set_addr $I10, rxcap_716_fail
+    ($I12, $I11) = rx710_cur."!mark_peek"($I10)
+    rx710_cur."!cursor_pos"($I11)
+    ($P10) = rx710_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx710_pos, "")
+    rx710_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_707_done
-  rxcap_707_fail:
-    goto rx701_fail
-  rxcap_707_done:
-.annotate 'line', 315
-  # rx subrule "ws" subtype=method negate=
-    rx701_cur."!cursor_pos"(rx701_pos)
-    $P10 = rx701_cur."ws"()
-    unless $P10, rx701_fail
-    rx701_pos = $P10."pos"()
-  alt708_0:
-    set_addr $I10, alt708_1
-    rx701_cur."!mark_push"(0, rx701_pos, $I10)
+    goto rxcap_716_done
+  rxcap_716_fail:
+    goto rx710_fail
+  rxcap_716_done:
+.annotate 'line', 316
+  # rx subrule "ws" subtype=method negate=
+    rx710_cur."!cursor_pos"(rx710_pos)
+    $P10 = rx710_cur."ws"()
+    unless $P10, rx710_fail
+    rx710_pos = $P10."pos"()
+  alt717_0:
+    set_addr $I10, alt717_1
+    rx710_cur."!mark_push"(0, rx710_pos, $I10)
   # rx subrule "declarator" subtype=capture negate=
-    rx701_cur."!cursor_pos"(rx701_pos)
-    $P10 = rx701_cur."declarator"()
-    unless $P10, rx701_fail
-    rx701_cur."!mark_push"(0, -1, 0, $P10)
+    rx710_cur."!cursor_pos"(rx710_pos)
+    $P10 = rx710_cur."declarator"()
+    unless $P10, rx710_fail
+    rx710_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("declarator")
-    rx701_pos = $P10."pos"()
-    goto alt708_end
-  alt708_1:
-    set_addr $I10, alt708_2
-    rx701_cur."!mark_push"(0, rx701_pos, $I10)
+    rx710_pos = $P10."pos"()
+    goto alt717_end
+  alt717_1:
+    set_addr $I10, alt717_2
+    rx710_cur."!mark_push"(0, rx710_pos, $I10)
   # rx subrule "routine_def" subtype=capture negate=
-    rx701_cur."!cursor_pos"(rx701_pos)
-    $P10 = rx701_cur."routine_def"()
-    unless $P10, rx701_fail
-    rx701_cur."!mark_push"(0, -1, 0, $P10)
+    rx710_cur."!cursor_pos"(rx710_pos)
+    $P10 = rx710_cur."routine_def"()
+    unless $P10, rx710_fail
+    rx710_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_def")
-    rx701_pos = $P10."pos"()
-    goto alt708_end
-  alt708_2:
+    rx710_pos = $P10."pos"()
+    goto alt717_end
+  alt717_2:
   # rx subrule "panic" subtype=method negate=
-    rx701_cur."!cursor_pos"(rx701_pos)
-    $P10 = rx701_cur."panic"("Malformed multi")
-    unless $P10, rx701_fail
-    rx701_pos = $P10."pos"()
-  alt708_end:
-.annotate 'line', 312
+    rx710_cur."!cursor_pos"(rx710_pos)
+    $P10 = rx710_cur."panic"("Malformed multi")
+    unless $P10, rx710_fail
+    rx710_pos = $P10."pos"()
+  alt717_end:
+.annotate 'line', 313
   # rx pass
-    rx701_cur."!cursor_pass"(rx701_pos, "multi_declarator:sym<multi>")
-    rx701_cur."!cursor_debug"("PASS  ", "multi_declarator:sym<multi>", " at pos=", rx701_pos)
-    .return (rx701_cur)
-  rx701_fail:
+    rx710_cur."!cursor_pass"(rx710_pos, "multi_declarator:sym<multi>")
+    rx710_cur."!cursor_debug"("PASS  ", "multi_declarator:sym<multi>", " at pos=", rx710_pos)
+    .return (rx710_cur)
+  rx710_fail:
 .annotate 'line', 4
-    (rx701_rep, rx701_pos, $I10, $P10) = rx701_cur."!mark_fail"(0)
-    lt rx701_pos, -1, rx701_done
-    eq rx701_pos, -1, rx701_fail
+    (rx710_rep, rx710_pos, $I10, $P10) = rx710_cur."!mark_fail"(0)
+    lt rx710_pos, -1, rx710_done
+    eq rx710_pos, -1, rx710_fail
     jump $I10
-  rx701_done:
-    rx701_cur."!cursor_fail"()
-    rx701_cur."!cursor_debug"("FAIL  ", "multi_declarator:sym<multi>")
-    .return (rx701_cur)
+  rx710_done:
+    rx710_cur."!cursor_fail"()
+    rx710_cur."!cursor_debug"("FAIL  ", "multi_declarator:sym<multi>")
+    .return (rx710_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__multi_declarator:sym<multi>"  :subid("165_1277356913.9538") :method
+.sub "!PREFIX__multi_declarator:sym<multi>"  :subid("167_1278500537.15927") :method
 .annotate 'line', 4
-    $P703 = self."!PREFIX__!subrule"("ws", "multi")
-    new $P704, "ResizablePMCArray"
-    push $P704, $P703
-    .return ($P704)
+    $P712 = self."!PREFIX__!subrule"("ws", "multi")
+    new $P713, "ResizablePMCArray"
+    push $P713, $P712
+    .return ($P713)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "multi_declarator:sym<null>"  :subid("166_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 318
-    new $P710, "Undef"
-    .lex "$*MULTINESS", $P710
+.sub "multi_declarator:sym<null>"  :subid("168_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 319
+    new $P719, "Undef"
+    .lex "$*MULTINESS", $P719
 .annotate 'line', 4
-    .local string rx711_tgt
-    .local int rx711_pos
-    .local int rx711_off
-    .local int rx711_eos
-    .local int rx711_rep
-    .local pmc rx711_cur
-    (rx711_cur, rx711_pos, rx711_tgt) = self."!cursor_start"()
-    rx711_cur."!cursor_debug"("START ", "multi_declarator:sym<null>")
-    .lex unicode:"$\x{a2}", rx711_cur
-    .local pmc match
-    .lex "$/", match
-    length rx711_eos, rx711_tgt
-    gt rx711_pos, rx711_eos, rx711_done
-    set rx711_off, 0
-    lt rx711_pos, 2, rx711_start
-    sub rx711_off, rx711_pos, 1
-    substr rx711_tgt, rx711_tgt, rx711_off
-  rx711_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan715_done
-    goto rxscan715_scan
-  rxscan715_loop:
-    ($P10) = rx711_cur."from"()
-    inc $P10
-    set rx711_pos, $P10
-    ge rx711_pos, rx711_eos, rxscan715_done
-  rxscan715_scan:
-    set_addr $I10, rxscan715_loop
-    rx711_cur."!mark_push"(0, rx711_pos, $I10)
-  rxscan715_done:
-.annotate 'line', 318
-    rx711_cur."!cursor_pos"(rx711_pos)
-    new $P716, "String"
-    assign $P716, ""
-    store_lex "$*MULTINESS", $P716
+    .local string rx720_tgt
+    .local int rx720_pos
+    .local int rx720_off
+    .local int rx720_eos
+    .local int rx720_rep
+    .local pmc rx720_cur
+    (rx720_cur, rx720_pos, rx720_tgt) = self."!cursor_start"()
+    rx720_cur."!cursor_debug"("START ", "multi_declarator:sym<null>")
+    .lex unicode:"$\x{a2}", rx720_cur
+    .local pmc match
+    .lex "$/", match
+    length rx720_eos, rx720_tgt
+    gt rx720_pos, rx720_eos, rx720_done
+    set rx720_off, 0
+    lt rx720_pos, 2, rx720_start
+    sub rx720_off, rx720_pos, 1
+    substr rx720_tgt, rx720_tgt, rx720_off
+  rx720_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan724_done
+    goto rxscan724_scan
+  rxscan724_loop:
+    ($P10) = rx720_cur."from"()
+    inc $P10
+    set rx720_pos, $P10
+    ge rx720_pos, rx720_eos, rxscan724_done
+  rxscan724_scan:
+    set_addr $I10, rxscan724_loop
+    rx720_cur."!mark_push"(0, rx720_pos, $I10)
+  rxscan724_done:
 .annotate 'line', 319
+    rx720_cur."!cursor_pos"(rx720_pos)
+    new $P725, "String"
+    assign $P725, ""
+    store_lex "$*MULTINESS", $P725
+.annotate 'line', 320
   # rx subrule "declarator" subtype=capture negate=
-    rx711_cur."!cursor_pos"(rx711_pos)
-    $P10 = rx711_cur."declarator"()
-    unless $P10, rx711_fail
-    rx711_cur."!mark_push"(0, -1, 0, $P10)
+    rx720_cur."!cursor_pos"(rx720_pos)
+    $P10 = rx720_cur."declarator"()
+    unless $P10, rx720_fail
+    rx720_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("declarator")
-    rx711_pos = $P10."pos"()
-.annotate 'line', 317
-  # rx pass
-    rx711_cur."!cursor_pass"(rx711_pos, "multi_declarator:sym<null>")
-    rx711_cur."!cursor_debug"("PASS  ", "multi_declarator:sym<null>", " at pos=", rx711_pos)
-    .return (rx711_cur)
-  rx711_fail:
-.annotate 'line', 4
-    (rx711_rep, rx711_pos, $I10, $P10) = rx711_cur."!mark_fail"(0)
-    lt rx711_pos, -1, rx711_done
-    eq rx711_pos, -1, rx711_fail
-    jump $I10
-  rx711_done:
-    rx711_cur."!cursor_fail"()
-    rx711_cur."!cursor_debug"("FAIL  ", "multi_declarator:sym<null>")
-    .return (rx711_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__multi_declarator:sym<null>"  :subid("167_1277356913.9538") :method
-.annotate 'line', 4
-    $P713 = self."!PREFIX__!subrule"("declarator", "")
-    new $P714, "ResizablePMCArray"
-    push $P714, $P713
-    .return ($P714)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "signature"  :subid("168_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 4
-    .local string rx718_tgt
-    .local int rx718_pos
-    .local int rx718_off
-    .local int rx718_eos
-    .local int rx718_rep
-    .local pmc rx718_cur
-    (rx718_cur, rx718_pos, rx718_tgt) = self."!cursor_start"()
-    rx718_cur."!cursor_debug"("START ", "signature")
-    rx718_cur."!cursor_caparray"("parameter")
-    .lex unicode:"$\x{a2}", rx718_cur
-    .local pmc match
-    .lex "$/", match
-    length rx718_eos, rx718_tgt
-    gt rx718_pos, rx718_eos, rx718_done
-    set rx718_off, 0
-    lt rx718_pos, 2, rx718_start
-    sub rx718_off, rx718_pos, 1
-    substr rx718_tgt, rx718_tgt, rx718_off
-  rx718_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan721_done
-    goto rxscan721_scan
-  rxscan721_loop:
-    ($P10) = rx718_cur."from"()
-    inc $P10
-    set rx718_pos, $P10
-    ge rx718_pos, rx718_eos, rxscan721_done
-  rxscan721_scan:
-    set_addr $I10, rxscan721_loop
-    rx718_cur."!mark_push"(0, rx718_pos, $I10)
-  rxscan721_done:
-.annotate 'line', 322
-  # rx rxquantr722 ** 0..1
-    set_addr $I725, rxquantr722_done
-    rx718_cur."!mark_push"(0, rx718_pos, $I725)
-  rxquantr722_loop:
-  # rx rxquantr723 ** 1..*
-    set_addr $I724, rxquantr723_done
-    rx718_cur."!mark_push"(0, -1, $I724)
-  rxquantr723_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx718_cur."!cursor_pos"(rx718_pos)
-    $P10 = rx718_cur."ws"()
-    unless $P10, rx718_fail
-    rx718_pos = $P10."pos"()
-  # rx subrule "parameter" subtype=capture negate=
-    rx718_cur."!cursor_pos"(rx718_pos)
-    $P10 = rx718_cur."parameter"()
-    unless $P10, rx718_fail
-    rx718_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("parameter")
-    rx718_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx718_cur."!cursor_pos"(rx718_pos)
-    $P10 = rx718_cur."ws"()
-    unless $P10, rx718_fail
-    rx718_pos = $P10."pos"()
-    (rx718_rep) = rx718_cur."!mark_commit"($I724)
-    rx718_cur."!mark_push"(rx718_rep, rx718_pos, $I724)
-  # rx literal  ","
-    add $I11, rx718_pos, 1
-    gt $I11, rx718_eos, rx718_fail
-    sub $I11, rx718_pos, rx718_off
-    substr $S10, rx718_tgt, $I11, 1
-    ne $S10, ",", rx718_fail
-    add rx718_pos, 1
-    goto rxquantr723_loop
-  rxquantr723_done:
-    (rx718_rep) = rx718_cur."!mark_commit"($I725)
-  rxquantr722_done:
+    rx720_pos = $P10."pos"()
+.annotate 'line', 318
   # rx pass
-    rx718_cur."!cursor_pass"(rx718_pos, "signature")
-    rx718_cur."!cursor_debug"("PASS  ", "signature", " at pos=", rx718_pos)
-    .return (rx718_cur)
-  rx718_fail:
+    rx720_cur."!cursor_pass"(rx720_pos, "multi_declarator:sym<null>")
+    rx720_cur."!cursor_debug"("PASS  ", "multi_declarator:sym<null>", " at pos=", rx720_pos)
+    .return (rx720_cur)
+  rx720_fail:
 .annotate 'line', 4
-    (rx718_rep, rx718_pos, $I10, $P10) = rx718_cur."!mark_fail"(0)
-    lt rx718_pos, -1, rx718_done
-    eq rx718_pos, -1, rx718_fail
+    (rx720_rep, rx720_pos, $I10, $P10) = rx720_cur."!mark_fail"(0)
+    lt rx720_pos, -1, rx720_done
+    eq rx720_pos, -1, rx720_fail
     jump $I10
-  rx718_done:
-    rx718_cur."!cursor_fail"()
-    rx718_cur."!cursor_debug"("FAIL  ", "signature")
-    .return (rx718_cur)
+  rx720_done:
+    rx720_cur."!cursor_fail"()
+    rx720_cur."!cursor_debug"("FAIL  ", "multi_declarator:sym<null>")
+    .return (rx720_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__signature"  :subid("169_1277356913.9538") :method
+.sub "!PREFIX__multi_declarator:sym<null>"  :subid("169_1278500537.15927") :method
 .annotate 'line', 4
-    new $P720, "ResizablePMCArray"
-    push $P720, ""
-    .return ($P720)
+    $P722 = self."!PREFIX__!subrule"("declarator", "")
+    new $P723, "ResizablePMCArray"
+    push $P723, $P722
+    .return ($P723)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "parameter"  :subid("170_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "signature"  :subid("170_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx727_tgt
     .local int rx727_pos
@@ -8508,8 +8516,8 @@
     .local int rx727_rep
     .local pmc rx727_cur
     (rx727_cur, rx727_pos, rx727_tgt) = self."!cursor_start"()
-    rx727_cur."!cursor_debug"("START ", "parameter")
-    rx727_cur."!cursor_caparray"("default_value", "typename")
+    rx727_cur."!cursor_debug"("START ", "signature")
+    rx727_cur."!cursor_caparray"("parameter")
     .lex unicode:"$\x{a2}", rx727_cur
     .local pmc match
     .lex "$/", match
@@ -8532,140 +8540,48 @@
     set_addr $I10, rxscan730_loop
     rx727_cur."!mark_push"(0, rx727_pos, $I10)
   rxscan730_done:
-.annotate 'line', 325
-  # rx rxquantr731 ** 0..*
-    set_addr $I732, rxquantr731_done
-    rx727_cur."!mark_push"(0, rx727_pos, $I732)
+.annotate 'line', 323
+  # rx rxquantr731 ** 0..1
+    set_addr $I734, rxquantr731_done
+    rx727_cur."!mark_push"(0, rx727_pos, $I734)
   rxquantr731_loop:
-  # rx subrule "typename" subtype=capture negate=
-    rx727_cur."!cursor_pos"(rx727_pos)
-    $P10 = rx727_cur."typename"()
-    unless $P10, rx727_fail
-    rx727_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("typename")
-    rx727_pos = $P10."pos"()
+  # rx rxquantr732 ** 1..*
+    set_addr $I733, rxquantr732_done
+    rx727_cur."!mark_push"(0, -1, $I733)
+  rxquantr732_loop:
   # rx subrule "ws" subtype=method negate=
     rx727_cur."!cursor_pos"(rx727_pos)
     $P10 = rx727_cur."ws"()
     unless $P10, rx727_fail
     rx727_pos = $P10."pos"()
-    (rx727_rep) = rx727_cur."!mark_commit"($I732)
-    rx727_cur."!mark_push"(rx727_rep, rx727_pos, $I732)
-    goto rxquantr731_loop
-  rxquantr731_done:
-  alt733_0:
-.annotate 'line', 326
-    set_addr $I10, alt733_1
-    rx727_cur."!mark_push"(0, rx727_pos, $I10)
-.annotate 'line', 327
-  # rx subcapture "quant"
-    set_addr $I10, rxcap_734_fail
-    rx727_cur."!mark_push"(0, rx727_pos, $I10)
-  # rx literal  "*"
-    add $I11, rx727_pos, 1
-    gt $I11, rx727_eos, rx727_fail
-    sub $I11, rx727_pos, rx727_off
-    substr $S10, rx727_tgt, $I11, 1
-    ne $S10, "*", rx727_fail
-    add rx727_pos, 1
-    set_addr $I10, rxcap_734_fail
-    ($I12, $I11) = rx727_cur."!mark_peek"($I10)
-    rx727_cur."!cursor_pos"($I11)
-    ($P10) = rx727_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx727_pos, "")
-    rx727_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quant")
-    goto rxcap_734_done
-  rxcap_734_fail:
-    goto rx727_fail
-  rxcap_734_done:
-  # rx subrule "param_var" subtype=capture negate=
-    rx727_cur."!cursor_pos"(rx727_pos)
-    $P10 = rx727_cur."param_var"()
-    unless $P10, rx727_fail
-    rx727_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("param_var")
-    rx727_pos = $P10."pos"()
-    goto alt733_end
-  alt733_1:
-  alt735_0:
-.annotate 'line', 328
-    set_addr $I10, alt735_1
-    rx727_cur."!mark_push"(0, rx727_pos, $I10)
-  # rx subrule "param_var" subtype=capture negate=
+  # rx subrule "parameter" subtype=capture negate=
     rx727_cur."!cursor_pos"(rx727_pos)
-    $P10 = rx727_cur."param_var"()
+    $P10 = rx727_cur."parameter"()
     unless $P10, rx727_fail
     rx727_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("param_var")
+    $P10."!cursor_names"("parameter")
     rx727_pos = $P10."pos"()
-    goto alt735_end
-  alt735_1:
-  # rx subrule "named_param" subtype=capture negate=
+  # rx subrule "ws" subtype=method negate=
     rx727_cur."!cursor_pos"(rx727_pos)
-    $P10 = rx727_cur."named_param"()
+    $P10 = rx727_cur."ws"()
     unless $P10, rx727_fail
-    rx727_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("named_param")
     rx727_pos = $P10."pos"()
-  alt735_end:
-  # rx subcapture "quant"
-    set_addr $I10, rxcap_737_fail
-    rx727_cur."!mark_push"(0, rx727_pos, $I10)
-  alt736_0:
-    set_addr $I10, alt736_1
-    rx727_cur."!mark_push"(0, rx727_pos, $I10)
-  # rx literal  "?"
-    add $I11, rx727_pos, 1
-    gt $I11, rx727_eos, rx727_fail
-    sub $I11, rx727_pos, rx727_off
-    substr $S10, rx727_tgt, $I11, 1
-    ne $S10, "?", rx727_fail
-    add rx727_pos, 1
-    goto alt736_end
-  alt736_1:
-    set_addr $I10, alt736_2
-    rx727_cur."!mark_push"(0, rx727_pos, $I10)
-  # rx literal  "!"
+    (rx727_rep) = rx727_cur."!mark_commit"($I733)
+    rx727_cur."!mark_push"(rx727_rep, rx727_pos, $I733)
+  # rx literal  ","
     add $I11, rx727_pos, 1
     gt $I11, rx727_eos, rx727_fail
     sub $I11, rx727_pos, rx727_off
     substr $S10, rx727_tgt, $I11, 1
-    ne $S10, "!", rx727_fail
+    ne $S10, ",", rx727_fail
     add rx727_pos, 1
-    goto alt736_end
-  alt736_2:
-  alt736_end:
-    set_addr $I10, rxcap_737_fail
-    ($I12, $I11) = rx727_cur."!mark_peek"($I10)
-    rx727_cur."!cursor_pos"($I11)
-    ($P10) = rx727_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx727_pos, "")
-    rx727_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("quant")
-    goto rxcap_737_done
-  rxcap_737_fail:
-    goto rx727_fail
-  rxcap_737_done:
-  alt733_end:
-.annotate 'line', 330
-  # rx rxquantr738 ** 0..1
-    set_addr $I739, rxquantr738_done
-    rx727_cur."!mark_push"(0, rx727_pos, $I739)
-  rxquantr738_loop:
-  # rx subrule "default_value" subtype=capture negate=
-    rx727_cur."!cursor_pos"(rx727_pos)
-    $P10 = rx727_cur."default_value"()
-    unless $P10, rx727_fail
-    rx727_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("default_value")
-    rx727_pos = $P10."pos"()
-    (rx727_rep) = rx727_cur."!mark_commit"($I739)
-  rxquantr738_done:
-.annotate 'line', 324
+    goto rxquantr732_loop
+  rxquantr732_done:
+    (rx727_rep) = rx727_cur."!mark_commit"($I734)
+  rxquantr731_done:
   # rx pass
-    rx727_cur."!cursor_pass"(rx727_pos, "parameter")
-    rx727_cur."!cursor_debug"("PASS  ", "parameter", " at pos=", rx727_pos)
+    rx727_cur."!cursor_pass"(rx727_pos, "signature")
+    rx727_cur."!cursor_debug"("PASS  ", "signature", " at pos=", rx727_pos)
     .return (rx727_cur)
   rx727_fail:
 .annotate 'line', 4
@@ -8675,14 +8591,14 @@
     jump $I10
   rx727_done:
     rx727_cur."!cursor_fail"()
-    rx727_cur."!cursor_debug"("FAIL  ", "parameter")
+    rx727_cur."!cursor_debug"("FAIL  ", "signature")
     .return (rx727_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__parameter"  :subid("171_1277356913.9538") :method
+.sub "!PREFIX__signature"  :subid("171_1278500537.15927") :method
 .annotate 'line', 4
     new $P729, "ResizablePMCArray"
     push $P729, ""
@@ -8691,294 +8607,395 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "param_var"  :subid("172_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "parameter"  :subid("172_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx741_tgt
-    .local int rx741_pos
-    .local int rx741_off
-    .local int rx741_eos
-    .local int rx741_rep
-    .local pmc rx741_cur
-    (rx741_cur, rx741_pos, rx741_tgt) = self."!cursor_start"()
-    rx741_cur."!cursor_debug"("START ", "param_var")
-    rx741_cur."!cursor_caparray"("twigil")
-    .lex unicode:"$\x{a2}", rx741_cur
-    .local pmc match
-    .lex "$/", match
-    length rx741_eos, rx741_tgt
-    gt rx741_pos, rx741_eos, rx741_done
-    set rx741_off, 0
-    lt rx741_pos, 2, rx741_start
-    sub rx741_off, rx741_pos, 1
-    substr rx741_tgt, rx741_tgt, rx741_off
-  rx741_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan745_done
-    goto rxscan745_scan
-  rxscan745_loop:
-    ($P10) = rx741_cur."from"()
-    inc $P10
-    set rx741_pos, $P10
-    ge rx741_pos, rx741_eos, rxscan745_done
-  rxscan745_scan:
-    set_addr $I10, rxscan745_loop
-    rx741_cur."!mark_push"(0, rx741_pos, $I10)
-  rxscan745_done:
-.annotate 'line', 334
-  # rx subrule "sigil" subtype=capture negate=
-    rx741_cur."!cursor_pos"(rx741_pos)
-    $P10 = rx741_cur."sigil"()
-    unless $P10, rx741_fail
-    rx741_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sigil")
-    rx741_pos = $P10."pos"()
-  # rx rxquantr746 ** 0..1
-    set_addr $I747, rxquantr746_done
-    rx741_cur."!mark_push"(0, rx741_pos, $I747)
-  rxquantr746_loop:
-  # rx subrule "twigil" subtype=capture negate=
-    rx741_cur."!cursor_pos"(rx741_pos)
-    $P10 = rx741_cur."twigil"()
-    unless $P10, rx741_fail
-    rx741_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("twigil")
-    rx741_pos = $P10."pos"()
-    (rx741_rep) = rx741_cur."!mark_commit"($I747)
-  rxquantr746_done:
-  alt748_0:
-.annotate 'line', 335
-    set_addr $I10, alt748_1
-    rx741_cur."!mark_push"(0, rx741_pos, $I10)
-  # rx subrule "ident" subtype=capture negate=
-    rx741_cur."!cursor_pos"(rx741_pos)
-    $P10 = rx741_cur."ident"()
-    unless $P10, rx741_fail
-    rx741_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("name")
-    rx741_pos = $P10."pos"()
-    goto alt748_end
-  alt748_1:
-  # rx subcapture "name"
-    set_addr $I10, rxcap_749_fail
-    rx741_cur."!mark_push"(0, rx741_pos, $I10)
-  # rx enumcharlist negate=0 
-    ge rx741_pos, rx741_eos, rx741_fail
-    sub $I10, rx741_pos, rx741_off
-    substr $S10, rx741_tgt, $I10, 1
-    index $I11, "/!", $S10
-    lt $I11, 0, rx741_fail
-    inc rx741_pos
-    set_addr $I10, rxcap_749_fail
-    ($I12, $I11) = rx741_cur."!mark_peek"($I10)
-    rx741_cur."!cursor_pos"($I11)
-    ($P10) = rx741_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx741_pos, "")
-    rx741_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("name")
-    goto rxcap_749_done
-  rxcap_749_fail:
-    goto rx741_fail
-  rxcap_749_done:
-  alt748_end:
-.annotate 'line', 333
+    .local string rx736_tgt
+    .local int rx736_pos
+    .local int rx736_off
+    .local int rx736_eos
+    .local int rx736_rep
+    .local pmc rx736_cur
+    (rx736_cur, rx736_pos, rx736_tgt) = self."!cursor_start"()
+    rx736_cur."!cursor_debug"("START ", "parameter")
+    rx736_cur."!cursor_caparray"("default_value", "typename")
+    .lex unicode:"$\x{a2}", rx736_cur
+    .local pmc match
+    .lex "$/", match
+    length rx736_eos, rx736_tgt
+    gt rx736_pos, rx736_eos, rx736_done
+    set rx736_off, 0
+    lt rx736_pos, 2, rx736_start
+    sub rx736_off, rx736_pos, 1
+    substr rx736_tgt, rx736_tgt, rx736_off
+  rx736_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan739_done
+    goto rxscan739_scan
+  rxscan739_loop:
+    ($P10) = rx736_cur."from"()
+    inc $P10
+    set rx736_pos, $P10
+    ge rx736_pos, rx736_eos, rxscan739_done
+  rxscan739_scan:
+    set_addr $I10, rxscan739_loop
+    rx736_cur."!mark_push"(0, rx736_pos, $I10)
+  rxscan739_done:
+.annotate 'line', 326
+  # rx rxquantr740 ** 0..*
+    set_addr $I741, rxquantr740_done
+    rx736_cur."!mark_push"(0, rx736_pos, $I741)
+  rxquantr740_loop:
+  # rx subrule "typename" subtype=capture negate=
+    rx736_cur."!cursor_pos"(rx736_pos)
+    $P10 = rx736_cur."typename"()
+    unless $P10, rx736_fail
+    rx736_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("typename")
+    rx736_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx736_cur."!cursor_pos"(rx736_pos)
+    $P10 = rx736_cur."ws"()
+    unless $P10, rx736_fail
+    rx736_pos = $P10."pos"()
+    (rx736_rep) = rx736_cur."!mark_commit"($I741)
+    rx736_cur."!mark_push"(rx736_rep, rx736_pos, $I741)
+    goto rxquantr740_loop
+  rxquantr740_done:
+  alt742_0:
+.annotate 'line', 327
+    set_addr $I10, alt742_1
+    rx736_cur."!mark_push"(0, rx736_pos, $I10)
+.annotate 'line', 328
+  # rx subcapture "quant"
+    set_addr $I10, rxcap_743_fail
+    rx736_cur."!mark_push"(0, rx736_pos, $I10)
+  # rx literal  "*"
+    add $I11, rx736_pos, 1
+    gt $I11, rx736_eos, rx736_fail
+    sub $I11, rx736_pos, rx736_off
+    substr $S10, rx736_tgt, $I11, 1
+    ne $S10, "*", rx736_fail
+    add rx736_pos, 1
+    set_addr $I10, rxcap_743_fail
+    ($I12, $I11) = rx736_cur."!mark_peek"($I10)
+    rx736_cur."!cursor_pos"($I11)
+    ($P10) = rx736_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx736_pos, "")
+    rx736_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quant")
+    goto rxcap_743_done
+  rxcap_743_fail:
+    goto rx736_fail
+  rxcap_743_done:
+  # rx subrule "param_var" subtype=capture negate=
+    rx736_cur."!cursor_pos"(rx736_pos)
+    $P10 = rx736_cur."param_var"()
+    unless $P10, rx736_fail
+    rx736_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("param_var")
+    rx736_pos = $P10."pos"()
+    goto alt742_end
+  alt742_1:
+  alt744_0:
+.annotate 'line', 329
+    set_addr $I10, alt744_1
+    rx736_cur."!mark_push"(0, rx736_pos, $I10)
+  # rx subrule "param_var" subtype=capture negate=
+    rx736_cur."!cursor_pos"(rx736_pos)
+    $P10 = rx736_cur."param_var"()
+    unless $P10, rx736_fail
+    rx736_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("param_var")
+    rx736_pos = $P10."pos"()
+    goto alt744_end
+  alt744_1:
+  # rx subrule "named_param" subtype=capture negate=
+    rx736_cur."!cursor_pos"(rx736_pos)
+    $P10 = rx736_cur."named_param"()
+    unless $P10, rx736_fail
+    rx736_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("named_param")
+    rx736_pos = $P10."pos"()
+  alt744_end:
+  # rx subcapture "quant"
+    set_addr $I10, rxcap_746_fail
+    rx736_cur."!mark_push"(0, rx736_pos, $I10)
+  alt745_0:
+    set_addr $I10, alt745_1
+    rx736_cur."!mark_push"(0, rx736_pos, $I10)
+  # rx literal  "?"
+    add $I11, rx736_pos, 1
+    gt $I11, rx736_eos, rx736_fail
+    sub $I11, rx736_pos, rx736_off
+    substr $S10, rx736_tgt, $I11, 1
+    ne $S10, "?", rx736_fail
+    add rx736_pos, 1
+    goto alt745_end
+  alt745_1:
+    set_addr $I10, alt745_2
+    rx736_cur."!mark_push"(0, rx736_pos, $I10)
+  # rx literal  "!"
+    add $I11, rx736_pos, 1
+    gt $I11, rx736_eos, rx736_fail
+    sub $I11, rx736_pos, rx736_off
+    substr $S10, rx736_tgt, $I11, 1
+    ne $S10, "!", rx736_fail
+    add rx736_pos, 1
+    goto alt745_end
+  alt745_2:
+  alt745_end:
+    set_addr $I10, rxcap_746_fail
+    ($I12, $I11) = rx736_cur."!mark_peek"($I10)
+    rx736_cur."!cursor_pos"($I11)
+    ($P10) = rx736_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx736_pos, "")
+    rx736_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("quant")
+    goto rxcap_746_done
+  rxcap_746_fail:
+    goto rx736_fail
+  rxcap_746_done:
+  alt742_end:
+.annotate 'line', 331
+  # rx rxquantr747 ** 0..1
+    set_addr $I748, rxquantr747_done
+    rx736_cur."!mark_push"(0, rx736_pos, $I748)
+  rxquantr747_loop:
+  # rx subrule "default_value" subtype=capture negate=
+    rx736_cur."!cursor_pos"(rx736_pos)
+    $P10 = rx736_cur."default_value"()
+    unless $P10, rx736_fail
+    rx736_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("default_value")
+    rx736_pos = $P10."pos"()
+    (rx736_rep) = rx736_cur."!mark_commit"($I748)
+  rxquantr747_done:
+.annotate 'line', 325
   # rx pass
-    rx741_cur."!cursor_pass"(rx741_pos, "param_var")
-    rx741_cur."!cursor_debug"("PASS  ", "param_var", " at pos=", rx741_pos)
-    .return (rx741_cur)
-  rx741_fail:
+    rx736_cur."!cursor_pass"(rx736_pos, "parameter")
+    rx736_cur."!cursor_debug"("PASS  ", "parameter", " at pos=", rx736_pos)
+    .return (rx736_cur)
+  rx736_fail:
 .annotate 'line', 4
-    (rx741_rep, rx741_pos, $I10, $P10) = rx741_cur."!mark_fail"(0)
-    lt rx741_pos, -1, rx741_done
-    eq rx741_pos, -1, rx741_fail
+    (rx736_rep, rx736_pos, $I10, $P10) = rx736_cur."!mark_fail"(0)
+    lt rx736_pos, -1, rx736_done
+    eq rx736_pos, -1, rx736_fail
     jump $I10
-  rx741_done:
-    rx741_cur."!cursor_fail"()
-    rx741_cur."!cursor_debug"("FAIL  ", "param_var")
-    .return (rx741_cur)
+  rx736_done:
+    rx736_cur."!cursor_fail"()
+    rx736_cur."!cursor_debug"("FAIL  ", "parameter")
+    .return (rx736_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__param_var"  :subid("173_1277356913.9538") :method
+.sub "!PREFIX__parameter"  :subid("173_1278500537.15927") :method
 .annotate 'line', 4
-    $P743 = self."!PREFIX__!subrule"("sigil", "")
-    new $P744, "ResizablePMCArray"
-    push $P744, $P743
-    .return ($P744)
+    new $P738, "ResizablePMCArray"
+    push $P738, ""
+    .return ($P738)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "named_param"  :subid("174_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "param_var"  :subid("174_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx751_tgt
-    .local int rx751_pos
-    .local int rx751_off
-    .local int rx751_eos
-    .local int rx751_rep
-    .local pmc rx751_cur
-    (rx751_cur, rx751_pos, rx751_tgt) = self."!cursor_start"()
-    rx751_cur."!cursor_debug"("START ", "named_param")
-    .lex unicode:"$\x{a2}", rx751_cur
+    .local string rx750_tgt
+    .local int rx750_pos
+    .local int rx750_off
+    .local int rx750_eos
+    .local int rx750_rep
+    .local pmc rx750_cur
+    (rx750_cur, rx750_pos, rx750_tgt) = self."!cursor_start"()
+    rx750_cur."!cursor_debug"("START ", "param_var")
+    rx750_cur."!cursor_caparray"("twigil")
+    .lex unicode:"$\x{a2}", rx750_cur
     .local pmc match
     .lex "$/", match
-    length rx751_eos, rx751_tgt
-    gt rx751_pos, rx751_eos, rx751_done
-    set rx751_off, 0
-    lt rx751_pos, 2, rx751_start
-    sub rx751_off, rx751_pos, 1
-    substr rx751_tgt, rx751_tgt, rx751_off
-  rx751_start:
+    length rx750_eos, rx750_tgt
+    gt rx750_pos, rx750_eos, rx750_done
+    set rx750_off, 0
+    lt rx750_pos, 2, rx750_start
+    sub rx750_off, rx750_pos, 1
+    substr rx750_tgt, rx750_tgt, rx750_off
+  rx750_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan755_done
-    goto rxscan755_scan
-  rxscan755_loop:
-    ($P10) = rx751_cur."from"()
+    ne $I10, -1, rxscan754_done
+    goto rxscan754_scan
+  rxscan754_loop:
+    ($P10) = rx750_cur."from"()
     inc $P10
-    set rx751_pos, $P10
-    ge rx751_pos, rx751_eos, rxscan755_done
-  rxscan755_scan:
-    set_addr $I10, rxscan755_loop
-    rx751_cur."!mark_push"(0, rx751_pos, $I10)
-  rxscan755_done:
-.annotate 'line', 339
-  # rx literal  ":"
-    add $I11, rx751_pos, 1
-    gt $I11, rx751_eos, rx751_fail
-    sub $I11, rx751_pos, rx751_off
-    substr $S10, rx751_tgt, $I11, 1
-    ne $S10, ":", rx751_fail
-    add rx751_pos, 1
-  # rx subrule "param_var" subtype=capture negate=
-    rx751_cur."!cursor_pos"(rx751_pos)
-    $P10 = rx751_cur."param_var"()
-    unless $P10, rx751_fail
-    rx751_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("param_var")
-    rx751_pos = $P10."pos"()
-.annotate 'line', 338
+    set rx750_pos, $P10
+    ge rx750_pos, rx750_eos, rxscan754_done
+  rxscan754_scan:
+    set_addr $I10, rxscan754_loop
+    rx750_cur."!mark_push"(0, rx750_pos, $I10)
+  rxscan754_done:
+.annotate 'line', 335
+  # rx subrule "sigil" subtype=capture negate=
+    rx750_cur."!cursor_pos"(rx750_pos)
+    $P10 = rx750_cur."sigil"()
+    unless $P10, rx750_fail
+    rx750_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sigil")
+    rx750_pos = $P10."pos"()
+  # rx rxquantr755 ** 0..1
+    set_addr $I756, rxquantr755_done
+    rx750_cur."!mark_push"(0, rx750_pos, $I756)
+  rxquantr755_loop:
+  # rx subrule "twigil" subtype=capture negate=
+    rx750_cur."!cursor_pos"(rx750_pos)
+    $P10 = rx750_cur."twigil"()
+    unless $P10, rx750_fail
+    rx750_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("twigil")
+    rx750_pos = $P10."pos"()
+    (rx750_rep) = rx750_cur."!mark_commit"($I756)
+  rxquantr755_done:
+  alt757_0:
+.annotate 'line', 336
+    set_addr $I10, alt757_1
+    rx750_cur."!mark_push"(0, rx750_pos, $I10)
+  # rx subrule "ident" subtype=capture negate=
+    rx750_cur."!cursor_pos"(rx750_pos)
+    $P10 = rx750_cur."ident"()
+    unless $P10, rx750_fail
+    rx750_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("name")
+    rx750_pos = $P10."pos"()
+    goto alt757_end
+  alt757_1:
+  # rx subcapture "name"
+    set_addr $I10, rxcap_758_fail
+    rx750_cur."!mark_push"(0, rx750_pos, $I10)
+  # rx enumcharlist negate=0 
+    ge rx750_pos, rx750_eos, rx750_fail
+    sub $I10, rx750_pos, rx750_off
+    substr $S10, rx750_tgt, $I10, 1
+    index $I11, "/!", $S10
+    lt $I11, 0, rx750_fail
+    inc rx750_pos
+    set_addr $I10, rxcap_758_fail
+    ($I12, $I11) = rx750_cur."!mark_peek"($I10)
+    rx750_cur."!cursor_pos"($I11)
+    ($P10) = rx750_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx750_pos, "")
+    rx750_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("name")
+    goto rxcap_758_done
+  rxcap_758_fail:
+    goto rx750_fail
+  rxcap_758_done:
+  alt757_end:
+.annotate 'line', 334
   # rx pass
-    rx751_cur."!cursor_pass"(rx751_pos, "named_param")
-    rx751_cur."!cursor_debug"("PASS  ", "named_param", " at pos=", rx751_pos)
-    .return (rx751_cur)
-  rx751_fail:
+    rx750_cur."!cursor_pass"(rx750_pos, "param_var")
+    rx750_cur."!cursor_debug"("PASS  ", "param_var", " at pos=", rx750_pos)
+    .return (rx750_cur)
+  rx750_fail:
 .annotate 'line', 4
-    (rx751_rep, rx751_pos, $I10, $P10) = rx751_cur."!mark_fail"(0)
-    lt rx751_pos, -1, rx751_done
-    eq rx751_pos, -1, rx751_fail
+    (rx750_rep, rx750_pos, $I10, $P10) = rx750_cur."!mark_fail"(0)
+    lt rx750_pos, -1, rx750_done
+    eq rx750_pos, -1, rx750_fail
     jump $I10
-  rx751_done:
-    rx751_cur."!cursor_fail"()
-    rx751_cur."!cursor_debug"("FAIL  ", "named_param")
-    .return (rx751_cur)
+  rx750_done:
+    rx750_cur."!cursor_fail"()
+    rx750_cur."!cursor_debug"("FAIL  ", "param_var")
+    .return (rx750_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__named_param"  :subid("175_1277356913.9538") :method
+.sub "!PREFIX__param_var"  :subid("175_1278500537.15927") :method
 .annotate 'line', 4
-    $P753 = self."!PREFIX__!subrule"("param_var", ":")
-    new $P754, "ResizablePMCArray"
-    push $P754, $P753
-    .return ($P754)
+    $P752 = self."!PREFIX__!subrule"("sigil", "")
+    new $P753, "ResizablePMCArray"
+    push $P753, $P752
+    .return ($P753)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "default_value"  :subid("176_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "named_param"  :subid("176_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx757_tgt
-    .local int rx757_pos
-    .local int rx757_off
-    .local int rx757_eos
-    .local int rx757_rep
-    .local pmc rx757_cur
-    (rx757_cur, rx757_pos, rx757_tgt) = self."!cursor_start"()
-    rx757_cur."!cursor_debug"("START ", "default_value")
-    .lex unicode:"$\x{a2}", rx757_cur
+    .local string rx760_tgt
+    .local int rx760_pos
+    .local int rx760_off
+    .local int rx760_eos
+    .local int rx760_rep
+    .local pmc rx760_cur
+    (rx760_cur, rx760_pos, rx760_tgt) = self."!cursor_start"()
+    rx760_cur."!cursor_debug"("START ", "named_param")
+    .lex unicode:"$\x{a2}", rx760_cur
     .local pmc match
     .lex "$/", match
-    length rx757_eos, rx757_tgt
-    gt rx757_pos, rx757_eos, rx757_done
-    set rx757_off, 0
-    lt rx757_pos, 2, rx757_start
-    sub rx757_off, rx757_pos, 1
-    substr rx757_tgt, rx757_tgt, rx757_off
-  rx757_start:
+    length rx760_eos, rx760_tgt
+    gt rx760_pos, rx760_eos, rx760_done
+    set rx760_off, 0
+    lt rx760_pos, 2, rx760_start
+    sub rx760_off, rx760_pos, 1
+    substr rx760_tgt, rx760_tgt, rx760_off
+  rx760_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan761_done
-    goto rxscan761_scan
-  rxscan761_loop:
-    ($P10) = rx757_cur."from"()
+    ne $I10, -1, rxscan764_done
+    goto rxscan764_scan
+  rxscan764_loop:
+    ($P10) = rx760_cur."from"()
     inc $P10
-    set rx757_pos, $P10
-    ge rx757_pos, rx757_eos, rxscan761_done
-  rxscan761_scan:
-    set_addr $I10, rxscan761_loop
-    rx757_cur."!mark_push"(0, rx757_pos, $I10)
-  rxscan761_done:
-.annotate 'line', 342
-  # rx subrule "ws" subtype=method negate=
-    rx757_cur."!cursor_pos"(rx757_pos)
-    $P10 = rx757_cur."ws"()
-    unless $P10, rx757_fail
-    rx757_pos = $P10."pos"()
-  # rx literal  "="
-    add $I11, rx757_pos, 1
-    gt $I11, rx757_eos, rx757_fail
-    sub $I11, rx757_pos, rx757_off
-    substr $S10, rx757_tgt, $I11, 1
-    ne $S10, "=", rx757_fail
-    add rx757_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx757_cur."!cursor_pos"(rx757_pos)
-    $P10 = rx757_cur."ws"()
-    unless $P10, rx757_fail
-    rx757_pos = $P10."pos"()
-  # rx subrule "EXPR" subtype=capture negate=
-    rx757_cur."!cursor_pos"(rx757_pos)
-    $P10 = rx757_cur."EXPR"("i=")
-    unless $P10, rx757_fail
-    rx757_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("EXPR")
-    rx757_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx757_cur."!cursor_pos"(rx757_pos)
-    $P10 = rx757_cur."ws"()
-    unless $P10, rx757_fail
-    rx757_pos = $P10."pos"()
+    set rx760_pos, $P10
+    ge rx760_pos, rx760_eos, rxscan764_done
+  rxscan764_scan:
+    set_addr $I10, rxscan764_loop
+    rx760_cur."!mark_push"(0, rx760_pos, $I10)
+  rxscan764_done:
+.annotate 'line', 340
+  # rx literal  ":"
+    add $I11, rx760_pos, 1
+    gt $I11, rx760_eos, rx760_fail
+    sub $I11, rx760_pos, rx760_off
+    substr $S10, rx760_tgt, $I11, 1
+    ne $S10, ":", rx760_fail
+    add rx760_pos, 1
+  # rx subrule "param_var" subtype=capture negate=
+    rx760_cur."!cursor_pos"(rx760_pos)
+    $P10 = rx760_cur."param_var"()
+    unless $P10, rx760_fail
+    rx760_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("param_var")
+    rx760_pos = $P10."pos"()
+.annotate 'line', 339
   # rx pass
-    rx757_cur."!cursor_pass"(rx757_pos, "default_value")
-    rx757_cur."!cursor_debug"("PASS  ", "default_value", " at pos=", rx757_pos)
-    .return (rx757_cur)
-  rx757_fail:
+    rx760_cur."!cursor_pass"(rx760_pos, "named_param")
+    rx760_cur."!cursor_debug"("PASS  ", "named_param", " at pos=", rx760_pos)
+    .return (rx760_cur)
+  rx760_fail:
 .annotate 'line', 4
-    (rx757_rep, rx757_pos, $I10, $P10) = rx757_cur."!mark_fail"(0)
-    lt rx757_pos, -1, rx757_done
-    eq rx757_pos, -1, rx757_fail
+    (rx760_rep, rx760_pos, $I10, $P10) = rx760_cur."!mark_fail"(0)
+    lt rx760_pos, -1, rx760_done
+    eq rx760_pos, -1, rx760_fail
     jump $I10
-  rx757_done:
-    rx757_cur."!cursor_fail"()
-    rx757_cur."!cursor_debug"("FAIL  ", "default_value")
-    .return (rx757_cur)
+  rx760_done:
+    rx760_cur."!cursor_fail"()
+    rx760_cur."!cursor_debug"("FAIL  ", "named_param")
+    .return (rx760_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__default_value"  :subid("177_1277356913.9538") :method
+.sub "!PREFIX__named_param"  :subid("177_1278500537.15927") :method
 .annotate 'line', 4
-    $P759 = self."!PREFIX__!subrule"("ws", "")
-    new $P760, "ResizablePMCArray"
-    push $P760, $P759
-    .return ($P760)
+    $P762 = self."!PREFIX__!subrule"("param_var", ":")
+    new $P763, "ResizablePMCArray"
+    push $P763, $P762
+    .return ($P763)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "regex_declarator"  :subid("178_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "default_value"  :subid("178_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
     .local string rx766_tgt
     .local int rx766_pos
@@ -8987,8 +9004,7 @@
     .local int rx766_rep
     .local pmc rx766_cur
     (rx766_cur, rx766_pos, rx766_tgt) = self."!cursor_start"()
-    rx766_cur."!cursor_debug"("START ", "regex_declarator")
-    rx766_cur."!cursor_caparray"("signature")
+    rx766_cur."!cursor_debug"("START ", "default_value")
     .lex unicode:"$\x{a2}", rx766_cur
     .local pmc match
     .lex "$/", match
@@ -9011,8435 +9027,8797 @@
     set_addr $I10, rxscan770_loop
     rx766_cur."!mark_push"(0, rx766_pos, $I10)
   rxscan770_done:
-.annotate 'line', 344
+.annotate 'line', 343
   # rx subrule "ws" subtype=method negate=
     rx766_cur."!cursor_pos"(rx766_pos)
     $P10 = rx766_cur."ws"()
     unless $P10, rx766_fail
     rx766_pos = $P10."pos"()
-  alt772_0:
-.annotate 'line', 345
-    set_addr $I10, alt772_1
-    rx766_cur."!mark_push"(0, rx766_pos, $I10)
-.annotate 'line', 346
-  # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-  # rx subcapture "proto"
-    set_addr $I10, rxcap_774_fail
-    rx766_cur."!mark_push"(0, rx766_pos, $I10)
-  # rx literal  "proto"
-    add $I11, rx766_pos, 5
-    gt $I11, rx766_eos, rx766_fail
-    sub $I11, rx766_pos, rx766_off
-    substr $S10, rx766_tgt, $I11, 5
-    ne $S10, "proto", rx766_fail
-    add rx766_pos, 5
-    set_addr $I10, rxcap_774_fail
-    ($I12, $I11) = rx766_cur."!mark_peek"($I10)
-    rx766_cur."!cursor_pos"($I11)
-    ($P10) = rx766_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx766_pos, "")
-    rx766_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("proto")
-    goto rxcap_774_done
-  rxcap_774_fail:
-    goto rx766_fail
-  rxcap_774_done:
-  # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-  alt776_0:
-    set_addr $I10, alt776_1
-    rx766_cur."!mark_push"(0, rx766_pos, $I10)
-  # rx literal  "regex"
-    add $I11, rx766_pos, 5
-    gt $I11, rx766_eos, rx766_fail
-    sub $I11, rx766_pos, rx766_off
-    substr $S10, rx766_tgt, $I11, 5
-    ne $S10, "regex", rx766_fail
-    add rx766_pos, 5
-    goto alt776_end
-  alt776_1:
-    set_addr $I10, alt776_2
-    rx766_cur."!mark_push"(0, rx766_pos, $I10)
-  # rx literal  "token"
-    add $I11, rx766_pos, 5
-    gt $I11, rx766_eos, rx766_fail
-    sub $I11, rx766_pos, rx766_off
-    substr $S10, rx766_tgt, $I11, 5
-    ne $S10, "token", rx766_fail
-    add rx766_pos, 5
-    goto alt776_end
-  alt776_2:
-  # rx literal  "rule"
-    add $I11, rx766_pos, 4
+  # rx literal  "="
+    add $I11, rx766_pos, 1
     gt $I11, rx766_eos, rx766_fail
     sub $I11, rx766_pos, rx766_off
-    substr $S10, rx766_tgt, $I11, 4
-    ne $S10, "rule", rx766_fail
-    add rx766_pos, 4
-  alt776_end:
+    substr $S10, rx766_tgt, $I11, 1
+    ne $S10, "=", rx766_fail
+    add rx766_pos, 1
   # rx subrule "ws" subtype=method negate=
     rx766_cur."!cursor_pos"(rx766_pos)
     $P10 = rx766_cur."ws"()
     unless $P10, rx766_fail
     rx766_pos = $P10."pos"()
-.annotate 'line', 347
-  # rx subrule "deflongname" subtype=capture negate=
+  # rx subrule "EXPR" subtype=capture negate=
     rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."deflongname"()
+    $P10 = rx766_cur."EXPR"("i=")
     unless $P10, rx766_fail
     rx766_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("deflongname")
+    $P10."!cursor_names"("EXPR")
     rx766_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
     rx766_cur."!cursor_pos"(rx766_pos)
     $P10 = rx766_cur."ws"()
     unless $P10, rx766_fail
     rx766_pos = $P10."pos"()
-  alt779_0:
+  # rx pass
+    rx766_cur."!cursor_pass"(rx766_pos, "default_value")
+    rx766_cur."!cursor_debug"("PASS  ", "default_value", " at pos=", rx766_pos)
+    .return (rx766_cur)
+  rx766_fail:
+.annotate 'line', 4
+    (rx766_rep, rx766_pos, $I10, $P10) = rx766_cur."!mark_fail"(0)
+    lt rx766_pos, -1, rx766_done
+    eq rx766_pos, -1, rx766_fail
+    jump $I10
+  rx766_done:
+    rx766_cur."!cursor_fail"()
+    rx766_cur."!cursor_debug"("FAIL  ", "default_value")
+    .return (rx766_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__default_value"  :subid("179_1278500537.15927") :method
+.annotate 'line', 4
+    $P768 = self."!PREFIX__!subrule"("ws", "")
+    new $P769, "ResizablePMCArray"
+    push $P769, $P768
+    .return ($P769)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "regex_declarator"  :subid("180_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 4
+    .local string rx775_tgt
+    .local int rx775_pos
+    .local int rx775_off
+    .local int rx775_eos
+    .local int rx775_rep
+    .local pmc rx775_cur
+    (rx775_cur, rx775_pos, rx775_tgt) = self."!cursor_start"()
+    rx775_cur."!cursor_debug"("START ", "regex_declarator")
+    rx775_cur."!cursor_caparray"("signature")
+    .lex unicode:"$\x{a2}", rx775_cur
+    .local pmc match
+    .lex "$/", match
+    length rx775_eos, rx775_tgt
+    gt rx775_pos, rx775_eos, rx775_done
+    set rx775_off, 0
+    lt rx775_pos, 2, rx775_start
+    sub rx775_off, rx775_pos, 1
+    substr rx775_tgt, rx775_tgt, rx775_off
+  rx775_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan779_done
+    goto rxscan779_scan
+  rxscan779_loop:
+    ($P10) = rx775_cur."from"()
+    inc $P10
+    set rx775_pos, $P10
+    ge rx775_pos, rx775_eos, rxscan779_done
+  rxscan779_scan:
+    set_addr $I10, rxscan779_loop
+    rx775_cur."!mark_push"(0, rx775_pos, $I10)
+  rxscan779_done:
+.annotate 'line', 345
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+  alt781_0:
+.annotate 'line', 346
+    set_addr $I10, alt781_1
+    rx775_cur."!mark_push"(0, rx775_pos, $I10)
+.annotate 'line', 347
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+  # rx subcapture "proto"
+    set_addr $I10, rxcap_783_fail
+    rx775_cur."!mark_push"(0, rx775_pos, $I10)
+  # rx literal  "proto"
+    add $I11, rx775_pos, 5
+    gt $I11, rx775_eos, rx775_fail
+    sub $I11, rx775_pos, rx775_off
+    substr $S10, rx775_tgt, $I11, 5
+    ne $S10, "proto", rx775_fail
+    add rx775_pos, 5
+    set_addr $I10, rxcap_783_fail
+    ($I12, $I11) = rx775_cur."!mark_peek"($I10)
+    rx775_cur."!cursor_pos"($I11)
+    ($P10) = rx775_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx775_pos, "")
+    rx775_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("proto")
+    goto rxcap_783_done
+  rxcap_783_fail:
+    goto rx775_fail
+  rxcap_783_done:
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+  alt785_0:
+    set_addr $I10, alt785_1
+    rx775_cur."!mark_push"(0, rx775_pos, $I10)
+  # rx literal  "regex"
+    add $I11, rx775_pos, 5
+    gt $I11, rx775_eos, rx775_fail
+    sub $I11, rx775_pos, rx775_off
+    substr $S10, rx775_tgt, $I11, 5
+    ne $S10, "regex", rx775_fail
+    add rx775_pos, 5
+    goto alt785_end
+  alt785_1:
+    set_addr $I10, alt785_2
+    rx775_cur."!mark_push"(0, rx775_pos, $I10)
+  # rx literal  "token"
+    add $I11, rx775_pos, 5
+    gt $I11, rx775_eos, rx775_fail
+    sub $I11, rx775_pos, rx775_off
+    substr $S10, rx775_tgt, $I11, 5
+    ne $S10, "token", rx775_fail
+    add rx775_pos, 5
+    goto alt785_end
+  alt785_2:
+  # rx literal  "rule"
+    add $I11, rx775_pos, 4
+    gt $I11, rx775_eos, rx775_fail
+    sub $I11, rx775_pos, rx775_off
+    substr $S10, rx775_tgt, $I11, 4
+    ne $S10, "rule", rx775_fail
+    add rx775_pos, 4
+  alt785_end:
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
 .annotate 'line', 348
-    set_addr $I10, alt779_1
-    rx766_cur."!mark_push"(0, rx766_pos, $I10)
+  # rx subrule "deflongname" subtype=capture negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."deflongname"()
+    unless $P10, rx775_fail
+    rx775_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("deflongname")
+    rx775_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+  alt788_0:
 .annotate 'line', 349
+    set_addr $I10, alt788_1
+    rx775_cur."!mark_push"(0, rx775_pos, $I10)
+.annotate 'line', 350
   # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
   # rx literal  "{"
-    add $I11, rx766_pos, 1
-    gt $I11, rx766_eos, rx766_fail
-    sub $I11, rx766_pos, rx766_off
-    substr $S10, rx766_tgt, $I11, 1
-    ne $S10, "{", rx766_fail
-    add rx766_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
+    add $I11, rx775_pos, 1
+    gt $I11, rx775_eos, rx775_fail
+    sub $I11, rx775_pos, rx775_off
+    substr $S10, rx775_tgt, $I11, 1
+    ne $S10, "{", rx775_fail
+    add rx775_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
   # rx literal  "<...>"
-    add $I11, rx766_pos, 5
-    gt $I11, rx766_eos, rx766_fail
-    sub $I11, rx766_pos, rx766_off
-    substr $S10, rx766_tgt, $I11, 5
-    ne $S10, "<...>", rx766_fail
-    add rx766_pos, 5
-  # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
+    add $I11, rx775_pos, 5
+    gt $I11, rx775_eos, rx775_fail
+    sub $I11, rx775_pos, rx775_off
+    substr $S10, rx775_tgt, $I11, 5
+    ne $S10, "<...>", rx775_fail
+    add rx775_pos, 5
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx766_pos, 1
-    gt $I11, rx766_eos, rx766_fail
-    sub $I11, rx766_pos, rx766_off
-    substr $S10, rx766_tgt, $I11, 1
-    ne $S10, "}", rx766_fail
-    add rx766_pos, 1
+    add $I11, rx775_pos, 1
+    gt $I11, rx775_eos, rx775_fail
+    sub $I11, rx775_pos, rx775_off
+    substr $S10, rx775_tgt, $I11, 1
+    ne $S10, "}", rx775_fail
+    add rx775_pos, 1
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ENDSTMT"()
-    unless $P10, rx766_fail
-  # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-    goto alt779_end
-  alt779_1:
-.annotate 'line', 350
-  # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-  # rx subrule "panic" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."panic"("Proto regex body must be <...>")
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-  alt779_end:
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ENDSTMT"()
+    unless $P10, rx775_fail
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+    goto alt788_end
+  alt788_1:
 .annotate 'line', 351
   # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-.annotate 'line', 346
-    goto alt772_end
-  alt772_1:
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+  # rx subrule "panic" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."panic"("Proto regex body must be <...>")
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+  alt788_end:
 .annotate 'line', 352
   # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+.annotate 'line', 347
+    goto alt781_end
+  alt781_1:
+.annotate 'line', 353
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
   # rx subcapture "sym"
-    set_addr $I10, rxcap_789_fail
-    rx766_cur."!mark_push"(0, rx766_pos, $I10)
-  alt788_0:
-    set_addr $I10, alt788_1
-    rx766_cur."!mark_push"(0, rx766_pos, $I10)
+    set_addr $I10, rxcap_798_fail
+    rx775_cur."!mark_push"(0, rx775_pos, $I10)
+  alt797_0:
+    set_addr $I10, alt797_1
+    rx775_cur."!mark_push"(0, rx775_pos, $I10)
   # rx literal  "regex"
-    add $I11, rx766_pos, 5
-    gt $I11, rx766_eos, rx766_fail
-    sub $I11, rx766_pos, rx766_off
-    substr $S10, rx766_tgt, $I11, 5
-    ne $S10, "regex", rx766_fail
-    add rx766_pos, 5
-    goto alt788_end
-  alt788_1:
-    set_addr $I10, alt788_2
-    rx766_cur."!mark_push"(0, rx766_pos, $I10)
+    add $I11, rx775_pos, 5
+    gt $I11, rx775_eos, rx775_fail
+    sub $I11, rx775_pos, rx775_off
+    substr $S10, rx775_tgt, $I11, 5
+    ne $S10, "regex", rx775_fail
+    add rx775_pos, 5
+    goto alt797_end
+  alt797_1:
+    set_addr $I10, alt797_2
+    rx775_cur."!mark_push"(0, rx775_pos, $I10)
   # rx literal  "token"
-    add $I11, rx766_pos, 5
-    gt $I11, rx766_eos, rx766_fail
-    sub $I11, rx766_pos, rx766_off
-    substr $S10, rx766_tgt, $I11, 5
-    ne $S10, "token", rx766_fail
-    add rx766_pos, 5
-    goto alt788_end
-  alt788_2:
+    add $I11, rx775_pos, 5
+    gt $I11, rx775_eos, rx775_fail
+    sub $I11, rx775_pos, rx775_off
+    substr $S10, rx775_tgt, $I11, 5
+    ne $S10, "token", rx775_fail
+    add rx775_pos, 5
+    goto alt797_end
+  alt797_2:
   # rx literal  "rule"
-    add $I11, rx766_pos, 4
-    gt $I11, rx766_eos, rx766_fail
-    sub $I11, rx766_pos, rx766_off
-    substr $S10, rx766_tgt, $I11, 4
-    ne $S10, "rule", rx766_fail
-    add rx766_pos, 4
-  alt788_end:
-    set_addr $I10, rxcap_789_fail
-    ($I12, $I11) = rx766_cur."!mark_peek"($I10)
-    rx766_cur."!cursor_pos"($I11)
-    ($P10) = rx766_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx766_pos, "")
-    rx766_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx775_pos, 4
+    gt $I11, rx775_eos, rx775_fail
+    sub $I11, rx775_pos, rx775_off
+    substr $S10, rx775_tgt, $I11, 4
+    ne $S10, "rule", rx775_fail
+    add rx775_pos, 4
+  alt797_end:
+    set_addr $I10, rxcap_798_fail
+    ($I12, $I11) = rx775_cur."!mark_peek"($I10)
+    rx775_cur."!cursor_pos"($I11)
+    ($P10) = rx775_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx775_pos, "")
+    rx775_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_789_done
-  rxcap_789_fail:
-    goto rx766_fail
-  rxcap_789_done:
-  # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-.annotate 'line', 353
+    goto rxcap_798_done
+  rxcap_798_fail:
+    goto rx775_fail
+  rxcap_798_done:
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+.annotate 'line', 354
   # rx subrule "deflongname" subtype=capture negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."deflongname"()
-    unless $P10, rx766_fail
-    rx766_cur."!mark_push"(0, -1, 0, $P10)
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."deflongname"()
+    unless $P10, rx775_fail
+    rx775_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx766_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-.annotate 'line', 354
-  # rx subrule "newpad" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."newpad"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
+    rx775_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
 .annotate 'line', 355
-  # rx rxquantr793 ** 0..1
-    set_addr $I798, rxquantr793_done
-    rx766_cur."!mark_push"(0, rx766_pos, $I798)
-  rxquantr793_loop:
+  # rx subrule "newpad" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."newpad"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+.annotate 'line', 356
+  # rx rxquantr802 ** 0..1
+    set_addr $I807, rxquantr802_done
+    rx775_cur."!mark_push"(0, rx775_pos, $I807)
+  rxquantr802_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+  # rx literal  "("
+    add $I11, rx775_pos, 1
+    gt $I11, rx775_eos, rx775_fail
+    sub $I11, rx775_pos, rx775_off
+    substr $S10, rx775_tgt, $I11, 1
+    ne $S10, "(", rx775_fail
+    add rx775_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+  # rx subrule "signature" subtype=capture negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."signature"()
+    unless $P10, rx775_fail
+    rx775_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("signature")
+    rx775_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-  # rx literal  "("
-    add $I11, rx766_pos, 1
-    gt $I11, rx766_eos, rx766_fail
-    sub $I11, rx766_pos, rx766_off
-    substr $S10, rx766_tgt, $I11, 1
-    ne $S10, "(", rx766_fail
-    add rx766_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-  # rx subrule "signature" subtype=capture negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."signature"()
-    unless $P10, rx766_fail
-    rx766_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("signature")
-    rx766_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx766_pos, 1
-    gt $I11, rx766_eos, rx766_fail
-    sub $I11, rx766_pos, rx766_off
-    substr $S10, rx766_tgt, $I11, 1
-    ne $S10, ")", rx766_fail
-    add rx766_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-    (rx766_rep) = rx766_cur."!mark_commit"($I798)
-  rxquantr793_done:
-  # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-.annotate 'line', 356
+    add $I11, rx775_pos, 1
+    gt $I11, rx775_eos, rx775_fail
+    sub $I11, rx775_pos, rx775_off
+    substr $S10, rx775_tgt, $I11, 1
+    ne $S10, ")", rx775_fail
+    add rx775_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+    (rx775_rep) = rx775_cur."!mark_commit"($I807)
+  rxquantr802_done:
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+.annotate 'line', 357
   # rx reduce name="regex_declarator" key="open"
-    rx766_cur."!cursor_pos"(rx766_pos)
-    rx766_cur."!reduce"("regex_declarator", "open")
+    rx775_cur."!cursor_pos"(rx775_pos)
+    rx775_cur."!reduce"("regex_declarator", "open")
   # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-.annotate 'line', 357
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+.annotate 'line', 358
   # rx literal  "{"
-    add $I11, rx766_pos, 1
-    gt $I11, rx766_eos, rx766_fail
-    sub $I11, rx766_pos, rx766_off
-    substr $S10, rx766_tgt, $I11, 1
-    ne $S10, "{", rx766_fail
-    add rx766_pos, 1
+    add $I11, rx775_pos, 1
+    gt $I11, rx775_eos, rx775_fail
+    sub $I11, rx775_pos, rx775_off
+    substr $S10, rx775_tgt, $I11, 1
+    ne $S10, "{", rx775_fail
+    add rx775_pos, 1
   # rx subrule "LANG" subtype=capture negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."LANG"("Regex", "nibbler")
-    unless $P10, rx766_fail
-    rx766_cur."!mark_push"(0, -1, 0, $P10)
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."LANG"("Regex", "nibbler")
+    unless $P10, rx775_fail
+    rx775_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("p6regex")
-    rx766_pos = $P10."pos"()
+    rx775_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx766_pos, 1
-    gt $I11, rx766_eos, rx766_fail
-    sub $I11, rx766_pos, rx766_off
-    substr $S10, rx766_tgt, $I11, 1
-    ne $S10, "}", rx766_fail
-    add rx766_pos, 1
+    add $I11, rx775_pos, 1
+    gt $I11, rx775_eos, rx775_fail
+    sub $I11, rx775_pos, rx775_off
+    substr $S10, rx775_tgt, $I11, 1
+    ne $S10, "}", rx775_fail
+    add rx775_pos, 1
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ENDSTMT"()
-    unless $P10, rx766_fail
-  # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-  alt772_end:
-.annotate 'line', 358
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ENDSTMT"()
+    unless $P10, rx775_fail
+  # rx subrule "ws" subtype=method negate=
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+  alt781_end:
+.annotate 'line', 359
   # rx subrule "ws" subtype=method negate=
-    rx766_cur."!cursor_pos"(rx766_pos)
-    $P10 = rx766_cur."ws"()
-    unless $P10, rx766_fail
-    rx766_pos = $P10."pos"()
-.annotate 'line', 344
+    rx775_cur."!cursor_pos"(rx775_pos)
+    $P10 = rx775_cur."ws"()
+    unless $P10, rx775_fail
+    rx775_pos = $P10."pos"()
+.annotate 'line', 345
   # rx pass
-    rx766_cur."!cursor_pass"(rx766_pos, "regex_declarator")
-    rx766_cur."!cursor_debug"("PASS  ", "regex_declarator", " at pos=", rx766_pos)
-    .return (rx766_cur)
-  rx766_fail:
+    rx775_cur."!cursor_pass"(rx775_pos, "regex_declarator")
+    rx775_cur."!cursor_debug"("PASS  ", "regex_declarator", " at pos=", rx775_pos)
+    .return (rx775_cur)
+  rx775_fail:
 .annotate 'line', 4
-    (rx766_rep, rx766_pos, $I10, $P10) = rx766_cur."!mark_fail"(0)
-    lt rx766_pos, -1, rx766_done
-    eq rx766_pos, -1, rx766_fail
+    (rx775_rep, rx775_pos, $I10, $P10) = rx775_cur."!mark_fail"(0)
+    lt rx775_pos, -1, rx775_done
+    eq rx775_pos, -1, rx775_fail
     jump $I10
-  rx766_done:
-    rx766_cur."!cursor_fail"()
-    rx766_cur."!cursor_debug"("FAIL  ", "regex_declarator")
-    .return (rx766_cur)
+  rx775_done:
+    rx775_cur."!cursor_fail"()
+    rx775_cur."!cursor_debug"("FAIL  ", "regex_declarator")
+    .return (rx775_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__regex_declarator"  :subid("179_1277356913.9538") :method
+.sub "!PREFIX__regex_declarator"  :subid("181_1278500537.15927") :method
 .annotate 'line', 4
-    $P768 = self."!PREFIX__!subrule"("ws", "")
-    new $P769, "ResizablePMCArray"
-    push $P769, $P768
-    .return ($P769)
+    $P777 = self."!PREFIX__!subrule"("ws", "")
+    new $P778, "ResizablePMCArray"
+    push $P778, $P777
+    .return ($P778)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "dotty"  :subid("180_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "dotty"  :subid("182_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx804_tgt
-    .local int rx804_pos
-    .local int rx804_off
-    .local int rx804_eos
-    .local int rx804_rep
-    .local pmc rx804_cur
-    (rx804_cur, rx804_pos, rx804_tgt) = self."!cursor_start"()
-    rx804_cur."!cursor_debug"("START ", "dotty")
-    rx804_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx804_cur
-    .local pmc match
-    .lex "$/", match
-    length rx804_eos, rx804_tgt
-    gt rx804_pos, rx804_eos, rx804_done
-    set rx804_off, 0
-    lt rx804_pos, 2, rx804_start
-    sub rx804_off, rx804_pos, 1
-    substr rx804_tgt, rx804_tgt, rx804_off
-  rx804_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan808_done
-    goto rxscan808_scan
-  rxscan808_loop:
-    ($P10) = rx804_cur."from"()
-    inc $P10
-    set rx804_pos, $P10
-    ge rx804_pos, rx804_eos, rxscan808_done
-  rxscan808_scan:
-    set_addr $I10, rxscan808_loop
-    rx804_cur."!mark_push"(0, rx804_pos, $I10)
-  rxscan808_done:
-.annotate 'line', 362
-  # rx literal  "."
-    add $I11, rx804_pos, 1
-    gt $I11, rx804_eos, rx804_fail
-    sub $I11, rx804_pos, rx804_off
-    substr $S10, rx804_tgt, $I11, 1
-    ne $S10, ".", rx804_fail
-    add rx804_pos, 1
-  alt809_0:
+    .local string rx813_tgt
+    .local int rx813_pos
+    .local int rx813_off
+    .local int rx813_eos
+    .local int rx813_rep
+    .local pmc rx813_cur
+    (rx813_cur, rx813_pos, rx813_tgt) = self."!cursor_start"()
+    rx813_cur."!cursor_debug"("START ", "dotty")
+    rx813_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx813_cur
+    .local pmc match
+    .lex "$/", match
+    length rx813_eos, rx813_tgt
+    gt rx813_pos, rx813_eos, rx813_done
+    set rx813_off, 0
+    lt rx813_pos, 2, rx813_start
+    sub rx813_off, rx813_pos, 1
+    substr rx813_tgt, rx813_tgt, rx813_off
+  rx813_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan817_done
+    goto rxscan817_scan
+  rxscan817_loop:
+    ($P10) = rx813_cur."from"()
+    inc $P10
+    set rx813_pos, $P10
+    ge rx813_pos, rx813_eos, rxscan817_done
+  rxscan817_scan:
+    set_addr $I10, rxscan817_loop
+    rx813_cur."!mark_push"(0, rx813_pos, $I10)
+  rxscan817_done:
 .annotate 'line', 363
-    set_addr $I10, alt809_1
-    rx804_cur."!mark_push"(0, rx804_pos, $I10)
+  # rx literal  "."
+    add $I11, rx813_pos, 1
+    gt $I11, rx813_eos, rx813_fail
+    sub $I11, rx813_pos, rx813_off
+    substr $S10, rx813_tgt, $I11, 1
+    ne $S10, ".", rx813_fail
+    add rx813_pos, 1
+  alt818_0:
+.annotate 'line', 364
+    set_addr $I10, alt818_1
+    rx813_cur."!mark_push"(0, rx813_pos, $I10)
   # rx subrule "deflongname" subtype=capture negate=
-    rx804_cur."!cursor_pos"(rx804_pos)
-    $P10 = rx804_cur."deflongname"()
-    unless $P10, rx804_fail
-    rx804_cur."!mark_push"(0, -1, 0, $P10)
+    rx813_cur."!cursor_pos"(rx813_pos)
+    $P10 = rx813_cur."deflongname"()
+    unless $P10, rx813_fail
+    rx813_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("longname=deflongname")
-    rx804_pos = $P10."pos"()
-    goto alt809_end
-  alt809_1:
-.annotate 'line', 364
+    rx813_pos = $P10."pos"()
+    goto alt818_end
+  alt818_1:
+.annotate 'line', 365
   # rx enumcharlist negate=0 zerowidth
-    ge rx804_pos, rx804_eos, rx804_fail
-    sub $I10, rx804_pos, rx804_off
-    substr $S10, rx804_tgt, $I10, 1
+    ge rx813_pos, rx813_eos, rx813_fail
+    sub $I10, rx813_pos, rx813_off
+    substr $S10, rx813_tgt, $I10, 1
     index $I11, "'\"", $S10
-    lt $I11, 0, rx804_fail
+    lt $I11, 0, rx813_fail
   # rx subrule "quote" subtype=capture negate=
-    rx804_cur."!cursor_pos"(rx804_pos)
-    $P10 = rx804_cur."quote"()
-    unless $P10, rx804_fail
-    rx804_cur."!mark_push"(0, -1, 0, $P10)
+    rx813_cur."!cursor_pos"(rx813_pos)
+    $P10 = rx813_cur."quote"()
+    unless $P10, rx813_fail
+    rx813_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote")
-    rx804_pos = $P10."pos"()
-  alt810_0:
-.annotate 'line', 365
-    set_addr $I10, alt810_1
-    rx804_cur."!mark_push"(0, rx804_pos, $I10)
+    rx813_pos = $P10."pos"()
+  alt819_0:
+.annotate 'line', 366
+    set_addr $I10, alt819_1
+    rx813_cur."!mark_push"(0, rx813_pos, $I10)
   # rx enumcharlist negate=0 zerowidth
-    ge rx804_pos, rx804_eos, rx804_fail
-    sub $I10, rx804_pos, rx804_off
-    substr $S10, rx804_tgt, $I10, 1
+    ge rx813_pos, rx813_eos, rx813_fail
+    sub $I10, rx813_pos, rx813_off
+    substr $S10, rx813_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx804_fail
-    goto alt810_end
-  alt810_1:
+    lt $I11, 0, rx813_fail
+    goto alt819_end
+  alt819_1:
   # rx subrule "panic" subtype=method negate=
-    rx804_cur."!cursor_pos"(rx804_pos)
-    $P10 = rx804_cur."panic"("Quoted method name requires parenthesized arguments")
-    unless $P10, rx804_fail
-    rx804_pos = $P10."pos"()
-  alt810_end:
-  alt809_end:
-.annotate 'line', 371
-  # rx rxquantr811 ** 0..1
-    set_addr $I813, rxquantr811_done
-    rx804_cur."!mark_push"(0, rx804_pos, $I813)
-  rxquantr811_loop:
-  alt812_0:
-.annotate 'line', 368
-    set_addr $I10, alt812_1
-    rx804_cur."!mark_push"(0, rx804_pos, $I10)
+    rx813_cur."!cursor_pos"(rx813_pos)
+    $P10 = rx813_cur."panic"("Quoted method name requires parenthesized arguments")
+    unless $P10, rx813_fail
+    rx813_pos = $P10."pos"()
+  alt819_end:
+  alt818_end:
+.annotate 'line', 372
+  # rx rxquantr820 ** 0..1
+    set_addr $I822, rxquantr820_done
+    rx813_cur."!mark_push"(0, rx813_pos, $I822)
+  rxquantr820_loop:
+  alt821_0:
 .annotate 'line', 369
+    set_addr $I10, alt821_1
+    rx813_cur."!mark_push"(0, rx813_pos, $I10)
+.annotate 'line', 370
   # rx enumcharlist negate=0 zerowidth
-    ge rx804_pos, rx804_eos, rx804_fail
-    sub $I10, rx804_pos, rx804_off
-    substr $S10, rx804_tgt, $I10, 1
+    ge rx813_pos, rx813_eos, rx813_fail
+    sub $I10, rx813_pos, rx813_off
+    substr $S10, rx813_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx804_fail
+    lt $I11, 0, rx813_fail
   # rx subrule "args" subtype=capture negate=
-    rx804_cur."!cursor_pos"(rx804_pos)
-    $P10 = rx804_cur."args"()
-    unless $P10, rx804_fail
-    rx804_cur."!mark_push"(0, -1, 0, $P10)
+    rx813_cur."!cursor_pos"(rx813_pos)
+    $P10 = rx813_cur."args"()
+    unless $P10, rx813_fail
+    rx813_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx804_pos = $P10."pos"()
-    goto alt812_end
-  alt812_1:
-.annotate 'line', 370
+    rx813_pos = $P10."pos"()
+    goto alt821_end
+  alt821_1:
+.annotate 'line', 371
   # rx literal  ":"
-    add $I11, rx804_pos, 1
-    gt $I11, rx804_eos, rx804_fail
-    sub $I11, rx804_pos, rx804_off
-    substr $S10, rx804_tgt, $I11, 1
-    ne $S10, ":", rx804_fail
-    add rx804_pos, 1
+    add $I11, rx813_pos, 1
+    gt $I11, rx813_eos, rx813_fail
+    sub $I11, rx813_pos, rx813_off
+    substr $S10, rx813_tgt, $I11, 1
+    ne $S10, ":", rx813_fail
+    add rx813_pos, 1
   # rx charclass s
-    ge rx804_pos, rx804_eos, rx804_fail
-    sub $I10, rx804_pos, rx804_off
-    is_cclass $I11, 32, rx804_tgt, $I10
-    unless $I11, rx804_fail
-    inc rx804_pos
+    ge rx813_pos, rx813_eos, rx813_fail
+    sub $I10, rx813_pos, rx813_off
+    is_cclass $I11, 32, rx813_tgt, $I10
+    unless $I11, rx813_fail
+    inc rx813_pos
   # rx subrule "arglist" subtype=capture negate=
-    rx804_cur."!cursor_pos"(rx804_pos)
-    $P10 = rx804_cur."arglist"()
-    unless $P10, rx804_fail
-    rx804_cur."!mark_push"(0, -1, 0, $P10)
+    rx813_cur."!cursor_pos"(rx813_pos)
+    $P10 = rx813_cur."arglist"()
+    unless $P10, rx813_fail
+    rx813_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx804_pos = $P10."pos"()
-  alt812_end:
-.annotate 'line', 371
-    (rx804_rep) = rx804_cur."!mark_commit"($I813)
-  rxquantr811_done:
-.annotate 'line', 361
+    rx813_pos = $P10."pos"()
+  alt821_end:
+.annotate 'line', 372
+    (rx813_rep) = rx813_cur."!mark_commit"($I822)
+  rxquantr820_done:
+.annotate 'line', 362
   # rx pass
-    rx804_cur."!cursor_pass"(rx804_pos, "dotty")
-    rx804_cur."!cursor_debug"("PASS  ", "dotty", " at pos=", rx804_pos)
-    .return (rx804_cur)
-  rx804_fail:
+    rx813_cur."!cursor_pass"(rx813_pos, "dotty")
+    rx813_cur."!cursor_debug"("PASS  ", "dotty", " at pos=", rx813_pos)
+    .return (rx813_cur)
+  rx813_fail:
 .annotate 'line', 4
-    (rx804_rep, rx804_pos, $I10, $P10) = rx804_cur."!mark_fail"(0)
-    lt rx804_pos, -1, rx804_done
-    eq rx804_pos, -1, rx804_fail
+    (rx813_rep, rx813_pos, $I10, $P10) = rx813_cur."!mark_fail"(0)
+    lt rx813_pos, -1, rx813_done
+    eq rx813_pos, -1, rx813_fail
     jump $I10
-  rx804_done:
-    rx804_cur."!cursor_fail"()
-    rx804_cur."!cursor_debug"("FAIL  ", "dotty")
-    .return (rx804_cur)
+  rx813_done:
+    rx813_cur."!cursor_fail"()
+    rx813_cur."!cursor_debug"("FAIL  ", "dotty")
+    .return (rx813_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__dotty"  :subid("181_1277356913.9538") :method
+.sub "!PREFIX__dotty"  :subid("183_1278500537.15927") :method
 .annotate 'line', 4
-    $P806 = self."!PREFIX__!subrule"("deflongname", ".")
-    new $P807, "ResizablePMCArray"
-    push $P807, "'"
-    push $P807, "\""
-    push $P807, $P806
-    .return ($P807)
+    $P815 = self."!PREFIX__!subrule"("deflongname", ".")
+    new $P816, "ResizablePMCArray"
+    push $P816, "'"
+    push $P816, "\""
+    push $P816, $P815
+    .return ($P816)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term"  :subid("182_1277356913.9538") :method
-.annotate 'line', 375
-    $P815 = self."!protoregex"("term")
-    .return ($P815)
+.sub "term"  :subid("184_1278500537.15927") :method
+.annotate 'line', 376
+    $P824 = self."!protoregex"("term")
+    .return ($P824)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term"  :subid("183_1277356913.9538") :method
-.annotate 'line', 375
-    $P817 = self."!PREFIX__!protoregex"("term")
-    .return ($P817)
+.sub "!PREFIX__term"  :subid("185_1278500537.15927") :method
+.annotate 'line', 376
+    $P826 = self."!PREFIX__!protoregex"("term")
+    .return ($P826)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<self>"  :subid("184_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "term:sym<self>"  :subid("186_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx819_tgt
-    .local int rx819_pos
-    .local int rx819_off
-    .local int rx819_eos
-    .local int rx819_rep
-    .local pmc rx819_cur
-    (rx819_cur, rx819_pos, rx819_tgt) = self."!cursor_start"()
-    rx819_cur."!cursor_debug"("START ", "term:sym<self>")
-    .lex unicode:"$\x{a2}", rx819_cur
-    .local pmc match
-    .lex "$/", match
-    length rx819_eos, rx819_tgt
-    gt rx819_pos, rx819_eos, rx819_done
-    set rx819_off, 0
-    lt rx819_pos, 2, rx819_start
-    sub rx819_off, rx819_pos, 1
-    substr rx819_tgt, rx819_tgt, rx819_off
-  rx819_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan822_done
-    goto rxscan822_scan
-  rxscan822_loop:
-    ($P10) = rx819_cur."from"()
-    inc $P10
-    set rx819_pos, $P10
-    ge rx819_pos, rx819_eos, rxscan822_done
-  rxscan822_scan:
-    set_addr $I10, rxscan822_loop
-    rx819_cur."!mark_push"(0, rx819_pos, $I10)
-  rxscan822_done:
-.annotate 'line', 377
+    .local string rx828_tgt
+    .local int rx828_pos
+    .local int rx828_off
+    .local int rx828_eos
+    .local int rx828_rep
+    .local pmc rx828_cur
+    (rx828_cur, rx828_pos, rx828_tgt) = self."!cursor_start"()
+    rx828_cur."!cursor_debug"("START ", "term:sym<self>")
+    .lex unicode:"$\x{a2}", rx828_cur
+    .local pmc match
+    .lex "$/", match
+    length rx828_eos, rx828_tgt
+    gt rx828_pos, rx828_eos, rx828_done
+    set rx828_off, 0
+    lt rx828_pos, 2, rx828_start
+    sub rx828_off, rx828_pos, 1
+    substr rx828_tgt, rx828_tgt, rx828_off
+  rx828_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan831_done
+    goto rxscan831_scan
+  rxscan831_loop:
+    ($P10) = rx828_cur."from"()
+    inc $P10
+    set rx828_pos, $P10
+    ge rx828_pos, rx828_eos, rxscan831_done
+  rxscan831_scan:
+    set_addr $I10, rxscan831_loop
+    rx828_cur."!mark_push"(0, rx828_pos, $I10)
+  rxscan831_done:
+.annotate 'line', 378
   # rx subcapture "sym"
-    set_addr $I10, rxcap_823_fail
-    rx819_cur."!mark_push"(0, rx819_pos, $I10)
+    set_addr $I10, rxcap_832_fail
+    rx828_cur."!mark_push"(0, rx828_pos, $I10)
   # rx literal  "self"
-    add $I11, rx819_pos, 4
-    gt $I11, rx819_eos, rx819_fail
-    sub $I11, rx819_pos, rx819_off
-    substr $S10, rx819_tgt, $I11, 4
-    ne $S10, "self", rx819_fail
-    add rx819_pos, 4
-    set_addr $I10, rxcap_823_fail
-    ($I12, $I11) = rx819_cur."!mark_peek"($I10)
-    rx819_cur."!cursor_pos"($I11)
-    ($P10) = rx819_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx819_pos, "")
-    rx819_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx828_pos, 4
+    gt $I11, rx828_eos, rx828_fail
+    sub $I11, rx828_pos, rx828_off
+    substr $S10, rx828_tgt, $I11, 4
+    ne $S10, "self", rx828_fail
+    add rx828_pos, 4
+    set_addr $I10, rxcap_832_fail
+    ($I12, $I11) = rx828_cur."!mark_peek"($I10)
+    rx828_cur."!cursor_pos"($I11)
+    ($P10) = rx828_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx828_pos, "")
+    rx828_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_823_done
-  rxcap_823_fail:
-    goto rx819_fail
-  rxcap_823_done:
+    goto rxcap_832_done
+  rxcap_832_fail:
+    goto rx828_fail
+  rxcap_832_done:
   # rxanchor rwb
-    le rx819_pos, 0, rx819_fail
-    sub $I10, rx819_pos, rx819_off
-    is_cclass $I11, 8192, rx819_tgt, $I10
-    if $I11, rx819_fail
+    le rx828_pos, 0, rx828_fail
+    sub $I10, rx828_pos, rx828_off
+    is_cclass $I11, 8192, rx828_tgt, $I10
+    if $I11, rx828_fail
     dec $I10
-    is_cclass $I11, 8192, rx819_tgt, $I10
-    unless $I11, rx819_fail
+    is_cclass $I11, 8192, rx828_tgt, $I10
+    unless $I11, rx828_fail
   # rx pass
-    rx819_cur."!cursor_pass"(rx819_pos, "term:sym<self>")
-    rx819_cur."!cursor_debug"("PASS  ", "term:sym<self>", " at pos=", rx819_pos)
-    .return (rx819_cur)
-  rx819_fail:
+    rx828_cur."!cursor_pass"(rx828_pos, "term:sym<self>")
+    rx828_cur."!cursor_debug"("PASS  ", "term:sym<self>", " at pos=", rx828_pos)
+    .return (rx828_cur)
+  rx828_fail:
 .annotate 'line', 4
-    (rx819_rep, rx819_pos, $I10, $P10) = rx819_cur."!mark_fail"(0)
-    lt rx819_pos, -1, rx819_done
-    eq rx819_pos, -1, rx819_fail
+    (rx828_rep, rx828_pos, $I10, $P10) = rx828_cur."!mark_fail"(0)
+    lt rx828_pos, -1, rx828_done
+    eq rx828_pos, -1, rx828_fail
     jump $I10
-  rx819_done:
-    rx819_cur."!cursor_fail"()
-    rx819_cur."!cursor_debug"("FAIL  ", "term:sym<self>")
-    .return (rx819_cur)
+  rx828_done:
+    rx828_cur."!cursor_fail"()
+    rx828_cur."!cursor_debug"("FAIL  ", "term:sym<self>")
+    .return (rx828_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<self>"  :subid("185_1277356913.9538") :method
+.sub "!PREFIX__term:sym<self>"  :subid("187_1278500537.15927") :method
 .annotate 'line', 4
-    new $P821, "ResizablePMCArray"
-    push $P821, "self"
-    .return ($P821)
+    new $P830, "ResizablePMCArray"
+    push $P830, "self"
+    .return ($P830)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<identifier>"  :subid("186_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "term:sym<identifier>"  :subid("188_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx825_tgt
-    .local int rx825_pos
-    .local int rx825_off
-    .local int rx825_eos
-    .local int rx825_rep
-    .local pmc rx825_cur
-    (rx825_cur, rx825_pos, rx825_tgt) = self."!cursor_start"()
-    rx825_cur."!cursor_debug"("START ", "term:sym<identifier>")
-    .lex unicode:"$\x{a2}", rx825_cur
+    .local string rx834_tgt
+    .local int rx834_pos
+    .local int rx834_off
+    .local int rx834_eos
+    .local int rx834_rep
+    .local pmc rx834_cur
+    (rx834_cur, rx834_pos, rx834_tgt) = self."!cursor_start"()
+    rx834_cur."!cursor_debug"("START ", "term:sym<identifier>")
+    .lex unicode:"$\x{a2}", rx834_cur
     .local pmc match
     .lex "$/", match
-    length rx825_eos, rx825_tgt
-    gt rx825_pos, rx825_eos, rx825_done
-    set rx825_off, 0
-    lt rx825_pos, 2, rx825_start
-    sub rx825_off, rx825_pos, 1
-    substr rx825_tgt, rx825_tgt, rx825_off
-  rx825_start:
+    length rx834_eos, rx834_tgt
+    gt rx834_pos, rx834_eos, rx834_done
+    set rx834_off, 0
+    lt rx834_pos, 2, rx834_start
+    sub rx834_off, rx834_pos, 1
+    substr rx834_tgt, rx834_tgt, rx834_off
+  rx834_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan829_done
-    goto rxscan829_scan
-  rxscan829_loop:
-    ($P10) = rx825_cur."from"()
+    ne $I10, -1, rxscan838_done
+    goto rxscan838_scan
+  rxscan838_loop:
+    ($P10) = rx834_cur."from"()
     inc $P10
-    set rx825_pos, $P10
-    ge rx825_pos, rx825_eos, rxscan829_done
-  rxscan829_scan:
-    set_addr $I10, rxscan829_loop
-    rx825_cur."!mark_push"(0, rx825_pos, $I10)
-  rxscan829_done:
-.annotate 'line', 380
+    set rx834_pos, $P10
+    ge rx834_pos, rx834_eos, rxscan838_done
+  rxscan838_scan:
+    set_addr $I10, rxscan838_loop
+    rx834_cur."!mark_push"(0, rx834_pos, $I10)
+  rxscan838_done:
+.annotate 'line', 381
   # rx subrule "deflongname" subtype=capture negate=
-    rx825_cur."!cursor_pos"(rx825_pos)
-    $P10 = rx825_cur."deflongname"()
-    unless $P10, rx825_fail
-    rx825_cur."!mark_push"(0, -1, 0, $P10)
+    rx834_cur."!cursor_pos"(rx834_pos)
+    $P10 = rx834_cur."deflongname"()
+    unless $P10, rx834_fail
+    rx834_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx825_pos = $P10."pos"()
+    rx834_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx825_pos, rx825_eos, rx825_fail
-    sub $I10, rx825_pos, rx825_off
-    substr $S10, rx825_tgt, $I10, 1
+    ge rx834_pos, rx834_eos, rx834_fail
+    sub $I10, rx834_pos, rx834_off
+    substr $S10, rx834_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx825_fail
+    lt $I11, 0, rx834_fail
   # rx subrule "args" subtype=capture negate=
-    rx825_cur."!cursor_pos"(rx825_pos)
-    $P10 = rx825_cur."args"()
-    unless $P10, rx825_fail
-    rx825_cur."!mark_push"(0, -1, 0, $P10)
+    rx834_cur."!cursor_pos"(rx834_pos)
+    $P10 = rx834_cur."args"()
+    unless $P10, rx834_fail
+    rx834_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx825_pos = $P10."pos"()
-.annotate 'line', 379
+    rx834_pos = $P10."pos"()
+.annotate 'line', 380
   # rx pass
-    rx825_cur."!cursor_pass"(rx825_pos, "term:sym<identifier>")
-    rx825_cur."!cursor_debug"("PASS  ", "term:sym<identifier>", " at pos=", rx825_pos)
-    .return (rx825_cur)
-  rx825_fail:
+    rx834_cur."!cursor_pass"(rx834_pos, "term:sym<identifier>")
+    rx834_cur."!cursor_debug"("PASS  ", "term:sym<identifier>", " at pos=", rx834_pos)
+    .return (rx834_cur)
+  rx834_fail:
 .annotate 'line', 4
-    (rx825_rep, rx825_pos, $I10, $P10) = rx825_cur."!mark_fail"(0)
-    lt rx825_pos, -1, rx825_done
-    eq rx825_pos, -1, rx825_fail
+    (rx834_rep, rx834_pos, $I10, $P10) = rx834_cur."!mark_fail"(0)
+    lt rx834_pos, -1, rx834_done
+    eq rx834_pos, -1, rx834_fail
     jump $I10
-  rx825_done:
-    rx825_cur."!cursor_fail"()
-    rx825_cur."!cursor_debug"("FAIL  ", "term:sym<identifier>")
-    .return (rx825_cur)
+  rx834_done:
+    rx834_cur."!cursor_fail"()
+    rx834_cur."!cursor_debug"("FAIL  ", "term:sym<identifier>")
+    .return (rx834_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<identifier>"  :subid("187_1277356913.9538") :method
+.sub "!PREFIX__term:sym<identifier>"  :subid("189_1278500537.15927") :method
 .annotate 'line', 4
-    $P827 = self."!PREFIX__!subrule"("deflongname", "")
-    new $P828, "ResizablePMCArray"
-    push $P828, $P827
-    .return ($P828)
+    $P836 = self."!PREFIX__!subrule"("deflongname", "")
+    new $P837, "ResizablePMCArray"
+    push $P837, $P836
+    .return ($P837)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<name>"  :subid("188_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "term:sym<name>"  :subid("190_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx831_tgt
-    .local int rx831_pos
-    .local int rx831_off
-    .local int rx831_eos
-    .local int rx831_rep
-    .local pmc rx831_cur
-    (rx831_cur, rx831_pos, rx831_tgt) = self."!cursor_start"()
-    rx831_cur."!cursor_debug"("START ", "term:sym<name>")
-    rx831_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx831_cur
-    .local pmc match
-    .lex "$/", match
-    length rx831_eos, rx831_tgt
-    gt rx831_pos, rx831_eos, rx831_done
-    set rx831_off, 0
-    lt rx831_pos, 2, rx831_start
-    sub rx831_off, rx831_pos, 1
-    substr rx831_tgt, rx831_tgt, rx831_off
-  rx831_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan835_done
-    goto rxscan835_scan
-  rxscan835_loop:
-    ($P10) = rx831_cur."from"()
-    inc $P10
-    set rx831_pos, $P10
-    ge rx831_pos, rx831_eos, rxscan835_done
-  rxscan835_scan:
-    set_addr $I10, rxscan835_loop
-    rx831_cur."!mark_push"(0, rx831_pos, $I10)
-  rxscan835_done:
-.annotate 'line', 384
+    .local string rx840_tgt
+    .local int rx840_pos
+    .local int rx840_off
+    .local int rx840_eos
+    .local int rx840_rep
+    .local pmc rx840_cur
+    (rx840_cur, rx840_pos, rx840_tgt) = self."!cursor_start"()
+    rx840_cur."!cursor_debug"("START ", "term:sym<name>")
+    rx840_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx840_cur
+    .local pmc match
+    .lex "$/", match
+    length rx840_eos, rx840_tgt
+    gt rx840_pos, rx840_eos, rx840_done
+    set rx840_off, 0
+    lt rx840_pos, 2, rx840_start
+    sub rx840_off, rx840_pos, 1
+    substr rx840_tgt, rx840_tgt, rx840_off
+  rx840_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan844_done
+    goto rxscan844_scan
+  rxscan844_loop:
+    ($P10) = rx840_cur."from"()
+    inc $P10
+    set rx840_pos, $P10
+    ge rx840_pos, rx840_eos, rxscan844_done
+  rxscan844_scan:
+    set_addr $I10, rxscan844_loop
+    rx840_cur."!mark_push"(0, rx840_pos, $I10)
+  rxscan844_done:
+.annotate 'line', 385
   # rx subrule "name" subtype=capture negate=
-    rx831_cur."!cursor_pos"(rx831_pos)
-    $P10 = rx831_cur."name"()
-    unless $P10, rx831_fail
-    rx831_cur."!mark_push"(0, -1, 0, $P10)
+    rx840_cur."!cursor_pos"(rx840_pos)
+    $P10 = rx840_cur."name"()
+    unless $P10, rx840_fail
+    rx840_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx831_pos = $P10."pos"()
-  # rx rxquantr836 ** 0..1
-    set_addr $I837, rxquantr836_done
-    rx831_cur."!mark_push"(0, rx831_pos, $I837)
-  rxquantr836_loop:
+    rx840_pos = $P10."pos"()
+  # rx rxquantr845 ** 0..1
+    set_addr $I846, rxquantr845_done
+    rx840_cur."!mark_push"(0, rx840_pos, $I846)
+  rxquantr845_loop:
   # rx subrule "args" subtype=capture negate=
-    rx831_cur."!cursor_pos"(rx831_pos)
-    $P10 = rx831_cur."args"()
-    unless $P10, rx831_fail
-    rx831_cur."!mark_push"(0, -1, 0, $P10)
+    rx840_cur."!cursor_pos"(rx840_pos)
+    $P10 = rx840_cur."args"()
+    unless $P10, rx840_fail
+    rx840_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx831_pos = $P10."pos"()
-    (rx831_rep) = rx831_cur."!mark_commit"($I837)
-  rxquantr836_done:
-.annotate 'line', 383
+    rx840_pos = $P10."pos"()
+    (rx840_rep) = rx840_cur."!mark_commit"($I846)
+  rxquantr845_done:
+.annotate 'line', 384
   # rx pass
-    rx831_cur."!cursor_pass"(rx831_pos, "term:sym<name>")
-    rx831_cur."!cursor_debug"("PASS  ", "term:sym<name>", " at pos=", rx831_pos)
-    .return (rx831_cur)
-  rx831_fail:
+    rx840_cur."!cursor_pass"(rx840_pos, "term:sym<name>")
+    rx840_cur."!cursor_debug"("PASS  ", "term:sym<name>", " at pos=", rx840_pos)
+    .return (rx840_cur)
+  rx840_fail:
 .annotate 'line', 4
-    (rx831_rep, rx831_pos, $I10, $P10) = rx831_cur."!mark_fail"(0)
-    lt rx831_pos, -1, rx831_done
-    eq rx831_pos, -1, rx831_fail
+    (rx840_rep, rx840_pos, $I10, $P10) = rx840_cur."!mark_fail"(0)
+    lt rx840_pos, -1, rx840_done
+    eq rx840_pos, -1, rx840_fail
     jump $I10
-  rx831_done:
-    rx831_cur."!cursor_fail"()
-    rx831_cur."!cursor_debug"("FAIL  ", "term:sym<name>")
-    .return (rx831_cur)
+  rx840_done:
+    rx840_cur."!cursor_fail"()
+    rx840_cur."!cursor_debug"("FAIL  ", "term:sym<name>")
+    .return (rx840_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<name>"  :subid("189_1277356913.9538") :method
+.sub "!PREFIX__term:sym<name>"  :subid("191_1278500537.15927") :method
 .annotate 'line', 4
-    $P833 = self."!PREFIX__!subrule"("name", "")
-    new $P834, "ResizablePMCArray"
-    push $P834, $P833
-    .return ($P834)
+    $P842 = self."!PREFIX__!subrule"("name", "")
+    new $P843, "ResizablePMCArray"
+    push $P843, $P842
+    .return ($P843)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<pir::op>"  :subid("190_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "term:sym<pir::op>"  :subid("192_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx839_tgt
-    .local int rx839_pos
-    .local int rx839_off
-    .local int rx839_eos
-    .local int rx839_rep
-    .local pmc rx839_cur
-    (rx839_cur, rx839_pos, rx839_tgt) = self."!cursor_start"()
-    rx839_cur."!cursor_debug"("START ", "term:sym<pir::op>")
-    rx839_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx839_cur
+    .local string rx848_tgt
+    .local int rx848_pos
+    .local int rx848_off
+    .local int rx848_eos
+    .local int rx848_rep
+    .local pmc rx848_cur
+    (rx848_cur, rx848_pos, rx848_tgt) = self."!cursor_start"()
+    rx848_cur."!cursor_debug"("START ", "term:sym<pir::op>")
+    rx848_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx848_cur
     .local pmc match
     .lex "$/", match
-    length rx839_eos, rx839_tgt
-    gt rx839_pos, rx839_eos, rx839_done
-    set rx839_off, 0
-    lt rx839_pos, 2, rx839_start
-    sub rx839_off, rx839_pos, 1
-    substr rx839_tgt, rx839_tgt, rx839_off
-  rx839_start:
+    length rx848_eos, rx848_tgt
+    gt rx848_pos, rx848_eos, rx848_done
+    set rx848_off, 0
+    lt rx848_pos, 2, rx848_start
+    sub rx848_off, rx848_pos, 1
+    substr rx848_tgt, rx848_tgt, rx848_off
+  rx848_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan842_done
-    goto rxscan842_scan
-  rxscan842_loop:
-    ($P10) = rx839_cur."from"()
+    ne $I10, -1, rxscan851_done
+    goto rxscan851_scan
+  rxscan851_loop:
+    ($P10) = rx848_cur."from"()
     inc $P10
-    set rx839_pos, $P10
-    ge rx839_pos, rx839_eos, rxscan842_done
-  rxscan842_scan:
-    set_addr $I10, rxscan842_loop
-    rx839_cur."!mark_push"(0, rx839_pos, $I10)
-  rxscan842_done:
-.annotate 'line', 388
+    set rx848_pos, $P10
+    ge rx848_pos, rx848_eos, rxscan851_done
+  rxscan851_scan:
+    set_addr $I10, rxscan851_loop
+    rx848_cur."!mark_push"(0, rx848_pos, $I10)
+  rxscan851_done:
+.annotate 'line', 389
   # rx literal  "pir::"
-    add $I11, rx839_pos, 5
-    gt $I11, rx839_eos, rx839_fail
-    sub $I11, rx839_pos, rx839_off
-    substr $S10, rx839_tgt, $I11, 5
-    ne $S10, "pir::", rx839_fail
-    add rx839_pos, 5
+    add $I11, rx848_pos, 5
+    gt $I11, rx848_eos, rx848_fail
+    sub $I11, rx848_pos, rx848_off
+    substr $S10, rx848_tgt, $I11, 5
+    ne $S10, "pir::", rx848_fail
+    add rx848_pos, 5
   # rx subcapture "op"
-    set_addr $I10, rxcap_843_fail
-    rx839_cur."!mark_push"(0, rx839_pos, $I10)
+    set_addr $I10, rxcap_852_fail
+    rx848_cur."!mark_push"(0, rx848_pos, $I10)
   # rx charclass_q w r 1..-1
-    sub $I10, rx839_pos, rx839_off
-    find_not_cclass $I11, 8192, rx839_tgt, $I10, rx839_eos
+    sub $I10, rx848_pos, rx848_off
+    find_not_cclass $I11, 8192, rx848_tgt, $I10, rx848_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx839_fail
-    add rx839_pos, rx839_off, $I11
-    set_addr $I10, rxcap_843_fail
-    ($I12, $I11) = rx839_cur."!mark_peek"($I10)
-    rx839_cur."!cursor_pos"($I11)
-    ($P10) = rx839_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx839_pos, "")
-    rx839_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx848_fail
+    add rx848_pos, rx848_off, $I11
+    set_addr $I10, rxcap_852_fail
+    ($I12, $I11) = rx848_cur."!mark_peek"($I10)
+    rx848_cur."!cursor_pos"($I11)
+    ($P10) = rx848_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx848_pos, "")
+    rx848_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("op")
-    goto rxcap_843_done
-  rxcap_843_fail:
-    goto rx839_fail
-  rxcap_843_done:
-  # rx rxquantr844 ** 0..1
-    set_addr $I845, rxquantr844_done
-    rx839_cur."!mark_push"(0, rx839_pos, $I845)
-  rxquantr844_loop:
+    goto rxcap_852_done
+  rxcap_852_fail:
+    goto rx848_fail
+  rxcap_852_done:
+  # rx rxquantr853 ** 0..1
+    set_addr $I854, rxquantr853_done
+    rx848_cur."!mark_push"(0, rx848_pos, $I854)
+  rxquantr853_loop:
   # rx subrule "args" subtype=capture negate=
-    rx839_cur."!cursor_pos"(rx839_pos)
-    $P10 = rx839_cur."args"()
-    unless $P10, rx839_fail
-    rx839_cur."!mark_push"(0, -1, 0, $P10)
+    rx848_cur."!cursor_pos"(rx848_pos)
+    $P10 = rx848_cur."args"()
+    unless $P10, rx848_fail
+    rx848_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx839_pos = $P10."pos"()
-    (rx839_rep) = rx839_cur."!mark_commit"($I845)
-  rxquantr844_done:
-.annotate 'line', 387
+    rx848_pos = $P10."pos"()
+    (rx848_rep) = rx848_cur."!mark_commit"($I854)
+  rxquantr853_done:
+.annotate 'line', 388
   # rx pass
-    rx839_cur."!cursor_pass"(rx839_pos, "term:sym<pir::op>")
-    rx839_cur."!cursor_debug"("PASS  ", "term:sym<pir::op>", " at pos=", rx839_pos)
-    .return (rx839_cur)
-  rx839_fail:
+    rx848_cur."!cursor_pass"(rx848_pos, "term:sym<pir::op>")
+    rx848_cur."!cursor_debug"("PASS  ", "term:sym<pir::op>", " at pos=", rx848_pos)
+    .return (rx848_cur)
+  rx848_fail:
 .annotate 'line', 4
-    (rx839_rep, rx839_pos, $I10, $P10) = rx839_cur."!mark_fail"(0)
-    lt rx839_pos, -1, rx839_done
-    eq rx839_pos, -1, rx839_fail
+    (rx848_rep, rx848_pos, $I10, $P10) = rx848_cur."!mark_fail"(0)
+    lt rx848_pos, -1, rx848_done
+    eq rx848_pos, -1, rx848_fail
     jump $I10
-  rx839_done:
-    rx839_cur."!cursor_fail"()
-    rx839_cur."!cursor_debug"("FAIL  ", "term:sym<pir::op>")
-    .return (rx839_cur)
+  rx848_done:
+    rx848_cur."!cursor_fail"()
+    rx848_cur."!cursor_debug"("FAIL  ", "term:sym<pir::op>")
+    .return (rx848_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<pir::op>"  :subid("191_1277356913.9538") :method
+.sub "!PREFIX__term:sym<pir::op>"  :subid("193_1278500537.15927") :method
 .annotate 'line', 4
-    new $P841, "ResizablePMCArray"
-    push $P841, "pir::"
-    .return ($P841)
+    new $P850, "ResizablePMCArray"
+    push $P850, "pir::"
+    .return ($P850)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "args"  :subid("192_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "args"  :subid("194_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx847_tgt
-    .local int rx847_pos
-    .local int rx847_off
-    .local int rx847_eos
-    .local int rx847_rep
-    .local pmc rx847_cur
-    (rx847_cur, rx847_pos, rx847_tgt) = self."!cursor_start"()
-    rx847_cur."!cursor_debug"("START ", "args")
-    .lex unicode:"$\x{a2}", rx847_cur
-    .local pmc match
-    .lex "$/", match
-    length rx847_eos, rx847_tgt
-    gt rx847_pos, rx847_eos, rx847_done
-    set rx847_off, 0
-    lt rx847_pos, 2, rx847_start
-    sub rx847_off, rx847_pos, 1
-    substr rx847_tgt, rx847_tgt, rx847_off
-  rx847_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan851_done
-    goto rxscan851_scan
-  rxscan851_loop:
-    ($P10) = rx847_cur."from"()
-    inc $P10
-    set rx847_pos, $P10
-    ge rx847_pos, rx847_eos, rxscan851_done
-  rxscan851_scan:
-    set_addr $I10, rxscan851_loop
-    rx847_cur."!mark_push"(0, rx847_pos, $I10)
-  rxscan851_done:
-.annotate 'line', 392
+    .local string rx856_tgt
+    .local int rx856_pos
+    .local int rx856_off
+    .local int rx856_eos
+    .local int rx856_rep
+    .local pmc rx856_cur
+    (rx856_cur, rx856_pos, rx856_tgt) = self."!cursor_start"()
+    rx856_cur."!cursor_debug"("START ", "args")
+    .lex unicode:"$\x{a2}", rx856_cur
+    .local pmc match
+    .lex "$/", match
+    length rx856_eos, rx856_tgt
+    gt rx856_pos, rx856_eos, rx856_done
+    set rx856_off, 0
+    lt rx856_pos, 2, rx856_start
+    sub rx856_off, rx856_pos, 1
+    substr rx856_tgt, rx856_tgt, rx856_off
+  rx856_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan860_done
+    goto rxscan860_scan
+  rxscan860_loop:
+    ($P10) = rx856_cur."from"()
+    inc $P10
+    set rx856_pos, $P10
+    ge rx856_pos, rx856_eos, rxscan860_done
+  rxscan860_scan:
+    set_addr $I10, rxscan860_loop
+    rx856_cur."!mark_push"(0, rx856_pos, $I10)
+  rxscan860_done:
+.annotate 'line', 393
   # rx literal  "("
-    add $I11, rx847_pos, 1
-    gt $I11, rx847_eos, rx847_fail
-    sub $I11, rx847_pos, rx847_off
-    substr $S10, rx847_tgt, $I11, 1
-    ne $S10, "(", rx847_fail
-    add rx847_pos, 1
+    add $I11, rx856_pos, 1
+    gt $I11, rx856_eos, rx856_fail
+    sub $I11, rx856_pos, rx856_off
+    substr $S10, rx856_tgt, $I11, 1
+    ne $S10, "(", rx856_fail
+    add rx856_pos, 1
   # rx subrule "arglist" subtype=capture negate=
-    rx847_cur."!cursor_pos"(rx847_pos)
-    $P10 = rx847_cur."arglist"()
-    unless $P10, rx847_fail
-    rx847_cur."!mark_push"(0, -1, 0, $P10)
+    rx856_cur."!cursor_pos"(rx856_pos)
+    $P10 = rx856_cur."arglist"()
+    unless $P10, rx856_fail
+    rx856_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx847_pos = $P10."pos"()
+    rx856_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx847_pos, 1
-    gt $I11, rx847_eos, rx847_fail
-    sub $I11, rx847_pos, rx847_off
-    substr $S10, rx847_tgt, $I11, 1
-    ne $S10, ")", rx847_fail
-    add rx847_pos, 1
+    add $I11, rx856_pos, 1
+    gt $I11, rx856_eos, rx856_fail
+    sub $I11, rx856_pos, rx856_off
+    substr $S10, rx856_tgt, $I11, 1
+    ne $S10, ")", rx856_fail
+    add rx856_pos, 1
   # rx pass
-    rx847_cur."!cursor_pass"(rx847_pos, "args")
-    rx847_cur."!cursor_debug"("PASS  ", "args", " at pos=", rx847_pos)
-    .return (rx847_cur)
-  rx847_fail:
+    rx856_cur."!cursor_pass"(rx856_pos, "args")
+    rx856_cur."!cursor_debug"("PASS  ", "args", " at pos=", rx856_pos)
+    .return (rx856_cur)
+  rx856_fail:
 .annotate 'line', 4
-    (rx847_rep, rx847_pos, $I10, $P10) = rx847_cur."!mark_fail"(0)
-    lt rx847_pos, -1, rx847_done
-    eq rx847_pos, -1, rx847_fail
+    (rx856_rep, rx856_pos, $I10, $P10) = rx856_cur."!mark_fail"(0)
+    lt rx856_pos, -1, rx856_done
+    eq rx856_pos, -1, rx856_fail
     jump $I10
-  rx847_done:
-    rx847_cur."!cursor_fail"()
-    rx847_cur."!cursor_debug"("FAIL  ", "args")
-    .return (rx847_cur)
+  rx856_done:
+    rx856_cur."!cursor_fail"()
+    rx856_cur."!cursor_debug"("FAIL  ", "args")
+    .return (rx856_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__args"  :subid("193_1277356913.9538") :method
+.sub "!PREFIX__args"  :subid("195_1278500537.15927") :method
 .annotate 'line', 4
-    $P849 = self."!PREFIX__!subrule"("arglist", "(")
-    new $P850, "ResizablePMCArray"
-    push $P850, $P849
-    .return ($P850)
+    $P858 = self."!PREFIX__!subrule"("arglist", "(")
+    new $P859, "ResizablePMCArray"
+    push $P859, $P858
+    .return ($P859)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "arglist"  :subid("194_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "arglist"  :subid("196_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx853_tgt
-    .local int rx853_pos
-    .local int rx853_off
-    .local int rx853_eos
-    .local int rx853_rep
-    .local pmc rx853_cur
-    (rx853_cur, rx853_pos, rx853_tgt) = self."!cursor_start"()
-    rx853_cur."!cursor_debug"("START ", "arglist")
-    .lex unicode:"$\x{a2}", rx853_cur
-    .local pmc match
-    .lex "$/", match
-    length rx853_eos, rx853_tgt
-    gt rx853_pos, rx853_eos, rx853_done
-    set rx853_off, 0
-    lt rx853_pos, 2, rx853_start
-    sub rx853_off, rx853_pos, 1
-    substr rx853_tgt, rx853_tgt, rx853_off
-  rx853_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan857_done
-    goto rxscan857_scan
-  rxscan857_loop:
-    ($P10) = rx853_cur."from"()
-    inc $P10
-    set rx853_pos, $P10
-    ge rx853_pos, rx853_eos, rxscan857_done
-  rxscan857_scan:
-    set_addr $I10, rxscan857_loop
-    rx853_cur."!mark_push"(0, rx853_pos, $I10)
-  rxscan857_done:
-.annotate 'line', 396
-  # rx subrule "ws" subtype=method negate=
-    rx853_cur."!cursor_pos"(rx853_pos)
-    $P10 = rx853_cur."ws"()
-    unless $P10, rx853_fail
-    rx853_pos = $P10."pos"()
-  alt858_0:
+    .local string rx862_tgt
+    .local int rx862_pos
+    .local int rx862_off
+    .local int rx862_eos
+    .local int rx862_rep
+    .local pmc rx862_cur
+    (rx862_cur, rx862_pos, rx862_tgt) = self."!cursor_start"()
+    rx862_cur."!cursor_debug"("START ", "arglist")
+    .lex unicode:"$\x{a2}", rx862_cur
+    .local pmc match
+    .lex "$/", match
+    length rx862_eos, rx862_tgt
+    gt rx862_pos, rx862_eos, rx862_done
+    set rx862_off, 0
+    lt rx862_pos, 2, rx862_start
+    sub rx862_off, rx862_pos, 1
+    substr rx862_tgt, rx862_tgt, rx862_off
+  rx862_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan866_done
+    goto rxscan866_scan
+  rxscan866_loop:
+    ($P10) = rx862_cur."from"()
+    inc $P10
+    set rx862_pos, $P10
+    ge rx862_pos, rx862_eos, rxscan866_done
+  rxscan866_scan:
+    set_addr $I10, rxscan866_loop
+    rx862_cur."!mark_push"(0, rx862_pos, $I10)
+  rxscan866_done:
 .annotate 'line', 397
-    set_addr $I10, alt858_1
-    rx853_cur."!mark_push"(0, rx853_pos, $I10)
+  # rx subrule "ws" subtype=method negate=
+    rx862_cur."!cursor_pos"(rx862_pos)
+    $P10 = rx862_cur."ws"()
+    unless $P10, rx862_fail
+    rx862_pos = $P10."pos"()
+  alt867_0:
 .annotate 'line', 398
+    set_addr $I10, alt867_1
+    rx862_cur."!mark_push"(0, rx862_pos, $I10)
+.annotate 'line', 399
   # rx subrule "EXPR" subtype=capture negate=
-    rx853_cur."!cursor_pos"(rx853_pos)
-    $P10 = rx853_cur."EXPR"("f=")
-    unless $P10, rx853_fail
-    rx853_cur."!mark_push"(0, -1, 0, $P10)
+    rx862_cur."!cursor_pos"(rx862_pos)
+    $P10 = rx862_cur."EXPR"("f=")
+    unless $P10, rx862_fail
+    rx862_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx853_pos = $P10."pos"()
-    goto alt858_end
-  alt858_1:
-  alt858_end:
-.annotate 'line', 395
+    rx862_pos = $P10."pos"()
+    goto alt867_end
+  alt867_1:
+  alt867_end:
+.annotate 'line', 396
   # rx pass
-    rx853_cur."!cursor_pass"(rx853_pos, "arglist")
-    rx853_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx853_pos)
-    .return (rx853_cur)
-  rx853_fail:
+    rx862_cur."!cursor_pass"(rx862_pos, "arglist")
+    rx862_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx862_pos)
+    .return (rx862_cur)
+  rx862_fail:
 .annotate 'line', 4
-    (rx853_rep, rx853_pos, $I10, $P10) = rx853_cur."!mark_fail"(0)
-    lt rx853_pos, -1, rx853_done
-    eq rx853_pos, -1, rx853_fail
+    (rx862_rep, rx862_pos, $I10, $P10) = rx862_cur."!mark_fail"(0)
+    lt rx862_pos, -1, rx862_done
+    eq rx862_pos, -1, rx862_fail
     jump $I10
-  rx853_done:
-    rx853_cur."!cursor_fail"()
-    rx853_cur."!cursor_debug"("FAIL  ", "arglist")
-    .return (rx853_cur)
+  rx862_done:
+    rx862_cur."!cursor_fail"()
+    rx862_cur."!cursor_debug"("FAIL  ", "arglist")
+    .return (rx862_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("195_1277356913.9538") :method
+.sub "!PREFIX__arglist"  :subid("197_1278500537.15927") :method
 .annotate 'line', 4
-    $P855 = self."!PREFIX__!subrule"("ws", "")
-    new $P856, "ResizablePMCArray"
-    push $P856, $P855
-    .return ($P856)
+    $P864 = self."!PREFIX__!subrule"("ws", "")
+    new $P865, "ResizablePMCArray"
+    push $P865, $P864
+    .return ($P865)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<value>"  :subid("196_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "term:sym<value>"  :subid("198_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx860_tgt
-    .local int rx860_pos
-    .local int rx860_off
-    .local int rx860_eos
-    .local int rx860_rep
-    .local pmc rx860_cur
-    (rx860_cur, rx860_pos, rx860_tgt) = self."!cursor_start"()
-    rx860_cur."!cursor_debug"("START ", "term:sym<value>")
-    .lex unicode:"$\x{a2}", rx860_cur
+    .local string rx869_tgt
+    .local int rx869_pos
+    .local int rx869_off
+    .local int rx869_eos
+    .local int rx869_rep
+    .local pmc rx869_cur
+    (rx869_cur, rx869_pos, rx869_tgt) = self."!cursor_start"()
+    rx869_cur."!cursor_debug"("START ", "term:sym<value>")
+    .lex unicode:"$\x{a2}", rx869_cur
     .local pmc match
     .lex "$/", match
-    length rx860_eos, rx860_tgt
-    gt rx860_pos, rx860_eos, rx860_done
-    set rx860_off, 0
-    lt rx860_pos, 2, rx860_start
-    sub rx860_off, rx860_pos, 1
-    substr rx860_tgt, rx860_tgt, rx860_off
-  rx860_start:
+    length rx869_eos, rx869_tgt
+    gt rx869_pos, rx869_eos, rx869_done
+    set rx869_off, 0
+    lt rx869_pos, 2, rx869_start
+    sub rx869_off, rx869_pos, 1
+    substr rx869_tgt, rx869_tgt, rx869_off
+  rx869_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan864_done
-    goto rxscan864_scan
-  rxscan864_loop:
-    ($P10) = rx860_cur."from"()
+    ne $I10, -1, rxscan873_done
+    goto rxscan873_scan
+  rxscan873_loop:
+    ($P10) = rx869_cur."from"()
     inc $P10
-    set rx860_pos, $P10
-    ge rx860_pos, rx860_eos, rxscan864_done
-  rxscan864_scan:
-    set_addr $I10, rxscan864_loop
-    rx860_cur."!mark_push"(0, rx860_pos, $I10)
-  rxscan864_done:
-.annotate 'line', 404
+    set rx869_pos, $P10
+    ge rx869_pos, rx869_eos, rxscan873_done
+  rxscan873_scan:
+    set_addr $I10, rxscan873_loop
+    rx869_cur."!mark_push"(0, rx869_pos, $I10)
+  rxscan873_done:
+.annotate 'line', 405
   # rx subrule "value" subtype=capture negate=
-    rx860_cur."!cursor_pos"(rx860_pos)
-    $P10 = rx860_cur."value"()
-    unless $P10, rx860_fail
-    rx860_cur."!mark_push"(0, -1, 0, $P10)
+    rx869_cur."!cursor_pos"(rx869_pos)
+    $P10 = rx869_cur."value"()
+    unless $P10, rx869_fail
+    rx869_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("value")
-    rx860_pos = $P10."pos"()
+    rx869_pos = $P10."pos"()
   # rx pass
-    rx860_cur."!cursor_pass"(rx860_pos, "term:sym<value>")
-    rx860_cur."!cursor_debug"("PASS  ", "term:sym<value>", " at pos=", rx860_pos)
-    .return (rx860_cur)
-  rx860_fail:
+    rx869_cur."!cursor_pass"(rx869_pos, "term:sym<value>")
+    rx869_cur."!cursor_debug"("PASS  ", "term:sym<value>", " at pos=", rx869_pos)
+    .return (rx869_cur)
+  rx869_fail:
 .annotate 'line', 4
-    (rx860_rep, rx860_pos, $I10, $P10) = rx860_cur."!mark_fail"(0)
-    lt rx860_pos, -1, rx860_done
-    eq rx860_pos, -1, rx860_fail
+    (rx869_rep, rx869_pos, $I10, $P10) = rx869_cur."!mark_fail"(0)
+    lt rx869_pos, -1, rx869_done
+    eq rx869_pos, -1, rx869_fail
     jump $I10
-  rx860_done:
-    rx860_cur."!cursor_fail"()
-    rx860_cur."!cursor_debug"("FAIL  ", "term:sym<value>")
-    .return (rx860_cur)
+  rx869_done:
+    rx869_cur."!cursor_fail"()
+    rx869_cur."!cursor_debug"("FAIL  ", "term:sym<value>")
+    .return (rx869_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<value>"  :subid("197_1277356913.9538") :method
+.sub "!PREFIX__term:sym<value>"  :subid("199_1278500537.15927") :method
 .annotate 'line', 4
-    $P862 = self."!PREFIX__!subrule"("value", "")
-    new $P863, "ResizablePMCArray"
-    push $P863, $P862
-    .return ($P863)
+    $P871 = self."!PREFIX__!subrule"("value", "")
+    new $P872, "ResizablePMCArray"
+    push $P872, $P871
+    .return ($P872)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "value"  :subid("198_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "value"  :subid("200_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx866_tgt
-    .local int rx866_pos
-    .local int rx866_off
-    .local int rx866_eos
-    .local int rx866_rep
-    .local pmc rx866_cur
-    (rx866_cur, rx866_pos, rx866_tgt) = self."!cursor_start"()
-    rx866_cur."!cursor_debug"("START ", "value")
-    .lex unicode:"$\x{a2}", rx866_cur
+    .local string rx875_tgt
+    .local int rx875_pos
+    .local int rx875_off
+    .local int rx875_eos
+    .local int rx875_rep
+    .local pmc rx875_cur
+    (rx875_cur, rx875_pos, rx875_tgt) = self."!cursor_start"()
+    rx875_cur."!cursor_debug"("START ", "value")
+    .lex unicode:"$\x{a2}", rx875_cur
     .local pmc match
     .lex "$/", match
-    length rx866_eos, rx866_tgt
-    gt rx866_pos, rx866_eos, rx866_done
-    set rx866_off, 0
-    lt rx866_pos, 2, rx866_start
-    sub rx866_off, rx866_pos, 1
-    substr rx866_tgt, rx866_tgt, rx866_off
-  rx866_start:
+    length rx875_eos, rx875_tgt
+    gt rx875_pos, rx875_eos, rx875_done
+    set rx875_off, 0
+    lt rx875_pos, 2, rx875_start
+    sub rx875_off, rx875_pos, 1
+    substr rx875_tgt, rx875_tgt, rx875_off
+  rx875_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan871_done
-    goto rxscan871_scan
-  rxscan871_loop:
-    ($P10) = rx866_cur."from"()
+    ne $I10, -1, rxscan880_done
+    goto rxscan880_scan
+  rxscan880_loop:
+    ($P10) = rx875_cur."from"()
     inc $P10
-    set rx866_pos, $P10
-    ge rx866_pos, rx866_eos, rxscan871_done
-  rxscan871_scan:
-    set_addr $I10, rxscan871_loop
-    rx866_cur."!mark_push"(0, rx866_pos, $I10)
-  rxscan871_done:
-  alt872_0:
-.annotate 'line', 406
-    set_addr $I10, alt872_1
-    rx866_cur."!mark_push"(0, rx866_pos, $I10)
+    set rx875_pos, $P10
+    ge rx875_pos, rx875_eos, rxscan880_done
+  rxscan880_scan:
+    set_addr $I10, rxscan880_loop
+    rx875_cur."!mark_push"(0, rx875_pos, $I10)
+  rxscan880_done:
+  alt881_0:
 .annotate 'line', 407
+    set_addr $I10, alt881_1
+    rx875_cur."!mark_push"(0, rx875_pos, $I10)
+.annotate 'line', 408
   # rx subrule "quote" subtype=capture negate=
-    rx866_cur."!cursor_pos"(rx866_pos)
-    $P10 = rx866_cur."quote"()
-    unless $P10, rx866_fail
-    rx866_cur."!mark_push"(0, -1, 0, $P10)
+    rx875_cur."!cursor_pos"(rx875_pos)
+    $P10 = rx875_cur."quote"()
+    unless $P10, rx875_fail
+    rx875_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote")
-    rx866_pos = $P10."pos"()
-    goto alt872_end
-  alt872_1:
-.annotate 'line', 408
+    rx875_pos = $P10."pos"()
+    goto alt881_end
+  alt881_1:
+.annotate 'line', 409
   # rx subrule "number" subtype=capture negate=
-    rx866_cur."!cursor_pos"(rx866_pos)
-    $P10 = rx866_cur."number"()
-    unless $P10, rx866_fail
-    rx866_cur."!mark_push"(0, -1, 0, $P10)
+    rx875_cur."!cursor_pos"(rx875_pos)
+    $P10 = rx875_cur."number"()
+    unless $P10, rx875_fail
+    rx875_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("number")
-    rx866_pos = $P10."pos"()
-  alt872_end:
-.annotate 'line', 406
+    rx875_pos = $P10."pos"()
+  alt881_end:
+.annotate 'line', 407
   # rx pass
-    rx866_cur."!cursor_pass"(rx866_pos, "value")
-    rx866_cur."!cursor_debug"("PASS  ", "value", " at pos=", rx866_pos)
-    .return (rx866_cur)
-  rx866_fail:
+    rx875_cur."!cursor_pass"(rx875_pos, "value")
+    rx875_cur."!cursor_debug"("PASS  ", "value", " at pos=", rx875_pos)
+    .return (rx875_cur)
+  rx875_fail:
 .annotate 'line', 4
-    (rx866_rep, rx866_pos, $I10, $P10) = rx866_cur."!mark_fail"(0)
-    lt rx866_pos, -1, rx866_done
-    eq rx866_pos, -1, rx866_fail
+    (rx875_rep, rx875_pos, $I10, $P10) = rx875_cur."!mark_fail"(0)
+    lt rx875_pos, -1, rx875_done
+    eq rx875_pos, -1, rx875_fail
     jump $I10
-  rx866_done:
-    rx866_cur."!cursor_fail"()
-    rx866_cur."!cursor_debug"("FAIL  ", "value")
-    .return (rx866_cur)
+  rx875_done:
+    rx875_cur."!cursor_fail"()
+    rx875_cur."!cursor_debug"("FAIL  ", "value")
+    .return (rx875_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__value"  :subid("199_1277356913.9538") :method
+.sub "!PREFIX__value"  :subid("201_1278500537.15927") :method
 .annotate 'line', 4
-    $P868 = self."!PREFIX__!subrule"("number", "")
-    $P869 = self."!PREFIX__!subrule"("quote", "")
-    new $P870, "ResizablePMCArray"
-    push $P870, $P868
-    push $P870, $P869
-    .return ($P870)
+    $P877 = self."!PREFIX__!subrule"("number", "")
+    $P878 = self."!PREFIX__!subrule"("quote", "")
+    new $P879, "ResizablePMCArray"
+    push $P879, $P877
+    push $P879, $P878
+    .return ($P879)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "number"  :subid("200_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "number"  :subid("202_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx874_tgt
-    .local int rx874_pos
-    .local int rx874_off
-    .local int rx874_eos
-    .local int rx874_rep
-    .local pmc rx874_cur
-    (rx874_cur, rx874_pos, rx874_tgt) = self."!cursor_start"()
-    rx874_cur."!cursor_debug"("START ", "number")
-    .lex unicode:"$\x{a2}", rx874_cur
+    .local string rx883_tgt
+    .local int rx883_pos
+    .local int rx883_off
+    .local int rx883_eos
+    .local int rx883_rep
+    .local pmc rx883_cur
+    (rx883_cur, rx883_pos, rx883_tgt) = self."!cursor_start"()
+    rx883_cur."!cursor_debug"("START ", "number")
+    .lex unicode:"$\x{a2}", rx883_cur
     .local pmc match
     .lex "$/", match
-    length rx874_eos, rx874_tgt
-    gt rx874_pos, rx874_eos, rx874_done
-    set rx874_off, 0
-    lt rx874_pos, 2, rx874_start
-    sub rx874_off, rx874_pos, 1
-    substr rx874_tgt, rx874_tgt, rx874_off
-  rx874_start:
+    length rx883_eos, rx883_tgt
+    gt rx883_pos, rx883_eos, rx883_done
+    set rx883_off, 0
+    lt rx883_pos, 2, rx883_start
+    sub rx883_off, rx883_pos, 1
+    substr rx883_tgt, rx883_tgt, rx883_off
+  rx883_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan877_done
-    goto rxscan877_scan
-  rxscan877_loop:
-    ($P10) = rx874_cur."from"()
+    ne $I10, -1, rxscan886_done
+    goto rxscan886_scan
+  rxscan886_loop:
+    ($P10) = rx883_cur."from"()
     inc $P10
-    set rx874_pos, $P10
-    ge rx874_pos, rx874_eos, rxscan877_done
-  rxscan877_scan:
-    set_addr $I10, rxscan877_loop
-    rx874_cur."!mark_push"(0, rx874_pos, $I10)
-  rxscan877_done:
-.annotate 'line', 412
+    set rx883_pos, $P10
+    ge rx883_pos, rx883_eos, rxscan886_done
+  rxscan886_scan:
+    set_addr $I10, rxscan886_loop
+    rx883_cur."!mark_push"(0, rx883_pos, $I10)
+  rxscan886_done:
+.annotate 'line', 413
   # rx subcapture "sign"
-    set_addr $I10, rxcap_880_fail
-    rx874_cur."!mark_push"(0, rx874_pos, $I10)
-  # rx rxquantr878 ** 0..1
-    set_addr $I879, rxquantr878_done
-    rx874_cur."!mark_push"(0, rx874_pos, $I879)
-  rxquantr878_loop:
+    set_addr $I10, rxcap_889_fail
+    rx883_cur."!mark_push"(0, rx883_pos, $I10)
+  # rx rxquantr887 ** 0..1
+    set_addr $I888, rxquantr887_done
+    rx883_cur."!mark_push"(0, rx883_pos, $I888)
+  rxquantr887_loop:
   # rx enumcharlist negate=0 
-    ge rx874_pos, rx874_eos, rx874_fail
-    sub $I10, rx874_pos, rx874_off
-    substr $S10, rx874_tgt, $I10, 1
+    ge rx883_pos, rx883_eos, rx883_fail
+    sub $I10, rx883_pos, rx883_off
+    substr $S10, rx883_tgt, $I10, 1
     index $I11, "+-", $S10
-    lt $I11, 0, rx874_fail
-    inc rx874_pos
-    (rx874_rep) = rx874_cur."!mark_commit"($I879)
-  rxquantr878_done:
-    set_addr $I10, rxcap_880_fail
-    ($I12, $I11) = rx874_cur."!mark_peek"($I10)
-    rx874_cur."!cursor_pos"($I11)
-    ($P10) = rx874_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx874_pos, "")
-    rx874_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx883_fail
+    inc rx883_pos
+    (rx883_rep) = rx883_cur."!mark_commit"($I888)
+  rxquantr887_done:
+    set_addr $I10, rxcap_889_fail
+    ($I12, $I11) = rx883_cur."!mark_peek"($I10)
+    rx883_cur."!cursor_pos"($I11)
+    ($P10) = rx883_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx883_pos, "")
+    rx883_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sign")
-    goto rxcap_880_done
-  rxcap_880_fail:
-    goto rx874_fail
-  rxcap_880_done:
-  alt881_0:
-.annotate 'line', 413
-    set_addr $I10, alt881_1
-    rx874_cur."!mark_push"(0, rx874_pos, $I10)
+    goto rxcap_889_done
+  rxcap_889_fail:
+    goto rx883_fail
+  rxcap_889_done:
+  alt890_0:
+.annotate 'line', 414
+    set_addr $I10, alt890_1
+    rx883_cur."!mark_push"(0, rx883_pos, $I10)
   # rx subrule "dec_number" subtype=capture negate=
-    rx874_cur."!cursor_pos"(rx874_pos)
-    $P10 = rx874_cur."dec_number"()
-    unless $P10, rx874_fail
-    rx874_cur."!mark_push"(0, -1, 0, $P10)
+    rx883_cur."!cursor_pos"(rx883_pos)
+    $P10 = rx883_cur."dec_number"()
+    unless $P10, rx883_fail
+    rx883_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("dec_number")
-    rx874_pos = $P10."pos"()
-    goto alt881_end
-  alt881_1:
+    rx883_pos = $P10."pos"()
+    goto alt890_end
+  alt890_1:
   # rx subrule "integer" subtype=capture negate=
-    rx874_cur."!cursor_pos"(rx874_pos)
-    $P10 = rx874_cur."integer"()
-    unless $P10, rx874_fail
-    rx874_cur."!mark_push"(0, -1, 0, $P10)
+    rx883_cur."!cursor_pos"(rx883_pos)
+    $P10 = rx883_cur."integer"()
+    unless $P10, rx883_fail
+    rx883_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("integer")
-    rx874_pos = $P10."pos"()
-  alt881_end:
-.annotate 'line', 411
+    rx883_pos = $P10."pos"()
+  alt890_end:
+.annotate 'line', 412
   # rx pass
-    rx874_cur."!cursor_pass"(rx874_pos, "number")
-    rx874_cur."!cursor_debug"("PASS  ", "number", " at pos=", rx874_pos)
-    .return (rx874_cur)
-  rx874_fail:
+    rx883_cur."!cursor_pass"(rx883_pos, "number")
+    rx883_cur."!cursor_debug"("PASS  ", "number", " at pos=", rx883_pos)
+    .return (rx883_cur)
+  rx883_fail:
 .annotate 'line', 4
-    (rx874_rep, rx874_pos, $I10, $P10) = rx874_cur."!mark_fail"(0)
-    lt rx874_pos, -1, rx874_done
-    eq rx874_pos, -1, rx874_fail
+    (rx883_rep, rx883_pos, $I10, $P10) = rx883_cur."!mark_fail"(0)
+    lt rx883_pos, -1, rx883_done
+    eq rx883_pos, -1, rx883_fail
     jump $I10
-  rx874_done:
-    rx874_cur."!cursor_fail"()
-    rx874_cur."!cursor_debug"("FAIL  ", "number")
-    .return (rx874_cur)
+  rx883_done:
+    rx883_cur."!cursor_fail"()
+    rx883_cur."!cursor_debug"("FAIL  ", "number")
+    .return (rx883_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__number"  :subid("201_1277356913.9538") :method
+.sub "!PREFIX__number"  :subid("203_1278500537.15927") :method
 .annotate 'line', 4
-    new $P876, "ResizablePMCArray"
-    push $P876, ""
-    .return ($P876)
+    new $P885, "ResizablePMCArray"
+    push $P885, ""
+    .return ($P885)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote"  :subid("202_1277356913.9538") :method
-.annotate 'line', 416
-    $P883 = self."!protoregex"("quote")
-    .return ($P883)
+.sub "quote"  :subid("204_1278500537.15927") :method
+.annotate 'line', 417
+    $P892 = self."!protoregex"("quote")
+    .return ($P892)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote"  :subid("203_1277356913.9538") :method
-.annotate 'line', 416
-    $P885 = self."!PREFIX__!protoregex"("quote")
-    .return ($P885)
+.sub "!PREFIX__quote"  :subid("205_1278500537.15927") :method
+.annotate 'line', 417
+    $P894 = self."!PREFIX__!protoregex"("quote")
+    .return ($P894)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<apos>"  :subid("204_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "quote:sym<apos>"  :subid("206_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx887_tgt
-    .local int rx887_pos
-    .local int rx887_off
-    .local int rx887_eos
-    .local int rx887_rep
-    .local pmc rx887_cur
-    (rx887_cur, rx887_pos, rx887_tgt) = self."!cursor_start"()
-    rx887_cur."!cursor_debug"("START ", "quote:sym<apos>")
-    .lex unicode:"$\x{a2}", rx887_cur
-    .local pmc match
-    .lex "$/", match
-    length rx887_eos, rx887_tgt
-    gt rx887_pos, rx887_eos, rx887_done
-    set rx887_off, 0
-    lt rx887_pos, 2, rx887_start
-    sub rx887_off, rx887_pos, 1
-    substr rx887_tgt, rx887_tgt, rx887_off
-  rx887_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan890_done
-    goto rxscan890_scan
-  rxscan890_loop:
-    ($P10) = rx887_cur."from"()
-    inc $P10
-    set rx887_pos, $P10
-    ge rx887_pos, rx887_eos, rxscan890_done
-  rxscan890_scan:
-    set_addr $I10, rxscan890_loop
-    rx887_cur."!mark_push"(0, rx887_pos, $I10)
-  rxscan890_done:
-.annotate 'line', 417
+    .local string rx896_tgt
+    .local int rx896_pos
+    .local int rx896_off
+    .local int rx896_eos
+    .local int rx896_rep
+    .local pmc rx896_cur
+    (rx896_cur, rx896_pos, rx896_tgt) = self."!cursor_start"()
+    rx896_cur."!cursor_debug"("START ", "quote:sym<apos>")
+    .lex unicode:"$\x{a2}", rx896_cur
+    .local pmc match
+    .lex "$/", match
+    length rx896_eos, rx896_tgt
+    gt rx896_pos, rx896_eos, rx896_done
+    set rx896_off, 0
+    lt rx896_pos, 2, rx896_start
+    sub rx896_off, rx896_pos, 1
+    substr rx896_tgt, rx896_tgt, rx896_off
+  rx896_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan899_done
+    goto rxscan899_scan
+  rxscan899_loop:
+    ($P10) = rx896_cur."from"()
+    inc $P10
+    set rx896_pos, $P10
+    ge rx896_pos, rx896_eos, rxscan899_done
+  rxscan899_scan:
+    set_addr $I10, rxscan899_loop
+    rx896_cur."!mark_push"(0, rx896_pos, $I10)
+  rxscan899_done:
+.annotate 'line', 418
   # rx enumcharlist negate=0 zerowidth
-    ge rx887_pos, rx887_eos, rx887_fail
-    sub $I10, rx887_pos, rx887_off
-    substr $S10, rx887_tgt, $I10, 1
+    ge rx896_pos, rx896_eos, rx896_fail
+    sub $I10, rx896_pos, rx896_off
+    substr $S10, rx896_tgt, $I10, 1
     index $I11, "'", $S10
-    lt $I11, 0, rx887_fail
+    lt $I11, 0, rx896_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx887_cur."!cursor_pos"(rx887_pos)
-    $P10 = rx887_cur."quote_EXPR"(":q")
-    unless $P10, rx887_fail
-    rx887_cur."!mark_push"(0, -1, 0, $P10)
+    rx896_cur."!cursor_pos"(rx896_pos)
+    $P10 = rx896_cur."quote_EXPR"(":q")
+    unless $P10, rx896_fail
+    rx896_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx887_pos = $P10."pos"()
+    rx896_pos = $P10."pos"()
   # rx pass
-    rx887_cur."!cursor_pass"(rx887_pos, "quote:sym<apos>")
-    rx887_cur."!cursor_debug"("PASS  ", "quote:sym<apos>", " at pos=", rx887_pos)
-    .return (rx887_cur)
-  rx887_fail:
+    rx896_cur."!cursor_pass"(rx896_pos, "quote:sym<apos>")
+    rx896_cur."!cursor_debug"("PASS  ", "quote:sym<apos>", " at pos=", rx896_pos)
+    .return (rx896_cur)
+  rx896_fail:
 .annotate 'line', 4
-    (rx887_rep, rx887_pos, $I10, $P10) = rx887_cur."!mark_fail"(0)
-    lt rx887_pos, -1, rx887_done
-    eq rx887_pos, -1, rx887_fail
+    (rx896_rep, rx896_pos, $I10, $P10) = rx896_cur."!mark_fail"(0)
+    lt rx896_pos, -1, rx896_done
+    eq rx896_pos, -1, rx896_fail
     jump $I10
-  rx887_done:
-    rx887_cur."!cursor_fail"()
-    rx887_cur."!cursor_debug"("FAIL  ", "quote:sym<apos>")
-    .return (rx887_cur)
+  rx896_done:
+    rx896_cur."!cursor_fail"()
+    rx896_cur."!cursor_debug"("FAIL  ", "quote:sym<apos>")
+    .return (rx896_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<apos>"  :subid("205_1277356913.9538") :method
+.sub "!PREFIX__quote:sym<apos>"  :subid("207_1278500537.15927") :method
 .annotate 'line', 4
-    new $P889, "ResizablePMCArray"
-    push $P889, "'"
-    .return ($P889)
+    new $P898, "ResizablePMCArray"
+    push $P898, "'"
+    .return ($P898)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<dblq>"  :subid("206_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "quote:sym<dblq>"  :subid("208_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx892_tgt
-    .local int rx892_pos
-    .local int rx892_off
-    .local int rx892_eos
-    .local int rx892_rep
-    .local pmc rx892_cur
-    (rx892_cur, rx892_pos, rx892_tgt) = self."!cursor_start"()
-    rx892_cur."!cursor_debug"("START ", "quote:sym<dblq>")
-    .lex unicode:"$\x{a2}", rx892_cur
+    .local string rx901_tgt
+    .local int rx901_pos
+    .local int rx901_off
+    .local int rx901_eos
+    .local int rx901_rep
+    .local pmc rx901_cur
+    (rx901_cur, rx901_pos, rx901_tgt) = self."!cursor_start"()
+    rx901_cur."!cursor_debug"("START ", "quote:sym<dblq>")
+    .lex unicode:"$\x{a2}", rx901_cur
     .local pmc match
     .lex "$/", match
-    length rx892_eos, rx892_tgt
-    gt rx892_pos, rx892_eos, rx892_done
-    set rx892_off, 0
-    lt rx892_pos, 2, rx892_start
-    sub rx892_off, rx892_pos, 1
-    substr rx892_tgt, rx892_tgt, rx892_off
-  rx892_start:
+    length rx901_eos, rx901_tgt
+    gt rx901_pos, rx901_eos, rx901_done
+    set rx901_off, 0
+    lt rx901_pos, 2, rx901_start
+    sub rx901_off, rx901_pos, 1
+    substr rx901_tgt, rx901_tgt, rx901_off
+  rx901_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan895_done
-    goto rxscan895_scan
-  rxscan895_loop:
-    ($P10) = rx892_cur."from"()
+    ne $I10, -1, rxscan904_done
+    goto rxscan904_scan
+  rxscan904_loop:
+    ($P10) = rx901_cur."from"()
     inc $P10
-    set rx892_pos, $P10
-    ge rx892_pos, rx892_eos, rxscan895_done
-  rxscan895_scan:
-    set_addr $I10, rxscan895_loop
-    rx892_cur."!mark_push"(0, rx892_pos, $I10)
-  rxscan895_done:
-.annotate 'line', 418
+    set rx901_pos, $P10
+    ge rx901_pos, rx901_eos, rxscan904_done
+  rxscan904_scan:
+    set_addr $I10, rxscan904_loop
+    rx901_cur."!mark_push"(0, rx901_pos, $I10)
+  rxscan904_done:
+.annotate 'line', 419
   # rx enumcharlist negate=0 zerowidth
-    ge rx892_pos, rx892_eos, rx892_fail
-    sub $I10, rx892_pos, rx892_off
-    substr $S10, rx892_tgt, $I10, 1
+    ge rx901_pos, rx901_eos, rx901_fail
+    sub $I10, rx901_pos, rx901_off
+    substr $S10, rx901_tgt, $I10, 1
     index $I11, "\"", $S10
-    lt $I11, 0, rx892_fail
+    lt $I11, 0, rx901_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx892_cur."!cursor_pos"(rx892_pos)
-    $P10 = rx892_cur."quote_EXPR"(":qq")
-    unless $P10, rx892_fail
-    rx892_cur."!mark_push"(0, -1, 0, $P10)
+    rx901_cur."!cursor_pos"(rx901_pos)
+    $P10 = rx901_cur."quote_EXPR"(":qq")
+    unless $P10, rx901_fail
+    rx901_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx892_pos = $P10."pos"()
+    rx901_pos = $P10."pos"()
   # rx pass
-    rx892_cur."!cursor_pass"(rx892_pos, "quote:sym<dblq>")
-    rx892_cur."!cursor_debug"("PASS  ", "quote:sym<dblq>", " at pos=", rx892_pos)
-    .return (rx892_cur)
-  rx892_fail:
+    rx901_cur."!cursor_pass"(rx901_pos, "quote:sym<dblq>")
+    rx901_cur."!cursor_debug"("PASS  ", "quote:sym<dblq>", " at pos=", rx901_pos)
+    .return (rx901_cur)
+  rx901_fail:
 .annotate 'line', 4
-    (rx892_rep, rx892_pos, $I10, $P10) = rx892_cur."!mark_fail"(0)
-    lt rx892_pos, -1, rx892_done
-    eq rx892_pos, -1, rx892_fail
+    (rx901_rep, rx901_pos, $I10, $P10) = rx901_cur."!mark_fail"(0)
+    lt rx901_pos, -1, rx901_done
+    eq rx901_pos, -1, rx901_fail
     jump $I10
-  rx892_done:
-    rx892_cur."!cursor_fail"()
-    rx892_cur."!cursor_debug"("FAIL  ", "quote:sym<dblq>")
-    .return (rx892_cur)
+  rx901_done:
+    rx901_cur."!cursor_fail"()
+    rx901_cur."!cursor_debug"("FAIL  ", "quote:sym<dblq>")
+    .return (rx901_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<dblq>"  :subid("207_1277356913.9538") :method
+.sub "!PREFIX__quote:sym<dblq>"  :subid("209_1278500537.15927") :method
 .annotate 'line', 4
-    new $P894, "ResizablePMCArray"
-    push $P894, "\""
-    .return ($P894)
+    new $P903, "ResizablePMCArray"
+    push $P903, "\""
+    .return ($P903)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<q>"  :subid("208_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "quote:sym<q>"  :subid("210_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx897_tgt
-    .local int rx897_pos
-    .local int rx897_off
-    .local int rx897_eos
-    .local int rx897_rep
-    .local pmc rx897_cur
-    (rx897_cur, rx897_pos, rx897_tgt) = self."!cursor_start"()
-    rx897_cur."!cursor_debug"("START ", "quote:sym<q>")
-    .lex unicode:"$\x{a2}", rx897_cur
-    .local pmc match
-    .lex "$/", match
-    length rx897_eos, rx897_tgt
-    gt rx897_pos, rx897_eos, rx897_done
-    set rx897_off, 0
-    lt rx897_pos, 2, rx897_start
-    sub rx897_off, rx897_pos, 1
-    substr rx897_tgt, rx897_tgt, rx897_off
-  rx897_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan901_done
-    goto rxscan901_scan
-  rxscan901_loop:
-    ($P10) = rx897_cur."from"()
-    inc $P10
-    set rx897_pos, $P10
-    ge rx897_pos, rx897_eos, rxscan901_done
-  rxscan901_scan:
-    set_addr $I10, rxscan901_loop
-    rx897_cur."!mark_push"(0, rx897_pos, $I10)
-  rxscan901_done:
-.annotate 'line', 419
+    .local string rx906_tgt
+    .local int rx906_pos
+    .local int rx906_off
+    .local int rx906_eos
+    .local int rx906_rep
+    .local pmc rx906_cur
+    (rx906_cur, rx906_pos, rx906_tgt) = self."!cursor_start"()
+    rx906_cur."!cursor_debug"("START ", "quote:sym<q>")
+    .lex unicode:"$\x{a2}", rx906_cur
+    .local pmc match
+    .lex "$/", match
+    length rx906_eos, rx906_tgt
+    gt rx906_pos, rx906_eos, rx906_done
+    set rx906_off, 0
+    lt rx906_pos, 2, rx906_start
+    sub rx906_off, rx906_pos, 1
+    substr rx906_tgt, rx906_tgt, rx906_off
+  rx906_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan910_done
+    goto rxscan910_scan
+  rxscan910_loop:
+    ($P10) = rx906_cur."from"()
+    inc $P10
+    set rx906_pos, $P10
+    ge rx906_pos, rx906_eos, rxscan910_done
+  rxscan910_scan:
+    set_addr $I10, rxscan910_loop
+    rx906_cur."!mark_push"(0, rx906_pos, $I10)
+  rxscan910_done:
+.annotate 'line', 420
   # rx literal  "q"
-    add $I11, rx897_pos, 1
-    gt $I11, rx897_eos, rx897_fail
-    sub $I11, rx897_pos, rx897_off
-    substr $S10, rx897_tgt, $I11, 1
-    ne $S10, "q", rx897_fail
-    add rx897_pos, 1
+    add $I11, rx906_pos, 1
+    gt $I11, rx906_eos, rx906_fail
+    sub $I11, rx906_pos, rx906_off
+    substr $S10, rx906_tgt, $I11, 1
+    ne $S10, "q", rx906_fail
+    add rx906_pos, 1
   # rxanchor rwb
-    le rx897_pos, 0, rx897_fail
-    sub $I10, rx897_pos, rx897_off
-    is_cclass $I11, 8192, rx897_tgt, $I10
-    if $I11, rx897_fail
+    le rx906_pos, 0, rx906_fail
+    sub $I10, rx906_pos, rx906_off
+    is_cclass $I11, 8192, rx906_tgt, $I10
+    if $I11, rx906_fail
     dec $I10
-    is_cclass $I11, 8192, rx897_tgt, $I10
-    unless $I11, rx897_fail
+    is_cclass $I11, 8192, rx906_tgt, $I10
+    unless $I11, rx906_fail
   # rx enumcharlist negate=1 zerowidth
-    ge rx897_pos, rx897_eos, rx897_fail
-    sub $I10, rx897_pos, rx897_off
-    substr $S10, rx897_tgt, $I10, 1
+    ge rx906_pos, rx906_eos, rx906_fail
+    sub $I10, rx906_pos, rx906_off
+    substr $S10, rx906_tgt, $I10, 1
     index $I11, "(", $S10
-    ge $I11, 0, rx897_fail
+    ge $I11, 0, rx906_fail
   # rx subrule "ws" subtype=method negate=
-    rx897_cur."!cursor_pos"(rx897_pos)
-    $P10 = rx897_cur."ws"()
-    unless $P10, rx897_fail
-    rx897_pos = $P10."pos"()
+    rx906_cur."!cursor_pos"(rx906_pos)
+    $P10 = rx906_cur."ws"()
+    unless $P10, rx906_fail
+    rx906_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx897_cur."!cursor_pos"(rx897_pos)
-    $P10 = rx897_cur."quote_EXPR"(":q")
-    unless $P10, rx897_fail
-    rx897_cur."!mark_push"(0, -1, 0, $P10)
+    rx906_cur."!cursor_pos"(rx906_pos)
+    $P10 = rx906_cur."quote_EXPR"(":q")
+    unless $P10, rx906_fail
+    rx906_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx897_pos = $P10."pos"()
+    rx906_pos = $P10."pos"()
   # rx pass
-    rx897_cur."!cursor_pass"(rx897_pos, "quote:sym<q>")
-    rx897_cur."!cursor_debug"("PASS  ", "quote:sym<q>", " at pos=", rx897_pos)
-    .return (rx897_cur)
-  rx897_fail:
+    rx906_cur."!cursor_pass"(rx906_pos, "quote:sym<q>")
+    rx906_cur."!cursor_debug"("PASS  ", "quote:sym<q>", " at pos=", rx906_pos)
+    .return (rx906_cur)
+  rx906_fail:
 .annotate 'line', 4
-    (rx897_rep, rx897_pos, $I10, $P10) = rx897_cur."!mark_fail"(0)
-    lt rx897_pos, -1, rx897_done
-    eq rx897_pos, -1, rx897_fail
+    (rx906_rep, rx906_pos, $I10, $P10) = rx906_cur."!mark_fail"(0)
+    lt rx906_pos, -1, rx906_done
+    eq rx906_pos, -1, rx906_fail
     jump $I10
-  rx897_done:
-    rx897_cur."!cursor_fail"()
-    rx897_cur."!cursor_debug"("FAIL  ", "quote:sym<q>")
-    .return (rx897_cur)
+  rx906_done:
+    rx906_cur."!cursor_fail"()
+    rx906_cur."!cursor_debug"("FAIL  ", "quote:sym<q>")
+    .return (rx906_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<q>"  :subid("209_1277356913.9538") :method
+.sub "!PREFIX__quote:sym<q>"  :subid("211_1278500537.15927") :method
 .annotate 'line', 4
-    $P899 = self."!PREFIX__!subrule"("ws", "q")
-    new $P900, "ResizablePMCArray"
-    push $P900, $P899
-    .return ($P900)
+    $P908 = self."!PREFIX__!subrule"("ws", "q")
+    new $P909, "ResizablePMCArray"
+    push $P909, $P908
+    .return ($P909)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<qq>"  :subid("210_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "quote:sym<qq>"  :subid("212_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx903_tgt
-    .local int rx903_pos
-    .local int rx903_off
-    .local int rx903_eos
-    .local int rx903_rep
-    .local pmc rx903_cur
-    (rx903_cur, rx903_pos, rx903_tgt) = self."!cursor_start"()
-    rx903_cur."!cursor_debug"("START ", "quote:sym<qq>")
-    .lex unicode:"$\x{a2}", rx903_cur
+    .local string rx912_tgt
+    .local int rx912_pos
+    .local int rx912_off
+    .local int rx912_eos
+    .local int rx912_rep
+    .local pmc rx912_cur
+    (rx912_cur, rx912_pos, rx912_tgt) = self."!cursor_start"()
+    rx912_cur."!cursor_debug"("START ", "quote:sym<qq>")
+    .lex unicode:"$\x{a2}", rx912_cur
     .local pmc match
     .lex "$/", match
-    length rx903_eos, rx903_tgt
-    gt rx903_pos, rx903_eos, rx903_done
-    set rx903_off, 0
-    lt rx903_pos, 2, rx903_start
-    sub rx903_off, rx903_pos, 1
-    substr rx903_tgt, rx903_tgt, rx903_off
-  rx903_start:
+    length rx912_eos, rx912_tgt
+    gt rx912_pos, rx912_eos, rx912_done
+    set rx912_off, 0
+    lt rx912_pos, 2, rx912_start
+    sub rx912_off, rx912_pos, 1
+    substr rx912_tgt, rx912_tgt, rx912_off
+  rx912_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan907_done
-    goto rxscan907_scan
-  rxscan907_loop:
-    ($P10) = rx903_cur."from"()
+    ne $I10, -1, rxscan916_done
+    goto rxscan916_scan
+  rxscan916_loop:
+    ($P10) = rx912_cur."from"()
     inc $P10
-    set rx903_pos, $P10
-    ge rx903_pos, rx903_eos, rxscan907_done
-  rxscan907_scan:
-    set_addr $I10, rxscan907_loop
-    rx903_cur."!mark_push"(0, rx903_pos, $I10)
-  rxscan907_done:
-.annotate 'line', 420
+    set rx912_pos, $P10
+    ge rx912_pos, rx912_eos, rxscan916_done
+  rxscan916_scan:
+    set_addr $I10, rxscan916_loop
+    rx912_cur."!mark_push"(0, rx912_pos, $I10)
+  rxscan916_done:
+.annotate 'line', 421
   # rx literal  "qq"
-    add $I11, rx903_pos, 2
-    gt $I11, rx903_eos, rx903_fail
-    sub $I11, rx903_pos, rx903_off
-    substr $S10, rx903_tgt, $I11, 2
-    ne $S10, "qq", rx903_fail
-    add rx903_pos, 2
+    add $I11, rx912_pos, 2
+    gt $I11, rx912_eos, rx912_fail
+    sub $I11, rx912_pos, rx912_off
+    substr $S10, rx912_tgt, $I11, 2
+    ne $S10, "qq", rx912_fail
+    add rx912_pos, 2
   # rxanchor rwb
-    le rx903_pos, 0, rx903_fail
-    sub $I10, rx903_pos, rx903_off
-    is_cclass $I11, 8192, rx903_tgt, $I10
-    if $I11, rx903_fail
+    le rx912_pos, 0, rx912_fail
+    sub $I10, rx912_pos, rx912_off
+    is_cclass $I11, 8192, rx912_tgt, $I10
+    if $I11, rx912_fail
     dec $I10
-    is_cclass $I11, 8192, rx903_tgt, $I10
-    unless $I11, rx903_fail
+    is_cclass $I11, 8192, rx912_tgt, $I10
+    unless $I11, rx912_fail
   # rx enumcharlist negate=1 zerowidth
-    ge rx903_pos, rx903_eos, rx903_fail
-    sub $I10, rx903_pos, rx903_off
-    substr $S10, rx903_tgt, $I10, 1
+    ge rx912_pos, rx912_eos, rx912_fail
+    sub $I10, rx912_pos, rx912_off
+    substr $S10, rx912_tgt, $I10, 1
     index $I11, "(", $S10
-    ge $I11, 0, rx903_fail
+    ge $I11, 0, rx912_fail
   # rx subrule "ws" subtype=method negate=
-    rx903_cur."!cursor_pos"(rx903_pos)
-    $P10 = rx903_cur."ws"()
-    unless $P10, rx903_fail
-    rx903_pos = $P10."pos"()
+    rx912_cur."!cursor_pos"(rx912_pos)
+    $P10 = rx912_cur."ws"()
+    unless $P10, rx912_fail
+    rx912_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx903_cur."!cursor_pos"(rx903_pos)
-    $P10 = rx903_cur."quote_EXPR"(":qq")
-    unless $P10, rx903_fail
-    rx903_cur."!mark_push"(0, -1, 0, $P10)
+    rx912_cur."!cursor_pos"(rx912_pos)
+    $P10 = rx912_cur."quote_EXPR"(":qq")
+    unless $P10, rx912_fail
+    rx912_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx903_pos = $P10."pos"()
+    rx912_pos = $P10."pos"()
   # rx pass
-    rx903_cur."!cursor_pass"(rx903_pos, "quote:sym<qq>")
-    rx903_cur."!cursor_debug"("PASS  ", "quote:sym<qq>", " at pos=", rx903_pos)
-    .return (rx903_cur)
-  rx903_fail:
+    rx912_cur."!cursor_pass"(rx912_pos, "quote:sym<qq>")
+    rx912_cur."!cursor_debug"("PASS  ", "quote:sym<qq>", " at pos=", rx912_pos)
+    .return (rx912_cur)
+  rx912_fail:
 .annotate 'line', 4
-    (rx903_rep, rx903_pos, $I10, $P10) = rx903_cur."!mark_fail"(0)
-    lt rx903_pos, -1, rx903_done
-    eq rx903_pos, -1, rx903_fail
+    (rx912_rep, rx912_pos, $I10, $P10) = rx912_cur."!mark_fail"(0)
+    lt rx912_pos, -1, rx912_done
+    eq rx912_pos, -1, rx912_fail
     jump $I10
-  rx903_done:
-    rx903_cur."!cursor_fail"()
-    rx903_cur."!cursor_debug"("FAIL  ", "quote:sym<qq>")
-    .return (rx903_cur)
+  rx912_done:
+    rx912_cur."!cursor_fail"()
+    rx912_cur."!cursor_debug"("FAIL  ", "quote:sym<qq>")
+    .return (rx912_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<qq>"  :subid("211_1277356913.9538") :method
+.sub "!PREFIX__quote:sym<qq>"  :subid("213_1278500537.15927") :method
 .annotate 'line', 4
-    $P905 = self."!PREFIX__!subrule"("ws", "qq")
-    new $P906, "ResizablePMCArray"
-    push $P906, $P905
-    .return ($P906)
+    $P914 = self."!PREFIX__!subrule"("ws", "qq")
+    new $P915, "ResizablePMCArray"
+    push $P915, $P914
+    .return ($P915)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q>"  :subid("212_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "quote:sym<Q>"  :subid("214_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx909_tgt
-    .local int rx909_pos
-    .local int rx909_off
-    .local int rx909_eos
-    .local int rx909_rep
-    .local pmc rx909_cur
-    (rx909_cur, rx909_pos, rx909_tgt) = self."!cursor_start"()
-    rx909_cur."!cursor_debug"("START ", "quote:sym<Q>")
-    .lex unicode:"$\x{a2}", rx909_cur
+    .local string rx918_tgt
+    .local int rx918_pos
+    .local int rx918_off
+    .local int rx918_eos
+    .local int rx918_rep
+    .local pmc rx918_cur
+    (rx918_cur, rx918_pos, rx918_tgt) = self."!cursor_start"()
+    rx918_cur."!cursor_debug"("START ", "quote:sym<Q>")
+    .lex unicode:"$\x{a2}", rx918_cur
     .local pmc match
     .lex "$/", match
-    length rx909_eos, rx909_tgt
-    gt rx909_pos, rx909_eos, rx909_done
-    set rx909_off, 0
-    lt rx909_pos, 2, rx909_start
-    sub rx909_off, rx909_pos, 1
-    substr rx909_tgt, rx909_tgt, rx909_off
-  rx909_start:
+    length rx918_eos, rx918_tgt
+    gt rx918_pos, rx918_eos, rx918_done
+    set rx918_off, 0
+    lt rx918_pos, 2, rx918_start
+    sub rx918_off, rx918_pos, 1
+    substr rx918_tgt, rx918_tgt, rx918_off
+  rx918_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan913_done
-    goto rxscan913_scan
-  rxscan913_loop:
-    ($P10) = rx909_cur."from"()
+    ne $I10, -1, rxscan922_done
+    goto rxscan922_scan
+  rxscan922_loop:
+    ($P10) = rx918_cur."from"()
     inc $P10
-    set rx909_pos, $P10
-    ge rx909_pos, rx909_eos, rxscan913_done
-  rxscan913_scan:
-    set_addr $I10, rxscan913_loop
-    rx909_cur."!mark_push"(0, rx909_pos, $I10)
-  rxscan913_done:
-.annotate 'line', 421
+    set rx918_pos, $P10
+    ge rx918_pos, rx918_eos, rxscan922_done
+  rxscan922_scan:
+    set_addr $I10, rxscan922_loop
+    rx918_cur."!mark_push"(0, rx918_pos, $I10)
+  rxscan922_done:
+.annotate 'line', 422
   # rx literal  "Q"
-    add $I11, rx909_pos, 1
-    gt $I11, rx909_eos, rx909_fail
-    sub $I11, rx909_pos, rx909_off
-    substr $S10, rx909_tgt, $I11, 1
-    ne $S10, "Q", rx909_fail
-    add rx909_pos, 1
+    add $I11, rx918_pos, 1
+    gt $I11, rx918_eos, rx918_fail
+    sub $I11, rx918_pos, rx918_off
+    substr $S10, rx918_tgt, $I11, 1
+    ne $S10, "Q", rx918_fail
+    add rx918_pos, 1
   # rxanchor rwb
-    le rx909_pos, 0, rx909_fail
-    sub $I10, rx909_pos, rx909_off
-    is_cclass $I11, 8192, rx909_tgt, $I10
-    if $I11, rx909_fail
+    le rx918_pos, 0, rx918_fail
+    sub $I10, rx918_pos, rx918_off
+    is_cclass $I11, 8192, rx918_tgt, $I10
+    if $I11, rx918_fail
     dec $I10
-    is_cclass $I11, 8192, rx909_tgt, $I10
-    unless $I11, rx909_fail
+    is_cclass $I11, 8192, rx918_tgt, $I10
+    unless $I11, rx918_fail
   # rx enumcharlist negate=1 zerowidth
-    ge rx909_pos, rx909_eos, rx909_fail
-    sub $I10, rx909_pos, rx909_off
-    substr $S10, rx909_tgt, $I10, 1
+    ge rx918_pos, rx918_eos, rx918_fail
+    sub $I10, rx918_pos, rx918_off
+    substr $S10, rx918_tgt, $I10, 1
     index $I11, "(", $S10
-    ge $I11, 0, rx909_fail
+    ge $I11, 0, rx918_fail
   # rx subrule "ws" subtype=method negate=
-    rx909_cur."!cursor_pos"(rx909_pos)
-    $P10 = rx909_cur."ws"()
-    unless $P10, rx909_fail
-    rx909_pos = $P10."pos"()
+    rx918_cur."!cursor_pos"(rx918_pos)
+    $P10 = rx918_cur."ws"()
+    unless $P10, rx918_fail
+    rx918_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx909_cur."!cursor_pos"(rx909_pos)
-    $P10 = rx909_cur."quote_EXPR"()
-    unless $P10, rx909_fail
-    rx909_cur."!mark_push"(0, -1, 0, $P10)
+    rx918_cur."!cursor_pos"(rx918_pos)
+    $P10 = rx918_cur."quote_EXPR"()
+    unless $P10, rx918_fail
+    rx918_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx909_pos = $P10."pos"()
+    rx918_pos = $P10."pos"()
   # rx pass
-    rx909_cur."!cursor_pass"(rx909_pos, "quote:sym<Q>")
-    rx909_cur."!cursor_debug"("PASS  ", "quote:sym<Q>", " at pos=", rx909_pos)
-    .return (rx909_cur)
-  rx909_fail:
+    rx918_cur."!cursor_pass"(rx918_pos, "quote:sym<Q>")
+    rx918_cur."!cursor_debug"("PASS  ", "quote:sym<Q>", " at pos=", rx918_pos)
+    .return (rx918_cur)
+  rx918_fail:
 .annotate 'line', 4
-    (rx909_rep, rx909_pos, $I10, $P10) = rx909_cur."!mark_fail"(0)
-    lt rx909_pos, -1, rx909_done
-    eq rx909_pos, -1, rx909_fail
+    (rx918_rep, rx918_pos, $I10, $P10) = rx918_cur."!mark_fail"(0)
+    lt rx918_pos, -1, rx918_done
+    eq rx918_pos, -1, rx918_fail
     jump $I10
-  rx909_done:
-    rx909_cur."!cursor_fail"()
-    rx909_cur."!cursor_debug"("FAIL  ", "quote:sym<Q>")
-    .return (rx909_cur)
+  rx918_done:
+    rx918_cur."!cursor_fail"()
+    rx918_cur."!cursor_debug"("FAIL  ", "quote:sym<Q>")
+    .return (rx918_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q>"  :subid("213_1277356913.9538") :method
+.sub "!PREFIX__quote:sym<Q>"  :subid("215_1278500537.15927") :method
 .annotate 'line', 4
-    $P911 = self."!PREFIX__!subrule"("ws", "Q")
-    new $P912, "ResizablePMCArray"
-    push $P912, $P911
-    .return ($P912)
+    $P920 = self."!PREFIX__!subrule"("ws", "Q")
+    new $P921, "ResizablePMCArray"
+    push $P921, $P920
+    .return ($P921)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q:PIR>"  :subid("214_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "quote:sym<Q:PIR>"  :subid("216_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx915_tgt
-    .local int rx915_pos
-    .local int rx915_off
-    .local int rx915_eos
-    .local int rx915_rep
-    .local pmc rx915_cur
-    (rx915_cur, rx915_pos, rx915_tgt) = self."!cursor_start"()
-    rx915_cur."!cursor_debug"("START ", "quote:sym<Q:PIR>")
-    .lex unicode:"$\x{a2}", rx915_cur
+    .local string rx924_tgt
+    .local int rx924_pos
+    .local int rx924_off
+    .local int rx924_eos
+    .local int rx924_rep
+    .local pmc rx924_cur
+    (rx924_cur, rx924_pos, rx924_tgt) = self."!cursor_start"()
+    rx924_cur."!cursor_debug"("START ", "quote:sym<Q:PIR>")
+    .lex unicode:"$\x{a2}", rx924_cur
     .local pmc match
     .lex "$/", match
-    length rx915_eos, rx915_tgt
-    gt rx915_pos, rx915_eos, rx915_done
-    set rx915_off, 0
-    lt rx915_pos, 2, rx915_start
-    sub rx915_off, rx915_pos, 1
-    substr rx915_tgt, rx915_tgt, rx915_off
-  rx915_start:
+    length rx924_eos, rx924_tgt
+    gt rx924_pos, rx924_eos, rx924_done
+    set rx924_off, 0
+    lt rx924_pos, 2, rx924_start
+    sub rx924_off, rx924_pos, 1
+    substr rx924_tgt, rx924_tgt, rx924_off
+  rx924_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan919_done
-    goto rxscan919_scan
-  rxscan919_loop:
-    ($P10) = rx915_cur."from"()
+    ne $I10, -1, rxscan928_done
+    goto rxscan928_scan
+  rxscan928_loop:
+    ($P10) = rx924_cur."from"()
     inc $P10
-    set rx915_pos, $P10
-    ge rx915_pos, rx915_eos, rxscan919_done
-  rxscan919_scan:
-    set_addr $I10, rxscan919_loop
-    rx915_cur."!mark_push"(0, rx915_pos, $I10)
-  rxscan919_done:
-.annotate 'line', 422
+    set rx924_pos, $P10
+    ge rx924_pos, rx924_eos, rxscan928_done
+  rxscan928_scan:
+    set_addr $I10, rxscan928_loop
+    rx924_cur."!mark_push"(0, rx924_pos, $I10)
+  rxscan928_done:
+.annotate 'line', 423
   # rx literal  "Q:PIR"
-    add $I11, rx915_pos, 5
-    gt $I11, rx915_eos, rx915_fail
-    sub $I11, rx915_pos, rx915_off
-    substr $S10, rx915_tgt, $I11, 5
-    ne $S10, "Q:PIR", rx915_fail
-    add rx915_pos, 5
-  # rx subrule "ws" subtype=method negate=
-    rx915_cur."!cursor_pos"(rx915_pos)
-    $P10 = rx915_cur."ws"()
-    unless $P10, rx915_fail
-    rx915_pos = $P10."pos"()
+    add $I11, rx924_pos, 5
+    gt $I11, rx924_eos, rx924_fail
+    sub $I11, rx924_pos, rx924_off
+    substr $S10, rx924_tgt, $I11, 5
+    ne $S10, "Q:PIR", rx924_fail
+    add rx924_pos, 5
+  # rx subrule "ws" subtype=method negate=
+    rx924_cur."!cursor_pos"(rx924_pos)
+    $P10 = rx924_cur."ws"()
+    unless $P10, rx924_fail
+    rx924_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx915_cur."!cursor_pos"(rx915_pos)
-    $P10 = rx915_cur."quote_EXPR"()
-    unless $P10, rx915_fail
-    rx915_cur."!mark_push"(0, -1, 0, $P10)
+    rx924_cur."!cursor_pos"(rx924_pos)
+    $P10 = rx924_cur."quote_EXPR"()
+    unless $P10, rx924_fail
+    rx924_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx915_pos = $P10."pos"()
+    rx924_pos = $P10."pos"()
   # rx pass
-    rx915_cur."!cursor_pass"(rx915_pos, "quote:sym<Q:PIR>")
-    rx915_cur."!cursor_debug"("PASS  ", "quote:sym<Q:PIR>", " at pos=", rx915_pos)
-    .return (rx915_cur)
-  rx915_fail:
+    rx924_cur."!cursor_pass"(rx924_pos, "quote:sym<Q:PIR>")
+    rx924_cur."!cursor_debug"("PASS  ", "quote:sym<Q:PIR>", " at pos=", rx924_pos)
+    .return (rx924_cur)
+  rx924_fail:
 .annotate 'line', 4
-    (rx915_rep, rx915_pos, $I10, $P10) = rx915_cur."!mark_fail"(0)
-    lt rx915_pos, -1, rx915_done
-    eq rx915_pos, -1, rx915_fail
+    (rx924_rep, rx924_pos, $I10, $P10) = rx924_cur."!mark_fail"(0)
+    lt rx924_pos, -1, rx924_done
+    eq rx924_pos, -1, rx924_fail
     jump $I10
-  rx915_done:
-    rx915_cur."!cursor_fail"()
-    rx915_cur."!cursor_debug"("FAIL  ", "quote:sym<Q:PIR>")
-    .return (rx915_cur)
+  rx924_done:
+    rx924_cur."!cursor_fail"()
+    rx924_cur."!cursor_debug"("FAIL  ", "quote:sym<Q:PIR>")
+    .return (rx924_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("215_1277356913.9538") :method
+.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("217_1278500537.15927") :method
 .annotate 'line', 4
-    $P917 = self."!PREFIX__!subrule"("ws", "Q:PIR")
-    new $P918, "ResizablePMCArray"
-    push $P918, $P917
-    .return ($P918)
+    $P926 = self."!PREFIX__!subrule"("ws", "Q:PIR")
+    new $P927, "ResizablePMCArray"
+    push $P927, $P926
+    .return ($P927)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym</ />"  :subid("216_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "quote:sym</ />"  :subid("218_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx921_tgt
-    .local int rx921_pos
-    .local int rx921_off
-    .local int rx921_eos
-    .local int rx921_rep
-    .local pmc rx921_cur
-    (rx921_cur, rx921_pos, rx921_tgt) = self."!cursor_start"()
-    rx921_cur."!cursor_debug"("START ", "quote:sym</ />")
-    .lex unicode:"$\x{a2}", rx921_cur
+    .local string rx930_tgt
+    .local int rx930_pos
+    .local int rx930_off
+    .local int rx930_eos
+    .local int rx930_rep
+    .local pmc rx930_cur
+    (rx930_cur, rx930_pos, rx930_tgt) = self."!cursor_start"()
+    rx930_cur."!cursor_debug"("START ", "quote:sym</ />")
+    .lex unicode:"$\x{a2}", rx930_cur
     .local pmc match
     .lex "$/", match
-    length rx921_eos, rx921_tgt
-    gt rx921_pos, rx921_eos, rx921_done
-    set rx921_off, 0
-    lt rx921_pos, 2, rx921_start
-    sub rx921_off, rx921_pos, 1
-    substr rx921_tgt, rx921_tgt, rx921_off
-  rx921_start:
+    length rx930_eos, rx930_tgt
+    gt rx930_pos, rx930_eos, rx930_done
+    set rx930_off, 0
+    lt rx930_pos, 2, rx930_start
+    sub rx930_off, rx930_pos, 1
+    substr rx930_tgt, rx930_tgt, rx930_off
+  rx930_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan925_done
-    goto rxscan925_scan
-  rxscan925_loop:
-    ($P10) = rx921_cur."from"()
+    ne $I10, -1, rxscan934_done
+    goto rxscan934_scan
+  rxscan934_loop:
+    ($P10) = rx930_cur."from"()
     inc $P10
-    set rx921_pos, $P10
-    ge rx921_pos, rx921_eos, rxscan925_done
-  rxscan925_scan:
-    set_addr $I10, rxscan925_loop
-    rx921_cur."!mark_push"(0, rx921_pos, $I10)
-  rxscan925_done:
-.annotate 'line', 424
-  # rx literal  "/"
-    add $I11, rx921_pos, 1
-    gt $I11, rx921_eos, rx921_fail
-    sub $I11, rx921_pos, rx921_off
-    substr $S10, rx921_tgt, $I11, 1
-    ne $S10, "/", rx921_fail
-    add rx921_pos, 1
+    set rx930_pos, $P10
+    ge rx930_pos, rx930_eos, rxscan934_done
+  rxscan934_scan:
+    set_addr $I10, rxscan934_loop
+    rx930_cur."!mark_push"(0, rx930_pos, $I10)
+  rxscan934_done:
 .annotate 'line', 425
-  # rx subrule "newpad" subtype=method negate=
-    rx921_cur."!cursor_pos"(rx921_pos)
-    $P10 = rx921_cur."newpad"()
-    unless $P10, rx921_fail
-    rx921_pos = $P10."pos"()
+  # rx literal  "/"
+    add $I11, rx930_pos, 1
+    gt $I11, rx930_eos, rx930_fail
+    sub $I11, rx930_pos, rx930_off
+    substr $S10, rx930_tgt, $I11, 1
+    ne $S10, "/", rx930_fail
+    add rx930_pos, 1
 .annotate 'line', 426
-  # rx reduce name="quote:sym</ />" key="open"
-    rx921_cur."!cursor_pos"(rx921_pos)
-    rx921_cur."!reduce"("quote:sym</ />", "open")
+  # rx subrule "newpad" subtype=method negate=
+    rx930_cur."!cursor_pos"(rx930_pos)
+    $P10 = rx930_cur."newpad"()
+    unless $P10, rx930_fail
+    rx930_pos = $P10."pos"()
 .annotate 'line', 427
+  # rx reduce name="quote:sym</ />" key="open"
+    rx930_cur."!cursor_pos"(rx930_pos)
+    rx930_cur."!reduce"("quote:sym</ />", "open")
+.annotate 'line', 428
   # rx subrule "LANG" subtype=capture negate=
-    rx921_cur."!cursor_pos"(rx921_pos)
-    $P10 = rx921_cur."LANG"("Regex", "nibbler")
-    unless $P10, rx921_fail
-    rx921_cur."!mark_push"(0, -1, 0, $P10)
+    rx930_cur."!cursor_pos"(rx930_pos)
+    $P10 = rx930_cur."LANG"("Regex", "nibbler")
+    unless $P10, rx930_fail
+    rx930_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("p6regex")
-    rx921_pos = $P10."pos"()
-.annotate 'line', 428
+    rx930_pos = $P10."pos"()
+.annotate 'line', 429
   # rx literal  "/"
-    add $I11, rx921_pos, 1
-    gt $I11, rx921_eos, rx921_fail
-    sub $I11, rx921_pos, rx921_off
-    substr $S10, rx921_tgt, $I11, 1
-    ne $S10, "/", rx921_fail
-    add rx921_pos, 1
-.annotate 'line', 423
+    add $I11, rx930_pos, 1
+    gt $I11, rx930_eos, rx930_fail
+    sub $I11, rx930_pos, rx930_off
+    substr $S10, rx930_tgt, $I11, 1
+    ne $S10, "/", rx930_fail
+    add rx930_pos, 1
+.annotate 'line', 424
   # rx pass
-    rx921_cur."!cursor_pass"(rx921_pos, "quote:sym</ />")
-    rx921_cur."!cursor_debug"("PASS  ", "quote:sym</ />", " at pos=", rx921_pos)
-    .return (rx921_cur)
-  rx921_fail:
+    rx930_cur."!cursor_pass"(rx930_pos, "quote:sym</ />")
+    rx930_cur."!cursor_debug"("PASS  ", "quote:sym</ />", " at pos=", rx930_pos)
+    .return (rx930_cur)
+  rx930_fail:
 .annotate 'line', 4
-    (rx921_rep, rx921_pos, $I10, $P10) = rx921_cur."!mark_fail"(0)
-    lt rx921_pos, -1, rx921_done
-    eq rx921_pos, -1, rx921_fail
+    (rx930_rep, rx930_pos, $I10, $P10) = rx930_cur."!mark_fail"(0)
+    lt rx930_pos, -1, rx930_done
+    eq rx930_pos, -1, rx930_fail
     jump $I10
-  rx921_done:
-    rx921_cur."!cursor_fail"()
-    rx921_cur."!cursor_debug"("FAIL  ", "quote:sym</ />")
-    .return (rx921_cur)
+  rx930_done:
+    rx930_cur."!cursor_fail"()
+    rx930_cur."!cursor_debug"("FAIL  ", "quote:sym</ />")
+    .return (rx930_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym</ />"  :subid("217_1277356913.9538") :method
+.sub "!PREFIX__quote:sym</ />"  :subid("219_1278500537.15927") :method
 .annotate 'line', 4
-    $P923 = self."!PREFIX__!subrule"("newpad", "/")
-    new $P924, "ResizablePMCArray"
-    push $P924, $P923
-    .return ($P924)
+    $P932 = self."!PREFIX__!subrule"("newpad", "/")
+    new $P933, "ResizablePMCArray"
+    push $P933, $P932
+    .return ($P933)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<$>"  :subid("218_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "quote_escape:sym<$>"  :subid("220_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx927_tgt
-    .local int rx927_pos
-    .local int rx927_off
-    .local int rx927_eos
-    .local int rx927_rep
-    .local pmc rx927_cur
-    (rx927_cur, rx927_pos, rx927_tgt) = self."!cursor_start"()
-    rx927_cur."!cursor_debug"("START ", "quote_escape:sym<$>")
-    .lex unicode:"$\x{a2}", rx927_cur
+    .local string rx936_tgt
+    .local int rx936_pos
+    .local int rx936_off
+    .local int rx936_eos
+    .local int rx936_rep
+    .local pmc rx936_cur
+    (rx936_cur, rx936_pos, rx936_tgt) = self."!cursor_start"()
+    rx936_cur."!cursor_debug"("START ", "quote_escape:sym<$>")
+    .lex unicode:"$\x{a2}", rx936_cur
     .local pmc match
     .lex "$/", match
-    length rx927_eos, rx927_tgt
-    gt rx927_pos, rx927_eos, rx927_done
-    set rx927_off, 0
-    lt rx927_pos, 2, rx927_start
-    sub rx927_off, rx927_pos, 1
-    substr rx927_tgt, rx927_tgt, rx927_off
-  rx927_start:
+    length rx936_eos, rx936_tgt
+    gt rx936_pos, rx936_eos, rx936_done
+    set rx936_off, 0
+    lt rx936_pos, 2, rx936_start
+    sub rx936_off, rx936_pos, 1
+    substr rx936_tgt, rx936_tgt, rx936_off
+  rx936_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan930_done
-    goto rxscan930_scan
-  rxscan930_loop:
-    ($P10) = rx927_cur."from"()
+    ne $I10, -1, rxscan939_done
+    goto rxscan939_scan
+  rxscan939_loop:
+    ($P10) = rx936_cur."from"()
     inc $P10
-    set rx927_pos, $P10
-    ge rx927_pos, rx927_eos, rxscan930_done
-  rxscan930_scan:
-    set_addr $I10, rxscan930_loop
-    rx927_cur."!mark_push"(0, rx927_pos, $I10)
-  rxscan930_done:
-.annotate 'line', 431
+    set rx936_pos, $P10
+    ge rx936_pos, rx936_eos, rxscan939_done
+  rxscan939_scan:
+    set_addr $I10, rxscan939_loop
+    rx936_cur."!mark_push"(0, rx936_pos, $I10)
+  rxscan939_done:
+.annotate 'line', 432
   # rx enumcharlist negate=0 zerowidth
-    ge rx927_pos, rx927_eos, rx927_fail
-    sub $I10, rx927_pos, rx927_off
-    substr $S10, rx927_tgt, $I10, 1
+    ge rx936_pos, rx936_eos, rx936_fail
+    sub $I10, rx936_pos, rx936_off
+    substr $S10, rx936_tgt, $I10, 1
     index $I11, "$", $S10
-    lt $I11, 0, rx927_fail
+    lt $I11, 0, rx936_fail
   # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx927_cur."!cursor_pos"(rx927_pos)
-    $P10 = rx927_cur."quotemod_check"("s")
-    unless $P10, rx927_fail
+    rx936_cur."!cursor_pos"(rx936_pos)
+    $P10 = rx936_cur."quotemod_check"("s")
+    unless $P10, rx936_fail
   # rx subrule "variable" subtype=capture negate=
-    rx927_cur."!cursor_pos"(rx927_pos)
-    $P10 = rx927_cur."variable"()
-    unless $P10, rx927_fail
-    rx927_cur."!mark_push"(0, -1, 0, $P10)
+    rx936_cur."!cursor_pos"(rx936_pos)
+    $P10 = rx936_cur."variable"()
+    unless $P10, rx936_fail
+    rx936_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable")
-    rx927_pos = $P10."pos"()
+    rx936_pos = $P10."pos"()
   # rx pass
-    rx927_cur."!cursor_pass"(rx927_pos, "quote_escape:sym<$>")
-    rx927_cur."!cursor_debug"("PASS  ", "quote_escape:sym<$>", " at pos=", rx927_pos)
-    .return (rx927_cur)
-  rx927_fail:
+    rx936_cur."!cursor_pass"(rx936_pos, "quote_escape:sym<$>")
+    rx936_cur."!cursor_debug"("PASS  ", "quote_escape:sym<$>", " at pos=", rx936_pos)
+    .return (rx936_cur)
+  rx936_fail:
 .annotate 'line', 4
-    (rx927_rep, rx927_pos, $I10, $P10) = rx927_cur."!mark_fail"(0)
-    lt rx927_pos, -1, rx927_done
-    eq rx927_pos, -1, rx927_fail
+    (rx936_rep, rx936_pos, $I10, $P10) = rx936_cur."!mark_fail"(0)
+    lt rx936_pos, -1, rx936_done
+    eq rx936_pos, -1, rx936_fail
     jump $I10
-  rx927_done:
-    rx927_cur."!cursor_fail"()
-    rx927_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<$>")
-    .return (rx927_cur)
+  rx936_done:
+    rx936_cur."!cursor_fail"()
+    rx936_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<$>")
+    .return (rx936_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<$>"  :subid("219_1277356913.9538") :method
+.sub "!PREFIX__quote_escape:sym<$>"  :subid("221_1278500537.15927") :method
 .annotate 'line', 4
-    new $P929, "ResizablePMCArray"
-    push $P929, "$"
-    .return ($P929)
+    new $P938, "ResizablePMCArray"
+    push $P938, "$"
+    .return ($P938)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<{ }>"  :subid("220_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "quote_escape:sym<{ }>"  :subid("222_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx932_tgt
-    .local int rx932_pos
-    .local int rx932_off
-    .local int rx932_eos
-    .local int rx932_rep
-    .local pmc rx932_cur
-    (rx932_cur, rx932_pos, rx932_tgt) = self."!cursor_start"()
-    rx932_cur."!cursor_debug"("START ", "quote_escape:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx932_cur
+    .local string rx941_tgt
+    .local int rx941_pos
+    .local int rx941_off
+    .local int rx941_eos
+    .local int rx941_rep
+    .local pmc rx941_cur
+    (rx941_cur, rx941_pos, rx941_tgt) = self."!cursor_start"()
+    rx941_cur."!cursor_debug"("START ", "quote_escape:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx941_cur
     .local pmc match
     .lex "$/", match
-    length rx932_eos, rx932_tgt
-    gt rx932_pos, rx932_eos, rx932_done
-    set rx932_off, 0
-    lt rx932_pos, 2, rx932_start
-    sub rx932_off, rx932_pos, 1
-    substr rx932_tgt, rx932_tgt, rx932_off
-  rx932_start:
+    length rx941_eos, rx941_tgt
+    gt rx941_pos, rx941_eos, rx941_done
+    set rx941_off, 0
+    lt rx941_pos, 2, rx941_start
+    sub rx941_off, rx941_pos, 1
+    substr rx941_tgt, rx941_tgt, rx941_off
+  rx941_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan935_done
-    goto rxscan935_scan
-  rxscan935_loop:
-    ($P10) = rx932_cur."from"()
+    ne $I10, -1, rxscan944_done
+    goto rxscan944_scan
+  rxscan944_loop:
+    ($P10) = rx941_cur."from"()
     inc $P10
-    set rx932_pos, $P10
-    ge rx932_pos, rx932_eos, rxscan935_done
-  rxscan935_scan:
-    set_addr $I10, rxscan935_loop
-    rx932_cur."!mark_push"(0, rx932_pos, $I10)
-  rxscan935_done:
-.annotate 'line', 432
+    set rx941_pos, $P10
+    ge rx941_pos, rx941_eos, rxscan944_done
+  rxscan944_scan:
+    set_addr $I10, rxscan944_loop
+    rx941_cur."!mark_push"(0, rx941_pos, $I10)
+  rxscan944_done:
+.annotate 'line', 433
   # rx enumcharlist negate=0 zerowidth
-    ge rx932_pos, rx932_eos, rx932_fail
-    sub $I10, rx932_pos, rx932_off
-    substr $S10, rx932_tgt, $I10, 1
+    ge rx941_pos, rx941_eos, rx941_fail
+    sub $I10, rx941_pos, rx941_off
+    substr $S10, rx941_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx932_fail
+    lt $I11, 0, rx941_fail
   # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx932_cur."!cursor_pos"(rx932_pos)
-    $P10 = rx932_cur."quotemod_check"("c")
-    unless $P10, rx932_fail
+    rx941_cur."!cursor_pos"(rx941_pos)
+    $P10 = rx941_cur."quotemod_check"("c")
+    unless $P10, rx941_fail
   # rx subrule "block" subtype=capture negate=
-    rx932_cur."!cursor_pos"(rx932_pos)
-    $P10 = rx932_cur."block"()
-    unless $P10, rx932_fail
-    rx932_cur."!mark_push"(0, -1, 0, $P10)
+    rx941_cur."!cursor_pos"(rx941_pos)
+    $P10 = rx941_cur."block"()
+    unless $P10, rx941_fail
+    rx941_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx932_pos = $P10."pos"()
+    rx941_pos = $P10."pos"()
   # rx pass
-    rx932_cur."!cursor_pass"(rx932_pos, "quote_escape:sym<{ }>")
-    rx932_cur."!cursor_debug"("PASS  ", "quote_escape:sym<{ }>", " at pos=", rx932_pos)
-    .return (rx932_cur)
-  rx932_fail:
+    rx941_cur."!cursor_pass"(rx941_pos, "quote_escape:sym<{ }>")
+    rx941_cur."!cursor_debug"("PASS  ", "quote_escape:sym<{ }>", " at pos=", rx941_pos)
+    .return (rx941_cur)
+  rx941_fail:
 .annotate 'line', 4
-    (rx932_rep, rx932_pos, $I10, $P10) = rx932_cur."!mark_fail"(0)
-    lt rx932_pos, -1, rx932_done
-    eq rx932_pos, -1, rx932_fail
+    (rx941_rep, rx941_pos, $I10, $P10) = rx941_cur."!mark_fail"(0)
+    lt rx941_pos, -1, rx941_done
+    eq rx941_pos, -1, rx941_fail
     jump $I10
-  rx932_done:
-    rx932_cur."!cursor_fail"()
-    rx932_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<{ }>")
-    .return (rx932_cur)
+  rx941_done:
+    rx941_cur."!cursor_fail"()
+    rx941_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<{ }>")
+    .return (rx941_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("221_1277356913.9538") :method
+.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("223_1278500537.15927") :method
 .annotate 'line', 4
-    new $P934, "ResizablePMCArray"
-    push $P934, "{"
-    .return ($P934)
+    new $P943, "ResizablePMCArray"
+    push $P943, "{"
+    .return ($P943)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<esc>"  :subid("222_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "quote_escape:sym<esc>"  :subid("224_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx937_tgt
-    .local int rx937_pos
-    .local int rx937_off
-    .local int rx937_eos
-    .local int rx937_rep
-    .local pmc rx937_cur
-    (rx937_cur, rx937_pos, rx937_tgt) = self."!cursor_start"()
-    rx937_cur."!cursor_debug"("START ", "quote_escape:sym<esc>")
-    .lex unicode:"$\x{a2}", rx937_cur
+    .local string rx946_tgt
+    .local int rx946_pos
+    .local int rx946_off
+    .local int rx946_eos
+    .local int rx946_rep
+    .local pmc rx946_cur
+    (rx946_cur, rx946_pos, rx946_tgt) = self."!cursor_start"()
+    rx946_cur."!cursor_debug"("START ", "quote_escape:sym<esc>")
+    .lex unicode:"$\x{a2}", rx946_cur
     .local pmc match
     .lex "$/", match
-    length rx937_eos, rx937_tgt
-    gt rx937_pos, rx937_eos, rx937_done
-    set rx937_off, 0
-    lt rx937_pos, 2, rx937_start
-    sub rx937_off, rx937_pos, 1
-    substr rx937_tgt, rx937_tgt, rx937_off
-  rx937_start:
+    length rx946_eos, rx946_tgt
+    gt rx946_pos, rx946_eos, rx946_done
+    set rx946_off, 0
+    lt rx946_pos, 2, rx946_start
+    sub rx946_off, rx946_pos, 1
+    substr rx946_tgt, rx946_tgt, rx946_off
+  rx946_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan940_done
-    goto rxscan940_scan
-  rxscan940_loop:
-    ($P10) = rx937_cur."from"()
+    ne $I10, -1, rxscan949_done
+    goto rxscan949_scan
+  rxscan949_loop:
+    ($P10) = rx946_cur."from"()
     inc $P10
-    set rx937_pos, $P10
-    ge rx937_pos, rx937_eos, rxscan940_done
-  rxscan940_scan:
-    set_addr $I10, rxscan940_loop
-    rx937_cur."!mark_push"(0, rx937_pos, $I10)
-  rxscan940_done:
-.annotate 'line', 433
+    set rx946_pos, $P10
+    ge rx946_pos, rx946_eos, rxscan949_done
+  rxscan949_scan:
+    set_addr $I10, rxscan949_loop
+    rx946_cur."!mark_push"(0, rx946_pos, $I10)
+  rxscan949_done:
+.annotate 'line', 434
   # rx literal  "\\e"
-    add $I11, rx937_pos, 2
-    gt $I11, rx937_eos, rx937_fail
-    sub $I11, rx937_pos, rx937_off
-    substr $S10, rx937_tgt, $I11, 2
-    ne $S10, "\\e", rx937_fail
-    add rx937_pos, 2
+    add $I11, rx946_pos, 2
+    gt $I11, rx946_eos, rx946_fail
+    sub $I11, rx946_pos, rx946_off
+    substr $S10, rx946_tgt, $I11, 2
+    ne $S10, "\\e", rx946_fail
+    add rx946_pos, 2
   # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx937_cur."!cursor_pos"(rx937_pos)
-    $P10 = rx937_cur."quotemod_check"("b")
-    unless $P10, rx937_fail
+    rx946_cur."!cursor_pos"(rx946_pos)
+    $P10 = rx946_cur."quotemod_check"("b")
+    unless $P10, rx946_fail
   # rx pass
-    rx937_cur."!cursor_pass"(rx937_pos, "quote_escape:sym<esc>")
-    rx937_cur."!cursor_debug"("PASS  ", "quote_escape:sym<esc>", " at pos=", rx937_pos)
-    .return (rx937_cur)
-  rx937_fail:
+    rx946_cur."!cursor_pass"(rx946_pos, "quote_escape:sym<esc>")
+    rx946_cur."!cursor_debug"("PASS  ", "quote_escape:sym<esc>", " at pos=", rx946_pos)
+    .return (rx946_cur)
+  rx946_fail:
 .annotate 'line', 4
-    (rx937_rep, rx937_pos, $I10, $P10) = rx937_cur."!mark_fail"(0)
-    lt rx937_pos, -1, rx937_done
-    eq rx937_pos, -1, rx937_fail
+    (rx946_rep, rx946_pos, $I10, $P10) = rx946_cur."!mark_fail"(0)
+    lt rx946_pos, -1, rx946_done
+    eq rx946_pos, -1, rx946_fail
     jump $I10
-  rx937_done:
-    rx937_cur."!cursor_fail"()
-    rx937_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<esc>")
-    .return (rx937_cur)
+  rx946_done:
+    rx946_cur."!cursor_fail"()
+    rx946_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<esc>")
+    .return (rx946_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>"  :subid("223_1277356913.9538") :method
+.sub "!PREFIX__quote_escape:sym<esc>"  :subid("225_1278500537.15927") :method
 .annotate 'line', 4
-    new $P939, "ResizablePMCArray"
-    push $P939, "\\e"
-    .return ($P939)
+    new $P948, "ResizablePMCArray"
+    push $P948, "\\e"
+    .return ($P948)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<( )>"  :subid("224_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "circumfix:sym<( )>"  :subid("226_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx942_tgt
-    .local int rx942_pos
-    .local int rx942_off
-    .local int rx942_eos
-    .local int rx942_rep
-    .local pmc rx942_cur
-    (rx942_cur, rx942_pos, rx942_tgt) = self."!cursor_start"()
-    rx942_cur."!cursor_debug"("START ", "circumfix:sym<( )>")
-    rx942_cur."!cursor_caparray"("EXPR")
-    .lex unicode:"$\x{a2}", rx942_cur
+    .local string rx951_tgt
+    .local int rx951_pos
+    .local int rx951_off
+    .local int rx951_eos
+    .local int rx951_rep
+    .local pmc rx951_cur
+    (rx951_cur, rx951_pos, rx951_tgt) = self."!cursor_start"()
+    rx951_cur."!cursor_debug"("START ", "circumfix:sym<( )>")
+    rx951_cur."!cursor_caparray"("EXPR")
+    .lex unicode:"$\x{a2}", rx951_cur
     .local pmc match
     .lex "$/", match
-    length rx942_eos, rx942_tgt
-    gt rx942_pos, rx942_eos, rx942_done
-    set rx942_off, 0
-    lt rx942_pos, 2, rx942_start
-    sub rx942_off, rx942_pos, 1
-    substr rx942_tgt, rx942_tgt, rx942_off
-  rx942_start:
+    length rx951_eos, rx951_tgt
+    gt rx951_pos, rx951_eos, rx951_done
+    set rx951_off, 0
+    lt rx951_pos, 2, rx951_start
+    sub rx951_off, rx951_pos, 1
+    substr rx951_tgt, rx951_tgt, rx951_off
+  rx951_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan946_done
-    goto rxscan946_scan
-  rxscan946_loop:
-    ($P10) = rx942_cur."from"()
+    ne $I10, -1, rxscan955_done
+    goto rxscan955_scan
+  rxscan955_loop:
+    ($P10) = rx951_cur."from"()
     inc $P10
-    set rx942_pos, $P10
-    ge rx942_pos, rx942_eos, rxscan946_done
-  rxscan946_scan:
-    set_addr $I10, rxscan946_loop
-    rx942_cur."!mark_push"(0, rx942_pos, $I10)
-  rxscan946_done:
-.annotate 'line', 435
+    set rx951_pos, $P10
+    ge rx951_pos, rx951_eos, rxscan955_done
+  rxscan955_scan:
+    set_addr $I10, rxscan955_loop
+    rx951_cur."!mark_push"(0, rx951_pos, $I10)
+  rxscan955_done:
+.annotate 'line', 436
   # rx literal  "("
-    add $I11, rx942_pos, 1
-    gt $I11, rx942_eos, rx942_fail
-    sub $I11, rx942_pos, rx942_off
-    substr $S10, rx942_tgt, $I11, 1
-    ne $S10, "(", rx942_fail
-    add rx942_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx942_cur."!cursor_pos"(rx942_pos)
-    $P10 = rx942_cur."ws"()
-    unless $P10, rx942_fail
-    rx942_pos = $P10."pos"()
-  # rx rxquantr947 ** 0..1
-    set_addr $I948, rxquantr947_done
-    rx942_cur."!mark_push"(0, rx942_pos, $I948)
-  rxquantr947_loop:
+    add $I11, rx951_pos, 1
+    gt $I11, rx951_eos, rx951_fail
+    sub $I11, rx951_pos, rx951_off
+    substr $S10, rx951_tgt, $I11, 1
+    ne $S10, "(", rx951_fail
+    add rx951_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx951_cur."!cursor_pos"(rx951_pos)
+    $P10 = rx951_cur."ws"()
+    unless $P10, rx951_fail
+    rx951_pos = $P10."pos"()
+  # rx rxquantr956 ** 0..1
+    set_addr $I957, rxquantr956_done
+    rx951_cur."!mark_push"(0, rx951_pos, $I957)
+  rxquantr956_loop:
   # rx subrule "EXPR" subtype=capture negate=
-    rx942_cur."!cursor_pos"(rx942_pos)
-    $P10 = rx942_cur."EXPR"()
-    unless $P10, rx942_fail
-    rx942_cur."!mark_push"(0, -1, 0, $P10)
+    rx951_cur."!cursor_pos"(rx951_pos)
+    $P10 = rx951_cur."EXPR"()
+    unless $P10, rx951_fail
+    rx951_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx942_pos = $P10."pos"()
-    (rx942_rep) = rx942_cur."!mark_commit"($I948)
-  rxquantr947_done:
+    rx951_pos = $P10."pos"()
+    (rx951_rep) = rx951_cur."!mark_commit"($I957)
+  rxquantr956_done:
   # rx literal  ")"
-    add $I11, rx942_pos, 1
-    gt $I11, rx942_eos, rx942_fail
-    sub $I11, rx942_pos, rx942_off
-    substr $S10, rx942_tgt, $I11, 1
-    ne $S10, ")", rx942_fail
-    add rx942_pos, 1
+    add $I11, rx951_pos, 1
+    gt $I11, rx951_eos, rx951_fail
+    sub $I11, rx951_pos, rx951_off
+    substr $S10, rx951_tgt, $I11, 1
+    ne $S10, ")", rx951_fail
+    add rx951_pos, 1
   # rx pass
-    rx942_cur."!cursor_pass"(rx942_pos, "circumfix:sym<( )>")
-    rx942_cur."!cursor_debug"("PASS  ", "circumfix:sym<( )>", " at pos=", rx942_pos)
-    .return (rx942_cur)
-  rx942_fail:
+    rx951_cur."!cursor_pass"(rx951_pos, "circumfix:sym<( )>")
+    rx951_cur."!cursor_debug"("PASS  ", "circumfix:sym<( )>", " at pos=", rx951_pos)
+    .return (rx951_cur)
+  rx951_fail:
 .annotate 'line', 4
-    (rx942_rep, rx942_pos, $I10, $P10) = rx942_cur."!mark_fail"(0)
-    lt rx942_pos, -1, rx942_done
-    eq rx942_pos, -1, rx942_fail
+    (rx951_rep, rx951_pos, $I10, $P10) = rx951_cur."!mark_fail"(0)
+    lt rx951_pos, -1, rx951_done
+    eq rx951_pos, -1, rx951_fail
     jump $I10
-  rx942_done:
-    rx942_cur."!cursor_fail"()
-    rx942_cur."!cursor_debug"("FAIL  ", "circumfix:sym<( )>")
-    .return (rx942_cur)
+  rx951_done:
+    rx951_cur."!cursor_fail"()
+    rx951_cur."!cursor_debug"("FAIL  ", "circumfix:sym<( )>")
+    .return (rx951_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<( )>"  :subid("225_1277356913.9538") :method
+.sub "!PREFIX__circumfix:sym<( )>"  :subid("227_1278500537.15927") :method
 .annotate 'line', 4
-    $P944 = self."!PREFIX__!subrule"("ws", "(")
-    new $P945, "ResizablePMCArray"
-    push $P945, $P944
-    .return ($P945)
+    $P953 = self."!PREFIX__!subrule"("ws", "(")
+    new $P954, "ResizablePMCArray"
+    push $P954, $P953
+    .return ($P954)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<[ ]>"  :subid("226_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "circumfix:sym<[ ]>"  :subid("228_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx950_tgt
-    .local int rx950_pos
-    .local int rx950_off
-    .local int rx950_eos
-    .local int rx950_rep
-    .local pmc rx950_cur
-    (rx950_cur, rx950_pos, rx950_tgt) = self."!cursor_start"()
-    rx950_cur."!cursor_debug"("START ", "circumfix:sym<[ ]>")
-    rx950_cur."!cursor_caparray"("EXPR")
-    .lex unicode:"$\x{a2}", rx950_cur
+    .local string rx959_tgt
+    .local int rx959_pos
+    .local int rx959_off
+    .local int rx959_eos
+    .local int rx959_rep
+    .local pmc rx959_cur
+    (rx959_cur, rx959_pos, rx959_tgt) = self."!cursor_start"()
+    rx959_cur."!cursor_debug"("START ", "circumfix:sym<[ ]>")
+    rx959_cur."!cursor_caparray"("EXPR")
+    .lex unicode:"$\x{a2}", rx959_cur
     .local pmc match
     .lex "$/", match
-    length rx950_eos, rx950_tgt
-    gt rx950_pos, rx950_eos, rx950_done
-    set rx950_off, 0
-    lt rx950_pos, 2, rx950_start
-    sub rx950_off, rx950_pos, 1
-    substr rx950_tgt, rx950_tgt, rx950_off
-  rx950_start:
+    length rx959_eos, rx959_tgt
+    gt rx959_pos, rx959_eos, rx959_done
+    set rx959_off, 0
+    lt rx959_pos, 2, rx959_start
+    sub rx959_off, rx959_pos, 1
+    substr rx959_tgt, rx959_tgt, rx959_off
+  rx959_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan954_done
-    goto rxscan954_scan
-  rxscan954_loop:
-    ($P10) = rx950_cur."from"()
+    ne $I10, -1, rxscan963_done
+    goto rxscan963_scan
+  rxscan963_loop:
+    ($P10) = rx959_cur."from"()
     inc $P10
-    set rx950_pos, $P10
-    ge rx950_pos, rx950_eos, rxscan954_done
-  rxscan954_scan:
-    set_addr $I10, rxscan954_loop
-    rx950_cur."!mark_push"(0, rx950_pos, $I10)
-  rxscan954_done:
-.annotate 'line', 436
+    set rx959_pos, $P10
+    ge rx959_pos, rx959_eos, rxscan963_done
+  rxscan963_scan:
+    set_addr $I10, rxscan963_loop
+    rx959_cur."!mark_push"(0, rx959_pos, $I10)
+  rxscan963_done:
+.annotate 'line', 437
   # rx literal  "["
-    add $I11, rx950_pos, 1
-    gt $I11, rx950_eos, rx950_fail
-    sub $I11, rx950_pos, rx950_off
-    substr $S10, rx950_tgt, $I11, 1
-    ne $S10, "[", rx950_fail
-    add rx950_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx950_cur."!cursor_pos"(rx950_pos)
-    $P10 = rx950_cur."ws"()
-    unless $P10, rx950_fail
-    rx950_pos = $P10."pos"()
-  # rx rxquantr955 ** 0..1
-    set_addr $I956, rxquantr955_done
-    rx950_cur."!mark_push"(0, rx950_pos, $I956)
-  rxquantr955_loop:
+    add $I11, rx959_pos, 1
+    gt $I11, rx959_eos, rx959_fail
+    sub $I11, rx959_pos, rx959_off
+    substr $S10, rx959_tgt, $I11, 1
+    ne $S10, "[", rx959_fail
+    add rx959_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx959_cur."!cursor_pos"(rx959_pos)
+    $P10 = rx959_cur."ws"()
+    unless $P10, rx959_fail
+    rx959_pos = $P10."pos"()
+  # rx rxquantr964 ** 0..1
+    set_addr $I965, rxquantr964_done
+    rx959_cur."!mark_push"(0, rx959_pos, $I965)
+  rxquantr964_loop:
   # rx subrule "EXPR" subtype=capture negate=
-    rx950_cur."!cursor_pos"(rx950_pos)
-    $P10 = rx950_cur."EXPR"()
-    unless $P10, rx950_fail
-    rx950_cur."!mark_push"(0, -1, 0, $P10)
+    rx959_cur."!cursor_pos"(rx959_pos)
+    $P10 = rx959_cur."EXPR"()
+    unless $P10, rx959_fail
+    rx959_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx950_pos = $P10."pos"()
-    (rx950_rep) = rx950_cur."!mark_commit"($I956)
-  rxquantr955_done:
+    rx959_pos = $P10."pos"()
+    (rx959_rep) = rx959_cur."!mark_commit"($I965)
+  rxquantr964_done:
   # rx literal  "]"
-    add $I11, rx950_pos, 1
-    gt $I11, rx950_eos, rx950_fail
-    sub $I11, rx950_pos, rx950_off
-    substr $S10, rx950_tgt, $I11, 1
-    ne $S10, "]", rx950_fail
-    add rx950_pos, 1
+    add $I11, rx959_pos, 1
+    gt $I11, rx959_eos, rx959_fail
+    sub $I11, rx959_pos, rx959_off
+    substr $S10, rx959_tgt, $I11, 1
+    ne $S10, "]", rx959_fail
+    add rx959_pos, 1
   # rx pass
-    rx950_cur."!cursor_pass"(rx950_pos, "circumfix:sym<[ ]>")
-    rx950_cur."!cursor_debug"("PASS  ", "circumfix:sym<[ ]>", " at pos=", rx950_pos)
-    .return (rx950_cur)
-  rx950_fail:
+    rx959_cur."!cursor_pass"(rx959_pos, "circumfix:sym<[ ]>")
+    rx959_cur."!cursor_debug"("PASS  ", "circumfix:sym<[ ]>", " at pos=", rx959_pos)
+    .return (rx959_cur)
+  rx959_fail:
 .annotate 'line', 4
-    (rx950_rep, rx950_pos, $I10, $P10) = rx950_cur."!mark_fail"(0)
-    lt rx950_pos, -1, rx950_done
-    eq rx950_pos, -1, rx950_fail
+    (rx959_rep, rx959_pos, $I10, $P10) = rx959_cur."!mark_fail"(0)
+    lt rx959_pos, -1, rx959_done
+    eq rx959_pos, -1, rx959_fail
     jump $I10
-  rx950_done:
-    rx950_cur."!cursor_fail"()
-    rx950_cur."!cursor_debug"("FAIL  ", "circumfix:sym<[ ]>")
-    .return (rx950_cur)
+  rx959_done:
+    rx959_cur."!cursor_fail"()
+    rx959_cur."!cursor_debug"("FAIL  ", "circumfix:sym<[ ]>")
+    .return (rx959_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("227_1277356913.9538") :method
+.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("229_1278500537.15927") :method
 .annotate 'line', 4
-    $P952 = self."!PREFIX__!subrule"("ws", "[")
-    new $P953, "ResizablePMCArray"
-    push $P953, $P952
-    .return ($P953)
+    $P961 = self."!PREFIX__!subrule"("ws", "[")
+    new $P962, "ResizablePMCArray"
+    push $P962, $P961
+    .return ($P962)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<ang>"  :subid("228_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "circumfix:sym<ang>"  :subid("230_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx958_tgt
-    .local int rx958_pos
-    .local int rx958_off
-    .local int rx958_eos
-    .local int rx958_rep
-    .local pmc rx958_cur
-    (rx958_cur, rx958_pos, rx958_tgt) = self."!cursor_start"()
-    rx958_cur."!cursor_debug"("START ", "circumfix:sym<ang>")
-    .lex unicode:"$\x{a2}", rx958_cur
+    .local string rx967_tgt
+    .local int rx967_pos
+    .local int rx967_off
+    .local int rx967_eos
+    .local int rx967_rep
+    .local pmc rx967_cur
+    (rx967_cur, rx967_pos, rx967_tgt) = self."!cursor_start"()
+    rx967_cur."!cursor_debug"("START ", "circumfix:sym<ang>")
+    .lex unicode:"$\x{a2}", rx967_cur
     .local pmc match
     .lex "$/", match
-    length rx958_eos, rx958_tgt
-    gt rx958_pos, rx958_eos, rx958_done
-    set rx958_off, 0
-    lt rx958_pos, 2, rx958_start
-    sub rx958_off, rx958_pos, 1
-    substr rx958_tgt, rx958_tgt, rx958_off
-  rx958_start:
+    length rx967_eos, rx967_tgt
+    gt rx967_pos, rx967_eos, rx967_done
+    set rx967_off, 0
+    lt rx967_pos, 2, rx967_start
+    sub rx967_off, rx967_pos, 1
+    substr rx967_tgt, rx967_tgt, rx967_off
+  rx967_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan961_done
-    goto rxscan961_scan
-  rxscan961_loop:
-    ($P10) = rx958_cur."from"()
+    ne $I10, -1, rxscan970_done
+    goto rxscan970_scan
+  rxscan970_loop:
+    ($P10) = rx967_cur."from"()
     inc $P10
-    set rx958_pos, $P10
-    ge rx958_pos, rx958_eos, rxscan961_done
-  rxscan961_scan:
-    set_addr $I10, rxscan961_loop
-    rx958_cur."!mark_push"(0, rx958_pos, $I10)
-  rxscan961_done:
-.annotate 'line', 437
+    set rx967_pos, $P10
+    ge rx967_pos, rx967_eos, rxscan970_done
+  rxscan970_scan:
+    set_addr $I10, rxscan970_loop
+    rx967_cur."!mark_push"(0, rx967_pos, $I10)
+  rxscan970_done:
+.annotate 'line', 438
   # rx enumcharlist negate=0 zerowidth
-    ge rx958_pos, rx958_eos, rx958_fail
-    sub $I10, rx958_pos, rx958_off
-    substr $S10, rx958_tgt, $I10, 1
+    ge rx967_pos, rx967_eos, rx967_fail
+    sub $I10, rx967_pos, rx967_off
+    substr $S10, rx967_tgt, $I10, 1
     index $I11, "<", $S10
-    lt $I11, 0, rx958_fail
+    lt $I11, 0, rx967_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx958_cur."!cursor_pos"(rx958_pos)
-    $P10 = rx958_cur."quote_EXPR"(":q", ":w")
-    unless $P10, rx958_fail
-    rx958_cur."!mark_push"(0, -1, 0, $P10)
+    rx967_cur."!cursor_pos"(rx967_pos)
+    $P10 = rx967_cur."quote_EXPR"(":q", ":w")
+    unless $P10, rx967_fail
+    rx967_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx958_pos = $P10."pos"()
+    rx967_pos = $P10."pos"()
   # rx pass
-    rx958_cur."!cursor_pass"(rx958_pos, "circumfix:sym<ang>")
-    rx958_cur."!cursor_debug"("PASS  ", "circumfix:sym<ang>", " at pos=", rx958_pos)
-    .return (rx958_cur)
-  rx958_fail:
+    rx967_cur."!cursor_pass"(rx967_pos, "circumfix:sym<ang>")
+    rx967_cur."!cursor_debug"("PASS  ", "circumfix:sym<ang>", " at pos=", rx967_pos)
+    .return (rx967_cur)
+  rx967_fail:
 .annotate 'line', 4
-    (rx958_rep, rx958_pos, $I10, $P10) = rx958_cur."!mark_fail"(0)
-    lt rx958_pos, -1, rx958_done
-    eq rx958_pos, -1, rx958_fail
+    (rx967_rep, rx967_pos, $I10, $P10) = rx967_cur."!mark_fail"(0)
+    lt rx967_pos, -1, rx967_done
+    eq rx967_pos, -1, rx967_fail
     jump $I10
-  rx958_done:
-    rx958_cur."!cursor_fail"()
-    rx958_cur."!cursor_debug"("FAIL  ", "circumfix:sym<ang>")
-    .return (rx958_cur)
+  rx967_done:
+    rx967_cur."!cursor_fail"()
+    rx967_cur."!cursor_debug"("FAIL  ", "circumfix:sym<ang>")
+    .return (rx967_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<ang>"  :subid("229_1277356913.9538") :method
+.sub "!PREFIX__circumfix:sym<ang>"  :subid("231_1278500537.15927") :method
 .annotate 'line', 4
-    new $P960, "ResizablePMCArray"
-    push $P960, "<"
-    .return ($P960)
+    new $P969, "ResizablePMCArray"
+    push $P969, "<"
+    .return ($P969)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("230_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("232_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx963_tgt
-    .local int rx963_pos
-    .local int rx963_off
-    .local int rx963_eos
-    .local int rx963_rep
-    .local pmc rx963_cur
-    (rx963_cur, rx963_pos, rx963_tgt) = self."!cursor_start"()
-    rx963_cur."!cursor_debug"("START ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
-    .lex unicode:"$\x{a2}", rx963_cur
+    .local string rx972_tgt
+    .local int rx972_pos
+    .local int rx972_off
+    .local int rx972_eos
+    .local int rx972_rep
+    .local pmc rx972_cur
+    (rx972_cur, rx972_pos, rx972_tgt) = self."!cursor_start"()
+    rx972_cur."!cursor_debug"("START ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
+    .lex unicode:"$\x{a2}", rx972_cur
     .local pmc match
     .lex "$/", match
-    length rx963_eos, rx963_tgt
-    gt rx963_pos, rx963_eos, rx963_done
-    set rx963_off, 0
-    lt rx963_pos, 2, rx963_start
-    sub rx963_off, rx963_pos, 1
-    substr rx963_tgt, rx963_tgt, rx963_off
-  rx963_start:
+    length rx972_eos, rx972_tgt
+    gt rx972_pos, rx972_eos, rx972_done
+    set rx972_off, 0
+    lt rx972_pos, 2, rx972_start
+    sub rx972_off, rx972_pos, 1
+    substr rx972_tgt, rx972_tgt, rx972_off
+  rx972_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan966_done
-    goto rxscan966_scan
-  rxscan966_loop:
-    ($P10) = rx963_cur."from"()
+    ne $I10, -1, rxscan975_done
+    goto rxscan975_scan
+  rxscan975_loop:
+    ($P10) = rx972_cur."from"()
     inc $P10
-    set rx963_pos, $P10
-    ge rx963_pos, rx963_eos, rxscan966_done
-  rxscan966_scan:
-    set_addr $I10, rxscan966_loop
-    rx963_cur."!mark_push"(0, rx963_pos, $I10)
-  rxscan966_done:
-.annotate 'line', 438
+    set rx972_pos, $P10
+    ge rx972_pos, rx972_eos, rxscan975_done
+  rxscan975_scan:
+    set_addr $I10, rxscan975_loop
+    rx972_cur."!mark_push"(0, rx972_pos, $I10)
+  rxscan975_done:
+.annotate 'line', 439
   # rx enumcharlist negate=0 zerowidth
-    ge rx963_pos, rx963_eos, rx963_fail
-    sub $I10, rx963_pos, rx963_off
-    substr $S10, rx963_tgt, $I10, 1
+    ge rx972_pos, rx972_eos, rx972_fail
+    sub $I10, rx972_pos, rx972_off
+    substr $S10, rx972_tgt, $I10, 1
     index $I11, unicode:"\x{ab}", $S10
-    lt $I11, 0, rx963_fail
+    lt $I11, 0, rx972_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx963_cur."!cursor_pos"(rx963_pos)
-    $P10 = rx963_cur."quote_EXPR"(":qq", ":w")
-    unless $P10, rx963_fail
-    rx963_cur."!mark_push"(0, -1, 0, $P10)
+    rx972_cur."!cursor_pos"(rx972_pos)
+    $P10 = rx972_cur."quote_EXPR"(":qq", ":w")
+    unless $P10, rx972_fail
+    rx972_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx963_pos = $P10."pos"()
+    rx972_pos = $P10."pos"()
   # rx pass
-    rx963_cur."!cursor_pass"(rx963_pos, unicode:"circumfix:sym<\x{ab} \x{bb}>")
-    rx963_cur."!cursor_debug"("PASS  ", unicode:"circumfix:sym<\x{ab} \x{bb}>", " at pos=", rx963_pos)
-    .return (rx963_cur)
-  rx963_fail:
+    rx972_cur."!cursor_pass"(rx972_pos, unicode:"circumfix:sym<\x{ab} \x{bb}>")
+    rx972_cur."!cursor_debug"("PASS  ", unicode:"circumfix:sym<\x{ab} \x{bb}>", " at pos=", rx972_pos)
+    .return (rx972_cur)
+  rx972_fail:
 .annotate 'line', 4
-    (rx963_rep, rx963_pos, $I10, $P10) = rx963_cur."!mark_fail"(0)
-    lt rx963_pos, -1, rx963_done
-    eq rx963_pos, -1, rx963_fail
+    (rx972_rep, rx972_pos, $I10, $P10) = rx972_cur."!mark_fail"(0)
+    lt rx972_pos, -1, rx972_done
+    eq rx972_pos, -1, rx972_fail
     jump $I10
-  rx963_done:
-    rx963_cur."!cursor_fail"()
-    rx963_cur."!cursor_debug"("FAIL  ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
-    .return (rx963_cur)
+  rx972_done:
+    rx972_cur."!cursor_fail"()
+    rx972_cur."!cursor_debug"("FAIL  ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
+    .return (rx972_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("231_1277356913.9538") :method
+.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("233_1278500537.15927") :method
 .annotate 'line', 4
-    new $P965, "ResizablePMCArray"
-    push $P965, unicode:"\x{ab}"
-    .return ($P965)
+    new $P974, "ResizablePMCArray"
+    push $P974, unicode:"\x{ab}"
+    .return ($P974)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<{ }>"  :subid("232_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "circumfix:sym<{ }>"  :subid("234_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx968_tgt
-    .local int rx968_pos
-    .local int rx968_off
-    .local int rx968_eos
-    .local int rx968_rep
-    .local pmc rx968_cur
-    (rx968_cur, rx968_pos, rx968_tgt) = self."!cursor_start"()
-    rx968_cur."!cursor_debug"("START ", "circumfix:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx968_cur
+    .local string rx977_tgt
+    .local int rx977_pos
+    .local int rx977_off
+    .local int rx977_eos
+    .local int rx977_rep
+    .local pmc rx977_cur
+    (rx977_cur, rx977_pos, rx977_tgt) = self."!cursor_start"()
+    rx977_cur."!cursor_debug"("START ", "circumfix:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx977_cur
     .local pmc match
     .lex "$/", match
-    length rx968_eos, rx968_tgt
-    gt rx968_pos, rx968_eos, rx968_done
-    set rx968_off, 0
-    lt rx968_pos, 2, rx968_start
-    sub rx968_off, rx968_pos, 1
-    substr rx968_tgt, rx968_tgt, rx968_off
-  rx968_start:
+    length rx977_eos, rx977_tgt
+    gt rx977_pos, rx977_eos, rx977_done
+    set rx977_off, 0
+    lt rx977_pos, 2, rx977_start
+    sub rx977_off, rx977_pos, 1
+    substr rx977_tgt, rx977_tgt, rx977_off
+  rx977_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan971_done
-    goto rxscan971_scan
-  rxscan971_loop:
-    ($P10) = rx968_cur."from"()
+    ne $I10, -1, rxscan980_done
+    goto rxscan980_scan
+  rxscan980_loop:
+    ($P10) = rx977_cur."from"()
     inc $P10
-    set rx968_pos, $P10
-    ge rx968_pos, rx968_eos, rxscan971_done
-  rxscan971_scan:
-    set_addr $I10, rxscan971_loop
-    rx968_cur."!mark_push"(0, rx968_pos, $I10)
-  rxscan971_done:
-.annotate 'line', 439
+    set rx977_pos, $P10
+    ge rx977_pos, rx977_eos, rxscan980_done
+  rxscan980_scan:
+    set_addr $I10, rxscan980_loop
+    rx977_cur."!mark_push"(0, rx977_pos, $I10)
+  rxscan980_done:
+.annotate 'line', 440
   # rx enumcharlist negate=0 zerowidth
-    ge rx968_pos, rx968_eos, rx968_fail
-    sub $I10, rx968_pos, rx968_off
-    substr $S10, rx968_tgt, $I10, 1
+    ge rx977_pos, rx977_eos, rx977_fail
+    sub $I10, rx977_pos, rx977_off
+    substr $S10, rx977_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx968_fail
+    lt $I11, 0, rx977_fail
   # rx subrule "pblock" subtype=capture negate=
-    rx968_cur."!cursor_pos"(rx968_pos)
-    $P10 = rx968_cur."pblock"()
-    unless $P10, rx968_fail
-    rx968_cur."!mark_push"(0, -1, 0, $P10)
+    rx977_cur."!cursor_pos"(rx977_pos)
+    $P10 = rx977_cur."pblock"()
+    unless $P10, rx977_fail
+    rx977_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pblock")
-    rx968_pos = $P10."pos"()
+    rx977_pos = $P10."pos"()
   # rx pass
-    rx968_cur."!cursor_pass"(rx968_pos, "circumfix:sym<{ }>")
-    rx968_cur."!cursor_debug"("PASS  ", "circumfix:sym<{ }>", " at pos=", rx968_pos)
-    .return (rx968_cur)
-  rx968_fail:
+    rx977_cur."!cursor_pass"(rx977_pos, "circumfix:sym<{ }>")
+    rx977_cur."!cursor_debug"("PASS  ", "circumfix:sym<{ }>", " at pos=", rx977_pos)
+    .return (rx977_cur)
+  rx977_fail:
 .annotate 'line', 4
-    (rx968_rep, rx968_pos, $I10, $P10) = rx968_cur."!mark_fail"(0)
-    lt rx968_pos, -1, rx968_done
-    eq rx968_pos, -1, rx968_fail
+    (rx977_rep, rx977_pos, $I10, $P10) = rx977_cur."!mark_fail"(0)
+    lt rx977_pos, -1, rx977_done
+    eq rx977_pos, -1, rx977_fail
     jump $I10
-  rx968_done:
-    rx968_cur."!cursor_fail"()
-    rx968_cur."!cursor_debug"("FAIL  ", "circumfix:sym<{ }>")
-    .return (rx968_cur)
+  rx977_done:
+    rx977_cur."!cursor_fail"()
+    rx977_cur."!cursor_debug"("FAIL  ", "circumfix:sym<{ }>")
+    .return (rx977_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<{ }>"  :subid("233_1277356913.9538") :method
+.sub "!PREFIX__circumfix:sym<{ }>"  :subid("235_1278500537.15927") :method
 .annotate 'line', 4
-    new $P970, "ResizablePMCArray"
-    push $P970, "{"
-    .return ($P970)
+    new $P979, "ResizablePMCArray"
+    push $P979, "{"
+    .return ($P979)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<sigil>"  :subid("234_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "circumfix:sym<sigil>"  :subid("236_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx973_tgt
-    .local int rx973_pos
-    .local int rx973_off
-    .local int rx973_eos
-    .local int rx973_rep
-    .local pmc rx973_cur
-    (rx973_cur, rx973_pos, rx973_tgt) = self."!cursor_start"()
-    rx973_cur."!cursor_debug"("START ", "circumfix:sym<sigil>")
-    .lex unicode:"$\x{a2}", rx973_cur
+    .local string rx982_tgt
+    .local int rx982_pos
+    .local int rx982_off
+    .local int rx982_eos
+    .local int rx982_rep
+    .local pmc rx982_cur
+    (rx982_cur, rx982_pos, rx982_tgt) = self."!cursor_start"()
+    rx982_cur."!cursor_debug"("START ", "circumfix:sym<sigil>")
+    .lex unicode:"$\x{a2}", rx982_cur
     .local pmc match
     .lex "$/", match
-    length rx973_eos, rx973_tgt
-    gt rx973_pos, rx973_eos, rx973_done
-    set rx973_off, 0
-    lt rx973_pos, 2, rx973_start
-    sub rx973_off, rx973_pos, 1
-    substr rx973_tgt, rx973_tgt, rx973_off
-  rx973_start:
+    length rx982_eos, rx982_tgt
+    gt rx982_pos, rx982_eos, rx982_done
+    set rx982_off, 0
+    lt rx982_pos, 2, rx982_start
+    sub rx982_off, rx982_pos, 1
+    substr rx982_tgt, rx982_tgt, rx982_off
+  rx982_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan977_done
-    goto rxscan977_scan
-  rxscan977_loop:
-    ($P10) = rx973_cur."from"()
+    ne $I10, -1, rxscan986_done
+    goto rxscan986_scan
+  rxscan986_loop:
+    ($P10) = rx982_cur."from"()
     inc $P10
-    set rx973_pos, $P10
-    ge rx973_pos, rx973_eos, rxscan977_done
-  rxscan977_scan:
-    set_addr $I10, rxscan977_loop
-    rx973_cur."!mark_push"(0, rx973_pos, $I10)
-  rxscan977_done:
-.annotate 'line', 440
+    set rx982_pos, $P10
+    ge rx982_pos, rx982_eos, rxscan986_done
+  rxscan986_scan:
+    set_addr $I10, rxscan986_loop
+    rx982_cur."!mark_push"(0, rx982_pos, $I10)
+  rxscan986_done:
+.annotate 'line', 441
   # rx subrule "sigil" subtype=capture negate=
-    rx973_cur."!cursor_pos"(rx973_pos)
-    $P10 = rx973_cur."sigil"()
-    unless $P10, rx973_fail
-    rx973_cur."!mark_push"(0, -1, 0, $P10)
+    rx982_cur."!cursor_pos"(rx982_pos)
+    $P10 = rx982_cur."sigil"()
+    unless $P10, rx982_fail
+    rx982_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx973_pos = $P10."pos"()
+    rx982_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx973_pos, 1
-    gt $I11, rx973_eos, rx973_fail
-    sub $I11, rx973_pos, rx973_off
-    substr $S10, rx973_tgt, $I11, 1
-    ne $S10, "(", rx973_fail
-    add rx973_pos, 1
+    add $I11, rx982_pos, 1
+    gt $I11, rx982_eos, rx982_fail
+    sub $I11, rx982_pos, rx982_off
+    substr $S10, rx982_tgt, $I11, 1
+    ne $S10, "(", rx982_fail
+    add rx982_pos, 1
   # rx subrule "semilist" subtype=capture negate=
-    rx973_cur."!cursor_pos"(rx973_pos)
-    $P10 = rx973_cur."semilist"()
-    unless $P10, rx973_fail
-    rx973_cur."!mark_push"(0, -1, 0, $P10)
+    rx982_cur."!cursor_pos"(rx982_pos)
+    $P10 = rx982_cur."semilist"()
+    unless $P10, rx982_fail
+    rx982_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("semilist")
-    rx973_pos = $P10."pos"()
-  alt978_0:
-    set_addr $I10, alt978_1
-    rx973_cur."!mark_push"(0, rx973_pos, $I10)
+    rx982_pos = $P10."pos"()
+  alt987_0:
+    set_addr $I10, alt987_1
+    rx982_cur."!mark_push"(0, rx982_pos, $I10)
   # rx literal  ")"
-    add $I11, rx973_pos, 1
-    gt $I11, rx973_eos, rx973_fail
-    sub $I11, rx973_pos, rx973_off
-    substr $S10, rx973_tgt, $I11, 1
-    ne $S10, ")", rx973_fail
-    add rx973_pos, 1
-    goto alt978_end
-  alt978_1:
+    add $I11, rx982_pos, 1
+    gt $I11, rx982_eos, rx982_fail
+    sub $I11, rx982_pos, rx982_off
+    substr $S10, rx982_tgt, $I11, 1
+    ne $S10, ")", rx982_fail
+    add rx982_pos, 1
+    goto alt987_end
+  alt987_1:
   # rx subrule "FAILGOAL" subtype=method negate=
-    rx973_cur."!cursor_pos"(rx973_pos)
-    $P10 = rx973_cur."FAILGOAL"("')'")
-    unless $P10, rx973_fail
-    rx973_pos = $P10."pos"()
-  alt978_end:
+    rx982_cur."!cursor_pos"(rx982_pos)
+    $P10 = rx982_cur."FAILGOAL"("')'")
+    unless $P10, rx982_fail
+    rx982_pos = $P10."pos"()
+  alt987_end:
   # rx pass
-    rx973_cur."!cursor_pass"(rx973_pos, "circumfix:sym<sigil>")
-    rx973_cur."!cursor_debug"("PASS  ", "circumfix:sym<sigil>", " at pos=", rx973_pos)
-    .return (rx973_cur)
-  rx973_fail:
+    rx982_cur."!cursor_pass"(rx982_pos, "circumfix:sym<sigil>")
+    rx982_cur."!cursor_debug"("PASS  ", "circumfix:sym<sigil>", " at pos=", rx982_pos)
+    .return (rx982_cur)
+  rx982_fail:
 .annotate 'line', 4
-    (rx973_rep, rx973_pos, $I10, $P10) = rx973_cur."!mark_fail"(0)
-    lt rx973_pos, -1, rx973_done
-    eq rx973_pos, -1, rx973_fail
+    (rx982_rep, rx982_pos, $I10, $P10) = rx982_cur."!mark_fail"(0)
+    lt rx982_pos, -1, rx982_done
+    eq rx982_pos, -1, rx982_fail
     jump $I10
-  rx973_done:
-    rx973_cur."!cursor_fail"()
-    rx973_cur."!cursor_debug"("FAIL  ", "circumfix:sym<sigil>")
-    .return (rx973_cur)
+  rx982_done:
+    rx982_cur."!cursor_fail"()
+    rx982_cur."!cursor_debug"("FAIL  ", "circumfix:sym<sigil>")
+    .return (rx982_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<sigil>"  :subid("235_1277356913.9538") :method
+.sub "!PREFIX__circumfix:sym<sigil>"  :subid("237_1278500537.15927") :method
 .annotate 'line', 4
-    $P975 = self."!PREFIX__!subrule"("sigil", "")
-    new $P976, "ResizablePMCArray"
-    push $P976, $P975
-    .return ($P976)
+    $P984 = self."!PREFIX__!subrule"("sigil", "")
+    new $P985, "ResizablePMCArray"
+    push $P985, $P984
+    .return ($P985)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "semilist"  :subid("236_1277356913.9538") :method :outer("11_1277356913.9538")
+.sub "semilist"  :subid("238_1278500537.15927") :method :outer("11_1278500537.15927")
 .annotate 'line', 4
-    .local string rx981_tgt
-    .local int rx981_pos
-    .local int rx981_off
-    .local int rx981_eos
-    .local int rx981_rep
-    .local pmc rx981_cur
-    (rx981_cur, rx981_pos, rx981_tgt) = self."!cursor_start"()
-    rx981_cur."!cursor_debug"("START ", "semilist")
-    .lex unicode:"$\x{a2}", rx981_cur
+    .local string rx990_tgt
+    .local int rx990_pos
+    .local int rx990_off
+    .local int rx990_eos
+    .local int rx990_rep
+    .local pmc rx990_cur
+    (rx990_cur, rx990_pos, rx990_tgt) = self."!cursor_start"()
+    rx990_cur."!cursor_debug"("START ", "semilist")
+    .lex unicode:"$\x{a2}", rx990_cur
     .local pmc match
     .lex "$/", match
-    length rx981_eos, rx981_tgt
-    gt rx981_pos, rx981_eos, rx981_done
-    set rx981_off, 0
-    lt rx981_pos, 2, rx981_start
-    sub rx981_off, rx981_pos, 1
-    substr rx981_tgt, rx981_tgt, rx981_off
-  rx981_start:
+    length rx990_eos, rx990_tgt
+    gt rx990_pos, rx990_eos, rx990_done
+    set rx990_off, 0
+    lt rx990_pos, 2, rx990_start
+    sub rx990_off, rx990_pos, 1
+    substr rx990_tgt, rx990_tgt, rx990_off
+  rx990_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan985_done
-    goto rxscan985_scan
-  rxscan985_loop:
-    ($P10) = rx981_cur."from"()
+    ne $I10, -1, rxscan994_done
+    goto rxscan994_scan
+  rxscan994_loop:
+    ($P10) = rx990_cur."from"()
     inc $P10
-    set rx981_pos, $P10
-    ge rx981_pos, rx981_eos, rxscan985_done
-  rxscan985_scan:
-    set_addr $I10, rxscan985_loop
-    rx981_cur."!mark_push"(0, rx981_pos, $I10)
-  rxscan985_done:
-.annotate 'line', 442
+    set rx990_pos, $P10
+    ge rx990_pos, rx990_eos, rxscan994_done
+  rxscan994_scan:
+    set_addr $I10, rxscan994_loop
+    rx990_cur."!mark_push"(0, rx990_pos, $I10)
+  rxscan994_done:
+.annotate 'line', 443
   # rx subrule "ws" subtype=method negate=
-    rx981_cur."!cursor_pos"(rx981_pos)
-    $P10 = rx981_cur."ws"()
-    unless $P10, rx981_fail
-    rx981_pos = $P10."pos"()
+    rx990_cur."!cursor_pos"(rx990_pos)
+    $P10 = rx990_cur."ws"()
+    unless $P10, rx990_fail
+    rx990_pos = $P10."pos"()
   # rx subrule "statement" subtype=capture negate=
-    rx981_cur."!cursor_pos"(rx981_pos)
-    $P10 = rx981_cur."statement"()
-    unless $P10, rx981_fail
-    rx981_cur."!mark_push"(0, -1, 0, $P10)
+    rx990_cur."!cursor_pos"(rx990_pos)
+    $P10 = rx990_cur."statement"()
+    unless $P10, rx990_fail
+    rx990_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement")
-    rx981_pos = $P10."pos"()
+    rx990_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx981_cur."!cursor_pos"(rx981_pos)
-    $P10 = rx981_cur."ws"()
-    unless $P10, rx981_fail
-    rx981_pos = $P10."pos"()
+    rx990_cur."!cursor_pos"(rx990_pos)
+    $P10 = rx990_cur."ws"()
+    unless $P10, rx990_fail
+    rx990_pos = $P10."pos"()
   # rx pass
-    rx981_cur."!cursor_pass"(rx981_pos, "semilist")
-    rx981_cur."!cursor_debug"("PASS  ", "semilist", " at pos=", rx981_pos)
-    .return (rx981_cur)
-  rx981_fail:
+    rx990_cur."!cursor_pass"(rx990_pos, "semilist")
+    rx990_cur."!cursor_debug"("PASS  ", "semilist", " at pos=", rx990_pos)
+    .return (rx990_cur)
+  rx990_fail:
 .annotate 'line', 4
-    (rx981_rep, rx981_pos, $I10, $P10) = rx981_cur."!mark_fail"(0)
-    lt rx981_pos, -1, rx981_done
-    eq rx981_pos, -1, rx981_fail
+    (rx990_rep, rx990_pos, $I10, $P10) = rx990_cur."!mark_fail"(0)
+    lt rx990_pos, -1, rx990_done
+    eq rx990_pos, -1, rx990_fail
     jump $I10
-  rx981_done:
-    rx981_cur."!cursor_fail"()
-    rx981_cur."!cursor_debug"("FAIL  ", "semilist")
-    .return (rx981_cur)
+  rx990_done:
+    rx990_cur."!cursor_fail"()
+    rx990_cur."!cursor_debug"("FAIL  ", "semilist")
+    .return (rx990_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__semilist"  :subid("237_1277356913.9538") :method
+.sub "!PREFIX__semilist"  :subid("239_1278500537.15927") :method
 .annotate 'line', 4
-    $P983 = self."!PREFIX__!subrule"("ws", "")
-    new $P984, "ResizablePMCArray"
-    push $P984, $P983
-    .return ($P984)
+    $P992 = self."!PREFIX__!subrule"("ws", "")
+    new $P993, "ResizablePMCArray"
+    push $P993, $P992
+    .return ($P993)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixish"  :subid("238_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx989_tgt
-    .local int rx989_pos
-    .local int rx989_off
-    .local int rx989_eos
-    .local int rx989_rep
-    .local pmc rx989_cur
-    (rx989_cur, rx989_pos, rx989_tgt) = self."!cursor_start"()
-    rx989_cur."!cursor_debug"("START ", "infixish")
-    .lex unicode:"$\x{a2}", rx989_cur
-    .local pmc match
-    .lex "$/", match
-    length rx989_eos, rx989_tgt
-    gt rx989_pos, rx989_eos, rx989_done
-    set rx989_off, 0
-    lt rx989_pos, 2, rx989_start
-    sub rx989_off, rx989_pos, 1
-    substr rx989_tgt, rx989_tgt, rx989_off
-  rx989_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan992_done
-    goto rxscan992_scan
-  rxscan992_loop:
-    ($P10) = rx989_cur."from"()
-    inc $P10
-    set rx989_pos, $P10
-    ge rx989_pos, rx989_eos, rxscan992_done
-  rxscan992_scan:
-    set_addr $I10, rxscan992_loop
-    rx989_cur."!mark_push"(0, rx989_pos, $I10)
-  rxscan992_done:
-.annotate 'line', 465
+.sub "infixish"  :subid("240_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx998_tgt
+    .local int rx998_pos
+    .local int rx998_off
+    .local int rx998_eos
+    .local int rx998_rep
+    .local pmc rx998_cur
+    (rx998_cur, rx998_pos, rx998_tgt) = self."!cursor_start"()
+    rx998_cur."!cursor_debug"("START ", "infixish")
+    .lex unicode:"$\x{a2}", rx998_cur
+    .local pmc match
+    .lex "$/", match
+    length rx998_eos, rx998_tgt
+    gt rx998_pos, rx998_eos, rx998_done
+    set rx998_off, 0
+    lt rx998_pos, 2, rx998_start
+    sub rx998_off, rx998_pos, 1
+    substr rx998_tgt, rx998_tgt, rx998_off
+  rx998_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1001_done
+    goto rxscan1001_scan
+  rxscan1001_loop:
+    ($P10) = rx998_cur."from"()
+    inc $P10
+    set rx998_pos, $P10
+    ge rx998_pos, rx998_eos, rxscan1001_done
+  rxscan1001_scan:
+    set_addr $I10, rxscan1001_loop
+    rx998_cur."!mark_push"(0, rx998_pos, $I10)
+  rxscan1001_done:
+.annotate 'line', 466
   # rx subrule "infixstopper" subtype=zerowidth negate=1
-    rx989_cur."!cursor_pos"(rx989_pos)
-    $P10 = rx989_cur."infixstopper"()
-    if $P10, rx989_fail
+    rx998_cur."!cursor_pos"(rx998_pos)
+    $P10 = rx998_cur."infixstopper"()
+    if $P10, rx998_fail
   # rx subrule "infix" subtype=capture negate=
-    rx989_cur."!cursor_pos"(rx989_pos)
-    $P10 = rx989_cur."infix"()
-    unless $P10, rx989_fail
-    rx989_cur."!mark_push"(0, -1, 0, $P10)
+    rx998_cur."!cursor_pos"(rx998_pos)
+    $P10 = rx998_cur."infix"()
+    unless $P10, rx998_fail
+    rx998_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("OPER=infix")
-    rx989_pos = $P10."pos"()
+    rx998_pos = $P10."pos"()
   # rx pass
-    rx989_cur."!cursor_pass"(rx989_pos, "infixish")
-    rx989_cur."!cursor_debug"("PASS  ", "infixish", " at pos=", rx989_pos)
-    .return (rx989_cur)
-  rx989_fail:
-.annotate 'line', 446
-    (rx989_rep, rx989_pos, $I10, $P10) = rx989_cur."!mark_fail"(0)
-    lt rx989_pos, -1, rx989_done
-    eq rx989_pos, -1, rx989_fail
+    rx998_cur."!cursor_pass"(rx998_pos, "infixish")
+    rx998_cur."!cursor_debug"("PASS  ", "infixish", " at pos=", rx998_pos)
+    .return (rx998_cur)
+  rx998_fail:
+.annotate 'line', 447
+    (rx998_rep, rx998_pos, $I10, $P10) = rx998_cur."!mark_fail"(0)
+    lt rx998_pos, -1, rx998_done
+    eq rx998_pos, -1, rx998_fail
     jump $I10
-  rx989_done:
-    rx989_cur."!cursor_fail"()
-    rx989_cur."!cursor_debug"("FAIL  ", "infixish")
-    .return (rx989_cur)
+  rx998_done:
+    rx998_cur."!cursor_fail"()
+    rx998_cur."!cursor_debug"("FAIL  ", "infixish")
+    .return (rx998_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("239_1277356913.9538") :method
-.annotate 'line', 446
-    new $P991, "ResizablePMCArray"
-    push $P991, ""
-    .return ($P991)
+.sub "!PREFIX__infixish"  :subid("241_1278500537.15927") :method
+.annotate 'line', 447
+    new $P1000, "ResizablePMCArray"
+    push $P1000, ""
+    .return ($P1000)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixstopper"  :subid("240_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx994_tgt
-    .local int rx994_pos
-    .local int rx994_off
-    .local int rx994_eos
-    .local int rx994_rep
-    .local pmc rx994_cur
-    (rx994_cur, rx994_pos, rx994_tgt) = self."!cursor_start"()
-    rx994_cur."!cursor_debug"("START ", "infixstopper")
-    .lex unicode:"$\x{a2}", rx994_cur
-    .local pmc match
-    .lex "$/", match
-    length rx994_eos, rx994_tgt
-    gt rx994_pos, rx994_eos, rx994_done
-    set rx994_off, 0
-    lt rx994_pos, 2, rx994_start
-    sub rx994_off, rx994_pos, 1
-    substr rx994_tgt, rx994_tgt, rx994_off
-  rx994_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan997_done
-    goto rxscan997_scan
-  rxscan997_loop:
-    ($P10) = rx994_cur."from"()
-    inc $P10
-    set rx994_pos, $P10
-    ge rx994_pos, rx994_eos, rxscan997_done
-  rxscan997_scan:
-    set_addr $I10, rxscan997_loop
-    rx994_cur."!mark_push"(0, rx994_pos, $I10)
-  rxscan997_done:
-.annotate 'line', 466
+.sub "infixstopper"  :subid("242_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1003_tgt
+    .local int rx1003_pos
+    .local int rx1003_off
+    .local int rx1003_eos
+    .local int rx1003_rep
+    .local pmc rx1003_cur
+    (rx1003_cur, rx1003_pos, rx1003_tgt) = self."!cursor_start"()
+    rx1003_cur."!cursor_debug"("START ", "infixstopper")
+    .lex unicode:"$\x{a2}", rx1003_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1003_eos, rx1003_tgt
+    gt rx1003_pos, rx1003_eos, rx1003_done
+    set rx1003_off, 0
+    lt rx1003_pos, 2, rx1003_start
+    sub rx1003_off, rx1003_pos, 1
+    substr rx1003_tgt, rx1003_tgt, rx1003_off
+  rx1003_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1006_done
+    goto rxscan1006_scan
+  rxscan1006_loop:
+    ($P10) = rx1003_cur."from"()
+    inc $P10
+    set rx1003_pos, $P10
+    ge rx1003_pos, rx1003_eos, rxscan1006_done
+  rxscan1006_scan:
+    set_addr $I10, rxscan1006_loop
+    rx1003_cur."!mark_push"(0, rx1003_pos, $I10)
+  rxscan1006_done:
+.annotate 'line', 467
   # rx subrule "lambda" subtype=zerowidth negate=
-    rx994_cur."!cursor_pos"(rx994_pos)
-    $P10 = rx994_cur."lambda"()
-    unless $P10, rx994_fail
-  # rx pass
-    rx994_cur."!cursor_pass"(rx994_pos, "infixstopper")
-    rx994_cur."!cursor_debug"("PASS  ", "infixstopper", " at pos=", rx994_pos)
-    .return (rx994_cur)
-  rx994_fail:
-.annotate 'line', 446
-    (rx994_rep, rx994_pos, $I10, $P10) = rx994_cur."!mark_fail"(0)
-    lt rx994_pos, -1, rx994_done
-    eq rx994_pos, -1, rx994_fail
+    rx1003_cur."!cursor_pos"(rx1003_pos)
+    $P10 = rx1003_cur."lambda"()
+    unless $P10, rx1003_fail
+  # rx pass
+    rx1003_cur."!cursor_pass"(rx1003_pos, "infixstopper")
+    rx1003_cur."!cursor_debug"("PASS  ", "infixstopper", " at pos=", rx1003_pos)
+    .return (rx1003_cur)
+  rx1003_fail:
+.annotate 'line', 447
+    (rx1003_rep, rx1003_pos, $I10, $P10) = rx1003_cur."!mark_fail"(0)
+    lt rx1003_pos, -1, rx1003_done
+    eq rx1003_pos, -1, rx1003_fail
     jump $I10
-  rx994_done:
-    rx994_cur."!cursor_fail"()
-    rx994_cur."!cursor_debug"("FAIL  ", "infixstopper")
-    .return (rx994_cur)
+  rx1003_done:
+    rx1003_cur."!cursor_fail"()
+    rx1003_cur."!cursor_debug"("FAIL  ", "infixstopper")
+    .return (rx1003_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixstopper"  :subid("241_1277356913.9538") :method
-.annotate 'line', 446
-    new $P996, "ResizablePMCArray"
-    push $P996, ""
-    .return ($P996)
+.sub "!PREFIX__infixstopper"  :subid("243_1278500537.15927") :method
+.annotate 'line', 447
+    new $P1005, "ResizablePMCArray"
+    push $P1005, ""
+    .return ($P1005)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<[ ]>"  :subid("242_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx999_tgt
-    .local int rx999_pos
-    .local int rx999_off
-    .local int rx999_eos
-    .local int rx999_rep
-    .local pmc rx999_cur
-    (rx999_cur, rx999_pos, rx999_tgt) = self."!cursor_start"()
-    rx999_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>")
-    .lex unicode:"$\x{a2}", rx999_cur
-    .local pmc match
-    .lex "$/", match
-    length rx999_eos, rx999_tgt
-    gt rx999_pos, rx999_eos, rx999_done
-    set rx999_off, 0
-    lt rx999_pos, 2, rx999_start
-    sub rx999_off, rx999_pos, 1
-    substr rx999_tgt, rx999_tgt, rx999_off
-  rx999_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1003_done
-    goto rxscan1003_scan
-  rxscan1003_loop:
-    ($P10) = rx999_cur."from"()
-    inc $P10
-    set rx999_pos, $P10
-    ge rx999_pos, rx999_eos, rxscan1003_done
-  rxscan1003_scan:
-    set_addr $I10, rxscan1003_loop
-    rx999_cur."!mark_push"(0, rx999_pos, $I10)
-  rxscan1003_done:
-.annotate 'line', 469
+.sub "postcircumfix:sym<[ ]>"  :subid("244_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1008_tgt
+    .local int rx1008_pos
+    .local int rx1008_off
+    .local int rx1008_eos
+    .local int rx1008_rep
+    .local pmc rx1008_cur
+    (rx1008_cur, rx1008_pos, rx1008_tgt) = self."!cursor_start"()
+    rx1008_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>")
+    .lex unicode:"$\x{a2}", rx1008_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1008_eos, rx1008_tgt
+    gt rx1008_pos, rx1008_eos, rx1008_done
+    set rx1008_off, 0
+    lt rx1008_pos, 2, rx1008_start
+    sub rx1008_off, rx1008_pos, 1
+    substr rx1008_tgt, rx1008_tgt, rx1008_off
+  rx1008_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1012_done
+    goto rxscan1012_scan
+  rxscan1012_loop:
+    ($P10) = rx1008_cur."from"()
+    inc $P10
+    set rx1008_pos, $P10
+    ge rx1008_pos, rx1008_eos, rxscan1012_done
+  rxscan1012_scan:
+    set_addr $I10, rxscan1012_loop
+    rx1008_cur."!mark_push"(0, rx1008_pos, $I10)
+  rxscan1012_done:
+.annotate 'line', 470
   # rx literal  "["
-    add $I11, rx999_pos, 1
-    gt $I11, rx999_eos, rx999_fail
-    sub $I11, rx999_pos, rx999_off
-    substr $S10, rx999_tgt, $I11, 1
-    ne $S10, "[", rx999_fail
-    add rx999_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx999_cur."!cursor_pos"(rx999_pos)
-    $P10 = rx999_cur."ws"()
-    unless $P10, rx999_fail
-    rx999_pos = $P10."pos"()
+    add $I11, rx1008_pos, 1
+    gt $I11, rx1008_eos, rx1008_fail
+    sub $I11, rx1008_pos, rx1008_off
+    substr $S10, rx1008_tgt, $I11, 1
+    ne $S10, "[", rx1008_fail
+    add rx1008_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx1008_cur."!cursor_pos"(rx1008_pos)
+    $P10 = rx1008_cur."ws"()
+    unless $P10, rx1008_fail
+    rx1008_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx999_cur."!cursor_pos"(rx999_pos)
-    $P10 = rx999_cur."EXPR"()
-    unless $P10, rx999_fail
-    rx999_cur."!mark_push"(0, -1, 0, $P10)
+    rx1008_cur."!cursor_pos"(rx1008_pos)
+    $P10 = rx1008_cur."EXPR"()
+    unless $P10, rx1008_fail
+    rx1008_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx999_pos = $P10."pos"()
+    rx1008_pos = $P10."pos"()
   # rx literal  "]"
-    add $I11, rx999_pos, 1
-    gt $I11, rx999_eos, rx999_fail
-    sub $I11, rx999_pos, rx999_off
-    substr $S10, rx999_tgt, $I11, 1
-    ne $S10, "]", rx999_fail
-    add rx999_pos, 1
-.annotate 'line', 470
+    add $I11, rx1008_pos, 1
+    gt $I11, rx1008_eos, rx1008_fail
+    sub $I11, rx1008_pos, rx1008_off
+    substr $S10, rx1008_tgt, $I11, 1
+    ne $S10, "]", rx1008_fail
+    add rx1008_pos, 1
+.annotate 'line', 471
   # rx subrule "O" subtype=capture negate=
-    rx999_cur."!cursor_pos"(rx999_pos)
-    $P10 = rx999_cur."O"("%methodop")
-    unless $P10, rx999_fail
-    rx999_cur."!mark_push"(0, -1, 0, $P10)
+    rx1008_cur."!cursor_pos"(rx1008_pos)
+    $P10 = rx1008_cur."O"("%methodop")
+    unless $P10, rx1008_fail
+    rx1008_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx999_pos = $P10."pos"()
-.annotate 'line', 468
+    rx1008_pos = $P10."pos"()
+.annotate 'line', 469
   # rx pass
-    rx999_cur."!cursor_pass"(rx999_pos, "postcircumfix:sym<[ ]>")
-    rx999_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<[ ]>", " at pos=", rx999_pos)
-    .return (rx999_cur)
-  rx999_fail:
-.annotate 'line', 446
-    (rx999_rep, rx999_pos, $I10, $P10) = rx999_cur."!mark_fail"(0)
-    lt rx999_pos, -1, rx999_done
-    eq rx999_pos, -1, rx999_fail
+    rx1008_cur."!cursor_pass"(rx1008_pos, "postcircumfix:sym<[ ]>")
+    rx1008_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<[ ]>", " at pos=", rx1008_pos)
+    .return (rx1008_cur)
+  rx1008_fail:
+.annotate 'line', 447
+    (rx1008_rep, rx1008_pos, $I10, $P10) = rx1008_cur."!mark_fail"(0)
+    lt rx1008_pos, -1, rx1008_done
+    eq rx1008_pos, -1, rx1008_fail
     jump $I10
-  rx999_done:
-    rx999_cur."!cursor_fail"()
-    rx999_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<[ ]>")
-    .return (rx999_cur)
+  rx1008_done:
+    rx1008_cur."!cursor_fail"()
+    rx1008_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<[ ]>")
+    .return (rx1008_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("243_1277356913.9538") :method
-.annotate 'line', 446
-    $P1001 = self."!PREFIX__!subrule"("ws", "[")
-    new $P1002, "ResizablePMCArray"
-    push $P1002, $P1001
-    .return ($P1002)
+.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("245_1278500537.15927") :method
+.annotate 'line', 447
+    $P1010 = self."!PREFIX__!subrule"("ws", "[")
+    new $P1011, "ResizablePMCArray"
+    push $P1011, $P1010
+    .return ($P1011)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<{ }>"  :subid("244_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1005_tgt
-    .local int rx1005_pos
-    .local int rx1005_off
-    .local int rx1005_eos
-    .local int rx1005_rep
-    .local pmc rx1005_cur
-    (rx1005_cur, rx1005_pos, rx1005_tgt) = self."!cursor_start"()
-    rx1005_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx1005_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1005_eos, rx1005_tgt
-    gt rx1005_pos, rx1005_eos, rx1005_done
-    set rx1005_off, 0
-    lt rx1005_pos, 2, rx1005_start
-    sub rx1005_off, rx1005_pos, 1
-    substr rx1005_tgt, rx1005_tgt, rx1005_off
-  rx1005_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1009_done
-    goto rxscan1009_scan
-  rxscan1009_loop:
-    ($P10) = rx1005_cur."from"()
-    inc $P10
-    set rx1005_pos, $P10
-    ge rx1005_pos, rx1005_eos, rxscan1009_done
-  rxscan1009_scan:
-    set_addr $I10, rxscan1009_loop
-    rx1005_cur."!mark_push"(0, rx1005_pos, $I10)
-  rxscan1009_done:
-.annotate 'line', 474
+.sub "postcircumfix:sym<{ }>"  :subid("246_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1014_tgt
+    .local int rx1014_pos
+    .local int rx1014_off
+    .local int rx1014_eos
+    .local int rx1014_rep
+    .local pmc rx1014_cur
+    (rx1014_cur, rx1014_pos, rx1014_tgt) = self."!cursor_start"()
+    rx1014_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx1014_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1014_eos, rx1014_tgt
+    gt rx1014_pos, rx1014_eos, rx1014_done
+    set rx1014_off, 0
+    lt rx1014_pos, 2, rx1014_start
+    sub rx1014_off, rx1014_pos, 1
+    substr rx1014_tgt, rx1014_tgt, rx1014_off
+  rx1014_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1018_done
+    goto rxscan1018_scan
+  rxscan1018_loop:
+    ($P10) = rx1014_cur."from"()
+    inc $P10
+    set rx1014_pos, $P10
+    ge rx1014_pos, rx1014_eos, rxscan1018_done
+  rxscan1018_scan:
+    set_addr $I10, rxscan1018_loop
+    rx1014_cur."!mark_push"(0, rx1014_pos, $I10)
+  rxscan1018_done:
+.annotate 'line', 475
   # rx literal  "{"
-    add $I11, rx1005_pos, 1
-    gt $I11, rx1005_eos, rx1005_fail
-    sub $I11, rx1005_pos, rx1005_off
-    substr $S10, rx1005_tgt, $I11, 1
-    ne $S10, "{", rx1005_fail
-    add rx1005_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx1005_cur."!cursor_pos"(rx1005_pos)
-    $P10 = rx1005_cur."ws"()
-    unless $P10, rx1005_fail
-    rx1005_pos = $P10."pos"()
+    add $I11, rx1014_pos, 1
+    gt $I11, rx1014_eos, rx1014_fail
+    sub $I11, rx1014_pos, rx1014_off
+    substr $S10, rx1014_tgt, $I11, 1
+    ne $S10, "{", rx1014_fail
+    add rx1014_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx1014_cur."!cursor_pos"(rx1014_pos)
+    $P10 = rx1014_cur."ws"()
+    unless $P10, rx1014_fail
+    rx1014_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx1005_cur."!cursor_pos"(rx1005_pos)
-    $P10 = rx1005_cur."EXPR"()
-    unless $P10, rx1005_fail
-    rx1005_cur."!mark_push"(0, -1, 0, $P10)
+    rx1014_cur."!cursor_pos"(rx1014_pos)
+    $P10 = rx1014_cur."EXPR"()
+    unless $P10, rx1014_fail
+    rx1014_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx1005_pos = $P10."pos"()
+    rx1014_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx1005_pos, 1
-    gt $I11, rx1005_eos, rx1005_fail
-    sub $I11, rx1005_pos, rx1005_off
-    substr $S10, rx1005_tgt, $I11, 1
-    ne $S10, "}", rx1005_fail
-    add rx1005_pos, 1
-.annotate 'line', 475
+    add $I11, rx1014_pos, 1
+    gt $I11, rx1014_eos, rx1014_fail
+    sub $I11, rx1014_pos, rx1014_off
+    substr $S10, rx1014_tgt, $I11, 1
+    ne $S10, "}", rx1014_fail
+    add rx1014_pos, 1
+.annotate 'line', 476
   # rx subrule "O" subtype=capture negate=
-    rx1005_cur."!cursor_pos"(rx1005_pos)
-    $P10 = rx1005_cur."O"("%methodop")
-    unless $P10, rx1005_fail
-    rx1005_cur."!mark_push"(0, -1, 0, $P10)
+    rx1014_cur."!cursor_pos"(rx1014_pos)
+    $P10 = rx1014_cur."O"("%methodop")
+    unless $P10, rx1014_fail
+    rx1014_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1005_pos = $P10."pos"()
-.annotate 'line', 473
+    rx1014_pos = $P10."pos"()
+.annotate 'line', 474
   # rx pass
-    rx1005_cur."!cursor_pass"(rx1005_pos, "postcircumfix:sym<{ }>")
-    rx1005_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<{ }>", " at pos=", rx1005_pos)
-    .return (rx1005_cur)
-  rx1005_fail:
-.annotate 'line', 446
-    (rx1005_rep, rx1005_pos, $I10, $P10) = rx1005_cur."!mark_fail"(0)
-    lt rx1005_pos, -1, rx1005_done
-    eq rx1005_pos, -1, rx1005_fail
+    rx1014_cur."!cursor_pass"(rx1014_pos, "postcircumfix:sym<{ }>")
+    rx1014_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<{ }>", " at pos=", rx1014_pos)
+    .return (rx1014_cur)
+  rx1014_fail:
+.annotate 'line', 447
+    (rx1014_rep, rx1014_pos, $I10, $P10) = rx1014_cur."!mark_fail"(0)
+    lt rx1014_pos, -1, rx1014_done
+    eq rx1014_pos, -1, rx1014_fail
     jump $I10
-  rx1005_done:
-    rx1005_cur."!cursor_fail"()
-    rx1005_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<{ }>")
-    .return (rx1005_cur)
+  rx1014_done:
+    rx1014_cur."!cursor_fail"()
+    rx1014_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<{ }>")
+    .return (rx1014_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("245_1277356913.9538") :method
-.annotate 'line', 446
-    $P1007 = self."!PREFIX__!subrule"("ws", "{")
-    new $P1008, "ResizablePMCArray"
-    push $P1008, $P1007
-    .return ($P1008)
+.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("247_1278500537.15927") :method
+.annotate 'line', 447
+    $P1016 = self."!PREFIX__!subrule"("ws", "{")
+    new $P1017, "ResizablePMCArray"
+    push $P1017, $P1016
+    .return ($P1017)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<ang>"  :subid("246_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1011_tgt
-    .local int rx1011_pos
-    .local int rx1011_off
-    .local int rx1011_eos
-    .local int rx1011_rep
-    .local pmc rx1011_cur
-    (rx1011_cur, rx1011_pos, rx1011_tgt) = self."!cursor_start"()
-    rx1011_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
-    .lex unicode:"$\x{a2}", rx1011_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1011_eos, rx1011_tgt
-    gt rx1011_pos, rx1011_eos, rx1011_done
-    set rx1011_off, 0
-    lt rx1011_pos, 2, rx1011_start
-    sub rx1011_off, rx1011_pos, 1
-    substr rx1011_tgt, rx1011_tgt, rx1011_off
-  rx1011_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1014_done
-    goto rxscan1014_scan
-  rxscan1014_loop:
-    ($P10) = rx1011_cur."from"()
-    inc $P10
-    set rx1011_pos, $P10
-    ge rx1011_pos, rx1011_eos, rxscan1014_done
-  rxscan1014_scan:
-    set_addr $I10, rxscan1014_loop
-    rx1011_cur."!mark_push"(0, rx1011_pos, $I10)
-  rxscan1014_done:
-.annotate 'line', 479
+.sub "postcircumfix:sym<ang>"  :subid("248_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1020_tgt
+    .local int rx1020_pos
+    .local int rx1020_off
+    .local int rx1020_eos
+    .local int rx1020_rep
+    .local pmc rx1020_cur
+    (rx1020_cur, rx1020_pos, rx1020_tgt) = self."!cursor_start"()
+    rx1020_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
+    .lex unicode:"$\x{a2}", rx1020_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1020_eos, rx1020_tgt
+    gt rx1020_pos, rx1020_eos, rx1020_done
+    set rx1020_off, 0
+    lt rx1020_pos, 2, rx1020_start
+    sub rx1020_off, rx1020_pos, 1
+    substr rx1020_tgt, rx1020_tgt, rx1020_off
+  rx1020_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1023_done
+    goto rxscan1023_scan
+  rxscan1023_loop:
+    ($P10) = rx1020_cur."from"()
+    inc $P10
+    set rx1020_pos, $P10
+    ge rx1020_pos, rx1020_eos, rxscan1023_done
+  rxscan1023_scan:
+    set_addr $I10, rxscan1023_loop
+    rx1020_cur."!mark_push"(0, rx1020_pos, $I10)
+  rxscan1023_done:
+.annotate 'line', 480
   # rx enumcharlist negate=0 zerowidth
-    ge rx1011_pos, rx1011_eos, rx1011_fail
-    sub $I10, rx1011_pos, rx1011_off
-    substr $S10, rx1011_tgt, $I10, 1
+    ge rx1020_pos, rx1020_eos, rx1020_fail
+    sub $I10, rx1020_pos, rx1020_off
+    substr $S10, rx1020_tgt, $I10, 1
     index $I11, "<", $S10
-    lt $I11, 0, rx1011_fail
+    lt $I11, 0, rx1020_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx1011_cur."!cursor_pos"(rx1011_pos)
-    $P10 = rx1011_cur."quote_EXPR"(":q")
-    unless $P10, rx1011_fail
-    rx1011_cur."!mark_push"(0, -1, 0, $P10)
+    rx1020_cur."!cursor_pos"(rx1020_pos)
+    $P10 = rx1020_cur."quote_EXPR"(":q")
+    unless $P10, rx1020_fail
+    rx1020_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx1011_pos = $P10."pos"()
-.annotate 'line', 480
+    rx1020_pos = $P10."pos"()
+.annotate 'line', 481
   # rx subrule "O" subtype=capture negate=
-    rx1011_cur."!cursor_pos"(rx1011_pos)
-    $P10 = rx1011_cur."O"("%methodop")
-    unless $P10, rx1011_fail
-    rx1011_cur."!mark_push"(0, -1, 0, $P10)
+    rx1020_cur."!cursor_pos"(rx1020_pos)
+    $P10 = rx1020_cur."O"("%methodop")
+    unless $P10, rx1020_fail
+    rx1020_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1011_pos = $P10."pos"()
-.annotate 'line', 478
+    rx1020_pos = $P10."pos"()
+.annotate 'line', 479
   # rx pass
-    rx1011_cur."!cursor_pass"(rx1011_pos, "postcircumfix:sym<ang>")
-    rx1011_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<ang>", " at pos=", rx1011_pos)
-    .return (rx1011_cur)
-  rx1011_fail:
-.annotate 'line', 446
-    (rx1011_rep, rx1011_pos, $I10, $P10) = rx1011_cur."!mark_fail"(0)
-    lt rx1011_pos, -1, rx1011_done
-    eq rx1011_pos, -1, rx1011_fail
+    rx1020_cur."!cursor_pass"(rx1020_pos, "postcircumfix:sym<ang>")
+    rx1020_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<ang>", " at pos=", rx1020_pos)
+    .return (rx1020_cur)
+  rx1020_fail:
+.annotate 'line', 447
+    (rx1020_rep, rx1020_pos, $I10, $P10) = rx1020_cur."!mark_fail"(0)
+    lt rx1020_pos, -1, rx1020_done
+    eq rx1020_pos, -1, rx1020_fail
     jump $I10
-  rx1011_done:
-    rx1011_cur."!cursor_fail"()
-    rx1011_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<ang>")
-    .return (rx1011_cur)
+  rx1020_done:
+    rx1020_cur."!cursor_fail"()
+    rx1020_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<ang>")
+    .return (rx1020_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("247_1277356913.9538") :method
-.annotate 'line', 446
-    new $P1013, "ResizablePMCArray"
-    push $P1013, "<"
-    .return ($P1013)
+.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("249_1278500537.15927") :method
+.annotate 'line', 447
+    new $P1022, "ResizablePMCArray"
+    push $P1022, "<"
+    .return ($P1022)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<( )>"  :subid("248_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1016_tgt
-    .local int rx1016_pos
-    .local int rx1016_off
-    .local int rx1016_eos
-    .local int rx1016_rep
-    .local pmc rx1016_cur
-    (rx1016_cur, rx1016_pos, rx1016_tgt) = self."!cursor_start"()
-    rx1016_cur."!cursor_debug"("START ", "postcircumfix:sym<( )>")
-    .lex unicode:"$\x{a2}", rx1016_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1016_eos, rx1016_tgt
-    gt rx1016_pos, rx1016_eos, rx1016_done
-    set rx1016_off, 0
-    lt rx1016_pos, 2, rx1016_start
-    sub rx1016_off, rx1016_pos, 1
-    substr rx1016_tgt, rx1016_tgt, rx1016_off
-  rx1016_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1020_done
-    goto rxscan1020_scan
-  rxscan1020_loop:
-    ($P10) = rx1016_cur."from"()
-    inc $P10
-    set rx1016_pos, $P10
-    ge rx1016_pos, rx1016_eos, rxscan1020_done
-  rxscan1020_scan:
-    set_addr $I10, rxscan1020_loop
-    rx1016_cur."!mark_push"(0, rx1016_pos, $I10)
-  rxscan1020_done:
-.annotate 'line', 484
+.sub "postcircumfix:sym<( )>"  :subid("250_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1025_tgt
+    .local int rx1025_pos
+    .local int rx1025_off
+    .local int rx1025_eos
+    .local int rx1025_rep
+    .local pmc rx1025_cur
+    (rx1025_cur, rx1025_pos, rx1025_tgt) = self."!cursor_start"()
+    rx1025_cur."!cursor_debug"("START ", "postcircumfix:sym<( )>")
+    .lex unicode:"$\x{a2}", rx1025_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1025_eos, rx1025_tgt
+    gt rx1025_pos, rx1025_eos, rx1025_done
+    set rx1025_off, 0
+    lt rx1025_pos, 2, rx1025_start
+    sub rx1025_off, rx1025_pos, 1
+    substr rx1025_tgt, rx1025_tgt, rx1025_off
+  rx1025_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1029_done
+    goto rxscan1029_scan
+  rxscan1029_loop:
+    ($P10) = rx1025_cur."from"()
+    inc $P10
+    set rx1025_pos, $P10
+    ge rx1025_pos, rx1025_eos, rxscan1029_done
+  rxscan1029_scan:
+    set_addr $I10, rxscan1029_loop
+    rx1025_cur."!mark_push"(0, rx1025_pos, $I10)
+  rxscan1029_done:
+.annotate 'line', 485
   # rx literal  "("
-    add $I11, rx1016_pos, 1
-    gt $I11, rx1016_eos, rx1016_fail
-    sub $I11, rx1016_pos, rx1016_off
-    substr $S10, rx1016_tgt, $I11, 1
-    ne $S10, "(", rx1016_fail
-    add rx1016_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx1016_cur."!cursor_pos"(rx1016_pos)
-    $P10 = rx1016_cur."ws"()
-    unless $P10, rx1016_fail
-    rx1016_pos = $P10."pos"()
+    add $I11, rx1025_pos, 1
+    gt $I11, rx1025_eos, rx1025_fail
+    sub $I11, rx1025_pos, rx1025_off
+    substr $S10, rx1025_tgt, $I11, 1
+    ne $S10, "(", rx1025_fail
+    add rx1025_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx1025_cur."!cursor_pos"(rx1025_pos)
+    $P10 = rx1025_cur."ws"()
+    unless $P10, rx1025_fail
+    rx1025_pos = $P10."pos"()
   # rx subrule "arglist" subtype=capture negate=
-    rx1016_cur."!cursor_pos"(rx1016_pos)
-    $P10 = rx1016_cur."arglist"()
-    unless $P10, rx1016_fail
-    rx1016_cur."!mark_push"(0, -1, 0, $P10)
+    rx1025_cur."!cursor_pos"(rx1025_pos)
+    $P10 = rx1025_cur."arglist"()
+    unless $P10, rx1025_fail
+    rx1025_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx1016_pos = $P10."pos"()
+    rx1025_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx1016_pos, 1
-    gt $I11, rx1016_eos, rx1016_fail
-    sub $I11, rx1016_pos, rx1016_off
-    substr $S10, rx1016_tgt, $I11, 1
-    ne $S10, ")", rx1016_fail
-    add rx1016_pos, 1
-.annotate 'line', 485
+    add $I11, rx1025_pos, 1
+    gt $I11, rx1025_eos, rx1025_fail
+    sub $I11, rx1025_pos, rx1025_off
+    substr $S10, rx1025_tgt, $I11, 1
+    ne $S10, ")", rx1025_fail
+    add rx1025_pos, 1
+.annotate 'line', 486
   # rx subrule "O" subtype=capture negate=
-    rx1016_cur."!cursor_pos"(rx1016_pos)
-    $P10 = rx1016_cur."O"("%methodop")
-    unless $P10, rx1016_fail
-    rx1016_cur."!mark_push"(0, -1, 0, $P10)
+    rx1025_cur."!cursor_pos"(rx1025_pos)
+    $P10 = rx1025_cur."O"("%methodop")
+    unless $P10, rx1025_fail
+    rx1025_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1016_pos = $P10."pos"()
-.annotate 'line', 483
+    rx1025_pos = $P10."pos"()
+.annotate 'line', 484
   # rx pass
-    rx1016_cur."!cursor_pass"(rx1016_pos, "postcircumfix:sym<( )>")
-    rx1016_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<( )>", " at pos=", rx1016_pos)
-    .return (rx1016_cur)
-  rx1016_fail:
-.annotate 'line', 446
-    (rx1016_rep, rx1016_pos, $I10, $P10) = rx1016_cur."!mark_fail"(0)
-    lt rx1016_pos, -1, rx1016_done
-    eq rx1016_pos, -1, rx1016_fail
+    rx1025_cur."!cursor_pass"(rx1025_pos, "postcircumfix:sym<( )>")
+    rx1025_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<( )>", " at pos=", rx1025_pos)
+    .return (rx1025_cur)
+  rx1025_fail:
+.annotate 'line', 447
+    (rx1025_rep, rx1025_pos, $I10, $P10) = rx1025_cur."!mark_fail"(0)
+    lt rx1025_pos, -1, rx1025_done
+    eq rx1025_pos, -1, rx1025_fail
     jump $I10
-  rx1016_done:
-    rx1016_cur."!cursor_fail"()
-    rx1016_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<( )>")
-    .return (rx1016_cur)
+  rx1025_done:
+    rx1025_cur."!cursor_fail"()
+    rx1025_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<( )>")
+    .return (rx1025_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("249_1277356913.9538") :method
-.annotate 'line', 446
-    $P1018 = self."!PREFIX__!subrule"("ws", "(")
-    new $P1019, "ResizablePMCArray"
-    push $P1019, $P1018
-    .return ($P1019)
+.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("251_1278500537.15927") :method
+.annotate 'line', 447
+    $P1027 = self."!PREFIX__!subrule"("ws", "(")
+    new $P1028, "ResizablePMCArray"
+    push $P1028, $P1027
+    .return ($P1028)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<.>"  :subid("250_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1022_tgt
-    .local int rx1022_pos
-    .local int rx1022_off
-    .local int rx1022_eos
-    .local int rx1022_rep
-    .local pmc rx1022_cur
-    (rx1022_cur, rx1022_pos, rx1022_tgt) = self."!cursor_start"()
-    rx1022_cur."!cursor_debug"("START ", "postfix:sym<.>")
-    .lex unicode:"$\x{a2}", rx1022_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1022_eos, rx1022_tgt
-    gt rx1022_pos, rx1022_eos, rx1022_done
-    set rx1022_off, 0
-    lt rx1022_pos, 2, rx1022_start
-    sub rx1022_off, rx1022_pos, 1
-    substr rx1022_tgt, rx1022_tgt, rx1022_off
-  rx1022_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1026_done
-    goto rxscan1026_scan
-  rxscan1026_loop:
-    ($P10) = rx1022_cur."from"()
-    inc $P10
-    set rx1022_pos, $P10
-    ge rx1022_pos, rx1022_eos, rxscan1026_done
-  rxscan1026_scan:
-    set_addr $I10, rxscan1026_loop
-    rx1022_cur."!mark_push"(0, rx1022_pos, $I10)
-  rxscan1026_done:
-.annotate 'line', 488
+.sub "postfix:sym<.>"  :subid("252_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1031_tgt
+    .local int rx1031_pos
+    .local int rx1031_off
+    .local int rx1031_eos
+    .local int rx1031_rep
+    .local pmc rx1031_cur
+    (rx1031_cur, rx1031_pos, rx1031_tgt) = self."!cursor_start"()
+    rx1031_cur."!cursor_debug"("START ", "postfix:sym<.>")
+    .lex unicode:"$\x{a2}", rx1031_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1031_eos, rx1031_tgt
+    gt rx1031_pos, rx1031_eos, rx1031_done
+    set rx1031_off, 0
+    lt rx1031_pos, 2, rx1031_start
+    sub rx1031_off, rx1031_pos, 1
+    substr rx1031_tgt, rx1031_tgt, rx1031_off
+  rx1031_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1035_done
+    goto rxscan1035_scan
+  rxscan1035_loop:
+    ($P10) = rx1031_cur."from"()
+    inc $P10
+    set rx1031_pos, $P10
+    ge rx1031_pos, rx1031_eos, rxscan1035_done
+  rxscan1035_scan:
+    set_addr $I10, rxscan1035_loop
+    rx1031_cur."!mark_push"(0, rx1031_pos, $I10)
+  rxscan1035_done:
+.annotate 'line', 489
   # rx subrule "dotty" subtype=capture negate=
-    rx1022_cur."!cursor_pos"(rx1022_pos)
-    $P10 = rx1022_cur."dotty"()
-    unless $P10, rx1022_fail
-    rx1022_cur."!mark_push"(0, -1, 0, $P10)
+    rx1031_cur."!cursor_pos"(rx1031_pos)
+    $P10 = rx1031_cur."dotty"()
+    unless $P10, rx1031_fail
+    rx1031_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("dotty")
-    rx1022_pos = $P10."pos"()
+    rx1031_pos = $P10."pos"()
   # rx subrule "O" subtype=capture negate=
-    rx1022_cur."!cursor_pos"(rx1022_pos)
-    $P10 = rx1022_cur."O"("%methodop")
-    unless $P10, rx1022_fail
-    rx1022_cur."!mark_push"(0, -1, 0, $P10)
+    rx1031_cur."!cursor_pos"(rx1031_pos)
+    $P10 = rx1031_cur."O"("%methodop")
+    unless $P10, rx1031_fail
+    rx1031_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1022_pos = $P10."pos"()
+    rx1031_pos = $P10."pos"()
   # rx pass
-    rx1022_cur."!cursor_pass"(rx1022_pos, "postfix:sym<.>")
-    rx1022_cur."!cursor_debug"("PASS  ", "postfix:sym<.>", " at pos=", rx1022_pos)
-    .return (rx1022_cur)
-  rx1022_fail:
-.annotate 'line', 446
-    (rx1022_rep, rx1022_pos, $I10, $P10) = rx1022_cur."!mark_fail"(0)
-    lt rx1022_pos, -1, rx1022_done
-    eq rx1022_pos, -1, rx1022_fail
+    rx1031_cur."!cursor_pass"(rx1031_pos, "postfix:sym<.>")
+    rx1031_cur."!cursor_debug"("PASS  ", "postfix:sym<.>", " at pos=", rx1031_pos)
+    .return (rx1031_cur)
+  rx1031_fail:
+.annotate 'line', 447
+    (rx1031_rep, rx1031_pos, $I10, $P10) = rx1031_cur."!mark_fail"(0)
+    lt rx1031_pos, -1, rx1031_done
+    eq rx1031_pos, -1, rx1031_fail
     jump $I10
-  rx1022_done:
-    rx1022_cur."!cursor_fail"()
-    rx1022_cur."!cursor_debug"("FAIL  ", "postfix:sym<.>")
-    .return (rx1022_cur)
+  rx1031_done:
+    rx1031_cur."!cursor_fail"()
+    rx1031_cur."!cursor_debug"("FAIL  ", "postfix:sym<.>")
+    .return (rx1031_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<.>"  :subid("251_1277356913.9538") :method
-.annotate 'line', 446
-    $P1024 = self."!PREFIX__!subrule"("dotty", "")
-    new $P1025, "ResizablePMCArray"
-    push $P1025, $P1024
-    .return ($P1025)
+.sub "!PREFIX__postfix:sym<.>"  :subid("253_1278500537.15927") :method
+.annotate 'line', 447
+    $P1033 = self."!PREFIX__!subrule"("dotty", "")
+    new $P1034, "ResizablePMCArray"
+    push $P1034, $P1033
+    .return ($P1034)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<++>"  :subid("252_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1028_tgt
-    .local int rx1028_pos
-    .local int rx1028_off
-    .local int rx1028_eos
-    .local int rx1028_rep
-    .local pmc rx1028_cur
-    (rx1028_cur, rx1028_pos, rx1028_tgt) = self."!cursor_start"()
-    rx1028_cur."!cursor_debug"("START ", "prefix:sym<++>")
-    .lex unicode:"$\x{a2}", rx1028_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1028_eos, rx1028_tgt
-    gt rx1028_pos, rx1028_eos, rx1028_done
-    set rx1028_off, 0
-    lt rx1028_pos, 2, rx1028_start
-    sub rx1028_off, rx1028_pos, 1
-    substr rx1028_tgt, rx1028_tgt, rx1028_off
-  rx1028_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1032_done
-    goto rxscan1032_scan
-  rxscan1032_loop:
-    ($P10) = rx1028_cur."from"()
-    inc $P10
-    set rx1028_pos, $P10
-    ge rx1028_pos, rx1028_eos, rxscan1032_done
-  rxscan1032_scan:
-    set_addr $I10, rxscan1032_loop
-    rx1028_cur."!mark_push"(0, rx1028_pos, $I10)
-  rxscan1032_done:
-.annotate 'line', 490
+.sub "prefix:sym<++>"  :subid("254_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1037_tgt
+    .local int rx1037_pos
+    .local int rx1037_off
+    .local int rx1037_eos
+    .local int rx1037_rep
+    .local pmc rx1037_cur
+    (rx1037_cur, rx1037_pos, rx1037_tgt) = self."!cursor_start"()
+    rx1037_cur."!cursor_debug"("START ", "prefix:sym<++>")
+    .lex unicode:"$\x{a2}", rx1037_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1037_eos, rx1037_tgt
+    gt rx1037_pos, rx1037_eos, rx1037_done
+    set rx1037_off, 0
+    lt rx1037_pos, 2, rx1037_start
+    sub rx1037_off, rx1037_pos, 1
+    substr rx1037_tgt, rx1037_tgt, rx1037_off
+  rx1037_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1041_done
+    goto rxscan1041_scan
+  rxscan1041_loop:
+    ($P10) = rx1037_cur."from"()
+    inc $P10
+    set rx1037_pos, $P10
+    ge rx1037_pos, rx1037_eos, rxscan1041_done
+  rxscan1041_scan:
+    set_addr $I10, rxscan1041_loop
+    rx1037_cur."!mark_push"(0, rx1037_pos, $I10)
+  rxscan1041_done:
+.annotate 'line', 491
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1033_fail
-    rx1028_cur."!mark_push"(0, rx1028_pos, $I10)
+    set_addr $I10, rxcap_1042_fail
+    rx1037_cur."!mark_push"(0, rx1037_pos, $I10)
   # rx literal  "++"
-    add $I11, rx1028_pos, 2
-    gt $I11, rx1028_eos, rx1028_fail
-    sub $I11, rx1028_pos, rx1028_off
-    substr $S10, rx1028_tgt, $I11, 2
-    ne $S10, "++", rx1028_fail
-    add rx1028_pos, 2
-    set_addr $I10, rxcap_1033_fail
-    ($I12, $I11) = rx1028_cur."!mark_peek"($I10)
-    rx1028_cur."!cursor_pos"($I11)
-    ($P10) = rx1028_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1028_pos, "")
-    rx1028_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1037_pos, 2
+    gt $I11, rx1037_eos, rx1037_fail
+    sub $I11, rx1037_pos, rx1037_off
+    substr $S10, rx1037_tgt, $I11, 2
+    ne $S10, "++", rx1037_fail
+    add rx1037_pos, 2
+    set_addr $I10, rxcap_1042_fail
+    ($I12, $I11) = rx1037_cur."!mark_peek"($I10)
+    rx1037_cur."!cursor_pos"($I11)
+    ($P10) = rx1037_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1037_pos, "")
+    rx1037_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1033_done
-  rxcap_1033_fail:
-    goto rx1028_fail
-  rxcap_1033_done:
+    goto rxcap_1042_done
+  rxcap_1042_fail:
+    goto rx1037_fail
+  rxcap_1042_done:
   # rx subrule "O" subtype=capture negate=
-    rx1028_cur."!cursor_pos"(rx1028_pos)
-    $P10 = rx1028_cur."O"("%autoincrement, :pirop<inc>")
-    unless $P10, rx1028_fail
-    rx1028_cur."!mark_push"(0, -1, 0, $P10)
+    rx1037_cur."!cursor_pos"(rx1037_pos)
+    $P10 = rx1037_cur."O"("%autoincrement, :pirop<inc>")
+    unless $P10, rx1037_fail
+    rx1037_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1028_pos = $P10."pos"()
+    rx1037_pos = $P10."pos"()
   # rx pass
-    rx1028_cur."!cursor_pass"(rx1028_pos, "prefix:sym<++>")
-    rx1028_cur."!cursor_debug"("PASS  ", "prefix:sym<++>", " at pos=", rx1028_pos)
-    .return (rx1028_cur)
-  rx1028_fail:
-.annotate 'line', 446
-    (rx1028_rep, rx1028_pos, $I10, $P10) = rx1028_cur."!mark_fail"(0)
-    lt rx1028_pos, -1, rx1028_done
-    eq rx1028_pos, -1, rx1028_fail
+    rx1037_cur."!cursor_pass"(rx1037_pos, "prefix:sym<++>")
+    rx1037_cur."!cursor_debug"("PASS  ", "prefix:sym<++>", " at pos=", rx1037_pos)
+    .return (rx1037_cur)
+  rx1037_fail:
+.annotate 'line', 447
+    (rx1037_rep, rx1037_pos, $I10, $P10) = rx1037_cur."!mark_fail"(0)
+    lt rx1037_pos, -1, rx1037_done
+    eq rx1037_pos, -1, rx1037_fail
     jump $I10
-  rx1028_done:
-    rx1028_cur."!cursor_fail"()
-    rx1028_cur."!cursor_debug"("FAIL  ", "prefix:sym<++>")
-    .return (rx1028_cur)
+  rx1037_done:
+    rx1037_cur."!cursor_fail"()
+    rx1037_cur."!cursor_debug"("FAIL  ", "prefix:sym<++>")
+    .return (rx1037_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<++>"  :subid("253_1277356913.9538") :method
-.annotate 'line', 446
-    $P1030 = self."!PREFIX__!subrule"("O", "++")
-    new $P1031, "ResizablePMCArray"
-    push $P1031, $P1030
-    .return ($P1031)
+.sub "!PREFIX__prefix:sym<++>"  :subid("255_1278500537.15927") :method
+.annotate 'line', 447
+    $P1039 = self."!PREFIX__!subrule"("O", "++")
+    new $P1040, "ResizablePMCArray"
+    push $P1040, $P1039
+    .return ($P1040)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<-->"  :subid("254_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1035_tgt
-    .local int rx1035_pos
-    .local int rx1035_off
-    .local int rx1035_eos
-    .local int rx1035_rep
-    .local pmc rx1035_cur
-    (rx1035_cur, rx1035_pos, rx1035_tgt) = self."!cursor_start"()
-    rx1035_cur."!cursor_debug"("START ", "prefix:sym<-->")
-    .lex unicode:"$\x{a2}", rx1035_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1035_eos, rx1035_tgt
-    gt rx1035_pos, rx1035_eos, rx1035_done
-    set rx1035_off, 0
-    lt rx1035_pos, 2, rx1035_start
-    sub rx1035_off, rx1035_pos, 1
-    substr rx1035_tgt, rx1035_tgt, rx1035_off
-  rx1035_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1039_done
-    goto rxscan1039_scan
-  rxscan1039_loop:
-    ($P10) = rx1035_cur."from"()
-    inc $P10
-    set rx1035_pos, $P10
-    ge rx1035_pos, rx1035_eos, rxscan1039_done
-  rxscan1039_scan:
-    set_addr $I10, rxscan1039_loop
-    rx1035_cur."!mark_push"(0, rx1035_pos, $I10)
-  rxscan1039_done:
-.annotate 'line', 491
+.sub "prefix:sym<-->"  :subid("256_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1044_tgt
+    .local int rx1044_pos
+    .local int rx1044_off
+    .local int rx1044_eos
+    .local int rx1044_rep
+    .local pmc rx1044_cur
+    (rx1044_cur, rx1044_pos, rx1044_tgt) = self."!cursor_start"()
+    rx1044_cur."!cursor_debug"("START ", "prefix:sym<-->")
+    .lex unicode:"$\x{a2}", rx1044_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1044_eos, rx1044_tgt
+    gt rx1044_pos, rx1044_eos, rx1044_done
+    set rx1044_off, 0
+    lt rx1044_pos, 2, rx1044_start
+    sub rx1044_off, rx1044_pos, 1
+    substr rx1044_tgt, rx1044_tgt, rx1044_off
+  rx1044_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1048_done
+    goto rxscan1048_scan
+  rxscan1048_loop:
+    ($P10) = rx1044_cur."from"()
+    inc $P10
+    set rx1044_pos, $P10
+    ge rx1044_pos, rx1044_eos, rxscan1048_done
+  rxscan1048_scan:
+    set_addr $I10, rxscan1048_loop
+    rx1044_cur."!mark_push"(0, rx1044_pos, $I10)
+  rxscan1048_done:
+.annotate 'line', 492
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1040_fail
-    rx1035_cur."!mark_push"(0, rx1035_pos, $I10)
+    set_addr $I10, rxcap_1049_fail
+    rx1044_cur."!mark_push"(0, rx1044_pos, $I10)
   # rx literal  "--"
-    add $I11, rx1035_pos, 2
-    gt $I11, rx1035_eos, rx1035_fail
-    sub $I11, rx1035_pos, rx1035_off
-    substr $S10, rx1035_tgt, $I11, 2
-    ne $S10, "--", rx1035_fail
-    add rx1035_pos, 2
-    set_addr $I10, rxcap_1040_fail
-    ($I12, $I11) = rx1035_cur."!mark_peek"($I10)
-    rx1035_cur."!cursor_pos"($I11)
-    ($P10) = rx1035_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1035_pos, "")
-    rx1035_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1044_pos, 2
+    gt $I11, rx1044_eos, rx1044_fail
+    sub $I11, rx1044_pos, rx1044_off
+    substr $S10, rx1044_tgt, $I11, 2
+    ne $S10, "--", rx1044_fail
+    add rx1044_pos, 2
+    set_addr $I10, rxcap_1049_fail
+    ($I12, $I11) = rx1044_cur."!mark_peek"($I10)
+    rx1044_cur."!cursor_pos"($I11)
+    ($P10) = rx1044_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1044_pos, "")
+    rx1044_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1040_done
-  rxcap_1040_fail:
-    goto rx1035_fail
-  rxcap_1040_done:
+    goto rxcap_1049_done
+  rxcap_1049_fail:
+    goto rx1044_fail
+  rxcap_1049_done:
   # rx subrule "O" subtype=capture negate=
-    rx1035_cur."!cursor_pos"(rx1035_pos)
-    $P10 = rx1035_cur."O"("%autoincrement, :pirop<dec>")
-    unless $P10, rx1035_fail
-    rx1035_cur."!mark_push"(0, -1, 0, $P10)
+    rx1044_cur."!cursor_pos"(rx1044_pos)
+    $P10 = rx1044_cur."O"("%autoincrement, :pirop<dec>")
+    unless $P10, rx1044_fail
+    rx1044_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1035_pos = $P10."pos"()
+    rx1044_pos = $P10."pos"()
   # rx pass
-    rx1035_cur."!cursor_pass"(rx1035_pos, "prefix:sym<-->")
-    rx1035_cur."!cursor_debug"("PASS  ", "prefix:sym<-->", " at pos=", rx1035_pos)
-    .return (rx1035_cur)
-  rx1035_fail:
-.annotate 'line', 446
-    (rx1035_rep, rx1035_pos, $I10, $P10) = rx1035_cur."!mark_fail"(0)
-    lt rx1035_pos, -1, rx1035_done
-    eq rx1035_pos, -1, rx1035_fail
+    rx1044_cur."!cursor_pass"(rx1044_pos, "prefix:sym<-->")
+    rx1044_cur."!cursor_debug"("PASS  ", "prefix:sym<-->", " at pos=", rx1044_pos)
+    .return (rx1044_cur)
+  rx1044_fail:
+.annotate 'line', 447
+    (rx1044_rep, rx1044_pos, $I10, $P10) = rx1044_cur."!mark_fail"(0)
+    lt rx1044_pos, -1, rx1044_done
+    eq rx1044_pos, -1, rx1044_fail
     jump $I10
-  rx1035_done:
-    rx1035_cur."!cursor_fail"()
-    rx1035_cur."!cursor_debug"("FAIL  ", "prefix:sym<-->")
-    .return (rx1035_cur)
+  rx1044_done:
+    rx1044_cur."!cursor_fail"()
+    rx1044_cur."!cursor_debug"("FAIL  ", "prefix:sym<-->")
+    .return (rx1044_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<-->"  :subid("255_1277356913.9538") :method
-.annotate 'line', 446
-    $P1037 = self."!PREFIX__!subrule"("O", "--")
-    new $P1038, "ResizablePMCArray"
-    push $P1038, $P1037
-    .return ($P1038)
+.sub "!PREFIX__prefix:sym<-->"  :subid("257_1278500537.15927") :method
+.annotate 'line', 447
+    $P1046 = self."!PREFIX__!subrule"("O", "--")
+    new $P1047, "ResizablePMCArray"
+    push $P1047, $P1046
+    .return ($P1047)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<++>"  :subid("256_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1042_tgt
-    .local int rx1042_pos
-    .local int rx1042_off
-    .local int rx1042_eos
-    .local int rx1042_rep
-    .local pmc rx1042_cur
-    (rx1042_cur, rx1042_pos, rx1042_tgt) = self."!cursor_start"()
-    rx1042_cur."!cursor_debug"("START ", "postfix:sym<++>")
-    .lex unicode:"$\x{a2}", rx1042_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1042_eos, rx1042_tgt
-    gt rx1042_pos, rx1042_eos, rx1042_done
-    set rx1042_off, 0
-    lt rx1042_pos, 2, rx1042_start
-    sub rx1042_off, rx1042_pos, 1
-    substr rx1042_tgt, rx1042_tgt, rx1042_off
-  rx1042_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1046_done
-    goto rxscan1046_scan
-  rxscan1046_loop:
-    ($P10) = rx1042_cur."from"()
-    inc $P10
-    set rx1042_pos, $P10
-    ge rx1042_pos, rx1042_eos, rxscan1046_done
-  rxscan1046_scan:
-    set_addr $I10, rxscan1046_loop
-    rx1042_cur."!mark_push"(0, rx1042_pos, $I10)
-  rxscan1046_done:
-.annotate 'line', 494
+.sub "postfix:sym<++>"  :subid("258_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1051_tgt
+    .local int rx1051_pos
+    .local int rx1051_off
+    .local int rx1051_eos
+    .local int rx1051_rep
+    .local pmc rx1051_cur
+    (rx1051_cur, rx1051_pos, rx1051_tgt) = self."!cursor_start"()
+    rx1051_cur."!cursor_debug"("START ", "postfix:sym<++>")
+    .lex unicode:"$\x{a2}", rx1051_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1051_eos, rx1051_tgt
+    gt rx1051_pos, rx1051_eos, rx1051_done
+    set rx1051_off, 0
+    lt rx1051_pos, 2, rx1051_start
+    sub rx1051_off, rx1051_pos, 1
+    substr rx1051_tgt, rx1051_tgt, rx1051_off
+  rx1051_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1055_done
+    goto rxscan1055_scan
+  rxscan1055_loop:
+    ($P10) = rx1051_cur."from"()
+    inc $P10
+    set rx1051_pos, $P10
+    ge rx1051_pos, rx1051_eos, rxscan1055_done
+  rxscan1055_scan:
+    set_addr $I10, rxscan1055_loop
+    rx1051_cur."!mark_push"(0, rx1051_pos, $I10)
+  rxscan1055_done:
+.annotate 'line', 495
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1047_fail
-    rx1042_cur."!mark_push"(0, rx1042_pos, $I10)
+    set_addr $I10, rxcap_1056_fail
+    rx1051_cur."!mark_push"(0, rx1051_pos, $I10)
   # rx literal  "++"
-    add $I11, rx1042_pos, 2
-    gt $I11, rx1042_eos, rx1042_fail
-    sub $I11, rx1042_pos, rx1042_off
-    substr $S10, rx1042_tgt, $I11, 2
-    ne $S10, "++", rx1042_fail
-    add rx1042_pos, 2
-    set_addr $I10, rxcap_1047_fail
-    ($I12, $I11) = rx1042_cur."!mark_peek"($I10)
-    rx1042_cur."!cursor_pos"($I11)
-    ($P10) = rx1042_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1042_pos, "")
-    rx1042_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1051_pos, 2
+    gt $I11, rx1051_eos, rx1051_fail
+    sub $I11, rx1051_pos, rx1051_off
+    substr $S10, rx1051_tgt, $I11, 2
+    ne $S10, "++", rx1051_fail
+    add rx1051_pos, 2
+    set_addr $I10, rxcap_1056_fail
+    ($I12, $I11) = rx1051_cur."!mark_peek"($I10)
+    rx1051_cur."!cursor_pos"($I11)
+    ($P10) = rx1051_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1051_pos, "")
+    rx1051_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1047_done
-  rxcap_1047_fail:
-    goto rx1042_fail
-  rxcap_1047_done:
+    goto rxcap_1056_done
+  rxcap_1056_fail:
+    goto rx1051_fail
+  rxcap_1056_done:
   # rx subrule "O" subtype=capture negate=
-    rx1042_cur."!cursor_pos"(rx1042_pos)
-    $P10 = rx1042_cur."O"("%autoincrement")
-    unless $P10, rx1042_fail
-    rx1042_cur."!mark_push"(0, -1, 0, $P10)
+    rx1051_cur."!cursor_pos"(rx1051_pos)
+    $P10 = rx1051_cur."O"("%autoincrement")
+    unless $P10, rx1051_fail
+    rx1051_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1042_pos = $P10."pos"()
+    rx1051_pos = $P10."pos"()
   # rx pass
-    rx1042_cur."!cursor_pass"(rx1042_pos, "postfix:sym<++>")
-    rx1042_cur."!cursor_debug"("PASS  ", "postfix:sym<++>", " at pos=", rx1042_pos)
-    .return (rx1042_cur)
-  rx1042_fail:
-.annotate 'line', 446
-    (rx1042_rep, rx1042_pos, $I10, $P10) = rx1042_cur."!mark_fail"(0)
-    lt rx1042_pos, -1, rx1042_done
-    eq rx1042_pos, -1, rx1042_fail
+    rx1051_cur."!cursor_pass"(rx1051_pos, "postfix:sym<++>")
+    rx1051_cur."!cursor_debug"("PASS  ", "postfix:sym<++>", " at pos=", rx1051_pos)
+    .return (rx1051_cur)
+  rx1051_fail:
+.annotate 'line', 447
+    (rx1051_rep, rx1051_pos, $I10, $P10) = rx1051_cur."!mark_fail"(0)
+    lt rx1051_pos, -1, rx1051_done
+    eq rx1051_pos, -1, rx1051_fail
     jump $I10
-  rx1042_done:
-    rx1042_cur."!cursor_fail"()
-    rx1042_cur."!cursor_debug"("FAIL  ", "postfix:sym<++>")
-    .return (rx1042_cur)
+  rx1051_done:
+    rx1051_cur."!cursor_fail"()
+    rx1051_cur."!cursor_debug"("FAIL  ", "postfix:sym<++>")
+    .return (rx1051_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<++>"  :subid("257_1277356913.9538") :method
-.annotate 'line', 446
-    $P1044 = self."!PREFIX__!subrule"("O", "++")
-    new $P1045, "ResizablePMCArray"
-    push $P1045, $P1044
-    .return ($P1045)
+.sub "!PREFIX__postfix:sym<++>"  :subid("259_1278500537.15927") :method
+.annotate 'line', 447
+    $P1053 = self."!PREFIX__!subrule"("O", "++")
+    new $P1054, "ResizablePMCArray"
+    push $P1054, $P1053
+    .return ($P1054)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<-->"  :subid("258_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1049_tgt
-    .local int rx1049_pos
-    .local int rx1049_off
-    .local int rx1049_eos
-    .local int rx1049_rep
-    .local pmc rx1049_cur
-    (rx1049_cur, rx1049_pos, rx1049_tgt) = self."!cursor_start"()
-    rx1049_cur."!cursor_debug"("START ", "postfix:sym<-->")
-    .lex unicode:"$\x{a2}", rx1049_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1049_eos, rx1049_tgt
-    gt rx1049_pos, rx1049_eos, rx1049_done
-    set rx1049_off, 0
-    lt rx1049_pos, 2, rx1049_start
-    sub rx1049_off, rx1049_pos, 1
-    substr rx1049_tgt, rx1049_tgt, rx1049_off
-  rx1049_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1053_done
-    goto rxscan1053_scan
-  rxscan1053_loop:
-    ($P10) = rx1049_cur."from"()
-    inc $P10
-    set rx1049_pos, $P10
-    ge rx1049_pos, rx1049_eos, rxscan1053_done
-  rxscan1053_scan:
-    set_addr $I10, rxscan1053_loop
-    rx1049_cur."!mark_push"(0, rx1049_pos, $I10)
-  rxscan1053_done:
-.annotate 'line', 495
+.sub "postfix:sym<-->"  :subid("260_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1058_tgt
+    .local int rx1058_pos
+    .local int rx1058_off
+    .local int rx1058_eos
+    .local int rx1058_rep
+    .local pmc rx1058_cur
+    (rx1058_cur, rx1058_pos, rx1058_tgt) = self."!cursor_start"()
+    rx1058_cur."!cursor_debug"("START ", "postfix:sym<-->")
+    .lex unicode:"$\x{a2}", rx1058_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1058_eos, rx1058_tgt
+    gt rx1058_pos, rx1058_eos, rx1058_done
+    set rx1058_off, 0
+    lt rx1058_pos, 2, rx1058_start
+    sub rx1058_off, rx1058_pos, 1
+    substr rx1058_tgt, rx1058_tgt, rx1058_off
+  rx1058_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1062_done
+    goto rxscan1062_scan
+  rxscan1062_loop:
+    ($P10) = rx1058_cur."from"()
+    inc $P10
+    set rx1058_pos, $P10
+    ge rx1058_pos, rx1058_eos, rxscan1062_done
+  rxscan1062_scan:
+    set_addr $I10, rxscan1062_loop
+    rx1058_cur."!mark_push"(0, rx1058_pos, $I10)
+  rxscan1062_done:
+.annotate 'line', 496
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1054_fail
-    rx1049_cur."!mark_push"(0, rx1049_pos, $I10)
+    set_addr $I10, rxcap_1063_fail
+    rx1058_cur."!mark_push"(0, rx1058_pos, $I10)
   # rx literal  "--"
-    add $I11, rx1049_pos, 2
-    gt $I11, rx1049_eos, rx1049_fail
-    sub $I11, rx1049_pos, rx1049_off
-    substr $S10, rx1049_tgt, $I11, 2
-    ne $S10, "--", rx1049_fail
-    add rx1049_pos, 2
-    set_addr $I10, rxcap_1054_fail
-    ($I12, $I11) = rx1049_cur."!mark_peek"($I10)
-    rx1049_cur."!cursor_pos"($I11)
-    ($P10) = rx1049_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1049_pos, "")
-    rx1049_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1058_pos, 2
+    gt $I11, rx1058_eos, rx1058_fail
+    sub $I11, rx1058_pos, rx1058_off
+    substr $S10, rx1058_tgt, $I11, 2
+    ne $S10, "--", rx1058_fail
+    add rx1058_pos, 2
+    set_addr $I10, rxcap_1063_fail
+    ($I12, $I11) = rx1058_cur."!mark_peek"($I10)
+    rx1058_cur."!cursor_pos"($I11)
+    ($P10) = rx1058_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1058_pos, "")
+    rx1058_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1054_done
-  rxcap_1054_fail:
-    goto rx1049_fail
-  rxcap_1054_done:
+    goto rxcap_1063_done
+  rxcap_1063_fail:
+    goto rx1058_fail
+  rxcap_1063_done:
   # rx subrule "O" subtype=capture negate=
-    rx1049_cur."!cursor_pos"(rx1049_pos)
-    $P10 = rx1049_cur."O"("%autoincrement")
-    unless $P10, rx1049_fail
-    rx1049_cur."!mark_push"(0, -1, 0, $P10)
+    rx1058_cur."!cursor_pos"(rx1058_pos)
+    $P10 = rx1058_cur."O"("%autoincrement")
+    unless $P10, rx1058_fail
+    rx1058_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1049_pos = $P10."pos"()
+    rx1058_pos = $P10."pos"()
   # rx pass
-    rx1049_cur."!cursor_pass"(rx1049_pos, "postfix:sym<-->")
-    rx1049_cur."!cursor_debug"("PASS  ", "postfix:sym<-->", " at pos=", rx1049_pos)
-    .return (rx1049_cur)
-  rx1049_fail:
-.annotate 'line', 446
-    (rx1049_rep, rx1049_pos, $I10, $P10) = rx1049_cur."!mark_fail"(0)
-    lt rx1049_pos, -1, rx1049_done
-    eq rx1049_pos, -1, rx1049_fail
+    rx1058_cur."!cursor_pass"(rx1058_pos, "postfix:sym<-->")
+    rx1058_cur."!cursor_debug"("PASS  ", "postfix:sym<-->", " at pos=", rx1058_pos)
+    .return (rx1058_cur)
+  rx1058_fail:
+.annotate 'line', 447
+    (rx1058_rep, rx1058_pos, $I10, $P10) = rx1058_cur."!mark_fail"(0)
+    lt rx1058_pos, -1, rx1058_done
+    eq rx1058_pos, -1, rx1058_fail
     jump $I10
-  rx1049_done:
-    rx1049_cur."!cursor_fail"()
-    rx1049_cur."!cursor_debug"("FAIL  ", "postfix:sym<-->")
-    .return (rx1049_cur)
+  rx1058_done:
+    rx1058_cur."!cursor_fail"()
+    rx1058_cur."!cursor_debug"("FAIL  ", "postfix:sym<-->")
+    .return (rx1058_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<-->"  :subid("259_1277356913.9538") :method
-.annotate 'line', 446
-    $P1051 = self."!PREFIX__!subrule"("O", "--")
-    new $P1052, "ResizablePMCArray"
-    push $P1052, $P1051
-    .return ($P1052)
+.sub "!PREFIX__postfix:sym<-->"  :subid("261_1278500537.15927") :method
+.annotate 'line', 447
+    $P1060 = self."!PREFIX__!subrule"("O", "--")
+    new $P1061, "ResizablePMCArray"
+    push $P1061, $P1060
+    .return ($P1061)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<**>"  :subid("260_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1056_tgt
-    .local int rx1056_pos
-    .local int rx1056_off
-    .local int rx1056_eos
-    .local int rx1056_rep
-    .local pmc rx1056_cur
-    (rx1056_cur, rx1056_pos, rx1056_tgt) = self."!cursor_start"()
-    rx1056_cur."!cursor_debug"("START ", "infix:sym<**>")
-    .lex unicode:"$\x{a2}", rx1056_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1056_eos, rx1056_tgt
-    gt rx1056_pos, rx1056_eos, rx1056_done
-    set rx1056_off, 0
-    lt rx1056_pos, 2, rx1056_start
-    sub rx1056_off, rx1056_pos, 1
-    substr rx1056_tgt, rx1056_tgt, rx1056_off
-  rx1056_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1060_done
-    goto rxscan1060_scan
-  rxscan1060_loop:
-    ($P10) = rx1056_cur."from"()
-    inc $P10
-    set rx1056_pos, $P10
-    ge rx1056_pos, rx1056_eos, rxscan1060_done
-  rxscan1060_scan:
-    set_addr $I10, rxscan1060_loop
-    rx1056_cur."!mark_push"(0, rx1056_pos, $I10)
-  rxscan1060_done:
-.annotate 'line', 497
+.sub "infix:sym<**>"  :subid("262_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1065_tgt
+    .local int rx1065_pos
+    .local int rx1065_off
+    .local int rx1065_eos
+    .local int rx1065_rep
+    .local pmc rx1065_cur
+    (rx1065_cur, rx1065_pos, rx1065_tgt) = self."!cursor_start"()
+    rx1065_cur."!cursor_debug"("START ", "infix:sym<**>")
+    .lex unicode:"$\x{a2}", rx1065_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1065_eos, rx1065_tgt
+    gt rx1065_pos, rx1065_eos, rx1065_done
+    set rx1065_off, 0
+    lt rx1065_pos, 2, rx1065_start
+    sub rx1065_off, rx1065_pos, 1
+    substr rx1065_tgt, rx1065_tgt, rx1065_off
+  rx1065_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1069_done
+    goto rxscan1069_scan
+  rxscan1069_loop:
+    ($P10) = rx1065_cur."from"()
+    inc $P10
+    set rx1065_pos, $P10
+    ge rx1065_pos, rx1065_eos, rxscan1069_done
+  rxscan1069_scan:
+    set_addr $I10, rxscan1069_loop
+    rx1065_cur."!mark_push"(0, rx1065_pos, $I10)
+  rxscan1069_done:
+.annotate 'line', 498
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1061_fail
-    rx1056_cur."!mark_push"(0, rx1056_pos, $I10)
+    set_addr $I10, rxcap_1070_fail
+    rx1065_cur."!mark_push"(0, rx1065_pos, $I10)
   # rx literal  "**"
-    add $I11, rx1056_pos, 2
-    gt $I11, rx1056_eos, rx1056_fail
-    sub $I11, rx1056_pos, rx1056_off
-    substr $S10, rx1056_tgt, $I11, 2
-    ne $S10, "**", rx1056_fail
-    add rx1056_pos, 2
-    set_addr $I10, rxcap_1061_fail
-    ($I12, $I11) = rx1056_cur."!mark_peek"($I10)
-    rx1056_cur."!cursor_pos"($I11)
-    ($P10) = rx1056_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1056_pos, "")
-    rx1056_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1065_pos, 2
+    gt $I11, rx1065_eos, rx1065_fail
+    sub $I11, rx1065_pos, rx1065_off
+    substr $S10, rx1065_tgt, $I11, 2
+    ne $S10, "**", rx1065_fail
+    add rx1065_pos, 2
+    set_addr $I10, rxcap_1070_fail
+    ($I12, $I11) = rx1065_cur."!mark_peek"($I10)
+    rx1065_cur."!cursor_pos"($I11)
+    ($P10) = rx1065_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1065_pos, "")
+    rx1065_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1061_done
-  rxcap_1061_fail:
-    goto rx1056_fail
-  rxcap_1061_done:
+    goto rxcap_1070_done
+  rxcap_1070_fail:
+    goto rx1065_fail
+  rxcap_1070_done:
   # rx subrule "O" subtype=capture negate=
-    rx1056_cur."!cursor_pos"(rx1056_pos)
-    $P10 = rx1056_cur."O"("%exponentiation, :pirop<pow>")
-    unless $P10, rx1056_fail
-    rx1056_cur."!mark_push"(0, -1, 0, $P10)
+    rx1065_cur."!cursor_pos"(rx1065_pos)
+    $P10 = rx1065_cur."O"("%exponentiation, :pirop<pow>")
+    unless $P10, rx1065_fail
+    rx1065_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1056_pos = $P10."pos"()
+    rx1065_pos = $P10."pos"()
   # rx pass
-    rx1056_cur."!cursor_pass"(rx1056_pos, "infix:sym<**>")
-    rx1056_cur."!cursor_debug"("PASS  ", "infix:sym<**>", " at pos=", rx1056_pos)
-    .return (rx1056_cur)
-  rx1056_fail:
-.annotate 'line', 446
-    (rx1056_rep, rx1056_pos, $I10, $P10) = rx1056_cur."!mark_fail"(0)
-    lt rx1056_pos, -1, rx1056_done
-    eq rx1056_pos, -1, rx1056_fail
+    rx1065_cur."!cursor_pass"(rx1065_pos, "infix:sym<**>")
+    rx1065_cur."!cursor_debug"("PASS  ", "infix:sym<**>", " at pos=", rx1065_pos)
+    .return (rx1065_cur)
+  rx1065_fail:
+.annotate 'line', 447
+    (rx1065_rep, rx1065_pos, $I10, $P10) = rx1065_cur."!mark_fail"(0)
+    lt rx1065_pos, -1, rx1065_done
+    eq rx1065_pos, -1, rx1065_fail
     jump $I10
-  rx1056_done:
-    rx1056_cur."!cursor_fail"()
-    rx1056_cur."!cursor_debug"("FAIL  ", "infix:sym<**>")
-    .return (rx1056_cur)
+  rx1065_done:
+    rx1065_cur."!cursor_fail"()
+    rx1065_cur."!cursor_debug"("FAIL  ", "infix:sym<**>")
+    .return (rx1065_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<**>"  :subid("261_1277356913.9538") :method
-.annotate 'line', 446
-    $P1058 = self."!PREFIX__!subrule"("O", "**")
-    new $P1059, "ResizablePMCArray"
-    push $P1059, $P1058
-    .return ($P1059)
+.sub "!PREFIX__infix:sym<**>"  :subid("263_1278500537.15927") :method
+.annotate 'line', 447
+    $P1067 = self."!PREFIX__!subrule"("O", "**")
+    new $P1068, "ResizablePMCArray"
+    push $P1068, $P1067
+    .return ($P1068)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<+>"  :subid("262_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1063_tgt
-    .local int rx1063_pos
-    .local int rx1063_off
-    .local int rx1063_eos
-    .local int rx1063_rep
-    .local pmc rx1063_cur
-    (rx1063_cur, rx1063_pos, rx1063_tgt) = self."!cursor_start"()
-    rx1063_cur."!cursor_debug"("START ", "prefix:sym<+>")
-    .lex unicode:"$\x{a2}", rx1063_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1063_eos, rx1063_tgt
-    gt rx1063_pos, rx1063_eos, rx1063_done
-    set rx1063_off, 0
-    lt rx1063_pos, 2, rx1063_start
-    sub rx1063_off, rx1063_pos, 1
-    substr rx1063_tgt, rx1063_tgt, rx1063_off
-  rx1063_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1067_done
-    goto rxscan1067_scan
-  rxscan1067_loop:
-    ($P10) = rx1063_cur."from"()
-    inc $P10
-    set rx1063_pos, $P10
-    ge rx1063_pos, rx1063_eos, rxscan1067_done
-  rxscan1067_scan:
-    set_addr $I10, rxscan1067_loop
-    rx1063_cur."!mark_push"(0, rx1063_pos, $I10)
-  rxscan1067_done:
-.annotate 'line', 499
+.sub "prefix:sym<+>"  :subid("264_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1072_tgt
+    .local int rx1072_pos
+    .local int rx1072_off
+    .local int rx1072_eos
+    .local int rx1072_rep
+    .local pmc rx1072_cur
+    (rx1072_cur, rx1072_pos, rx1072_tgt) = self."!cursor_start"()
+    rx1072_cur."!cursor_debug"("START ", "prefix:sym<+>")
+    .lex unicode:"$\x{a2}", rx1072_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1072_eos, rx1072_tgt
+    gt rx1072_pos, rx1072_eos, rx1072_done
+    set rx1072_off, 0
+    lt rx1072_pos, 2, rx1072_start
+    sub rx1072_off, rx1072_pos, 1
+    substr rx1072_tgt, rx1072_tgt, rx1072_off
+  rx1072_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1076_done
+    goto rxscan1076_scan
+  rxscan1076_loop:
+    ($P10) = rx1072_cur."from"()
+    inc $P10
+    set rx1072_pos, $P10
+    ge rx1072_pos, rx1072_eos, rxscan1076_done
+  rxscan1076_scan:
+    set_addr $I10, rxscan1076_loop
+    rx1072_cur."!mark_push"(0, rx1072_pos, $I10)
+  rxscan1076_done:
+.annotate 'line', 500
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1068_fail
-    rx1063_cur."!mark_push"(0, rx1063_pos, $I10)
+    set_addr $I10, rxcap_1077_fail
+    rx1072_cur."!mark_push"(0, rx1072_pos, $I10)
   # rx literal  "+"
-    add $I11, rx1063_pos, 1
-    gt $I11, rx1063_eos, rx1063_fail
-    sub $I11, rx1063_pos, rx1063_off
-    substr $S10, rx1063_tgt, $I11, 1
-    ne $S10, "+", rx1063_fail
-    add rx1063_pos, 1
-    set_addr $I10, rxcap_1068_fail
-    ($I12, $I11) = rx1063_cur."!mark_peek"($I10)
-    rx1063_cur."!cursor_pos"($I11)
-    ($P10) = rx1063_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1063_pos, "")
-    rx1063_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1072_pos, 1
+    gt $I11, rx1072_eos, rx1072_fail
+    sub $I11, rx1072_pos, rx1072_off
+    substr $S10, rx1072_tgt, $I11, 1
+    ne $S10, "+", rx1072_fail
+    add rx1072_pos, 1
+    set_addr $I10, rxcap_1077_fail
+    ($I12, $I11) = rx1072_cur."!mark_peek"($I10)
+    rx1072_cur."!cursor_pos"($I11)
+    ($P10) = rx1072_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1072_pos, "")
+    rx1072_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1068_done
-  rxcap_1068_fail:
-    goto rx1063_fail
-  rxcap_1068_done:
+    goto rxcap_1077_done
+  rxcap_1077_fail:
+    goto rx1072_fail
+  rxcap_1077_done:
   # rx subrule "O" subtype=capture negate=
-    rx1063_cur."!cursor_pos"(rx1063_pos)
-    $P10 = rx1063_cur."O"("%symbolic_unary, :pirop<set N*>")
-    unless $P10, rx1063_fail
-    rx1063_cur."!mark_push"(0, -1, 0, $P10)
+    rx1072_cur."!cursor_pos"(rx1072_pos)
+    $P10 = rx1072_cur."O"("%symbolic_unary, :pirop<set N*>")
+    unless $P10, rx1072_fail
+    rx1072_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1063_pos = $P10."pos"()
+    rx1072_pos = $P10."pos"()
   # rx pass
-    rx1063_cur."!cursor_pass"(rx1063_pos, "prefix:sym<+>")
-    rx1063_cur."!cursor_debug"("PASS  ", "prefix:sym<+>", " at pos=", rx1063_pos)
-    .return (rx1063_cur)
-  rx1063_fail:
-.annotate 'line', 446
-    (rx1063_rep, rx1063_pos, $I10, $P10) = rx1063_cur."!mark_fail"(0)
-    lt rx1063_pos, -1, rx1063_done
-    eq rx1063_pos, -1, rx1063_fail
+    rx1072_cur."!cursor_pass"(rx1072_pos, "prefix:sym<+>")
+    rx1072_cur."!cursor_debug"("PASS  ", "prefix:sym<+>", " at pos=", rx1072_pos)
+    .return (rx1072_cur)
+  rx1072_fail:
+.annotate 'line', 447
+    (rx1072_rep, rx1072_pos, $I10, $P10) = rx1072_cur."!mark_fail"(0)
+    lt rx1072_pos, -1, rx1072_done
+    eq rx1072_pos, -1, rx1072_fail
     jump $I10
-  rx1063_done:
-    rx1063_cur."!cursor_fail"()
-    rx1063_cur."!cursor_debug"("FAIL  ", "prefix:sym<+>")
-    .return (rx1063_cur)
+  rx1072_done:
+    rx1072_cur."!cursor_fail"()
+    rx1072_cur."!cursor_debug"("FAIL  ", "prefix:sym<+>")
+    .return (rx1072_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<+>"  :subid("263_1277356913.9538") :method
-.annotate 'line', 446
-    $P1065 = self."!PREFIX__!subrule"("O", "+")
-    new $P1066, "ResizablePMCArray"
-    push $P1066, $P1065
-    .return ($P1066)
+.sub "!PREFIX__prefix:sym<+>"  :subid("265_1278500537.15927") :method
+.annotate 'line', 447
+    $P1074 = self."!PREFIX__!subrule"("O", "+")
+    new $P1075, "ResizablePMCArray"
+    push $P1075, $P1074
+    .return ($P1075)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<~>"  :subid("264_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1070_tgt
-    .local int rx1070_pos
-    .local int rx1070_off
-    .local int rx1070_eos
-    .local int rx1070_rep
-    .local pmc rx1070_cur
-    (rx1070_cur, rx1070_pos, rx1070_tgt) = self."!cursor_start"()
-    rx1070_cur."!cursor_debug"("START ", "prefix:sym<~>")
-    .lex unicode:"$\x{a2}", rx1070_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1070_eos, rx1070_tgt
-    gt rx1070_pos, rx1070_eos, rx1070_done
-    set rx1070_off, 0
-    lt rx1070_pos, 2, rx1070_start
-    sub rx1070_off, rx1070_pos, 1
-    substr rx1070_tgt, rx1070_tgt, rx1070_off
-  rx1070_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1074_done
-    goto rxscan1074_scan
-  rxscan1074_loop:
-    ($P10) = rx1070_cur."from"()
-    inc $P10
-    set rx1070_pos, $P10
-    ge rx1070_pos, rx1070_eos, rxscan1074_done
-  rxscan1074_scan:
-    set_addr $I10, rxscan1074_loop
-    rx1070_cur."!mark_push"(0, rx1070_pos, $I10)
-  rxscan1074_done:
-.annotate 'line', 500
+.sub "prefix:sym<~>"  :subid("266_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1079_tgt
+    .local int rx1079_pos
+    .local int rx1079_off
+    .local int rx1079_eos
+    .local int rx1079_rep
+    .local pmc rx1079_cur
+    (rx1079_cur, rx1079_pos, rx1079_tgt) = self."!cursor_start"()
+    rx1079_cur."!cursor_debug"("START ", "prefix:sym<~>")
+    .lex unicode:"$\x{a2}", rx1079_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1079_eos, rx1079_tgt
+    gt rx1079_pos, rx1079_eos, rx1079_done
+    set rx1079_off, 0
+    lt rx1079_pos, 2, rx1079_start
+    sub rx1079_off, rx1079_pos, 1
+    substr rx1079_tgt, rx1079_tgt, rx1079_off
+  rx1079_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1083_done
+    goto rxscan1083_scan
+  rxscan1083_loop:
+    ($P10) = rx1079_cur."from"()
+    inc $P10
+    set rx1079_pos, $P10
+    ge rx1079_pos, rx1079_eos, rxscan1083_done
+  rxscan1083_scan:
+    set_addr $I10, rxscan1083_loop
+    rx1079_cur."!mark_push"(0, rx1079_pos, $I10)
+  rxscan1083_done:
+.annotate 'line', 501
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1075_fail
-    rx1070_cur."!mark_push"(0, rx1070_pos, $I10)
+    set_addr $I10, rxcap_1084_fail
+    rx1079_cur."!mark_push"(0, rx1079_pos, $I10)
   # rx literal  "~"
-    add $I11, rx1070_pos, 1
-    gt $I11, rx1070_eos, rx1070_fail
-    sub $I11, rx1070_pos, rx1070_off
-    substr $S10, rx1070_tgt, $I11, 1
-    ne $S10, "~", rx1070_fail
-    add rx1070_pos, 1
-    set_addr $I10, rxcap_1075_fail
-    ($I12, $I11) = rx1070_cur."!mark_peek"($I10)
-    rx1070_cur."!cursor_pos"($I11)
-    ($P10) = rx1070_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1070_pos, "")
-    rx1070_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1079_pos, 1
+    gt $I11, rx1079_eos, rx1079_fail
+    sub $I11, rx1079_pos, rx1079_off
+    substr $S10, rx1079_tgt, $I11, 1
+    ne $S10, "~", rx1079_fail
+    add rx1079_pos, 1
+    set_addr $I10, rxcap_1084_fail
+    ($I12, $I11) = rx1079_cur."!mark_peek"($I10)
+    rx1079_cur."!cursor_pos"($I11)
+    ($P10) = rx1079_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1079_pos, "")
+    rx1079_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1075_done
-  rxcap_1075_fail:
-    goto rx1070_fail
-  rxcap_1075_done:
+    goto rxcap_1084_done
+  rxcap_1084_fail:
+    goto rx1079_fail
+  rxcap_1084_done:
   # rx subrule "O" subtype=capture negate=
-    rx1070_cur."!cursor_pos"(rx1070_pos)
-    $P10 = rx1070_cur."O"("%symbolic_unary, :pirop<set S*>")
-    unless $P10, rx1070_fail
-    rx1070_cur."!mark_push"(0, -1, 0, $P10)
+    rx1079_cur."!cursor_pos"(rx1079_pos)
+    $P10 = rx1079_cur."O"("%symbolic_unary, :pirop<set S*>")
+    unless $P10, rx1079_fail
+    rx1079_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1070_pos = $P10."pos"()
+    rx1079_pos = $P10."pos"()
   # rx pass
-    rx1070_cur."!cursor_pass"(rx1070_pos, "prefix:sym<~>")
-    rx1070_cur."!cursor_debug"("PASS  ", "prefix:sym<~>", " at pos=", rx1070_pos)
-    .return (rx1070_cur)
-  rx1070_fail:
-.annotate 'line', 446
-    (rx1070_rep, rx1070_pos, $I10, $P10) = rx1070_cur."!mark_fail"(0)
-    lt rx1070_pos, -1, rx1070_done
-    eq rx1070_pos, -1, rx1070_fail
+    rx1079_cur."!cursor_pass"(rx1079_pos, "prefix:sym<~>")
+    rx1079_cur."!cursor_debug"("PASS  ", "prefix:sym<~>", " at pos=", rx1079_pos)
+    .return (rx1079_cur)
+  rx1079_fail:
+.annotate 'line', 447
+    (rx1079_rep, rx1079_pos, $I10, $P10) = rx1079_cur."!mark_fail"(0)
+    lt rx1079_pos, -1, rx1079_done
+    eq rx1079_pos, -1, rx1079_fail
     jump $I10
-  rx1070_done:
-    rx1070_cur."!cursor_fail"()
-    rx1070_cur."!cursor_debug"("FAIL  ", "prefix:sym<~>")
-    .return (rx1070_cur)
+  rx1079_done:
+    rx1079_cur."!cursor_fail"()
+    rx1079_cur."!cursor_debug"("FAIL  ", "prefix:sym<~>")
+    .return (rx1079_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<~>"  :subid("265_1277356913.9538") :method
-.annotate 'line', 446
-    $P1072 = self."!PREFIX__!subrule"("O", "~")
-    new $P1073, "ResizablePMCArray"
-    push $P1073, $P1072
-    .return ($P1073)
+.sub "!PREFIX__prefix:sym<~>"  :subid("267_1278500537.15927") :method
+.annotate 'line', 447
+    $P1081 = self."!PREFIX__!subrule"("O", "~")
+    new $P1082, "ResizablePMCArray"
+    push $P1082, $P1081
+    .return ($P1082)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<->"  :subid("266_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1077_tgt
-    .local int rx1077_pos
-    .local int rx1077_off
-    .local int rx1077_eos
-    .local int rx1077_rep
-    .local pmc rx1077_cur
-    (rx1077_cur, rx1077_pos, rx1077_tgt) = self."!cursor_start"()
-    rx1077_cur."!cursor_debug"("START ", "prefix:sym<->")
-    .lex unicode:"$\x{a2}", rx1077_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1077_eos, rx1077_tgt
-    gt rx1077_pos, rx1077_eos, rx1077_done
-    set rx1077_off, 0
-    lt rx1077_pos, 2, rx1077_start
-    sub rx1077_off, rx1077_pos, 1
-    substr rx1077_tgt, rx1077_tgt, rx1077_off
-  rx1077_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1080_done
-    goto rxscan1080_scan
-  rxscan1080_loop:
-    ($P10) = rx1077_cur."from"()
-    inc $P10
-    set rx1077_pos, $P10
-    ge rx1077_pos, rx1077_eos, rxscan1080_done
-  rxscan1080_scan:
-    set_addr $I10, rxscan1080_loop
-    rx1077_cur."!mark_push"(0, rx1077_pos, $I10)
-  rxscan1080_done:
-.annotate 'line', 501
+.sub "prefix:sym<->"  :subid("268_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1086_tgt
+    .local int rx1086_pos
+    .local int rx1086_off
+    .local int rx1086_eos
+    .local int rx1086_rep
+    .local pmc rx1086_cur
+    (rx1086_cur, rx1086_pos, rx1086_tgt) = self."!cursor_start"()
+    rx1086_cur."!cursor_debug"("START ", "prefix:sym<->")
+    .lex unicode:"$\x{a2}", rx1086_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1086_eos, rx1086_tgt
+    gt rx1086_pos, rx1086_eos, rx1086_done
+    set rx1086_off, 0
+    lt rx1086_pos, 2, rx1086_start
+    sub rx1086_off, rx1086_pos, 1
+    substr rx1086_tgt, rx1086_tgt, rx1086_off
+  rx1086_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1089_done
+    goto rxscan1089_scan
+  rxscan1089_loop:
+    ($P10) = rx1086_cur."from"()
+    inc $P10
+    set rx1086_pos, $P10
+    ge rx1086_pos, rx1086_eos, rxscan1089_done
+  rxscan1089_scan:
+    set_addr $I10, rxscan1089_loop
+    rx1086_cur."!mark_push"(0, rx1086_pos, $I10)
+  rxscan1089_done:
+.annotate 'line', 502
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1081_fail
-    rx1077_cur."!mark_push"(0, rx1077_pos, $I10)
+    set_addr $I10, rxcap_1090_fail
+    rx1086_cur."!mark_push"(0, rx1086_pos, $I10)
   # rx literal  "-"
-    add $I11, rx1077_pos, 1
-    gt $I11, rx1077_eos, rx1077_fail
-    sub $I11, rx1077_pos, rx1077_off
-    substr $S10, rx1077_tgt, $I11, 1
-    ne $S10, "-", rx1077_fail
-    add rx1077_pos, 1
-    set_addr $I10, rxcap_1081_fail
-    ($I12, $I11) = rx1077_cur."!mark_peek"($I10)
-    rx1077_cur."!cursor_pos"($I11)
-    ($P10) = rx1077_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1077_pos, "")
-    rx1077_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1086_pos, 1
+    gt $I11, rx1086_eos, rx1086_fail
+    sub $I11, rx1086_pos, rx1086_off
+    substr $S10, rx1086_tgt, $I11, 1
+    ne $S10, "-", rx1086_fail
+    add rx1086_pos, 1
+    set_addr $I10, rxcap_1090_fail
+    ($I12, $I11) = rx1086_cur."!mark_peek"($I10)
+    rx1086_cur."!cursor_pos"($I11)
+    ($P10) = rx1086_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1086_pos, "")
+    rx1086_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1081_done
-  rxcap_1081_fail:
-    goto rx1077_fail
-  rxcap_1081_done:
+    goto rxcap_1090_done
+  rxcap_1090_fail:
+    goto rx1086_fail
+  rxcap_1090_done:
   # rx enumcharlist negate=1 zerowidth
-    ge rx1077_pos, rx1077_eos, rx1077_fail
-    sub $I10, rx1077_pos, rx1077_off
-    substr $S10, rx1077_tgt, $I10, 1
+    ge rx1086_pos, rx1086_eos, rx1086_fail
+    sub $I10, rx1086_pos, rx1086_off
+    substr $S10, rx1086_tgt, $I10, 1
     index $I11, ">", $S10
-    ge $I11, 0, rx1077_fail
+    ge $I11, 0, rx1086_fail
   # rx subrule "number" subtype=zerowidth negate=1
-    rx1077_cur."!cursor_pos"(rx1077_pos)
-    $P10 = rx1077_cur."number"()
-    if $P10, rx1077_fail
+    rx1086_cur."!cursor_pos"(rx1086_pos)
+    $P10 = rx1086_cur."number"()
+    if $P10, rx1086_fail
   # rx subrule "O" subtype=capture negate=
-    rx1077_cur."!cursor_pos"(rx1077_pos)
-    $P10 = rx1077_cur."O"("%symbolic_unary, :pirop<neg>")
-    unless $P10, rx1077_fail
-    rx1077_cur."!mark_push"(0, -1, 0, $P10)
+    rx1086_cur."!cursor_pos"(rx1086_pos)
+    $P10 = rx1086_cur."O"("%symbolic_unary, :pirop<neg>")
+    unless $P10, rx1086_fail
+    rx1086_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1077_pos = $P10."pos"()
+    rx1086_pos = $P10."pos"()
   # rx pass
-    rx1077_cur."!cursor_pass"(rx1077_pos, "prefix:sym<->")
-    rx1077_cur."!cursor_debug"("PASS  ", "prefix:sym<->", " at pos=", rx1077_pos)
-    .return (rx1077_cur)
-  rx1077_fail:
-.annotate 'line', 446
-    (rx1077_rep, rx1077_pos, $I10, $P10) = rx1077_cur."!mark_fail"(0)
-    lt rx1077_pos, -1, rx1077_done
-    eq rx1077_pos, -1, rx1077_fail
+    rx1086_cur."!cursor_pass"(rx1086_pos, "prefix:sym<->")
+    rx1086_cur."!cursor_debug"("PASS  ", "prefix:sym<->", " at pos=", rx1086_pos)
+    .return (rx1086_cur)
+  rx1086_fail:
+.annotate 'line', 447
+    (rx1086_rep, rx1086_pos, $I10, $P10) = rx1086_cur."!mark_fail"(0)
+    lt rx1086_pos, -1, rx1086_done
+    eq rx1086_pos, -1, rx1086_fail
     jump $I10
-  rx1077_done:
-    rx1077_cur."!cursor_fail"()
-    rx1077_cur."!cursor_debug"("FAIL  ", "prefix:sym<->")
-    .return (rx1077_cur)
+  rx1086_done:
+    rx1086_cur."!cursor_fail"()
+    rx1086_cur."!cursor_debug"("FAIL  ", "prefix:sym<->")
+    .return (rx1086_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<->"  :subid("267_1277356913.9538") :method
-.annotate 'line', 446
-    new $P1079, "ResizablePMCArray"
-    push $P1079, "-"
-    .return ($P1079)
+.sub "!PREFIX__prefix:sym<->"  :subid("269_1278500537.15927") :method
+.annotate 'line', 447
+    new $P1088, "ResizablePMCArray"
+    push $P1088, "-"
+    .return ($P1088)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<?>"  :subid("268_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1083_tgt
-    .local int rx1083_pos
-    .local int rx1083_off
-    .local int rx1083_eos
-    .local int rx1083_rep
-    .local pmc rx1083_cur
-    (rx1083_cur, rx1083_pos, rx1083_tgt) = self."!cursor_start"()
-    rx1083_cur."!cursor_debug"("START ", "prefix:sym<?>")
-    .lex unicode:"$\x{a2}", rx1083_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1083_eos, rx1083_tgt
-    gt rx1083_pos, rx1083_eos, rx1083_done
-    set rx1083_off, 0
-    lt rx1083_pos, 2, rx1083_start
-    sub rx1083_off, rx1083_pos, 1
-    substr rx1083_tgt, rx1083_tgt, rx1083_off
-  rx1083_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1087_done
-    goto rxscan1087_scan
-  rxscan1087_loop:
-    ($P10) = rx1083_cur."from"()
-    inc $P10
-    set rx1083_pos, $P10
-    ge rx1083_pos, rx1083_eos, rxscan1087_done
-  rxscan1087_scan:
-    set_addr $I10, rxscan1087_loop
-    rx1083_cur."!mark_push"(0, rx1083_pos, $I10)
-  rxscan1087_done:
-.annotate 'line', 502
+.sub "prefix:sym<?>"  :subid("270_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1092_tgt
+    .local int rx1092_pos
+    .local int rx1092_off
+    .local int rx1092_eos
+    .local int rx1092_rep
+    .local pmc rx1092_cur
+    (rx1092_cur, rx1092_pos, rx1092_tgt) = self."!cursor_start"()
+    rx1092_cur."!cursor_debug"("START ", "prefix:sym<?>")
+    .lex unicode:"$\x{a2}", rx1092_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1092_eos, rx1092_tgt
+    gt rx1092_pos, rx1092_eos, rx1092_done
+    set rx1092_off, 0
+    lt rx1092_pos, 2, rx1092_start
+    sub rx1092_off, rx1092_pos, 1
+    substr rx1092_tgt, rx1092_tgt, rx1092_off
+  rx1092_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1096_done
+    goto rxscan1096_scan
+  rxscan1096_loop:
+    ($P10) = rx1092_cur."from"()
+    inc $P10
+    set rx1092_pos, $P10
+    ge rx1092_pos, rx1092_eos, rxscan1096_done
+  rxscan1096_scan:
+    set_addr $I10, rxscan1096_loop
+    rx1092_cur."!mark_push"(0, rx1092_pos, $I10)
+  rxscan1096_done:
+.annotate 'line', 503
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1088_fail
-    rx1083_cur."!mark_push"(0, rx1083_pos, $I10)
+    set_addr $I10, rxcap_1097_fail
+    rx1092_cur."!mark_push"(0, rx1092_pos, $I10)
   # rx literal  "?"
-    add $I11, rx1083_pos, 1
-    gt $I11, rx1083_eos, rx1083_fail
-    sub $I11, rx1083_pos, rx1083_off
-    substr $S10, rx1083_tgt, $I11, 1
-    ne $S10, "?", rx1083_fail
-    add rx1083_pos, 1
-    set_addr $I10, rxcap_1088_fail
-    ($I12, $I11) = rx1083_cur."!mark_peek"($I10)
-    rx1083_cur."!cursor_pos"($I11)
-    ($P10) = rx1083_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1083_pos, "")
-    rx1083_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1092_pos, 1
+    gt $I11, rx1092_eos, rx1092_fail
+    sub $I11, rx1092_pos, rx1092_off
+    substr $S10, rx1092_tgt, $I11, 1
+    ne $S10, "?", rx1092_fail
+    add rx1092_pos, 1
+    set_addr $I10, rxcap_1097_fail
+    ($I12, $I11) = rx1092_cur."!mark_peek"($I10)
+    rx1092_cur."!cursor_pos"($I11)
+    ($P10) = rx1092_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1092_pos, "")
+    rx1092_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1088_done
-  rxcap_1088_fail:
-    goto rx1083_fail
-  rxcap_1088_done:
+    goto rxcap_1097_done
+  rxcap_1097_fail:
+    goto rx1092_fail
+  rxcap_1097_done:
   # rx subrule "O" subtype=capture negate=
-    rx1083_cur."!cursor_pos"(rx1083_pos)
-    $P10 = rx1083_cur."O"("%symbolic_unary, :pirop<istrue>")
-    unless $P10, rx1083_fail
-    rx1083_cur."!mark_push"(0, -1, 0, $P10)
+    rx1092_cur."!cursor_pos"(rx1092_pos)
+    $P10 = rx1092_cur."O"("%symbolic_unary, :pirop<istrue>")
+    unless $P10, rx1092_fail
+    rx1092_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1083_pos = $P10."pos"()
+    rx1092_pos = $P10."pos"()
   # rx pass
-    rx1083_cur."!cursor_pass"(rx1083_pos, "prefix:sym<?>")
-    rx1083_cur."!cursor_debug"("PASS  ", "prefix:sym<?>", " at pos=", rx1083_pos)
-    .return (rx1083_cur)
-  rx1083_fail:
-.annotate 'line', 446
-    (rx1083_rep, rx1083_pos, $I10, $P10) = rx1083_cur."!mark_fail"(0)
-    lt rx1083_pos, -1, rx1083_done
-    eq rx1083_pos, -1, rx1083_fail
+    rx1092_cur."!cursor_pass"(rx1092_pos, "prefix:sym<?>")
+    rx1092_cur."!cursor_debug"("PASS  ", "prefix:sym<?>", " at pos=", rx1092_pos)
+    .return (rx1092_cur)
+  rx1092_fail:
+.annotate 'line', 447
+    (rx1092_rep, rx1092_pos, $I10, $P10) = rx1092_cur."!mark_fail"(0)
+    lt rx1092_pos, -1, rx1092_done
+    eq rx1092_pos, -1, rx1092_fail
     jump $I10
-  rx1083_done:
-    rx1083_cur."!cursor_fail"()
-    rx1083_cur."!cursor_debug"("FAIL  ", "prefix:sym<?>")
-    .return (rx1083_cur)
+  rx1092_done:
+    rx1092_cur."!cursor_fail"()
+    rx1092_cur."!cursor_debug"("FAIL  ", "prefix:sym<?>")
+    .return (rx1092_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<?>"  :subid("269_1277356913.9538") :method
-.annotate 'line', 446
-    $P1085 = self."!PREFIX__!subrule"("O", "?")
-    new $P1086, "ResizablePMCArray"
-    push $P1086, $P1085
-    .return ($P1086)
+.sub "!PREFIX__prefix:sym<?>"  :subid("271_1278500537.15927") :method
+.annotate 'line', 447
+    $P1094 = self."!PREFIX__!subrule"("O", "?")
+    new $P1095, "ResizablePMCArray"
+    push $P1095, $P1094
+    .return ($P1095)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<!>"  :subid("270_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1090_tgt
-    .local int rx1090_pos
-    .local int rx1090_off
-    .local int rx1090_eos
-    .local int rx1090_rep
-    .local pmc rx1090_cur
-    (rx1090_cur, rx1090_pos, rx1090_tgt) = self."!cursor_start"()
-    rx1090_cur."!cursor_debug"("START ", "prefix:sym<!>")
-    .lex unicode:"$\x{a2}", rx1090_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1090_eos, rx1090_tgt
-    gt rx1090_pos, rx1090_eos, rx1090_done
-    set rx1090_off, 0
-    lt rx1090_pos, 2, rx1090_start
-    sub rx1090_off, rx1090_pos, 1
-    substr rx1090_tgt, rx1090_tgt, rx1090_off
-  rx1090_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1094_done
-    goto rxscan1094_scan
-  rxscan1094_loop:
-    ($P10) = rx1090_cur."from"()
-    inc $P10
-    set rx1090_pos, $P10
-    ge rx1090_pos, rx1090_eos, rxscan1094_done
-  rxscan1094_scan:
-    set_addr $I10, rxscan1094_loop
-    rx1090_cur."!mark_push"(0, rx1090_pos, $I10)
-  rxscan1094_done:
-.annotate 'line', 503
+.sub "prefix:sym<!>"  :subid("272_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1099_tgt
+    .local int rx1099_pos
+    .local int rx1099_off
+    .local int rx1099_eos
+    .local int rx1099_rep
+    .local pmc rx1099_cur
+    (rx1099_cur, rx1099_pos, rx1099_tgt) = self."!cursor_start"()
+    rx1099_cur."!cursor_debug"("START ", "prefix:sym<!>")
+    .lex unicode:"$\x{a2}", rx1099_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1099_eos, rx1099_tgt
+    gt rx1099_pos, rx1099_eos, rx1099_done
+    set rx1099_off, 0
+    lt rx1099_pos, 2, rx1099_start
+    sub rx1099_off, rx1099_pos, 1
+    substr rx1099_tgt, rx1099_tgt, rx1099_off
+  rx1099_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1103_done
+    goto rxscan1103_scan
+  rxscan1103_loop:
+    ($P10) = rx1099_cur."from"()
+    inc $P10
+    set rx1099_pos, $P10
+    ge rx1099_pos, rx1099_eos, rxscan1103_done
+  rxscan1103_scan:
+    set_addr $I10, rxscan1103_loop
+    rx1099_cur."!mark_push"(0, rx1099_pos, $I10)
+  rxscan1103_done:
+.annotate 'line', 504
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1095_fail
-    rx1090_cur."!mark_push"(0, rx1090_pos, $I10)
+    set_addr $I10, rxcap_1104_fail
+    rx1099_cur."!mark_push"(0, rx1099_pos, $I10)
   # rx literal  "!"
-    add $I11, rx1090_pos, 1
-    gt $I11, rx1090_eos, rx1090_fail
-    sub $I11, rx1090_pos, rx1090_off
-    substr $S10, rx1090_tgt, $I11, 1
-    ne $S10, "!", rx1090_fail
-    add rx1090_pos, 1
-    set_addr $I10, rxcap_1095_fail
-    ($I12, $I11) = rx1090_cur."!mark_peek"($I10)
-    rx1090_cur."!cursor_pos"($I11)
-    ($P10) = rx1090_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1090_pos, "")
-    rx1090_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1099_pos, 1
+    gt $I11, rx1099_eos, rx1099_fail
+    sub $I11, rx1099_pos, rx1099_off
+    substr $S10, rx1099_tgt, $I11, 1
+    ne $S10, "!", rx1099_fail
+    add rx1099_pos, 1
+    set_addr $I10, rxcap_1104_fail
+    ($I12, $I11) = rx1099_cur."!mark_peek"($I10)
+    rx1099_cur."!cursor_pos"($I11)
+    ($P10) = rx1099_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1099_pos, "")
+    rx1099_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1095_done
-  rxcap_1095_fail:
-    goto rx1090_fail
-  rxcap_1095_done:
+    goto rxcap_1104_done
+  rxcap_1104_fail:
+    goto rx1099_fail
+  rxcap_1104_done:
   # rx subrule "O" subtype=capture negate=
-    rx1090_cur."!cursor_pos"(rx1090_pos)
-    $P10 = rx1090_cur."O"("%symbolic_unary, :pirop<isfalse>")
-    unless $P10, rx1090_fail
-    rx1090_cur."!mark_push"(0, -1, 0, $P10)
+    rx1099_cur."!cursor_pos"(rx1099_pos)
+    $P10 = rx1099_cur."O"("%symbolic_unary, :pirop<isfalse>")
+    unless $P10, rx1099_fail
+    rx1099_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1090_pos = $P10."pos"()
+    rx1099_pos = $P10."pos"()
   # rx pass
-    rx1090_cur."!cursor_pass"(rx1090_pos, "prefix:sym<!>")
-    rx1090_cur."!cursor_debug"("PASS  ", "prefix:sym<!>", " at pos=", rx1090_pos)
-    .return (rx1090_cur)
-  rx1090_fail:
-.annotate 'line', 446
-    (rx1090_rep, rx1090_pos, $I10, $P10) = rx1090_cur."!mark_fail"(0)
-    lt rx1090_pos, -1, rx1090_done
-    eq rx1090_pos, -1, rx1090_fail
+    rx1099_cur."!cursor_pass"(rx1099_pos, "prefix:sym<!>")
+    rx1099_cur."!cursor_debug"("PASS  ", "prefix:sym<!>", " at pos=", rx1099_pos)
+    .return (rx1099_cur)
+  rx1099_fail:
+.annotate 'line', 447
+    (rx1099_rep, rx1099_pos, $I10, $P10) = rx1099_cur."!mark_fail"(0)
+    lt rx1099_pos, -1, rx1099_done
+    eq rx1099_pos, -1, rx1099_fail
     jump $I10
-  rx1090_done:
-    rx1090_cur."!cursor_fail"()
-    rx1090_cur."!cursor_debug"("FAIL  ", "prefix:sym<!>")
-    .return (rx1090_cur)
+  rx1099_done:
+    rx1099_cur."!cursor_fail"()
+    rx1099_cur."!cursor_debug"("FAIL  ", "prefix:sym<!>")
+    .return (rx1099_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<!>"  :subid("271_1277356913.9538") :method
-.annotate 'line', 446
-    $P1092 = self."!PREFIX__!subrule"("O", "!")
-    new $P1093, "ResizablePMCArray"
-    push $P1093, $P1092
-    .return ($P1093)
+.sub "!PREFIX__prefix:sym<!>"  :subid("273_1278500537.15927") :method
+.annotate 'line', 447
+    $P1101 = self."!PREFIX__!subrule"("O", "!")
+    new $P1102, "ResizablePMCArray"
+    push $P1102, $P1101
+    .return ($P1102)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<|>"  :subid("272_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1097_tgt
-    .local int rx1097_pos
-    .local int rx1097_off
-    .local int rx1097_eos
-    .local int rx1097_rep
-    .local pmc rx1097_cur
-    (rx1097_cur, rx1097_pos, rx1097_tgt) = self."!cursor_start"()
-    rx1097_cur."!cursor_debug"("START ", "prefix:sym<|>")
-    .lex unicode:"$\x{a2}", rx1097_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1097_eos, rx1097_tgt
-    gt rx1097_pos, rx1097_eos, rx1097_done
-    set rx1097_off, 0
-    lt rx1097_pos, 2, rx1097_start
-    sub rx1097_off, rx1097_pos, 1
-    substr rx1097_tgt, rx1097_tgt, rx1097_off
-  rx1097_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1101_done
-    goto rxscan1101_scan
-  rxscan1101_loop:
-    ($P10) = rx1097_cur."from"()
-    inc $P10
-    set rx1097_pos, $P10
-    ge rx1097_pos, rx1097_eos, rxscan1101_done
-  rxscan1101_scan:
-    set_addr $I10, rxscan1101_loop
-    rx1097_cur."!mark_push"(0, rx1097_pos, $I10)
-  rxscan1101_done:
-.annotate 'line', 504
+.sub "prefix:sym<|>"  :subid("274_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1106_tgt
+    .local int rx1106_pos
+    .local int rx1106_off
+    .local int rx1106_eos
+    .local int rx1106_rep
+    .local pmc rx1106_cur
+    (rx1106_cur, rx1106_pos, rx1106_tgt) = self."!cursor_start"()
+    rx1106_cur."!cursor_debug"("START ", "prefix:sym<|>")
+    .lex unicode:"$\x{a2}", rx1106_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1106_eos, rx1106_tgt
+    gt rx1106_pos, rx1106_eos, rx1106_done
+    set rx1106_off, 0
+    lt rx1106_pos, 2, rx1106_start
+    sub rx1106_off, rx1106_pos, 1
+    substr rx1106_tgt, rx1106_tgt, rx1106_off
+  rx1106_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1110_done
+    goto rxscan1110_scan
+  rxscan1110_loop:
+    ($P10) = rx1106_cur."from"()
+    inc $P10
+    set rx1106_pos, $P10
+    ge rx1106_pos, rx1106_eos, rxscan1110_done
+  rxscan1110_scan:
+    set_addr $I10, rxscan1110_loop
+    rx1106_cur."!mark_push"(0, rx1106_pos, $I10)
+  rxscan1110_done:
+.annotate 'line', 505
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1102_fail
-    rx1097_cur."!mark_push"(0, rx1097_pos, $I10)
+    set_addr $I10, rxcap_1111_fail
+    rx1106_cur."!mark_push"(0, rx1106_pos, $I10)
   # rx literal  "|"
-    add $I11, rx1097_pos, 1
-    gt $I11, rx1097_eos, rx1097_fail
-    sub $I11, rx1097_pos, rx1097_off
-    substr $S10, rx1097_tgt, $I11, 1
-    ne $S10, "|", rx1097_fail
-    add rx1097_pos, 1
-    set_addr $I10, rxcap_1102_fail
-    ($I12, $I11) = rx1097_cur."!mark_peek"($I10)
-    rx1097_cur."!cursor_pos"($I11)
-    ($P10) = rx1097_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1097_pos, "")
-    rx1097_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1106_pos, 1
+    gt $I11, rx1106_eos, rx1106_fail
+    sub $I11, rx1106_pos, rx1106_off
+    substr $S10, rx1106_tgt, $I11, 1
+    ne $S10, "|", rx1106_fail
+    add rx1106_pos, 1
+    set_addr $I10, rxcap_1111_fail
+    ($I12, $I11) = rx1106_cur."!mark_peek"($I10)
+    rx1106_cur."!cursor_pos"($I11)
+    ($P10) = rx1106_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1106_pos, "")
+    rx1106_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1102_done
-  rxcap_1102_fail:
-    goto rx1097_fail
-  rxcap_1102_done:
+    goto rxcap_1111_done
+  rxcap_1111_fail:
+    goto rx1106_fail
+  rxcap_1111_done:
   # rx subrule "O" subtype=capture negate=
-    rx1097_cur."!cursor_pos"(rx1097_pos)
-    $P10 = rx1097_cur."O"("%symbolic_unary")
-    unless $P10, rx1097_fail
-    rx1097_cur."!mark_push"(0, -1, 0, $P10)
+    rx1106_cur."!cursor_pos"(rx1106_pos)
+    $P10 = rx1106_cur."O"("%symbolic_unary")
+    unless $P10, rx1106_fail
+    rx1106_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1097_pos = $P10."pos"()
+    rx1106_pos = $P10."pos"()
   # rx pass
-    rx1097_cur."!cursor_pass"(rx1097_pos, "prefix:sym<|>")
-    rx1097_cur."!cursor_debug"("PASS  ", "prefix:sym<|>", " at pos=", rx1097_pos)
-    .return (rx1097_cur)
-  rx1097_fail:
-.annotate 'line', 446
-    (rx1097_rep, rx1097_pos, $I10, $P10) = rx1097_cur."!mark_fail"(0)
-    lt rx1097_pos, -1, rx1097_done
-    eq rx1097_pos, -1, rx1097_fail
+    rx1106_cur."!cursor_pass"(rx1106_pos, "prefix:sym<|>")
+    rx1106_cur."!cursor_debug"("PASS  ", "prefix:sym<|>", " at pos=", rx1106_pos)
+    .return (rx1106_cur)
+  rx1106_fail:
+.annotate 'line', 447
+    (rx1106_rep, rx1106_pos, $I10, $P10) = rx1106_cur."!mark_fail"(0)
+    lt rx1106_pos, -1, rx1106_done
+    eq rx1106_pos, -1, rx1106_fail
     jump $I10
-  rx1097_done:
-    rx1097_cur."!cursor_fail"()
-    rx1097_cur."!cursor_debug"("FAIL  ", "prefix:sym<|>")
-    .return (rx1097_cur)
+  rx1106_done:
+    rx1106_cur."!cursor_fail"()
+    rx1106_cur."!cursor_debug"("FAIL  ", "prefix:sym<|>")
+    .return (rx1106_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<|>"  :subid("273_1277356913.9538") :method
-.annotate 'line', 446
-    $P1099 = self."!PREFIX__!subrule"("O", "|")
-    new $P1100, "ResizablePMCArray"
-    push $P1100, $P1099
-    .return ($P1100)
+.sub "!PREFIX__prefix:sym<|>"  :subid("275_1278500537.15927") :method
+.annotate 'line', 447
+    $P1108 = self."!PREFIX__!subrule"("O", "|")
+    new $P1109, "ResizablePMCArray"
+    push $P1109, $P1108
+    .return ($P1109)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<*>"  :subid("274_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1104_tgt
-    .local int rx1104_pos
-    .local int rx1104_off
-    .local int rx1104_eos
-    .local int rx1104_rep
-    .local pmc rx1104_cur
-    (rx1104_cur, rx1104_pos, rx1104_tgt) = self."!cursor_start"()
-    rx1104_cur."!cursor_debug"("START ", "infix:sym<*>")
-    .lex unicode:"$\x{a2}", rx1104_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1104_eos, rx1104_tgt
-    gt rx1104_pos, rx1104_eos, rx1104_done
-    set rx1104_off, 0
-    lt rx1104_pos, 2, rx1104_start
-    sub rx1104_off, rx1104_pos, 1
-    substr rx1104_tgt, rx1104_tgt, rx1104_off
-  rx1104_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1108_done
-    goto rxscan1108_scan
-  rxscan1108_loop:
-    ($P10) = rx1104_cur."from"()
-    inc $P10
-    set rx1104_pos, $P10
-    ge rx1104_pos, rx1104_eos, rxscan1108_done
-  rxscan1108_scan:
-    set_addr $I10, rxscan1108_loop
-    rx1104_cur."!mark_push"(0, rx1104_pos, $I10)
-  rxscan1108_done:
-.annotate 'line', 506
+.sub "infix:sym<*>"  :subid("276_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1113_tgt
+    .local int rx1113_pos
+    .local int rx1113_off
+    .local int rx1113_eos
+    .local int rx1113_rep
+    .local pmc rx1113_cur
+    (rx1113_cur, rx1113_pos, rx1113_tgt) = self."!cursor_start"()
+    rx1113_cur."!cursor_debug"("START ", "infix:sym<*>")
+    .lex unicode:"$\x{a2}", rx1113_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1113_eos, rx1113_tgt
+    gt rx1113_pos, rx1113_eos, rx1113_done
+    set rx1113_off, 0
+    lt rx1113_pos, 2, rx1113_start
+    sub rx1113_off, rx1113_pos, 1
+    substr rx1113_tgt, rx1113_tgt, rx1113_off
+  rx1113_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1117_done
+    goto rxscan1117_scan
+  rxscan1117_loop:
+    ($P10) = rx1113_cur."from"()
+    inc $P10
+    set rx1113_pos, $P10
+    ge rx1113_pos, rx1113_eos, rxscan1117_done
+  rxscan1117_scan:
+    set_addr $I10, rxscan1117_loop
+    rx1113_cur."!mark_push"(0, rx1113_pos, $I10)
+  rxscan1117_done:
+.annotate 'line', 507
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1109_fail
-    rx1104_cur."!mark_push"(0, rx1104_pos, $I10)
+    set_addr $I10, rxcap_1118_fail
+    rx1113_cur."!mark_push"(0, rx1113_pos, $I10)
   # rx literal  "*"
-    add $I11, rx1104_pos, 1
-    gt $I11, rx1104_eos, rx1104_fail
-    sub $I11, rx1104_pos, rx1104_off
-    substr $S10, rx1104_tgt, $I11, 1
-    ne $S10, "*", rx1104_fail
-    add rx1104_pos, 1
-    set_addr $I10, rxcap_1109_fail
-    ($I12, $I11) = rx1104_cur."!mark_peek"($I10)
-    rx1104_cur."!cursor_pos"($I11)
-    ($P10) = rx1104_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1104_pos, "")
-    rx1104_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1113_pos, 1
+    gt $I11, rx1113_eos, rx1113_fail
+    sub $I11, rx1113_pos, rx1113_off
+    substr $S10, rx1113_tgt, $I11, 1
+    ne $S10, "*", rx1113_fail
+    add rx1113_pos, 1
+    set_addr $I10, rxcap_1118_fail
+    ($I12, $I11) = rx1113_cur."!mark_peek"($I10)
+    rx1113_cur."!cursor_pos"($I11)
+    ($P10) = rx1113_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1113_pos, "")
+    rx1113_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1109_done
-  rxcap_1109_fail:
-    goto rx1104_fail
-  rxcap_1109_done:
+    goto rxcap_1118_done
+  rxcap_1118_fail:
+    goto rx1113_fail
+  rxcap_1118_done:
   # rx subrule "O" subtype=capture negate=
-    rx1104_cur."!cursor_pos"(rx1104_pos)
-    $P10 = rx1104_cur."O"("%multiplicative, :pirop<mul>")
-    unless $P10, rx1104_fail
-    rx1104_cur."!mark_push"(0, -1, 0, $P10)
+    rx1113_cur."!cursor_pos"(rx1113_pos)
+    $P10 = rx1113_cur."O"("%multiplicative, :pirop<mul>")
+    unless $P10, rx1113_fail
+    rx1113_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1104_pos = $P10."pos"()
+    rx1113_pos = $P10."pos"()
   # rx pass
-    rx1104_cur."!cursor_pass"(rx1104_pos, "infix:sym<*>")
-    rx1104_cur."!cursor_debug"("PASS  ", "infix:sym<*>", " at pos=", rx1104_pos)
-    .return (rx1104_cur)
-  rx1104_fail:
-.annotate 'line', 446
-    (rx1104_rep, rx1104_pos, $I10, $P10) = rx1104_cur."!mark_fail"(0)
-    lt rx1104_pos, -1, rx1104_done
-    eq rx1104_pos, -1, rx1104_fail
+    rx1113_cur."!cursor_pass"(rx1113_pos, "infix:sym<*>")
+    rx1113_cur."!cursor_debug"("PASS  ", "infix:sym<*>", " at pos=", rx1113_pos)
+    .return (rx1113_cur)
+  rx1113_fail:
+.annotate 'line', 447
+    (rx1113_rep, rx1113_pos, $I10, $P10) = rx1113_cur."!mark_fail"(0)
+    lt rx1113_pos, -1, rx1113_done
+    eq rx1113_pos, -1, rx1113_fail
     jump $I10
-  rx1104_done:
-    rx1104_cur."!cursor_fail"()
-    rx1104_cur."!cursor_debug"("FAIL  ", "infix:sym<*>")
-    .return (rx1104_cur)
+  rx1113_done:
+    rx1113_cur."!cursor_fail"()
+    rx1113_cur."!cursor_debug"("FAIL  ", "infix:sym<*>")
+    .return (rx1113_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<*>"  :subid("275_1277356913.9538") :method
-.annotate 'line', 446
-    $P1106 = self."!PREFIX__!subrule"("O", "*")
-    new $P1107, "ResizablePMCArray"
-    push $P1107, $P1106
-    .return ($P1107)
+.sub "!PREFIX__infix:sym<*>"  :subid("277_1278500537.15927") :method
+.annotate 'line', 447
+    $P1115 = self."!PREFIX__!subrule"("O", "*")
+    new $P1116, "ResizablePMCArray"
+    push $P1116, $P1115
+    .return ($P1116)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym</>"  :subid("276_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1111_tgt
-    .local int rx1111_pos
-    .local int rx1111_off
-    .local int rx1111_eos
-    .local int rx1111_rep
-    .local pmc rx1111_cur
-    (rx1111_cur, rx1111_pos, rx1111_tgt) = self."!cursor_start"()
-    rx1111_cur."!cursor_debug"("START ", "infix:sym</>")
-    .lex unicode:"$\x{a2}", rx1111_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1111_eos, rx1111_tgt
-    gt rx1111_pos, rx1111_eos, rx1111_done
-    set rx1111_off, 0
-    lt rx1111_pos, 2, rx1111_start
-    sub rx1111_off, rx1111_pos, 1
-    substr rx1111_tgt, rx1111_tgt, rx1111_off
-  rx1111_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1115_done
-    goto rxscan1115_scan
-  rxscan1115_loop:
-    ($P10) = rx1111_cur."from"()
-    inc $P10
-    set rx1111_pos, $P10
-    ge rx1111_pos, rx1111_eos, rxscan1115_done
-  rxscan1115_scan:
-    set_addr $I10, rxscan1115_loop
-    rx1111_cur."!mark_push"(0, rx1111_pos, $I10)
-  rxscan1115_done:
-.annotate 'line', 507
+.sub "infix:sym</>"  :subid("278_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1120_tgt
+    .local int rx1120_pos
+    .local int rx1120_off
+    .local int rx1120_eos
+    .local int rx1120_rep
+    .local pmc rx1120_cur
+    (rx1120_cur, rx1120_pos, rx1120_tgt) = self."!cursor_start"()
+    rx1120_cur."!cursor_debug"("START ", "infix:sym</>")
+    .lex unicode:"$\x{a2}", rx1120_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1120_eos, rx1120_tgt
+    gt rx1120_pos, rx1120_eos, rx1120_done
+    set rx1120_off, 0
+    lt rx1120_pos, 2, rx1120_start
+    sub rx1120_off, rx1120_pos, 1
+    substr rx1120_tgt, rx1120_tgt, rx1120_off
+  rx1120_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1124_done
+    goto rxscan1124_scan
+  rxscan1124_loop:
+    ($P10) = rx1120_cur."from"()
+    inc $P10
+    set rx1120_pos, $P10
+    ge rx1120_pos, rx1120_eos, rxscan1124_done
+  rxscan1124_scan:
+    set_addr $I10, rxscan1124_loop
+    rx1120_cur."!mark_push"(0, rx1120_pos, $I10)
+  rxscan1124_done:
+.annotate 'line', 508
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1116_fail
-    rx1111_cur."!mark_push"(0, rx1111_pos, $I10)
+    set_addr $I10, rxcap_1125_fail
+    rx1120_cur."!mark_push"(0, rx1120_pos, $I10)
   # rx literal  "/"
-    add $I11, rx1111_pos, 1
-    gt $I11, rx1111_eos, rx1111_fail
-    sub $I11, rx1111_pos, rx1111_off
-    substr $S10, rx1111_tgt, $I11, 1
-    ne $S10, "/", rx1111_fail
-    add rx1111_pos, 1
-    set_addr $I10, rxcap_1116_fail
-    ($I12, $I11) = rx1111_cur."!mark_peek"($I10)
-    rx1111_cur."!cursor_pos"($I11)
-    ($P10) = rx1111_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1111_pos, "")
-    rx1111_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1120_pos, 1
+    gt $I11, rx1120_eos, rx1120_fail
+    sub $I11, rx1120_pos, rx1120_off
+    substr $S10, rx1120_tgt, $I11, 1
+    ne $S10, "/", rx1120_fail
+    add rx1120_pos, 1
+    set_addr $I10, rxcap_1125_fail
+    ($I12, $I11) = rx1120_cur."!mark_peek"($I10)
+    rx1120_cur."!cursor_pos"($I11)
+    ($P10) = rx1120_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1120_pos, "")
+    rx1120_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1116_done
-  rxcap_1116_fail:
-    goto rx1111_fail
-  rxcap_1116_done:
+    goto rxcap_1125_done
+  rxcap_1125_fail:
+    goto rx1120_fail
+  rxcap_1125_done:
   # rx subrule "O" subtype=capture negate=
-    rx1111_cur."!cursor_pos"(rx1111_pos)
-    $P10 = rx1111_cur."O"("%multiplicative, :pirop<div>")
-    unless $P10, rx1111_fail
-    rx1111_cur."!mark_push"(0, -1, 0, $P10)
+    rx1120_cur."!cursor_pos"(rx1120_pos)
+    $P10 = rx1120_cur."O"("%multiplicative, :pirop<div>")
+    unless $P10, rx1120_fail
+    rx1120_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1111_pos = $P10."pos"()
+    rx1120_pos = $P10."pos"()
   # rx pass
-    rx1111_cur."!cursor_pass"(rx1111_pos, "infix:sym</>")
-    rx1111_cur."!cursor_debug"("PASS  ", "infix:sym</>", " at pos=", rx1111_pos)
-    .return (rx1111_cur)
-  rx1111_fail:
-.annotate 'line', 446
-    (rx1111_rep, rx1111_pos, $I10, $P10) = rx1111_cur."!mark_fail"(0)
-    lt rx1111_pos, -1, rx1111_done
-    eq rx1111_pos, -1, rx1111_fail
+    rx1120_cur."!cursor_pass"(rx1120_pos, "infix:sym</>")
+    rx1120_cur."!cursor_debug"("PASS  ", "infix:sym</>", " at pos=", rx1120_pos)
+    .return (rx1120_cur)
+  rx1120_fail:
+.annotate 'line', 447
+    (rx1120_rep, rx1120_pos, $I10, $P10) = rx1120_cur."!mark_fail"(0)
+    lt rx1120_pos, -1, rx1120_done
+    eq rx1120_pos, -1, rx1120_fail
     jump $I10
-  rx1111_done:
-    rx1111_cur."!cursor_fail"()
-    rx1111_cur."!cursor_debug"("FAIL  ", "infix:sym</>")
-    .return (rx1111_cur)
+  rx1120_done:
+    rx1120_cur."!cursor_fail"()
+    rx1120_cur."!cursor_debug"("FAIL  ", "infix:sym</>")
+    .return (rx1120_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym</>"  :subid("277_1277356913.9538") :method
-.annotate 'line', 446
-    $P1113 = self."!PREFIX__!subrule"("O", "/")
-    new $P1114, "ResizablePMCArray"
-    push $P1114, $P1113
-    .return ($P1114)
+.sub "!PREFIX__infix:sym</>"  :subid("279_1278500537.15927") :method
+.annotate 'line', 447
+    $P1122 = self."!PREFIX__!subrule"("O", "/")
+    new $P1123, "ResizablePMCArray"
+    push $P1123, $P1122
+    .return ($P1123)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<%>"  :subid("278_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1118_tgt
-    .local int rx1118_pos
-    .local int rx1118_off
-    .local int rx1118_eos
-    .local int rx1118_rep
-    .local pmc rx1118_cur
-    (rx1118_cur, rx1118_pos, rx1118_tgt) = self."!cursor_start"()
-    rx1118_cur."!cursor_debug"("START ", "infix:sym<%>")
-    .lex unicode:"$\x{a2}", rx1118_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1118_eos, rx1118_tgt
-    gt rx1118_pos, rx1118_eos, rx1118_done
-    set rx1118_off, 0
-    lt rx1118_pos, 2, rx1118_start
-    sub rx1118_off, rx1118_pos, 1
-    substr rx1118_tgt, rx1118_tgt, rx1118_off
-  rx1118_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1122_done
-    goto rxscan1122_scan
-  rxscan1122_loop:
-    ($P10) = rx1118_cur."from"()
-    inc $P10
-    set rx1118_pos, $P10
-    ge rx1118_pos, rx1118_eos, rxscan1122_done
-  rxscan1122_scan:
-    set_addr $I10, rxscan1122_loop
-    rx1118_cur."!mark_push"(0, rx1118_pos, $I10)
-  rxscan1122_done:
-.annotate 'line', 508
+.sub "infix:sym<%>"  :subid("280_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1127_tgt
+    .local int rx1127_pos
+    .local int rx1127_off
+    .local int rx1127_eos
+    .local int rx1127_rep
+    .local pmc rx1127_cur
+    (rx1127_cur, rx1127_pos, rx1127_tgt) = self."!cursor_start"()
+    rx1127_cur."!cursor_debug"("START ", "infix:sym<%>")
+    .lex unicode:"$\x{a2}", rx1127_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1127_eos, rx1127_tgt
+    gt rx1127_pos, rx1127_eos, rx1127_done
+    set rx1127_off, 0
+    lt rx1127_pos, 2, rx1127_start
+    sub rx1127_off, rx1127_pos, 1
+    substr rx1127_tgt, rx1127_tgt, rx1127_off
+  rx1127_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1131_done
+    goto rxscan1131_scan
+  rxscan1131_loop:
+    ($P10) = rx1127_cur."from"()
+    inc $P10
+    set rx1127_pos, $P10
+    ge rx1127_pos, rx1127_eos, rxscan1131_done
+  rxscan1131_scan:
+    set_addr $I10, rxscan1131_loop
+    rx1127_cur."!mark_push"(0, rx1127_pos, $I10)
+  rxscan1131_done:
+.annotate 'line', 509
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1123_fail
-    rx1118_cur."!mark_push"(0, rx1118_pos, $I10)
+    set_addr $I10, rxcap_1132_fail
+    rx1127_cur."!mark_push"(0, rx1127_pos, $I10)
   # rx literal  "%"
-    add $I11, rx1118_pos, 1
-    gt $I11, rx1118_eos, rx1118_fail
-    sub $I11, rx1118_pos, rx1118_off
-    substr $S10, rx1118_tgt, $I11, 1
-    ne $S10, "%", rx1118_fail
-    add rx1118_pos, 1
-    set_addr $I10, rxcap_1123_fail
-    ($I12, $I11) = rx1118_cur."!mark_peek"($I10)
-    rx1118_cur."!cursor_pos"($I11)
-    ($P10) = rx1118_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1118_pos, "")
-    rx1118_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1127_pos, 1
+    gt $I11, rx1127_eos, rx1127_fail
+    sub $I11, rx1127_pos, rx1127_off
+    substr $S10, rx1127_tgt, $I11, 1
+    ne $S10, "%", rx1127_fail
+    add rx1127_pos, 1
+    set_addr $I10, rxcap_1132_fail
+    ($I12, $I11) = rx1127_cur."!mark_peek"($I10)
+    rx1127_cur."!cursor_pos"($I11)
+    ($P10) = rx1127_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1127_pos, "")
+    rx1127_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1123_done
-  rxcap_1123_fail:
-    goto rx1118_fail
-  rxcap_1123_done:
+    goto rxcap_1132_done
+  rxcap_1132_fail:
+    goto rx1127_fail
+  rxcap_1132_done:
   # rx subrule "O" subtype=capture negate=
-    rx1118_cur."!cursor_pos"(rx1118_pos)
-    $P10 = rx1118_cur."O"("%multiplicative, :pirop<mod>")
-    unless $P10, rx1118_fail
-    rx1118_cur."!mark_push"(0, -1, 0, $P10)
+    rx1127_cur."!cursor_pos"(rx1127_pos)
+    $P10 = rx1127_cur."O"("%multiplicative, :pirop<mod>")
+    unless $P10, rx1127_fail
+    rx1127_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1118_pos = $P10."pos"()
+    rx1127_pos = $P10."pos"()
   # rx pass
-    rx1118_cur."!cursor_pass"(rx1118_pos, "infix:sym<%>")
-    rx1118_cur."!cursor_debug"("PASS  ", "infix:sym<%>", " at pos=", rx1118_pos)
-    .return (rx1118_cur)
-  rx1118_fail:
-.annotate 'line', 446
-    (rx1118_rep, rx1118_pos, $I10, $P10) = rx1118_cur."!mark_fail"(0)
-    lt rx1118_pos, -1, rx1118_done
-    eq rx1118_pos, -1, rx1118_fail
+    rx1127_cur."!cursor_pass"(rx1127_pos, "infix:sym<%>")
+    rx1127_cur."!cursor_debug"("PASS  ", "infix:sym<%>", " at pos=", rx1127_pos)
+    .return (rx1127_cur)
+  rx1127_fail:
+.annotate 'line', 447
+    (rx1127_rep, rx1127_pos, $I10, $P10) = rx1127_cur."!mark_fail"(0)
+    lt rx1127_pos, -1, rx1127_done
+    eq rx1127_pos, -1, rx1127_fail
     jump $I10
-  rx1118_done:
-    rx1118_cur."!cursor_fail"()
-    rx1118_cur."!cursor_debug"("FAIL  ", "infix:sym<%>")
-    .return (rx1118_cur)
+  rx1127_done:
+    rx1127_cur."!cursor_fail"()
+    rx1127_cur."!cursor_debug"("FAIL  ", "infix:sym<%>")
+    .return (rx1127_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<%>"  :subid("279_1277356913.9538") :method
-.annotate 'line', 446
-    $P1120 = self."!PREFIX__!subrule"("O", "%")
-    new $P1121, "ResizablePMCArray"
-    push $P1121, $P1120
-    .return ($P1121)
+.sub "!PREFIX__infix:sym<%>"  :subid("281_1278500537.15927") :method
+.annotate 'line', 447
+    $P1129 = self."!PREFIX__!subrule"("O", "%")
+    new $P1130, "ResizablePMCArray"
+    push $P1130, $P1129
+    .return ($P1130)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<+>"  :subid("280_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1125_tgt
-    .local int rx1125_pos
-    .local int rx1125_off
-    .local int rx1125_eos
-    .local int rx1125_rep
-    .local pmc rx1125_cur
-    (rx1125_cur, rx1125_pos, rx1125_tgt) = self."!cursor_start"()
-    rx1125_cur."!cursor_debug"("START ", "infix:sym<+>")
-    .lex unicode:"$\x{a2}", rx1125_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1125_eos, rx1125_tgt
-    gt rx1125_pos, rx1125_eos, rx1125_done
-    set rx1125_off, 0
-    lt rx1125_pos, 2, rx1125_start
-    sub rx1125_off, rx1125_pos, 1
-    substr rx1125_tgt, rx1125_tgt, rx1125_off
-  rx1125_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1129_done
-    goto rxscan1129_scan
-  rxscan1129_loop:
-    ($P10) = rx1125_cur."from"()
-    inc $P10
-    set rx1125_pos, $P10
-    ge rx1125_pos, rx1125_eos, rxscan1129_done
-  rxscan1129_scan:
-    set_addr $I10, rxscan1129_loop
-    rx1125_cur."!mark_push"(0, rx1125_pos, $I10)
-  rxscan1129_done:
+.sub "infix:sym<+&>"  :subid("282_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1134_tgt
+    .local int rx1134_pos
+    .local int rx1134_off
+    .local int rx1134_eos
+    .local int rx1134_rep
+    .local pmc rx1134_cur
+    (rx1134_cur, rx1134_pos, rx1134_tgt) = self."!cursor_start"()
+    rx1134_cur."!cursor_debug"("START ", "infix:sym<+&>")
+    .lex unicode:"$\x{a2}", rx1134_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1134_eos, rx1134_tgt
+    gt rx1134_pos, rx1134_eos, rx1134_done
+    set rx1134_off, 0
+    lt rx1134_pos, 2, rx1134_start
+    sub rx1134_off, rx1134_pos, 1
+    substr rx1134_tgt, rx1134_tgt, rx1134_off
+  rx1134_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1138_done
+    goto rxscan1138_scan
+  rxscan1138_loop:
+    ($P10) = rx1134_cur."from"()
+    inc $P10
+    set rx1134_pos, $P10
+    ge rx1134_pos, rx1134_eos, rxscan1138_done
+  rxscan1138_scan:
+    set_addr $I10, rxscan1138_loop
+    rx1134_cur."!mark_push"(0, rx1134_pos, $I10)
+  rxscan1138_done:
 .annotate 'line', 510
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1130_fail
-    rx1125_cur."!mark_push"(0, rx1125_pos, $I10)
-  # rx literal  "+"
-    add $I11, rx1125_pos, 1
-    gt $I11, rx1125_eos, rx1125_fail
-    sub $I11, rx1125_pos, rx1125_off
-    substr $S10, rx1125_tgt, $I11, 1
-    ne $S10, "+", rx1125_fail
-    add rx1125_pos, 1
-    set_addr $I10, rxcap_1130_fail
-    ($I12, $I11) = rx1125_cur."!mark_peek"($I10)
-    rx1125_cur."!cursor_pos"($I11)
-    ($P10) = rx1125_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1125_pos, "")
-    rx1125_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1139_fail
+    rx1134_cur."!mark_push"(0, rx1134_pos, $I10)
+  # rx literal  "+&"
+    add $I11, rx1134_pos, 2
+    gt $I11, rx1134_eos, rx1134_fail
+    sub $I11, rx1134_pos, rx1134_off
+    substr $S10, rx1134_tgt, $I11, 2
+    ne $S10, "+&", rx1134_fail
+    add rx1134_pos, 2
+    set_addr $I10, rxcap_1139_fail
+    ($I12, $I11) = rx1134_cur."!mark_peek"($I10)
+    rx1134_cur."!cursor_pos"($I11)
+    ($P10) = rx1134_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1134_pos, "")
+    rx1134_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1130_done
-  rxcap_1130_fail:
-    goto rx1125_fail
-  rxcap_1130_done:
+    goto rxcap_1139_done
+  rxcap_1139_fail:
+    goto rx1134_fail
+  rxcap_1139_done:
   # rx subrule "O" subtype=capture negate=
-    rx1125_cur."!cursor_pos"(rx1125_pos)
-    $P10 = rx1125_cur."O"("%additive, :pirop<add>")
-    unless $P10, rx1125_fail
-    rx1125_cur."!mark_push"(0, -1, 0, $P10)
+    rx1134_cur."!cursor_pos"(rx1134_pos)
+    $P10 = rx1134_cur."O"("%multiplicative, :pirop<band III>")
+    unless $P10, rx1134_fail
+    rx1134_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1125_pos = $P10."pos"()
+    rx1134_pos = $P10."pos"()
   # rx pass
-    rx1125_cur."!cursor_pass"(rx1125_pos, "infix:sym<+>")
-    rx1125_cur."!cursor_debug"("PASS  ", "infix:sym<+>", " at pos=", rx1125_pos)
-    .return (rx1125_cur)
-  rx1125_fail:
-.annotate 'line', 446
-    (rx1125_rep, rx1125_pos, $I10, $P10) = rx1125_cur."!mark_fail"(0)
-    lt rx1125_pos, -1, rx1125_done
-    eq rx1125_pos, -1, rx1125_fail
+    rx1134_cur."!cursor_pass"(rx1134_pos, "infix:sym<+&>")
+    rx1134_cur."!cursor_debug"("PASS  ", "infix:sym<+&>", " at pos=", rx1134_pos)
+    .return (rx1134_cur)
+  rx1134_fail:
+.annotate 'line', 447
+    (rx1134_rep, rx1134_pos, $I10, $P10) = rx1134_cur."!mark_fail"(0)
+    lt rx1134_pos, -1, rx1134_done
+    eq rx1134_pos, -1, rx1134_fail
     jump $I10
-  rx1125_done:
-    rx1125_cur."!cursor_fail"()
-    rx1125_cur."!cursor_debug"("FAIL  ", "infix:sym<+>")
-    .return (rx1125_cur)
+  rx1134_done:
+    rx1134_cur."!cursor_fail"()
+    rx1134_cur."!cursor_debug"("FAIL  ", "infix:sym<+&>")
+    .return (rx1134_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+>"  :subid("281_1277356913.9538") :method
-.annotate 'line', 446
-    $P1127 = self."!PREFIX__!subrule"("O", "+")
-    new $P1128, "ResizablePMCArray"
-    push $P1128, $P1127
-    .return ($P1128)
+.sub "!PREFIX__infix:sym<+&>"  :subid("283_1278500537.15927") :method
+.annotate 'line', 447
+    $P1136 = self."!PREFIX__!subrule"("O", "+&")
+    new $P1137, "ResizablePMCArray"
+    push $P1137, $P1136
+    .return ($P1137)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<->"  :subid("282_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1132_tgt
-    .local int rx1132_pos
-    .local int rx1132_off
-    .local int rx1132_eos
-    .local int rx1132_rep
-    .local pmc rx1132_cur
-    (rx1132_cur, rx1132_pos, rx1132_tgt) = self."!cursor_start"()
-    rx1132_cur."!cursor_debug"("START ", "infix:sym<->")
-    .lex unicode:"$\x{a2}", rx1132_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1132_eos, rx1132_tgt
-    gt rx1132_pos, rx1132_eos, rx1132_done
-    set rx1132_off, 0
-    lt rx1132_pos, 2, rx1132_start
-    sub rx1132_off, rx1132_pos, 1
-    substr rx1132_tgt, rx1132_tgt, rx1132_off
-  rx1132_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1136_done
-    goto rxscan1136_scan
-  rxscan1136_loop:
-    ($P10) = rx1132_cur."from"()
-    inc $P10
-    set rx1132_pos, $P10
-    ge rx1132_pos, rx1132_eos, rxscan1136_done
-  rxscan1136_scan:
-    set_addr $I10, rxscan1136_loop
-    rx1132_cur."!mark_push"(0, rx1132_pos, $I10)
-  rxscan1136_done:
-.annotate 'line', 511
+.sub "infix:sym<+>"  :subid("284_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1141_tgt
+    .local int rx1141_pos
+    .local int rx1141_off
+    .local int rx1141_eos
+    .local int rx1141_rep
+    .local pmc rx1141_cur
+    (rx1141_cur, rx1141_pos, rx1141_tgt) = self."!cursor_start"()
+    rx1141_cur."!cursor_debug"("START ", "infix:sym<+>")
+    .lex unicode:"$\x{a2}", rx1141_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1141_eos, rx1141_tgt
+    gt rx1141_pos, rx1141_eos, rx1141_done
+    set rx1141_off, 0
+    lt rx1141_pos, 2, rx1141_start
+    sub rx1141_off, rx1141_pos, 1
+    substr rx1141_tgt, rx1141_tgt, rx1141_off
+  rx1141_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1145_done
+    goto rxscan1145_scan
+  rxscan1145_loop:
+    ($P10) = rx1141_cur."from"()
+    inc $P10
+    set rx1141_pos, $P10
+    ge rx1141_pos, rx1141_eos, rxscan1145_done
+  rxscan1145_scan:
+    set_addr $I10, rxscan1145_loop
+    rx1141_cur."!mark_push"(0, rx1141_pos, $I10)
+  rxscan1145_done:
+.annotate 'line', 512
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1137_fail
-    rx1132_cur."!mark_push"(0, rx1132_pos, $I10)
-  # rx literal  "-"
-    add $I11, rx1132_pos, 1
-    gt $I11, rx1132_eos, rx1132_fail
-    sub $I11, rx1132_pos, rx1132_off
-    substr $S10, rx1132_tgt, $I11, 1
-    ne $S10, "-", rx1132_fail
-    add rx1132_pos, 1
-    set_addr $I10, rxcap_1137_fail
-    ($I12, $I11) = rx1132_cur."!mark_peek"($I10)
-    rx1132_cur."!cursor_pos"($I11)
-    ($P10) = rx1132_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1132_pos, "")
-    rx1132_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1146_fail
+    rx1141_cur."!mark_push"(0, rx1141_pos, $I10)
+  # rx literal  "+"
+    add $I11, rx1141_pos, 1
+    gt $I11, rx1141_eos, rx1141_fail
+    sub $I11, rx1141_pos, rx1141_off
+    substr $S10, rx1141_tgt, $I11, 1
+    ne $S10, "+", rx1141_fail
+    add rx1141_pos, 1
+    set_addr $I10, rxcap_1146_fail
+    ($I12, $I11) = rx1141_cur."!mark_peek"($I10)
+    rx1141_cur."!cursor_pos"($I11)
+    ($P10) = rx1141_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1141_pos, "")
+    rx1141_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1137_done
-  rxcap_1137_fail:
-    goto rx1132_fail
-  rxcap_1137_done:
+    goto rxcap_1146_done
+  rxcap_1146_fail:
+    goto rx1141_fail
+  rxcap_1146_done:
   # rx subrule "O" subtype=capture negate=
-    rx1132_cur."!cursor_pos"(rx1132_pos)
-    $P10 = rx1132_cur."O"("%additive, :pirop<sub>")
-    unless $P10, rx1132_fail
-    rx1132_cur."!mark_push"(0, -1, 0, $P10)
+    rx1141_cur."!cursor_pos"(rx1141_pos)
+    $P10 = rx1141_cur."O"("%additive, :pirop<add>")
+    unless $P10, rx1141_fail
+    rx1141_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1132_pos = $P10."pos"()
+    rx1141_pos = $P10."pos"()
   # rx pass
-    rx1132_cur."!cursor_pass"(rx1132_pos, "infix:sym<->")
-    rx1132_cur."!cursor_debug"("PASS  ", "infix:sym<->", " at pos=", rx1132_pos)
-    .return (rx1132_cur)
-  rx1132_fail:
-.annotate 'line', 446
-    (rx1132_rep, rx1132_pos, $I10, $P10) = rx1132_cur."!mark_fail"(0)
-    lt rx1132_pos, -1, rx1132_done
-    eq rx1132_pos, -1, rx1132_fail
+    rx1141_cur."!cursor_pass"(rx1141_pos, "infix:sym<+>")
+    rx1141_cur."!cursor_debug"("PASS  ", "infix:sym<+>", " at pos=", rx1141_pos)
+    .return (rx1141_cur)
+  rx1141_fail:
+.annotate 'line', 447
+    (rx1141_rep, rx1141_pos, $I10, $P10) = rx1141_cur."!mark_fail"(0)
+    lt rx1141_pos, -1, rx1141_done
+    eq rx1141_pos, -1, rx1141_fail
     jump $I10
-  rx1132_done:
-    rx1132_cur."!cursor_fail"()
-    rx1132_cur."!cursor_debug"("FAIL  ", "infix:sym<->")
-    .return (rx1132_cur)
+  rx1141_done:
+    rx1141_cur."!cursor_fail"()
+    rx1141_cur."!cursor_debug"("FAIL  ", "infix:sym<+>")
+    .return (rx1141_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<->"  :subid("283_1277356913.9538") :method
-.annotate 'line', 446
-    $P1134 = self."!PREFIX__!subrule"("O", "-")
-    new $P1135, "ResizablePMCArray"
-    push $P1135, $P1134
-    .return ($P1135)
+.sub "!PREFIX__infix:sym<+>"  :subid("285_1278500537.15927") :method
+.annotate 'line', 447
+    $P1143 = self."!PREFIX__!subrule"("O", "+")
+    new $P1144, "ResizablePMCArray"
+    push $P1144, $P1143
+    .return ($P1144)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~>"  :subid("284_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1139_tgt
-    .local int rx1139_pos
-    .local int rx1139_off
-    .local int rx1139_eos
-    .local int rx1139_rep
-    .local pmc rx1139_cur
-    (rx1139_cur, rx1139_pos, rx1139_tgt) = self."!cursor_start"()
-    rx1139_cur."!cursor_debug"("START ", "infix:sym<~>")
-    .lex unicode:"$\x{a2}", rx1139_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1139_eos, rx1139_tgt
-    gt rx1139_pos, rx1139_eos, rx1139_done
-    set rx1139_off, 0
-    lt rx1139_pos, 2, rx1139_start
-    sub rx1139_off, rx1139_pos, 1
-    substr rx1139_tgt, rx1139_tgt, rx1139_off
-  rx1139_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1143_done
-    goto rxscan1143_scan
-  rxscan1143_loop:
-    ($P10) = rx1139_cur."from"()
-    inc $P10
-    set rx1139_pos, $P10
-    ge rx1139_pos, rx1139_eos, rxscan1143_done
-  rxscan1143_scan:
-    set_addr $I10, rxscan1143_loop
-    rx1139_cur."!mark_push"(0, rx1139_pos, $I10)
-  rxscan1143_done:
+.sub "infix:sym<->"  :subid("286_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1148_tgt
+    .local int rx1148_pos
+    .local int rx1148_off
+    .local int rx1148_eos
+    .local int rx1148_rep
+    .local pmc rx1148_cur
+    (rx1148_cur, rx1148_pos, rx1148_tgt) = self."!cursor_start"()
+    rx1148_cur."!cursor_debug"("START ", "infix:sym<->")
+    .lex unicode:"$\x{a2}", rx1148_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1148_eos, rx1148_tgt
+    gt rx1148_pos, rx1148_eos, rx1148_done
+    set rx1148_off, 0
+    lt rx1148_pos, 2, rx1148_start
+    sub rx1148_off, rx1148_pos, 1
+    substr rx1148_tgt, rx1148_tgt, rx1148_off
+  rx1148_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1152_done
+    goto rxscan1152_scan
+  rxscan1152_loop:
+    ($P10) = rx1148_cur."from"()
+    inc $P10
+    set rx1148_pos, $P10
+    ge rx1148_pos, rx1148_eos, rxscan1152_done
+  rxscan1152_scan:
+    set_addr $I10, rxscan1152_loop
+    rx1148_cur."!mark_push"(0, rx1148_pos, $I10)
+  rxscan1152_done:
 .annotate 'line', 513
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1144_fail
-    rx1139_cur."!mark_push"(0, rx1139_pos, $I10)
-  # rx literal  "~"
-    add $I11, rx1139_pos, 1
-    gt $I11, rx1139_eos, rx1139_fail
-    sub $I11, rx1139_pos, rx1139_off
-    substr $S10, rx1139_tgt, $I11, 1
-    ne $S10, "~", rx1139_fail
-    add rx1139_pos, 1
-    set_addr $I10, rxcap_1144_fail
-    ($I12, $I11) = rx1139_cur."!mark_peek"($I10)
-    rx1139_cur."!cursor_pos"($I11)
-    ($P10) = rx1139_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1139_pos, "")
-    rx1139_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1153_fail
+    rx1148_cur."!mark_push"(0, rx1148_pos, $I10)
+  # rx literal  "-"
+    add $I11, rx1148_pos, 1
+    gt $I11, rx1148_eos, rx1148_fail
+    sub $I11, rx1148_pos, rx1148_off
+    substr $S10, rx1148_tgt, $I11, 1
+    ne $S10, "-", rx1148_fail
+    add rx1148_pos, 1
+    set_addr $I10, rxcap_1153_fail
+    ($I12, $I11) = rx1148_cur."!mark_peek"($I10)
+    rx1148_cur."!cursor_pos"($I11)
+    ($P10) = rx1148_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1148_pos, "")
+    rx1148_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1144_done
-  rxcap_1144_fail:
-    goto rx1139_fail
-  rxcap_1144_done:
+    goto rxcap_1153_done
+  rxcap_1153_fail:
+    goto rx1148_fail
+  rxcap_1153_done:
   # rx subrule "O" subtype=capture negate=
-    rx1139_cur."!cursor_pos"(rx1139_pos)
-    $P10 = rx1139_cur."O"("%concatenation , :pirop<concat>")
-    unless $P10, rx1139_fail
-    rx1139_cur."!mark_push"(0, -1, 0, $P10)
+    rx1148_cur."!cursor_pos"(rx1148_pos)
+    $P10 = rx1148_cur."O"("%additive, :pirop<sub>")
+    unless $P10, rx1148_fail
+    rx1148_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1139_pos = $P10."pos"()
+    rx1148_pos = $P10."pos"()
   # rx pass
-    rx1139_cur."!cursor_pass"(rx1139_pos, "infix:sym<~>")
-    rx1139_cur."!cursor_debug"("PASS  ", "infix:sym<~>", " at pos=", rx1139_pos)
-    .return (rx1139_cur)
-  rx1139_fail:
-.annotate 'line', 446
-    (rx1139_rep, rx1139_pos, $I10, $P10) = rx1139_cur."!mark_fail"(0)
-    lt rx1139_pos, -1, rx1139_done
-    eq rx1139_pos, -1, rx1139_fail
+    rx1148_cur."!cursor_pass"(rx1148_pos, "infix:sym<->")
+    rx1148_cur."!cursor_debug"("PASS  ", "infix:sym<->", " at pos=", rx1148_pos)
+    .return (rx1148_cur)
+  rx1148_fail:
+.annotate 'line', 447
+    (rx1148_rep, rx1148_pos, $I10, $P10) = rx1148_cur."!mark_fail"(0)
+    lt rx1148_pos, -1, rx1148_done
+    eq rx1148_pos, -1, rx1148_fail
     jump $I10
-  rx1139_done:
-    rx1139_cur."!cursor_fail"()
-    rx1139_cur."!cursor_debug"("FAIL  ", "infix:sym<~>")
-    .return (rx1139_cur)
+  rx1148_done:
+    rx1148_cur."!cursor_fail"()
+    rx1148_cur."!cursor_debug"("FAIL  ", "infix:sym<->")
+    .return (rx1148_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~>"  :subid("285_1277356913.9538") :method
-.annotate 'line', 446
-    $P1141 = self."!PREFIX__!subrule"("O", "~")
-    new $P1142, "ResizablePMCArray"
-    push $P1142, $P1141
-    .return ($P1142)
+.sub "!PREFIX__infix:sym<->"  :subid("287_1278500537.15927") :method
+.annotate 'line', 447
+    $P1150 = self."!PREFIX__!subrule"("O", "-")
+    new $P1151, "ResizablePMCArray"
+    push $P1151, $P1150
+    .return ($P1151)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<==>"  :subid("286_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1146_tgt
-    .local int rx1146_pos
-    .local int rx1146_off
-    .local int rx1146_eos
-    .local int rx1146_rep
-    .local pmc rx1146_cur
-    (rx1146_cur, rx1146_pos, rx1146_tgt) = self."!cursor_start"()
-    rx1146_cur."!cursor_debug"("START ", "infix:sym<==>")
-    .lex unicode:"$\x{a2}", rx1146_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1146_eos, rx1146_tgt
-    gt rx1146_pos, rx1146_eos, rx1146_done
-    set rx1146_off, 0
-    lt rx1146_pos, 2, rx1146_start
-    sub rx1146_off, rx1146_pos, 1
-    substr rx1146_tgt, rx1146_tgt, rx1146_off
-  rx1146_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1150_done
-    goto rxscan1150_scan
-  rxscan1150_loop:
-    ($P10) = rx1146_cur."from"()
-    inc $P10
-    set rx1146_pos, $P10
-    ge rx1146_pos, rx1146_eos, rxscan1150_done
-  rxscan1150_scan:
-    set_addr $I10, rxscan1150_loop
-    rx1146_cur."!mark_push"(0, rx1146_pos, $I10)
-  rxscan1150_done:
-.annotate 'line', 515
+.sub "infix:sym<+|>"  :subid("288_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1155_tgt
+    .local int rx1155_pos
+    .local int rx1155_off
+    .local int rx1155_eos
+    .local int rx1155_rep
+    .local pmc rx1155_cur
+    (rx1155_cur, rx1155_pos, rx1155_tgt) = self."!cursor_start"()
+    rx1155_cur."!cursor_debug"("START ", "infix:sym<+|>")
+    .lex unicode:"$\x{a2}", rx1155_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1155_eos, rx1155_tgt
+    gt rx1155_pos, rx1155_eos, rx1155_done
+    set rx1155_off, 0
+    lt rx1155_pos, 2, rx1155_start
+    sub rx1155_off, rx1155_pos, 1
+    substr rx1155_tgt, rx1155_tgt, rx1155_off
+  rx1155_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1159_done
+    goto rxscan1159_scan
+  rxscan1159_loop:
+    ($P10) = rx1155_cur."from"()
+    inc $P10
+    set rx1155_pos, $P10
+    ge rx1155_pos, rx1155_eos, rxscan1159_done
+  rxscan1159_scan:
+    set_addr $I10, rxscan1159_loop
+    rx1155_cur."!mark_push"(0, rx1155_pos, $I10)
+  rxscan1159_done:
+.annotate 'line', 514
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1151_fail
-    rx1146_cur."!mark_push"(0, rx1146_pos, $I10)
-  # rx literal  "=="
-    add $I11, rx1146_pos, 2
-    gt $I11, rx1146_eos, rx1146_fail
-    sub $I11, rx1146_pos, rx1146_off
-    substr $S10, rx1146_tgt, $I11, 2
-    ne $S10, "==", rx1146_fail
-    add rx1146_pos, 2
-    set_addr $I10, rxcap_1151_fail
-    ($I12, $I11) = rx1146_cur."!mark_peek"($I10)
-    rx1146_cur."!cursor_pos"($I11)
-    ($P10) = rx1146_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1146_pos, "")
-    rx1146_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1160_fail
+    rx1155_cur."!mark_push"(0, rx1155_pos, $I10)
+  # rx literal  "+|"
+    add $I11, rx1155_pos, 2
+    gt $I11, rx1155_eos, rx1155_fail
+    sub $I11, rx1155_pos, rx1155_off
+    substr $S10, rx1155_tgt, $I11, 2
+    ne $S10, "+|", rx1155_fail
+    add rx1155_pos, 2
+    set_addr $I10, rxcap_1160_fail
+    ($I12, $I11) = rx1155_cur."!mark_peek"($I10)
+    rx1155_cur."!cursor_pos"($I11)
+    ($P10) = rx1155_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1155_pos, "")
+    rx1155_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1151_done
-  rxcap_1151_fail:
-    goto rx1146_fail
-  rxcap_1151_done:
+    goto rxcap_1160_done
+  rxcap_1160_fail:
+    goto rx1155_fail
+  rxcap_1160_done:
   # rx subrule "O" subtype=capture negate=
-    rx1146_cur."!cursor_pos"(rx1146_pos)
-    $P10 = rx1146_cur."O"("%relational, :pirop<iseq INn>")
-    unless $P10, rx1146_fail
-    rx1146_cur."!mark_push"(0, -1, 0, $P10)
+    rx1155_cur."!cursor_pos"(rx1155_pos)
+    $P10 = rx1155_cur."O"("%additive, :pirop<bor III>")
+    unless $P10, rx1155_fail
+    rx1155_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1146_pos = $P10."pos"()
+    rx1155_pos = $P10."pos"()
   # rx pass
-    rx1146_cur."!cursor_pass"(rx1146_pos, "infix:sym<==>")
-    rx1146_cur."!cursor_debug"("PASS  ", "infix:sym<==>", " at pos=", rx1146_pos)
-    .return (rx1146_cur)
-  rx1146_fail:
-.annotate 'line', 446
-    (rx1146_rep, rx1146_pos, $I10, $P10) = rx1146_cur."!mark_fail"(0)
-    lt rx1146_pos, -1, rx1146_done
-    eq rx1146_pos, -1, rx1146_fail
+    rx1155_cur."!cursor_pass"(rx1155_pos, "infix:sym<+|>")
+    rx1155_cur."!cursor_debug"("PASS  ", "infix:sym<+|>", " at pos=", rx1155_pos)
+    .return (rx1155_cur)
+  rx1155_fail:
+.annotate 'line', 447
+    (rx1155_rep, rx1155_pos, $I10, $P10) = rx1155_cur."!mark_fail"(0)
+    lt rx1155_pos, -1, rx1155_done
+    eq rx1155_pos, -1, rx1155_fail
     jump $I10
-  rx1146_done:
-    rx1146_cur."!cursor_fail"()
-    rx1146_cur."!cursor_debug"("FAIL  ", "infix:sym<==>")
-    .return (rx1146_cur)
+  rx1155_done:
+    rx1155_cur."!cursor_fail"()
+    rx1155_cur."!cursor_debug"("FAIL  ", "infix:sym<+|>")
+    .return (rx1155_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<==>"  :subid("287_1277356913.9538") :method
-.annotate 'line', 446
-    $P1148 = self."!PREFIX__!subrule"("O", "==")
-    new $P1149, "ResizablePMCArray"
-    push $P1149, $P1148
-    .return ($P1149)
+.sub "!PREFIX__infix:sym<+|>"  :subid("289_1278500537.15927") :method
+.annotate 'line', 447
+    $P1157 = self."!PREFIX__!subrule"("O", "+|")
+    new $P1158, "ResizablePMCArray"
+    push $P1158, $P1157
+    .return ($P1158)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<!=>"  :subid("288_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1153_tgt
-    .local int rx1153_pos
-    .local int rx1153_off
-    .local int rx1153_eos
-    .local int rx1153_rep
-    .local pmc rx1153_cur
-    (rx1153_cur, rx1153_pos, rx1153_tgt) = self."!cursor_start"()
-    rx1153_cur."!cursor_debug"("START ", "infix:sym<!=>")
-    .lex unicode:"$\x{a2}", rx1153_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1153_eos, rx1153_tgt
-    gt rx1153_pos, rx1153_eos, rx1153_done
-    set rx1153_off, 0
-    lt rx1153_pos, 2, rx1153_start
-    sub rx1153_off, rx1153_pos, 1
-    substr rx1153_tgt, rx1153_tgt, rx1153_off
-  rx1153_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1157_done
-    goto rxscan1157_scan
-  rxscan1157_loop:
-    ($P10) = rx1153_cur."from"()
-    inc $P10
-    set rx1153_pos, $P10
-    ge rx1153_pos, rx1153_eos, rxscan1157_done
-  rxscan1157_scan:
-    set_addr $I10, rxscan1157_loop
-    rx1153_cur."!mark_push"(0, rx1153_pos, $I10)
-  rxscan1157_done:
-.annotate 'line', 516
+.sub "infix:sym<+^>"  :subid("290_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1162_tgt
+    .local int rx1162_pos
+    .local int rx1162_off
+    .local int rx1162_eos
+    .local int rx1162_rep
+    .local pmc rx1162_cur
+    (rx1162_cur, rx1162_pos, rx1162_tgt) = self."!cursor_start"()
+    rx1162_cur."!cursor_debug"("START ", "infix:sym<+^>")
+    .lex unicode:"$\x{a2}", rx1162_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1162_eos, rx1162_tgt
+    gt rx1162_pos, rx1162_eos, rx1162_done
+    set rx1162_off, 0
+    lt rx1162_pos, 2, rx1162_start
+    sub rx1162_off, rx1162_pos, 1
+    substr rx1162_tgt, rx1162_tgt, rx1162_off
+  rx1162_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1166_done
+    goto rxscan1166_scan
+  rxscan1166_loop:
+    ($P10) = rx1162_cur."from"()
+    inc $P10
+    set rx1162_pos, $P10
+    ge rx1162_pos, rx1162_eos, rxscan1166_done
+  rxscan1166_scan:
+    set_addr $I10, rxscan1166_loop
+    rx1162_cur."!mark_push"(0, rx1162_pos, $I10)
+  rxscan1166_done:
+.annotate 'line', 515
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1158_fail
-    rx1153_cur."!mark_push"(0, rx1153_pos, $I10)
-  # rx literal  "!="
-    add $I11, rx1153_pos, 2
-    gt $I11, rx1153_eos, rx1153_fail
-    sub $I11, rx1153_pos, rx1153_off
-    substr $S10, rx1153_tgt, $I11, 2
-    ne $S10, "!=", rx1153_fail
-    add rx1153_pos, 2
-    set_addr $I10, rxcap_1158_fail
-    ($I12, $I11) = rx1153_cur."!mark_peek"($I10)
-    rx1153_cur."!cursor_pos"($I11)
-    ($P10) = rx1153_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1153_pos, "")
-    rx1153_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1167_fail
+    rx1162_cur."!mark_push"(0, rx1162_pos, $I10)
+  # rx literal  "+^"
+    add $I11, rx1162_pos, 2
+    gt $I11, rx1162_eos, rx1162_fail
+    sub $I11, rx1162_pos, rx1162_off
+    substr $S10, rx1162_tgt, $I11, 2
+    ne $S10, "+^", rx1162_fail
+    add rx1162_pos, 2
+    set_addr $I10, rxcap_1167_fail
+    ($I12, $I11) = rx1162_cur."!mark_peek"($I10)
+    rx1162_cur."!cursor_pos"($I11)
+    ($P10) = rx1162_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1162_pos, "")
+    rx1162_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1158_done
-  rxcap_1158_fail:
-    goto rx1153_fail
-  rxcap_1158_done:
+    goto rxcap_1167_done
+  rxcap_1167_fail:
+    goto rx1162_fail
+  rxcap_1167_done:
   # rx subrule "O" subtype=capture negate=
-    rx1153_cur."!cursor_pos"(rx1153_pos)
-    $P10 = rx1153_cur."O"("%relational, :pirop<isne INn>")
-    unless $P10, rx1153_fail
-    rx1153_cur."!mark_push"(0, -1, 0, $P10)
+    rx1162_cur."!cursor_pos"(rx1162_pos)
+    $P10 = rx1162_cur."O"("%additive, :pirop<bxor III>")
+    unless $P10, rx1162_fail
+    rx1162_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1153_pos = $P10."pos"()
+    rx1162_pos = $P10."pos"()
   # rx pass
-    rx1153_cur."!cursor_pass"(rx1153_pos, "infix:sym<!=>")
-    rx1153_cur."!cursor_debug"("PASS  ", "infix:sym<!=>", " at pos=", rx1153_pos)
-    .return (rx1153_cur)
-  rx1153_fail:
-.annotate 'line', 446
-    (rx1153_rep, rx1153_pos, $I10, $P10) = rx1153_cur."!mark_fail"(0)
-    lt rx1153_pos, -1, rx1153_done
-    eq rx1153_pos, -1, rx1153_fail
+    rx1162_cur."!cursor_pass"(rx1162_pos, "infix:sym<+^>")
+    rx1162_cur."!cursor_debug"("PASS  ", "infix:sym<+^>", " at pos=", rx1162_pos)
+    .return (rx1162_cur)
+  rx1162_fail:
+.annotate 'line', 447
+    (rx1162_rep, rx1162_pos, $I10, $P10) = rx1162_cur."!mark_fail"(0)
+    lt rx1162_pos, -1, rx1162_done
+    eq rx1162_pos, -1, rx1162_fail
     jump $I10
-  rx1153_done:
-    rx1153_cur."!cursor_fail"()
-    rx1153_cur."!cursor_debug"("FAIL  ", "infix:sym<!=>")
-    .return (rx1153_cur)
+  rx1162_done:
+    rx1162_cur."!cursor_fail"()
+    rx1162_cur."!cursor_debug"("FAIL  ", "infix:sym<+^>")
+    .return (rx1162_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<!=>"  :subid("289_1277356913.9538") :method
-.annotate 'line', 446
-    $P1155 = self."!PREFIX__!subrule"("O", "!=")
-    new $P1156, "ResizablePMCArray"
-    push $P1156, $P1155
-    .return ($P1156)
+.sub "!PREFIX__infix:sym<+^>"  :subid("291_1278500537.15927") :method
+.annotate 'line', 447
+    $P1164 = self."!PREFIX__!subrule"("O", "+^")
+    new $P1165, "ResizablePMCArray"
+    push $P1165, $P1164
+    .return ($P1165)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<=>"  :subid("290_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1160_tgt
-    .local int rx1160_pos
-    .local int rx1160_off
-    .local int rx1160_eos
-    .local int rx1160_rep
-    .local pmc rx1160_cur
-    (rx1160_cur, rx1160_pos, rx1160_tgt) = self."!cursor_start"()
-    rx1160_cur."!cursor_debug"("START ", "infix:sym<<=>")
-    .lex unicode:"$\x{a2}", rx1160_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1160_eos, rx1160_tgt
-    gt rx1160_pos, rx1160_eos, rx1160_done
-    set rx1160_off, 0
-    lt rx1160_pos, 2, rx1160_start
-    sub rx1160_off, rx1160_pos, 1
-    substr rx1160_tgt, rx1160_tgt, rx1160_off
-  rx1160_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1164_done
-    goto rxscan1164_scan
-  rxscan1164_loop:
-    ($P10) = rx1160_cur."from"()
-    inc $P10
-    set rx1160_pos, $P10
-    ge rx1160_pos, rx1160_eos, rxscan1164_done
-  rxscan1164_scan:
-    set_addr $I10, rxscan1164_loop
-    rx1160_cur."!mark_push"(0, rx1160_pos, $I10)
-  rxscan1164_done:
+.sub "infix:sym<~>"  :subid("292_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1169_tgt
+    .local int rx1169_pos
+    .local int rx1169_off
+    .local int rx1169_eos
+    .local int rx1169_rep
+    .local pmc rx1169_cur
+    (rx1169_cur, rx1169_pos, rx1169_tgt) = self."!cursor_start"()
+    rx1169_cur."!cursor_debug"("START ", "infix:sym<~>")
+    .lex unicode:"$\x{a2}", rx1169_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1169_eos, rx1169_tgt
+    gt rx1169_pos, rx1169_eos, rx1169_done
+    set rx1169_off, 0
+    lt rx1169_pos, 2, rx1169_start
+    sub rx1169_off, rx1169_pos, 1
+    substr rx1169_tgt, rx1169_tgt, rx1169_off
+  rx1169_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1173_done
+    goto rxscan1173_scan
+  rxscan1173_loop:
+    ($P10) = rx1169_cur."from"()
+    inc $P10
+    set rx1169_pos, $P10
+    ge rx1169_pos, rx1169_eos, rxscan1173_done
+  rxscan1173_scan:
+    set_addr $I10, rxscan1173_loop
+    rx1169_cur."!mark_push"(0, rx1169_pos, $I10)
+  rxscan1173_done:
 .annotate 'line', 517
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1165_fail
-    rx1160_cur."!mark_push"(0, rx1160_pos, $I10)
-  # rx literal  "<="
-    add $I11, rx1160_pos, 2
-    gt $I11, rx1160_eos, rx1160_fail
-    sub $I11, rx1160_pos, rx1160_off
-    substr $S10, rx1160_tgt, $I11, 2
-    ne $S10, "<=", rx1160_fail
-    add rx1160_pos, 2
-    set_addr $I10, rxcap_1165_fail
-    ($I12, $I11) = rx1160_cur."!mark_peek"($I10)
-    rx1160_cur."!cursor_pos"($I11)
-    ($P10) = rx1160_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1160_pos, "")
-    rx1160_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1174_fail
+    rx1169_cur."!mark_push"(0, rx1169_pos, $I10)
+  # rx literal  "~"
+    add $I11, rx1169_pos, 1
+    gt $I11, rx1169_eos, rx1169_fail
+    sub $I11, rx1169_pos, rx1169_off
+    substr $S10, rx1169_tgt, $I11, 1
+    ne $S10, "~", rx1169_fail
+    add rx1169_pos, 1
+    set_addr $I10, rxcap_1174_fail
+    ($I12, $I11) = rx1169_cur."!mark_peek"($I10)
+    rx1169_cur."!cursor_pos"($I11)
+    ($P10) = rx1169_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1169_pos, "")
+    rx1169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1165_done
-  rxcap_1165_fail:
-    goto rx1160_fail
-  rxcap_1165_done:
+    goto rxcap_1174_done
+  rxcap_1174_fail:
+    goto rx1169_fail
+  rxcap_1174_done:
   # rx subrule "O" subtype=capture negate=
-    rx1160_cur."!cursor_pos"(rx1160_pos)
-    $P10 = rx1160_cur."O"("%relational, :pirop<isle INn>")
-    unless $P10, rx1160_fail
-    rx1160_cur."!mark_push"(0, -1, 0, $P10)
+    rx1169_cur."!cursor_pos"(rx1169_pos)
+    $P10 = rx1169_cur."O"("%concatenation , :pirop<concat>")
+    unless $P10, rx1169_fail
+    rx1169_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1160_pos = $P10."pos"()
+    rx1169_pos = $P10."pos"()
   # rx pass
-    rx1160_cur."!cursor_pass"(rx1160_pos, "infix:sym<<=>")
-    rx1160_cur."!cursor_debug"("PASS  ", "infix:sym<<=>", " at pos=", rx1160_pos)
-    .return (rx1160_cur)
-  rx1160_fail:
-.annotate 'line', 446
-    (rx1160_rep, rx1160_pos, $I10, $P10) = rx1160_cur."!mark_fail"(0)
-    lt rx1160_pos, -1, rx1160_done
-    eq rx1160_pos, -1, rx1160_fail
+    rx1169_cur."!cursor_pass"(rx1169_pos, "infix:sym<~>")
+    rx1169_cur."!cursor_debug"("PASS  ", "infix:sym<~>", " at pos=", rx1169_pos)
+    .return (rx1169_cur)
+  rx1169_fail:
+.annotate 'line', 447
+    (rx1169_rep, rx1169_pos, $I10, $P10) = rx1169_cur."!mark_fail"(0)
+    lt rx1169_pos, -1, rx1169_done
+    eq rx1169_pos, -1, rx1169_fail
     jump $I10
-  rx1160_done:
-    rx1160_cur."!cursor_fail"()
-    rx1160_cur."!cursor_debug"("FAIL  ", "infix:sym<<=>")
-    .return (rx1160_cur)
+  rx1169_done:
+    rx1169_cur."!cursor_fail"()
+    rx1169_cur."!cursor_debug"("FAIL  ", "infix:sym<~>")
+    .return (rx1169_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<=>"  :subid("291_1277356913.9538") :method
-.annotate 'line', 446
-    $P1162 = self."!PREFIX__!subrule"("O", "<=")
-    new $P1163, "ResizablePMCArray"
-    push $P1163, $P1162
-    .return ($P1163)
+.sub "!PREFIX__infix:sym<~>"  :subid("293_1278500537.15927") :method
+.annotate 'line', 447
+    $P1171 = self."!PREFIX__!subrule"("O", "~")
+    new $P1172, "ResizablePMCArray"
+    push $P1172, $P1171
+    .return ($P1172)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>=>"  :subid("292_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1167_tgt
-    .local int rx1167_pos
-    .local int rx1167_off
-    .local int rx1167_eos
-    .local int rx1167_rep
-    .local pmc rx1167_cur
-    (rx1167_cur, rx1167_pos, rx1167_tgt) = self."!cursor_start"()
-    rx1167_cur."!cursor_debug"("START ", "infix:sym<>=>")
-    .lex unicode:"$\x{a2}", rx1167_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1167_eos, rx1167_tgt
-    gt rx1167_pos, rx1167_eos, rx1167_done
-    set rx1167_off, 0
-    lt rx1167_pos, 2, rx1167_start
-    sub rx1167_off, rx1167_pos, 1
-    substr rx1167_tgt, rx1167_tgt, rx1167_off
-  rx1167_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1171_done
-    goto rxscan1171_scan
-  rxscan1171_loop:
-    ($P10) = rx1167_cur."from"()
-    inc $P10
-    set rx1167_pos, $P10
-    ge rx1167_pos, rx1167_eos, rxscan1171_done
-  rxscan1171_scan:
-    set_addr $I10, rxscan1171_loop
-    rx1167_cur."!mark_push"(0, rx1167_pos, $I10)
-  rxscan1171_done:
-.annotate 'line', 518
+.sub "infix:sym<==>"  :subid("294_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1176_tgt
+    .local int rx1176_pos
+    .local int rx1176_off
+    .local int rx1176_eos
+    .local int rx1176_rep
+    .local pmc rx1176_cur
+    (rx1176_cur, rx1176_pos, rx1176_tgt) = self."!cursor_start"()
+    rx1176_cur."!cursor_debug"("START ", "infix:sym<==>")
+    .lex unicode:"$\x{a2}", rx1176_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1176_eos, rx1176_tgt
+    gt rx1176_pos, rx1176_eos, rx1176_done
+    set rx1176_off, 0
+    lt rx1176_pos, 2, rx1176_start
+    sub rx1176_off, rx1176_pos, 1
+    substr rx1176_tgt, rx1176_tgt, rx1176_off
+  rx1176_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1180_done
+    goto rxscan1180_scan
+  rxscan1180_loop:
+    ($P10) = rx1176_cur."from"()
+    inc $P10
+    set rx1176_pos, $P10
+    ge rx1176_pos, rx1176_eos, rxscan1180_done
+  rxscan1180_scan:
+    set_addr $I10, rxscan1180_loop
+    rx1176_cur."!mark_push"(0, rx1176_pos, $I10)
+  rxscan1180_done:
+.annotate 'line', 519
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1172_fail
-    rx1167_cur."!mark_push"(0, rx1167_pos, $I10)
-  # rx literal  ">="
-    add $I11, rx1167_pos, 2
-    gt $I11, rx1167_eos, rx1167_fail
-    sub $I11, rx1167_pos, rx1167_off
-    substr $S10, rx1167_tgt, $I11, 2
-    ne $S10, ">=", rx1167_fail
-    add rx1167_pos, 2
-    set_addr $I10, rxcap_1172_fail
-    ($I12, $I11) = rx1167_cur."!mark_peek"($I10)
-    rx1167_cur."!cursor_pos"($I11)
-    ($P10) = rx1167_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1167_pos, "")
-    rx1167_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1181_fail
+    rx1176_cur."!mark_push"(0, rx1176_pos, $I10)
+  # rx literal  "=="
+    add $I11, rx1176_pos, 2
+    gt $I11, rx1176_eos, rx1176_fail
+    sub $I11, rx1176_pos, rx1176_off
+    substr $S10, rx1176_tgt, $I11, 2
+    ne $S10, "==", rx1176_fail
+    add rx1176_pos, 2
+    set_addr $I10, rxcap_1181_fail
+    ($I12, $I11) = rx1176_cur."!mark_peek"($I10)
+    rx1176_cur."!cursor_pos"($I11)
+    ($P10) = rx1176_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1176_pos, "")
+    rx1176_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1172_done
-  rxcap_1172_fail:
-    goto rx1167_fail
-  rxcap_1172_done:
+    goto rxcap_1181_done
+  rxcap_1181_fail:
+    goto rx1176_fail
+  rxcap_1181_done:
   # rx subrule "O" subtype=capture negate=
-    rx1167_cur."!cursor_pos"(rx1167_pos)
-    $P10 = rx1167_cur."O"("%relational, :pirop<isge INn>")
-    unless $P10, rx1167_fail
-    rx1167_cur."!mark_push"(0, -1, 0, $P10)
+    rx1176_cur."!cursor_pos"(rx1176_pos)
+    $P10 = rx1176_cur."O"("%relational, :pirop<iseq INn>")
+    unless $P10, rx1176_fail
+    rx1176_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1167_pos = $P10."pos"()
+    rx1176_pos = $P10."pos"()
   # rx pass
-    rx1167_cur."!cursor_pass"(rx1167_pos, "infix:sym<>=>")
-    rx1167_cur."!cursor_debug"("PASS  ", "infix:sym<>=>", " at pos=", rx1167_pos)
-    .return (rx1167_cur)
-  rx1167_fail:
-.annotate 'line', 446
-    (rx1167_rep, rx1167_pos, $I10, $P10) = rx1167_cur."!mark_fail"(0)
-    lt rx1167_pos, -1, rx1167_done
-    eq rx1167_pos, -1, rx1167_fail
+    rx1176_cur."!cursor_pass"(rx1176_pos, "infix:sym<==>")
+    rx1176_cur."!cursor_debug"("PASS  ", "infix:sym<==>", " at pos=", rx1176_pos)
+    .return (rx1176_cur)
+  rx1176_fail:
+.annotate 'line', 447
+    (rx1176_rep, rx1176_pos, $I10, $P10) = rx1176_cur."!mark_fail"(0)
+    lt rx1176_pos, -1, rx1176_done
+    eq rx1176_pos, -1, rx1176_fail
     jump $I10
-  rx1167_done:
-    rx1167_cur."!cursor_fail"()
-    rx1167_cur."!cursor_debug"("FAIL  ", "infix:sym<>=>")
-    .return (rx1167_cur)
+  rx1176_done:
+    rx1176_cur."!cursor_fail"()
+    rx1176_cur."!cursor_debug"("FAIL  ", "infix:sym<==>")
+    .return (rx1176_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>=>"  :subid("293_1277356913.9538") :method
-.annotate 'line', 446
-    $P1169 = self."!PREFIX__!subrule"("O", ">=")
-    new $P1170, "ResizablePMCArray"
-    push $P1170, $P1169
-    .return ($P1170)
+.sub "!PREFIX__infix:sym<==>"  :subid("295_1278500537.15927") :method
+.annotate 'line', 447
+    $P1178 = self."!PREFIX__!subrule"("O", "==")
+    new $P1179, "ResizablePMCArray"
+    push $P1179, $P1178
+    .return ($P1179)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<>"  :subid("294_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1174_tgt
-    .local int rx1174_pos
-    .local int rx1174_off
-    .local int rx1174_eos
-    .local int rx1174_rep
-    .local pmc rx1174_cur
-    (rx1174_cur, rx1174_pos, rx1174_tgt) = self."!cursor_start"()
-    rx1174_cur."!cursor_debug"("START ", "infix:sym<<>")
-    .lex unicode:"$\x{a2}", rx1174_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1174_eos, rx1174_tgt
-    gt rx1174_pos, rx1174_eos, rx1174_done
-    set rx1174_off, 0
-    lt rx1174_pos, 2, rx1174_start
-    sub rx1174_off, rx1174_pos, 1
-    substr rx1174_tgt, rx1174_tgt, rx1174_off
-  rx1174_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1178_done
-    goto rxscan1178_scan
-  rxscan1178_loop:
-    ($P10) = rx1174_cur."from"()
-    inc $P10
-    set rx1174_pos, $P10
-    ge rx1174_pos, rx1174_eos, rxscan1178_done
-  rxscan1178_scan:
-    set_addr $I10, rxscan1178_loop
-    rx1174_cur."!mark_push"(0, rx1174_pos, $I10)
-  rxscan1178_done:
-.annotate 'line', 519
+.sub "infix:sym<!=>"  :subid("296_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1183_tgt
+    .local int rx1183_pos
+    .local int rx1183_off
+    .local int rx1183_eos
+    .local int rx1183_rep
+    .local pmc rx1183_cur
+    (rx1183_cur, rx1183_pos, rx1183_tgt) = self."!cursor_start"()
+    rx1183_cur."!cursor_debug"("START ", "infix:sym<!=>")
+    .lex unicode:"$\x{a2}", rx1183_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1183_eos, rx1183_tgt
+    gt rx1183_pos, rx1183_eos, rx1183_done
+    set rx1183_off, 0
+    lt rx1183_pos, 2, rx1183_start
+    sub rx1183_off, rx1183_pos, 1
+    substr rx1183_tgt, rx1183_tgt, rx1183_off
+  rx1183_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1187_done
+    goto rxscan1187_scan
+  rxscan1187_loop:
+    ($P10) = rx1183_cur."from"()
+    inc $P10
+    set rx1183_pos, $P10
+    ge rx1183_pos, rx1183_eos, rxscan1187_done
+  rxscan1187_scan:
+    set_addr $I10, rxscan1187_loop
+    rx1183_cur."!mark_push"(0, rx1183_pos, $I10)
+  rxscan1187_done:
+.annotate 'line', 520
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1179_fail
-    rx1174_cur."!mark_push"(0, rx1174_pos, $I10)
-  # rx literal  "<"
-    add $I11, rx1174_pos, 1
-    gt $I11, rx1174_eos, rx1174_fail
-    sub $I11, rx1174_pos, rx1174_off
-    substr $S10, rx1174_tgt, $I11, 1
-    ne $S10, "<", rx1174_fail
-    add rx1174_pos, 1
-    set_addr $I10, rxcap_1179_fail
-    ($I12, $I11) = rx1174_cur."!mark_peek"($I10)
-    rx1174_cur."!cursor_pos"($I11)
-    ($P10) = rx1174_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1174_pos, "")
-    rx1174_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1188_fail
+    rx1183_cur."!mark_push"(0, rx1183_pos, $I10)
+  # rx literal  "!="
+    add $I11, rx1183_pos, 2
+    gt $I11, rx1183_eos, rx1183_fail
+    sub $I11, rx1183_pos, rx1183_off
+    substr $S10, rx1183_tgt, $I11, 2
+    ne $S10, "!=", rx1183_fail
+    add rx1183_pos, 2
+    set_addr $I10, rxcap_1188_fail
+    ($I12, $I11) = rx1183_cur."!mark_peek"($I10)
+    rx1183_cur."!cursor_pos"($I11)
+    ($P10) = rx1183_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1183_pos, "")
+    rx1183_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1179_done
-  rxcap_1179_fail:
-    goto rx1174_fail
-  rxcap_1179_done:
+    goto rxcap_1188_done
+  rxcap_1188_fail:
+    goto rx1183_fail
+  rxcap_1188_done:
   # rx subrule "O" subtype=capture negate=
-    rx1174_cur."!cursor_pos"(rx1174_pos)
-    $P10 = rx1174_cur."O"("%relational, :pirop<islt INn>")
-    unless $P10, rx1174_fail
-    rx1174_cur."!mark_push"(0, -1, 0, $P10)
+    rx1183_cur."!cursor_pos"(rx1183_pos)
+    $P10 = rx1183_cur."O"("%relational, :pirop<isne INn>")
+    unless $P10, rx1183_fail
+    rx1183_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1174_pos = $P10."pos"()
+    rx1183_pos = $P10."pos"()
   # rx pass
-    rx1174_cur."!cursor_pass"(rx1174_pos, "infix:sym<<>")
-    rx1174_cur."!cursor_debug"("PASS  ", "infix:sym<<>", " at pos=", rx1174_pos)
-    .return (rx1174_cur)
-  rx1174_fail:
-.annotate 'line', 446
-    (rx1174_rep, rx1174_pos, $I10, $P10) = rx1174_cur."!mark_fail"(0)
-    lt rx1174_pos, -1, rx1174_done
-    eq rx1174_pos, -1, rx1174_fail
+    rx1183_cur."!cursor_pass"(rx1183_pos, "infix:sym<!=>")
+    rx1183_cur."!cursor_debug"("PASS  ", "infix:sym<!=>", " at pos=", rx1183_pos)
+    .return (rx1183_cur)
+  rx1183_fail:
+.annotate 'line', 447
+    (rx1183_rep, rx1183_pos, $I10, $P10) = rx1183_cur."!mark_fail"(0)
+    lt rx1183_pos, -1, rx1183_done
+    eq rx1183_pos, -1, rx1183_fail
     jump $I10
-  rx1174_done:
-    rx1174_cur."!cursor_fail"()
-    rx1174_cur."!cursor_debug"("FAIL  ", "infix:sym<<>")
-    .return (rx1174_cur)
+  rx1183_done:
+    rx1183_cur."!cursor_fail"()
+    rx1183_cur."!cursor_debug"("FAIL  ", "infix:sym<!=>")
+    .return (rx1183_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<>"  :subid("295_1277356913.9538") :method
-.annotate 'line', 446
-    $P1176 = self."!PREFIX__!subrule"("O", "<")
-    new $P1177, "ResizablePMCArray"
-    push $P1177, $P1176
-    .return ($P1177)
+.sub "!PREFIX__infix:sym<!=>"  :subid("297_1278500537.15927") :method
+.annotate 'line', 447
+    $P1185 = self."!PREFIX__!subrule"("O", "!=")
+    new $P1186, "ResizablePMCArray"
+    push $P1186, $P1185
+    .return ($P1186)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>>"  :subid("296_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1181_tgt
-    .local int rx1181_pos
-    .local int rx1181_off
-    .local int rx1181_eos
-    .local int rx1181_rep
-    .local pmc rx1181_cur
-    (rx1181_cur, rx1181_pos, rx1181_tgt) = self."!cursor_start"()
-    rx1181_cur."!cursor_debug"("START ", "infix:sym<>>")
-    .lex unicode:"$\x{a2}", rx1181_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1181_eos, rx1181_tgt
-    gt rx1181_pos, rx1181_eos, rx1181_done
-    set rx1181_off, 0
-    lt rx1181_pos, 2, rx1181_start
-    sub rx1181_off, rx1181_pos, 1
-    substr rx1181_tgt, rx1181_tgt, rx1181_off
-  rx1181_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1185_done
-    goto rxscan1185_scan
-  rxscan1185_loop:
-    ($P10) = rx1181_cur."from"()
-    inc $P10
-    set rx1181_pos, $P10
-    ge rx1181_pos, rx1181_eos, rxscan1185_done
-  rxscan1185_scan:
-    set_addr $I10, rxscan1185_loop
-    rx1181_cur."!mark_push"(0, rx1181_pos, $I10)
-  rxscan1185_done:
-.annotate 'line', 520
+.sub "infix:sym<<=>"  :subid("298_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1190_tgt
+    .local int rx1190_pos
+    .local int rx1190_off
+    .local int rx1190_eos
+    .local int rx1190_rep
+    .local pmc rx1190_cur
+    (rx1190_cur, rx1190_pos, rx1190_tgt) = self."!cursor_start"()
+    rx1190_cur."!cursor_debug"("START ", "infix:sym<<=>")
+    .lex unicode:"$\x{a2}", rx1190_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1190_eos, rx1190_tgt
+    gt rx1190_pos, rx1190_eos, rx1190_done
+    set rx1190_off, 0
+    lt rx1190_pos, 2, rx1190_start
+    sub rx1190_off, rx1190_pos, 1
+    substr rx1190_tgt, rx1190_tgt, rx1190_off
+  rx1190_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1194_done
+    goto rxscan1194_scan
+  rxscan1194_loop:
+    ($P10) = rx1190_cur."from"()
+    inc $P10
+    set rx1190_pos, $P10
+    ge rx1190_pos, rx1190_eos, rxscan1194_done
+  rxscan1194_scan:
+    set_addr $I10, rxscan1194_loop
+    rx1190_cur."!mark_push"(0, rx1190_pos, $I10)
+  rxscan1194_done:
+.annotate 'line', 521
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1186_fail
-    rx1181_cur."!mark_push"(0, rx1181_pos, $I10)
-  # rx literal  ">"
-    add $I11, rx1181_pos, 1
-    gt $I11, rx1181_eos, rx1181_fail
-    sub $I11, rx1181_pos, rx1181_off
-    substr $S10, rx1181_tgt, $I11, 1
-    ne $S10, ">", rx1181_fail
-    add rx1181_pos, 1
-    set_addr $I10, rxcap_1186_fail
-    ($I12, $I11) = rx1181_cur."!mark_peek"($I10)
-    rx1181_cur."!cursor_pos"($I11)
-    ($P10) = rx1181_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1181_pos, "")
-    rx1181_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1195_fail
+    rx1190_cur."!mark_push"(0, rx1190_pos, $I10)
+  # rx literal  "<="
+    add $I11, rx1190_pos, 2
+    gt $I11, rx1190_eos, rx1190_fail
+    sub $I11, rx1190_pos, rx1190_off
+    substr $S10, rx1190_tgt, $I11, 2
+    ne $S10, "<=", rx1190_fail
+    add rx1190_pos, 2
+    set_addr $I10, rxcap_1195_fail
+    ($I12, $I11) = rx1190_cur."!mark_peek"($I10)
+    rx1190_cur."!cursor_pos"($I11)
+    ($P10) = rx1190_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1190_pos, "")
+    rx1190_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1186_done
-  rxcap_1186_fail:
-    goto rx1181_fail
-  rxcap_1186_done:
+    goto rxcap_1195_done
+  rxcap_1195_fail:
+    goto rx1190_fail
+  rxcap_1195_done:
   # rx subrule "O" subtype=capture negate=
-    rx1181_cur."!cursor_pos"(rx1181_pos)
-    $P10 = rx1181_cur."O"("%relational, :pirop<isgt INn>")
-    unless $P10, rx1181_fail
-    rx1181_cur."!mark_push"(0, -1, 0, $P10)
+    rx1190_cur."!cursor_pos"(rx1190_pos)
+    $P10 = rx1190_cur."O"("%relational, :pirop<isle INn>")
+    unless $P10, rx1190_fail
+    rx1190_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1181_pos = $P10."pos"()
+    rx1190_pos = $P10."pos"()
   # rx pass
-    rx1181_cur."!cursor_pass"(rx1181_pos, "infix:sym<>>")
-    rx1181_cur."!cursor_debug"("PASS  ", "infix:sym<>>", " at pos=", rx1181_pos)
-    .return (rx1181_cur)
-  rx1181_fail:
-.annotate 'line', 446
-    (rx1181_rep, rx1181_pos, $I10, $P10) = rx1181_cur."!mark_fail"(0)
-    lt rx1181_pos, -1, rx1181_done
-    eq rx1181_pos, -1, rx1181_fail
+    rx1190_cur."!cursor_pass"(rx1190_pos, "infix:sym<<=>")
+    rx1190_cur."!cursor_debug"("PASS  ", "infix:sym<<=>", " at pos=", rx1190_pos)
+    .return (rx1190_cur)
+  rx1190_fail:
+.annotate 'line', 447
+    (rx1190_rep, rx1190_pos, $I10, $P10) = rx1190_cur."!mark_fail"(0)
+    lt rx1190_pos, -1, rx1190_done
+    eq rx1190_pos, -1, rx1190_fail
     jump $I10
-  rx1181_done:
-    rx1181_cur."!cursor_fail"()
-    rx1181_cur."!cursor_debug"("FAIL  ", "infix:sym<>>")
-    .return (rx1181_cur)
+  rx1190_done:
+    rx1190_cur."!cursor_fail"()
+    rx1190_cur."!cursor_debug"("FAIL  ", "infix:sym<<=>")
+    .return (rx1190_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>>"  :subid("297_1277356913.9538") :method
-.annotate 'line', 446
-    $P1183 = self."!PREFIX__!subrule"("O", ">")
-    new $P1184, "ResizablePMCArray"
-    push $P1184, $P1183
-    .return ($P1184)
+.sub "!PREFIX__infix:sym<<=>"  :subid("299_1278500537.15927") :method
+.annotate 'line', 447
+    $P1192 = self."!PREFIX__!subrule"("O", "<=")
+    new $P1193, "ResizablePMCArray"
+    push $P1193, $P1192
+    .return ($P1193)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<eq>"  :subid("298_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1188_tgt
-    .local int rx1188_pos
-    .local int rx1188_off
-    .local int rx1188_eos
-    .local int rx1188_rep
-    .local pmc rx1188_cur
-    (rx1188_cur, rx1188_pos, rx1188_tgt) = self."!cursor_start"()
-    rx1188_cur."!cursor_debug"("START ", "infix:sym<eq>")
-    .lex unicode:"$\x{a2}", rx1188_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1188_eos, rx1188_tgt
-    gt rx1188_pos, rx1188_eos, rx1188_done
-    set rx1188_off, 0
-    lt rx1188_pos, 2, rx1188_start
-    sub rx1188_off, rx1188_pos, 1
-    substr rx1188_tgt, rx1188_tgt, rx1188_off
-  rx1188_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1192_done
-    goto rxscan1192_scan
-  rxscan1192_loop:
-    ($P10) = rx1188_cur."from"()
-    inc $P10
-    set rx1188_pos, $P10
-    ge rx1188_pos, rx1188_eos, rxscan1192_done
-  rxscan1192_scan:
-    set_addr $I10, rxscan1192_loop
-    rx1188_cur."!mark_push"(0, rx1188_pos, $I10)
-  rxscan1192_done:
-.annotate 'line', 521
+.sub "infix:sym<>=>"  :subid("300_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1197_tgt
+    .local int rx1197_pos
+    .local int rx1197_off
+    .local int rx1197_eos
+    .local int rx1197_rep
+    .local pmc rx1197_cur
+    (rx1197_cur, rx1197_pos, rx1197_tgt) = self."!cursor_start"()
+    rx1197_cur."!cursor_debug"("START ", "infix:sym<>=>")
+    .lex unicode:"$\x{a2}", rx1197_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1197_eos, rx1197_tgt
+    gt rx1197_pos, rx1197_eos, rx1197_done
+    set rx1197_off, 0
+    lt rx1197_pos, 2, rx1197_start
+    sub rx1197_off, rx1197_pos, 1
+    substr rx1197_tgt, rx1197_tgt, rx1197_off
+  rx1197_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1201_done
+    goto rxscan1201_scan
+  rxscan1201_loop:
+    ($P10) = rx1197_cur."from"()
+    inc $P10
+    set rx1197_pos, $P10
+    ge rx1197_pos, rx1197_eos, rxscan1201_done
+  rxscan1201_scan:
+    set_addr $I10, rxscan1201_loop
+    rx1197_cur."!mark_push"(0, rx1197_pos, $I10)
+  rxscan1201_done:
+.annotate 'line', 522
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1193_fail
-    rx1188_cur."!mark_push"(0, rx1188_pos, $I10)
-  # rx literal  "eq"
-    add $I11, rx1188_pos, 2
-    gt $I11, rx1188_eos, rx1188_fail
-    sub $I11, rx1188_pos, rx1188_off
-    substr $S10, rx1188_tgt, $I11, 2
-    ne $S10, "eq", rx1188_fail
-    add rx1188_pos, 2
-    set_addr $I10, rxcap_1193_fail
-    ($I12, $I11) = rx1188_cur."!mark_peek"($I10)
-    rx1188_cur."!cursor_pos"($I11)
-    ($P10) = rx1188_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1188_pos, "")
-    rx1188_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_1202_fail
+    rx1197_cur."!mark_push"(0, rx1197_pos, $I10)
+  # rx literal  ">="
+    add $I11, rx1197_pos, 2
+    gt $I11, rx1197_eos, rx1197_fail
+    sub $I11, rx1197_pos, rx1197_off
+    substr $S10, rx1197_tgt, $I11, 2
+    ne $S10, ">=", rx1197_fail
+    add rx1197_pos, 2
+    set_addr $I10, rxcap_1202_fail
+    ($I12, $I11) = rx1197_cur."!mark_peek"($I10)
+    rx1197_cur."!cursor_pos"($I11)
+    ($P10) = rx1197_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1197_pos, "")
+    rx1197_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1193_done
-  rxcap_1193_fail:
-    goto rx1188_fail
-  rxcap_1193_done:
+    goto rxcap_1202_done
+  rxcap_1202_fail:
+    goto rx1197_fail
+  rxcap_1202_done:
   # rx subrule "O" subtype=capture negate=
-    rx1188_cur."!cursor_pos"(rx1188_pos)
-    $P10 = rx1188_cur."O"("%relational, :pirop<iseq ISs>")
-    unless $P10, rx1188_fail
-    rx1188_cur."!mark_push"(0, -1, 0, $P10)
+    rx1197_cur."!cursor_pos"(rx1197_pos)
+    $P10 = rx1197_cur."O"("%relational, :pirop<isge INn>")
+    unless $P10, rx1197_fail
+    rx1197_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1188_pos = $P10."pos"()
+    rx1197_pos = $P10."pos"()
   # rx pass
-    rx1188_cur."!cursor_pass"(rx1188_pos, "infix:sym<eq>")
-    rx1188_cur."!cursor_debug"("PASS  ", "infix:sym<eq>", " at pos=", rx1188_pos)
-    .return (rx1188_cur)
-  rx1188_fail:
-.annotate 'line', 446
-    (rx1188_rep, rx1188_pos, $I10, $P10) = rx1188_cur."!mark_fail"(0)
-    lt rx1188_pos, -1, rx1188_done
-    eq rx1188_pos, -1, rx1188_fail
+    rx1197_cur."!cursor_pass"(rx1197_pos, "infix:sym<>=>")
+    rx1197_cur."!cursor_debug"("PASS  ", "infix:sym<>=>", " at pos=", rx1197_pos)
+    .return (rx1197_cur)
+  rx1197_fail:
+.annotate 'line', 447
+    (rx1197_rep, rx1197_pos, $I10, $P10) = rx1197_cur."!mark_fail"(0)
+    lt rx1197_pos, -1, rx1197_done
+    eq rx1197_pos, -1, rx1197_fail
     jump $I10
-  rx1188_done:
-    rx1188_cur."!cursor_fail"()
-    rx1188_cur."!cursor_debug"("FAIL  ", "infix:sym<eq>")
-    .return (rx1188_cur)
+  rx1197_done:
+    rx1197_cur."!cursor_fail"()
+    rx1197_cur."!cursor_debug"("FAIL  ", "infix:sym<>=>")
+    .return (rx1197_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<eq>"  :subid("299_1277356913.9538") :method
-.annotate 'line', 446
-    $P1190 = self."!PREFIX__!subrule"("O", "eq")
-    new $P1191, "ResizablePMCArray"
-    push $P1191, $P1190
-    .return ($P1191)
+.sub "!PREFIX__infix:sym<>=>"  :subid("301_1278500537.15927") :method
+.annotate 'line', 447
+    $P1199 = self."!PREFIX__!subrule"("O", ">=")
+    new $P1200, "ResizablePMCArray"
+    push $P1200, $P1199
+    .return ($P1200)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ne>"  :subid("300_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1195_tgt
-    .local int rx1195_pos
-    .local int rx1195_off
-    .local int rx1195_eos
-    .local int rx1195_rep
-    .local pmc rx1195_cur
-    (rx1195_cur, rx1195_pos, rx1195_tgt) = self."!cursor_start"()
-    rx1195_cur."!cursor_debug"("START ", "infix:sym<ne>")
-    .lex unicode:"$\x{a2}", rx1195_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1195_eos, rx1195_tgt
-    gt rx1195_pos, rx1195_eos, rx1195_done
-    set rx1195_off, 0
-    lt rx1195_pos, 2, rx1195_start
-    sub rx1195_off, rx1195_pos, 1
-    substr rx1195_tgt, rx1195_tgt, rx1195_off
-  rx1195_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1199_done
-    goto rxscan1199_scan
-  rxscan1199_loop:
-    ($P10) = rx1195_cur."from"()
-    inc $P10
-    set rx1195_pos, $P10
-    ge rx1195_pos, rx1195_eos, rxscan1199_done
-  rxscan1199_scan:
-    set_addr $I10, rxscan1199_loop
-    rx1195_cur."!mark_push"(0, rx1195_pos, $I10)
-  rxscan1199_done:
-.annotate 'line', 522
+.sub "infix:sym<<>"  :subid("302_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1204_tgt
+    .local int rx1204_pos
+    .local int rx1204_off
+    .local int rx1204_eos
+    .local int rx1204_rep
+    .local pmc rx1204_cur
+    (rx1204_cur, rx1204_pos, rx1204_tgt) = self."!cursor_start"()
+    rx1204_cur."!cursor_debug"("START ", "infix:sym<<>")
+    .lex unicode:"$\x{a2}", rx1204_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1204_eos, rx1204_tgt
+    gt rx1204_pos, rx1204_eos, rx1204_done
+    set rx1204_off, 0
+    lt rx1204_pos, 2, rx1204_start
+    sub rx1204_off, rx1204_pos, 1
+    substr rx1204_tgt, rx1204_tgt, rx1204_off
+  rx1204_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1208_done
+    goto rxscan1208_scan
+  rxscan1208_loop:
+    ($P10) = rx1204_cur."from"()
+    inc $P10
+    set rx1204_pos, $P10
+    ge rx1204_pos, rx1204_eos, rxscan1208_done
+  rxscan1208_scan:
+    set_addr $I10, rxscan1208_loop
+    rx1204_cur."!mark_push"(0, rx1204_pos, $I10)
+  rxscan1208_done:
+.annotate 'line', 523
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1200_fail
-    rx1195_cur."!mark_push"(0, rx1195_pos, $I10)
+    set_addr $I10, rxcap_1209_fail
+    rx1204_cur."!mark_push"(0, rx1204_pos, $I10)
+  # rx literal  "<"
+    add $I11, rx1204_pos, 1
+    gt $I11, rx1204_eos, rx1204_fail
+    sub $I11, rx1204_pos, rx1204_off
+    substr $S10, rx1204_tgt, $I11, 1
+    ne $S10, "<", rx1204_fail
+    add rx1204_pos, 1
+    set_addr $I10, rxcap_1209_fail
+    ($I12, $I11) = rx1204_cur."!mark_peek"($I10)
+    rx1204_cur."!cursor_pos"($I11)
+    ($P10) = rx1204_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1204_pos, "")
+    rx1204_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_1209_done
+  rxcap_1209_fail:
+    goto rx1204_fail
+  rxcap_1209_done:
+  # rx subrule "O" subtype=capture negate=
+    rx1204_cur."!cursor_pos"(rx1204_pos)
+    $P10 = rx1204_cur."O"("%relational, :pirop<islt INn>")
+    unless $P10, rx1204_fail
+    rx1204_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("O")
+    rx1204_pos = $P10."pos"()
+  # rx pass
+    rx1204_cur."!cursor_pass"(rx1204_pos, "infix:sym<<>")
+    rx1204_cur."!cursor_debug"("PASS  ", "infix:sym<<>", " at pos=", rx1204_pos)
+    .return (rx1204_cur)
+  rx1204_fail:
+.annotate 'line', 447
+    (rx1204_rep, rx1204_pos, $I10, $P10) = rx1204_cur."!mark_fail"(0)
+    lt rx1204_pos, -1, rx1204_done
+    eq rx1204_pos, -1, rx1204_fail
+    jump $I10
+  rx1204_done:
+    rx1204_cur."!cursor_fail"()
+    rx1204_cur."!cursor_debug"("FAIL  ", "infix:sym<<>")
+    .return (rx1204_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__infix:sym<<>"  :subid("303_1278500537.15927") :method
+.annotate 'line', 447
+    $P1206 = self."!PREFIX__!subrule"("O", "<")
+    new $P1207, "ResizablePMCArray"
+    push $P1207, $P1206
+    .return ($P1207)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "infix:sym<>>"  :subid("304_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1211_tgt
+    .local int rx1211_pos
+    .local int rx1211_off
+    .local int rx1211_eos
+    .local int rx1211_rep
+    .local pmc rx1211_cur
+    (rx1211_cur, rx1211_pos, rx1211_tgt) = self."!cursor_start"()
+    rx1211_cur."!cursor_debug"("START ", "infix:sym<>>")
+    .lex unicode:"$\x{a2}", rx1211_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1211_eos, rx1211_tgt
+    gt rx1211_pos, rx1211_eos, rx1211_done
+    set rx1211_off, 0
+    lt rx1211_pos, 2, rx1211_start
+    sub rx1211_off, rx1211_pos, 1
+    substr rx1211_tgt, rx1211_tgt, rx1211_off
+  rx1211_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1215_done
+    goto rxscan1215_scan
+  rxscan1215_loop:
+    ($P10) = rx1211_cur."from"()
+    inc $P10
+    set rx1211_pos, $P10
+    ge rx1211_pos, rx1211_eos, rxscan1215_done
+  rxscan1215_scan:
+    set_addr $I10, rxscan1215_loop
+    rx1211_cur."!mark_push"(0, rx1211_pos, $I10)
+  rxscan1215_done:
+.annotate 'line', 524
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_1216_fail
+    rx1211_cur."!mark_push"(0, rx1211_pos, $I10)
+  # rx literal  ">"
+    add $I11, rx1211_pos, 1
+    gt $I11, rx1211_eos, rx1211_fail
+    sub $I11, rx1211_pos, rx1211_off
+    substr $S10, rx1211_tgt, $I11, 1
+    ne $S10, ">", rx1211_fail
+    add rx1211_pos, 1
+    set_addr $I10, rxcap_1216_fail
+    ($I12, $I11) = rx1211_cur."!mark_peek"($I10)
+    rx1211_cur."!cursor_pos"($I11)
+    ($P10) = rx1211_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1211_pos, "")
+    rx1211_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_1216_done
+  rxcap_1216_fail:
+    goto rx1211_fail
+  rxcap_1216_done:
+  # rx subrule "O" subtype=capture negate=
+    rx1211_cur."!cursor_pos"(rx1211_pos)
+    $P10 = rx1211_cur."O"("%relational, :pirop<isgt INn>")
+    unless $P10, rx1211_fail
+    rx1211_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("O")
+    rx1211_pos = $P10."pos"()
+  # rx pass
+    rx1211_cur."!cursor_pass"(rx1211_pos, "infix:sym<>>")
+    rx1211_cur."!cursor_debug"("PASS  ", "infix:sym<>>", " at pos=", rx1211_pos)
+    .return (rx1211_cur)
+  rx1211_fail:
+.annotate 'line', 447
+    (rx1211_rep, rx1211_pos, $I10, $P10) = rx1211_cur."!mark_fail"(0)
+    lt rx1211_pos, -1, rx1211_done
+    eq rx1211_pos, -1, rx1211_fail
+    jump $I10
+  rx1211_done:
+    rx1211_cur."!cursor_fail"()
+    rx1211_cur."!cursor_debug"("FAIL  ", "infix:sym<>>")
+    .return (rx1211_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__infix:sym<>>"  :subid("305_1278500537.15927") :method
+.annotate 'line', 447
+    $P1213 = self."!PREFIX__!subrule"("O", ">")
+    new $P1214, "ResizablePMCArray"
+    push $P1214, $P1213
+    .return ($P1214)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "infix:sym<eq>"  :subid("306_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1218_tgt
+    .local int rx1218_pos
+    .local int rx1218_off
+    .local int rx1218_eos
+    .local int rx1218_rep
+    .local pmc rx1218_cur
+    (rx1218_cur, rx1218_pos, rx1218_tgt) = self."!cursor_start"()
+    rx1218_cur."!cursor_debug"("START ", "infix:sym<eq>")
+    .lex unicode:"$\x{a2}", rx1218_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1218_eos, rx1218_tgt
+    gt rx1218_pos, rx1218_eos, rx1218_done
+    set rx1218_off, 0
+    lt rx1218_pos, 2, rx1218_start
+    sub rx1218_off, rx1218_pos, 1
+    substr rx1218_tgt, rx1218_tgt, rx1218_off
+  rx1218_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1222_done
+    goto rxscan1222_scan
+  rxscan1222_loop:
+    ($P10) = rx1218_cur."from"()
+    inc $P10
+    set rx1218_pos, $P10
+    ge rx1218_pos, rx1218_eos, rxscan1222_done
+  rxscan1222_scan:
+    set_addr $I10, rxscan1222_loop
+    rx1218_cur."!mark_push"(0, rx1218_pos, $I10)
+  rxscan1222_done:
+.annotate 'line', 525
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_1223_fail
+    rx1218_cur."!mark_push"(0, rx1218_pos, $I10)
+  # rx literal  "eq"
+    add $I11, rx1218_pos, 2
+    gt $I11, rx1218_eos, rx1218_fail
+    sub $I11, rx1218_pos, rx1218_off
+    substr $S10, rx1218_tgt, $I11, 2
+    ne $S10, "eq", rx1218_fail
+    add rx1218_pos, 2
+    set_addr $I10, rxcap_1223_fail
+    ($I12, $I11) = rx1218_cur."!mark_peek"($I10)
+    rx1218_cur."!cursor_pos"($I11)
+    ($P10) = rx1218_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1218_pos, "")
+    rx1218_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_1223_done
+  rxcap_1223_fail:
+    goto rx1218_fail
+  rxcap_1223_done:
+  # rx subrule "O" subtype=capture negate=
+    rx1218_cur."!cursor_pos"(rx1218_pos)
+    $P10 = rx1218_cur."O"("%relational, :pirop<iseq ISs>")
+    unless $P10, rx1218_fail
+    rx1218_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("O")
+    rx1218_pos = $P10."pos"()
+  # rx pass
+    rx1218_cur."!cursor_pass"(rx1218_pos, "infix:sym<eq>")
+    rx1218_cur."!cursor_debug"("PASS  ", "infix:sym<eq>", " at pos=", rx1218_pos)
+    .return (rx1218_cur)
+  rx1218_fail:
+.annotate 'line', 447
+    (rx1218_rep, rx1218_pos, $I10, $P10) = rx1218_cur."!mark_fail"(0)
+    lt rx1218_pos, -1, rx1218_done
+    eq rx1218_pos, -1, rx1218_fail
+    jump $I10
+  rx1218_done:
+    rx1218_cur."!cursor_fail"()
+    rx1218_cur."!cursor_debug"("FAIL  ", "infix:sym<eq>")
+    .return (rx1218_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__infix:sym<eq>"  :subid("307_1278500537.15927") :method
+.annotate 'line', 447
+    $P1220 = self."!PREFIX__!subrule"("O", "eq")
+    new $P1221, "ResizablePMCArray"
+    push $P1221, $P1220
+    .return ($P1221)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "infix:sym<ne>"  :subid("308_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1225_tgt
+    .local int rx1225_pos
+    .local int rx1225_off
+    .local int rx1225_eos
+    .local int rx1225_rep
+    .local pmc rx1225_cur
+    (rx1225_cur, rx1225_pos, rx1225_tgt) = self."!cursor_start"()
+    rx1225_cur."!cursor_debug"("START ", "infix:sym<ne>")
+    .lex unicode:"$\x{a2}", rx1225_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1225_eos, rx1225_tgt
+    gt rx1225_pos, rx1225_eos, rx1225_done
+    set rx1225_off, 0
+    lt rx1225_pos, 2, rx1225_start
+    sub rx1225_off, rx1225_pos, 1
+    substr rx1225_tgt, rx1225_tgt, rx1225_off
+  rx1225_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1229_done
+    goto rxscan1229_scan
+  rxscan1229_loop:
+    ($P10) = rx1225_cur."from"()
+    inc $P10
+    set rx1225_pos, $P10
+    ge rx1225_pos, rx1225_eos, rxscan1229_done
+  rxscan1229_scan:
+    set_addr $I10, rxscan1229_loop
+    rx1225_cur."!mark_push"(0, rx1225_pos, $I10)
+  rxscan1229_done:
+.annotate 'line', 526
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_1230_fail
+    rx1225_cur."!mark_push"(0, rx1225_pos, $I10)
   # rx literal  "ne"
-    add $I11, rx1195_pos, 2
-    gt $I11, rx1195_eos, rx1195_fail
-    sub $I11, rx1195_pos, rx1195_off
-    substr $S10, rx1195_tgt, $I11, 2
-    ne $S10, "ne", rx1195_fail
-    add rx1195_pos, 2
-    set_addr $I10, rxcap_1200_fail
-    ($I12, $I11) = rx1195_cur."!mark_peek"($I10)
-    rx1195_cur."!cursor_pos"($I11)
-    ($P10) = rx1195_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1195_pos, "")
-    rx1195_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1225_pos, 2
+    gt $I11, rx1225_eos, rx1225_fail
+    sub $I11, rx1225_pos, rx1225_off
+    substr $S10, rx1225_tgt, $I11, 2
+    ne $S10, "ne", rx1225_fail
+    add rx1225_pos, 2
+    set_addr $I10, rxcap_1230_fail
+    ($I12, $I11) = rx1225_cur."!mark_peek"($I10)
+    rx1225_cur."!cursor_pos"($I11)
+    ($P10) = rx1225_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1225_pos, "")
+    rx1225_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1200_done
-  rxcap_1200_fail:
-    goto rx1195_fail
-  rxcap_1200_done:
+    goto rxcap_1230_done
+  rxcap_1230_fail:
+    goto rx1225_fail
+  rxcap_1230_done:
   # rx subrule "O" subtype=capture negate=
-    rx1195_cur."!cursor_pos"(rx1195_pos)
-    $P10 = rx1195_cur."O"("%relational, :pirop<isne ISs>")
-    unless $P10, rx1195_fail
-    rx1195_cur."!mark_push"(0, -1, 0, $P10)
+    rx1225_cur."!cursor_pos"(rx1225_pos)
+    $P10 = rx1225_cur."O"("%relational, :pirop<isne ISs>")
+    unless $P10, rx1225_fail
+    rx1225_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1195_pos = $P10."pos"()
+    rx1225_pos = $P10."pos"()
   # rx pass
-    rx1195_cur."!cursor_pass"(rx1195_pos, "infix:sym<ne>")
-    rx1195_cur."!cursor_debug"("PASS  ", "infix:sym<ne>", " at pos=", rx1195_pos)
-    .return (rx1195_cur)
-  rx1195_fail:
-.annotate 'line', 446
-    (rx1195_rep, rx1195_pos, $I10, $P10) = rx1195_cur."!mark_fail"(0)
-    lt rx1195_pos, -1, rx1195_done
-    eq rx1195_pos, -1, rx1195_fail
+    rx1225_cur."!cursor_pass"(rx1225_pos, "infix:sym<ne>")
+    rx1225_cur."!cursor_debug"("PASS  ", "infix:sym<ne>", " at pos=", rx1225_pos)
+    .return (rx1225_cur)
+  rx1225_fail:
+.annotate 'line', 447
+    (rx1225_rep, rx1225_pos, $I10, $P10) = rx1225_cur."!mark_fail"(0)
+    lt rx1225_pos, -1, rx1225_done
+    eq rx1225_pos, -1, rx1225_fail
     jump $I10
-  rx1195_done:
-    rx1195_cur."!cursor_fail"()
-    rx1195_cur."!cursor_debug"("FAIL  ", "infix:sym<ne>")
-    .return (rx1195_cur)
+  rx1225_done:
+    rx1225_cur."!cursor_fail"()
+    rx1225_cur."!cursor_debug"("FAIL  ", "infix:sym<ne>")
+    .return (rx1225_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ne>"  :subid("301_1277356913.9538") :method
-.annotate 'line', 446
-    $P1197 = self."!PREFIX__!subrule"("O", "ne")
-    new $P1198, "ResizablePMCArray"
-    push $P1198, $P1197
-    .return ($P1198)
+.sub "!PREFIX__infix:sym<ne>"  :subid("309_1278500537.15927") :method
+.annotate 'line', 447
+    $P1227 = self."!PREFIX__!subrule"("O", "ne")
+    new $P1228, "ResizablePMCArray"
+    push $P1228, $P1227
+    .return ($P1228)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<le>"  :subid("302_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1202_tgt
-    .local int rx1202_pos
-    .local int rx1202_off
-    .local int rx1202_eos
-    .local int rx1202_rep
-    .local pmc rx1202_cur
-    (rx1202_cur, rx1202_pos, rx1202_tgt) = self."!cursor_start"()
-    rx1202_cur."!cursor_debug"("START ", "infix:sym<le>")
-    .lex unicode:"$\x{a2}", rx1202_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1202_eos, rx1202_tgt
-    gt rx1202_pos, rx1202_eos, rx1202_done
-    set rx1202_off, 0
-    lt rx1202_pos, 2, rx1202_start
-    sub rx1202_off, rx1202_pos, 1
-    substr rx1202_tgt, rx1202_tgt, rx1202_off
-  rx1202_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1206_done
-    goto rxscan1206_scan
-  rxscan1206_loop:
-    ($P10) = rx1202_cur."from"()
-    inc $P10
-    set rx1202_pos, $P10
-    ge rx1202_pos, rx1202_eos, rxscan1206_done
-  rxscan1206_scan:
-    set_addr $I10, rxscan1206_loop
-    rx1202_cur."!mark_push"(0, rx1202_pos, $I10)
-  rxscan1206_done:
-.annotate 'line', 523
+.sub "infix:sym<le>"  :subid("310_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1232_tgt
+    .local int rx1232_pos
+    .local int rx1232_off
+    .local int rx1232_eos
+    .local int rx1232_rep
+    .local pmc rx1232_cur
+    (rx1232_cur, rx1232_pos, rx1232_tgt) = self."!cursor_start"()
+    rx1232_cur."!cursor_debug"("START ", "infix:sym<le>")
+    .lex unicode:"$\x{a2}", rx1232_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1232_eos, rx1232_tgt
+    gt rx1232_pos, rx1232_eos, rx1232_done
+    set rx1232_off, 0
+    lt rx1232_pos, 2, rx1232_start
+    sub rx1232_off, rx1232_pos, 1
+    substr rx1232_tgt, rx1232_tgt, rx1232_off
+  rx1232_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1236_done
+    goto rxscan1236_scan
+  rxscan1236_loop:
+    ($P10) = rx1232_cur."from"()
+    inc $P10
+    set rx1232_pos, $P10
+    ge rx1232_pos, rx1232_eos, rxscan1236_done
+  rxscan1236_scan:
+    set_addr $I10, rxscan1236_loop
+    rx1232_cur."!mark_push"(0, rx1232_pos, $I10)
+  rxscan1236_done:
+.annotate 'line', 527
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1207_fail
-    rx1202_cur."!mark_push"(0, rx1202_pos, $I10)
+    set_addr $I10, rxcap_1237_fail
+    rx1232_cur."!mark_push"(0, rx1232_pos, $I10)
   # rx literal  "le"
-    add $I11, rx1202_pos, 2
-    gt $I11, rx1202_eos, rx1202_fail
-    sub $I11, rx1202_pos, rx1202_off
-    substr $S10, rx1202_tgt, $I11, 2
-    ne $S10, "le", rx1202_fail
-    add rx1202_pos, 2
-    set_addr $I10, rxcap_1207_fail
-    ($I12, $I11) = rx1202_cur."!mark_peek"($I10)
-    rx1202_cur."!cursor_pos"($I11)
-    ($P10) = rx1202_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1202_pos, "")
-    rx1202_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1232_pos, 2
+    gt $I11, rx1232_eos, rx1232_fail
+    sub $I11, rx1232_pos, rx1232_off
+    substr $S10, rx1232_tgt, $I11, 2
+    ne $S10, "le", rx1232_fail
+    add rx1232_pos, 2
+    set_addr $I10, rxcap_1237_fail
+    ($I12, $I11) = rx1232_cur."!mark_peek"($I10)
+    rx1232_cur."!cursor_pos"($I11)
+    ($P10) = rx1232_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1232_pos, "")
+    rx1232_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1207_done
-  rxcap_1207_fail:
-    goto rx1202_fail
-  rxcap_1207_done:
+    goto rxcap_1237_done
+  rxcap_1237_fail:
+    goto rx1232_fail
+  rxcap_1237_done:
   # rx subrule "O" subtype=capture negate=
-    rx1202_cur."!cursor_pos"(rx1202_pos)
-    $P10 = rx1202_cur."O"("%relational, :pirop<isle ISs>")
-    unless $P10, rx1202_fail
-    rx1202_cur."!mark_push"(0, -1, 0, $P10)
+    rx1232_cur."!cursor_pos"(rx1232_pos)
+    $P10 = rx1232_cur."O"("%relational, :pirop<isle ISs>")
+    unless $P10, rx1232_fail
+    rx1232_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1202_pos = $P10."pos"()
+    rx1232_pos = $P10."pos"()
   # rx pass
-    rx1202_cur."!cursor_pass"(rx1202_pos, "infix:sym<le>")
-    rx1202_cur."!cursor_debug"("PASS  ", "infix:sym<le>", " at pos=", rx1202_pos)
-    .return (rx1202_cur)
-  rx1202_fail:
-.annotate 'line', 446
-    (rx1202_rep, rx1202_pos, $I10, $P10) = rx1202_cur."!mark_fail"(0)
-    lt rx1202_pos, -1, rx1202_done
-    eq rx1202_pos, -1, rx1202_fail
+    rx1232_cur."!cursor_pass"(rx1232_pos, "infix:sym<le>")
+    rx1232_cur."!cursor_debug"("PASS  ", "infix:sym<le>", " at pos=", rx1232_pos)
+    .return (rx1232_cur)
+  rx1232_fail:
+.annotate 'line', 447
+    (rx1232_rep, rx1232_pos, $I10, $P10) = rx1232_cur."!mark_fail"(0)
+    lt rx1232_pos, -1, rx1232_done
+    eq rx1232_pos, -1, rx1232_fail
     jump $I10
-  rx1202_done:
-    rx1202_cur."!cursor_fail"()
-    rx1202_cur."!cursor_debug"("FAIL  ", "infix:sym<le>")
-    .return (rx1202_cur)
+  rx1232_done:
+    rx1232_cur."!cursor_fail"()
+    rx1232_cur."!cursor_debug"("FAIL  ", "infix:sym<le>")
+    .return (rx1232_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<le>"  :subid("303_1277356913.9538") :method
-.annotate 'line', 446
-    $P1204 = self."!PREFIX__!subrule"("O", "le")
-    new $P1205, "ResizablePMCArray"
-    push $P1205, $P1204
-    .return ($P1205)
+.sub "!PREFIX__infix:sym<le>"  :subid("311_1278500537.15927") :method
+.annotate 'line', 447
+    $P1234 = self."!PREFIX__!subrule"("O", "le")
+    new $P1235, "ResizablePMCArray"
+    push $P1235, $P1234
+    .return ($P1235)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ge>"  :subid("304_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1209_tgt
-    .local int rx1209_pos
-    .local int rx1209_off
-    .local int rx1209_eos
-    .local int rx1209_rep
-    .local pmc rx1209_cur
-    (rx1209_cur, rx1209_pos, rx1209_tgt) = self."!cursor_start"()
-    rx1209_cur."!cursor_debug"("START ", "infix:sym<ge>")
-    .lex unicode:"$\x{a2}", rx1209_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1209_eos, rx1209_tgt
-    gt rx1209_pos, rx1209_eos, rx1209_done
-    set rx1209_off, 0
-    lt rx1209_pos, 2, rx1209_start
-    sub rx1209_off, rx1209_pos, 1
-    substr rx1209_tgt, rx1209_tgt, rx1209_off
-  rx1209_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1213_done
-    goto rxscan1213_scan
-  rxscan1213_loop:
-    ($P10) = rx1209_cur."from"()
-    inc $P10
-    set rx1209_pos, $P10
-    ge rx1209_pos, rx1209_eos, rxscan1213_done
-  rxscan1213_scan:
-    set_addr $I10, rxscan1213_loop
-    rx1209_cur."!mark_push"(0, rx1209_pos, $I10)
-  rxscan1213_done:
-.annotate 'line', 524
+.sub "infix:sym<ge>"  :subid("312_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1239_tgt
+    .local int rx1239_pos
+    .local int rx1239_off
+    .local int rx1239_eos
+    .local int rx1239_rep
+    .local pmc rx1239_cur
+    (rx1239_cur, rx1239_pos, rx1239_tgt) = self."!cursor_start"()
+    rx1239_cur."!cursor_debug"("START ", "infix:sym<ge>")
+    .lex unicode:"$\x{a2}", rx1239_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1239_eos, rx1239_tgt
+    gt rx1239_pos, rx1239_eos, rx1239_done
+    set rx1239_off, 0
+    lt rx1239_pos, 2, rx1239_start
+    sub rx1239_off, rx1239_pos, 1
+    substr rx1239_tgt, rx1239_tgt, rx1239_off
+  rx1239_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1243_done
+    goto rxscan1243_scan
+  rxscan1243_loop:
+    ($P10) = rx1239_cur."from"()
+    inc $P10
+    set rx1239_pos, $P10
+    ge rx1239_pos, rx1239_eos, rxscan1243_done
+  rxscan1243_scan:
+    set_addr $I10, rxscan1243_loop
+    rx1239_cur."!mark_push"(0, rx1239_pos, $I10)
+  rxscan1243_done:
+.annotate 'line', 528
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1214_fail
-    rx1209_cur."!mark_push"(0, rx1209_pos, $I10)
+    set_addr $I10, rxcap_1244_fail
+    rx1239_cur."!mark_push"(0, rx1239_pos, $I10)
   # rx literal  "ge"
-    add $I11, rx1209_pos, 2
-    gt $I11, rx1209_eos, rx1209_fail
-    sub $I11, rx1209_pos, rx1209_off
-    substr $S10, rx1209_tgt, $I11, 2
-    ne $S10, "ge", rx1209_fail
-    add rx1209_pos, 2
-    set_addr $I10, rxcap_1214_fail
-    ($I12, $I11) = rx1209_cur."!mark_peek"($I10)
-    rx1209_cur."!cursor_pos"($I11)
-    ($P10) = rx1209_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1209_pos, "")
-    rx1209_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1239_pos, 2
+    gt $I11, rx1239_eos, rx1239_fail
+    sub $I11, rx1239_pos, rx1239_off
+    substr $S10, rx1239_tgt, $I11, 2
+    ne $S10, "ge", rx1239_fail
+    add rx1239_pos, 2
+    set_addr $I10, rxcap_1244_fail
+    ($I12, $I11) = rx1239_cur."!mark_peek"($I10)
+    rx1239_cur."!cursor_pos"($I11)
+    ($P10) = rx1239_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1239_pos, "")
+    rx1239_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1214_done
-  rxcap_1214_fail:
-    goto rx1209_fail
-  rxcap_1214_done:
+    goto rxcap_1244_done
+  rxcap_1244_fail:
+    goto rx1239_fail
+  rxcap_1244_done:
   # rx subrule "O" subtype=capture negate=
-    rx1209_cur."!cursor_pos"(rx1209_pos)
-    $P10 = rx1209_cur."O"("%relational, :pirop<isge ISs>")
-    unless $P10, rx1209_fail
-    rx1209_cur."!mark_push"(0, -1, 0, $P10)
+    rx1239_cur."!cursor_pos"(rx1239_pos)
+    $P10 = rx1239_cur."O"("%relational, :pirop<isge ISs>")
+    unless $P10, rx1239_fail
+    rx1239_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1209_pos = $P10."pos"()
+    rx1239_pos = $P10."pos"()
   # rx pass
-    rx1209_cur."!cursor_pass"(rx1209_pos, "infix:sym<ge>")
-    rx1209_cur."!cursor_debug"("PASS  ", "infix:sym<ge>", " at pos=", rx1209_pos)
-    .return (rx1209_cur)
-  rx1209_fail:
-.annotate 'line', 446
-    (rx1209_rep, rx1209_pos, $I10, $P10) = rx1209_cur."!mark_fail"(0)
-    lt rx1209_pos, -1, rx1209_done
-    eq rx1209_pos, -1, rx1209_fail
+    rx1239_cur."!cursor_pass"(rx1239_pos, "infix:sym<ge>")
+    rx1239_cur."!cursor_debug"("PASS  ", "infix:sym<ge>", " at pos=", rx1239_pos)
+    .return (rx1239_cur)
+  rx1239_fail:
+.annotate 'line', 447
+    (rx1239_rep, rx1239_pos, $I10, $P10) = rx1239_cur."!mark_fail"(0)
+    lt rx1239_pos, -1, rx1239_done
+    eq rx1239_pos, -1, rx1239_fail
     jump $I10
-  rx1209_done:
-    rx1209_cur."!cursor_fail"()
-    rx1209_cur."!cursor_debug"("FAIL  ", "infix:sym<ge>")
-    .return (rx1209_cur)
+  rx1239_done:
+    rx1239_cur."!cursor_fail"()
+    rx1239_cur."!cursor_debug"("FAIL  ", "infix:sym<ge>")
+    .return (rx1239_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ge>"  :subid("305_1277356913.9538") :method
-.annotate 'line', 446
-    $P1211 = self."!PREFIX__!subrule"("O", "ge")
-    new $P1212, "ResizablePMCArray"
-    push $P1212, $P1211
-    .return ($P1212)
+.sub "!PREFIX__infix:sym<ge>"  :subid("313_1278500537.15927") :method
+.annotate 'line', 447
+    $P1241 = self."!PREFIX__!subrule"("O", "ge")
+    new $P1242, "ResizablePMCArray"
+    push $P1242, $P1241
+    .return ($P1242)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<lt>"  :subid("306_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1216_tgt
-    .local int rx1216_pos
-    .local int rx1216_off
-    .local int rx1216_eos
-    .local int rx1216_rep
-    .local pmc rx1216_cur
-    (rx1216_cur, rx1216_pos, rx1216_tgt) = self."!cursor_start"()
-    rx1216_cur."!cursor_debug"("START ", "infix:sym<lt>")
-    .lex unicode:"$\x{a2}", rx1216_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1216_eos, rx1216_tgt
-    gt rx1216_pos, rx1216_eos, rx1216_done
-    set rx1216_off, 0
-    lt rx1216_pos, 2, rx1216_start
-    sub rx1216_off, rx1216_pos, 1
-    substr rx1216_tgt, rx1216_tgt, rx1216_off
-  rx1216_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1220_done
-    goto rxscan1220_scan
-  rxscan1220_loop:
-    ($P10) = rx1216_cur."from"()
-    inc $P10
-    set rx1216_pos, $P10
-    ge rx1216_pos, rx1216_eos, rxscan1220_done
-  rxscan1220_scan:
-    set_addr $I10, rxscan1220_loop
-    rx1216_cur."!mark_push"(0, rx1216_pos, $I10)
-  rxscan1220_done:
-.annotate 'line', 525
+.sub "infix:sym<lt>"  :subid("314_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1246_tgt
+    .local int rx1246_pos
+    .local int rx1246_off
+    .local int rx1246_eos
+    .local int rx1246_rep
+    .local pmc rx1246_cur
+    (rx1246_cur, rx1246_pos, rx1246_tgt) = self."!cursor_start"()
+    rx1246_cur."!cursor_debug"("START ", "infix:sym<lt>")
+    .lex unicode:"$\x{a2}", rx1246_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1246_eos, rx1246_tgt
+    gt rx1246_pos, rx1246_eos, rx1246_done
+    set rx1246_off, 0
+    lt rx1246_pos, 2, rx1246_start
+    sub rx1246_off, rx1246_pos, 1
+    substr rx1246_tgt, rx1246_tgt, rx1246_off
+  rx1246_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1250_done
+    goto rxscan1250_scan
+  rxscan1250_loop:
+    ($P10) = rx1246_cur."from"()
+    inc $P10
+    set rx1246_pos, $P10
+    ge rx1246_pos, rx1246_eos, rxscan1250_done
+  rxscan1250_scan:
+    set_addr $I10, rxscan1250_loop
+    rx1246_cur."!mark_push"(0, rx1246_pos, $I10)
+  rxscan1250_done:
+.annotate 'line', 529
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1221_fail
-    rx1216_cur."!mark_push"(0, rx1216_pos, $I10)
+    set_addr $I10, rxcap_1251_fail
+    rx1246_cur."!mark_push"(0, rx1246_pos, $I10)
   # rx literal  "lt"
-    add $I11, rx1216_pos, 2
-    gt $I11, rx1216_eos, rx1216_fail
-    sub $I11, rx1216_pos, rx1216_off
-    substr $S10, rx1216_tgt, $I11, 2
-    ne $S10, "lt", rx1216_fail
-    add rx1216_pos, 2
-    set_addr $I10, rxcap_1221_fail
-    ($I12, $I11) = rx1216_cur."!mark_peek"($I10)
-    rx1216_cur."!cursor_pos"($I11)
-    ($P10) = rx1216_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1216_pos, "")
-    rx1216_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1246_pos, 2
+    gt $I11, rx1246_eos, rx1246_fail
+    sub $I11, rx1246_pos, rx1246_off
+    substr $S10, rx1246_tgt, $I11, 2
+    ne $S10, "lt", rx1246_fail
+    add rx1246_pos, 2
+    set_addr $I10, rxcap_1251_fail
+    ($I12, $I11) = rx1246_cur."!mark_peek"($I10)
+    rx1246_cur."!cursor_pos"($I11)
+    ($P10) = rx1246_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1246_pos, "")
+    rx1246_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1221_done
-  rxcap_1221_fail:
-    goto rx1216_fail
-  rxcap_1221_done:
+    goto rxcap_1251_done
+  rxcap_1251_fail:
+    goto rx1246_fail
+  rxcap_1251_done:
   # rx subrule "O" subtype=capture negate=
-    rx1216_cur."!cursor_pos"(rx1216_pos)
-    $P10 = rx1216_cur."O"("%relational, :pirop<islt ISs>")
-    unless $P10, rx1216_fail
-    rx1216_cur."!mark_push"(0, -1, 0, $P10)
+    rx1246_cur."!cursor_pos"(rx1246_pos)
+    $P10 = rx1246_cur."O"("%relational, :pirop<islt ISs>")
+    unless $P10, rx1246_fail
+    rx1246_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1216_pos = $P10."pos"()
+    rx1246_pos = $P10."pos"()
   # rx pass
-    rx1216_cur."!cursor_pass"(rx1216_pos, "infix:sym<lt>")
-    rx1216_cur."!cursor_debug"("PASS  ", "infix:sym<lt>", " at pos=", rx1216_pos)
-    .return (rx1216_cur)
-  rx1216_fail:
-.annotate 'line', 446
-    (rx1216_rep, rx1216_pos, $I10, $P10) = rx1216_cur."!mark_fail"(0)
-    lt rx1216_pos, -1, rx1216_done
-    eq rx1216_pos, -1, rx1216_fail
+    rx1246_cur."!cursor_pass"(rx1246_pos, "infix:sym<lt>")
+    rx1246_cur."!cursor_debug"("PASS  ", "infix:sym<lt>", " at pos=", rx1246_pos)
+    .return (rx1246_cur)
+  rx1246_fail:
+.annotate 'line', 447
+    (rx1246_rep, rx1246_pos, $I10, $P10) = rx1246_cur."!mark_fail"(0)
+    lt rx1246_pos, -1, rx1246_done
+    eq rx1246_pos, -1, rx1246_fail
     jump $I10
-  rx1216_done:
-    rx1216_cur."!cursor_fail"()
-    rx1216_cur."!cursor_debug"("FAIL  ", "infix:sym<lt>")
-    .return (rx1216_cur)
+  rx1246_done:
+    rx1246_cur."!cursor_fail"()
+    rx1246_cur."!cursor_debug"("FAIL  ", "infix:sym<lt>")
+    .return (rx1246_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<lt>"  :subid("307_1277356913.9538") :method
-.annotate 'line', 446
-    $P1218 = self."!PREFIX__!subrule"("O", "lt")
-    new $P1219, "ResizablePMCArray"
-    push $P1219, $P1218
-    .return ($P1219)
+.sub "!PREFIX__infix:sym<lt>"  :subid("315_1278500537.15927") :method
+.annotate 'line', 447
+    $P1248 = self."!PREFIX__!subrule"("O", "lt")
+    new $P1249, "ResizablePMCArray"
+    push $P1249, $P1248
+    .return ($P1249)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<gt>"  :subid("308_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1223_tgt
-    .local int rx1223_pos
-    .local int rx1223_off
-    .local int rx1223_eos
-    .local int rx1223_rep
-    .local pmc rx1223_cur
-    (rx1223_cur, rx1223_pos, rx1223_tgt) = self."!cursor_start"()
-    rx1223_cur."!cursor_debug"("START ", "infix:sym<gt>")
-    .lex unicode:"$\x{a2}", rx1223_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1223_eos, rx1223_tgt
-    gt rx1223_pos, rx1223_eos, rx1223_done
-    set rx1223_off, 0
-    lt rx1223_pos, 2, rx1223_start
-    sub rx1223_off, rx1223_pos, 1
-    substr rx1223_tgt, rx1223_tgt, rx1223_off
-  rx1223_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1227_done
-    goto rxscan1227_scan
-  rxscan1227_loop:
-    ($P10) = rx1223_cur."from"()
-    inc $P10
-    set rx1223_pos, $P10
-    ge rx1223_pos, rx1223_eos, rxscan1227_done
-  rxscan1227_scan:
-    set_addr $I10, rxscan1227_loop
-    rx1223_cur."!mark_push"(0, rx1223_pos, $I10)
-  rxscan1227_done:
-.annotate 'line', 526
+.sub "infix:sym<gt>"  :subid("316_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1253_tgt
+    .local int rx1253_pos
+    .local int rx1253_off
+    .local int rx1253_eos
+    .local int rx1253_rep
+    .local pmc rx1253_cur
+    (rx1253_cur, rx1253_pos, rx1253_tgt) = self."!cursor_start"()
+    rx1253_cur."!cursor_debug"("START ", "infix:sym<gt>")
+    .lex unicode:"$\x{a2}", rx1253_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1253_eos, rx1253_tgt
+    gt rx1253_pos, rx1253_eos, rx1253_done
+    set rx1253_off, 0
+    lt rx1253_pos, 2, rx1253_start
+    sub rx1253_off, rx1253_pos, 1
+    substr rx1253_tgt, rx1253_tgt, rx1253_off
+  rx1253_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1257_done
+    goto rxscan1257_scan
+  rxscan1257_loop:
+    ($P10) = rx1253_cur."from"()
+    inc $P10
+    set rx1253_pos, $P10
+    ge rx1253_pos, rx1253_eos, rxscan1257_done
+  rxscan1257_scan:
+    set_addr $I10, rxscan1257_loop
+    rx1253_cur."!mark_push"(0, rx1253_pos, $I10)
+  rxscan1257_done:
+.annotate 'line', 530
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1228_fail
-    rx1223_cur."!mark_push"(0, rx1223_pos, $I10)
+    set_addr $I10, rxcap_1258_fail
+    rx1253_cur."!mark_push"(0, rx1253_pos, $I10)
   # rx literal  "gt"
-    add $I11, rx1223_pos, 2
-    gt $I11, rx1223_eos, rx1223_fail
-    sub $I11, rx1223_pos, rx1223_off
-    substr $S10, rx1223_tgt, $I11, 2
-    ne $S10, "gt", rx1223_fail
-    add rx1223_pos, 2
-    set_addr $I10, rxcap_1228_fail
-    ($I12, $I11) = rx1223_cur."!mark_peek"($I10)
-    rx1223_cur."!cursor_pos"($I11)
-    ($P10) = rx1223_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1223_pos, "")
-    rx1223_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1253_pos, 2
+    gt $I11, rx1253_eos, rx1253_fail
+    sub $I11, rx1253_pos, rx1253_off
+    substr $S10, rx1253_tgt, $I11, 2
+    ne $S10, "gt", rx1253_fail
+    add rx1253_pos, 2
+    set_addr $I10, rxcap_1258_fail
+    ($I12, $I11) = rx1253_cur."!mark_peek"($I10)
+    rx1253_cur."!cursor_pos"($I11)
+    ($P10) = rx1253_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1253_pos, "")
+    rx1253_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1228_done
-  rxcap_1228_fail:
-    goto rx1223_fail
-  rxcap_1228_done:
+    goto rxcap_1258_done
+  rxcap_1258_fail:
+    goto rx1253_fail
+  rxcap_1258_done:
   # rx subrule "O" subtype=capture negate=
-    rx1223_cur."!cursor_pos"(rx1223_pos)
-    $P10 = rx1223_cur."O"("%relational, :pirop<isgt ISs>")
-    unless $P10, rx1223_fail
-    rx1223_cur."!mark_push"(0, -1, 0, $P10)
+    rx1253_cur."!cursor_pos"(rx1253_pos)
+    $P10 = rx1253_cur."O"("%relational, :pirop<isgt ISs>")
+    unless $P10, rx1253_fail
+    rx1253_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1223_pos = $P10."pos"()
+    rx1253_pos = $P10."pos"()
   # rx pass
-    rx1223_cur."!cursor_pass"(rx1223_pos, "infix:sym<gt>")
-    rx1223_cur."!cursor_debug"("PASS  ", "infix:sym<gt>", " at pos=", rx1223_pos)
-    .return (rx1223_cur)
-  rx1223_fail:
-.annotate 'line', 446
-    (rx1223_rep, rx1223_pos, $I10, $P10) = rx1223_cur."!mark_fail"(0)
-    lt rx1223_pos, -1, rx1223_done
-    eq rx1223_pos, -1, rx1223_fail
+    rx1253_cur."!cursor_pass"(rx1253_pos, "infix:sym<gt>")
+    rx1253_cur."!cursor_debug"("PASS  ", "infix:sym<gt>", " at pos=", rx1253_pos)
+    .return (rx1253_cur)
+  rx1253_fail:
+.annotate 'line', 447
+    (rx1253_rep, rx1253_pos, $I10, $P10) = rx1253_cur."!mark_fail"(0)
+    lt rx1253_pos, -1, rx1253_done
+    eq rx1253_pos, -1, rx1253_fail
     jump $I10
-  rx1223_done:
-    rx1223_cur."!cursor_fail"()
-    rx1223_cur."!cursor_debug"("FAIL  ", "infix:sym<gt>")
-    .return (rx1223_cur)
+  rx1253_done:
+    rx1253_cur."!cursor_fail"()
+    rx1253_cur."!cursor_debug"("FAIL  ", "infix:sym<gt>")
+    .return (rx1253_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<gt>"  :subid("309_1277356913.9538") :method
-.annotate 'line', 446
-    $P1225 = self."!PREFIX__!subrule"("O", "gt")
-    new $P1226, "ResizablePMCArray"
-    push $P1226, $P1225
-    .return ($P1226)
+.sub "!PREFIX__infix:sym<gt>"  :subid("317_1278500537.15927") :method
+.annotate 'line', 447
+    $P1255 = self."!PREFIX__!subrule"("O", "gt")
+    new $P1256, "ResizablePMCArray"
+    push $P1256, $P1255
+    .return ($P1256)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=:=>"  :subid("310_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1230_tgt
-    .local int rx1230_pos
-    .local int rx1230_off
-    .local int rx1230_eos
-    .local int rx1230_rep
-    .local pmc rx1230_cur
-    (rx1230_cur, rx1230_pos, rx1230_tgt) = self."!cursor_start"()
-    rx1230_cur."!cursor_debug"("START ", "infix:sym<=:=>")
-    .lex unicode:"$\x{a2}", rx1230_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1230_eos, rx1230_tgt
-    gt rx1230_pos, rx1230_eos, rx1230_done
-    set rx1230_off, 0
-    lt rx1230_pos, 2, rx1230_start
-    sub rx1230_off, rx1230_pos, 1
-    substr rx1230_tgt, rx1230_tgt, rx1230_off
-  rx1230_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1234_done
-    goto rxscan1234_scan
-  rxscan1234_loop:
-    ($P10) = rx1230_cur."from"()
-    inc $P10
-    set rx1230_pos, $P10
-    ge rx1230_pos, rx1230_eos, rxscan1234_done
-  rxscan1234_scan:
-    set_addr $I10, rxscan1234_loop
-    rx1230_cur."!mark_push"(0, rx1230_pos, $I10)
-  rxscan1234_done:
-.annotate 'line', 527
+.sub "infix:sym<=:=>"  :subid("318_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1260_tgt
+    .local int rx1260_pos
+    .local int rx1260_off
+    .local int rx1260_eos
+    .local int rx1260_rep
+    .local pmc rx1260_cur
+    (rx1260_cur, rx1260_pos, rx1260_tgt) = self."!cursor_start"()
+    rx1260_cur."!cursor_debug"("START ", "infix:sym<=:=>")
+    .lex unicode:"$\x{a2}", rx1260_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1260_eos, rx1260_tgt
+    gt rx1260_pos, rx1260_eos, rx1260_done
+    set rx1260_off, 0
+    lt rx1260_pos, 2, rx1260_start
+    sub rx1260_off, rx1260_pos, 1
+    substr rx1260_tgt, rx1260_tgt, rx1260_off
+  rx1260_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1264_done
+    goto rxscan1264_scan
+  rxscan1264_loop:
+    ($P10) = rx1260_cur."from"()
+    inc $P10
+    set rx1260_pos, $P10
+    ge rx1260_pos, rx1260_eos, rxscan1264_done
+  rxscan1264_scan:
+    set_addr $I10, rxscan1264_loop
+    rx1260_cur."!mark_push"(0, rx1260_pos, $I10)
+  rxscan1264_done:
+.annotate 'line', 531
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1235_fail
-    rx1230_cur."!mark_push"(0, rx1230_pos, $I10)
+    set_addr $I10, rxcap_1265_fail
+    rx1260_cur."!mark_push"(0, rx1260_pos, $I10)
   # rx literal  "=:="
-    add $I11, rx1230_pos, 3
-    gt $I11, rx1230_eos, rx1230_fail
-    sub $I11, rx1230_pos, rx1230_off
-    substr $S10, rx1230_tgt, $I11, 3
-    ne $S10, "=:=", rx1230_fail
-    add rx1230_pos, 3
-    set_addr $I10, rxcap_1235_fail
-    ($I12, $I11) = rx1230_cur."!mark_peek"($I10)
-    rx1230_cur."!cursor_pos"($I11)
-    ($P10) = rx1230_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1230_pos, "")
-    rx1230_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1260_pos, 3
+    gt $I11, rx1260_eos, rx1260_fail
+    sub $I11, rx1260_pos, rx1260_off
+    substr $S10, rx1260_tgt, $I11, 3
+    ne $S10, "=:=", rx1260_fail
+    add rx1260_pos, 3
+    set_addr $I10, rxcap_1265_fail
+    ($I12, $I11) = rx1260_cur."!mark_peek"($I10)
+    rx1260_cur."!cursor_pos"($I11)
+    ($P10) = rx1260_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1260_pos, "")
+    rx1260_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1235_done
-  rxcap_1235_fail:
-    goto rx1230_fail
-  rxcap_1235_done:
+    goto rxcap_1265_done
+  rxcap_1265_fail:
+    goto rx1260_fail
+  rxcap_1265_done:
   # rx subrule "O" subtype=capture negate=
-    rx1230_cur."!cursor_pos"(rx1230_pos)
-    $P10 = rx1230_cur."O"("%relational, :pirop<issame>")
-    unless $P10, rx1230_fail
-    rx1230_cur."!mark_push"(0, -1, 0, $P10)
+    rx1260_cur."!cursor_pos"(rx1260_pos)
+    $P10 = rx1260_cur."O"("%relational, :pirop<issame>")
+    unless $P10, rx1260_fail
+    rx1260_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1230_pos = $P10."pos"()
+    rx1260_pos = $P10."pos"()
   # rx pass
-    rx1230_cur."!cursor_pass"(rx1230_pos, "infix:sym<=:=>")
-    rx1230_cur."!cursor_debug"("PASS  ", "infix:sym<=:=>", " at pos=", rx1230_pos)
-    .return (rx1230_cur)
-  rx1230_fail:
-.annotate 'line', 446
-    (rx1230_rep, rx1230_pos, $I10, $P10) = rx1230_cur."!mark_fail"(0)
-    lt rx1230_pos, -1, rx1230_done
-    eq rx1230_pos, -1, rx1230_fail
+    rx1260_cur."!cursor_pass"(rx1260_pos, "infix:sym<=:=>")
+    rx1260_cur."!cursor_debug"("PASS  ", "infix:sym<=:=>", " at pos=", rx1260_pos)
+    .return (rx1260_cur)
+  rx1260_fail:
+.annotate 'line', 447
+    (rx1260_rep, rx1260_pos, $I10, $P10) = rx1260_cur."!mark_fail"(0)
+    lt rx1260_pos, -1, rx1260_done
+    eq rx1260_pos, -1, rx1260_fail
     jump $I10
-  rx1230_done:
-    rx1230_cur."!cursor_fail"()
-    rx1230_cur."!cursor_debug"("FAIL  ", "infix:sym<=:=>")
-    .return (rx1230_cur)
+  rx1260_done:
+    rx1260_cur."!cursor_fail"()
+    rx1260_cur."!cursor_debug"("FAIL  ", "infix:sym<=:=>")
+    .return (rx1260_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=:=>"  :subid("311_1277356913.9538") :method
-.annotate 'line', 446
-    $P1232 = self."!PREFIX__!subrule"("O", "=:=")
-    new $P1233, "ResizablePMCArray"
-    push $P1233, $P1232
-    .return ($P1233)
+.sub "!PREFIX__infix:sym<=:=>"  :subid("319_1278500537.15927") :method
+.annotate 'line', 447
+    $P1262 = self."!PREFIX__!subrule"("O", "=:=")
+    new $P1263, "ResizablePMCArray"
+    push $P1263, $P1262
+    .return ($P1263)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~~>"  :subid("312_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1237_tgt
-    .local int rx1237_pos
-    .local int rx1237_off
-    .local int rx1237_eos
-    .local int rx1237_rep
-    .local pmc rx1237_cur
-    (rx1237_cur, rx1237_pos, rx1237_tgt) = self."!cursor_start"()
-    rx1237_cur."!cursor_debug"("START ", "infix:sym<~~>")
-    .lex unicode:"$\x{a2}", rx1237_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1237_eos, rx1237_tgt
-    gt rx1237_pos, rx1237_eos, rx1237_done
-    set rx1237_off, 0
-    lt rx1237_pos, 2, rx1237_start
-    sub rx1237_off, rx1237_pos, 1
-    substr rx1237_tgt, rx1237_tgt, rx1237_off
-  rx1237_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1241_done
-    goto rxscan1241_scan
-  rxscan1241_loop:
-    ($P10) = rx1237_cur."from"()
-    inc $P10
-    set rx1237_pos, $P10
-    ge rx1237_pos, rx1237_eos, rxscan1241_done
-  rxscan1241_scan:
-    set_addr $I10, rxscan1241_loop
-    rx1237_cur."!mark_push"(0, rx1237_pos, $I10)
-  rxscan1241_done:
-.annotate 'line', 528
+.sub "infix:sym<~~>"  :subid("320_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1267_tgt
+    .local int rx1267_pos
+    .local int rx1267_off
+    .local int rx1267_eos
+    .local int rx1267_rep
+    .local pmc rx1267_cur
+    (rx1267_cur, rx1267_pos, rx1267_tgt) = self."!cursor_start"()
+    rx1267_cur."!cursor_debug"("START ", "infix:sym<~~>")
+    .lex unicode:"$\x{a2}", rx1267_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1267_eos, rx1267_tgt
+    gt rx1267_pos, rx1267_eos, rx1267_done
+    set rx1267_off, 0
+    lt rx1267_pos, 2, rx1267_start
+    sub rx1267_off, rx1267_pos, 1
+    substr rx1267_tgt, rx1267_tgt, rx1267_off
+  rx1267_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1271_done
+    goto rxscan1271_scan
+  rxscan1271_loop:
+    ($P10) = rx1267_cur."from"()
+    inc $P10
+    set rx1267_pos, $P10
+    ge rx1267_pos, rx1267_eos, rxscan1271_done
+  rxscan1271_scan:
+    set_addr $I10, rxscan1271_loop
+    rx1267_cur."!mark_push"(0, rx1267_pos, $I10)
+  rxscan1271_done:
+.annotate 'line', 532
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1242_fail
-    rx1237_cur."!mark_push"(0, rx1237_pos, $I10)
+    set_addr $I10, rxcap_1272_fail
+    rx1267_cur."!mark_push"(0, rx1267_pos, $I10)
   # rx literal  "~~"
-    add $I11, rx1237_pos, 2
-    gt $I11, rx1237_eos, rx1237_fail
-    sub $I11, rx1237_pos, rx1237_off
-    substr $S10, rx1237_tgt, $I11, 2
-    ne $S10, "~~", rx1237_fail
-    add rx1237_pos, 2
-    set_addr $I10, rxcap_1242_fail
-    ($I12, $I11) = rx1237_cur."!mark_peek"($I10)
-    rx1237_cur."!cursor_pos"($I11)
-    ($P10) = rx1237_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1237_pos, "")
-    rx1237_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1267_pos, 2
+    gt $I11, rx1267_eos, rx1267_fail
+    sub $I11, rx1267_pos, rx1267_off
+    substr $S10, rx1267_tgt, $I11, 2
+    ne $S10, "~~", rx1267_fail
+    add rx1267_pos, 2
+    set_addr $I10, rxcap_1272_fail
+    ($I12, $I11) = rx1267_cur."!mark_peek"($I10)
+    rx1267_cur."!cursor_pos"($I11)
+    ($P10) = rx1267_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1267_pos, "")
+    rx1267_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1242_done
-  rxcap_1242_fail:
-    goto rx1237_fail
-  rxcap_1242_done:
+    goto rxcap_1272_done
+  rxcap_1272_fail:
+    goto rx1267_fail
+  rxcap_1272_done:
   # rx subrule "O" subtype=capture negate=
-    rx1237_cur."!cursor_pos"(rx1237_pos)
-    $P10 = rx1237_cur."O"("%relational, :reducecheck<smartmatch>")
-    unless $P10, rx1237_fail
-    rx1237_cur."!mark_push"(0, -1, 0, $P10)
+    rx1267_cur."!cursor_pos"(rx1267_pos)
+    $P10 = rx1267_cur."O"("%relational, :reducecheck<smartmatch>")
+    unless $P10, rx1267_fail
+    rx1267_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1237_pos = $P10."pos"()
+    rx1267_pos = $P10."pos"()
   # rx pass
-    rx1237_cur."!cursor_pass"(rx1237_pos, "infix:sym<~~>")
-    rx1237_cur."!cursor_debug"("PASS  ", "infix:sym<~~>", " at pos=", rx1237_pos)
-    .return (rx1237_cur)
-  rx1237_fail:
-.annotate 'line', 446
-    (rx1237_rep, rx1237_pos, $I10, $P10) = rx1237_cur."!mark_fail"(0)
-    lt rx1237_pos, -1, rx1237_done
-    eq rx1237_pos, -1, rx1237_fail
+    rx1267_cur."!cursor_pass"(rx1267_pos, "infix:sym<~~>")
+    rx1267_cur."!cursor_debug"("PASS  ", "infix:sym<~~>", " at pos=", rx1267_pos)
+    .return (rx1267_cur)
+  rx1267_fail:
+.annotate 'line', 447
+    (rx1267_rep, rx1267_pos, $I10, $P10) = rx1267_cur."!mark_fail"(0)
+    lt rx1267_pos, -1, rx1267_done
+    eq rx1267_pos, -1, rx1267_fail
     jump $I10
-  rx1237_done:
-    rx1237_cur."!cursor_fail"()
-    rx1237_cur."!cursor_debug"("FAIL  ", "infix:sym<~~>")
-    .return (rx1237_cur)
+  rx1267_done:
+    rx1267_cur."!cursor_fail"()
+    rx1267_cur."!cursor_debug"("FAIL  ", "infix:sym<~~>")
+    .return (rx1267_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~~>"  :subid("313_1277356913.9538") :method
-.annotate 'line', 446
-    $P1239 = self."!PREFIX__!subrule"("O", "~~")
-    new $P1240, "ResizablePMCArray"
-    push $P1240, $P1239
-    .return ($P1240)
+.sub "!PREFIX__infix:sym<~~>"  :subid("321_1278500537.15927") :method
+.annotate 'line', 447
+    $P1269 = self."!PREFIX__!subrule"("O", "~~")
+    new $P1270, "ResizablePMCArray"
+    push $P1270, $P1269
+    .return ($P1270)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<&&>"  :subid("314_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1244_tgt
-    .local int rx1244_pos
-    .local int rx1244_off
-    .local int rx1244_eos
-    .local int rx1244_rep
-    .local pmc rx1244_cur
-    (rx1244_cur, rx1244_pos, rx1244_tgt) = self."!cursor_start"()
-    rx1244_cur."!cursor_debug"("START ", "infix:sym<&&>")
-    .lex unicode:"$\x{a2}", rx1244_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1244_eos, rx1244_tgt
-    gt rx1244_pos, rx1244_eos, rx1244_done
-    set rx1244_off, 0
-    lt rx1244_pos, 2, rx1244_start
-    sub rx1244_off, rx1244_pos, 1
-    substr rx1244_tgt, rx1244_tgt, rx1244_off
-  rx1244_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1248_done
-    goto rxscan1248_scan
-  rxscan1248_loop:
-    ($P10) = rx1244_cur."from"()
-    inc $P10
-    set rx1244_pos, $P10
-    ge rx1244_pos, rx1244_eos, rxscan1248_done
-  rxscan1248_scan:
-    set_addr $I10, rxscan1248_loop
-    rx1244_cur."!mark_push"(0, rx1244_pos, $I10)
-  rxscan1248_done:
-.annotate 'line', 530
+.sub "infix:sym<&&>"  :subid("322_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1274_tgt
+    .local int rx1274_pos
+    .local int rx1274_off
+    .local int rx1274_eos
+    .local int rx1274_rep
+    .local pmc rx1274_cur
+    (rx1274_cur, rx1274_pos, rx1274_tgt) = self."!cursor_start"()
+    rx1274_cur."!cursor_debug"("START ", "infix:sym<&&>")
+    .lex unicode:"$\x{a2}", rx1274_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1274_eos, rx1274_tgt
+    gt rx1274_pos, rx1274_eos, rx1274_done
+    set rx1274_off, 0
+    lt rx1274_pos, 2, rx1274_start
+    sub rx1274_off, rx1274_pos, 1
+    substr rx1274_tgt, rx1274_tgt, rx1274_off
+  rx1274_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1278_done
+    goto rxscan1278_scan
+  rxscan1278_loop:
+    ($P10) = rx1274_cur."from"()
+    inc $P10
+    set rx1274_pos, $P10
+    ge rx1274_pos, rx1274_eos, rxscan1278_done
+  rxscan1278_scan:
+    set_addr $I10, rxscan1278_loop
+    rx1274_cur."!mark_push"(0, rx1274_pos, $I10)
+  rxscan1278_done:
+.annotate 'line', 534
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1249_fail
-    rx1244_cur."!mark_push"(0, rx1244_pos, $I10)
+    set_addr $I10, rxcap_1279_fail
+    rx1274_cur."!mark_push"(0, rx1274_pos, $I10)
   # rx literal  "&&"
-    add $I11, rx1244_pos, 2
-    gt $I11, rx1244_eos, rx1244_fail
-    sub $I11, rx1244_pos, rx1244_off
-    substr $S10, rx1244_tgt, $I11, 2
-    ne $S10, "&&", rx1244_fail
-    add rx1244_pos, 2
-    set_addr $I10, rxcap_1249_fail
-    ($I12, $I11) = rx1244_cur."!mark_peek"($I10)
-    rx1244_cur."!cursor_pos"($I11)
-    ($P10) = rx1244_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1244_pos, "")
-    rx1244_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1274_pos, 2
+    gt $I11, rx1274_eos, rx1274_fail
+    sub $I11, rx1274_pos, rx1274_off
+    substr $S10, rx1274_tgt, $I11, 2
+    ne $S10, "&&", rx1274_fail
+    add rx1274_pos, 2
+    set_addr $I10, rxcap_1279_fail
+    ($I12, $I11) = rx1274_cur."!mark_peek"($I10)
+    rx1274_cur."!cursor_pos"($I11)
+    ($P10) = rx1274_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1274_pos, "")
+    rx1274_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1249_done
-  rxcap_1249_fail:
-    goto rx1244_fail
-  rxcap_1249_done:
+    goto rxcap_1279_done
+  rxcap_1279_fail:
+    goto rx1274_fail
+  rxcap_1279_done:
   # rx subrule "O" subtype=capture negate=
-    rx1244_cur."!cursor_pos"(rx1244_pos)
-    $P10 = rx1244_cur."O"("%tight_and, :pasttype<if>")
-    unless $P10, rx1244_fail
-    rx1244_cur."!mark_push"(0, -1, 0, $P10)
+    rx1274_cur."!cursor_pos"(rx1274_pos)
+    $P10 = rx1274_cur."O"("%tight_and, :pasttype<if>")
+    unless $P10, rx1274_fail
+    rx1274_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1244_pos = $P10."pos"()
+    rx1274_pos = $P10."pos"()
   # rx pass
-    rx1244_cur."!cursor_pass"(rx1244_pos, "infix:sym<&&>")
-    rx1244_cur."!cursor_debug"("PASS  ", "infix:sym<&&>", " at pos=", rx1244_pos)
-    .return (rx1244_cur)
-  rx1244_fail:
-.annotate 'line', 446
-    (rx1244_rep, rx1244_pos, $I10, $P10) = rx1244_cur."!mark_fail"(0)
-    lt rx1244_pos, -1, rx1244_done
-    eq rx1244_pos, -1, rx1244_fail
+    rx1274_cur."!cursor_pass"(rx1274_pos, "infix:sym<&&>")
+    rx1274_cur."!cursor_debug"("PASS  ", "infix:sym<&&>", " at pos=", rx1274_pos)
+    .return (rx1274_cur)
+  rx1274_fail:
+.annotate 'line', 447
+    (rx1274_rep, rx1274_pos, $I10, $P10) = rx1274_cur."!mark_fail"(0)
+    lt rx1274_pos, -1, rx1274_done
+    eq rx1274_pos, -1, rx1274_fail
     jump $I10
-  rx1244_done:
-    rx1244_cur."!cursor_fail"()
-    rx1244_cur."!cursor_debug"("FAIL  ", "infix:sym<&&>")
-    .return (rx1244_cur)
+  rx1274_done:
+    rx1274_cur."!cursor_fail"()
+    rx1274_cur."!cursor_debug"("FAIL  ", "infix:sym<&&>")
+    .return (rx1274_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<&&>"  :subid("315_1277356913.9538") :method
-.annotate 'line', 446
-    $P1246 = self."!PREFIX__!subrule"("O", "&&")
-    new $P1247, "ResizablePMCArray"
-    push $P1247, $P1246
-    .return ($P1247)
+.sub "!PREFIX__infix:sym<&&>"  :subid("323_1278500537.15927") :method
+.annotate 'line', 447
+    $P1276 = self."!PREFIX__!subrule"("O", "&&")
+    new $P1277, "ResizablePMCArray"
+    push $P1277, $P1276
+    .return ($P1277)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<||>"  :subid("316_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1251_tgt
-    .local int rx1251_pos
-    .local int rx1251_off
-    .local int rx1251_eos
-    .local int rx1251_rep
-    .local pmc rx1251_cur
-    (rx1251_cur, rx1251_pos, rx1251_tgt) = self."!cursor_start"()
-    rx1251_cur."!cursor_debug"("START ", "infix:sym<||>")
-    .lex unicode:"$\x{a2}", rx1251_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1251_eos, rx1251_tgt
-    gt rx1251_pos, rx1251_eos, rx1251_done
-    set rx1251_off, 0
-    lt rx1251_pos, 2, rx1251_start
-    sub rx1251_off, rx1251_pos, 1
-    substr rx1251_tgt, rx1251_tgt, rx1251_off
-  rx1251_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1255_done
-    goto rxscan1255_scan
-  rxscan1255_loop:
-    ($P10) = rx1251_cur."from"()
-    inc $P10
-    set rx1251_pos, $P10
-    ge rx1251_pos, rx1251_eos, rxscan1255_done
-  rxscan1255_scan:
-    set_addr $I10, rxscan1255_loop
-    rx1251_cur."!mark_push"(0, rx1251_pos, $I10)
-  rxscan1255_done:
-.annotate 'line', 532
+.sub "infix:sym<||>"  :subid("324_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1281_tgt
+    .local int rx1281_pos
+    .local int rx1281_off
+    .local int rx1281_eos
+    .local int rx1281_rep
+    .local pmc rx1281_cur
+    (rx1281_cur, rx1281_pos, rx1281_tgt) = self."!cursor_start"()
+    rx1281_cur."!cursor_debug"("START ", "infix:sym<||>")
+    .lex unicode:"$\x{a2}", rx1281_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1281_eos, rx1281_tgt
+    gt rx1281_pos, rx1281_eos, rx1281_done
+    set rx1281_off, 0
+    lt rx1281_pos, 2, rx1281_start
+    sub rx1281_off, rx1281_pos, 1
+    substr rx1281_tgt, rx1281_tgt, rx1281_off
+  rx1281_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1285_done
+    goto rxscan1285_scan
+  rxscan1285_loop:
+    ($P10) = rx1281_cur."from"()
+    inc $P10
+    set rx1281_pos, $P10
+    ge rx1281_pos, rx1281_eos, rxscan1285_done
+  rxscan1285_scan:
+    set_addr $I10, rxscan1285_loop
+    rx1281_cur."!mark_push"(0, rx1281_pos, $I10)
+  rxscan1285_done:
+.annotate 'line', 536
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1256_fail
-    rx1251_cur."!mark_push"(0, rx1251_pos, $I10)
+    set_addr $I10, rxcap_1286_fail
+    rx1281_cur."!mark_push"(0, rx1281_pos, $I10)
   # rx literal  "||"
-    add $I11, rx1251_pos, 2
-    gt $I11, rx1251_eos, rx1251_fail
-    sub $I11, rx1251_pos, rx1251_off
-    substr $S10, rx1251_tgt, $I11, 2
-    ne $S10, "||", rx1251_fail
-    add rx1251_pos, 2
-    set_addr $I10, rxcap_1256_fail
-    ($I12, $I11) = rx1251_cur."!mark_peek"($I10)
-    rx1251_cur."!cursor_pos"($I11)
-    ($P10) = rx1251_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1251_pos, "")
-    rx1251_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1281_pos, 2
+    gt $I11, rx1281_eos, rx1281_fail
+    sub $I11, rx1281_pos, rx1281_off
+    substr $S10, rx1281_tgt, $I11, 2
+    ne $S10, "||", rx1281_fail
+    add rx1281_pos, 2
+    set_addr $I10, rxcap_1286_fail
+    ($I12, $I11) = rx1281_cur."!mark_peek"($I10)
+    rx1281_cur."!cursor_pos"($I11)
+    ($P10) = rx1281_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1281_pos, "")
+    rx1281_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1256_done
-  rxcap_1256_fail:
-    goto rx1251_fail
-  rxcap_1256_done:
+    goto rxcap_1286_done
+  rxcap_1286_fail:
+    goto rx1281_fail
+  rxcap_1286_done:
   # rx subrule "O" subtype=capture negate=
-    rx1251_cur."!cursor_pos"(rx1251_pos)
-    $P10 = rx1251_cur."O"("%tight_or, :pasttype<unless>")
-    unless $P10, rx1251_fail
-    rx1251_cur."!mark_push"(0, -1, 0, $P10)
+    rx1281_cur."!cursor_pos"(rx1281_pos)
+    $P10 = rx1281_cur."O"("%tight_or, :pasttype<unless>")
+    unless $P10, rx1281_fail
+    rx1281_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1251_pos = $P10."pos"()
+    rx1281_pos = $P10."pos"()
   # rx pass
-    rx1251_cur."!cursor_pass"(rx1251_pos, "infix:sym<||>")
-    rx1251_cur."!cursor_debug"("PASS  ", "infix:sym<||>", " at pos=", rx1251_pos)
-    .return (rx1251_cur)
-  rx1251_fail:
-.annotate 'line', 446
-    (rx1251_rep, rx1251_pos, $I10, $P10) = rx1251_cur."!mark_fail"(0)
-    lt rx1251_pos, -1, rx1251_done
-    eq rx1251_pos, -1, rx1251_fail
+    rx1281_cur."!cursor_pass"(rx1281_pos, "infix:sym<||>")
+    rx1281_cur."!cursor_debug"("PASS  ", "infix:sym<||>", " at pos=", rx1281_pos)
+    .return (rx1281_cur)
+  rx1281_fail:
+.annotate 'line', 447
+    (rx1281_rep, rx1281_pos, $I10, $P10) = rx1281_cur."!mark_fail"(0)
+    lt rx1281_pos, -1, rx1281_done
+    eq rx1281_pos, -1, rx1281_fail
     jump $I10
-  rx1251_done:
-    rx1251_cur."!cursor_fail"()
-    rx1251_cur."!cursor_debug"("FAIL  ", "infix:sym<||>")
-    .return (rx1251_cur)
+  rx1281_done:
+    rx1281_cur."!cursor_fail"()
+    rx1281_cur."!cursor_debug"("FAIL  ", "infix:sym<||>")
+    .return (rx1281_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<||>"  :subid("317_1277356913.9538") :method
-.annotate 'line', 446
-    $P1253 = self."!PREFIX__!subrule"("O", "||")
-    new $P1254, "ResizablePMCArray"
-    push $P1254, $P1253
-    .return ($P1254)
+.sub "!PREFIX__infix:sym<||>"  :subid("325_1278500537.15927") :method
+.annotate 'line', 447
+    $P1283 = self."!PREFIX__!subrule"("O", "||")
+    new $P1284, "ResizablePMCArray"
+    push $P1284, $P1283
+    .return ($P1284)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<//>"  :subid("318_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1258_tgt
-    .local int rx1258_pos
-    .local int rx1258_off
-    .local int rx1258_eos
-    .local int rx1258_rep
-    .local pmc rx1258_cur
-    (rx1258_cur, rx1258_pos, rx1258_tgt) = self."!cursor_start"()
-    rx1258_cur."!cursor_debug"("START ", "infix:sym<//>")
-    .lex unicode:"$\x{a2}", rx1258_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1258_eos, rx1258_tgt
-    gt rx1258_pos, rx1258_eos, rx1258_done
-    set rx1258_off, 0
-    lt rx1258_pos, 2, rx1258_start
-    sub rx1258_off, rx1258_pos, 1
-    substr rx1258_tgt, rx1258_tgt, rx1258_off
-  rx1258_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1262_done
-    goto rxscan1262_scan
-  rxscan1262_loop:
-    ($P10) = rx1258_cur."from"()
-    inc $P10
-    set rx1258_pos, $P10
-    ge rx1258_pos, rx1258_eos, rxscan1262_done
-  rxscan1262_scan:
-    set_addr $I10, rxscan1262_loop
-    rx1258_cur."!mark_push"(0, rx1258_pos, $I10)
-  rxscan1262_done:
-.annotate 'line', 533
+.sub "infix:sym<//>"  :subid("326_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1288_tgt
+    .local int rx1288_pos
+    .local int rx1288_off
+    .local int rx1288_eos
+    .local int rx1288_rep
+    .local pmc rx1288_cur
+    (rx1288_cur, rx1288_pos, rx1288_tgt) = self."!cursor_start"()
+    rx1288_cur."!cursor_debug"("START ", "infix:sym<//>")
+    .lex unicode:"$\x{a2}", rx1288_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1288_eos, rx1288_tgt
+    gt rx1288_pos, rx1288_eos, rx1288_done
+    set rx1288_off, 0
+    lt rx1288_pos, 2, rx1288_start
+    sub rx1288_off, rx1288_pos, 1
+    substr rx1288_tgt, rx1288_tgt, rx1288_off
+  rx1288_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1292_done
+    goto rxscan1292_scan
+  rxscan1292_loop:
+    ($P10) = rx1288_cur."from"()
+    inc $P10
+    set rx1288_pos, $P10
+    ge rx1288_pos, rx1288_eos, rxscan1292_done
+  rxscan1292_scan:
+    set_addr $I10, rxscan1292_loop
+    rx1288_cur."!mark_push"(0, rx1288_pos, $I10)
+  rxscan1292_done:
+.annotate 'line', 537
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1263_fail
-    rx1258_cur."!mark_push"(0, rx1258_pos, $I10)
+    set_addr $I10, rxcap_1293_fail
+    rx1288_cur."!mark_push"(0, rx1288_pos, $I10)
   # rx literal  "//"
-    add $I11, rx1258_pos, 2
-    gt $I11, rx1258_eos, rx1258_fail
-    sub $I11, rx1258_pos, rx1258_off
-    substr $S10, rx1258_tgt, $I11, 2
-    ne $S10, "//", rx1258_fail
-    add rx1258_pos, 2
-    set_addr $I10, rxcap_1263_fail
-    ($I12, $I11) = rx1258_cur."!mark_peek"($I10)
-    rx1258_cur."!cursor_pos"($I11)
-    ($P10) = rx1258_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1258_pos, "")
-    rx1258_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1288_pos, 2
+    gt $I11, rx1288_eos, rx1288_fail
+    sub $I11, rx1288_pos, rx1288_off
+    substr $S10, rx1288_tgt, $I11, 2
+    ne $S10, "//", rx1288_fail
+    add rx1288_pos, 2
+    set_addr $I10, rxcap_1293_fail
+    ($I12, $I11) = rx1288_cur."!mark_peek"($I10)
+    rx1288_cur."!cursor_pos"($I11)
+    ($P10) = rx1288_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1288_pos, "")
+    rx1288_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1263_done
-  rxcap_1263_fail:
-    goto rx1258_fail
-  rxcap_1263_done:
+    goto rxcap_1293_done
+  rxcap_1293_fail:
+    goto rx1288_fail
+  rxcap_1293_done:
   # rx subrule "O" subtype=capture negate=
-    rx1258_cur."!cursor_pos"(rx1258_pos)
-    $P10 = rx1258_cur."O"("%tight_or, :pasttype<def_or>")
-    unless $P10, rx1258_fail
-    rx1258_cur."!mark_push"(0, -1, 0, $P10)
+    rx1288_cur."!cursor_pos"(rx1288_pos)
+    $P10 = rx1288_cur."O"("%tight_or, :pasttype<def_or>")
+    unless $P10, rx1288_fail
+    rx1288_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1258_pos = $P10."pos"()
+    rx1288_pos = $P10."pos"()
   # rx pass
-    rx1258_cur."!cursor_pass"(rx1258_pos, "infix:sym<//>")
-    rx1258_cur."!cursor_debug"("PASS  ", "infix:sym<//>", " at pos=", rx1258_pos)
-    .return (rx1258_cur)
-  rx1258_fail:
-.annotate 'line', 446
-    (rx1258_rep, rx1258_pos, $I10, $P10) = rx1258_cur."!mark_fail"(0)
-    lt rx1258_pos, -1, rx1258_done
-    eq rx1258_pos, -1, rx1258_fail
+    rx1288_cur."!cursor_pass"(rx1288_pos, "infix:sym<//>")
+    rx1288_cur."!cursor_debug"("PASS  ", "infix:sym<//>", " at pos=", rx1288_pos)
+    .return (rx1288_cur)
+  rx1288_fail:
+.annotate 'line', 447
+    (rx1288_rep, rx1288_pos, $I10, $P10) = rx1288_cur."!mark_fail"(0)
+    lt rx1288_pos, -1, rx1288_done
+    eq rx1288_pos, -1, rx1288_fail
     jump $I10
-  rx1258_done:
-    rx1258_cur."!cursor_fail"()
-    rx1258_cur."!cursor_debug"("FAIL  ", "infix:sym<//>")
-    .return (rx1258_cur)
+  rx1288_done:
+    rx1288_cur."!cursor_fail"()
+    rx1288_cur."!cursor_debug"("FAIL  ", "infix:sym<//>")
+    .return (rx1288_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<//>"  :subid("319_1277356913.9538") :method
-.annotate 'line', 446
-    $P1260 = self."!PREFIX__!subrule"("O", "//")
-    new $P1261, "ResizablePMCArray"
-    push $P1261, $P1260
-    .return ($P1261)
+.sub "!PREFIX__infix:sym<//>"  :subid("327_1278500537.15927") :method
+.annotate 'line', 447
+    $P1290 = self."!PREFIX__!subrule"("O", "//")
+    new $P1291, "ResizablePMCArray"
+    push $P1291, $P1290
+    .return ($P1291)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<?? !!>"  :subid("320_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1265_tgt
-    .local int rx1265_pos
-    .local int rx1265_off
-    .local int rx1265_eos
-    .local int rx1265_rep
-    .local pmc rx1265_cur
-    (rx1265_cur, rx1265_pos, rx1265_tgt) = self."!cursor_start"()
-    rx1265_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
-    .lex unicode:"$\x{a2}", rx1265_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1265_eos, rx1265_tgt
-    gt rx1265_pos, rx1265_eos, rx1265_done
-    set rx1265_off, 0
-    lt rx1265_pos, 2, rx1265_start
-    sub rx1265_off, rx1265_pos, 1
-    substr rx1265_tgt, rx1265_tgt, rx1265_off
-  rx1265_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1269_done
-    goto rxscan1269_scan
-  rxscan1269_loop:
-    ($P10) = rx1265_cur."from"()
-    inc $P10
-    set rx1265_pos, $P10
-    ge rx1265_pos, rx1265_eos, rxscan1269_done
-  rxscan1269_scan:
-    set_addr $I10, rxscan1269_loop
-    rx1265_cur."!mark_push"(0, rx1265_pos, $I10)
-  rxscan1269_done:
-.annotate 'line', 536
+.sub "infix:sym<?? !!>"  :subid("328_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1295_tgt
+    .local int rx1295_pos
+    .local int rx1295_off
+    .local int rx1295_eos
+    .local int rx1295_rep
+    .local pmc rx1295_cur
+    (rx1295_cur, rx1295_pos, rx1295_tgt) = self."!cursor_start"()
+    rx1295_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
+    .lex unicode:"$\x{a2}", rx1295_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1295_eos, rx1295_tgt
+    gt rx1295_pos, rx1295_eos, rx1295_done
+    set rx1295_off, 0
+    lt rx1295_pos, 2, rx1295_start
+    sub rx1295_off, rx1295_pos, 1
+    substr rx1295_tgt, rx1295_tgt, rx1295_off
+  rx1295_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1299_done
+    goto rxscan1299_scan
+  rxscan1299_loop:
+    ($P10) = rx1295_cur."from"()
+    inc $P10
+    set rx1295_pos, $P10
+    ge rx1295_pos, rx1295_eos, rxscan1299_done
+  rxscan1299_scan:
+    set_addr $I10, rxscan1299_loop
+    rx1295_cur."!mark_push"(0, rx1295_pos, $I10)
+  rxscan1299_done:
+.annotate 'line', 540
   # rx literal  "??"
-    add $I11, rx1265_pos, 2
-    gt $I11, rx1265_eos, rx1265_fail
-    sub $I11, rx1265_pos, rx1265_off
-    substr $S10, rx1265_tgt, $I11, 2
-    ne $S10, "??", rx1265_fail
-    add rx1265_pos, 2
-.annotate 'line', 537
+    add $I11, rx1295_pos, 2
+    gt $I11, rx1295_eos, rx1295_fail
+    sub $I11, rx1295_pos, rx1295_off
+    substr $S10, rx1295_tgt, $I11, 2
+    ne $S10, "??", rx1295_fail
+    add rx1295_pos, 2
+.annotate 'line', 541
   # rx subrule "ws" subtype=method negate=
-    rx1265_cur."!cursor_pos"(rx1265_pos)
-    $P10 = rx1265_cur."ws"()
-    unless $P10, rx1265_fail
-    rx1265_pos = $P10."pos"()
-.annotate 'line', 538
+    rx1295_cur."!cursor_pos"(rx1295_pos)
+    $P10 = rx1295_cur."ws"()
+    unless $P10, rx1295_fail
+    rx1295_pos = $P10."pos"()
+.annotate 'line', 542
   # rx subrule "EXPR" subtype=capture negate=
-    rx1265_cur."!cursor_pos"(rx1265_pos)
-    $P10 = rx1265_cur."EXPR"("i=")
-    unless $P10, rx1265_fail
-    rx1265_cur."!mark_push"(0, -1, 0, $P10)
+    rx1295_cur."!cursor_pos"(rx1295_pos)
+    $P10 = rx1295_cur."EXPR"("i=")
+    unless $P10, rx1295_fail
+    rx1295_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx1265_pos = $P10."pos"()
-.annotate 'line', 539
+    rx1295_pos = $P10."pos"()
+.annotate 'line', 543
   # rx literal  "!!"
-    add $I11, rx1265_pos, 2
-    gt $I11, rx1265_eos, rx1265_fail
-    sub $I11, rx1265_pos, rx1265_off
-    substr $S10, rx1265_tgt, $I11, 2
-    ne $S10, "!!", rx1265_fail
-    add rx1265_pos, 2
-.annotate 'line', 540
+    add $I11, rx1295_pos, 2
+    gt $I11, rx1295_eos, rx1295_fail
+    sub $I11, rx1295_pos, rx1295_off
+    substr $S10, rx1295_tgt, $I11, 2
+    ne $S10, "!!", rx1295_fail
+    add rx1295_pos, 2
+.annotate 'line', 544
   # rx subrule "O" subtype=capture negate=
-    rx1265_cur."!cursor_pos"(rx1265_pos)
-    $P10 = rx1265_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
-    unless $P10, rx1265_fail
-    rx1265_cur."!mark_push"(0, -1, 0, $P10)
+    rx1295_cur."!cursor_pos"(rx1295_pos)
+    $P10 = rx1295_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
+    unless $P10, rx1295_fail
+    rx1295_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1265_pos = $P10."pos"()
-.annotate 'line', 535
+    rx1295_pos = $P10."pos"()
+.annotate 'line', 539
   # rx pass
-    rx1265_cur."!cursor_pass"(rx1265_pos, "infix:sym<?? !!>")
-    rx1265_cur."!cursor_debug"("PASS  ", "infix:sym<?? !!>", " at pos=", rx1265_pos)
-    .return (rx1265_cur)
-  rx1265_fail:
-.annotate 'line', 446
-    (rx1265_rep, rx1265_pos, $I10, $P10) = rx1265_cur."!mark_fail"(0)
-    lt rx1265_pos, -1, rx1265_done
-    eq rx1265_pos, -1, rx1265_fail
+    rx1295_cur."!cursor_pass"(rx1295_pos, "infix:sym<?? !!>")
+    rx1295_cur."!cursor_debug"("PASS  ", "infix:sym<?? !!>", " at pos=", rx1295_pos)
+    .return (rx1295_cur)
+  rx1295_fail:
+.annotate 'line', 447
+    (rx1295_rep, rx1295_pos, $I10, $P10) = rx1295_cur."!mark_fail"(0)
+    lt rx1295_pos, -1, rx1295_done
+    eq rx1295_pos, -1, rx1295_fail
     jump $I10
-  rx1265_done:
-    rx1265_cur."!cursor_fail"()
-    rx1265_cur."!cursor_debug"("FAIL  ", "infix:sym<?? !!>")
-    .return (rx1265_cur)
+  rx1295_done:
+    rx1295_cur."!cursor_fail"()
+    rx1295_cur."!cursor_debug"("FAIL  ", "infix:sym<?? !!>")
+    .return (rx1295_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<?? !!>"  :subid("321_1277356913.9538") :method
-.annotate 'line', 446
-    $P1267 = self."!PREFIX__!subrule"("ws", "??")
-    new $P1268, "ResizablePMCArray"
-    push $P1268, $P1267
-    .return ($P1268)
+.sub "!PREFIX__infix:sym<?? !!>"  :subid("329_1278500537.15927") :method
+.annotate 'line', 447
+    $P1297 = self."!PREFIX__!subrule"("ws", "??")
+    new $P1298, "ResizablePMCArray"
+    push $P1298, $P1297
+    .return ($P1298)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=>"  :subid("322_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1271_tgt
-    .local int rx1271_pos
-    .local int rx1271_off
-    .local int rx1271_eos
-    .local int rx1271_rep
-    .local pmc rx1271_cur
-    (rx1271_cur, rx1271_pos, rx1271_tgt) = self."!cursor_start"()
-    rx1271_cur."!cursor_debug"("START ", "infix:sym<=>")
-    .lex unicode:"$\x{a2}", rx1271_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1271_eos, rx1271_tgt
-    gt rx1271_pos, rx1271_eos, rx1271_done
-    set rx1271_off, 0
-    lt rx1271_pos, 2, rx1271_start
-    sub rx1271_off, rx1271_pos, 1
-    substr rx1271_tgt, rx1271_tgt, rx1271_off
-  rx1271_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1275_done
-    goto rxscan1275_scan
-  rxscan1275_loop:
-    ($P10) = rx1271_cur."from"()
-    inc $P10
-    set rx1271_pos, $P10
-    ge rx1271_pos, rx1271_eos, rxscan1275_done
-  rxscan1275_scan:
-    set_addr $I10, rxscan1275_loop
-    rx1271_cur."!mark_push"(0, rx1271_pos, $I10)
-  rxscan1275_done:
-.annotate 'line', 544
+.sub "infix:sym<=>"  :subid("330_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1301_tgt
+    .local int rx1301_pos
+    .local int rx1301_off
+    .local int rx1301_eos
+    .local int rx1301_rep
+    .local pmc rx1301_cur
+    (rx1301_cur, rx1301_pos, rx1301_tgt) = self."!cursor_start"()
+    rx1301_cur."!cursor_debug"("START ", "infix:sym<=>")
+    .lex unicode:"$\x{a2}", rx1301_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1301_eos, rx1301_tgt
+    gt rx1301_pos, rx1301_eos, rx1301_done
+    set rx1301_off, 0
+    lt rx1301_pos, 2, rx1301_start
+    sub rx1301_off, rx1301_pos, 1
+    substr rx1301_tgt, rx1301_tgt, rx1301_off
+  rx1301_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1305_done
+    goto rxscan1305_scan
+  rxscan1305_loop:
+    ($P10) = rx1301_cur."from"()
+    inc $P10
+    set rx1301_pos, $P10
+    ge rx1301_pos, rx1301_eos, rxscan1305_done
+  rxscan1305_scan:
+    set_addr $I10, rxscan1305_loop
+    rx1301_cur."!mark_push"(0, rx1301_pos, $I10)
+  rxscan1305_done:
+.annotate 'line', 548
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1276_fail
-    rx1271_cur."!mark_push"(0, rx1271_pos, $I10)
+    set_addr $I10, rxcap_1306_fail
+    rx1301_cur."!mark_push"(0, rx1301_pos, $I10)
   # rx literal  "="
-    add $I11, rx1271_pos, 1
-    gt $I11, rx1271_eos, rx1271_fail
-    sub $I11, rx1271_pos, rx1271_off
-    substr $S10, rx1271_tgt, $I11, 1
-    ne $S10, "=", rx1271_fail
-    add rx1271_pos, 1
-    set_addr $I10, rxcap_1276_fail
-    ($I12, $I11) = rx1271_cur."!mark_peek"($I10)
-    rx1271_cur."!cursor_pos"($I11)
-    ($P10) = rx1271_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1271_pos, "")
-    rx1271_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1301_pos, 1
+    gt $I11, rx1301_eos, rx1301_fail
+    sub $I11, rx1301_pos, rx1301_off
+    substr $S10, rx1301_tgt, $I11, 1
+    ne $S10, "=", rx1301_fail
+    add rx1301_pos, 1
+    set_addr $I10, rxcap_1306_fail
+    ($I12, $I11) = rx1301_cur."!mark_peek"($I10)
+    rx1301_cur."!cursor_pos"($I11)
+    ($P10) = rx1301_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1301_pos, "")
+    rx1301_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1276_done
-  rxcap_1276_fail:
-    goto rx1271_fail
-  rxcap_1276_done:
+    goto rxcap_1306_done
+  rxcap_1306_fail:
+    goto rx1301_fail
+  rxcap_1306_done:
   # rx subrule "panic" subtype=method negate=
-    rx1271_cur."!cursor_pos"(rx1271_pos)
-    $P10 = rx1271_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead")
-    unless $P10, rx1271_fail
-    rx1271_pos = $P10."pos"()
-.annotate 'line', 543
+    rx1301_cur."!cursor_pos"(rx1301_pos)
+    $P10 = rx1301_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead")
+    unless $P10, rx1301_fail
+    rx1301_pos = $P10."pos"()
+.annotate 'line', 547
   # rx pass
-    rx1271_cur."!cursor_pass"(rx1271_pos, "infix:sym<=>")
-    rx1271_cur."!cursor_debug"("PASS  ", "infix:sym<=>", " at pos=", rx1271_pos)
-    .return (rx1271_cur)
-  rx1271_fail:
-.annotate 'line', 446
-    (rx1271_rep, rx1271_pos, $I10, $P10) = rx1271_cur."!mark_fail"(0)
-    lt rx1271_pos, -1, rx1271_done
-    eq rx1271_pos, -1, rx1271_fail
+    rx1301_cur."!cursor_pass"(rx1301_pos, "infix:sym<=>")
+    rx1301_cur."!cursor_debug"("PASS  ", "infix:sym<=>", " at pos=", rx1301_pos)
+    .return (rx1301_cur)
+  rx1301_fail:
+.annotate 'line', 447
+    (rx1301_rep, rx1301_pos, $I10, $P10) = rx1301_cur."!mark_fail"(0)
+    lt rx1301_pos, -1, rx1301_done
+    eq rx1301_pos, -1, rx1301_fail
     jump $I10
-  rx1271_done:
-    rx1271_cur."!cursor_fail"()
-    rx1271_cur."!cursor_debug"("FAIL  ", "infix:sym<=>")
-    .return (rx1271_cur)
+  rx1301_done:
+    rx1301_cur."!cursor_fail"()
+    rx1301_cur."!cursor_debug"("FAIL  ", "infix:sym<=>")
+    .return (rx1301_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=>"  :subid("323_1277356913.9538") :method
-.annotate 'line', 446
-    $P1273 = self."!PREFIX__!subrule"("panic", "=")
-    new $P1274, "ResizablePMCArray"
-    push $P1274, $P1273
-    .return ($P1274)
+.sub "!PREFIX__infix:sym<=>"  :subid("331_1278500537.15927") :method
+.annotate 'line', 447
+    $P1303 = self."!PREFIX__!subrule"("panic", "=")
+    new $P1304, "ResizablePMCArray"
+    push $P1304, $P1303
+    .return ($P1304)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<:=>"  :subid("324_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1278_tgt
-    .local int rx1278_pos
-    .local int rx1278_off
-    .local int rx1278_eos
-    .local int rx1278_rep
-    .local pmc rx1278_cur
-    (rx1278_cur, rx1278_pos, rx1278_tgt) = self."!cursor_start"()
-    rx1278_cur."!cursor_debug"("START ", "infix:sym<:=>")
-    .lex unicode:"$\x{a2}", rx1278_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1278_eos, rx1278_tgt
-    gt rx1278_pos, rx1278_eos, rx1278_done
-    set rx1278_off, 0
-    lt rx1278_pos, 2, rx1278_start
-    sub rx1278_off, rx1278_pos, 1
-    substr rx1278_tgt, rx1278_tgt, rx1278_off
-  rx1278_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1282_done
-    goto rxscan1282_scan
-  rxscan1282_loop:
-    ($P10) = rx1278_cur."from"()
-    inc $P10
-    set rx1278_pos, $P10
-    ge rx1278_pos, rx1278_eos, rxscan1282_done
-  rxscan1282_scan:
-    set_addr $I10, rxscan1282_loop
-    rx1278_cur."!mark_push"(0, rx1278_pos, $I10)
-  rxscan1282_done:
-.annotate 'line', 546
+.sub "infix:sym<:=>"  :subid("332_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1308_tgt
+    .local int rx1308_pos
+    .local int rx1308_off
+    .local int rx1308_eos
+    .local int rx1308_rep
+    .local pmc rx1308_cur
+    (rx1308_cur, rx1308_pos, rx1308_tgt) = self."!cursor_start"()
+    rx1308_cur."!cursor_debug"("START ", "infix:sym<:=>")
+    .lex unicode:"$\x{a2}", rx1308_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1308_eos, rx1308_tgt
+    gt rx1308_pos, rx1308_eos, rx1308_done
+    set rx1308_off, 0
+    lt rx1308_pos, 2, rx1308_start
+    sub rx1308_off, rx1308_pos, 1
+    substr rx1308_tgt, rx1308_tgt, rx1308_off
+  rx1308_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1312_done
+    goto rxscan1312_scan
+  rxscan1312_loop:
+    ($P10) = rx1308_cur."from"()
+    inc $P10
+    set rx1308_pos, $P10
+    ge rx1308_pos, rx1308_eos, rxscan1312_done
+  rxscan1312_scan:
+    set_addr $I10, rxscan1312_loop
+    rx1308_cur."!mark_push"(0, rx1308_pos, $I10)
+  rxscan1312_done:
+.annotate 'line', 550
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1283_fail
-    rx1278_cur."!mark_push"(0, rx1278_pos, $I10)
+    set_addr $I10, rxcap_1313_fail
+    rx1308_cur."!mark_push"(0, rx1308_pos, $I10)
   # rx literal  ":="
-    add $I11, rx1278_pos, 2
-    gt $I11, rx1278_eos, rx1278_fail
-    sub $I11, rx1278_pos, rx1278_off
-    substr $S10, rx1278_tgt, $I11, 2
-    ne $S10, ":=", rx1278_fail
-    add rx1278_pos, 2
-    set_addr $I10, rxcap_1283_fail
-    ($I12, $I11) = rx1278_cur."!mark_peek"($I10)
-    rx1278_cur."!cursor_pos"($I11)
-    ($P10) = rx1278_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1278_pos, "")
-    rx1278_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1308_pos, 2
+    gt $I11, rx1308_eos, rx1308_fail
+    sub $I11, rx1308_pos, rx1308_off
+    substr $S10, rx1308_tgt, $I11, 2
+    ne $S10, ":=", rx1308_fail
+    add rx1308_pos, 2
+    set_addr $I10, rxcap_1313_fail
+    ($I12, $I11) = rx1308_cur."!mark_peek"($I10)
+    rx1308_cur."!cursor_pos"($I11)
+    ($P10) = rx1308_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1308_pos, "")
+    rx1308_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1283_done
-  rxcap_1283_fail:
-    goto rx1278_fail
-  rxcap_1283_done:
+    goto rxcap_1313_done
+  rxcap_1313_fail:
+    goto rx1308_fail
+  rxcap_1313_done:
   # rx subrule "O" subtype=capture negate=
-    rx1278_cur."!cursor_pos"(rx1278_pos)
-    $P10 = rx1278_cur."O"("%assignment, :pasttype<bind>")
-    unless $P10, rx1278_fail
-    rx1278_cur."!mark_push"(0, -1, 0, $P10)
+    rx1308_cur."!cursor_pos"(rx1308_pos)
+    $P10 = rx1308_cur."O"("%assignment, :pasttype<bind>")
+    unless $P10, rx1308_fail
+    rx1308_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1278_pos = $P10."pos"()
+    rx1308_pos = $P10."pos"()
   # rx pass
-    rx1278_cur."!cursor_pass"(rx1278_pos, "infix:sym<:=>")
-    rx1278_cur."!cursor_debug"("PASS  ", "infix:sym<:=>", " at pos=", rx1278_pos)
-    .return (rx1278_cur)
-  rx1278_fail:
-.annotate 'line', 446
-    (rx1278_rep, rx1278_pos, $I10, $P10) = rx1278_cur."!mark_fail"(0)
-    lt rx1278_pos, -1, rx1278_done
-    eq rx1278_pos, -1, rx1278_fail
+    rx1308_cur."!cursor_pass"(rx1308_pos, "infix:sym<:=>")
+    rx1308_cur."!cursor_debug"("PASS  ", "infix:sym<:=>", " at pos=", rx1308_pos)
+    .return (rx1308_cur)
+  rx1308_fail:
+.annotate 'line', 447
+    (rx1308_rep, rx1308_pos, $I10, $P10) = rx1308_cur."!mark_fail"(0)
+    lt rx1308_pos, -1, rx1308_done
+    eq rx1308_pos, -1, rx1308_fail
     jump $I10
-  rx1278_done:
-    rx1278_cur."!cursor_fail"()
-    rx1278_cur."!cursor_debug"("FAIL  ", "infix:sym<:=>")
-    .return (rx1278_cur)
+  rx1308_done:
+    rx1308_cur."!cursor_fail"()
+    rx1308_cur."!cursor_debug"("FAIL  ", "infix:sym<:=>")
+    .return (rx1308_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<:=>"  :subid("325_1277356913.9538") :method
-.annotate 'line', 446
-    $P1280 = self."!PREFIX__!subrule"("O", ":=")
-    new $P1281, "ResizablePMCArray"
-    push $P1281, $P1280
-    .return ($P1281)
+.sub "!PREFIX__infix:sym<:=>"  :subid("333_1278500537.15927") :method
+.annotate 'line', 447
+    $P1310 = self."!PREFIX__!subrule"("O", ":=")
+    new $P1311, "ResizablePMCArray"
+    push $P1311, $P1310
+    .return ($P1311)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<::=>"  :subid("326_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1285_tgt
-    .local int rx1285_pos
-    .local int rx1285_off
-    .local int rx1285_eos
-    .local int rx1285_rep
-    .local pmc rx1285_cur
-    (rx1285_cur, rx1285_pos, rx1285_tgt) = self."!cursor_start"()
-    rx1285_cur."!cursor_debug"("START ", "infix:sym<::=>")
-    .lex unicode:"$\x{a2}", rx1285_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1285_eos, rx1285_tgt
-    gt rx1285_pos, rx1285_eos, rx1285_done
-    set rx1285_off, 0
-    lt rx1285_pos, 2, rx1285_start
-    sub rx1285_off, rx1285_pos, 1
-    substr rx1285_tgt, rx1285_tgt, rx1285_off
-  rx1285_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1289_done
-    goto rxscan1289_scan
-  rxscan1289_loop:
-    ($P10) = rx1285_cur."from"()
-    inc $P10
-    set rx1285_pos, $P10
-    ge rx1285_pos, rx1285_eos, rxscan1289_done
-  rxscan1289_scan:
-    set_addr $I10, rxscan1289_loop
-    rx1285_cur."!mark_push"(0, rx1285_pos, $I10)
-  rxscan1289_done:
-.annotate 'line', 547
+.sub "infix:sym<::=>"  :subid("334_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1315_tgt
+    .local int rx1315_pos
+    .local int rx1315_off
+    .local int rx1315_eos
+    .local int rx1315_rep
+    .local pmc rx1315_cur
+    (rx1315_cur, rx1315_pos, rx1315_tgt) = self."!cursor_start"()
+    rx1315_cur."!cursor_debug"("START ", "infix:sym<::=>")
+    .lex unicode:"$\x{a2}", rx1315_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1315_eos, rx1315_tgt
+    gt rx1315_pos, rx1315_eos, rx1315_done
+    set rx1315_off, 0
+    lt rx1315_pos, 2, rx1315_start
+    sub rx1315_off, rx1315_pos, 1
+    substr rx1315_tgt, rx1315_tgt, rx1315_off
+  rx1315_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1319_done
+    goto rxscan1319_scan
+  rxscan1319_loop:
+    ($P10) = rx1315_cur."from"()
+    inc $P10
+    set rx1315_pos, $P10
+    ge rx1315_pos, rx1315_eos, rxscan1319_done
+  rxscan1319_scan:
+    set_addr $I10, rxscan1319_loop
+    rx1315_cur."!mark_push"(0, rx1315_pos, $I10)
+  rxscan1319_done:
+.annotate 'line', 551
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1290_fail
-    rx1285_cur."!mark_push"(0, rx1285_pos, $I10)
+    set_addr $I10, rxcap_1320_fail
+    rx1315_cur."!mark_push"(0, rx1315_pos, $I10)
   # rx literal  "::="
-    add $I11, rx1285_pos, 3
-    gt $I11, rx1285_eos, rx1285_fail
-    sub $I11, rx1285_pos, rx1285_off
-    substr $S10, rx1285_tgt, $I11, 3
-    ne $S10, "::=", rx1285_fail
-    add rx1285_pos, 3
-    set_addr $I10, rxcap_1290_fail
-    ($I12, $I11) = rx1285_cur."!mark_peek"($I10)
-    rx1285_cur."!cursor_pos"($I11)
-    ($P10) = rx1285_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1285_pos, "")
-    rx1285_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1315_pos, 3
+    gt $I11, rx1315_eos, rx1315_fail
+    sub $I11, rx1315_pos, rx1315_off
+    substr $S10, rx1315_tgt, $I11, 3
+    ne $S10, "::=", rx1315_fail
+    add rx1315_pos, 3
+    set_addr $I10, rxcap_1320_fail
+    ($I12, $I11) = rx1315_cur."!mark_peek"($I10)
+    rx1315_cur."!cursor_pos"($I11)
+    ($P10) = rx1315_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1315_pos, "")
+    rx1315_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1290_done
-  rxcap_1290_fail:
-    goto rx1285_fail
-  rxcap_1290_done:
+    goto rxcap_1320_done
+  rxcap_1320_fail:
+    goto rx1315_fail
+  rxcap_1320_done:
   # rx subrule "O" subtype=capture negate=
-    rx1285_cur."!cursor_pos"(rx1285_pos)
-    $P10 = rx1285_cur."O"("%assignment, :pasttype<bind>")
-    unless $P10, rx1285_fail
-    rx1285_cur."!mark_push"(0, -1, 0, $P10)
+    rx1315_cur."!cursor_pos"(rx1315_pos)
+    $P10 = rx1315_cur."O"("%assignment, :pasttype<bind>")
+    unless $P10, rx1315_fail
+    rx1315_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1285_pos = $P10."pos"()
+    rx1315_pos = $P10."pos"()
   # rx pass
-    rx1285_cur."!cursor_pass"(rx1285_pos, "infix:sym<::=>")
-    rx1285_cur."!cursor_debug"("PASS  ", "infix:sym<::=>", " at pos=", rx1285_pos)
-    .return (rx1285_cur)
-  rx1285_fail:
-.annotate 'line', 446
-    (rx1285_rep, rx1285_pos, $I10, $P10) = rx1285_cur."!mark_fail"(0)
-    lt rx1285_pos, -1, rx1285_done
-    eq rx1285_pos, -1, rx1285_fail
+    rx1315_cur."!cursor_pass"(rx1315_pos, "infix:sym<::=>")
+    rx1315_cur."!cursor_debug"("PASS  ", "infix:sym<::=>", " at pos=", rx1315_pos)
+    .return (rx1315_cur)
+  rx1315_fail:
+.annotate 'line', 447
+    (rx1315_rep, rx1315_pos, $I10, $P10) = rx1315_cur."!mark_fail"(0)
+    lt rx1315_pos, -1, rx1315_done
+    eq rx1315_pos, -1, rx1315_fail
     jump $I10
-  rx1285_done:
-    rx1285_cur."!cursor_fail"()
-    rx1285_cur."!cursor_debug"("FAIL  ", "infix:sym<::=>")
-    .return (rx1285_cur)
+  rx1315_done:
+    rx1315_cur."!cursor_fail"()
+    rx1315_cur."!cursor_debug"("FAIL  ", "infix:sym<::=>")
+    .return (rx1315_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<::=>"  :subid("327_1277356913.9538") :method
-.annotate 'line', 446
-    $P1287 = self."!PREFIX__!subrule"("O", "::=")
-    new $P1288, "ResizablePMCArray"
-    push $P1288, $P1287
-    .return ($P1288)
+.sub "!PREFIX__infix:sym<::=>"  :subid("335_1278500537.15927") :method
+.annotate 'line', 447
+    $P1317 = self."!PREFIX__!subrule"("O", "::=")
+    new $P1318, "ResizablePMCArray"
+    push $P1318, $P1317
+    .return ($P1318)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<,>"  :subid("328_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1292_tgt
-    .local int rx1292_pos
-    .local int rx1292_off
-    .local int rx1292_eos
-    .local int rx1292_rep
-    .local pmc rx1292_cur
-    (rx1292_cur, rx1292_pos, rx1292_tgt) = self."!cursor_start"()
-    rx1292_cur."!cursor_debug"("START ", "infix:sym<,>")
-    .lex unicode:"$\x{a2}", rx1292_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1292_eos, rx1292_tgt
-    gt rx1292_pos, rx1292_eos, rx1292_done
-    set rx1292_off, 0
-    lt rx1292_pos, 2, rx1292_start
-    sub rx1292_off, rx1292_pos, 1
-    substr rx1292_tgt, rx1292_tgt, rx1292_off
-  rx1292_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1296_done
-    goto rxscan1296_scan
-  rxscan1296_loop:
-    ($P10) = rx1292_cur."from"()
-    inc $P10
-    set rx1292_pos, $P10
-    ge rx1292_pos, rx1292_eos, rxscan1296_done
-  rxscan1296_scan:
-    set_addr $I10, rxscan1296_loop
-    rx1292_cur."!mark_push"(0, rx1292_pos, $I10)
-  rxscan1296_done:
-.annotate 'line', 549
+.sub "infix:sym<,>"  :subid("336_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1322_tgt
+    .local int rx1322_pos
+    .local int rx1322_off
+    .local int rx1322_eos
+    .local int rx1322_rep
+    .local pmc rx1322_cur
+    (rx1322_cur, rx1322_pos, rx1322_tgt) = self."!cursor_start"()
+    rx1322_cur."!cursor_debug"("START ", "infix:sym<,>")
+    .lex unicode:"$\x{a2}", rx1322_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1322_eos, rx1322_tgt
+    gt rx1322_pos, rx1322_eos, rx1322_done
+    set rx1322_off, 0
+    lt rx1322_pos, 2, rx1322_start
+    sub rx1322_off, rx1322_pos, 1
+    substr rx1322_tgt, rx1322_tgt, rx1322_off
+  rx1322_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1326_done
+    goto rxscan1326_scan
+  rxscan1326_loop:
+    ($P10) = rx1322_cur."from"()
+    inc $P10
+    set rx1322_pos, $P10
+    ge rx1322_pos, rx1322_eos, rxscan1326_done
+  rxscan1326_scan:
+    set_addr $I10, rxscan1326_loop
+    rx1322_cur."!mark_push"(0, rx1322_pos, $I10)
+  rxscan1326_done:
+.annotate 'line', 553
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1297_fail
-    rx1292_cur."!mark_push"(0, rx1292_pos, $I10)
+    set_addr $I10, rxcap_1327_fail
+    rx1322_cur."!mark_push"(0, rx1322_pos, $I10)
   # rx literal  ","
-    add $I11, rx1292_pos, 1
-    gt $I11, rx1292_eos, rx1292_fail
-    sub $I11, rx1292_pos, rx1292_off
-    substr $S10, rx1292_tgt, $I11, 1
-    ne $S10, ",", rx1292_fail
-    add rx1292_pos, 1
-    set_addr $I10, rxcap_1297_fail
-    ($I12, $I11) = rx1292_cur."!mark_peek"($I10)
-    rx1292_cur."!cursor_pos"($I11)
-    ($P10) = rx1292_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1292_pos, "")
-    rx1292_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1322_pos, 1
+    gt $I11, rx1322_eos, rx1322_fail
+    sub $I11, rx1322_pos, rx1322_off
+    substr $S10, rx1322_tgt, $I11, 1
+    ne $S10, ",", rx1322_fail
+    add rx1322_pos, 1
+    set_addr $I10, rxcap_1327_fail
+    ($I12, $I11) = rx1322_cur."!mark_peek"($I10)
+    rx1322_cur."!cursor_pos"($I11)
+    ($P10) = rx1322_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1322_pos, "")
+    rx1322_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1297_done
-  rxcap_1297_fail:
-    goto rx1292_fail
-  rxcap_1297_done:
+    goto rxcap_1327_done
+  rxcap_1327_fail:
+    goto rx1322_fail
+  rxcap_1327_done:
   # rx subrule "O" subtype=capture negate=
-    rx1292_cur."!cursor_pos"(rx1292_pos)
-    $P10 = rx1292_cur."O"("%comma, :pasttype<list>")
-    unless $P10, rx1292_fail
-    rx1292_cur."!mark_push"(0, -1, 0, $P10)
+    rx1322_cur."!cursor_pos"(rx1322_pos)
+    $P10 = rx1322_cur."O"("%comma, :pasttype<list>")
+    unless $P10, rx1322_fail
+    rx1322_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1292_pos = $P10."pos"()
+    rx1322_pos = $P10."pos"()
   # rx pass
-    rx1292_cur."!cursor_pass"(rx1292_pos, "infix:sym<,>")
-    rx1292_cur."!cursor_debug"("PASS  ", "infix:sym<,>", " at pos=", rx1292_pos)
-    .return (rx1292_cur)
-  rx1292_fail:
-.annotate 'line', 446
-    (rx1292_rep, rx1292_pos, $I10, $P10) = rx1292_cur."!mark_fail"(0)
-    lt rx1292_pos, -1, rx1292_done
-    eq rx1292_pos, -1, rx1292_fail
+    rx1322_cur."!cursor_pass"(rx1322_pos, "infix:sym<,>")
+    rx1322_cur."!cursor_debug"("PASS  ", "infix:sym<,>", " at pos=", rx1322_pos)
+    .return (rx1322_cur)
+  rx1322_fail:
+.annotate 'line', 447
+    (rx1322_rep, rx1322_pos, $I10, $P10) = rx1322_cur."!mark_fail"(0)
+    lt rx1322_pos, -1, rx1322_done
+    eq rx1322_pos, -1, rx1322_fail
     jump $I10
-  rx1292_done:
-    rx1292_cur."!cursor_fail"()
-    rx1292_cur."!cursor_debug"("FAIL  ", "infix:sym<,>")
-    .return (rx1292_cur)
+  rx1322_done:
+    rx1322_cur."!cursor_fail"()
+    rx1322_cur."!cursor_debug"("FAIL  ", "infix:sym<,>")
+    .return (rx1322_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<,>"  :subid("329_1277356913.9538") :method
-.annotate 'line', 446
-    $P1294 = self."!PREFIX__!subrule"("O", ",")
-    new $P1295, "ResizablePMCArray"
-    push $P1295, $P1294
-    .return ($P1295)
+.sub "!PREFIX__infix:sym<,>"  :subid("337_1278500537.15927") :method
+.annotate 'line', 447
+    $P1324 = self."!PREFIX__!subrule"("O", ",")
+    new $P1325, "ResizablePMCArray"
+    push $P1325, $P1324
+    .return ($P1325)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<return>"  :subid("330_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1299_tgt
-    .local int rx1299_pos
-    .local int rx1299_off
-    .local int rx1299_eos
-    .local int rx1299_rep
-    .local pmc rx1299_cur
-    (rx1299_cur, rx1299_pos, rx1299_tgt) = self."!cursor_start"()
-    rx1299_cur."!cursor_debug"("START ", "prefix:sym<return>")
-    .lex unicode:"$\x{a2}", rx1299_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1299_eos, rx1299_tgt
-    gt rx1299_pos, rx1299_eos, rx1299_done
-    set rx1299_off, 0
-    lt rx1299_pos, 2, rx1299_start
-    sub rx1299_off, rx1299_pos, 1
-    substr rx1299_tgt, rx1299_tgt, rx1299_off
-  rx1299_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1302_done
-    goto rxscan1302_scan
-  rxscan1302_loop:
-    ($P10) = rx1299_cur."from"()
-    inc $P10
-    set rx1299_pos, $P10
-    ge rx1299_pos, rx1299_eos, rxscan1302_done
-  rxscan1302_scan:
-    set_addr $I10, rxscan1302_loop
-    rx1299_cur."!mark_push"(0, rx1299_pos, $I10)
-  rxscan1302_done:
-.annotate 'line', 551
+.sub "prefix:sym<return>"  :subid("338_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1329_tgt
+    .local int rx1329_pos
+    .local int rx1329_off
+    .local int rx1329_eos
+    .local int rx1329_rep
+    .local pmc rx1329_cur
+    (rx1329_cur, rx1329_pos, rx1329_tgt) = self."!cursor_start"()
+    rx1329_cur."!cursor_debug"("START ", "prefix:sym<return>")
+    .lex unicode:"$\x{a2}", rx1329_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1329_eos, rx1329_tgt
+    gt rx1329_pos, rx1329_eos, rx1329_done
+    set rx1329_off, 0
+    lt rx1329_pos, 2, rx1329_start
+    sub rx1329_off, rx1329_pos, 1
+    substr rx1329_tgt, rx1329_tgt, rx1329_off
+  rx1329_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1332_done
+    goto rxscan1332_scan
+  rxscan1332_loop:
+    ($P10) = rx1329_cur."from"()
+    inc $P10
+    set rx1329_pos, $P10
+    ge rx1329_pos, rx1329_eos, rxscan1332_done
+  rxscan1332_scan:
+    set_addr $I10, rxscan1332_loop
+    rx1329_cur."!mark_push"(0, rx1329_pos, $I10)
+  rxscan1332_done:
+.annotate 'line', 555
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1303_fail
-    rx1299_cur."!mark_push"(0, rx1299_pos, $I10)
+    set_addr $I10, rxcap_1333_fail
+    rx1329_cur."!mark_push"(0, rx1329_pos, $I10)
   # rx literal  "return"
-    add $I11, rx1299_pos, 6
-    gt $I11, rx1299_eos, rx1299_fail
-    sub $I11, rx1299_pos, rx1299_off
-    substr $S10, rx1299_tgt, $I11, 6
-    ne $S10, "return", rx1299_fail
-    add rx1299_pos, 6
-    set_addr $I10, rxcap_1303_fail
-    ($I12, $I11) = rx1299_cur."!mark_peek"($I10)
-    rx1299_cur."!cursor_pos"($I11)
-    ($P10) = rx1299_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1299_pos, "")
-    rx1299_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1329_pos, 6
+    gt $I11, rx1329_eos, rx1329_fail
+    sub $I11, rx1329_pos, rx1329_off
+    substr $S10, rx1329_tgt, $I11, 6
+    ne $S10, "return", rx1329_fail
+    add rx1329_pos, 6
+    set_addr $I10, rxcap_1333_fail
+    ($I12, $I11) = rx1329_cur."!mark_peek"($I10)
+    rx1329_cur."!cursor_pos"($I11)
+    ($P10) = rx1329_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1329_pos, "")
+    rx1329_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1303_done
-  rxcap_1303_fail:
-    goto rx1299_fail
-  rxcap_1303_done:
+    goto rxcap_1333_done
+  rxcap_1333_fail:
+    goto rx1329_fail
+  rxcap_1333_done:
   # rx charclass s
-    ge rx1299_pos, rx1299_eos, rx1299_fail
-    sub $I10, rx1299_pos, rx1299_off
-    is_cclass $I11, 32, rx1299_tgt, $I10
-    unless $I11, rx1299_fail
-    inc rx1299_pos
+    ge rx1329_pos, rx1329_eos, rx1329_fail
+    sub $I10, rx1329_pos, rx1329_off
+    is_cclass $I11, 32, rx1329_tgt, $I10
+    unless $I11, rx1329_fail
+    inc rx1329_pos
   # rx subrule "O" subtype=capture negate=
-    rx1299_cur."!cursor_pos"(rx1299_pos)
-    $P10 = rx1299_cur."O"("%list_prefix, :pasttype<return>")
-    unless $P10, rx1299_fail
-    rx1299_cur."!mark_push"(0, -1, 0, $P10)
+    rx1329_cur."!cursor_pos"(rx1329_pos)
+    $P10 = rx1329_cur."O"("%list_prefix, :pasttype<return>")
+    unless $P10, rx1329_fail
+    rx1329_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1299_pos = $P10."pos"()
+    rx1329_pos = $P10."pos"()
   # rx pass
-    rx1299_cur."!cursor_pass"(rx1299_pos, "prefix:sym<return>")
-    rx1299_cur."!cursor_debug"("PASS  ", "prefix:sym<return>", " at pos=", rx1299_pos)
-    .return (rx1299_cur)
-  rx1299_fail:
-.annotate 'line', 446
-    (rx1299_rep, rx1299_pos, $I10, $P10) = rx1299_cur."!mark_fail"(0)
-    lt rx1299_pos, -1, rx1299_done
-    eq rx1299_pos, -1, rx1299_fail
+    rx1329_cur."!cursor_pass"(rx1329_pos, "prefix:sym<return>")
+    rx1329_cur."!cursor_debug"("PASS  ", "prefix:sym<return>", " at pos=", rx1329_pos)
+    .return (rx1329_cur)
+  rx1329_fail:
+.annotate 'line', 447
+    (rx1329_rep, rx1329_pos, $I10, $P10) = rx1329_cur."!mark_fail"(0)
+    lt rx1329_pos, -1, rx1329_done
+    eq rx1329_pos, -1, rx1329_fail
     jump $I10
-  rx1299_done:
-    rx1299_cur."!cursor_fail"()
-    rx1299_cur."!cursor_debug"("FAIL  ", "prefix:sym<return>")
-    .return (rx1299_cur)
+  rx1329_done:
+    rx1329_cur."!cursor_fail"()
+    rx1329_cur."!cursor_debug"("FAIL  ", "prefix:sym<return>")
+    .return (rx1329_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<return>"  :subid("331_1277356913.9538") :method
-.annotate 'line', 446
-    new $P1301, "ResizablePMCArray"
-    push $P1301, "return"
-    .return ($P1301)
+.sub "!PREFIX__prefix:sym<return>"  :subid("339_1278500537.15927") :method
+.annotate 'line', 447
+    new $P1331, "ResizablePMCArray"
+    push $P1331, "return"
+    .return ($P1331)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<make>"  :subid("332_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1305_tgt
-    .local int rx1305_pos
-    .local int rx1305_off
-    .local int rx1305_eos
-    .local int rx1305_rep
-    .local pmc rx1305_cur
-    (rx1305_cur, rx1305_pos, rx1305_tgt) = self."!cursor_start"()
-    rx1305_cur."!cursor_debug"("START ", "prefix:sym<make>")
-    .lex unicode:"$\x{a2}", rx1305_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1305_eos, rx1305_tgt
-    gt rx1305_pos, rx1305_eos, rx1305_done
-    set rx1305_off, 0
-    lt rx1305_pos, 2, rx1305_start
-    sub rx1305_off, rx1305_pos, 1
-    substr rx1305_tgt, rx1305_tgt, rx1305_off
-  rx1305_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1308_done
-    goto rxscan1308_scan
-  rxscan1308_loop:
-    ($P10) = rx1305_cur."from"()
-    inc $P10
-    set rx1305_pos, $P10
-    ge rx1305_pos, rx1305_eos, rxscan1308_done
-  rxscan1308_scan:
-    set_addr $I10, rxscan1308_loop
-    rx1305_cur."!mark_push"(0, rx1305_pos, $I10)
-  rxscan1308_done:
-.annotate 'line', 552
+.sub "prefix:sym<make>"  :subid("340_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1335_tgt
+    .local int rx1335_pos
+    .local int rx1335_off
+    .local int rx1335_eos
+    .local int rx1335_rep
+    .local pmc rx1335_cur
+    (rx1335_cur, rx1335_pos, rx1335_tgt) = self."!cursor_start"()
+    rx1335_cur."!cursor_debug"("START ", "prefix:sym<make>")
+    .lex unicode:"$\x{a2}", rx1335_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1335_eos, rx1335_tgt
+    gt rx1335_pos, rx1335_eos, rx1335_done
+    set rx1335_off, 0
+    lt rx1335_pos, 2, rx1335_start
+    sub rx1335_off, rx1335_pos, 1
+    substr rx1335_tgt, rx1335_tgt, rx1335_off
+  rx1335_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1338_done
+    goto rxscan1338_scan
+  rxscan1338_loop:
+    ($P10) = rx1335_cur."from"()
+    inc $P10
+    set rx1335_pos, $P10
+    ge rx1335_pos, rx1335_eos, rxscan1338_done
+  rxscan1338_scan:
+    set_addr $I10, rxscan1338_loop
+    rx1335_cur."!mark_push"(0, rx1335_pos, $I10)
+  rxscan1338_done:
+.annotate 'line', 556
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1309_fail
-    rx1305_cur."!mark_push"(0, rx1305_pos, $I10)
+    set_addr $I10, rxcap_1339_fail
+    rx1335_cur."!mark_push"(0, rx1335_pos, $I10)
   # rx literal  "make"
-    add $I11, rx1305_pos, 4
-    gt $I11, rx1305_eos, rx1305_fail
-    sub $I11, rx1305_pos, rx1305_off
-    substr $S10, rx1305_tgt, $I11, 4
-    ne $S10, "make", rx1305_fail
-    add rx1305_pos, 4
-    set_addr $I10, rxcap_1309_fail
-    ($I12, $I11) = rx1305_cur."!mark_peek"($I10)
-    rx1305_cur."!cursor_pos"($I11)
-    ($P10) = rx1305_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1305_pos, "")
-    rx1305_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1335_pos, 4
+    gt $I11, rx1335_eos, rx1335_fail
+    sub $I11, rx1335_pos, rx1335_off
+    substr $S10, rx1335_tgt, $I11, 4
+    ne $S10, "make", rx1335_fail
+    add rx1335_pos, 4
+    set_addr $I10, rxcap_1339_fail
+    ($I12, $I11) = rx1335_cur."!mark_peek"($I10)
+    rx1335_cur."!cursor_pos"($I11)
+    ($P10) = rx1335_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1335_pos, "")
+    rx1335_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1309_done
-  rxcap_1309_fail:
-    goto rx1305_fail
-  rxcap_1309_done:
+    goto rxcap_1339_done
+  rxcap_1339_fail:
+    goto rx1335_fail
+  rxcap_1339_done:
   # rx charclass s
-    ge rx1305_pos, rx1305_eos, rx1305_fail
-    sub $I10, rx1305_pos, rx1305_off
-    is_cclass $I11, 32, rx1305_tgt, $I10
-    unless $I11, rx1305_fail
-    inc rx1305_pos
+    ge rx1335_pos, rx1335_eos, rx1335_fail
+    sub $I10, rx1335_pos, rx1335_off
+    is_cclass $I11, 32, rx1335_tgt, $I10
+    unless $I11, rx1335_fail
+    inc rx1335_pos
   # rx subrule "O" subtype=capture negate=
-    rx1305_cur."!cursor_pos"(rx1305_pos)
-    $P10 = rx1305_cur."O"("%list_prefix")
-    unless $P10, rx1305_fail
-    rx1305_cur."!mark_push"(0, -1, 0, $P10)
+    rx1335_cur."!cursor_pos"(rx1335_pos)
+    $P10 = rx1335_cur."O"("%list_prefix")
+    unless $P10, rx1335_fail
+    rx1335_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1305_pos = $P10."pos"()
+    rx1335_pos = $P10."pos"()
   # rx pass
-    rx1305_cur."!cursor_pass"(rx1305_pos, "prefix:sym<make>")
-    rx1305_cur."!cursor_debug"("PASS  ", "prefix:sym<make>", " at pos=", rx1305_pos)
-    .return (rx1305_cur)
-  rx1305_fail:
-.annotate 'line', 446
-    (rx1305_rep, rx1305_pos, $I10, $P10) = rx1305_cur."!mark_fail"(0)
-    lt rx1305_pos, -1, rx1305_done
-    eq rx1305_pos, -1, rx1305_fail
+    rx1335_cur."!cursor_pass"(rx1335_pos, "prefix:sym<make>")
+    rx1335_cur."!cursor_debug"("PASS  ", "prefix:sym<make>", " at pos=", rx1335_pos)
+    .return (rx1335_cur)
+  rx1335_fail:
+.annotate 'line', 447
+    (rx1335_rep, rx1335_pos, $I10, $P10) = rx1335_cur."!mark_fail"(0)
+    lt rx1335_pos, -1, rx1335_done
+    eq rx1335_pos, -1, rx1335_fail
     jump $I10
-  rx1305_done:
-    rx1305_cur."!cursor_fail"()
-    rx1305_cur."!cursor_debug"("FAIL  ", "prefix:sym<make>")
-    .return (rx1305_cur)
+  rx1335_done:
+    rx1335_cur."!cursor_fail"()
+    rx1335_cur."!cursor_debug"("FAIL  ", "prefix:sym<make>")
+    .return (rx1335_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<make>"  :subid("333_1277356913.9538") :method
-.annotate 'line', 446
-    new $P1307, "ResizablePMCArray"
-    push $P1307, "make"
-    .return ($P1307)
+.sub "!PREFIX__prefix:sym<make>"  :subid("341_1278500537.15927") :method
+.annotate 'line', 447
+    new $P1337, "ResizablePMCArray"
+    push $P1337, "make"
+    .return ($P1337)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<last>"  :subid("334_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1311_tgt
-    .local int rx1311_pos
-    .local int rx1311_off
-    .local int rx1311_eos
-    .local int rx1311_rep
-    .local pmc rx1311_cur
-    (rx1311_cur, rx1311_pos, rx1311_tgt) = self."!cursor_start"()
-    rx1311_cur."!cursor_debug"("START ", "term:sym<last>")
-    .lex unicode:"$\x{a2}", rx1311_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1311_eos, rx1311_tgt
-    gt rx1311_pos, rx1311_eos, rx1311_done
-    set rx1311_off, 0
-    lt rx1311_pos, 2, rx1311_start
-    sub rx1311_off, rx1311_pos, 1
-    substr rx1311_tgt, rx1311_tgt, rx1311_off
-  rx1311_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1314_done
-    goto rxscan1314_scan
-  rxscan1314_loop:
-    ($P10) = rx1311_cur."from"()
-    inc $P10
-    set rx1311_pos, $P10
-    ge rx1311_pos, rx1311_eos, rxscan1314_done
-  rxscan1314_scan:
-    set_addr $I10, rxscan1314_loop
-    rx1311_cur."!mark_push"(0, rx1311_pos, $I10)
-  rxscan1314_done:
-.annotate 'line', 553
+.sub "term:sym<last>"  :subid("342_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1341_tgt
+    .local int rx1341_pos
+    .local int rx1341_off
+    .local int rx1341_eos
+    .local int rx1341_rep
+    .local pmc rx1341_cur
+    (rx1341_cur, rx1341_pos, rx1341_tgt) = self."!cursor_start"()
+    rx1341_cur."!cursor_debug"("START ", "term:sym<last>")
+    .lex unicode:"$\x{a2}", rx1341_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1341_eos, rx1341_tgt
+    gt rx1341_pos, rx1341_eos, rx1341_done
+    set rx1341_off, 0
+    lt rx1341_pos, 2, rx1341_start
+    sub rx1341_off, rx1341_pos, 1
+    substr rx1341_tgt, rx1341_tgt, rx1341_off
+  rx1341_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1344_done
+    goto rxscan1344_scan
+  rxscan1344_loop:
+    ($P10) = rx1341_cur."from"()
+    inc $P10
+    set rx1341_pos, $P10
+    ge rx1341_pos, rx1341_eos, rxscan1344_done
+  rxscan1344_scan:
+    set_addr $I10, rxscan1344_loop
+    rx1341_cur."!mark_push"(0, rx1341_pos, $I10)
+  rxscan1344_done:
+.annotate 'line', 557
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1315_fail
-    rx1311_cur."!mark_push"(0, rx1311_pos, $I10)
+    set_addr $I10, rxcap_1345_fail
+    rx1341_cur."!mark_push"(0, rx1341_pos, $I10)
   # rx literal  "last"
-    add $I11, rx1311_pos, 4
-    gt $I11, rx1311_eos, rx1311_fail
-    sub $I11, rx1311_pos, rx1311_off
-    substr $S10, rx1311_tgt, $I11, 4
-    ne $S10, "last", rx1311_fail
-    add rx1311_pos, 4
-    set_addr $I10, rxcap_1315_fail
-    ($I12, $I11) = rx1311_cur."!mark_peek"($I10)
-    rx1311_cur."!cursor_pos"($I11)
-    ($P10) = rx1311_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1311_pos, "")
-    rx1311_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1341_pos, 4
+    gt $I11, rx1341_eos, rx1341_fail
+    sub $I11, rx1341_pos, rx1341_off
+    substr $S10, rx1341_tgt, $I11, 4
+    ne $S10, "last", rx1341_fail
+    add rx1341_pos, 4
+    set_addr $I10, rxcap_1345_fail
+    ($I12, $I11) = rx1341_cur."!mark_peek"($I10)
+    rx1341_cur."!cursor_pos"($I11)
+    ($P10) = rx1341_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1341_pos, "")
+    rx1341_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1315_done
-  rxcap_1315_fail:
-    goto rx1311_fail
-  rxcap_1315_done:
-  # rx pass
-    rx1311_cur."!cursor_pass"(rx1311_pos, "term:sym<last>")
-    rx1311_cur."!cursor_debug"("PASS  ", "term:sym<last>", " at pos=", rx1311_pos)
-    .return (rx1311_cur)
-  rx1311_fail:
-.annotate 'line', 446
-    (rx1311_rep, rx1311_pos, $I10, $P10) = rx1311_cur."!mark_fail"(0)
-    lt rx1311_pos, -1, rx1311_done
-    eq rx1311_pos, -1, rx1311_fail
+    goto rxcap_1345_done
+  rxcap_1345_fail:
+    goto rx1341_fail
+  rxcap_1345_done:
+  # rx pass
+    rx1341_cur."!cursor_pass"(rx1341_pos, "term:sym<last>")
+    rx1341_cur."!cursor_debug"("PASS  ", "term:sym<last>", " at pos=", rx1341_pos)
+    .return (rx1341_cur)
+  rx1341_fail:
+.annotate 'line', 447
+    (rx1341_rep, rx1341_pos, $I10, $P10) = rx1341_cur."!mark_fail"(0)
+    lt rx1341_pos, -1, rx1341_done
+    eq rx1341_pos, -1, rx1341_fail
     jump $I10
-  rx1311_done:
-    rx1311_cur."!cursor_fail"()
-    rx1311_cur."!cursor_debug"("FAIL  ", "term:sym<last>")
-    .return (rx1311_cur)
+  rx1341_done:
+    rx1341_cur."!cursor_fail"()
+    rx1341_cur."!cursor_debug"("FAIL  ", "term:sym<last>")
+    .return (rx1341_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<last>"  :subid("335_1277356913.9538") :method
-.annotate 'line', 446
-    new $P1313, "ResizablePMCArray"
-    push $P1313, "last"
-    .return ($P1313)
+.sub "!PREFIX__term:sym<last>"  :subid("343_1278500537.15927") :method
+.annotate 'line', 447
+    new $P1343, "ResizablePMCArray"
+    push $P1343, "last"
+    .return ($P1343)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<next>"  :subid("336_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1317_tgt
-    .local int rx1317_pos
-    .local int rx1317_off
-    .local int rx1317_eos
-    .local int rx1317_rep
-    .local pmc rx1317_cur
-    (rx1317_cur, rx1317_pos, rx1317_tgt) = self."!cursor_start"()
-    rx1317_cur."!cursor_debug"("START ", "term:sym<next>")
-    .lex unicode:"$\x{a2}", rx1317_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1317_eos, rx1317_tgt
-    gt rx1317_pos, rx1317_eos, rx1317_done
-    set rx1317_off, 0
-    lt rx1317_pos, 2, rx1317_start
-    sub rx1317_off, rx1317_pos, 1
-    substr rx1317_tgt, rx1317_tgt, rx1317_off
-  rx1317_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1320_done
-    goto rxscan1320_scan
-  rxscan1320_loop:
-    ($P10) = rx1317_cur."from"()
-    inc $P10
-    set rx1317_pos, $P10
-    ge rx1317_pos, rx1317_eos, rxscan1320_done
-  rxscan1320_scan:
-    set_addr $I10, rxscan1320_loop
-    rx1317_cur."!mark_push"(0, rx1317_pos, $I10)
-  rxscan1320_done:
-.annotate 'line', 554
+.sub "term:sym<next>"  :subid("344_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1347_tgt
+    .local int rx1347_pos
+    .local int rx1347_off
+    .local int rx1347_eos
+    .local int rx1347_rep
+    .local pmc rx1347_cur
+    (rx1347_cur, rx1347_pos, rx1347_tgt) = self."!cursor_start"()
+    rx1347_cur."!cursor_debug"("START ", "term:sym<next>")
+    .lex unicode:"$\x{a2}", rx1347_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1347_eos, rx1347_tgt
+    gt rx1347_pos, rx1347_eos, rx1347_done
+    set rx1347_off, 0
+    lt rx1347_pos, 2, rx1347_start
+    sub rx1347_off, rx1347_pos, 1
+    substr rx1347_tgt, rx1347_tgt, rx1347_off
+  rx1347_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1350_done
+    goto rxscan1350_scan
+  rxscan1350_loop:
+    ($P10) = rx1347_cur."from"()
+    inc $P10
+    set rx1347_pos, $P10
+    ge rx1347_pos, rx1347_eos, rxscan1350_done
+  rxscan1350_scan:
+    set_addr $I10, rxscan1350_loop
+    rx1347_cur."!mark_push"(0, rx1347_pos, $I10)
+  rxscan1350_done:
+.annotate 'line', 558
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1321_fail
-    rx1317_cur."!mark_push"(0, rx1317_pos, $I10)
+    set_addr $I10, rxcap_1351_fail
+    rx1347_cur."!mark_push"(0, rx1347_pos, $I10)
   # rx literal  "next"
-    add $I11, rx1317_pos, 4
-    gt $I11, rx1317_eos, rx1317_fail
-    sub $I11, rx1317_pos, rx1317_off
-    substr $S10, rx1317_tgt, $I11, 4
-    ne $S10, "next", rx1317_fail
-    add rx1317_pos, 4
-    set_addr $I10, rxcap_1321_fail
-    ($I12, $I11) = rx1317_cur."!mark_peek"($I10)
-    rx1317_cur."!cursor_pos"($I11)
-    ($P10) = rx1317_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1317_pos, "")
-    rx1317_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1347_pos, 4
+    gt $I11, rx1347_eos, rx1347_fail
+    sub $I11, rx1347_pos, rx1347_off
+    substr $S10, rx1347_tgt, $I11, 4
+    ne $S10, "next", rx1347_fail
+    add rx1347_pos, 4
+    set_addr $I10, rxcap_1351_fail
+    ($I12, $I11) = rx1347_cur."!mark_peek"($I10)
+    rx1347_cur."!cursor_pos"($I11)
+    ($P10) = rx1347_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1347_pos, "")
+    rx1347_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1321_done
-  rxcap_1321_fail:
-    goto rx1317_fail
-  rxcap_1321_done:
-  # rx pass
-    rx1317_cur."!cursor_pass"(rx1317_pos, "term:sym<next>")
-    rx1317_cur."!cursor_debug"("PASS  ", "term:sym<next>", " at pos=", rx1317_pos)
-    .return (rx1317_cur)
-  rx1317_fail:
-.annotate 'line', 446
-    (rx1317_rep, rx1317_pos, $I10, $P10) = rx1317_cur."!mark_fail"(0)
-    lt rx1317_pos, -1, rx1317_done
-    eq rx1317_pos, -1, rx1317_fail
+    goto rxcap_1351_done
+  rxcap_1351_fail:
+    goto rx1347_fail
+  rxcap_1351_done:
+  # rx pass
+    rx1347_cur."!cursor_pass"(rx1347_pos, "term:sym<next>")
+    rx1347_cur."!cursor_debug"("PASS  ", "term:sym<next>", " at pos=", rx1347_pos)
+    .return (rx1347_cur)
+  rx1347_fail:
+.annotate 'line', 447
+    (rx1347_rep, rx1347_pos, $I10, $P10) = rx1347_cur."!mark_fail"(0)
+    lt rx1347_pos, -1, rx1347_done
+    eq rx1347_pos, -1, rx1347_fail
     jump $I10
-  rx1317_done:
-    rx1317_cur."!cursor_fail"()
-    rx1317_cur."!cursor_debug"("FAIL  ", "term:sym<next>")
-    .return (rx1317_cur)
+  rx1347_done:
+    rx1347_cur."!cursor_fail"()
+    rx1347_cur."!cursor_debug"("FAIL  ", "term:sym<next>")
+    .return (rx1347_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<next>"  :subid("337_1277356913.9538") :method
-.annotate 'line', 446
-    new $P1319, "ResizablePMCArray"
-    push $P1319, "next"
-    .return ($P1319)
+.sub "!PREFIX__term:sym<next>"  :subid("345_1278500537.15927") :method
+.annotate 'line', 447
+    new $P1349, "ResizablePMCArray"
+    push $P1349, "next"
+    .return ($P1349)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<redo>"  :subid("338_1277356913.9538") :method :outer("11_1277356913.9538")
-.annotate 'line', 446
-    .local string rx1323_tgt
-    .local int rx1323_pos
-    .local int rx1323_off
-    .local int rx1323_eos
-    .local int rx1323_rep
-    .local pmc rx1323_cur
-    (rx1323_cur, rx1323_pos, rx1323_tgt) = self."!cursor_start"()
-    rx1323_cur."!cursor_debug"("START ", "term:sym<redo>")
-    .lex unicode:"$\x{a2}", rx1323_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1323_eos, rx1323_tgt
-    gt rx1323_pos, rx1323_eos, rx1323_done
-    set rx1323_off, 0
-    lt rx1323_pos, 2, rx1323_start
-    sub rx1323_off, rx1323_pos, 1
-    substr rx1323_tgt, rx1323_tgt, rx1323_off
-  rx1323_start:
+.sub "term:sym<redo>"  :subid("346_1278500537.15927") :method :outer("11_1278500537.15927")
+.annotate 'line', 447
+    .local string rx1353_tgt
+    .local int rx1353_pos
+    .local int rx1353_off
+    .local int rx1353_eos
+    .local int rx1353_rep
+    .local pmc rx1353_cur
+    (rx1353_cur, rx1353_pos, rx1353_tgt) = self."!cursor_start"()
+    rx1353_cur."!cursor_debug"("START ", "term:sym<redo>")
+    .lex unicode:"$\x{a2}", rx1353_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1353_eos, rx1353_tgt
+    gt rx1353_pos, rx1353_eos, rx1353_done
+    set rx1353_off, 0
+    lt rx1353_pos, 2, rx1353_start
+    sub rx1353_off, rx1353_pos, 1
+    substr rx1353_tgt, rx1353_tgt, rx1353_off
+  rx1353_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan1326_done
-    goto rxscan1326_scan
-  rxscan1326_loop:
-    ($P10) = rx1323_cur."from"()
+    ne $I10, -1, rxscan1356_done
+    goto rxscan1356_scan
+  rxscan1356_loop:
+    ($P10) = rx1353_cur."from"()
     inc $P10
-    set rx1323_pos, $P10
-    ge rx1323_pos, rx1323_eos, rxscan1326_done
-  rxscan1326_scan:
-    set_addr $I10, rxscan1326_loop
-    rx1323_cur."!mark_push"(0, rx1323_pos, $I10)
-  rxscan1326_done:
-.annotate 'line', 555
+    set rx1353_pos, $P10
+    ge rx1353_pos, rx1353_eos, rxscan1356_done
+  rxscan1356_scan:
+    set_addr $I10, rxscan1356_loop
+    rx1353_cur."!mark_push"(0, rx1353_pos, $I10)
+  rxscan1356_done:
+.annotate 'line', 559
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1327_fail
-    rx1323_cur."!mark_push"(0, rx1323_pos, $I10)
+    set_addr $I10, rxcap_1357_fail
+    rx1353_cur."!mark_push"(0, rx1353_pos, $I10)
   # rx literal  "redo"
-    add $I11, rx1323_pos, 4
-    gt $I11, rx1323_eos, rx1323_fail
-    sub $I11, rx1323_pos, rx1323_off
-    substr $S10, rx1323_tgt, $I11, 4
-    ne $S10, "redo", rx1323_fail
-    add rx1323_pos, 4
-    set_addr $I10, rxcap_1327_fail
-    ($I12, $I11) = rx1323_cur."!mark_peek"($I10)
-    rx1323_cur."!cursor_pos"($I11)
-    ($P10) = rx1323_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1323_pos, "")
-    rx1323_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1353_pos, 4
+    gt $I11, rx1353_eos, rx1353_fail
+    sub $I11, rx1353_pos, rx1353_off
+    substr $S10, rx1353_tgt, $I11, 4
+    ne $S10, "redo", rx1353_fail
+    add rx1353_pos, 4
+    set_addr $I10, rxcap_1357_fail
+    ($I12, $I11) = rx1353_cur."!mark_peek"($I10)
+    rx1353_cur."!cursor_pos"($I11)
+    ($P10) = rx1353_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1353_pos, "")
+    rx1353_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1327_done
-  rxcap_1327_fail:
-    goto rx1323_fail
-  rxcap_1327_done:
+    goto rxcap_1357_done
+  rxcap_1357_fail:
+    goto rx1353_fail
+  rxcap_1357_done:
   # rx pass
-    rx1323_cur."!cursor_pass"(rx1323_pos, "term:sym<redo>")
-    rx1323_cur."!cursor_debug"("PASS  ", "term:sym<redo>", " at pos=", rx1323_pos)
-    .return (rx1323_cur)
-  rx1323_fail:
-.annotate 'line', 446
-    (rx1323_rep, rx1323_pos, $I10, $P10) = rx1323_cur."!mark_fail"(0)
-    lt rx1323_pos, -1, rx1323_done
-    eq rx1323_pos, -1, rx1323_fail
+    rx1353_cur."!cursor_pass"(rx1353_pos, "term:sym<redo>")
+    rx1353_cur."!cursor_debug"("PASS  ", "term:sym<redo>", " at pos=", rx1353_pos)
+    .return (rx1353_cur)
+  rx1353_fail:
+.annotate 'line', 447
+    (rx1353_rep, rx1353_pos, $I10, $P10) = rx1353_cur."!mark_fail"(0)
+    lt rx1353_pos, -1, rx1353_done
+    eq rx1353_pos, -1, rx1353_fail
     jump $I10
-  rx1323_done:
-    rx1323_cur."!cursor_fail"()
-    rx1323_cur."!cursor_debug"("FAIL  ", "term:sym<redo>")
-    .return (rx1323_cur)
+  rx1353_done:
+    rx1353_cur."!cursor_fail"()
+    rx1353_cur."!cursor_debug"("FAIL  ", "term:sym<redo>")
+    .return (rx1353_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<redo>"  :subid("339_1277356913.9538") :method
-.annotate 'line', 446
-    new $P1325, "ResizablePMCArray"
-    push $P1325, "redo"
-    .return ($P1325)
+.sub "!PREFIX__term:sym<redo>"  :subid("347_1278500537.15927") :method
+.annotate 'line', 447
+    new $P1355, "ResizablePMCArray"
+    push $P1355, "redo"
+    .return ($P1355)
 .end
 
 
 .namespace ["NQP";"Grammar"]
 .include "except_types.pasm"
-.sub "smartmatch"  :subid("340_1277356913.9538") :method :outer("11_1277356913.9538")
-    .param pmc param_1331
-.annotate 'line', 557
-    new $P1330, 'ExceptionHandler'
-    set_addr $P1330, control_1329
-    $P1330."handle_types"(.CONTROL_RETURN)
-    push_eh $P1330
+.sub "smartmatch"  :subid("348_1278500537.15927") :method :outer("11_1278500537.15927")
+    .param pmc param_1361
+.annotate 'line', 561
+    new $P1360, 'ExceptionHandler'
+    set_addr $P1360, control_1359
+    $P1360."handle_types"(.CONTROL_RETURN)
+    push_eh $P1360
     .lex "self", self
-    .lex "$/", param_1331
-.annotate 'line', 559
-    new $P1332, "Undef"
-    .lex "$t", $P1332
-    find_lex $P1333, "$/"
-    unless_null $P1333, vivify_376
-    $P1333 = root_new ['parrot';'ResizablePMCArray']
-  vivify_376:
-    set $P1334, $P1333[0]
-    unless_null $P1334, vivify_377
-    new $P1334, "Undef"
-  vivify_377:
-    store_lex "$t", $P1334
-    find_lex $P1335, "$/"
-    unless_null $P1335, vivify_378
-    $P1335 = root_new ['parrot';'ResizablePMCArray']
-  vivify_378:
-    set $P1336, $P1335[1]
-    unless_null $P1336, vivify_379
-    new $P1336, "Undef"
-  vivify_379:
-    find_lex $P1337, "$/"
-    unless_null $P1337, vivify_380
-    $P1337 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$/", $P1337
-  vivify_380:
-    set $P1337[0], $P1336
-    find_lex $P1338, "$t"
-    find_lex $P1339, "$/"
-    unless_null $P1339, vivify_381
-    $P1339 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$/", $P1339
-  vivify_381:
-    set $P1339[1], $P1338
-.annotate 'line', 557
-    .return ($P1338)
-  control_1329:
+    .lex "$/", param_1361
+.annotate 'line', 563
+    new $P1362, "Undef"
+    .lex "$t", $P1362
+    find_lex $P1363, "$/"
+    unless_null $P1363, vivify_384
+    $P1363 = root_new ['parrot';'ResizablePMCArray']
+  vivify_384:
+    set $P1364, $P1363[0]
+    unless_null $P1364, vivify_385
+    new $P1364, "Undef"
+  vivify_385:
+    store_lex "$t", $P1364
+    find_lex $P1365, "$/"
+    unless_null $P1365, vivify_386
+    $P1365 = root_new ['parrot';'ResizablePMCArray']
+  vivify_386:
+    set $P1366, $P1365[1]
+    unless_null $P1366, vivify_387
+    new $P1366, "Undef"
+  vivify_387:
+    find_lex $P1367, "$/"
+    unless_null $P1367, vivify_388
+    $P1367 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$/", $P1367
+  vivify_388:
+    set $P1367[0], $P1366
+    find_lex $P1368, "$t"
+    find_lex $P1369, "$/"
+    unless_null $P1369, vivify_389
+    $P1369 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$/", $P1369
+  vivify_389:
+    set $P1369[1], $P1368
+.annotate 'line', 561
+    .return ($P1368)
+  control_1359:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1340, exception, "payload"
-    .return ($P1340)
+    getattribute $P1370, exception, "payload"
+    .return ($P1370)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1341"  :subid("341_1277356913.9538") :outer("11_1277356913.9538")
-.annotate 'line', 563
-    .const 'Sub' $P1399 = "360_1277356913.9538" 
-    capture_lex $P1399
-    .const 'Sub' $P1394 = "358_1277356913.9538" 
-    capture_lex $P1394
-    .const 'Sub' $P1381 = "355_1277356913.9538" 
-    capture_lex $P1381
-    .const 'Sub' $P1371 = "352_1277356913.9538" 
-    capture_lex $P1371
-    .const 'Sub' $P1366 = "350_1277356913.9538" 
-    capture_lex $P1366
-    .const 'Sub' $P1357 = "347_1277356913.9538" 
-    capture_lex $P1357
-    .const 'Sub' $P1352 = "345_1277356913.9538" 
-    capture_lex $P1352
-    .const 'Sub' $P1343 = "342_1277356913.9538" 
-    capture_lex $P1343
-    .const 'Sub' $P1399 = "360_1277356913.9538" 
-    capture_lex $P1399
-    .return ($P1399)
+.sub "_block1371"  :subid("349_1278500537.15927") :outer("11_1278500537.15927")
+.annotate 'line', 567
+    .const 'Sub' $P1429 = "368_1278500537.15927" 
+    capture_lex $P1429
+    .const 'Sub' $P1424 = "366_1278500537.15927" 
+    capture_lex $P1424
+    .const 'Sub' $P1411 = "363_1278500537.15927" 
+    capture_lex $P1411
+    .const 'Sub' $P1401 = "360_1278500537.15927" 
+    capture_lex $P1401
+    .const 'Sub' $P1396 = "358_1278500537.15927" 
+    capture_lex $P1396
+    .const 'Sub' $P1387 = "355_1278500537.15927" 
+    capture_lex $P1387
+    .const 'Sub' $P1382 = "353_1278500537.15927" 
+    capture_lex $P1382
+    .const 'Sub' $P1373 = "350_1278500537.15927" 
+    capture_lex $P1373
+    .const 'Sub' $P1429 = "368_1278500537.15927" 
+    capture_lex $P1429
+    .return ($P1429)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<:my>"  :subid("342_1277356913.9538") :method :outer("341_1277356913.9538")
-.annotate 'line', 563
-    .const 'Sub' $P1349 = "344_1277356913.9538" 
-    capture_lex $P1349
-    .local string rx1344_tgt
-    .local int rx1344_pos
-    .local int rx1344_off
-    .local int rx1344_eos
-    .local int rx1344_rep
-    .local pmc rx1344_cur
-    (rx1344_cur, rx1344_pos, rx1344_tgt) = self."!cursor_start"()
-    rx1344_cur."!cursor_debug"("START ", "metachar:sym<:my>")
-    .lex unicode:"$\x{a2}", rx1344_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1344_eos, rx1344_tgt
-    gt rx1344_pos, rx1344_eos, rx1344_done
-    set rx1344_off, 0
-    lt rx1344_pos, 2, rx1344_start
-    sub rx1344_off, rx1344_pos, 1
-    substr rx1344_tgt, rx1344_tgt, rx1344_off
-  rx1344_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1347_done
-    goto rxscan1347_scan
-  rxscan1347_loop:
-    ($P10) = rx1344_cur."from"()
-    inc $P10
-    set rx1344_pos, $P10
-    ge rx1344_pos, rx1344_eos, rxscan1347_done
-  rxscan1347_scan:
-    set_addr $I10, rxscan1347_loop
-    rx1344_cur."!mark_push"(0, rx1344_pos, $I10)
-  rxscan1347_done:
-.annotate 'line', 565
+.sub "metachar:sym<:my>"  :subid("350_1278500537.15927") :method :outer("349_1278500537.15927")
+.annotate 'line', 567
+    .const 'Sub' $P1379 = "352_1278500537.15927" 
+    capture_lex $P1379
+    .local string rx1374_tgt
+    .local int rx1374_pos
+    .local int rx1374_off
+    .local int rx1374_eos
+    .local int rx1374_rep
+    .local pmc rx1374_cur
+    (rx1374_cur, rx1374_pos, rx1374_tgt) = self."!cursor_start"()
+    rx1374_cur."!cursor_debug"("START ", "metachar:sym<:my>")
+    .lex unicode:"$\x{a2}", rx1374_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1374_eos, rx1374_tgt
+    gt rx1374_pos, rx1374_eos, rx1374_done
+    set rx1374_off, 0
+    lt rx1374_pos, 2, rx1374_start
+    sub rx1374_off, rx1374_pos, 1
+    substr rx1374_tgt, rx1374_tgt, rx1374_off
+  rx1374_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1377_done
+    goto rxscan1377_scan
+  rxscan1377_loop:
+    ($P10) = rx1374_cur."from"()
+    inc $P10
+    set rx1374_pos, $P10
+    ge rx1374_pos, rx1374_eos, rxscan1377_done
+  rxscan1377_scan:
+    set_addr $I10, rxscan1377_loop
+    rx1374_cur."!mark_push"(0, rx1374_pos, $I10)
+  rxscan1377_done:
+.annotate 'line', 569
   # rx literal  ":"
-    add $I11, rx1344_pos, 1
-    gt $I11, rx1344_eos, rx1344_fail
-    sub $I11, rx1344_pos, rx1344_off
-    substr $S10, rx1344_tgt, $I11, 1
-    ne $S10, ":", rx1344_fail
-    add rx1344_pos, 1
+    add $I11, rx1374_pos, 1
+    gt $I11, rx1374_eos, rx1374_fail
+    sub $I11, rx1374_pos, rx1374_off
+    substr $S10, rx1374_tgt, $I11, 1
+    ne $S10, ":", rx1374_fail
+    add rx1374_pos, 1
   # rx subrule "before" subtype=zerowidth negate=
-    rx1344_cur."!cursor_pos"(rx1344_pos)
-    .const 'Sub' $P1349 = "344_1277356913.9538" 
-    capture_lex $P1349
-    $P10 = rx1344_cur."before"($P1349)
-    unless $P10, rx1344_fail
+    rx1374_cur."!cursor_pos"(rx1374_pos)
+    .const 'Sub' $P1379 = "352_1278500537.15927" 
+    capture_lex $P1379
+    $P10 = rx1374_cur."before"($P1379)
+    unless $P10, rx1374_fail
   # rx subrule "LANG" subtype=capture negate=
-    rx1344_cur."!cursor_pos"(rx1344_pos)
-    $P10 = rx1344_cur."LANG"("MAIN", "statement")
-    unless $P10, rx1344_fail
-    rx1344_cur."!mark_push"(0, -1, 0, $P10)
+    rx1374_cur."!cursor_pos"(rx1374_pos)
+    $P10 = rx1374_cur."LANG"("MAIN", "statement")
+    unless $P10, rx1374_fail
+    rx1374_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement")
-    rx1344_pos = $P10."pos"()
+    rx1374_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx1344_cur."!cursor_pos"(rx1344_pos)
-    $P10 = rx1344_cur."ws"()
-    unless $P10, rx1344_fail
-    rx1344_pos = $P10."pos"()
+    rx1374_cur."!cursor_pos"(rx1374_pos)
+    $P10 = rx1374_cur."ws"()
+    unless $P10, rx1374_fail
+    rx1374_pos = $P10."pos"()
   # rx literal  ";"
-    add $I11, rx1344_pos, 1
-    gt $I11, rx1344_eos, rx1344_fail
-    sub $I11, rx1344_pos, rx1344_off
-    substr $S10, rx1344_tgt, $I11, 1
-    ne $S10, ";", rx1344_fail
-    add rx1344_pos, 1
-.annotate 'line', 564
-  # rx pass
-    rx1344_cur."!cursor_pass"(rx1344_pos, "metachar:sym<:my>")
-    rx1344_cur."!cursor_debug"("PASS  ", "metachar:sym<:my>", " at pos=", rx1344_pos)
-    .return (rx1344_cur)
-  rx1344_fail:
-.annotate 'line', 563
-    (rx1344_rep, rx1344_pos, $I10, $P10) = rx1344_cur."!mark_fail"(0)
-    lt rx1344_pos, -1, rx1344_done
-    eq rx1344_pos, -1, rx1344_fail
-    jump $I10
-  rx1344_done:
-    rx1344_cur."!cursor_fail"()
-    rx1344_cur."!cursor_debug"("FAIL  ", "metachar:sym<:my>")
-    .return (rx1344_cur)
+    add $I11, rx1374_pos, 1
+    gt $I11, rx1374_eos, rx1374_fail
+    sub $I11, rx1374_pos, rx1374_off
+    substr $S10, rx1374_tgt, $I11, 1
+    ne $S10, ";", rx1374_fail
+    add rx1374_pos, 1
+.annotate 'line', 568
+  # rx pass
+    rx1374_cur."!cursor_pass"(rx1374_pos, "metachar:sym<:my>")
+    rx1374_cur."!cursor_debug"("PASS  ", "metachar:sym<:my>", " at pos=", rx1374_pos)
+    .return (rx1374_cur)
+  rx1374_fail:
+.annotate 'line', 567
+    (rx1374_rep, rx1374_pos, $I10, $P10) = rx1374_cur."!mark_fail"(0)
+    lt rx1374_pos, -1, rx1374_done
+    eq rx1374_pos, -1, rx1374_fail
+    jump $I10
+  rx1374_done:
+    rx1374_cur."!cursor_fail"()
+    rx1374_cur."!cursor_debug"("FAIL  ", "metachar:sym<:my>")
+    .return (rx1374_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<:my>"  :subid("343_1277356913.9538") :method
-.annotate 'line', 563
-    new $P1346, "ResizablePMCArray"
-    push $P1346, ":"
-    .return ($P1346)
+.sub "!PREFIX__metachar:sym<:my>"  :subid("351_1278500537.15927") :method
+.annotate 'line', 567
+    new $P1376, "ResizablePMCArray"
+    push $P1376, ":"
+    .return ($P1376)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1348"  :anon :subid("344_1277356913.9538") :method :outer("342_1277356913.9538")
-.annotate 'line', 565
-    .local string rx1350_tgt
-    .local int rx1350_pos
-    .local int rx1350_off
-    .local int rx1350_eos
-    .local int rx1350_rep
-    .local pmc rx1350_cur
-    (rx1350_cur, rx1350_pos, rx1350_tgt) = self."!cursor_start"()
-    rx1350_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1350_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1350_eos, rx1350_tgt
-    gt rx1350_pos, rx1350_eos, rx1350_done
-    set rx1350_off, 0
-    lt rx1350_pos, 2, rx1350_start
-    sub rx1350_off, rx1350_pos, 1
-    substr rx1350_tgt, rx1350_tgt, rx1350_off
-  rx1350_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1351_done
-    goto rxscan1351_scan
-  rxscan1351_loop:
-    ($P10) = rx1350_cur."from"()
-    inc $P10
-    set rx1350_pos, $P10
-    ge rx1350_pos, rx1350_eos, rxscan1351_done
-  rxscan1351_scan:
-    set_addr $I10, rxscan1351_loop
-    rx1350_cur."!mark_push"(0, rx1350_pos, $I10)
-  rxscan1351_done:
+.sub "_block1378"  :anon :subid("352_1278500537.15927") :method :outer("350_1278500537.15927")
+.annotate 'line', 569
+    .local string rx1380_tgt
+    .local int rx1380_pos
+    .local int rx1380_off
+    .local int rx1380_eos
+    .local int rx1380_rep
+    .local pmc rx1380_cur
+    (rx1380_cur, rx1380_pos, rx1380_tgt) = self."!cursor_start"()
+    rx1380_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1380_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1380_eos, rx1380_tgt
+    gt rx1380_pos, rx1380_eos, rx1380_done
+    set rx1380_off, 0
+    lt rx1380_pos, 2, rx1380_start
+    sub rx1380_off, rx1380_pos, 1
+    substr rx1380_tgt, rx1380_tgt, rx1380_off
+  rx1380_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1381_done
+    goto rxscan1381_scan
+  rxscan1381_loop:
+    ($P10) = rx1380_cur."from"()
+    inc $P10
+    set rx1380_pos, $P10
+    ge rx1380_pos, rx1380_eos, rxscan1381_done
+  rxscan1381_scan:
+    set_addr $I10, rxscan1381_loop
+    rx1380_cur."!mark_push"(0, rx1380_pos, $I10)
+  rxscan1381_done:
   # rx literal  "my"
-    add $I11, rx1350_pos, 2
-    gt $I11, rx1350_eos, rx1350_fail
-    sub $I11, rx1350_pos, rx1350_off
-    substr $S10, rx1350_tgt, $I11, 2
-    ne $S10, "my", rx1350_fail
-    add rx1350_pos, 2
-  # rx pass
-    rx1350_cur."!cursor_pass"(rx1350_pos, "")
-    rx1350_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1350_pos)
-    .return (rx1350_cur)
-  rx1350_fail:
-    (rx1350_rep, rx1350_pos, $I10, $P10) = rx1350_cur."!mark_fail"(0)
-    lt rx1350_pos, -1, rx1350_done
-    eq rx1350_pos, -1, rx1350_fail
-    jump $I10
-  rx1350_done:
-    rx1350_cur."!cursor_fail"()
-    rx1350_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1350_cur)
+    add $I11, rx1380_pos, 2
+    gt $I11, rx1380_eos, rx1380_fail
+    sub $I11, rx1380_pos, rx1380_off
+    substr $S10, rx1380_tgt, $I11, 2
+    ne $S10, "my", rx1380_fail
+    add rx1380_pos, 2
+  # rx pass
+    rx1380_cur."!cursor_pass"(rx1380_pos, "")
+    rx1380_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1380_pos)
+    .return (rx1380_cur)
+  rx1380_fail:
+    (rx1380_rep, rx1380_pos, $I10, $P10) = rx1380_cur."!mark_fail"(0)
+    lt rx1380_pos, -1, rx1380_done
+    eq rx1380_pos, -1, rx1380_fail
+    jump $I10
+  rx1380_done:
+    rx1380_cur."!cursor_fail"()
+    rx1380_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1380_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<{ }>"  :subid("345_1277356913.9538") :method :outer("341_1277356913.9538")
-.annotate 'line', 563
-    .local string rx1353_tgt
-    .local int rx1353_pos
-    .local int rx1353_off
-    .local int rx1353_eos
-    .local int rx1353_rep
-    .local pmc rx1353_cur
-    (rx1353_cur, rx1353_pos, rx1353_tgt) = self."!cursor_start"()
-    rx1353_cur."!cursor_debug"("START ", "metachar:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx1353_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1353_eos, rx1353_tgt
-    gt rx1353_pos, rx1353_eos, rx1353_done
-    set rx1353_off, 0
-    lt rx1353_pos, 2, rx1353_start
-    sub rx1353_off, rx1353_pos, 1
-    substr rx1353_tgt, rx1353_tgt, rx1353_off
-  rx1353_start:
+.sub "metachar:sym<{ }>"  :subid("353_1278500537.15927") :method :outer("349_1278500537.15927")
+.annotate 'line', 567
+    .local string rx1383_tgt
+    .local int rx1383_pos
+    .local int rx1383_off
+    .local int rx1383_eos
+    .local int rx1383_rep
+    .local pmc rx1383_cur
+    (rx1383_cur, rx1383_pos, rx1383_tgt) = self."!cursor_start"()
+    rx1383_cur."!cursor_debug"("START ", "metachar:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx1383_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1383_eos, rx1383_tgt
+    gt rx1383_pos, rx1383_eos, rx1383_done
+    set rx1383_off, 0
+    lt rx1383_pos, 2, rx1383_start
+    sub rx1383_off, rx1383_pos, 1
+    substr rx1383_tgt, rx1383_tgt, rx1383_off
+  rx1383_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan1356_done
-    goto rxscan1356_scan
-  rxscan1356_loop:
-    ($P10) = rx1353_cur."from"()
+    ne $I10, -1, rxscan1386_done
+    goto rxscan1386_scan
+  rxscan1386_loop:
+    ($P10) = rx1383_cur."from"()
     inc $P10
-    set rx1353_pos, $P10
-    ge rx1353_pos, rx1353_eos, rxscan1356_done
-  rxscan1356_scan:
-    set_addr $I10, rxscan1356_loop
-    rx1353_cur."!mark_push"(0, rx1353_pos, $I10)
-  rxscan1356_done:
-.annotate 'line', 569
+    set rx1383_pos, $P10
+    ge rx1383_pos, rx1383_eos, rxscan1386_done
+  rxscan1386_scan:
+    set_addr $I10, rxscan1386_loop
+    rx1383_cur."!mark_push"(0, rx1383_pos, $I10)
+  rxscan1386_done:
+.annotate 'line', 573
   # rx enumcharlist negate=0 zerowidth
-    ge rx1353_pos, rx1353_eos, rx1353_fail
-    sub $I10, rx1353_pos, rx1353_off
-    substr $S10, rx1353_tgt, $I10, 1
+    ge rx1383_pos, rx1383_eos, rx1383_fail
+    sub $I10, rx1383_pos, rx1383_off
+    substr $S10, rx1383_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx1353_fail
+    lt $I11, 0, rx1383_fail
   # rx subrule "codeblock" subtype=capture negate=
-    rx1353_cur."!cursor_pos"(rx1353_pos)
-    $P10 = rx1353_cur."codeblock"()
-    unless $P10, rx1353_fail
-    rx1353_cur."!mark_push"(0, -1, 0, $P10)
+    rx1383_cur."!cursor_pos"(rx1383_pos)
+    $P10 = rx1383_cur."codeblock"()
+    unless $P10, rx1383_fail
+    rx1383_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("codeblock")
-    rx1353_pos = $P10."pos"()
-.annotate 'line', 568
+    rx1383_pos = $P10."pos"()
+.annotate 'line', 572
   # rx pass
-    rx1353_cur."!cursor_pass"(rx1353_pos, "metachar:sym<{ }>")
-    rx1353_cur."!cursor_debug"("PASS  ", "metachar:sym<{ }>", " at pos=", rx1353_pos)
-    .return (rx1353_cur)
-  rx1353_fail:
-.annotate 'line', 563
-    (rx1353_rep, rx1353_pos, $I10, $P10) = rx1353_cur."!mark_fail"(0)
-    lt rx1353_pos, -1, rx1353_done
-    eq rx1353_pos, -1, rx1353_fail
-    jump $I10
-  rx1353_done:
-    rx1353_cur."!cursor_fail"()
-    rx1353_cur."!cursor_debug"("FAIL  ", "metachar:sym<{ }>")
-    .return (rx1353_cur)
+    rx1383_cur."!cursor_pass"(rx1383_pos, "metachar:sym<{ }>")
+    rx1383_cur."!cursor_debug"("PASS  ", "metachar:sym<{ }>", " at pos=", rx1383_pos)
+    .return (rx1383_cur)
+  rx1383_fail:
+.annotate 'line', 567
+    (rx1383_rep, rx1383_pos, $I10, $P10) = rx1383_cur."!mark_fail"(0)
+    lt rx1383_pos, -1, rx1383_done
+    eq rx1383_pos, -1, rx1383_fail
+    jump $I10
+  rx1383_done:
+    rx1383_cur."!cursor_fail"()
+    rx1383_cur."!cursor_debug"("FAIL  ", "metachar:sym<{ }>")
+    .return (rx1383_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<{ }>"  :subid("346_1277356913.9538") :method
-.annotate 'line', 563
-    new $P1355, "ResizablePMCArray"
-    push $P1355, "{"
-    .return ($P1355)
+.sub "!PREFIX__metachar:sym<{ }>"  :subid("354_1278500537.15927") :method
+.annotate 'line', 567
+    new $P1385, "ResizablePMCArray"
+    push $P1385, "{"
+    .return ($P1385)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<nqpvar>"  :subid("347_1277356913.9538") :method :outer("341_1277356913.9538")
-.annotate 'line', 563
-    .const 'Sub' $P1363 = "349_1277356913.9538" 
-    capture_lex $P1363
-    .local string rx1358_tgt
-    .local int rx1358_pos
-    .local int rx1358_off
-    .local int rx1358_eos
-    .local int rx1358_rep
-    .local pmc rx1358_cur
-    (rx1358_cur, rx1358_pos, rx1358_tgt) = self."!cursor_start"()
-    rx1358_cur."!cursor_debug"("START ", "metachar:sym<nqpvar>")
-    .lex unicode:"$\x{a2}", rx1358_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1358_eos, rx1358_tgt
-    gt rx1358_pos, rx1358_eos, rx1358_done
-    set rx1358_off, 0
-    lt rx1358_pos, 2, rx1358_start
-    sub rx1358_off, rx1358_pos, 1
-    substr rx1358_tgt, rx1358_tgt, rx1358_off
-  rx1358_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1361_done
-    goto rxscan1361_scan
-  rxscan1361_loop:
-    ($P10) = rx1358_cur."from"()
-    inc $P10
-    set rx1358_pos, $P10
-    ge rx1358_pos, rx1358_eos, rxscan1361_done
-  rxscan1361_scan:
-    set_addr $I10, rxscan1361_loop
-    rx1358_cur."!mark_push"(0, rx1358_pos, $I10)
-  rxscan1361_done:
-.annotate 'line', 573
+.sub "metachar:sym<nqpvar>"  :subid("355_1278500537.15927") :method :outer("349_1278500537.15927")
+.annotate 'line', 567
+    .const 'Sub' $P1393 = "357_1278500537.15927" 
+    capture_lex $P1393
+    .local string rx1388_tgt
+    .local int rx1388_pos
+    .local int rx1388_off
+    .local int rx1388_eos
+    .local int rx1388_rep
+    .local pmc rx1388_cur
+    (rx1388_cur, rx1388_pos, rx1388_tgt) = self."!cursor_start"()
+    rx1388_cur."!cursor_debug"("START ", "metachar:sym<nqpvar>")
+    .lex unicode:"$\x{a2}", rx1388_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1388_eos, rx1388_tgt
+    gt rx1388_pos, rx1388_eos, rx1388_done
+    set rx1388_off, 0
+    lt rx1388_pos, 2, rx1388_start
+    sub rx1388_off, rx1388_pos, 1
+    substr rx1388_tgt, rx1388_tgt, rx1388_off
+  rx1388_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1391_done
+    goto rxscan1391_scan
+  rxscan1391_loop:
+    ($P10) = rx1388_cur."from"()
+    inc $P10
+    set rx1388_pos, $P10
+    ge rx1388_pos, rx1388_eos, rxscan1391_done
+  rxscan1391_scan:
+    set_addr $I10, rxscan1391_loop
+    rx1388_cur."!mark_push"(0, rx1388_pos, $I10)
+  rxscan1391_done:
+.annotate 'line', 577
   # rx enumcharlist negate=0 zerowidth
-    ge rx1358_pos, rx1358_eos, rx1358_fail
-    sub $I10, rx1358_pos, rx1358_off
-    substr $S10, rx1358_tgt, $I10, 1
+    ge rx1388_pos, rx1388_eos, rx1388_fail
+    sub $I10, rx1388_pos, rx1388_off
+    substr $S10, rx1388_tgt, $I10, 1
     index $I11, "$@", $S10
-    lt $I11, 0, rx1358_fail
+    lt $I11, 0, rx1388_fail
   # rx subrule "before" subtype=zerowidth negate=
-    rx1358_cur."!cursor_pos"(rx1358_pos)
-    .const 'Sub' $P1363 = "349_1277356913.9538" 
-    capture_lex $P1363
-    $P10 = rx1358_cur."before"($P1363)
-    unless $P10, rx1358_fail
+    rx1388_cur."!cursor_pos"(rx1388_pos)
+    .const 'Sub' $P1393 = "357_1278500537.15927" 
+    capture_lex $P1393
+    $P10 = rx1388_cur."before"($P1393)
+    unless $P10, rx1388_fail
   # rx subrule "LANG" subtype=capture negate=
-    rx1358_cur."!cursor_pos"(rx1358_pos)
-    $P10 = rx1358_cur."LANG"("MAIN", "variable")
-    unless $P10, rx1358_fail
-    rx1358_cur."!mark_push"(0, -1, 0, $P10)
+    rx1388_cur."!cursor_pos"(rx1388_pos)
+    $P10 = rx1388_cur."LANG"("MAIN", "variable")
+    unless $P10, rx1388_fail
+    rx1388_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("var")
-    rx1358_pos = $P10."pos"()
-.annotate 'line', 572
+    rx1388_pos = $P10."pos"()
+.annotate 'line', 576
   # rx pass
-    rx1358_cur."!cursor_pass"(rx1358_pos, "metachar:sym<nqpvar>")
-    rx1358_cur."!cursor_debug"("PASS  ", "metachar:sym<nqpvar>", " at pos=", rx1358_pos)
-    .return (rx1358_cur)
-  rx1358_fail:
-.annotate 'line', 563
-    (rx1358_rep, rx1358_pos, $I10, $P10) = rx1358_cur."!mark_fail"(0)
-    lt rx1358_pos, -1, rx1358_done
-    eq rx1358_pos, -1, rx1358_fail
-    jump $I10
-  rx1358_done:
-    rx1358_cur."!cursor_fail"()
-    rx1358_cur."!cursor_debug"("FAIL  ", "metachar:sym<nqpvar>")
-    .return (rx1358_cur)
+    rx1388_cur."!cursor_pass"(rx1388_pos, "metachar:sym<nqpvar>")
+    rx1388_cur."!cursor_debug"("PASS  ", "metachar:sym<nqpvar>", " at pos=", rx1388_pos)
+    .return (rx1388_cur)
+  rx1388_fail:
+.annotate 'line', 567
+    (rx1388_rep, rx1388_pos, $I10, $P10) = rx1388_cur."!mark_fail"(0)
+    lt rx1388_pos, -1, rx1388_done
+    eq rx1388_pos, -1, rx1388_fail
+    jump $I10
+  rx1388_done:
+    rx1388_cur."!cursor_fail"()
+    rx1388_cur."!cursor_debug"("FAIL  ", "metachar:sym<nqpvar>")
+    .return (rx1388_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<nqpvar>"  :subid("348_1277356913.9538") :method
-.annotate 'line', 563
-    new $P1360, "ResizablePMCArray"
-    push $P1360, "$"
-    push $P1360, "@"
-    .return ($P1360)
+.sub "!PREFIX__metachar:sym<nqpvar>"  :subid("356_1278500537.15927") :method
+.annotate 'line', 567
+    new $P1390, "ResizablePMCArray"
+    push $P1390, "$"
+    push $P1390, "@"
+    .return ($P1390)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1362"  :anon :subid("349_1277356913.9538") :method :outer("347_1277356913.9538")
-.annotate 'line', 573
-    .local string rx1364_tgt
-    .local int rx1364_pos
-    .local int rx1364_off
-    .local int rx1364_eos
-    .local int rx1364_rep
-    .local pmc rx1364_cur
-    (rx1364_cur, rx1364_pos, rx1364_tgt) = self."!cursor_start"()
-    rx1364_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1364_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1364_eos, rx1364_tgt
-    gt rx1364_pos, rx1364_eos, rx1364_done
-    set rx1364_off, 0
-    lt rx1364_pos, 2, rx1364_start
-    sub rx1364_off, rx1364_pos, 1
-    substr rx1364_tgt, rx1364_tgt, rx1364_off
-  rx1364_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1365_done
-    goto rxscan1365_scan
-  rxscan1365_loop:
-    ($P10) = rx1364_cur."from"()
-    inc $P10
-    set rx1364_pos, $P10
-    ge rx1364_pos, rx1364_eos, rxscan1365_done
-  rxscan1365_scan:
-    set_addr $I10, rxscan1365_loop
-    rx1364_cur."!mark_push"(0, rx1364_pos, $I10)
-  rxscan1365_done:
+.sub "_block1392"  :anon :subid("357_1278500537.15927") :method :outer("355_1278500537.15927")
+.annotate 'line', 577
+    .local string rx1394_tgt
+    .local int rx1394_pos
+    .local int rx1394_off
+    .local int rx1394_eos
+    .local int rx1394_rep
+    .local pmc rx1394_cur
+    (rx1394_cur, rx1394_pos, rx1394_tgt) = self."!cursor_start"()
+    rx1394_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1394_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1394_eos, rx1394_tgt
+    gt rx1394_pos, rx1394_eos, rx1394_done
+    set rx1394_off, 0
+    lt rx1394_pos, 2, rx1394_start
+    sub rx1394_off, rx1394_pos, 1
+    substr rx1394_tgt, rx1394_tgt, rx1394_off
+  rx1394_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1395_done
+    goto rxscan1395_scan
+  rxscan1395_loop:
+    ($P10) = rx1394_cur."from"()
+    inc $P10
+    set rx1394_pos, $P10
+    ge rx1394_pos, rx1394_eos, rxscan1395_done
+  rxscan1395_scan:
+    set_addr $I10, rxscan1395_loop
+    rx1394_cur."!mark_push"(0, rx1394_pos, $I10)
+  rxscan1395_done:
   # rx charclass .
-    ge rx1364_pos, rx1364_eos, rx1364_fail
-    inc rx1364_pos
+    ge rx1394_pos, rx1394_eos, rx1394_fail
+    inc rx1394_pos
   # rx charclass w
-    ge rx1364_pos, rx1364_eos, rx1364_fail
-    sub $I10, rx1364_pos, rx1364_off
-    is_cclass $I11, 8192, rx1364_tgt, $I10
-    unless $I11, rx1364_fail
-    inc rx1364_pos
-  # rx pass
-    rx1364_cur."!cursor_pass"(rx1364_pos, "")
-    rx1364_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1364_pos)
-    .return (rx1364_cur)
-  rx1364_fail:
-    (rx1364_rep, rx1364_pos, $I10, $P10) = rx1364_cur."!mark_fail"(0)
-    lt rx1364_pos, -1, rx1364_done
-    eq rx1364_pos, -1, rx1364_fail
-    jump $I10
-  rx1364_done:
-    rx1364_cur."!cursor_fail"()
-    rx1364_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1364_cur)
+    ge rx1394_pos, rx1394_eos, rx1394_fail
+    sub $I10, rx1394_pos, rx1394_off
+    is_cclass $I11, 8192, rx1394_tgt, $I10
+    unless $I11, rx1394_fail
+    inc rx1394_pos
+  # rx pass
+    rx1394_cur."!cursor_pass"(rx1394_pos, "")
+    rx1394_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1394_pos)
+    .return (rx1394_cur)
+  rx1394_fail:
+    (rx1394_rep, rx1394_pos, $I10, $P10) = rx1394_cur."!mark_fail"(0)
+    lt rx1394_pos, -1, rx1394_done
+    eq rx1394_pos, -1, rx1394_fail
+    jump $I10
+  rx1394_done:
+    rx1394_cur."!cursor_fail"()
+    rx1394_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1394_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<{ }>"  :subid("350_1277356913.9538") :method :outer("341_1277356913.9538")
-.annotate 'line', 563
-    .local string rx1367_tgt
-    .local int rx1367_pos
-    .local int rx1367_off
-    .local int rx1367_eos
-    .local int rx1367_rep
-    .local pmc rx1367_cur
-    (rx1367_cur, rx1367_pos, rx1367_tgt) = self."!cursor_start"()
-    rx1367_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx1367_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1367_eos, rx1367_tgt
-    gt rx1367_pos, rx1367_eos, rx1367_done
-    set rx1367_off, 0
-    lt rx1367_pos, 2, rx1367_start
-    sub rx1367_off, rx1367_pos, 1
-    substr rx1367_tgt, rx1367_tgt, rx1367_off
-  rx1367_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1370_done
-    goto rxscan1370_scan
-  rxscan1370_loop:
-    ($P10) = rx1367_cur."from"()
-    inc $P10
-    set rx1367_pos, $P10
-    ge rx1367_pos, rx1367_eos, rxscan1370_done
-  rxscan1370_scan:
-    set_addr $I10, rxscan1370_loop
-    rx1367_cur."!mark_push"(0, rx1367_pos, $I10)
-  rxscan1370_done:
-.annotate 'line', 577
+.sub "assertion:sym<{ }>"  :subid("358_1278500537.15927") :method :outer("349_1278500537.15927")
+.annotate 'line', 567
+    .local string rx1397_tgt
+    .local int rx1397_pos
+    .local int rx1397_off
+    .local int rx1397_eos
+    .local int rx1397_rep
+    .local pmc rx1397_cur
+    (rx1397_cur, rx1397_pos, rx1397_tgt) = self."!cursor_start"()
+    rx1397_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx1397_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1397_eos, rx1397_tgt
+    gt rx1397_pos, rx1397_eos, rx1397_done
+    set rx1397_off, 0
+    lt rx1397_pos, 2, rx1397_start
+    sub rx1397_off, rx1397_pos, 1
+    substr rx1397_tgt, rx1397_tgt, rx1397_off
+  rx1397_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1400_done
+    goto rxscan1400_scan
+  rxscan1400_loop:
+    ($P10) = rx1397_cur."from"()
+    inc $P10
+    set rx1397_pos, $P10
+    ge rx1397_pos, rx1397_eos, rxscan1400_done
+  rxscan1400_scan:
+    set_addr $I10, rxscan1400_loop
+    rx1397_cur."!mark_push"(0, rx1397_pos, $I10)
+  rxscan1400_done:
+.annotate 'line', 581
   # rx enumcharlist negate=0 zerowidth
-    ge rx1367_pos, rx1367_eos, rx1367_fail
-    sub $I10, rx1367_pos, rx1367_off
-    substr $S10, rx1367_tgt, $I10, 1
+    ge rx1397_pos, rx1397_eos, rx1397_fail
+    sub $I10, rx1397_pos, rx1397_off
+    substr $S10, rx1397_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx1367_fail
+    lt $I11, 0, rx1397_fail
   # rx subrule "codeblock" subtype=capture negate=
-    rx1367_cur."!cursor_pos"(rx1367_pos)
-    $P10 = rx1367_cur."codeblock"()
-    unless $P10, rx1367_fail
-    rx1367_cur."!mark_push"(0, -1, 0, $P10)
+    rx1397_cur."!cursor_pos"(rx1397_pos)
+    $P10 = rx1397_cur."codeblock"()
+    unless $P10, rx1397_fail
+    rx1397_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("codeblock")
-    rx1367_pos = $P10."pos"()
-.annotate 'line', 576
+    rx1397_pos = $P10."pos"()
+.annotate 'line', 580
   # rx pass
-    rx1367_cur."!cursor_pass"(rx1367_pos, "assertion:sym<{ }>")
-    rx1367_cur."!cursor_debug"("PASS  ", "assertion:sym<{ }>", " at pos=", rx1367_pos)
-    .return (rx1367_cur)
-  rx1367_fail:
-.annotate 'line', 563
-    (rx1367_rep, rx1367_pos, $I10, $P10) = rx1367_cur."!mark_fail"(0)
-    lt rx1367_pos, -1, rx1367_done
-    eq rx1367_pos, -1, rx1367_fail
-    jump $I10
-  rx1367_done:
-    rx1367_cur."!cursor_fail"()
-    rx1367_cur."!cursor_debug"("FAIL  ", "assertion:sym<{ }>")
-    .return (rx1367_cur)
+    rx1397_cur."!cursor_pass"(rx1397_pos, "assertion:sym<{ }>")
+    rx1397_cur."!cursor_debug"("PASS  ", "assertion:sym<{ }>", " at pos=", rx1397_pos)
+    .return (rx1397_cur)
+  rx1397_fail:
+.annotate 'line', 567
+    (rx1397_rep, rx1397_pos, $I10, $P10) = rx1397_cur."!mark_fail"(0)
+    lt rx1397_pos, -1, rx1397_done
+    eq rx1397_pos, -1, rx1397_fail
+    jump $I10
+  rx1397_done:
+    rx1397_cur."!cursor_fail"()
+    rx1397_cur."!cursor_debug"("FAIL  ", "assertion:sym<{ }>")
+    .return (rx1397_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<{ }>"  :subid("351_1277356913.9538") :method
-.annotate 'line', 563
-    new $P1369, "ResizablePMCArray"
-    push $P1369, "{"
-    .return ($P1369)
+.sub "!PREFIX__assertion:sym<{ }>"  :subid("359_1278500537.15927") :method
+.annotate 'line', 567
+    new $P1399, "ResizablePMCArray"
+    push $P1399, "{"
+    .return ($P1399)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<?{ }>"  :subid("352_1277356913.9538") :method :outer("341_1277356913.9538")
-.annotate 'line', 563
-    .const 'Sub' $P1377 = "354_1277356913.9538" 
-    capture_lex $P1377
-    .local string rx1372_tgt
-    .local int rx1372_pos
-    .local int rx1372_off
-    .local int rx1372_eos
-    .local int rx1372_rep
-    .local pmc rx1372_cur
-    (rx1372_cur, rx1372_pos, rx1372_tgt) = self."!cursor_start"()
-    rx1372_cur."!cursor_debug"("START ", "assertion:sym<?{ }>")
-    .lex unicode:"$\x{a2}", rx1372_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1372_eos, rx1372_tgt
-    gt rx1372_pos, rx1372_eos, rx1372_done
-    set rx1372_off, 0
-    lt rx1372_pos, 2, rx1372_start
-    sub rx1372_off, rx1372_pos, 1
-    substr rx1372_tgt, rx1372_tgt, rx1372_off
-  rx1372_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1375_done
-    goto rxscan1375_scan
-  rxscan1375_loop:
-    ($P10) = rx1372_cur."from"()
-    inc $P10
-    set rx1372_pos, $P10
-    ge rx1372_pos, rx1372_eos, rxscan1375_done
-  rxscan1375_scan:
-    set_addr $I10, rxscan1375_loop
-    rx1372_cur."!mark_push"(0, rx1372_pos, $I10)
-  rxscan1375_done:
-.annotate 'line', 581
+.sub "assertion:sym<?{ }>"  :subid("360_1278500537.15927") :method :outer("349_1278500537.15927")
+.annotate 'line', 567
+    .const 'Sub' $P1407 = "362_1278500537.15927" 
+    capture_lex $P1407
+    .local string rx1402_tgt
+    .local int rx1402_pos
+    .local int rx1402_off
+    .local int rx1402_eos
+    .local int rx1402_rep
+    .local pmc rx1402_cur
+    (rx1402_cur, rx1402_pos, rx1402_tgt) = self."!cursor_start"()
+    rx1402_cur."!cursor_debug"("START ", "assertion:sym<?{ }>")
+    .lex unicode:"$\x{a2}", rx1402_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1402_eos, rx1402_tgt
+    gt rx1402_pos, rx1402_eos, rx1402_done
+    set rx1402_off, 0
+    lt rx1402_pos, 2, rx1402_start
+    sub rx1402_off, rx1402_pos, 1
+    substr rx1402_tgt, rx1402_tgt, rx1402_off
+  rx1402_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1405_done
+    goto rxscan1405_scan
+  rxscan1405_loop:
+    ($P10) = rx1402_cur."from"()
+    inc $P10
+    set rx1402_pos, $P10
+    ge rx1402_pos, rx1402_eos, rxscan1405_done
+  rxscan1405_scan:
+    set_addr $I10, rxscan1405_loop
+    rx1402_cur."!mark_push"(0, rx1402_pos, $I10)
+  rxscan1405_done:
+.annotate 'line', 585
   # rx subcapture "zw"
-    set_addr $I10, rxcap_1380_fail
-    rx1372_cur."!mark_push"(0, rx1372_pos, $I10)
+    set_addr $I10, rxcap_1410_fail
+    rx1402_cur."!mark_push"(0, rx1402_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx1372_pos, rx1372_eos, rx1372_fail
-    sub $I10, rx1372_pos, rx1372_off
-    substr $S10, rx1372_tgt, $I10, 1
+    ge rx1402_pos, rx1402_eos, rx1402_fail
+    sub $I10, rx1402_pos, rx1402_off
+    substr $S10, rx1402_tgt, $I10, 1
     index $I11, "?!", $S10
-    lt $I11, 0, rx1372_fail
-    inc rx1372_pos
+    lt $I11, 0, rx1402_fail
+    inc rx1402_pos
   # rx subrule "before" subtype=zerowidth negate=
-    rx1372_cur."!cursor_pos"(rx1372_pos)
-    .const 'Sub' $P1377 = "354_1277356913.9538" 
-    capture_lex $P1377
-    $P10 = rx1372_cur."before"($P1377)
-    unless $P10, rx1372_fail
-    set_addr $I10, rxcap_1380_fail
-    ($I12, $I11) = rx1372_cur."!mark_peek"($I10)
-    rx1372_cur."!cursor_pos"($I11)
-    ($P10) = rx1372_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1372_pos, "")
-    rx1372_cur."!mark_push"(0, -1, 0, $P10)
+    rx1402_cur."!cursor_pos"(rx1402_pos)
+    .const 'Sub' $P1407 = "362_1278500537.15927" 
+    capture_lex $P1407
+    $P10 = rx1402_cur."before"($P1407)
+    unless $P10, rx1402_fail
+    set_addr $I10, rxcap_1410_fail
+    ($I12, $I11) = rx1402_cur."!mark_peek"($I10)
+    rx1402_cur."!cursor_pos"($I11)
+    ($P10) = rx1402_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1402_pos, "")
+    rx1402_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("zw")
-    goto rxcap_1380_done
-  rxcap_1380_fail:
-    goto rx1372_fail
-  rxcap_1380_done:
+    goto rxcap_1410_done
+  rxcap_1410_fail:
+    goto rx1402_fail
+  rxcap_1410_done:
   # rx subrule "codeblock" subtype=capture negate=
-    rx1372_cur."!cursor_pos"(rx1372_pos)
-    $P10 = rx1372_cur."codeblock"()
-    unless $P10, rx1372_fail
-    rx1372_cur."!mark_push"(0, -1, 0, $P10)
+    rx1402_cur."!cursor_pos"(rx1402_pos)
+    $P10 = rx1402_cur."codeblock"()
+    unless $P10, rx1402_fail
+    rx1402_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("codeblock")
-    rx1372_pos = $P10."pos"()
-.annotate 'line', 580
+    rx1402_pos = $P10."pos"()
+.annotate 'line', 584
   # rx pass
-    rx1372_cur."!cursor_pass"(rx1372_pos, "assertion:sym<?{ }>")
-    rx1372_cur."!cursor_debug"("PASS  ", "assertion:sym<?{ }>", " at pos=", rx1372_pos)
-    .return (rx1372_cur)
-  rx1372_fail:
-.annotate 'line', 563
-    (rx1372_rep, rx1372_pos, $I10, $P10) = rx1372_cur."!mark_fail"(0)
-    lt rx1372_pos, -1, rx1372_done
-    eq rx1372_pos, -1, rx1372_fail
-    jump $I10
-  rx1372_done:
-    rx1372_cur."!cursor_fail"()
-    rx1372_cur."!cursor_debug"("FAIL  ", "assertion:sym<?{ }>")
-    .return (rx1372_cur)
+    rx1402_cur."!cursor_pass"(rx1402_pos, "assertion:sym<?{ }>")
+    rx1402_cur."!cursor_debug"("PASS  ", "assertion:sym<?{ }>", " at pos=", rx1402_pos)
+    .return (rx1402_cur)
+  rx1402_fail:
+.annotate 'line', 567
+    (rx1402_rep, rx1402_pos, $I10, $P10) = rx1402_cur."!mark_fail"(0)
+    lt rx1402_pos, -1, rx1402_done
+    eq rx1402_pos, -1, rx1402_fail
+    jump $I10
+  rx1402_done:
+    rx1402_cur."!cursor_fail"()
+    rx1402_cur."!cursor_debug"("FAIL  ", "assertion:sym<?{ }>")
+    .return (rx1402_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<?{ }>"  :subid("353_1277356913.9538") :method
-.annotate 'line', 563
-    new $P1374, "ResizablePMCArray"
-    push $P1374, "!"
-    push $P1374, "?"
-    .return ($P1374)
+.sub "!PREFIX__assertion:sym<?{ }>"  :subid("361_1278500537.15927") :method
+.annotate 'line', 567
+    new $P1404, "ResizablePMCArray"
+    push $P1404, "!"
+    push $P1404, "?"
+    .return ($P1404)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1376"  :anon :subid("354_1277356913.9538") :method :outer("352_1277356913.9538")
-.annotate 'line', 581
-    .local string rx1378_tgt
-    .local int rx1378_pos
-    .local int rx1378_off
-    .local int rx1378_eos
-    .local int rx1378_rep
-    .local pmc rx1378_cur
-    (rx1378_cur, rx1378_pos, rx1378_tgt) = self."!cursor_start"()
-    rx1378_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1378_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1378_eos, rx1378_tgt
-    gt rx1378_pos, rx1378_eos, rx1378_done
-    set rx1378_off, 0
-    lt rx1378_pos, 2, rx1378_start
-    sub rx1378_off, rx1378_pos, 1
-    substr rx1378_tgt, rx1378_tgt, rx1378_off
-  rx1378_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1379_done
-    goto rxscan1379_scan
-  rxscan1379_loop:
-    ($P10) = rx1378_cur."from"()
-    inc $P10
-    set rx1378_pos, $P10
-    ge rx1378_pos, rx1378_eos, rxscan1379_done
-  rxscan1379_scan:
-    set_addr $I10, rxscan1379_loop
-    rx1378_cur."!mark_push"(0, rx1378_pos, $I10)
-  rxscan1379_done:
+.sub "_block1406"  :anon :subid("362_1278500537.15927") :method :outer("360_1278500537.15927")
+.annotate 'line', 585
+    .local string rx1408_tgt
+    .local int rx1408_pos
+    .local int rx1408_off
+    .local int rx1408_eos
+    .local int rx1408_rep
+    .local pmc rx1408_cur
+    (rx1408_cur, rx1408_pos, rx1408_tgt) = self."!cursor_start"()
+    rx1408_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1408_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1408_eos, rx1408_tgt
+    gt rx1408_pos, rx1408_eos, rx1408_done
+    set rx1408_off, 0
+    lt rx1408_pos, 2, rx1408_start
+    sub rx1408_off, rx1408_pos, 1
+    substr rx1408_tgt, rx1408_tgt, rx1408_off
+  rx1408_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1409_done
+    goto rxscan1409_scan
+  rxscan1409_loop:
+    ($P10) = rx1408_cur."from"()
+    inc $P10
+    set rx1408_pos, $P10
+    ge rx1408_pos, rx1408_eos, rxscan1409_done
+  rxscan1409_scan:
+    set_addr $I10, rxscan1409_loop
+    rx1408_cur."!mark_push"(0, rx1408_pos, $I10)
+  rxscan1409_done:
   # rx literal  "{"
-    add $I11, rx1378_pos, 1
-    gt $I11, rx1378_eos, rx1378_fail
-    sub $I11, rx1378_pos, rx1378_off
-    substr $S10, rx1378_tgt, $I11, 1
-    ne $S10, "{", rx1378_fail
-    add rx1378_pos, 1
-  # rx pass
-    rx1378_cur."!cursor_pass"(rx1378_pos, "")
-    rx1378_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1378_pos)
-    .return (rx1378_cur)
-  rx1378_fail:
-    (rx1378_rep, rx1378_pos, $I10, $P10) = rx1378_cur."!mark_fail"(0)
-    lt rx1378_pos, -1, rx1378_done
-    eq rx1378_pos, -1, rx1378_fail
-    jump $I10
-  rx1378_done:
-    rx1378_cur."!cursor_fail"()
-    rx1378_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1378_cur)
+    add $I11, rx1408_pos, 1
+    gt $I11, rx1408_eos, rx1408_fail
+    sub $I11, rx1408_pos, rx1408_off
+    substr $S10, rx1408_tgt, $I11, 1
+    ne $S10, "{", rx1408_fail
+    add rx1408_pos, 1
+  # rx pass
+    rx1408_cur."!cursor_pass"(rx1408_pos, "")
+    rx1408_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1408_pos)
+    .return (rx1408_cur)
+  rx1408_fail:
+    (rx1408_rep, rx1408_pos, $I10, $P10) = rx1408_cur."!mark_fail"(0)
+    lt rx1408_pos, -1, rx1408_done
+    eq rx1408_pos, -1, rx1408_fail
+    jump $I10
+  rx1408_done:
+    rx1408_cur."!cursor_fail"()
+    rx1408_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1408_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<name>"  :subid("355_1277356913.9538") :method :outer("341_1277356913.9538")
-.annotate 'line', 563
-    .const 'Sub' $P1390 = "357_1277356913.9538" 
-    capture_lex $P1390
-    .local string rx1382_tgt
-    .local int rx1382_pos
-    .local int rx1382_off
-    .local int rx1382_eos
-    .local int rx1382_rep
-    .local pmc rx1382_cur
-    (rx1382_cur, rx1382_pos, rx1382_tgt) = self."!cursor_start"()
-    rx1382_cur."!cursor_debug"("START ", "assertion:sym<name>")
-    rx1382_cur."!cursor_caparray"("arglist", "nibbler", "assertion")
-    .lex unicode:"$\x{a2}", rx1382_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1382_eos, rx1382_tgt
-    gt rx1382_pos, rx1382_eos, rx1382_done
-    set rx1382_off, 0
-    lt rx1382_pos, 2, rx1382_start
-    sub rx1382_off, rx1382_pos, 1
-    substr rx1382_tgt, rx1382_tgt, rx1382_off
-  rx1382_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1386_done
-    goto rxscan1386_scan
-  rxscan1386_loop:
-    ($P10) = rx1382_cur."from"()
-    inc $P10
-    set rx1382_pos, $P10
-    ge rx1382_pos, rx1382_eos, rxscan1386_done
-  rxscan1386_scan:
-    set_addr $I10, rxscan1386_loop
-    rx1382_cur."!mark_push"(0, rx1382_pos, $I10)
-  rxscan1386_done:
-.annotate 'line', 585
+.sub "assertion:sym<name>"  :subid("363_1278500537.15927") :method :outer("349_1278500537.15927")
+.annotate 'line', 567
+    .const 'Sub' $P1420 = "365_1278500537.15927" 
+    capture_lex $P1420
+    .local string rx1412_tgt
+    .local int rx1412_pos
+    .local int rx1412_off
+    .local int rx1412_eos
+    .local int rx1412_rep
+    .local pmc rx1412_cur
+    (rx1412_cur, rx1412_pos, rx1412_tgt) = self."!cursor_start"()
+    rx1412_cur."!cursor_debug"("START ", "assertion:sym<name>")
+    rx1412_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
+    .lex unicode:"$\x{a2}", rx1412_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1412_eos, rx1412_tgt
+    gt rx1412_pos, rx1412_eos, rx1412_done
+    set rx1412_off, 0
+    lt rx1412_pos, 2, rx1412_start
+    sub rx1412_off, rx1412_pos, 1
+    substr rx1412_tgt, rx1412_tgt, rx1412_off
+  rx1412_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1416_done
+    goto rxscan1416_scan
+  rxscan1416_loop:
+    ($P10) = rx1412_cur."from"()
+    inc $P10
+    set rx1412_pos, $P10
+    ge rx1412_pos, rx1412_eos, rxscan1416_done
+  rxscan1416_scan:
+    set_addr $I10, rxscan1416_loop
+    rx1412_cur."!mark_push"(0, rx1412_pos, $I10)
+  rxscan1416_done:
+.annotate 'line', 589
   # rx subrule "identifier" subtype=capture negate=
-    rx1382_cur."!cursor_pos"(rx1382_pos)
-    $P10 = rx1382_cur."identifier"()
-    unless $P10, rx1382_fail
-    rx1382_cur."!mark_push"(0, -1, 0, $P10)
+    rx1412_cur."!cursor_pos"(rx1412_pos)
+    $P10 = rx1412_cur."identifier"()
+    unless $P10, rx1412_fail
+    rx1412_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("longname")
-    rx1382_pos = $P10."pos"()
-.annotate 'line', 592
-  # rx rxquantr1387 ** 0..1
-    set_addr $I1393, rxquantr1387_done
-    rx1382_cur."!mark_push"(0, rx1382_pos, $I1393)
-  rxquantr1387_loop:
-  alt1388_0:
-.annotate 'line', 586
-    set_addr $I10, alt1388_1
-    rx1382_cur."!mark_push"(0, rx1382_pos, $I10)
-.annotate 'line', 587
+    rx1412_pos = $P10."pos"()
+.annotate 'line', 596
+  # rx rxquantr1417 ** 0..1
+    set_addr $I1423, rxquantr1417_done
+    rx1412_cur."!mark_push"(0, rx1412_pos, $I1423)
+  rxquantr1417_loop:
+  alt1418_0:
+.annotate 'line', 590
+    set_addr $I10, alt1418_1
+    rx1412_cur."!mark_push"(0, rx1412_pos, $I10)
+.annotate 'line', 591
   # rx subrule "before" subtype=zerowidth negate=
-    rx1382_cur."!cursor_pos"(rx1382_pos)
-    .const 'Sub' $P1390 = "357_1277356913.9538" 
-    capture_lex $P1390
-    $P10 = rx1382_cur."before"($P1390)
-    unless $P10, rx1382_fail
-    goto alt1388_end
-  alt1388_1:
-    set_addr $I10, alt1388_2
-    rx1382_cur."!mark_push"(0, rx1382_pos, $I10)
-.annotate 'line', 588
+    rx1412_cur."!cursor_pos"(rx1412_pos)
+    .const 'Sub' $P1420 = "365_1278500537.15927" 
+    capture_lex $P1420
+    $P10 = rx1412_cur."before"($P1420)
+    unless $P10, rx1412_fail
+    goto alt1418_end
+  alt1418_1:
+    set_addr $I10, alt1418_2
+    rx1412_cur."!mark_push"(0, rx1412_pos, $I10)
+.annotate 'line', 592
   # rx literal  "="
-    add $I11, rx1382_pos, 1
-    gt $I11, rx1382_eos, rx1382_fail
-    sub $I11, rx1382_pos, rx1382_off
-    substr $S10, rx1382_tgt, $I11, 1
-    ne $S10, "=", rx1382_fail
-    add rx1382_pos, 1
+    add $I11, rx1412_pos, 1
+    gt $I11, rx1412_eos, rx1412_fail
+    sub $I11, rx1412_pos, rx1412_off
+    substr $S10, rx1412_tgt, $I11, 1
+    ne $S10, "=", rx1412_fail
+    add rx1412_pos, 1
   # rx subrule "assertion" subtype=capture negate=
-    rx1382_cur."!cursor_pos"(rx1382_pos)
-    $P10 = rx1382_cur."assertion"()
-    unless $P10, rx1382_fail
-    rx1382_cur."!mark_push"(0, -1, 0, $P10)
+    rx1412_cur."!cursor_pos"(rx1412_pos)
+    $P10 = rx1412_cur."assertion"()
+    unless $P10, rx1412_fail
+    rx1412_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx1382_pos = $P10."pos"()
-    goto alt1388_end
-  alt1388_2:
-    set_addr $I10, alt1388_3
-    rx1382_cur."!mark_push"(0, rx1382_pos, $I10)
-.annotate 'line', 589
+    rx1412_pos = $P10."pos"()
+    goto alt1418_end
+  alt1418_2:
+    set_addr $I10, alt1418_3
+    rx1412_cur."!mark_push"(0, rx1412_pos, $I10)
+.annotate 'line', 593
   # rx literal  ":"
-    add $I11, rx1382_pos, 1
-    gt $I11, rx1382_eos, rx1382_fail
-    sub $I11, rx1382_pos, rx1382_off
-    substr $S10, rx1382_tgt, $I11, 1
-    ne $S10, ":", rx1382_fail
-    add rx1382_pos, 1
+    add $I11, rx1412_pos, 1
+    gt $I11, rx1412_eos, rx1412_fail
+    sub $I11, rx1412_pos, rx1412_off
+    substr $S10, rx1412_tgt, $I11, 1
+    ne $S10, ":", rx1412_fail
+    add rx1412_pos, 1
   # rx subrule "arglist" subtype=capture negate=
-    rx1382_cur."!cursor_pos"(rx1382_pos)
-    $P10 = rx1382_cur."arglist"()
-    unless $P10, rx1382_fail
-    rx1382_cur."!mark_push"(0, -1, 0, $P10)
+    rx1412_cur."!cursor_pos"(rx1412_pos)
+    $P10 = rx1412_cur."arglist"()
+    unless $P10, rx1412_fail
+    rx1412_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx1382_pos = $P10."pos"()
-    goto alt1388_end
-  alt1388_3:
-    set_addr $I10, alt1388_4
-    rx1382_cur."!mark_push"(0, rx1382_pos, $I10)
-.annotate 'line', 590
+    rx1412_pos = $P10."pos"()
+    goto alt1418_end
+  alt1418_3:
+    set_addr $I10, alt1418_4
+    rx1412_cur."!mark_push"(0, rx1412_pos, $I10)
+.annotate 'line', 594
   # rx literal  "("
-    add $I11, rx1382_pos, 1
-    gt $I11, rx1382_eos, rx1382_fail
-    sub $I11, rx1382_pos, rx1382_off
-    substr $S10, rx1382_tgt, $I11, 1
-    ne $S10, "(", rx1382_fail
-    add rx1382_pos, 1
+    add $I11, rx1412_pos, 1
+    gt $I11, rx1412_eos, rx1412_fail
+    sub $I11, rx1412_pos, rx1412_off
+    substr $S10, rx1412_tgt, $I11, 1
+    ne $S10, "(", rx1412_fail
+    add rx1412_pos, 1
   # rx subrule "LANG" subtype=capture negate=
-    rx1382_cur."!cursor_pos"(rx1382_pos)
-    $P10 = rx1382_cur."LANG"("MAIN", "arglist")
-    unless $P10, rx1382_fail
-    rx1382_cur."!mark_push"(0, -1, 0, $P10)
+    rx1412_cur."!cursor_pos"(rx1412_pos)
+    $P10 = rx1412_cur."LANG"("MAIN", "arglist")
+    unless $P10, rx1412_fail
+    rx1412_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx1382_pos = $P10."pos"()
+    rx1412_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx1382_pos, 1
-    gt $I11, rx1382_eos, rx1382_fail
-    sub $I11, rx1382_pos, rx1382_off
-    substr $S10, rx1382_tgt, $I11, 1
-    ne $S10, ")", rx1382_fail
-    add rx1382_pos, 1
-    goto alt1388_end
-  alt1388_4:
-.annotate 'line', 591
+    add $I11, rx1412_pos, 1
+    gt $I11, rx1412_eos, rx1412_fail
+    sub $I11, rx1412_pos, rx1412_off
+    substr $S10, rx1412_tgt, $I11, 1
+    ne $S10, ")", rx1412_fail
+    add rx1412_pos, 1
+    goto alt1418_end
+  alt1418_4:
+.annotate 'line', 595
   # rx subrule "normspace" subtype=method negate=
-    rx1382_cur."!cursor_pos"(rx1382_pos)
-    $P10 = rx1382_cur."normspace"()
-    unless $P10, rx1382_fail
-    rx1382_pos = $P10."pos"()
+    rx1412_cur."!cursor_pos"(rx1412_pos)
+    $P10 = rx1412_cur."normspace"()
+    unless $P10, rx1412_fail
+    rx1412_pos = $P10."pos"()
   # rx subrule "nibbler" subtype=capture negate=
-    rx1382_cur."!cursor_pos"(rx1382_pos)
-    $P10 = rx1382_cur."nibbler"()
-    unless $P10, rx1382_fail
-    rx1382_cur."!mark_push"(0, -1, 0, $P10)
+    rx1412_cur."!cursor_pos"(rx1412_pos)
+    $P10 = rx1412_cur."nibbler"()
+    unless $P10, rx1412_fail
+    rx1412_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx1382_pos = $P10."pos"()
-  alt1388_end:
-.annotate 'line', 592
-    (rx1382_rep) = rx1382_cur."!mark_commit"($I1393)
-  rxquantr1387_done:
-.annotate 'line', 584
+    rx1412_pos = $P10."pos"()
+  alt1418_end:
+.annotate 'line', 596
+    (rx1412_rep) = rx1412_cur."!mark_commit"($I1423)
+  rxquantr1417_done:
+.annotate 'line', 588
   # rx pass
-    rx1382_cur."!cursor_pass"(rx1382_pos, "assertion:sym<name>")
-    rx1382_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx1382_pos)
-    .return (rx1382_cur)
-  rx1382_fail:
-.annotate 'line', 563
-    (rx1382_rep, rx1382_pos, $I10, $P10) = rx1382_cur."!mark_fail"(0)
-    lt rx1382_pos, -1, rx1382_done
-    eq rx1382_pos, -1, rx1382_fail
-    jump $I10
-  rx1382_done:
-    rx1382_cur."!cursor_fail"()
-    rx1382_cur."!cursor_debug"("FAIL  ", "assertion:sym<name>")
-    .return (rx1382_cur)
+    rx1412_cur."!cursor_pass"(rx1412_pos, "assertion:sym<name>")
+    rx1412_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx1412_pos)
+    .return (rx1412_cur)
+  rx1412_fail:
+.annotate 'line', 567
+    (rx1412_rep, rx1412_pos, $I10, $P10) = rx1412_cur."!mark_fail"(0)
+    lt rx1412_pos, -1, rx1412_done
+    eq rx1412_pos, -1, rx1412_fail
+    jump $I10
+  rx1412_done:
+    rx1412_cur."!cursor_fail"()
+    rx1412_cur."!cursor_debug"("FAIL  ", "assertion:sym<name>")
+    .return (rx1412_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("356_1277356913.9538") :method
-.annotate 'line', 563
-    $P1384 = self."!PREFIX__!subrule"("identifier", "")
-    new $P1385, "ResizablePMCArray"
-    push $P1385, $P1384
-    .return ($P1385)
+.sub "!PREFIX__assertion:sym<name>"  :subid("364_1278500537.15927") :method
+.annotate 'line', 567
+    $P1414 = self."!PREFIX__!subrule"("identifier", "")
+    new $P1415, "ResizablePMCArray"
+    push $P1415, $P1414
+    .return ($P1415)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1389"  :anon :subid("357_1277356913.9538") :method :outer("355_1277356913.9538")
-.annotate 'line', 587
-    .local string rx1391_tgt
-    .local int rx1391_pos
-    .local int rx1391_off
-    .local int rx1391_eos
-    .local int rx1391_rep
-    .local pmc rx1391_cur
-    (rx1391_cur, rx1391_pos, rx1391_tgt) = self."!cursor_start"()
-    rx1391_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1391_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1391_eos, rx1391_tgt
-    gt rx1391_pos, rx1391_eos, rx1391_done
-    set rx1391_off, 0
-    lt rx1391_pos, 2, rx1391_start
-    sub rx1391_off, rx1391_pos, 1
-    substr rx1391_tgt, rx1391_tgt, rx1391_off
-  rx1391_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1392_done
-    goto rxscan1392_scan
-  rxscan1392_loop:
-    ($P10) = rx1391_cur."from"()
-    inc $P10
-    set rx1391_pos, $P10
-    ge rx1391_pos, rx1391_eos, rxscan1392_done
-  rxscan1392_scan:
-    set_addr $I10, rxscan1392_loop
-    rx1391_cur."!mark_push"(0, rx1391_pos, $I10)
-  rxscan1392_done:
+.sub "_block1419"  :anon :subid("365_1278500537.15927") :method :outer("363_1278500537.15927")
+.annotate 'line', 591
+    .local string rx1421_tgt
+    .local int rx1421_pos
+    .local int rx1421_off
+    .local int rx1421_eos
+    .local int rx1421_rep
+    .local pmc rx1421_cur
+    (rx1421_cur, rx1421_pos, rx1421_tgt) = self."!cursor_start"()
+    rx1421_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1421_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1421_eos, rx1421_tgt
+    gt rx1421_pos, rx1421_eos, rx1421_done
+    set rx1421_off, 0
+    lt rx1421_pos, 2, rx1421_start
+    sub rx1421_off, rx1421_pos, 1
+    substr rx1421_tgt, rx1421_tgt, rx1421_off
+  rx1421_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1422_done
+    goto rxscan1422_scan
+  rxscan1422_loop:
+    ($P10) = rx1421_cur."from"()
+    inc $P10
+    set rx1421_pos, $P10
+    ge rx1421_pos, rx1421_eos, rxscan1422_done
+  rxscan1422_scan:
+    set_addr $I10, rxscan1422_loop
+    rx1421_cur."!mark_push"(0, rx1421_pos, $I10)
+  rxscan1422_done:
   # rx literal  ">"
-    add $I11, rx1391_pos, 1
-    gt $I11, rx1391_eos, rx1391_fail
-    sub $I11, rx1391_pos, rx1391_off
-    substr $S10, rx1391_tgt, $I11, 1
-    ne $S10, ">", rx1391_fail
-    add rx1391_pos, 1
-  # rx pass
-    rx1391_cur."!cursor_pass"(rx1391_pos, "")
-    rx1391_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1391_pos)
-    .return (rx1391_cur)
-  rx1391_fail:
-    (rx1391_rep, rx1391_pos, $I10, $P10) = rx1391_cur."!mark_fail"(0)
-    lt rx1391_pos, -1, rx1391_done
-    eq rx1391_pos, -1, rx1391_fail
-    jump $I10
-  rx1391_done:
-    rx1391_cur."!cursor_fail"()
-    rx1391_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1391_cur)
+    add $I11, rx1421_pos, 1
+    gt $I11, rx1421_eos, rx1421_fail
+    sub $I11, rx1421_pos, rx1421_off
+    substr $S10, rx1421_tgt, $I11, 1
+    ne $S10, ">", rx1421_fail
+    add rx1421_pos, 1
+  # rx pass
+    rx1421_cur."!cursor_pass"(rx1421_pos, "")
+    rx1421_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1421_pos)
+    .return (rx1421_cur)
+  rx1421_fail:
+    (rx1421_rep, rx1421_pos, $I10, $P10) = rx1421_cur."!mark_fail"(0)
+    lt rx1421_pos, -1, rx1421_done
+    eq rx1421_pos, -1, rx1421_fail
+    jump $I10
+  rx1421_done:
+    rx1421_cur."!cursor_fail"()
+    rx1421_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1421_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<var>"  :subid("358_1277356913.9538") :method :outer("341_1277356913.9538")
-.annotate 'line', 563
-    .local string rx1395_tgt
-    .local int rx1395_pos
-    .local int rx1395_off
-    .local int rx1395_eos
-    .local int rx1395_rep
-    .local pmc rx1395_cur
-    (rx1395_cur, rx1395_pos, rx1395_tgt) = self."!cursor_start"()
-    rx1395_cur."!cursor_debug"("START ", "assertion:sym<var>")
-    .lex unicode:"$\x{a2}", rx1395_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1395_eos, rx1395_tgt
-    gt rx1395_pos, rx1395_eos, rx1395_done
-    set rx1395_off, 0
-    lt rx1395_pos, 2, rx1395_start
-    sub rx1395_off, rx1395_pos, 1
-    substr rx1395_tgt, rx1395_tgt, rx1395_off
-  rx1395_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1398_done
-    goto rxscan1398_scan
-  rxscan1398_loop:
-    ($P10) = rx1395_cur."from"()
-    inc $P10
-    set rx1395_pos, $P10
-    ge rx1395_pos, rx1395_eos, rxscan1398_done
-  rxscan1398_scan:
-    set_addr $I10, rxscan1398_loop
-    rx1395_cur."!mark_push"(0, rx1395_pos, $I10)
-  rxscan1398_done:
-.annotate 'line', 596
+.sub "assertion:sym<var>"  :subid("366_1278500537.15927") :method :outer("349_1278500537.15927")
+.annotate 'line', 567
+    .local string rx1425_tgt
+    .local int rx1425_pos
+    .local int rx1425_off
+    .local int rx1425_eos
+    .local int rx1425_rep
+    .local pmc rx1425_cur
+    (rx1425_cur, rx1425_pos, rx1425_tgt) = self."!cursor_start"()
+    rx1425_cur."!cursor_debug"("START ", "assertion:sym<var>")
+    .lex unicode:"$\x{a2}", rx1425_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1425_eos, rx1425_tgt
+    gt rx1425_pos, rx1425_eos, rx1425_done
+    set rx1425_off, 0
+    lt rx1425_pos, 2, rx1425_start
+    sub rx1425_off, rx1425_pos, 1
+    substr rx1425_tgt, rx1425_tgt, rx1425_off
+  rx1425_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1428_done
+    goto rxscan1428_scan
+  rxscan1428_loop:
+    ($P10) = rx1425_cur."from"()
+    inc $P10
+    set rx1425_pos, $P10
+    ge rx1425_pos, rx1425_eos, rxscan1428_done
+  rxscan1428_scan:
+    set_addr $I10, rxscan1428_loop
+    rx1425_cur."!mark_push"(0, rx1425_pos, $I10)
+  rxscan1428_done:
+.annotate 'line', 600
   # rx enumcharlist negate=0 zerowidth
-    ge rx1395_pos, rx1395_eos, rx1395_fail
-    sub $I10, rx1395_pos, rx1395_off
-    substr $S10, rx1395_tgt, $I10, 1
+    ge rx1425_pos, rx1425_eos, rx1425_fail
+    sub $I10, rx1425_pos, rx1425_off
+    substr $S10, rx1425_tgt, $I10, 1
     index $I11, "$@", $S10
-    lt $I11, 0, rx1395_fail
+    lt $I11, 0, rx1425_fail
   # rx subrule "LANG" subtype=capture negate=
-    rx1395_cur."!cursor_pos"(rx1395_pos)
-    $P10 = rx1395_cur."LANG"("MAIN", "variable")
-    unless $P10, rx1395_fail
-    rx1395_cur."!mark_push"(0, -1, 0, $P10)
+    rx1425_cur."!cursor_pos"(rx1425_pos)
+    $P10 = rx1425_cur."LANG"("MAIN", "variable")
+    unless $P10, rx1425_fail
+    rx1425_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("var")
-    rx1395_pos = $P10."pos"()
-.annotate 'line', 595
+    rx1425_pos = $P10."pos"()
+.annotate 'line', 599
   # rx pass
-    rx1395_cur."!cursor_pass"(rx1395_pos, "assertion:sym<var>")
-    rx1395_cur."!cursor_debug"("PASS  ", "assertion:sym<var>", " at pos=", rx1395_pos)
-    .return (rx1395_cur)
-  rx1395_fail:
-.annotate 'line', 563
-    (rx1395_rep, rx1395_pos, $I10, $P10) = rx1395_cur."!mark_fail"(0)
-    lt rx1395_pos, -1, rx1395_done
-    eq rx1395_pos, -1, rx1395_fail
-    jump $I10
-  rx1395_done:
-    rx1395_cur."!cursor_fail"()
-    rx1395_cur."!cursor_debug"("FAIL  ", "assertion:sym<var>")
-    .return (rx1395_cur)
+    rx1425_cur."!cursor_pass"(rx1425_pos, "assertion:sym<var>")
+    rx1425_cur."!cursor_debug"("PASS  ", "assertion:sym<var>", " at pos=", rx1425_pos)
+    .return (rx1425_cur)
+  rx1425_fail:
+.annotate 'line', 567
+    (rx1425_rep, rx1425_pos, $I10, $P10) = rx1425_cur."!mark_fail"(0)
+    lt rx1425_pos, -1, rx1425_done
+    eq rx1425_pos, -1, rx1425_fail
+    jump $I10
+  rx1425_done:
+    rx1425_cur."!cursor_fail"()
+    rx1425_cur."!cursor_debug"("FAIL  ", "assertion:sym<var>")
+    .return (rx1425_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<var>"  :subid("359_1277356913.9538") :method
-.annotate 'line', 563
-    new $P1397, "ResizablePMCArray"
-    push $P1397, "$"
-    push $P1397, "@"
-    .return ($P1397)
+.sub "!PREFIX__assertion:sym<var>"  :subid("367_1278500537.15927") :method
+.annotate 'line', 567
+    new $P1427, "ResizablePMCArray"
+    push $P1427, "$"
+    push $P1427, "@"
+    .return ($P1427)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "codeblock"  :subid("360_1277356913.9538") :method :outer("341_1277356913.9538")
-.annotate 'line', 563
-    .local string rx1400_tgt
-    .local int rx1400_pos
-    .local int rx1400_off
-    .local int rx1400_eos
-    .local int rx1400_rep
-    .local pmc rx1400_cur
-    (rx1400_cur, rx1400_pos, rx1400_tgt) = self."!cursor_start"()
-    rx1400_cur."!cursor_debug"("START ", "codeblock")
-    .lex unicode:"$\x{a2}", rx1400_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1400_eos, rx1400_tgt
-    gt rx1400_pos, rx1400_eos, rx1400_done
-    set rx1400_off, 0
-    lt rx1400_pos, 2, rx1400_start
-    sub rx1400_off, rx1400_pos, 1
-    substr rx1400_tgt, rx1400_tgt, rx1400_off
-  rx1400_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1404_done
-    goto rxscan1404_scan
-  rxscan1404_loop:
-    ($P10) = rx1400_cur."from"()
-    inc $P10
-    set rx1400_pos, $P10
-    ge rx1400_pos, rx1400_eos, rxscan1404_done
-  rxscan1404_scan:
-    set_addr $I10, rxscan1404_loop
-    rx1400_cur."!mark_push"(0, rx1400_pos, $I10)
-  rxscan1404_done:
-.annotate 'line', 600
+.sub "codeblock"  :subid("368_1278500537.15927") :method :outer("349_1278500537.15927")
+.annotate 'line', 567
+    .local string rx1430_tgt
+    .local int rx1430_pos
+    .local int rx1430_off
+    .local int rx1430_eos
+    .local int rx1430_rep
+    .local pmc rx1430_cur
+    (rx1430_cur, rx1430_pos, rx1430_tgt) = self."!cursor_start"()
+    rx1430_cur."!cursor_debug"("START ", "codeblock")
+    .lex unicode:"$\x{a2}", rx1430_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1430_eos, rx1430_tgt
+    gt rx1430_pos, rx1430_eos, rx1430_done
+    set rx1430_off, 0
+    lt rx1430_pos, 2, rx1430_start
+    sub rx1430_off, rx1430_pos, 1
+    substr rx1430_tgt, rx1430_tgt, rx1430_off
+  rx1430_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1434_done
+    goto rxscan1434_scan
+  rxscan1434_loop:
+    ($P10) = rx1430_cur."from"()
+    inc $P10
+    set rx1430_pos, $P10
+    ge rx1430_pos, rx1430_eos, rxscan1434_done
+  rxscan1434_scan:
+    set_addr $I10, rxscan1434_loop
+    rx1430_cur."!mark_push"(0, rx1430_pos, $I10)
+  rxscan1434_done:
+.annotate 'line', 604
   # rx subrule "LANG" subtype=capture negate=
-    rx1400_cur."!cursor_pos"(rx1400_pos)
-    $P10 = rx1400_cur."LANG"("MAIN", "pblock")
-    unless $P10, rx1400_fail
-    rx1400_cur."!mark_push"(0, -1, 0, $P10)
+    rx1430_cur."!cursor_pos"(rx1430_pos)
+    $P10 = rx1430_cur."LANG"("MAIN", "pblock")
+    unless $P10, rx1430_fail
+    rx1430_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx1400_pos = $P10."pos"()
-.annotate 'line', 599
+    rx1430_pos = $P10."pos"()
+.annotate 'line', 603
   # rx pass
-    rx1400_cur."!cursor_pass"(rx1400_pos, "codeblock")
-    rx1400_cur."!cursor_debug"("PASS  ", "codeblock", " at pos=", rx1400_pos)
-    .return (rx1400_cur)
-  rx1400_fail:
-.annotate 'line', 563
-    (rx1400_rep, rx1400_pos, $I10, $P10) = rx1400_cur."!mark_fail"(0)
-    lt rx1400_pos, -1, rx1400_done
-    eq rx1400_pos, -1, rx1400_fail
-    jump $I10
-  rx1400_done:
-    rx1400_cur."!cursor_fail"()
-    rx1400_cur."!cursor_debug"("FAIL  ", "codeblock")
-    .return (rx1400_cur)
+    rx1430_cur."!cursor_pass"(rx1430_pos, "codeblock")
+    rx1430_cur."!cursor_debug"("PASS  ", "codeblock", " at pos=", rx1430_pos)
+    .return (rx1430_cur)
+  rx1430_fail:
+.annotate 'line', 567
+    (rx1430_rep, rx1430_pos, $I10, $P10) = rx1430_cur."!mark_fail"(0)
+    lt rx1430_pos, -1, rx1430_done
+    eq rx1430_pos, -1, rx1430_fail
+    jump $I10
+  rx1430_done:
+    rx1430_cur."!cursor_fail"()
+    rx1430_cur."!cursor_debug"("FAIL  ", "codeblock")
+    .return (rx1430_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__codeblock"  :subid("361_1277356913.9538") :method
-.annotate 'line', 563
-    $P1402 = self."!PREFIX__!subrule"("LANG", "")
-    new $P1403, "ResizablePMCArray"
-    push $P1403, $P1402
-    .return ($P1403)
+.sub "!PREFIX__codeblock"  :subid("369_1278500537.15927") :method
+.annotate 'line', 567
+    $P1432 = self."!PREFIX__!subrule"("LANG", "")
+    new $P1433, "ResizablePMCArray"
+    push $P1433, $P1432
+    .return ($P1433)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block1406" :load :anon :subid("362_1277356913.9538")
+.sub "_block1436" :load :anon :subid("370_1278500537.15927")
 .annotate 'line', 4
-    .const 'Sub' $P1408 = "11_1277356913.9538" 
-    $P1409 = $P1408()
-    .return ($P1409)
+    .const 'Sub' $P1438 = "11_1278500537.15927" 
+    $P1439 = $P1438()
+    .return ($P1439)
 .end
 
 
 .namespace []
-.sub "_block1427" :load :anon :subid("363_1277356913.9538")
+.sub "_block1457" :load :anon :subid("371_1278500537.15927")
 .annotate 'line', 1
-    .const 'Sub' $P1429 = "10_1277356913.9538" 
-    $P1430 = $P1429()
-    .return ($P1430)
+    .const 'Sub' $P1459 = "10_1278500537.15927" 
+    $P1460 = $P1459()
+    .return ($P1460)
 .end
 
 ### .include 'gen/nqp-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1277356919.52295")
+.sub "_block11"  :anon :subid("10_1278500542.82783")
 .annotate 'line', 0
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     capture_lex $P14
@@ -17453,237 +17831,237 @@
 .annotate 'line', 3
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     capture_lex $P14
-    $P2424 = $P14()
+    $P2447 = $P14()
 .annotate 'line', 1
-    .return ($P2424)
-    .const 'Sub' $P2426 = "143_1277356919.52295" 
-    .return ($P2426)
+    .return ($P2447)
+    .const 'Sub' $P2449 = "143_1278500542.82783" 
+    .return ($P2449)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post144") :outer("10_1277356919.52295")
+.sub "" :load :init :subid("post144") :outer("10_1278500542.82783")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1277356919.52295" 
+    .const 'Sub' $P12 = "10_1278500542.82783" 
     .local pmc block
     set block, $P12
-    $P2429 = get_root_global ["parrot"], "P6metaclass"
-    $P2429."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
+    $P2452 = get_root_global ["parrot"], "P6metaclass"
+    $P2452."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block13"  :subid("11_1277356919.52295") :outer("10_1277356919.52295")
+.sub "_block13"  :subid("11_1278500542.82783") :outer("10_1278500542.82783")
 .annotate 'line', 3
-    .const 'Sub' $P2420 = "142_1277356919.52295" 
-    capture_lex $P2420
-    get_hll_global $P2303, ["NQP";"RegexActions"], "_block2302" 
-    capture_lex $P2303
-    .const 'Sub' $P2292 = "132_1277356919.52295" 
-    capture_lex $P2292
-    .const 'Sub' $P2285 = "131_1277356919.52295" 
-    capture_lex $P2285
-    .const 'Sub' $P2278 = "130_1277356919.52295" 
-    capture_lex $P2278
-    .const 'Sub' $P2271 = "129_1277356919.52295" 
+    .const 'Sub' $P2443 = "142_1278500542.82783" 
+    capture_lex $P2443
+    get_hll_global $P2326, ["NQP";"RegexActions"], "_block2325" 
+    capture_lex $P2326
+    .const 'Sub' $P2315 = "132_1278500542.82783" 
+    capture_lex $P2315
+    .const 'Sub' $P2308 = "131_1278500542.82783" 
+    capture_lex $P2308
+    .const 'Sub' $P2301 = "130_1278500542.82783" 
+    capture_lex $P2301
+    .const 'Sub' $P2294 = "129_1278500542.82783" 
+    capture_lex $P2294
+    .const 'Sub' $P2281 = "128_1278500542.82783" 
+    capture_lex $P2281
+    .const 'Sub' $P2271 = "127_1278500542.82783" 
     capture_lex $P2271
-    .const 'Sub' $P2258 = "128_1277356919.52295" 
-    capture_lex $P2258
-    .const 'Sub' $P2248 = "127_1277356919.52295" 
-    capture_lex $P2248
-    .const 'Sub' $P2238 = "126_1277356919.52295" 
-    capture_lex $P2238
-    .const 'Sub' $P2228 = "125_1277356919.52295" 
-    capture_lex $P2228
-    .const 'Sub' $P2221 = "124_1277356919.52295" 
-    capture_lex $P2221
-    .const 'Sub' $P2207 = "123_1277356919.52295" 
-    capture_lex $P2207
-    .const 'Sub' $P2197 = "122_1277356919.52295" 
-    capture_lex $P2197
-    .const 'Sub' $P2160 = "121_1277356919.52295" 
-    capture_lex $P2160
-    .const 'Sub' $P2146 = "120_1277356919.52295" 
-    capture_lex $P2146
-    .const 'Sub' $P2136 = "119_1277356919.52295" 
-    capture_lex $P2136
-    .const 'Sub' $P2126 = "118_1277356919.52295" 
-    capture_lex $P2126
-    .const 'Sub' $P2116 = "117_1277356919.52295" 
-    capture_lex $P2116
-    .const 'Sub' $P2106 = "116_1277356919.52295" 
-    capture_lex $P2106
-    .const 'Sub' $P2096 = "115_1277356919.52295" 
-    capture_lex $P2096
-    .const 'Sub' $P2068 = "114_1277356919.52295" 
-    capture_lex $P2068
-    .const 'Sub' $P2051 = "113_1277356919.52295" 
+    .const 'Sub' $P2261 = "126_1278500542.82783" 
+    capture_lex $P2261
+    .const 'Sub' $P2251 = "125_1278500542.82783" 
+    capture_lex $P2251
+    .const 'Sub' $P2244 = "124_1278500542.82783" 
+    capture_lex $P2244
+    .const 'Sub' $P2230 = "123_1278500542.82783" 
+    capture_lex $P2230
+    .const 'Sub' $P2220 = "122_1278500542.82783" 
+    capture_lex $P2220
+    .const 'Sub' $P2183 = "121_1278500542.82783" 
+    capture_lex $P2183
+    .const 'Sub' $P2169 = "120_1278500542.82783" 
+    capture_lex $P2169
+    .const 'Sub' $P2159 = "119_1278500542.82783" 
+    capture_lex $P2159
+    .const 'Sub' $P2149 = "118_1278500542.82783" 
+    capture_lex $P2149
+    .const 'Sub' $P2139 = "117_1278500542.82783" 
+    capture_lex $P2139
+    .const 'Sub' $P2129 = "116_1278500542.82783" 
+    capture_lex $P2129
+    .const 'Sub' $P2119 = "115_1278500542.82783" 
+    capture_lex $P2119
+    .const 'Sub' $P2091 = "114_1278500542.82783" 
+    capture_lex $P2091
+    .const 'Sub' $P2074 = "113_1278500542.82783" 
+    capture_lex $P2074
+    .const 'Sub' $P2064 = "112_1278500542.82783" 
+    capture_lex $P2064
+    .const 'Sub' $P2051 = "111_1278500542.82783" 
     capture_lex $P2051
-    .const 'Sub' $P2041 = "112_1277356919.52295" 
-    capture_lex $P2041
-    .const 'Sub' $P2028 = "111_1277356919.52295" 
-    capture_lex $P2028
-    .const 'Sub' $P2015 = "110_1277356919.52295" 
+    .const 'Sub' $P2038 = "110_1278500542.82783" 
+    capture_lex $P2038
+    .const 'Sub' $P2025 = "109_1278500542.82783" 
+    capture_lex $P2025
+    .const 'Sub' $P2015 = "108_1278500542.82783" 
     capture_lex $P2015
-    .const 'Sub' $P2002 = "109_1277356919.52295" 
-    capture_lex $P2002
-    .const 'Sub' $P1992 = "108_1277356919.52295" 
-    capture_lex $P1992
-    .const 'Sub' $P1963 = "107_1277356919.52295" 
-    capture_lex $P1963
-    .const 'Sub' $P1939 = "106_1277356919.52295" 
-    capture_lex $P1939
-    .const 'Sub' $P1929 = "105_1277356919.52295" 
-    capture_lex $P1929
-    .const 'Sub' $P1919 = "104_1277356919.52295" 
-    capture_lex $P1919
-    .const 'Sub' $P1892 = "103_1277356919.52295" 
-    capture_lex $P1892
-    .const 'Sub' $P1874 = "102_1277356919.52295" 
-    capture_lex $P1874
-    .const 'Sub' $P1864 = "101_1277356919.52295" 
-    capture_lex $P1864
-    .const 'Sub' $P1760 = "98_1277356919.52295" 
-    capture_lex $P1760
-    .const 'Sub' $P1750 = "97_1277356919.52295" 
-    capture_lex $P1750
-    .const 'Sub' $P1721 = "96_1277356919.52295" 
-    capture_lex $P1721
-    .const 'Sub' $P1679 = "95_1277356919.52295" 
-    capture_lex $P1679
-    .const 'Sub' $P1663 = "94_1277356919.52295" 
-    capture_lex $P1663
-    .const 'Sub' $P1654 = "93_1277356919.52295" 
-    capture_lex $P1654
-    .const 'Sub' $P1622 = "92_1277356919.52295" 
-    capture_lex $P1622
-    .const 'Sub' $P1523 = "89_1277356919.52295" 
-    capture_lex $P1523
-    .const 'Sub' $P1506 = "88_1277356919.52295" 
-    capture_lex $P1506
-    .const 'Sub' $P1486 = "87_1277356919.52295" 
-    capture_lex $P1486
-    .const 'Sub' $P1374 = "84_1277356919.52295" 
-    capture_lex $P1374
-    .const 'Sub' $P1317 = "80_1277356919.52295" 
-    capture_lex $P1317
-    .const 'Sub' $P1277 = "78_1277356919.52295" 
-    capture_lex $P1277
-    .const 'Sub' $P1227 = "76_1277356919.52295" 
-    capture_lex $P1227
-    .const 'Sub' $P1217 = "75_1277356919.52295" 
-    capture_lex $P1217
-    .const 'Sub' $P1207 = "74_1277356919.52295" 
-    capture_lex $P1207
-    .const 'Sub' $P1136 = "72_1277356919.52295" 
-    capture_lex $P1136
-    .const 'Sub' $P1126 = "71_1277356919.52295" 
-    capture_lex $P1126
-    .const 'Sub' $P1109 = "70_1277356919.52295" 
-    capture_lex $P1109
-    .const 'Sub' $P1092 = "69_1277356919.52295" 
-    capture_lex $P1092
-    .const 'Sub' $P1075 = "68_1277356919.52295" 
-    capture_lex $P1075
-    .const 'Sub' $P1065 = "67_1277356919.52295" 
-    capture_lex $P1065
-    .const 'Sub' $P1055 = "66_1277356919.52295" 
-    capture_lex $P1055
-    .const 'Sub' $P1045 = "65_1277356919.52295" 
-    capture_lex $P1045
-    .const 'Sub' $P1021 = "64_1277356919.52295" 
-    capture_lex $P1021
-    .const 'Sub' $P968 = "63_1277356919.52295" 
-    capture_lex $P968
-    .const 'Sub' $P958 = "62_1277356919.52295" 
-    capture_lex $P958
-    .const 'Sub' $P869 = "60_1277356919.52295" 
-    capture_lex $P869
-    .const 'Sub' $P843 = "59_1277356919.52295" 
-    capture_lex $P843
-    .const 'Sub' $P827 = "58_1277356919.52295" 
-    capture_lex $P827
-    .const 'Sub' $P817 = "57_1277356919.52295" 
-    capture_lex $P817
-    .const 'Sub' $P807 = "56_1277356919.52295" 
-    capture_lex $P807
-    .const 'Sub' $P797 = "55_1277356919.52295" 
-    capture_lex $P797
-    .const 'Sub' $P787 = "54_1277356919.52295" 
-    capture_lex $P787
-    .const 'Sub' $P777 = "53_1277356919.52295" 
-    capture_lex $P777
-    .const 'Sub' $P767 = "52_1277356919.52295" 
-    capture_lex $P767
-    .const 'Sub' $P757 = "51_1277356919.52295" 
-    capture_lex $P757
-    .const 'Sub' $P747 = "50_1277356919.52295" 
-    capture_lex $P747
-    .const 'Sub' $P737 = "49_1277356919.52295" 
-    capture_lex $P737
-    .const 'Sub' $P727 = "48_1277356919.52295" 
-    capture_lex $P727
-    .const 'Sub' $P717 = "47_1277356919.52295" 
-    capture_lex $P717
-    .const 'Sub' $P707 = "46_1277356919.52295" 
-    capture_lex $P707
-    .const 'Sub' $P697 = "45_1277356919.52295" 
-    capture_lex $P697
-    .const 'Sub' $P679 = "44_1277356919.52295" 
-    capture_lex $P679
-    .const 'Sub' $P644 = "43_1277356919.52295" 
-    capture_lex $P644
-    .const 'Sub' $P628 = "42_1277356919.52295" 
-    capture_lex $P628
-    .const 'Sub' $P607 = "41_1277356919.52295" 
-    capture_lex $P607
-    .const 'Sub' $P587 = "40_1277356919.52295" 
-    capture_lex $P587
-    .const 'Sub' $P574 = "39_1277356919.52295" 
-    capture_lex $P574
-    .const 'Sub' $P548 = "38_1277356919.52295" 
-    capture_lex $P548
-    .const 'Sub' $P512 = "37_1277356919.52295" 
-    capture_lex $P512
-    .const 'Sub' $P495 = "36_1277356919.52295" 
-    capture_lex $P495
-    .const 'Sub' $P481 = "35_1277356919.52295" 
-    capture_lex $P481
-    .const 'Sub' $P428 = "33_1277356919.52295" 
-    capture_lex $P428
-    .const 'Sub' $P417 = "32_1277356919.52295" 
-    capture_lex $P417
-    .const 'Sub' $P404 = "31_1277356919.52295" 
-    capture_lex $P404
-    .const 'Sub' $P384 = "30_1277356919.52295" 
-    capture_lex $P384
-    .const 'Sub' $P374 = "29_1277356919.52295" 
-    capture_lex $P374
-    .const 'Sub' $P364 = "28_1277356919.52295" 
-    capture_lex $P364
-    .const 'Sub' $P348 = "27_1277356919.52295" 
-    capture_lex $P348
-    .const 'Sub' $P288 = "25_1277356919.52295" 
+    .const 'Sub' $P1986 = "107_1278500542.82783" 
+    capture_lex $P1986
+    .const 'Sub' $P1962 = "106_1278500542.82783" 
+    capture_lex $P1962
+    .const 'Sub' $P1952 = "105_1278500542.82783" 
+    capture_lex $P1952
+    .const 'Sub' $P1942 = "104_1278500542.82783" 
+    capture_lex $P1942
+    .const 'Sub' $P1915 = "103_1278500542.82783" 
+    capture_lex $P1915
+    .const 'Sub' $P1897 = "102_1278500542.82783" 
+    capture_lex $P1897
+    .const 'Sub' $P1887 = "101_1278500542.82783" 
+    capture_lex $P1887
+    .const 'Sub' $P1783 = "98_1278500542.82783" 
+    capture_lex $P1783
+    .const 'Sub' $P1773 = "97_1278500542.82783" 
+    capture_lex $P1773
+    .const 'Sub' $P1744 = "96_1278500542.82783" 
+    capture_lex $P1744
+    .const 'Sub' $P1702 = "95_1278500542.82783" 
+    capture_lex $P1702
+    .const 'Sub' $P1686 = "94_1278500542.82783" 
+    capture_lex $P1686
+    .const 'Sub' $P1677 = "93_1278500542.82783" 
+    capture_lex $P1677
+    .const 'Sub' $P1645 = "92_1278500542.82783" 
+    capture_lex $P1645
+    .const 'Sub' $P1546 = "89_1278500542.82783" 
+    capture_lex $P1546
+    .const 'Sub' $P1529 = "88_1278500542.82783" 
+    capture_lex $P1529
+    .const 'Sub' $P1509 = "87_1278500542.82783" 
+    capture_lex $P1509
+    .const 'Sub' $P1397 = "84_1278500542.82783" 
+    capture_lex $P1397
+    .const 'Sub' $P1340 = "80_1278500542.82783" 
+    capture_lex $P1340
+    .const 'Sub' $P1300 = "78_1278500542.82783" 
+    capture_lex $P1300
+    .const 'Sub' $P1250 = "76_1278500542.82783" 
+    capture_lex $P1250
+    .const 'Sub' $P1240 = "75_1278500542.82783" 
+    capture_lex $P1240
+    .const 'Sub' $P1230 = "74_1278500542.82783" 
+    capture_lex $P1230
+    .const 'Sub' $P1159 = "72_1278500542.82783" 
+    capture_lex $P1159
+    .const 'Sub' $P1149 = "71_1278500542.82783" 
+    capture_lex $P1149
+    .const 'Sub' $P1132 = "70_1278500542.82783" 
+    capture_lex $P1132
+    .const 'Sub' $P1115 = "69_1278500542.82783" 
+    capture_lex $P1115
+    .const 'Sub' $P1098 = "68_1278500542.82783" 
+    capture_lex $P1098
+    .const 'Sub' $P1088 = "67_1278500542.82783" 
+    capture_lex $P1088
+    .const 'Sub' $P1078 = "66_1278500542.82783" 
+    capture_lex $P1078
+    .const 'Sub' $P1068 = "65_1278500542.82783" 
+    capture_lex $P1068
+    .const 'Sub' $P1044 = "64_1278500542.82783" 
+    capture_lex $P1044
+    .const 'Sub' $P991 = "63_1278500542.82783" 
+    capture_lex $P991
+    .const 'Sub' $P981 = "62_1278500542.82783" 
+    capture_lex $P981
+    .const 'Sub' $P892 = "60_1278500542.82783" 
+    capture_lex $P892
+    .const 'Sub' $P866 = "59_1278500542.82783" 
+    capture_lex $P866
+    .const 'Sub' $P850 = "58_1278500542.82783" 
+    capture_lex $P850
+    .const 'Sub' $P840 = "57_1278500542.82783" 
+    capture_lex $P840
+    .const 'Sub' $P830 = "56_1278500542.82783" 
+    capture_lex $P830
+    .const 'Sub' $P820 = "55_1278500542.82783" 
+    capture_lex $P820
+    .const 'Sub' $P810 = "54_1278500542.82783" 
+    capture_lex $P810
+    .const 'Sub' $P800 = "53_1278500542.82783" 
+    capture_lex $P800
+    .const 'Sub' $P790 = "52_1278500542.82783" 
+    capture_lex $P790
+    .const 'Sub' $P780 = "51_1278500542.82783" 
+    capture_lex $P780
+    .const 'Sub' $P770 = "50_1278500542.82783" 
+    capture_lex $P770
+    .const 'Sub' $P760 = "49_1278500542.82783" 
+    capture_lex $P760
+    .const 'Sub' $P750 = "48_1278500542.82783" 
+    capture_lex $P750
+    .const 'Sub' $P740 = "47_1278500542.82783" 
+    capture_lex $P740
+    .const 'Sub' $P730 = "46_1278500542.82783" 
+    capture_lex $P730
+    .const 'Sub' $P720 = "45_1278500542.82783" 
+    capture_lex $P720
+    .const 'Sub' $P702 = "44_1278500542.82783" 
+    capture_lex $P702
+    .const 'Sub' $P667 = "43_1278500542.82783" 
+    capture_lex $P667
+    .const 'Sub' $P651 = "42_1278500542.82783" 
+    capture_lex $P651
+    .const 'Sub' $P630 = "41_1278500542.82783" 
+    capture_lex $P630
+    .const 'Sub' $P610 = "40_1278500542.82783" 
+    capture_lex $P610
+    .const 'Sub' $P597 = "39_1278500542.82783" 
+    capture_lex $P597
+    .const 'Sub' $P571 = "38_1278500542.82783" 
+    capture_lex $P571
+    .const 'Sub' $P535 = "37_1278500542.82783" 
+    capture_lex $P535
+    .const 'Sub' $P518 = "36_1278500542.82783" 
+    capture_lex $P518
+    .const 'Sub' $P504 = "35_1278500542.82783" 
+    capture_lex $P504
+    .const 'Sub' $P451 = "33_1278500542.82783" 
+    capture_lex $P451
+    .const 'Sub' $P440 = "32_1278500542.82783" 
+    capture_lex $P440
+    .const 'Sub' $P427 = "31_1278500542.82783" 
+    capture_lex $P427
+    .const 'Sub' $P407 = "30_1278500542.82783" 
+    capture_lex $P407
+    .const 'Sub' $P397 = "29_1278500542.82783" 
+    capture_lex $P397
+    .const 'Sub' $P387 = "28_1278500542.82783" 
+    capture_lex $P387
+    .const 'Sub' $P371 = "27_1278500542.82783" 
+    capture_lex $P371
+    .const 'Sub' $P288 = "25_1278500542.82783" 
     capture_lex $P288
-    .const 'Sub' $P245 = "23_1277356919.52295" 
+    .const 'Sub' $P245 = "23_1278500542.82783" 
     capture_lex $P245
-    .const 'Sub' $P213 = "22_1277356919.52295" 
+    .const 'Sub' $P213 = "22_1278500542.82783" 
     capture_lex $P213
-    .const 'Sub' $P180 = "21_1277356919.52295" 
+    .const 'Sub' $P180 = "21_1278500542.82783" 
     capture_lex $P180
-    .const 'Sub' $P170 = "20_1277356919.52295" 
+    .const 'Sub' $P170 = "20_1278500542.82783" 
     capture_lex $P170
-    .const 'Sub' $P151 = "19_1277356919.52295" 
+    .const 'Sub' $P151 = "19_1278500542.82783" 
     capture_lex $P151
-    .const 'Sub' $P100 = "18_1277356919.52295" 
+    .const 'Sub' $P100 = "18_1278500542.82783" 
     capture_lex $P100
-    .const 'Sub' $P84 = "17_1277356919.52295" 
+    .const 'Sub' $P84 = "17_1278500542.82783" 
     capture_lex $P84
-    .const 'Sub' $P63 = "16_1277356919.52295" 
+    .const 'Sub' $P63 = "16_1278500542.82783" 
     capture_lex $P63
-    .const 'Sub' $P27 = "13_1277356919.52295" 
+    .const 'Sub' $P27 = "13_1278500542.82783" 
     capture_lex $P27
-    .const 'Sub' $P16 = "12_1277356919.52295" 
+    .const 'Sub' $P16 = "12_1278500542.82783" 
     capture_lex $P16
     get_global $P15, "@BLOCK"
     unless_null $P15, vivify_147
@@ -17691,27 +18069,27 @@
     set_global "@BLOCK", $P15
   vivify_147:
 .annotate 'line', 9
-    .const 'Sub' $P16 = "12_1277356919.52295" 
+    .const 'Sub' $P16 = "12_1278500542.82783" 
     newclosure $P26, $P16
     .lex "xblock_immediate", $P26
 .annotate 'line', 14
-    .const 'Sub' $P27 = "13_1277356919.52295" 
+    .const 'Sub' $P27 = "13_1278500542.82783" 
     newclosure $P62, $P27
     .lex "block_immediate", $P62
 .annotate 'line', 24
-    .const 'Sub' $P63 = "16_1277356919.52295" 
+    .const 'Sub' $P63 = "16_1278500542.82783" 
     newclosure $P83, $P63
     .lex "vivitype", $P83
 .annotate 'line', 43
-    .const 'Sub' $P84 = "17_1277356919.52295" 
+    .const 'Sub' $P84 = "17_1278500542.82783" 
     newclosure $P99, $P84
     .lex "colonpair_str", $P99
-.annotate 'line', 213
-    .const 'Sub' $P100 = "18_1277356919.52295" 
+.annotate 'line', 223
+    .const 'Sub' $P100 = "18_1278500542.82783" 
     newclosure $P150, $P100
     .lex "push_block_handler", $P150
-.annotate 'line', 822
-    .const 'Sub' $P151 = "19_1277356919.52295" 
+.annotate 'line', 832
+    .const 'Sub' $P151 = "19_1278500542.82783" 
     newclosure $P165, $P151
     .lex "control", $P165
 .annotate 'line', 3
@@ -17728,54 +18106,54 @@
     find_lex $P169, "vivitype"
 .annotate 'line', 35
     find_lex $P212, "colonpair_str"
-.annotate 'line', 206
-    find_lex $P627, "push_block_handler"
-.annotate 'line', 813
-    find_lex $P2270, "control"
-.annotate 'line', 840
-    get_hll_global $P2303, ["NQP";"RegexActions"], "_block2302" 
-    capture_lex $P2303
-    $P2414 = $P2303()
+.annotate 'line', 216
+    find_lex $P650, "push_block_handler"
+.annotate 'line', 823
+    find_lex $P2293, "control"
+.annotate 'line', 850
+    get_hll_global $P2326, ["NQP";"RegexActions"], "_block2325" 
+    capture_lex $P2326
+    $P2437 = $P2326()
 .annotate 'line', 3
-    .return ($P2414)
-    .const 'Sub' $P2416 = "141_1277356919.52295" 
-    .return ($P2416)
+    .return ($P2437)
+    .const 'Sub' $P2439 = "141_1278500542.82783" 
+    .return ($P2439)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "" :load :init :subid("post145") :outer("11_1277356919.52295")
+.sub "" :load :init :subid("post145") :outer("11_1278500542.82783")
 .annotate 'line', 3
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     .local pmc block
     set block, $P14
 .annotate 'line', 5
-    .const 'Sub' $P2420 = "142_1277356919.52295" 
-    capture_lex $P2420
-    $P2420()
-    $P2423 = get_root_global ["parrot"], "P6metaclass"
-    $P2423."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
+    .const 'Sub' $P2443 = "142_1278500542.82783" 
+    capture_lex $P2443
+    $P2443()
+    $P2446 = get_root_global ["parrot"], "P6metaclass"
+    $P2446."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block2419"  :anon :subid("142_1277356919.52295") :outer("11_1277356919.52295")
+.sub "_block2442"  :anon :subid("142_1278500542.82783") :outer("11_1278500542.82783")
 .annotate 'line', 6
-    get_global $P2421, "@BLOCK"
-    unless_null $P2421, vivify_146
-    $P2421 = root_new ['parrot';'ResizablePMCArray']
-    set_global "@BLOCK", $P2421
+    get_global $P2444, "@BLOCK"
+    unless_null $P2444, vivify_146
+    $P2444 = root_new ['parrot';'ResizablePMCArray']
+    set_global "@BLOCK", $P2444
   vivify_146:
- $P2422 = new ['ResizablePMCArray'] 
-    set_global "@BLOCK", $P2422
+ $P2445 = new ['ResizablePMCArray'] 
+    set_global "@BLOCK", $P2445
 .annotate 'line', 5
-    .return ($P2422)
+    .return ($P2445)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "xblock_immediate"  :subid("12_1277356919.52295") :outer("11_1277356919.52295")
+.sub "xblock_immediate"  :subid("12_1278500542.82783") :outer("11_1278500542.82783")
     .param pmc param_19
 .annotate 'line', 9
     new $P18, 'ExceptionHandler'
@@ -17812,10 +18190,10 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "block_immediate"  :subid("13_1277356919.52295") :outer("11_1277356919.52295")
+.sub "block_immediate"  :subid("13_1278500542.82783") :outer("11_1278500542.82783")
     .param pmc param_30
 .annotate 'line', 14
-    .const 'Sub' $P40 = "14_1277356919.52295" 
+    .const 'Sub' $P40 = "14_1278500542.82783" 
     capture_lex $P40
     new $P29, 'ExceptionHandler'
     set_addr $P29, control_28
@@ -17837,7 +18215,7 @@
     set $P33, $P38
   unless_34_end:
     if $P33, unless_32_end
-    .const 'Sub' $P40 = "14_1277356919.52295" 
+    .const 'Sub' $P40 = "14_1278500542.82783" 
     capture_lex $P40
     $P40()
   unless_32_end:
@@ -17854,9 +18232,9 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "_block39"  :anon :subid("14_1277356919.52295") :outer("13_1277356919.52295")
+.sub "_block39"  :anon :subid("14_1278500542.82783") :outer("13_1278500542.82783")
 .annotate 'line', 16
-    .const 'Sub' $P51 = "15_1277356919.52295" 
+    .const 'Sub' $P51 = "15_1278500542.82783" 
     capture_lex $P51
 .annotate 'line', 17
     new $P41, "Undef"
@@ -17879,7 +18257,7 @@
     unless $P45, loop56_done
     shift $P49, $P45
   loop56_redo:
-    .const 'Sub' $P51 = "15_1277356919.52295" 
+    .const 'Sub' $P51 = "15_1278500542.82783" 
     capture_lex $P51
     $P51($P49)
   loop56_next:
@@ -17902,7 +18280,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block50"  :anon :subid("15_1277356919.52295") :outer("14_1277356919.52295")
+.sub "_block50"  :anon :subid("15_1278500542.82783") :outer("14_1278500542.82783")
     .param pmc param_52
 .annotate 'line', 18
     .lex "$_", param_52
@@ -17915,7 +18293,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "vivitype"  :subid("16_1277356919.52295") :outer("11_1277356919.52295")
+.sub "vivitype"  :subid("16_1278500542.82783") :outer("11_1278500542.82783")
     .param pmc param_66
 .annotate 'line', 24
     new $P65, 'ExceptionHandler'
@@ -17964,7 +18342,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "colonpair_str"  :subid("17_1277356919.52295") :outer("11_1277356919.52295")
+.sub "colonpair_str"  :subid("17_1278500542.82783") :outer("11_1278500542.82783")
     .param pmc param_87
 .annotate 'line', 43
     new $P86, 'ExceptionHandler'
@@ -18003,17 +18381,17 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "push_block_handler"  :subid("18_1277356919.52295") :outer("11_1277356919.52295")
+.sub "push_block_handler"  :subid("18_1278500542.82783") :outer("11_1278500542.82783")
     .param pmc param_103
     .param pmc param_104
-.annotate 'line', 213
+.annotate 'line', 223
     new $P102, 'ExceptionHandler'
     set_addr $P102, control_101
     $P102."handle_types"(.CONTROL_RETURN)
     push_eh $P102
     .lex "$/", param_103
     .lex "$block", param_104
-.annotate 'line', 214
+.annotate 'line', 224
     get_global $P106, "@BLOCK"
     unless_null $P106, vivify_152
     $P106 = root_new ['parrot';'ResizablePMCArray']
@@ -18024,7 +18402,7 @@
   vivify_153:
     $P108 = $P107."handlers"()
     if $P108, unless_105_end
-.annotate 'line', 215
+.annotate 'line', 225
     get_global $P109, "@BLOCK"
     unless_null $P109, vivify_154
     $P109 = root_new ['parrot';'ResizablePMCArray']
@@ -18036,42 +18414,42 @@
     new $P111, "ResizablePMCArray"
     $P110."handlers"($P111)
   unless_105_end:
-.annotate 'line', 217
+.annotate 'line', 227
     find_lex $P113, "$block"
     $P114 = $P113."arity"()
     if $P114, unless_112_end
-.annotate 'line', 218
+.annotate 'line', 228
     find_lex $P115, "$block"
-.annotate 'line', 219
+.annotate 'line', 229
     get_hll_global $P116, ["PAST"], "Op"
-.annotate 'line', 220
+.annotate 'line', 230
     get_hll_global $P117, ["PAST"], "Var"
     $P118 = $P117."new"("lexical" :named("scope"), "$!" :named("name"), 1 :named("isdecl"))
-.annotate 'line', 221
+.annotate 'line', 231
     get_hll_global $P119, ["PAST"], "Var"
     $P120 = $P119."new"("lexical" :named("scope"), "$_" :named("name"))
     $P121 = $P116."new"($P118, $P120, "bind" :named("pasttype"))
-.annotate 'line', 219
+.annotate 'line', 229
     $P115."unshift"($P121)
-.annotate 'line', 224
+.annotate 'line', 234
     find_lex $P122, "$block"
     get_hll_global $P123, ["PAST"], "Var"
     $P124 = $P123."new"("$_" :named("name"), "parameter" :named("scope"))
     $P122."unshift"($P124)
-.annotate 'line', 225
+.annotate 'line', 235
     find_lex $P125, "$block"
     $P125."symbol"("$_", "lexical" :named("scope"))
-.annotate 'line', 226
+.annotate 'line', 236
     find_lex $P126, "$block"
     $P126."symbol"("$!", "lexical" :named("scope"))
-.annotate 'line', 227
+.annotate 'line', 237
     find_lex $P127, "$block"
     $P127."arity"(1)
   unless_112_end:
-.annotate 'line', 229
+.annotate 'line', 239
     find_lex $P128, "$block"
     $P128."blocktype"("declaration")
-.annotate 'line', 230
+.annotate 'line', 240
     get_global $P129, "@BLOCK"
     unless_null $P129, vivify_156
     $P129 = root_new ['parrot';'ResizablePMCArray']
@@ -18081,35 +18459,35 @@
     new $P130, "Undef"
   vivify_157:
     $P131 = $P130."handlers"()
-.annotate 'line', 231
+.annotate 'line', 241
     get_hll_global $P132, ["PAST"], "Control"
     find_lex $P133, "$/"
-.annotate 'line', 233
+.annotate 'line', 243
     get_hll_global $P134, ["PAST"], "Stmts"
-.annotate 'line', 234
+.annotate 'line', 244
     get_hll_global $P135, ["PAST"], "Op"
     find_lex $P136, "$block"
-.annotate 'line', 236
+.annotate 'line', 246
     get_hll_global $P137, ["PAST"], "Var"
     $P138 = $P137."new"("register" :named("scope"), "exception" :named("name"))
     $P139 = $P135."new"($P136, $P138, "call" :named("pasttype"))
-.annotate 'line', 238
+.annotate 'line', 248
     get_hll_global $P140, ["PAST"], "Op"
-.annotate 'line', 239
+.annotate 'line', 249
     get_hll_global $P141, ["PAST"], "Var"
-.annotate 'line', 240
+.annotate 'line', 250
     get_hll_global $P142, ["PAST"], "Var"
     $P143 = $P142."new"("register" :named("scope"), "exception" :named("name"))
     $P144 = $P141."new"($P143, "handled", "keyed" :named("scope"))
-.annotate 'line', 239
+.annotate 'line', 249
     $P145 = $P140."new"($P144, 1, "bind" :named("pasttype"))
-.annotate 'line', 238
+.annotate 'line', 248
     $P146 = $P134."new"($P139, $P145)
-.annotate 'line', 233
+.annotate 'line', 243
     $P147 = $P132."new"($P146, $P133 :named("node"))
-.annotate 'line', 231
+.annotate 'line', 241
     $P148 = $P131."unshift"($P147)
-.annotate 'line', 213
+.annotate 'line', 223
     .return ($P148)
   control_101:
     .local pmc exception 
@@ -18121,28 +18499,28 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "control"  :subid("19_1277356919.52295") :outer("11_1277356919.52295")
+.sub "control"  :subid("19_1278500542.82783") :outer("11_1278500542.82783")
     .param pmc param_154
     .param pmc param_155
-.annotate 'line', 822
+.annotate 'line', 832
     new $P153, 'ExceptionHandler'
     set_addr $P153, control_152
     $P153."handle_types"(.CONTROL_RETURN)
     push_eh $P153
     .lex "$/", param_154
     .lex "$type", param_155
-.annotate 'line', 823
+.annotate 'line', 833
     find_lex $P156, "$/"
     get_hll_global $P157, ["PAST"], "Op"
     find_lex $P158, "$/"
-.annotate 'line', 827
+.annotate 'line', 837
     get_hll_global $P159, ["PAST"], "Val"
     find_lex $P160, "$type"
     $P161 = $P159."new"($P160 :named("value"), "!except_types" :named("returns"))
     $P162 = $P157."new"(0, $P161, $P158 :named("node"), "die__vii" :named("pirop"))
-.annotate 'line', 823
+.annotate 'line', 833
     $P163 = $P156."!make"($P162)
-.annotate 'line', 822
+.annotate 'line', 832
     .return ($P163)
   control_152:
     .local pmc exception 
@@ -18154,7 +18532,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "TOP"  :subid("20_1277356919.52295") :method :outer("11_1277356919.52295")
+.sub "TOP"  :subid("20_1278500542.82783") :method :outer("11_1278500542.82783")
     .param pmc param_173
 .annotate 'line', 33
     new $P172, 'ExceptionHandler'
@@ -18185,7 +18563,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "deflongname"  :subid("21_1277356919.52295") :method :outer("11_1277356919.52295")
+.sub "deflongname"  :subid("21_1278500542.82783") :method :outer("11_1278500542.82783")
     .param pmc param_183
 .annotate 'line', 35
     new $P182, 'ExceptionHandler'
@@ -18275,7 +18653,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "comp_unit"  :subid("22_1277356919.52295") :method :outer("11_1277356919.52295")
+.sub "comp_unit"  :subid("22_1278500542.82783") :method :outer("11_1278500542.82783")
     .param pmc param_216
 .annotate 'line', 49
     new $P215, 'ExceptionHandler'
@@ -18350,10 +18728,10 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statementlist"  :subid("23_1277356919.52295") :method :outer("11_1277356919.52295")
+.sub "statementlist"  :subid("23_1278500542.82783") :method :outer("11_1278500542.82783")
     .param pmc param_248
 .annotate 'line', 76
-    .const 'Sub' $P262 = "24_1277356919.52295" 
+    .const 'Sub' $P262 = "24_1278500542.82783" 
     capture_lex $P262
     new $P247, 'ExceptionHandler'
     set_addr $P247, control_246
@@ -18398,7 +18776,7 @@
     unless $P256, loop281_done
     shift $P260, $P256
   loop281_redo:
-    .const 'Sub' $P262 = "24_1277356919.52295" 
+    .const 'Sub' $P262 = "24_1278500542.82783" 
     capture_lex $P262
     $P262($P260)
   loop281_next:
@@ -18428,7 +18806,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block261"  :anon :subid("24_1277356919.52295") :outer("23_1277356919.52295")
+.sub "_block261"  :anon :subid("24_1278500542.82783") :outer("23_1278500542.82783")
     .param pmc param_264
 .annotate 'line', 80
     new $P263, "Undef"
@@ -18483,12 +18861,12 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement"  :subid("25_1277356919.52295") :method :outer("11_1277356919.52295")
+.sub "statement"  :subid("25_1278500542.82783") :method :outer("11_1278500542.82783")
     .param pmc param_291
     .param pmc param_292 :optional
     .param int has_param_292 :opt_flag
 .annotate 'line', 89
-    .const 'Sub' $P300 = "26_1277356919.52295" 
+    .const 'Sub' $P300 = "26_1278500542.82783" 
     capture_lex $P300
     new $P290, 'ExceptionHandler'
     set_addr $P290, control_289
@@ -18516,57 +18894,57 @@
     new $P298, "Undef"
   vivify_185:
     if $P298, if_296
-.annotate 'line', 102
-    find_lex $P338, "$/"
-    unless_null $P338, vivify_186
-    $P338 = root_new ['parrot';'Hash']
+.annotate 'line', 112
+    find_lex $P361, "$/"
+    unless_null $P361, vivify_186
+    $P361 = root_new ['parrot';'Hash']
   vivify_186:
-    set $P339, $P338["statement_control"]
-    unless_null $P339, vivify_187
-    new $P339, "Undef"
+    set $P362, $P361["statement_control"]
+    unless_null $P362, vivify_187
+    new $P362, "Undef"
   vivify_187:
-    if $P339, if_337
-.annotate 'line', 103
-    new $P343, "Integer"
-    assign $P343, 0
-    store_lex "$past", $P343
-    goto if_337_end
-  if_337:
-.annotate 'line', 102
-    find_lex $P340, "$/"
-    unless_null $P340, vivify_188
-    $P340 = root_new ['parrot';'Hash']
+    if $P362, if_360
+.annotate 'line', 113
+    new $P366, "Integer"
+    assign $P366, 0
+    store_lex "$past", $P366
+    goto if_360_end
+  if_360:
+.annotate 'line', 112
+    find_lex $P363, "$/"
+    unless_null $P363, vivify_188
+    $P363 = root_new ['parrot';'Hash']
   vivify_188:
-    set $P341, $P340["statement_control"]
-    unless_null $P341, vivify_189
-    new $P341, "Undef"
+    set $P364, $P363["statement_control"]
+    unless_null $P364, vivify_189
+    new $P364, "Undef"
   vivify_189:
-    $P342 = $P341."ast"()
-    store_lex "$past", $P342
-  if_337_end:
+    $P365 = $P364."ast"()
+    store_lex "$past", $P365
+  if_360_end:
     goto if_296_end
   if_296:
 .annotate 'line', 91
-    .const 'Sub' $P300 = "26_1277356919.52295" 
+    .const 'Sub' $P300 = "26_1278500542.82783" 
     capture_lex $P300
     $P300()
   if_296_end:
-.annotate 'line', 104
-    find_lex $P344, "$/"
-    find_lex $P345, "$past"
-    $P346 = $P344."!make"($P345)
+.annotate 'line', 114
+    find_lex $P367, "$/"
+    find_lex $P368, "$past"
+    $P369 = $P367."!make"($P368)
 .annotate 'line', 89
-    .return ($P346)
+    .return ($P369)
   control_289:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P347, exception, "payload"
-    .return ($P347)
+    getattribute $P370, exception, "payload"
+    .return ($P370)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block299"  :anon :subid("26_1277356919.52295") :outer("25_1277356919.52295")
+.sub "_block299"  :anon :subid("26_1278500542.82783") :outer("25_1278500542.82783")
 .annotate 'line', 92
     new $P301, "Undef"
     .lex "$mc", $P301
@@ -18647,4977 +19025,4967 @@
     goto if_325_end
   if_325:
 .annotate 'line', 99
-    get_hll_global $P327, ["PAST"], "Op"
-    find_lex $P328, "$ml"
-    unless_null $P328, vivify_202
-    $P328 = root_new ['parrot';'Hash']
+    find_lex $P329, "$ml"
+    unless_null $P329, vivify_202
+    $P329 = root_new ['parrot';'Hash']
   vivify_202:
-    set $P329, $P328["cond"]
-    unless_null $P329, vivify_203
-    new $P329, "Undef"
+    set $P330, $P329["sym"]
+    unless_null $P330, vivify_203
+    new $P330, "Undef"
   vivify_203:
-    $P330 = $P329."ast"()
-    find_lex $P331, "$past"
-    find_lex $P332, "$ml"
-    unless_null $P332, vivify_204
-    $P332 = root_new ['parrot';'Hash']
+    set $S331, $P330
+    iseq $I332, $S331, "for"
+    if $I332, if_328
+.annotate 'line', 108
+    get_hll_global $P350, ["PAST"], "Op"
+    find_lex $P351, "$ml"
+    unless_null $P351, vivify_204
+    $P351 = root_new ['parrot';'Hash']
   vivify_204:
-    set $P333, $P332["sym"]
-    unless_null $P333, vivify_205
-    new $P333, "Undef"
+    set $P352, $P351["cond"]
+    unless_null $P352, vivify_205
+    new $P352, "Undef"
   vivify_205:
-    set $S334, $P333
-    find_lex $P335, "$/"
-    $P336 = $P327."new"($P330, $P331, $S334 :named("pasttype"), $P335 :named("node"))
-    store_lex "$past", $P336
-.annotate 'line', 98
-    set $P324, $P336
-  if_325_end:
-.annotate 'line', 91
-    .return ($P324)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "xblock"  :subid("27_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_351
-.annotate 'line', 107
-    new $P350, 'ExceptionHandler'
-    set_addr $P350, control_349
-    $P350."handle_types"(.CONTROL_RETURN)
-    push_eh $P350
-    .lex "self", self
-    .lex "$/", param_351
-.annotate 'line', 108
-    find_lex $P352, "$/"
-    get_hll_global $P353, ["PAST"], "Op"
-    find_lex $P354, "$/"
-    unless_null $P354, vivify_206
-    $P354 = root_new ['parrot';'Hash']
+    $P353 = $P352."ast"()
+    find_lex $P354, "$past"
+    find_lex $P355, "$ml"
+    unless_null $P355, vivify_206
+    $P355 = root_new ['parrot';'Hash']
   vivify_206:
-    set $P355, $P354["EXPR"]
-    unless_null $P355, vivify_207
-    new $P355, "Undef"
+    set $P356, $P355["sym"]
+    unless_null $P356, vivify_207
+    new $P356, "Undef"
   vivify_207:
-    $P356 = $P355."ast"()
-    find_lex $P357, "$/"
-    unless_null $P357, vivify_208
-    $P357 = root_new ['parrot';'Hash']
+    set $S357, $P356
+    find_lex $P358, "$/"
+    $P359 = $P350."new"($P353, $P354, $S357 :named("pasttype"), $P358 :named("node"))
+    store_lex "$past", $P359
+.annotate 'line', 107
+    set $P327, $P359
+.annotate 'line', 99
+    goto if_328_end
+  if_328:
+.annotate 'line', 100
+    get_hll_global $P333, ["PAST"], "Block"
+.annotate 'line', 101
+    get_hll_global $P334, ["PAST"], "Var"
+    $P335 = $P334."new"("$_" :named("name"), "parameter" :named("scope"), 1 :named("isdecl"))
+    find_lex $P336, "$past"
+    $P337 = $P333."new"($P335, $P336, "immediate" :named("blocktype"))
+.annotate 'line', 100
+    store_lex "$past", $P337
+.annotate 'line', 103
+    find_lex $P338, "$past"
+    $P338."symbol"("$_", "lexical" :named("scope"))
+.annotate 'line', 104
+    find_lex $P339, "$past"
+    $P339."arity"(1)
+.annotate 'line', 105
+    get_hll_global $P340, ["PAST"], "Op"
+    find_lex $P341, "$ml"
+    unless_null $P341, vivify_208
+    $P341 = root_new ['parrot';'Hash']
   vivify_208:
-    set $P358, $P357["pblock"]
-    unless_null $P358, vivify_209
-    new $P358, "Undef"
+    set $P342, $P341["cond"]
+    unless_null $P342, vivify_209
+    new $P342, "Undef"
   vivify_209:
-    $P359 = $P358."ast"()
-    find_lex $P360, "$/"
-    $P361 = $P353."new"($P356, $P359, "if" :named("pasttype"), $P360 :named("node"))
-    $P362 = $P352."!make"($P361)
-.annotate 'line', 107
-    .return ($P362)
-  control_349:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P363, exception, "payload"
-    .return ($P363)
+    $P343 = $P342."ast"()
+    find_lex $P344, "$past"
+    find_lex $P345, "$ml"
+    unless_null $P345, vivify_210
+    $P345 = root_new ['parrot';'Hash']
+  vivify_210:
+    set $P346, $P345["sym"]
+    unless_null $P346, vivify_211
+    new $P346, "Undef"
+  vivify_211:
+    set $S347, $P346
+    find_lex $P348, "$/"
+    $P349 = $P340."new"($P343, $P344, $S347 :named("pasttype"), $P348 :named("node"))
+    store_lex "$past", $P349
+.annotate 'line', 99
+    set $P327, $P349
+  if_328_end:
+.annotate 'line', 98
+    set $P324, $P327
+  if_325_end:
+.annotate 'line', 91
+    .return ($P324)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "pblock"  :subid("28_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_367
-.annotate 'line', 111
-    new $P366, 'ExceptionHandler'
-    set_addr $P366, control_365
-    $P366."handle_types"(.CONTROL_RETURN)
-    push_eh $P366
-    .lex "self", self
-    .lex "$/", param_367
-.annotate 'line', 112
-    find_lex $P368, "$/"
-    find_lex $P369, "$/"
-    unless_null $P369, vivify_210
-    $P369 = root_new ['parrot';'Hash']
-  vivify_210:
-    set $P370, $P369["blockoid"]
-    unless_null $P370, vivify_211
-    new $P370, "Undef"
-  vivify_211:
-    $P371 = $P370."ast"()
-    $P372 = $P368."!make"($P371)
-.annotate 'line', 111
-    .return ($P372)
-  control_365:
+.sub "xblock"  :subid("27_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_374
+.annotate 'line', 117
+    new $P373, 'ExceptionHandler'
+    set_addr $P373, control_372
+    $P373."handle_types"(.CONTROL_RETURN)
+    push_eh $P373
+    .lex "self", self
+    .lex "$/", param_374
+.annotate 'line', 118
+    find_lex $P375, "$/"
+    get_hll_global $P376, ["PAST"], "Op"
+    find_lex $P377, "$/"
+    unless_null $P377, vivify_212
+    $P377 = root_new ['parrot';'Hash']
+  vivify_212:
+    set $P378, $P377["EXPR"]
+    unless_null $P378, vivify_213
+    new $P378, "Undef"
+  vivify_213:
+    $P379 = $P378."ast"()
+    find_lex $P380, "$/"
+    unless_null $P380, vivify_214
+    $P380 = root_new ['parrot';'Hash']
+  vivify_214:
+    set $P381, $P380["pblock"]
+    unless_null $P381, vivify_215
+    new $P381, "Undef"
+  vivify_215:
+    $P382 = $P381."ast"()
+    find_lex $P383, "$/"
+    $P384 = $P376."new"($P379, $P382, "if" :named("pasttype"), $P383 :named("node"))
+    $P385 = $P375."!make"($P384)
+.annotate 'line', 117
+    .return ($P385)
+  control_372:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P373, exception, "payload"
-    .return ($P373)
+    getattribute $P386, exception, "payload"
+    .return ($P386)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "block"  :subid("29_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_377
-.annotate 'line', 115
-    new $P376, 'ExceptionHandler'
-    set_addr $P376, control_375
-    $P376."handle_types"(.CONTROL_RETURN)
-    push_eh $P376
+.sub "pblock"  :subid("28_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_390
+.annotate 'line', 121
+    new $P389, 'ExceptionHandler'
+    set_addr $P389, control_388
+    $P389."handle_types"(.CONTROL_RETURN)
+    push_eh $P389
     .lex "self", self
-    .lex "$/", param_377
-.annotate 'line', 116
-    find_lex $P378, "$/"
-    find_lex $P379, "$/"
-    unless_null $P379, vivify_212
-    $P379 = root_new ['parrot';'Hash']
-  vivify_212:
-    set $P380, $P379["blockoid"]
-    unless_null $P380, vivify_213
-    new $P380, "Undef"
-  vivify_213:
-    $P381 = $P380."ast"()
-    $P382 = $P378."!make"($P381)
-.annotate 'line', 115
-    .return ($P382)
-  control_375:
+    .lex "$/", param_390
+.annotate 'line', 122
+    find_lex $P391, "$/"
+    find_lex $P392, "$/"
+    unless_null $P392, vivify_216
+    $P392 = root_new ['parrot';'Hash']
+  vivify_216:
+    set $P393, $P392["blockoid"]
+    unless_null $P393, vivify_217
+    new $P393, "Undef"
+  vivify_217:
+    $P394 = $P393."ast"()
+    $P395 = $P391."!make"($P394)
+.annotate 'line', 121
+    .return ($P395)
+  control_388:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P383, exception, "payload"
-    .return ($P383)
+    getattribute $P396, exception, "payload"
+    .return ($P396)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "blockoid"  :subid("30_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_387
-.annotate 'line', 119
-    new $P386, 'ExceptionHandler'
-    set_addr $P386, control_385
-    $P386."handle_types"(.CONTROL_RETURN)
-    push_eh $P386
+.sub "block"  :subid("29_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_400
+.annotate 'line', 125
+    new $P399, 'ExceptionHandler'
+    set_addr $P399, control_398
+    $P399."handle_types"(.CONTROL_RETURN)
+    push_eh $P399
     .lex "self", self
-    .lex "$/", param_387
-.annotate 'line', 120
-    new $P388, "Undef"
-    .lex "$past", $P388
-.annotate 'line', 121
-    new $P389, "Undef"
-    .lex "$BLOCK", $P389
-.annotate 'line', 120
-    find_lex $P390, "$/"
-    unless_null $P390, vivify_214
-    $P390 = root_new ['parrot';'Hash']
-  vivify_214:
-    set $P391, $P390["statementlist"]
-    unless_null $P391, vivify_215
-    new $P391, "Undef"
-  vivify_215:
-    $P392 = $P391."ast"()
-    store_lex "$past", $P392
-.annotate 'line', 121
-    get_global $P393, "@BLOCK"
-    $P394 = $P393."shift"()
-    store_lex "$BLOCK", $P394
-.annotate 'line', 122
-    find_lex $P395, "$BLOCK"
-    find_lex $P396, "$past"
-    $P395."push"($P396)
-.annotate 'line', 123
-    find_lex $P397, "$BLOCK"
-    find_lex $P398, "$/"
-    $P397."node"($P398)
-.annotate 'line', 124
-    find_lex $P399, "$BLOCK"
-    $P399."closure"(1)
+    .lex "$/", param_400
+.annotate 'line', 126
+    find_lex $P401, "$/"
+    find_lex $P402, "$/"
+    unless_null $P402, vivify_218
+    $P402 = root_new ['parrot';'Hash']
+  vivify_218:
+    set $P403, $P402["blockoid"]
+    unless_null $P403, vivify_219
+    new $P403, "Undef"
+  vivify_219:
+    $P404 = $P403."ast"()
+    $P405 = $P401."!make"($P404)
 .annotate 'line', 125
-    find_lex $P400, "$/"
-    find_lex $P401, "$BLOCK"
-    $P402 = $P400."!make"($P401)
-.annotate 'line', 119
-    .return ($P402)
-  control_385:
+    .return ($P405)
+  control_398:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P403, exception, "payload"
-    .return ($P403)
+    getattribute $P406, exception, "payload"
+    .return ($P406)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "newpad"  :subid("31_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_407
-.annotate 'line', 128
-    new $P406, 'ExceptionHandler'
-    set_addr $P406, control_405
-    $P406."handle_types"(.CONTROL_RETURN)
-    push_eh $P406
-    .lex "self", self
-    .lex "$/", param_407
+.sub "blockoid"  :subid("30_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_410
 .annotate 'line', 129
-    get_global $P408, "@BLOCK"
-    unless_null $P408, vivify_216
-    $P408 = root_new ['parrot';'ResizablePMCArray']
-    set_global "@BLOCK", $P408
-  vivify_216:
-.annotate 'line', 128
-    get_global $P409, "@BLOCK"
+    new $P409, 'ExceptionHandler'
+    set_addr $P409, control_408
+    $P409."handle_types"(.CONTROL_RETURN)
+    push_eh $P409
+    .lex "self", self
+    .lex "$/", param_410
+.annotate 'line', 130
+    new $P411, "Undef"
+    .lex "$past", $P411
+.annotate 'line', 131
+    new $P412, "Undef"
+    .lex "$BLOCK", $P412
 .annotate 'line', 130
-    get_global $P410, "@BLOCK"
-    get_hll_global $P411, ["PAST"], "Block"
-    get_hll_global $P412, ["PAST"], "Stmts"
-    $P413 = $P412."new"()
-    $P414 = $P411."new"($P413)
-    $P415 = $P410."unshift"($P414)
-.annotate 'line', 128
-    .return ($P415)
-  control_405:
+    find_lex $P413, "$/"
+    unless_null $P413, vivify_220
+    $P413 = root_new ['parrot';'Hash']
+  vivify_220:
+    set $P414, $P413["statementlist"]
+    unless_null $P414, vivify_221
+    new $P414, "Undef"
+  vivify_221:
+    $P415 = $P414."ast"()
+    store_lex "$past", $P415
+.annotate 'line', 131
+    get_global $P416, "@BLOCK"
+    $P417 = $P416."shift"()
+    store_lex "$BLOCK", $P417
+.annotate 'line', 132
+    find_lex $P418, "$BLOCK"
+    find_lex $P419, "$past"
+    $P418."push"($P419)
+.annotate 'line', 133
+    find_lex $P420, "$BLOCK"
+    find_lex $P421, "$/"
+    $P420."node"($P421)
+.annotate 'line', 134
+    find_lex $P422, "$BLOCK"
+    $P422."closure"(1)
+.annotate 'line', 135
+    find_lex $P423, "$/"
+    find_lex $P424, "$BLOCK"
+    $P425 = $P423."!make"($P424)
+.annotate 'line', 129
+    .return ($P425)
+  control_408:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P416, exception, "payload"
-    .return ($P416)
+    getattribute $P426, exception, "payload"
+    .return ($P426)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "outerctx"  :subid("32_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_420
-.annotate 'line', 133
-    new $P419, 'ExceptionHandler'
-    set_addr $P419, control_418
-    $P419."handle_types"(.CONTROL_RETURN)
-    push_eh $P419
+.sub "newpad"  :subid("31_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_430
+.annotate 'line', 138
+    new $P429, 'ExceptionHandler'
+    set_addr $P429, control_428
+    $P429."handle_types"(.CONTROL_RETURN)
+    push_eh $P429
     .lex "self", self
-    .lex "$/", param_420
-.annotate 'line', 134
-    get_global $P421, "@BLOCK"
-    unless_null $P421, vivify_217
-    $P421 = root_new ['parrot';'ResizablePMCArray']
-    set_global "@BLOCK", $P421
-  vivify_217:
-.annotate 'line', 133
-    get_global $P422, "@BLOCK"
-.annotate 'line', 135
-    find_lex $P423, "self"
-    get_global $P424, "@BLOCK"
-    unless_null $P424, vivify_218
-    $P424 = root_new ['parrot';'ResizablePMCArray']
-  vivify_218:
-    set $P425, $P424[0]
-    unless_null $P425, vivify_219
-    new $P425, "Undef"
-  vivify_219:
-    $P426 = $P423."SET_BLOCK_OUTER_CTX"($P425)
-.annotate 'line', 133
-    .return ($P426)
-  control_418:
+    .lex "$/", param_430
+.annotate 'line', 139
+    get_global $P431, "@BLOCK"
+    unless_null $P431, vivify_222
+    $P431 = root_new ['parrot';'ResizablePMCArray']
+    set_global "@BLOCK", $P431
+  vivify_222:
+.annotate 'line', 138
+    get_global $P432, "@BLOCK"
+.annotate 'line', 140
+    get_global $P433, "@BLOCK"
+    get_hll_global $P434, ["PAST"], "Block"
+    get_hll_global $P435, ["PAST"], "Stmts"
+    $P436 = $P435."new"()
+    $P437 = $P434."new"($P436)
+    $P438 = $P433."unshift"($P437)
+.annotate 'line', 138
+    .return ($P438)
+  control_428:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P427, exception, "payload"
-    .return ($P427)
+    getattribute $P439, exception, "payload"
+    .return ($P439)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_control:sym<if>"  :subid("33_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_431
-.annotate 'line', 140
-    .const 'Sub' $P459 = "34_1277356919.52295" 
-    capture_lex $P459
-    new $P430, 'ExceptionHandler'
-    set_addr $P430, control_429
-    $P430."handle_types"(.CONTROL_RETURN)
-    push_eh $P430
+.sub "outerctx"  :subid("32_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_443
+.annotate 'line', 143
+    new $P442, 'ExceptionHandler'
+    set_addr $P442, control_441
+    $P442."handle_types"(.CONTROL_RETURN)
+    push_eh $P442
     .lex "self", self
-    .lex "$/", param_431
-.annotate 'line', 141
-    new $P432, "Undef"
-    .lex "$count", $P432
-.annotate 'line', 142
-    new $P433, "Undef"
-    .lex "$past", $P433
-.annotate 'line', 141
-    find_lex $P434, "$/"
-    unless_null $P434, vivify_220
-    $P434 = root_new ['parrot';'Hash']
-  vivify_220:
-    set $P435, $P434["xblock"]
-    unless_null $P435, vivify_221
-    new $P435, "Undef"
-  vivify_221:
-    set $N436, $P435
-    new $P437, 'Float'
-    set $P437, $N436
-    sub $P438, $P437, 1
-    store_lex "$count", $P438
-.annotate 'line', 142
-    find_lex $P439, "$count"
-    set $I440, $P439
-    find_lex $P441, "$/"
-    unless_null $P441, vivify_222
-    $P441 = root_new ['parrot';'Hash']
-  vivify_222:
-    set $P442, $P441["xblock"]
-    unless_null $P442, vivify_223
-    $P442 = root_new ['parrot';'ResizablePMCArray']
+    .lex "$/", param_443
+.annotate 'line', 144
+    get_global $P444, "@BLOCK"
+    unless_null $P444, vivify_223
+    $P444 = root_new ['parrot';'ResizablePMCArray']
+    set_global "@BLOCK", $P444
   vivify_223:
-    set $P443, $P442[$I440]
-    unless_null $P443, vivify_224
-    new $P443, "Undef"
-  vivify_224:
-    $P444 = $P443."ast"()
-    $P445 = "xblock_immediate"($P444)
-    store_lex "$past", $P445
 .annotate 'line', 143
-    find_lex $P447, "$/"
-    unless_null $P447, vivify_225
-    $P447 = root_new ['parrot';'Hash']
-  vivify_225:
-    set $P448, $P447["else"]
-    unless_null $P448, vivify_226
+    get_global $P445, "@BLOCK"
+.annotate 'line', 145
+    find_lex $P446, "self"
+    get_global $P447, "@BLOCK"
+    unless_null $P447, vivify_224
+    $P447 = root_new ['parrot';'ResizablePMCArray']
+  vivify_224:
+    set $P448, $P447[0]
+    unless_null $P448, vivify_225
     new $P448, "Undef"
-  vivify_226:
-    unless $P448, if_446_end
-.annotate 'line', 144
-    find_lex $P449, "$past"
-    find_lex $P450, "$/"
-    unless_null $P450, vivify_227
-    $P450 = root_new ['parrot';'Hash']
-  vivify_227:
-    set $P451, $P450["else"]
-    unless_null $P451, vivify_228
-    $P451 = root_new ['parrot';'ResizablePMCArray']
-  vivify_228:
-    set $P452, $P451[0]
-    unless_null $P452, vivify_229
-    new $P452, "Undef"
-  vivify_229:
-    $P453 = $P452."ast"()
-    $P454 = "block_immediate"($P453)
-    $P449."push"($P454)
-  if_446_end:
-.annotate 'line', 147
-    new $P475, 'ExceptionHandler'
-    set_addr $P475, loop474_handler
-    $P475."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
-    push_eh $P475
-  loop474_test:
-    find_lex $P455, "$count"
-    set $N456, $P455
-    isgt $I457, $N456, 0.0
-    unless $I457, loop474_done
-  loop474_redo:
-    .const 'Sub' $P459 = "34_1277356919.52295" 
-    capture_lex $P459
-    $P459()
-  loop474_next:
-    goto loop474_test
-  loop474_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P476, exception, 'type'
-    eq $P476, .CONTROL_LOOP_NEXT, loop474_next
-    eq $P476, .CONTROL_LOOP_REDO, loop474_redo
-  loop474_done:
-    pop_eh 
-.annotate 'line', 153
-    find_lex $P477, "$/"
-    find_lex $P478, "$past"
-    $P479 = $P477."!make"($P478)
-.annotate 'line', 140
-    .return ($P479)
-  control_429:
+  vivify_225:
+    $P449 = $P446."SET_BLOCK_OUTER_CTX"($P448)
+.annotate 'line', 143
+    .return ($P449)
+  control_441:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P480, exception, "payload"
-    .return ($P480)
+    getattribute $P450, exception, "payload"
+    .return ($P450)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block458"  :anon :subid("34_1277356919.52295") :outer("33_1277356919.52295")
-.annotate 'line', 149
-    new $P460, "Undef"
-    .lex "$else", $P460
-.annotate 'line', 147
-    find_lex $P461, "$count"
-    clone $P462, $P461
-    dec $P461
-.annotate 'line', 149
-    find_lex $P463, "$past"
-    store_lex "$else", $P463
+.include "except_types.pasm"
+.sub "statement_control:sym<if>"  :subid("33_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_454
 .annotate 'line', 150
-    find_lex $P464, "$count"
-    set $I465, $P464
-    find_lex $P466, "$/"
+    .const 'Sub' $P482 = "34_1278500542.82783" 
+    capture_lex $P482
+    new $P453, 'ExceptionHandler'
+    set_addr $P453, control_452
+    $P453."handle_types"(.CONTROL_RETURN)
+    push_eh $P453
+    .lex "self", self
+    .lex "$/", param_454
+.annotate 'line', 151
+    new $P455, "Undef"
+    .lex "$count", $P455
+.annotate 'line', 152
+    new $P456, "Undef"
+    .lex "$past", $P456
+.annotate 'line', 151
+    find_lex $P457, "$/"
+    unless_null $P457, vivify_226
+    $P457 = root_new ['parrot';'Hash']
+  vivify_226:
+    set $P458, $P457["xblock"]
+    unless_null $P458, vivify_227
+    new $P458, "Undef"
+  vivify_227:
+    set $N459, $P458
+    new $P460, 'Float'
+    set $P460, $N459
+    sub $P461, $P460, 1
+    store_lex "$count", $P461
+.annotate 'line', 152
+    find_lex $P462, "$count"
+    set $I463, $P462
+    find_lex $P464, "$/"
+    unless_null $P464, vivify_228
+    $P464 = root_new ['parrot';'Hash']
+  vivify_228:
+    set $P465, $P464["xblock"]
+    unless_null $P465, vivify_229
+    $P465 = root_new ['parrot';'ResizablePMCArray']
+  vivify_229:
+    set $P466, $P465[$I463]
     unless_null $P466, vivify_230
-    $P466 = root_new ['parrot';'Hash']
+    new $P466, "Undef"
   vivify_230:
-    set $P467, $P466["xblock"]
-    unless_null $P467, vivify_231
-    $P467 = root_new ['parrot';'ResizablePMCArray']
+    $P467 = $P466."ast"()
+    $P468 = "xblock_immediate"($P467)
+    store_lex "$past", $P468
+.annotate 'line', 153
+    find_lex $P470, "$/"
+    unless_null $P470, vivify_231
+    $P470 = root_new ['parrot';'Hash']
   vivify_231:
-    set $P468, $P467[$I465]
-    unless_null $P468, vivify_232
-    new $P468, "Undef"
+    set $P471, $P470["else"]
+    unless_null $P471, vivify_232
+    new $P471, "Undef"
   vivify_232:
-    $P469 = $P468."ast"()
-    $P470 = "xblock_immediate"($P469)
-    store_lex "$past", $P470
-.annotate 'line', 151
-    find_lex $P471, "$past"
-    find_lex $P472, "$else"
-    $P473 = $P471."push"($P472)
-.annotate 'line', 147
-    .return ($P473)
+    unless $P471, if_469_end
+.annotate 'line', 154
+    find_lex $P472, "$past"
+    find_lex $P473, "$/"
+    unless_null $P473, vivify_233
+    $P473 = root_new ['parrot';'Hash']
+  vivify_233:
+    set $P474, $P473["else"]
+    unless_null $P474, vivify_234
+    $P474 = root_new ['parrot';'ResizablePMCArray']
+  vivify_234:
+    set $P475, $P474[0]
+    unless_null $P475, vivify_235
+    new $P475, "Undef"
+  vivify_235:
+    $P476 = $P475."ast"()
+    $P477 = "block_immediate"($P476)
+    $P472."push"($P477)
+  if_469_end:
+.annotate 'line', 157
+    new $P498, 'ExceptionHandler'
+    set_addr $P498, loop497_handler
+    $P498."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P498
+  loop497_test:
+    find_lex $P478, "$count"
+    set $N479, $P478
+    isgt $I480, $N479, 0.0
+    unless $I480, loop497_done
+  loop497_redo:
+    .const 'Sub' $P482 = "34_1278500542.82783" 
+    capture_lex $P482
+    $P482()
+  loop497_next:
+    goto loop497_test
+  loop497_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P499, exception, 'type'
+    eq $P499, .CONTROL_LOOP_NEXT, loop497_next
+    eq $P499, .CONTROL_LOOP_REDO, loop497_redo
+  loop497_done:
+    pop_eh 
+.annotate 'line', 163
+    find_lex $P500, "$/"
+    find_lex $P501, "$past"
+    $P502 = $P500."!make"($P501)
+.annotate 'line', 150
+    .return ($P502)
+  control_452:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P503, exception, "payload"
+    .return ($P503)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "statement_control:sym<unless>"  :subid("35_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_484
-.annotate 'line', 156
-    new $P483, 'ExceptionHandler'
-    set_addr $P483, control_482
-    $P483."handle_types"(.CONTROL_RETURN)
-    push_eh $P483
-    .lex "self", self
-    .lex "$/", param_484
+.sub "_block481"  :anon :subid("34_1278500542.82783") :outer("33_1278500542.82783")
+.annotate 'line', 159
+    new $P483, "Undef"
+    .lex "$else", $P483
 .annotate 'line', 157
-    new $P485, "Undef"
-    .lex "$past", $P485
-    find_lex $P486, "$/"
-    unless_null $P486, vivify_233
-    $P486 = root_new ['parrot';'Hash']
-  vivify_233:
-    set $P487, $P486["xblock"]
-    unless_null $P487, vivify_234
-    new $P487, "Undef"
-  vivify_234:
-    $P488 = $P487."ast"()
-    $P489 = "xblock_immediate"($P488)
-    store_lex "$past", $P489
-.annotate 'line', 158
-    find_lex $P490, "$past"
-    $P490."pasttype"("unless")
+    find_lex $P484, "$count"
+    clone $P485, $P484
+    dec $P484
 .annotate 'line', 159
-    find_lex $P491, "$/"
-    find_lex $P492, "$past"
-    $P493 = $P491."!make"($P492)
-.annotate 'line', 156
-    .return ($P493)
-  control_482:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P494, exception, "payload"
-    .return ($P494)
+    find_lex $P486, "$past"
+    store_lex "$else", $P486
+.annotate 'line', 160
+    find_lex $P487, "$count"
+    set $I488, $P487
+    find_lex $P489, "$/"
+    unless_null $P489, vivify_236
+    $P489 = root_new ['parrot';'Hash']
+  vivify_236:
+    set $P490, $P489["xblock"]
+    unless_null $P490, vivify_237
+    $P490 = root_new ['parrot';'ResizablePMCArray']
+  vivify_237:
+    set $P491, $P490[$I488]
+    unless_null $P491, vivify_238
+    new $P491, "Undef"
+  vivify_238:
+    $P492 = $P491."ast"()
+    $P493 = "xblock_immediate"($P492)
+    store_lex "$past", $P493
+.annotate 'line', 161
+    find_lex $P494, "$past"
+    find_lex $P495, "$else"
+    $P496 = $P494."push"($P495)
+.annotate 'line', 157
+    .return ($P496)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_control:sym<while>"  :subid("36_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_498
-.annotate 'line', 162
-    new $P497, 'ExceptionHandler'
-    set_addr $P497, control_496
-    $P497."handle_types"(.CONTROL_RETURN)
-    push_eh $P497
+.sub "statement_control:sym<unless>"  :subid("35_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_507
+.annotate 'line', 166
+    new $P506, 'ExceptionHandler'
+    set_addr $P506, control_505
+    $P506."handle_types"(.CONTROL_RETURN)
+    push_eh $P506
     .lex "self", self
-    .lex "$/", param_498
-.annotate 'line', 163
-    new $P499, "Undef"
-    .lex "$past", $P499
-    find_lex $P500, "$/"
-    unless_null $P500, vivify_235
-    $P500 = root_new ['parrot';'Hash']
-  vivify_235:
-    set $P501, $P500["xblock"]
-    unless_null $P501, vivify_236
-    new $P501, "Undef"
-  vivify_236:
-    $P502 = $P501."ast"()
-    $P503 = "xblock_immediate"($P502)
-    store_lex "$past", $P503
-.annotate 'line', 164
-    find_lex $P504, "$past"
-    find_lex $P505, "$/"
-    unless_null $P505, vivify_237
-    $P505 = root_new ['parrot';'Hash']
-  vivify_237:
-    set $P506, $P505["sym"]
-    unless_null $P506, vivify_238
-    new $P506, "Undef"
-  vivify_238:
-    set $S507, $P506
-    $P504."pasttype"($S507)
-.annotate 'line', 165
-    find_lex $P508, "$/"
-    find_lex $P509, "$past"
-    $P510 = $P508."!make"($P509)
-.annotate 'line', 162
-    .return ($P510)
-  control_496:
+    .lex "$/", param_507
+.annotate 'line', 167
+    new $P508, "Undef"
+    .lex "$past", $P508
+    find_lex $P509, "$/"
+    unless_null $P509, vivify_239
+    $P509 = root_new ['parrot';'Hash']
+  vivify_239:
+    set $P510, $P509["xblock"]
+    unless_null $P510, vivify_240
+    new $P510, "Undef"
+  vivify_240:
+    $P511 = $P510."ast"()
+    $P512 = "xblock_immediate"($P511)
+    store_lex "$past", $P512
+.annotate 'line', 168
+    find_lex $P513, "$past"
+    $P513."pasttype"("unless")
+.annotate 'line', 169
+    find_lex $P514, "$/"
+    find_lex $P515, "$past"
+    $P516 = $P514."!make"($P515)
+.annotate 'line', 166
+    .return ($P516)
+  control_505:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P511, exception, "payload"
-    .return ($P511)
+    getattribute $P517, exception, "payload"
+    .return ($P517)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_control:sym<repeat>"  :subid("37_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_515
-.annotate 'line', 168
-    new $P514, 'ExceptionHandler'
-    set_addr $P514, control_513
-    $P514."handle_types"(.CONTROL_RETURN)
-    push_eh $P514
+.sub "statement_control:sym<while>"  :subid("36_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_521
+.annotate 'line', 172
+    new $P520, 'ExceptionHandler'
+    set_addr $P520, control_519
+    $P520."handle_types"(.CONTROL_RETURN)
+    push_eh $P520
     .lex "self", self
-    .lex "$/", param_515
-.annotate 'line', 169
-    new $P516, "Undef"
-    .lex "$pasttype", $P516
-.annotate 'line', 170
-    new $P517, "Undef"
-    .lex "$past", $P517
-.annotate 'line', 169
-    new $P518, "String"
-    assign $P518, "repeat_"
-    find_lex $P519, "$/"
-    unless_null $P519, vivify_239
-    $P519 = root_new ['parrot';'Hash']
-  vivify_239:
-    set $P520, $P519["wu"]
-    unless_null $P520, vivify_240
-    new $P520, "Undef"
-  vivify_240:
-    set $S521, $P520
-    concat $P522, $P518, $S521
-    store_lex "$pasttype", $P522
-    find_lex $P523, "$past"
-.annotate 'line', 171
-    find_lex $P525, "$/"
-    unless_null $P525, vivify_241
-    $P525 = root_new ['parrot';'Hash']
+    .lex "$/", param_521
+.annotate 'line', 173
+    new $P522, "Undef"
+    .lex "$past", $P522
+    find_lex $P523, "$/"
+    unless_null $P523, vivify_241
+    $P523 = root_new ['parrot';'Hash']
   vivify_241:
-    set $P526, $P525["xblock"]
-    unless_null $P526, vivify_242
-    new $P526, "Undef"
+    set $P524, $P523["xblock"]
+    unless_null $P524, vivify_242
+    new $P524, "Undef"
   vivify_242:
-    if $P526, if_524
-.annotate 'line', 176
-    get_hll_global $P533, ["PAST"], "Op"
-    find_lex $P534, "$/"
-    unless_null $P534, vivify_243
-    $P534 = root_new ['parrot';'Hash']
+    $P525 = $P524."ast"()
+    $P526 = "xblock_immediate"($P525)
+    store_lex "$past", $P526
+.annotate 'line', 174
+    find_lex $P527, "$past"
+    find_lex $P528, "$/"
+    unless_null $P528, vivify_243
+    $P528 = root_new ['parrot';'Hash']
   vivify_243:
-    set $P535, $P534["EXPR"]
-    unless_null $P535, vivify_244
-    new $P535, "Undef"
+    set $P529, $P528["sym"]
+    unless_null $P529, vivify_244
+    new $P529, "Undef"
   vivify_244:
-    $P536 = $P535."ast"()
-    find_lex $P537, "$/"
-    unless_null $P537, vivify_245
-    $P537 = root_new ['parrot';'Hash']
-  vivify_245:
-    set $P538, $P537["pblock"]
-    unless_null $P538, vivify_246
-    new $P538, "Undef"
-  vivify_246:
-    $P539 = $P538."ast"()
-    $P540 = "block_immediate"($P539)
-    find_lex $P541, "$pasttype"
-    find_lex $P542, "$/"
-    $P543 = $P533."new"($P536, $P540, $P541 :named("pasttype"), $P542 :named("node"))
-    store_lex "$past", $P543
+    set $S530, $P529
+    $P527."pasttype"($S530)
 .annotate 'line', 175
-    goto if_524_end
-  if_524:
+    find_lex $P531, "$/"
+    find_lex $P532, "$past"
+    $P533 = $P531."!make"($P532)
 .annotate 'line', 172
-    find_lex $P527, "$/"
-    unless_null $P527, vivify_247
-    $P527 = root_new ['parrot';'Hash']
-  vivify_247:
-    set $P528, $P527["xblock"]
-    unless_null $P528, vivify_248
-    new $P528, "Undef"
-  vivify_248:
-    $P529 = $P528."ast"()
-    $P530 = "xblock_immediate"($P529)
-    store_lex "$past", $P530
-.annotate 'line', 173
-    find_lex $P531, "$past"
-    find_lex $P532, "$pasttype"
-    $P531."pasttype"($P532)
-  if_524_end:
-.annotate 'line', 179
-    find_lex $P544, "$/"
-    find_lex $P545, "$past"
-    $P546 = $P544."!make"($P545)
-.annotate 'line', 168
-    .return ($P546)
-  control_513:
+    .return ($P533)
+  control_519:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P547, exception, "payload"
-    .return ($P547)
+    getattribute $P534, exception, "payload"
+    .return ($P534)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_control:sym<for>"  :subid("38_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_551
-.annotate 'line', 182
-    new $P550, 'ExceptionHandler'
-    set_addr $P550, control_549
-    $P550."handle_types"(.CONTROL_RETURN)
-    push_eh $P550
+.sub "statement_control:sym<repeat>"  :subid("37_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_538
+.annotate 'line', 178
+    new $P537, 'ExceptionHandler'
+    set_addr $P537, control_536
+    $P537."handle_types"(.CONTROL_RETURN)
+    push_eh $P537
     .lex "self", self
-    .lex "$/", param_551
-.annotate 'line', 183
-    new $P552, "Undef"
-    .lex "$past", $P552
-.annotate 'line', 185
-    new $P553, "Undef"
-    .lex "$block", $P553
-.annotate 'line', 183
-    find_lex $P554, "$/"
-    unless_null $P554, vivify_249
-    $P554 = root_new ['parrot';'Hash']
+    .lex "$/", param_538
+.annotate 'line', 179
+    new $P539, "Undef"
+    .lex "$pasttype", $P539
+.annotate 'line', 180
+    new $P540, "Undef"
+    .lex "$past", $P540
+.annotate 'line', 179
+    new $P541, "String"
+    assign $P541, "repeat_"
+    find_lex $P542, "$/"
+    unless_null $P542, vivify_245
+    $P542 = root_new ['parrot';'Hash']
+  vivify_245:
+    set $P543, $P542["wu"]
+    unless_null $P543, vivify_246
+    new $P543, "Undef"
+  vivify_246:
+    set $S544, $P543
+    concat $P545, $P541, $S544
+    store_lex "$pasttype", $P545
+    find_lex $P546, "$past"
+.annotate 'line', 181
+    find_lex $P548, "$/"
+    unless_null $P548, vivify_247
+    $P548 = root_new ['parrot';'Hash']
+  vivify_247:
+    set $P549, $P548["xblock"]
+    unless_null $P549, vivify_248
+    new $P549, "Undef"
+  vivify_248:
+    if $P549, if_547
+.annotate 'line', 186
+    get_hll_global $P556, ["PAST"], "Op"
+    find_lex $P557, "$/"
+    unless_null $P557, vivify_249
+    $P557 = root_new ['parrot';'Hash']
   vivify_249:
-    set $P555, $P554["xblock"]
-    unless_null $P555, vivify_250
-    new $P555, "Undef"
+    set $P558, $P557["EXPR"]
+    unless_null $P558, vivify_250
+    new $P558, "Undef"
   vivify_250:
-    $P556 = $P555."ast"()
-    store_lex "$past", $P556
-.annotate 'line', 184
-    find_lex $P557, "$past"
-    $P557."pasttype"("for")
-.annotate 'line', 185
-    find_lex $P558, "$past"
-    unless_null $P558, vivify_251
-    $P558 = root_new ['parrot';'ResizablePMCArray']
+    $P559 = $P558."ast"()
+    find_lex $P560, "$/"
+    unless_null $P560, vivify_251
+    $P560 = root_new ['parrot';'Hash']
   vivify_251:
-    set $P559, $P558[1]
-    unless_null $P559, vivify_252
-    new $P559, "Undef"
+    set $P561, $P560["pblock"]
+    unless_null $P561, vivify_252
+    new $P561, "Undef"
   vivify_252:
-    store_lex "$block", $P559
-.annotate 'line', 186
-    find_lex $P561, "$block"
-    $P562 = $P561."arity"()
-    if $P562, unless_560_end
-.annotate 'line', 187
-    find_lex $P563, "$block"
-    unless_null $P563, vivify_253
-    $P563 = root_new ['parrot';'ResizablePMCArray']
+    $P562 = $P561."ast"()
+    $P563 = "block_immediate"($P562)
+    find_lex $P564, "$pasttype"
+    find_lex $P565, "$/"
+    $P566 = $P556."new"($P559, $P563, $P564 :named("pasttype"), $P565 :named("node"))
+    store_lex "$past", $P566
+.annotate 'line', 185
+    goto if_547_end
+  if_547:
+.annotate 'line', 182
+    find_lex $P550, "$/"
+    unless_null $P550, vivify_253
+    $P550 = root_new ['parrot';'Hash']
   vivify_253:
-    set $P564, $P563[0]
-    unless_null $P564, vivify_254
-    new $P564, "Undef"
+    set $P551, $P550["xblock"]
+    unless_null $P551, vivify_254
+    new $P551, "Undef"
   vivify_254:
-    get_hll_global $P565, ["PAST"], "Var"
-    $P566 = $P565."new"("$_" :named("name"), "parameter" :named("scope"))
-    $P564."push"($P566)
-.annotate 'line', 188
-    find_lex $P567, "$block"
-    $P567."symbol"("$_", "lexical" :named("scope"))
+    $P552 = $P551."ast"()
+    $P553 = "xblock_immediate"($P552)
+    store_lex "$past", $P553
+.annotate 'line', 183
+    find_lex $P554, "$past"
+    find_lex $P555, "$pasttype"
+    $P554."pasttype"($P555)
+  if_547_end:
 .annotate 'line', 189
-    find_lex $P568, "$block"
-    $P568."arity"(1)
-  unless_560_end:
-.annotate 'line', 191
-    find_lex $P569, "$block"
-    $P569."blocktype"("immediate")
-.annotate 'line', 192
-    find_lex $P570, "$/"
-    find_lex $P571, "$past"
-    $P572 = $P570."!make"($P571)
-.annotate 'line', 182
-    .return ($P572)
-  control_549:
+    find_lex $P567, "$/"
+    find_lex $P568, "$past"
+    $P569 = $P567."!make"($P568)
+.annotate 'line', 178
+    .return ($P569)
+  control_536:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P573, exception, "payload"
-    .return ($P573)
+    getattribute $P570, exception, "payload"
+    .return ($P570)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_control:sym<return>"  :subid("39_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_577
-.annotate 'line', 195
-    new $P576, 'ExceptionHandler'
-    set_addr $P576, control_575
-    $P576."handle_types"(.CONTROL_RETURN)
-    push_eh $P576
+.sub "statement_control:sym<for>"  :subid("38_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_574
+.annotate 'line', 192
+    new $P573, 'ExceptionHandler'
+    set_addr $P573, control_572
+    $P573."handle_types"(.CONTROL_RETURN)
+    push_eh $P573
     .lex "self", self
-    .lex "$/", param_577
-.annotate 'line', 196
-    find_lex $P578, "$/"
-    get_hll_global $P579, ["PAST"], "Op"
-    find_lex $P580, "$/"
-    unless_null $P580, vivify_255
-    $P580 = root_new ['parrot';'Hash']
+    .lex "$/", param_574
+.annotate 'line', 193
+    new $P575, "Undef"
+    .lex "$past", $P575
+.annotate 'line', 195
+    new $P576, "Undef"
+    .lex "$block", $P576
+.annotate 'line', 193
+    find_lex $P577, "$/"
+    unless_null $P577, vivify_255
+    $P577 = root_new ['parrot';'Hash']
   vivify_255:
-    set $P581, $P580["EXPR"]
-    unless_null $P581, vivify_256
-    new $P581, "Undef"
+    set $P578, $P577["xblock"]
+    unless_null $P578, vivify_256
+    new $P578, "Undef"
   vivify_256:
-    $P582 = $P581."ast"()
-    find_lex $P583, "$/"
-    $P584 = $P579."new"($P582, "return" :named("pasttype"), $P583 :named("node"))
-    $P585 = $P578."!make"($P584)
+    $P579 = $P578."ast"()
+    store_lex "$past", $P579
+.annotate 'line', 194
+    find_lex $P580, "$past"
+    $P580."pasttype"("for")
 .annotate 'line', 195
-    .return ($P585)
-  control_575:
+    find_lex $P581, "$past"
+    unless_null $P581, vivify_257
+    $P581 = root_new ['parrot';'ResizablePMCArray']
+  vivify_257:
+    set $P582, $P581[1]
+    unless_null $P582, vivify_258
+    new $P582, "Undef"
+  vivify_258:
+    store_lex "$block", $P582
+.annotate 'line', 196
+    find_lex $P584, "$block"
+    $P585 = $P584."arity"()
+    if $P585, unless_583_end
+.annotate 'line', 197
+    find_lex $P586, "$block"
+    unless_null $P586, vivify_259
+    $P586 = root_new ['parrot';'ResizablePMCArray']
+  vivify_259:
+    set $P587, $P586[0]
+    unless_null $P587, vivify_260
+    new $P587, "Undef"
+  vivify_260:
+    get_hll_global $P588, ["PAST"], "Var"
+    $P589 = $P588."new"("$_" :named("name"), "parameter" :named("scope"))
+    $P587."push"($P589)
+.annotate 'line', 198
+    find_lex $P590, "$block"
+    $P590."symbol"("$_", "lexical" :named("scope"))
+.annotate 'line', 199
+    find_lex $P591, "$block"
+    $P591."arity"(1)
+  unless_583_end:
+.annotate 'line', 201
+    find_lex $P592, "$block"
+    $P592."blocktype"("immediate")
+.annotate 'line', 202
+    find_lex $P593, "$/"
+    find_lex $P594, "$past"
+    $P595 = $P593."!make"($P594)
+.annotate 'line', 192
+    .return ($P595)
+  control_572:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P586, exception, "payload"
-    .return ($P586)
+    getattribute $P596, exception, "payload"
+    .return ($P596)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_control:sym<CATCH>"  :subid("40_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_590
-.annotate 'line', 199
-    new $P589, 'ExceptionHandler'
-    set_addr $P589, control_588
-    $P589."handle_types"(.CONTROL_RETURN)
-    push_eh $P589
-    .lex "self", self
-    .lex "$/", param_590
-.annotate 'line', 200
-    new $P591, "Undef"
-    .lex "$block", $P591
-    find_lex $P592, "$/"
-    unless_null $P592, vivify_257
-    $P592 = root_new ['parrot';'Hash']
-  vivify_257:
-    set $P593, $P592["block"]
-    unless_null $P593, vivify_258
-    new $P593, "Undef"
-  vivify_258:
-    $P594 = $P593."ast"()
-    store_lex "$block", $P594
-.annotate 'line', 201
-    find_lex $P595, "$/"
-    find_lex $P596, "$block"
-    "push_block_handler"($P595, $P596)
-.annotate 'line', 202
-    get_global $P597, "@BLOCK"
-    unless_null $P597, vivify_259
-    $P597 = root_new ['parrot';'ResizablePMCArray']
-  vivify_259:
-    set $P598, $P597[0]
-    unless_null $P598, vivify_260
-    new $P598, "Undef"
-  vivify_260:
-    $P599 = $P598."handlers"()
-    set $P600, $P599[0]
-    unless_null $P600, vivify_261
-    new $P600, "Undef"
-  vivify_261:
-    $P600."handle_types_except"("CONTROL")
-.annotate 'line', 203
+.sub "statement_control:sym<return>"  :subid("39_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_600
+.annotate 'line', 205
+    new $P599, 'ExceptionHandler'
+    set_addr $P599, control_598
+    $P599."handle_types"(.CONTROL_RETURN)
+    push_eh $P599
+    .lex "self", self
+    .lex "$/", param_600
+.annotate 'line', 206
     find_lex $P601, "$/"
-    get_hll_global $P602, ["PAST"], "Stmts"
+    get_hll_global $P602, ["PAST"], "Op"
     find_lex $P603, "$/"
-    $P604 = $P602."new"($P603 :named("node"))
-    $P605 = $P601."!make"($P604)
-.annotate 'line', 199
-    .return ($P605)
-  control_588:
+    unless_null $P603, vivify_261
+    $P603 = root_new ['parrot';'Hash']
+  vivify_261:
+    set $P604, $P603["EXPR"]
+    unless_null $P604, vivify_262
+    new $P604, "Undef"
+  vivify_262:
+    $P605 = $P604."ast"()
+    find_lex $P606, "$/"
+    $P607 = $P602."new"($P605, "return" :named("pasttype"), $P606 :named("node"))
+    $P608 = $P601."!make"($P607)
+.annotate 'line', 205
+    .return ($P608)
+  control_598:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P606, exception, "payload"
-    .return ($P606)
+    getattribute $P609, exception, "payload"
+    .return ($P609)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_control:sym<CONTROL>"  :subid("41_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_610
-.annotate 'line', 206
-    new $P609, 'ExceptionHandler'
-    set_addr $P609, control_608
-    $P609."handle_types"(.CONTROL_RETURN)
-    push_eh $P609
+.sub "statement_control:sym<CATCH>"  :subid("40_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_613
+.annotate 'line', 209
+    new $P612, 'ExceptionHandler'
+    set_addr $P612, control_611
+    $P612."handle_types"(.CONTROL_RETURN)
+    push_eh $P612
     .lex "self", self
-    .lex "$/", param_610
-.annotate 'line', 207
-    new $P611, "Undef"
-    .lex "$block", $P611
-    find_lex $P612, "$/"
-    unless_null $P612, vivify_262
-    $P612 = root_new ['parrot';'Hash']
-  vivify_262:
-    set $P613, $P612["block"]
-    unless_null $P613, vivify_263
-    new $P613, "Undef"
-  vivify_263:
-    $P614 = $P613."ast"()
-    store_lex "$block", $P614
-.annotate 'line', 208
+    .lex "$/", param_613
+.annotate 'line', 210
+    new $P614, "Undef"
+    .lex "$block", $P614
     find_lex $P615, "$/"
-    find_lex $P616, "$block"
-    "push_block_handler"($P615, $P616)
-.annotate 'line', 209
-    get_global $P617, "@BLOCK"
-    unless_null $P617, vivify_264
-    $P617 = root_new ['parrot';'ResizablePMCArray']
+    unless_null $P615, vivify_263
+    $P615 = root_new ['parrot';'Hash']
+  vivify_263:
+    set $P616, $P615["block"]
+    unless_null $P616, vivify_264
+    new $P616, "Undef"
   vivify_264:
-    set $P618, $P617[0]
-    unless_null $P618, vivify_265
-    new $P618, "Undef"
+    $P617 = $P616."ast"()
+    store_lex "$block", $P617
+.annotate 'line', 211
+    find_lex $P618, "$/"
+    find_lex $P619, "$block"
+    "push_block_handler"($P618, $P619)
+.annotate 'line', 212
+    get_global $P620, "@BLOCK"
+    unless_null $P620, vivify_265
+    $P620 = root_new ['parrot';'ResizablePMCArray']
   vivify_265:
-    $P619 = $P618."handlers"()
-    set $P620, $P619[0]
-    unless_null $P620, vivify_266
-    new $P620, "Undef"
+    set $P621, $P620[0]
+    unless_null $P621, vivify_266
+    new $P621, "Undef"
   vivify_266:
-    $P620."handle_types"("CONTROL")
-.annotate 'line', 210
-    find_lex $P621, "$/"
-    get_hll_global $P622, ["PAST"], "Stmts"
-    find_lex $P623, "$/"
-    $P624 = $P622."new"($P623 :named("node"))
-    $P625 = $P621."!make"($P624)
-.annotate 'line', 206
-    .return ($P625)
-  control_608:
+    $P622 = $P621."handlers"()
+    set $P623, $P622[0]
+    unless_null $P623, vivify_267
+    new $P623, "Undef"
+  vivify_267:
+    $P623."handle_types_except"("CONTROL")
+.annotate 'line', 213
+    find_lex $P624, "$/"
+    get_hll_global $P625, ["PAST"], "Stmts"
+    find_lex $P626, "$/"
+    $P627 = $P625."new"($P626 :named("node"))
+    $P628 = $P624."!make"($P627)
+.annotate 'line', 209
+    .return ($P628)
+  control_611:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P626, exception, "payload"
-    .return ($P626)
+    getattribute $P629, exception, "payload"
+    .return ($P629)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_prefix:sym<INIT>"  :subid("42_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_631
-.annotate 'line', 250
-    new $P630, 'ExceptionHandler'
-    set_addr $P630, control_629
-    $P630."handle_types"(.CONTROL_RETURN)
-    push_eh $P630
+.sub "statement_control:sym<CONTROL>"  :subid("41_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_633
+.annotate 'line', 216
+    new $P632, 'ExceptionHandler'
+    set_addr $P632, control_631
+    $P632."handle_types"(.CONTROL_RETURN)
+    push_eh $P632
     .lex "self", self
-    .lex "$/", param_631
-.annotate 'line', 251
-    get_global $P632, "@BLOCK"
-    unless_null $P632, vivify_267
-    $P632 = root_new ['parrot';'ResizablePMCArray']
-  vivify_267:
-    set $P633, $P632[0]
-    unless_null $P633, vivify_268
-    new $P633, "Undef"
-  vivify_268:
-    $P634 = $P633."loadinit"()
+    .lex "$/", param_633
+.annotate 'line', 217
+    new $P634, "Undef"
+    .lex "$block", $P634
     find_lex $P635, "$/"
-    unless_null $P635, vivify_269
+    unless_null $P635, vivify_268
     $P635 = root_new ['parrot';'Hash']
-  vivify_269:
-    set $P636, $P635["blorst"]
-    unless_null $P636, vivify_270
+  vivify_268:
+    set $P636, $P635["block"]
+    unless_null $P636, vivify_269
     new $P636, "Undef"
-  vivify_270:
+  vivify_269:
     $P637 = $P636."ast"()
-    $P634."push"($P637)
-.annotate 'line', 252
+    store_lex "$block", $P637
+.annotate 'line', 218
     find_lex $P638, "$/"
-    get_hll_global $P639, ["PAST"], "Stmts"
-    find_lex $P640, "$/"
-    $P641 = $P639."new"($P640 :named("node"))
-    $P642 = $P638."!make"($P641)
-.annotate 'line', 250
-    .return ($P642)
-  control_629:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P643, exception, "payload"
-    .return ($P643)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "statement_prefix:sym<try>"  :subid("43_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_647
-.annotate 'line', 255
-    new $P646, 'ExceptionHandler'
-    set_addr $P646, control_645
-    $P646."handle_types"(.CONTROL_RETURN)
-    push_eh $P646
-    .lex "self", self
-    .lex "$/", param_647
-.annotate 'line', 256
-    new $P648, "Undef"
-    .lex "$past", $P648
-    find_lex $P649, "$/"
-    unless_null $P649, vivify_271
-    $P649 = root_new ['parrot';'Hash']
+    find_lex $P639, "$block"
+    "push_block_handler"($P638, $P639)
+.annotate 'line', 219
+    get_global $P640, "@BLOCK"
+    unless_null $P640, vivify_270
+    $P640 = root_new ['parrot';'ResizablePMCArray']
+  vivify_270:
+    set $P641, $P640[0]
+    unless_null $P641, vivify_271
+    new $P641, "Undef"
   vivify_271:
-    set $P650, $P649["blorst"]
-    unless_null $P650, vivify_272
-    new $P650, "Undef"
+    $P642 = $P641."handlers"()
+    set $P643, $P642[0]
+    unless_null $P643, vivify_272
+    new $P643, "Undef"
   vivify_272:
-    $P651 = $P650."ast"()
-    store_lex "$past", $P651
-.annotate 'line', 257
-    find_lex $P653, "$past"
-    $S654 = $P653."WHAT"()
-    isne $I655, $S654, "PAST::Block()"
-    unless $I655, if_652_end
-.annotate 'line', 258
-    get_hll_global $P656, ["PAST"], "Block"
-    find_lex $P657, "$past"
-    find_lex $P658, "$/"
-    $P659 = $P656."new"($P657, "immediate" :named("blocktype"), $P658 :named("node"))
-    store_lex "$past", $P659
-  if_652_end:
-.annotate 'line', 260
-    find_lex $P661, "$past"
-    $P662 = $P661."handlers"()
-    if $P662, unless_660_end
-.annotate 'line', 261
-    find_lex $P663, "$past"
-    get_hll_global $P664, ["PAST"], "Control"
-.annotate 'line', 263
-    get_hll_global $P665, ["PAST"], "Stmts"
-.annotate 'line', 264
-    get_hll_global $P666, ["PAST"], "Op"
-.annotate 'line', 265
-    get_hll_global $P667, ["PAST"], "Var"
-.annotate 'line', 266
-    get_hll_global $P668, ["PAST"], "Var"
-    $P669 = $P668."new"("register" :named("scope"), "exception" :named("name"))
-    $P670 = $P667."new"($P669, "handled", "keyed" :named("scope"))
-.annotate 'line', 265
-    $P671 = $P666."new"($P670, 1, "bind" :named("pasttype"))
-.annotate 'line', 264
-    $P672 = $P665."new"($P671)
-.annotate 'line', 263
-    $P673 = $P664."new"($P672, "CONTROL" :named("handle_types_except"))
-.annotate 'line', 261
-    new $P674, "ResizablePMCArray"
-    push $P674, $P673
-    $P663."handlers"($P674)
-  unless_660_end:
-.annotate 'line', 275
-    find_lex $P675, "$/"
-    find_lex $P676, "$past"
-    $P677 = $P675."!make"($P676)
-.annotate 'line', 255
-    .return ($P677)
-  control_645:
+    $P643."handle_types"("CONTROL")
+.annotate 'line', 220
+    find_lex $P644, "$/"
+    get_hll_global $P645, ["PAST"], "Stmts"
+    find_lex $P646, "$/"
+    $P647 = $P645."new"($P646 :named("node"))
+    $P648 = $P644."!make"($P647)
+.annotate 'line', 216
+    .return ($P648)
+  control_631:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P678, exception, "payload"
-    .return ($P678)
+    getattribute $P649, exception, "payload"
+    .return ($P649)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "blorst"  :subid("44_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_682
-.annotate 'line', 278
-    new $P681, 'ExceptionHandler'
-    set_addr $P681, control_680
-    $P681."handle_types"(.CONTROL_RETURN)
-    push_eh $P681
+.sub "statement_prefix:sym<INIT>"  :subid("42_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_654
+.annotate 'line', 260
+    new $P653, 'ExceptionHandler'
+    set_addr $P653, control_652
+    $P653."handle_types"(.CONTROL_RETURN)
+    push_eh $P653
     .lex "self", self
-    .lex "$/", param_682
-.annotate 'line', 279
-    find_lex $P683, "$/"
-.annotate 'line', 280
-    find_lex $P686, "$/"
-    unless_null $P686, vivify_273
-    $P686 = root_new ['parrot';'Hash']
+    .lex "$/", param_654
+.annotate 'line', 261
+    get_global $P655, "@BLOCK"
+    unless_null $P655, vivify_273
+    $P655 = root_new ['parrot';'ResizablePMCArray']
   vivify_273:
-    set $P687, $P686["block"]
-    unless_null $P687, vivify_274
-    new $P687, "Undef"
+    set $P656, $P655[0]
+    unless_null $P656, vivify_274
+    new $P656, "Undef"
   vivify_274:
-    if $P687, if_685
-.annotate 'line', 281
-    find_lex $P692, "$/"
-    unless_null $P692, vivify_275
-    $P692 = root_new ['parrot';'Hash']
+    $P657 = $P656."loadinit"()
+    find_lex $P658, "$/"
+    unless_null $P658, vivify_275
+    $P658 = root_new ['parrot';'Hash']
   vivify_275:
-    set $P693, $P692["statement"]
-    unless_null $P693, vivify_276
-    new $P693, "Undef"
+    set $P659, $P658["blorst"]
+    unless_null $P659, vivify_276
+    new $P659, "Undef"
   vivify_276:
-    $P694 = $P693."ast"()
-    set $P684, $P694
-.annotate 'line', 280
-    goto if_685_end
-  if_685:
-    find_lex $P688, "$/"
-    unless_null $P688, vivify_277
-    $P688 = root_new ['parrot';'Hash']
-  vivify_277:
-    set $P689, $P688["block"]
-    unless_null $P689, vivify_278
-    new $P689, "Undef"
-  vivify_278:
-    $P690 = $P689."ast"()
-    $P691 = "block_immediate"($P690)
-    set $P684, $P691
-  if_685_end:
-    $P695 = $P683."!make"($P684)
-.annotate 'line', 278
-    .return ($P695)
-  control_680:
+    $P660 = $P659."ast"()
+    $P657."push"($P660)
+.annotate 'line', 262
+    find_lex $P661, "$/"
+    get_hll_global $P662, ["PAST"], "Stmts"
+    find_lex $P663, "$/"
+    $P664 = $P662."new"($P663 :named("node"))
+    $P665 = $P661."!make"($P664)
+.annotate 'line', 260
+    .return ($P665)
+  control_652:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P696, exception, "payload"
-    .return ($P696)
+    getattribute $P666, exception, "payload"
+    .return ($P666)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_mod_cond:sym<if>"  :subid("45_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_700
-.annotate 'line', 286
-    new $P699, 'ExceptionHandler'
-    set_addr $P699, control_698
-    $P699."handle_types"(.CONTROL_RETURN)
-    push_eh $P699
-    .lex "self", self
-    .lex "$/", param_700
-    find_lex $P701, "$/"
-    find_lex $P702, "$/"
-    unless_null $P702, vivify_279
-    $P702 = root_new ['parrot';'Hash']
-  vivify_279:
-    set $P703, $P702["cond"]
-    unless_null $P703, vivify_280
-    new $P703, "Undef"
-  vivify_280:
-    $P704 = $P703."ast"()
-    $P705 = $P701."!make"($P704)
-    .return ($P705)
-  control_698:
+.sub "statement_prefix:sym<try>"  :subid("43_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_670
+.annotate 'line', 265
+    new $P669, 'ExceptionHandler'
+    set_addr $P669, control_668
+    $P669."handle_types"(.CONTROL_RETURN)
+    push_eh $P669
+    .lex "self", self
+    .lex "$/", param_670
+.annotate 'line', 266
+    new $P671, "Undef"
+    .lex "$past", $P671
+    find_lex $P672, "$/"
+    unless_null $P672, vivify_277
+    $P672 = root_new ['parrot';'Hash']
+  vivify_277:
+    set $P673, $P672["blorst"]
+    unless_null $P673, vivify_278
+    new $P673, "Undef"
+  vivify_278:
+    $P674 = $P673."ast"()
+    store_lex "$past", $P674
+.annotate 'line', 267
+    find_lex $P676, "$past"
+    $S677 = $P676."WHAT"()
+    isne $I678, $S677, "PAST::Block()"
+    unless $I678, if_675_end
+.annotate 'line', 268
+    get_hll_global $P679, ["PAST"], "Block"
+    find_lex $P680, "$past"
+    find_lex $P681, "$/"
+    $P682 = $P679."new"($P680, "immediate" :named("blocktype"), $P681 :named("node"))
+    store_lex "$past", $P682
+  if_675_end:
+.annotate 'line', 270
+    find_lex $P684, "$past"
+    $P685 = $P684."handlers"()
+    if $P685, unless_683_end
+.annotate 'line', 271
+    find_lex $P686, "$past"
+    get_hll_global $P687, ["PAST"], "Control"
+.annotate 'line', 273
+    get_hll_global $P688, ["PAST"], "Stmts"
+.annotate 'line', 274
+    get_hll_global $P689, ["PAST"], "Op"
+.annotate 'line', 275
+    get_hll_global $P690, ["PAST"], "Var"
+.annotate 'line', 276
+    get_hll_global $P691, ["PAST"], "Var"
+    $P692 = $P691."new"("register" :named("scope"), "exception" :named("name"))
+    $P693 = $P690."new"($P692, "handled", "keyed" :named("scope"))
+.annotate 'line', 275
+    $P694 = $P689."new"($P693, 1, "bind" :named("pasttype"))
+.annotate 'line', 274
+    $P695 = $P688."new"($P694)
+.annotate 'line', 273
+    $P696 = $P687."new"($P695, "CONTROL" :named("handle_types_except"))
+.annotate 'line', 271
+    new $P697, "ResizablePMCArray"
+    push $P697, $P696
+    $P686."handlers"($P697)
+  unless_683_end:
+.annotate 'line', 285
+    find_lex $P698, "$/"
+    find_lex $P699, "$past"
+    $P700 = $P698."!make"($P699)
+.annotate 'line', 265
+    .return ($P700)
+  control_668:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P706, exception, "payload"
-    .return ($P706)
+    getattribute $P701, exception, "payload"
+    .return ($P701)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_mod_cond:sym<unless>"  :subid("46_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_710
-.annotate 'line', 287
-    new $P709, 'ExceptionHandler'
-    set_addr $P709, control_708
-    $P709."handle_types"(.CONTROL_RETURN)
-    push_eh $P709
+.sub "blorst"  :subid("44_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_705
+.annotate 'line', 288
+    new $P704, 'ExceptionHandler'
+    set_addr $P704, control_703
+    $P704."handle_types"(.CONTROL_RETURN)
+    push_eh $P704
     .lex "self", self
-    .lex "$/", param_710
-    find_lex $P711, "$/"
-    find_lex $P712, "$/"
-    unless_null $P712, vivify_281
-    $P712 = root_new ['parrot';'Hash']
+    .lex "$/", param_705
+.annotate 'line', 289
+    find_lex $P706, "$/"
+.annotate 'line', 290
+    find_lex $P709, "$/"
+    unless_null $P709, vivify_279
+    $P709 = root_new ['parrot';'Hash']
+  vivify_279:
+    set $P710, $P709["block"]
+    unless_null $P710, vivify_280
+    new $P710, "Undef"
+  vivify_280:
+    if $P710, if_708
+.annotate 'line', 291
+    find_lex $P715, "$/"
+    unless_null $P715, vivify_281
+    $P715 = root_new ['parrot';'Hash']
   vivify_281:
-    set $P713, $P712["cond"]
-    unless_null $P713, vivify_282
-    new $P713, "Undef"
+    set $P716, $P715["statement"]
+    unless_null $P716, vivify_282
+    new $P716, "Undef"
   vivify_282:
-    $P714 = $P713."ast"()
-    $P715 = $P711."!make"($P714)
-    .return ($P715)
-  control_708:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P716, exception, "payload"
-    .return ($P716)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "statement_mod_loop:sym<while>"  :subid("47_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_720
-.annotate 'line', 289
-    new $P719, 'ExceptionHandler'
-    set_addr $P719, control_718
-    $P719."handle_types"(.CONTROL_RETURN)
-    push_eh $P719
-    .lex "self", self
-    .lex "$/", param_720
-    find_lex $P721, "$/"
-    find_lex $P722, "$/"
-    unless_null $P722, vivify_283
-    $P722 = root_new ['parrot';'Hash']
+    $P717 = $P716."ast"()
+    set $P707, $P717
+.annotate 'line', 290
+    goto if_708_end
+  if_708:
+    find_lex $P711, "$/"
+    unless_null $P711, vivify_283
+    $P711 = root_new ['parrot';'Hash']
   vivify_283:
-    set $P723, $P722["cond"]
-    unless_null $P723, vivify_284
-    new $P723, "Undef"
+    set $P712, $P711["block"]
+    unless_null $P712, vivify_284
+    new $P712, "Undef"
   vivify_284:
-    $P724 = $P723."ast"()
-    $P725 = $P721."!make"($P724)
-    .return ($P725)
-  control_718:
+    $P713 = $P712."ast"()
+    $P714 = "block_immediate"($P713)
+    set $P707, $P714
+  if_708_end:
+    $P718 = $P706."!make"($P707)
+.annotate 'line', 288
+    .return ($P718)
+  control_703:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P726, exception, "payload"
-    .return ($P726)
+    getattribute $P719, exception, "payload"
+    .return ($P719)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_mod_loop:sym<until>"  :subid("48_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_730
-.annotate 'line', 290
-    new $P729, 'ExceptionHandler'
-    set_addr $P729, control_728
-    $P729."handle_types"(.CONTROL_RETURN)
-    push_eh $P729
-    .lex "self", self
-    .lex "$/", param_730
-    find_lex $P731, "$/"
-    find_lex $P732, "$/"
-    unless_null $P732, vivify_285
-    $P732 = root_new ['parrot';'Hash']
+.sub "statement_mod_cond:sym<if>"  :subid("45_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_723
+.annotate 'line', 296
+    new $P722, 'ExceptionHandler'
+    set_addr $P722, control_721
+    $P722."handle_types"(.CONTROL_RETURN)
+    push_eh $P722
+    .lex "self", self
+    .lex "$/", param_723
+    find_lex $P724, "$/"
+    find_lex $P725, "$/"
+    unless_null $P725, vivify_285
+    $P725 = root_new ['parrot';'Hash']
   vivify_285:
-    set $P733, $P732["cond"]
-    unless_null $P733, vivify_286
-    new $P733, "Undef"
+    set $P726, $P725["cond"]
+    unless_null $P726, vivify_286
+    new $P726, "Undef"
   vivify_286:
-    $P734 = $P733."ast"()
-    $P735 = $P731."!make"($P734)
-    .return ($P735)
-  control_728:
+    $P727 = $P726."ast"()
+    $P728 = $P724."!make"($P727)
+    .return ($P728)
+  control_721:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P736, exception, "payload"
-    .return ($P736)
+    getattribute $P729, exception, "payload"
+    .return ($P729)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<fatarrow>"  :subid("49_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_740
-.annotate 'line', 294
-    new $P739, 'ExceptionHandler'
-    set_addr $P739, control_738
-    $P739."handle_types"(.CONTROL_RETURN)
-    push_eh $P739
-    .lex "self", self
-    .lex "$/", param_740
-    find_lex $P741, "$/"
-    find_lex $P742, "$/"
-    unless_null $P742, vivify_287
-    $P742 = root_new ['parrot';'Hash']
+.sub "statement_mod_cond:sym<unless>"  :subid("46_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_733
+.annotate 'line', 297
+    new $P732, 'ExceptionHandler'
+    set_addr $P732, control_731
+    $P732."handle_types"(.CONTROL_RETURN)
+    push_eh $P732
+    .lex "self", self
+    .lex "$/", param_733
+    find_lex $P734, "$/"
+    find_lex $P735, "$/"
+    unless_null $P735, vivify_287
+    $P735 = root_new ['parrot';'Hash']
   vivify_287:
-    set $P743, $P742["fatarrow"]
-    unless_null $P743, vivify_288
-    new $P743, "Undef"
+    set $P736, $P735["cond"]
+    unless_null $P736, vivify_288
+    new $P736, "Undef"
   vivify_288:
-    $P744 = $P743."ast"()
-    $P745 = $P741."!make"($P744)
-    .return ($P745)
-  control_738:
+    $P737 = $P736."ast"()
+    $P738 = $P734."!make"($P737)
+    .return ($P738)
+  control_731:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P746, exception, "payload"
-    .return ($P746)
+    getattribute $P739, exception, "payload"
+    .return ($P739)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<colonpair>"  :subid("50_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_750
-.annotate 'line', 295
-    new $P749, 'ExceptionHandler'
-    set_addr $P749, control_748
-    $P749."handle_types"(.CONTROL_RETURN)
-    push_eh $P749
-    .lex "self", self
-    .lex "$/", param_750
-    find_lex $P751, "$/"
-    find_lex $P752, "$/"
-    unless_null $P752, vivify_289
-    $P752 = root_new ['parrot';'Hash']
+.sub "statement_mod_loop:sym<while>"  :subid("47_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_743
+.annotate 'line', 299
+    new $P742, 'ExceptionHandler'
+    set_addr $P742, control_741
+    $P742."handle_types"(.CONTROL_RETURN)
+    push_eh $P742
+    .lex "self", self
+    .lex "$/", param_743
+    find_lex $P744, "$/"
+    find_lex $P745, "$/"
+    unless_null $P745, vivify_289
+    $P745 = root_new ['parrot';'Hash']
   vivify_289:
-    set $P753, $P752["colonpair"]
-    unless_null $P753, vivify_290
-    new $P753, "Undef"
+    set $P746, $P745["cond"]
+    unless_null $P746, vivify_290
+    new $P746, "Undef"
   vivify_290:
-    $P754 = $P753."ast"()
-    $P755 = $P751."!make"($P754)
-    .return ($P755)
-  control_748:
+    $P747 = $P746."ast"()
+    $P748 = $P744."!make"($P747)
+    .return ($P748)
+  control_741:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P756, exception, "payload"
-    .return ($P756)
+    getattribute $P749, exception, "payload"
+    .return ($P749)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<variable>"  :subid("51_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_760
-.annotate 'line', 296
-    new $P759, 'ExceptionHandler'
-    set_addr $P759, control_758
-    $P759."handle_types"(.CONTROL_RETURN)
-    push_eh $P759
-    .lex "self", self
-    .lex "$/", param_760
-    find_lex $P761, "$/"
-    find_lex $P762, "$/"
-    unless_null $P762, vivify_291
-    $P762 = root_new ['parrot';'Hash']
+.sub "statement_mod_loop:sym<until>"  :subid("48_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_753
+.annotate 'line', 300
+    new $P752, 'ExceptionHandler'
+    set_addr $P752, control_751
+    $P752."handle_types"(.CONTROL_RETURN)
+    push_eh $P752
+    .lex "self", self
+    .lex "$/", param_753
+    find_lex $P754, "$/"
+    find_lex $P755, "$/"
+    unless_null $P755, vivify_291
+    $P755 = root_new ['parrot';'Hash']
   vivify_291:
-    set $P763, $P762["variable"]
-    unless_null $P763, vivify_292
-    new $P763, "Undef"
+    set $P756, $P755["cond"]
+    unless_null $P756, vivify_292
+    new $P756, "Undef"
   vivify_292:
-    $P764 = $P763."ast"()
-    $P765 = $P761."!make"($P764)
-    .return ($P765)
-  control_758:
+    $P757 = $P756."ast"()
+    $P758 = $P754."!make"($P757)
+    .return ($P758)
+  control_751:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P766, exception, "payload"
-    .return ($P766)
+    getattribute $P759, exception, "payload"
+    .return ($P759)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<package_declarator>"  :subid("52_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_770
-.annotate 'line', 297
-    new $P769, 'ExceptionHandler'
-    set_addr $P769, control_768
-    $P769."handle_types"(.CONTROL_RETURN)
-    push_eh $P769
-    .lex "self", self
-    .lex "$/", param_770
-    find_lex $P771, "$/"
-    find_lex $P772, "$/"
-    unless_null $P772, vivify_293
-    $P772 = root_new ['parrot';'Hash']
+.sub "term:sym<fatarrow>"  :subid("49_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_763
+.annotate 'line', 304
+    new $P762, 'ExceptionHandler'
+    set_addr $P762, control_761
+    $P762."handle_types"(.CONTROL_RETURN)
+    push_eh $P762
+    .lex "self", self
+    .lex "$/", param_763
+    find_lex $P764, "$/"
+    find_lex $P765, "$/"
+    unless_null $P765, vivify_293
+    $P765 = root_new ['parrot';'Hash']
   vivify_293:
-    set $P773, $P772["package_declarator"]
-    unless_null $P773, vivify_294
-    new $P773, "Undef"
+    set $P766, $P765["fatarrow"]
+    unless_null $P766, vivify_294
+    new $P766, "Undef"
   vivify_294:
-    $P774 = $P773."ast"()
-    $P775 = $P771."!make"($P774)
-    .return ($P775)
-  control_768:
+    $P767 = $P766."ast"()
+    $P768 = $P764."!make"($P767)
+    .return ($P768)
+  control_761:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P776, exception, "payload"
-    .return ($P776)
+    getattribute $P769, exception, "payload"
+    .return ($P769)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<scope_declarator>"  :subid("53_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_780
-.annotate 'line', 298
-    new $P779, 'ExceptionHandler'
-    set_addr $P779, control_778
-    $P779."handle_types"(.CONTROL_RETURN)
-    push_eh $P779
-    .lex "self", self
-    .lex "$/", param_780
-    find_lex $P781, "$/"
-    find_lex $P782, "$/"
-    unless_null $P782, vivify_295
-    $P782 = root_new ['parrot';'Hash']
+.sub "term:sym<colonpair>"  :subid("50_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_773
+.annotate 'line', 305
+    new $P772, 'ExceptionHandler'
+    set_addr $P772, control_771
+    $P772."handle_types"(.CONTROL_RETURN)
+    push_eh $P772
+    .lex "self", self
+    .lex "$/", param_773
+    find_lex $P774, "$/"
+    find_lex $P775, "$/"
+    unless_null $P775, vivify_295
+    $P775 = root_new ['parrot';'Hash']
   vivify_295:
-    set $P783, $P782["scope_declarator"]
-    unless_null $P783, vivify_296
-    new $P783, "Undef"
+    set $P776, $P775["colonpair"]
+    unless_null $P776, vivify_296
+    new $P776, "Undef"
   vivify_296:
-    $P784 = $P783."ast"()
-    $P785 = $P781."!make"($P784)
-    .return ($P785)
-  control_778:
+    $P777 = $P776."ast"()
+    $P778 = $P774."!make"($P777)
+    .return ($P778)
+  control_771:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P786, exception, "payload"
-    .return ($P786)
+    getattribute $P779, exception, "payload"
+    .return ($P779)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<routine_declarator>"  :subid("54_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_790
-.annotate 'line', 299
-    new $P789, 'ExceptionHandler'
-    set_addr $P789, control_788
-    $P789."handle_types"(.CONTROL_RETURN)
-    push_eh $P789
-    .lex "self", self
-    .lex "$/", param_790
-    find_lex $P791, "$/"
-    find_lex $P792, "$/"
-    unless_null $P792, vivify_297
-    $P792 = root_new ['parrot';'Hash']
+.sub "term:sym<variable>"  :subid("51_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_783
+.annotate 'line', 306
+    new $P782, 'ExceptionHandler'
+    set_addr $P782, control_781
+    $P782."handle_types"(.CONTROL_RETURN)
+    push_eh $P782
+    .lex "self", self
+    .lex "$/", param_783
+    find_lex $P784, "$/"
+    find_lex $P785, "$/"
+    unless_null $P785, vivify_297
+    $P785 = root_new ['parrot';'Hash']
   vivify_297:
-    set $P793, $P792["routine_declarator"]
-    unless_null $P793, vivify_298
-    new $P793, "Undef"
+    set $P786, $P785["variable"]
+    unless_null $P786, vivify_298
+    new $P786, "Undef"
   vivify_298:
-    $P794 = $P793."ast"()
-    $P795 = $P791."!make"($P794)
-    .return ($P795)
-  control_788:
+    $P787 = $P786."ast"()
+    $P788 = $P784."!make"($P787)
+    .return ($P788)
+  control_781:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P796, exception, "payload"
-    .return ($P796)
+    getattribute $P789, exception, "payload"
+    .return ($P789)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<regex_declarator>"  :subid("55_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_800
-.annotate 'line', 300
-    new $P799, 'ExceptionHandler'
-    set_addr $P799, control_798
-    $P799."handle_types"(.CONTROL_RETURN)
-    push_eh $P799
-    .lex "self", self
-    .lex "$/", param_800
-    find_lex $P801, "$/"
-    find_lex $P802, "$/"
-    unless_null $P802, vivify_299
-    $P802 = root_new ['parrot';'Hash']
+.sub "term:sym<package_declarator>"  :subid("52_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_793
+.annotate 'line', 307
+    new $P792, 'ExceptionHandler'
+    set_addr $P792, control_791
+    $P792."handle_types"(.CONTROL_RETURN)
+    push_eh $P792
+    .lex "self", self
+    .lex "$/", param_793
+    find_lex $P794, "$/"
+    find_lex $P795, "$/"
+    unless_null $P795, vivify_299
+    $P795 = root_new ['parrot';'Hash']
   vivify_299:
-    set $P803, $P802["regex_declarator"]
-    unless_null $P803, vivify_300
-    new $P803, "Undef"
+    set $P796, $P795["package_declarator"]
+    unless_null $P796, vivify_300
+    new $P796, "Undef"
   vivify_300:
-    $P804 = $P803."ast"()
-    $P805 = $P801."!make"($P804)
-    .return ($P805)
-  control_798:
+    $P797 = $P796."ast"()
+    $P798 = $P794."!make"($P797)
+    .return ($P798)
+  control_791:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P806, exception, "payload"
-    .return ($P806)
+    getattribute $P799, exception, "payload"
+    .return ($P799)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<statement_prefix>"  :subid("56_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_810
-.annotate 'line', 301
-    new $P809, 'ExceptionHandler'
-    set_addr $P809, control_808
-    $P809."handle_types"(.CONTROL_RETURN)
-    push_eh $P809
-    .lex "self", self
-    .lex "$/", param_810
-    find_lex $P811, "$/"
-    find_lex $P812, "$/"
-    unless_null $P812, vivify_301
-    $P812 = root_new ['parrot';'Hash']
+.sub "term:sym<scope_declarator>"  :subid("53_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_803
+.annotate 'line', 308
+    new $P802, 'ExceptionHandler'
+    set_addr $P802, control_801
+    $P802."handle_types"(.CONTROL_RETURN)
+    push_eh $P802
+    .lex "self", self
+    .lex "$/", param_803
+    find_lex $P804, "$/"
+    find_lex $P805, "$/"
+    unless_null $P805, vivify_301
+    $P805 = root_new ['parrot';'Hash']
   vivify_301:
-    set $P813, $P812["statement_prefix"]
-    unless_null $P813, vivify_302
-    new $P813, "Undef"
+    set $P806, $P805["scope_declarator"]
+    unless_null $P806, vivify_302
+    new $P806, "Undef"
   vivify_302:
-    $P814 = $P813."ast"()
-    $P815 = $P811."!make"($P814)
-    .return ($P815)
-  control_808:
+    $P807 = $P806."ast"()
+    $P808 = $P804."!make"($P807)
+    .return ($P808)
+  control_801:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P816, exception, "payload"
-    .return ($P816)
+    getattribute $P809, exception, "payload"
+    .return ($P809)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<lambda>"  :subid("57_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_820
-.annotate 'line', 302
-    new $P819, 'ExceptionHandler'
-    set_addr $P819, control_818
-    $P819."handle_types"(.CONTROL_RETURN)
-    push_eh $P819
-    .lex "self", self
-    .lex "$/", param_820
-    find_lex $P821, "$/"
-    find_lex $P822, "$/"
-    unless_null $P822, vivify_303
-    $P822 = root_new ['parrot';'Hash']
+.sub "term:sym<routine_declarator>"  :subid("54_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_813
+.annotate 'line', 309
+    new $P812, 'ExceptionHandler'
+    set_addr $P812, control_811
+    $P812."handle_types"(.CONTROL_RETURN)
+    push_eh $P812
+    .lex "self", self
+    .lex "$/", param_813
+    find_lex $P814, "$/"
+    find_lex $P815, "$/"
+    unless_null $P815, vivify_303
+    $P815 = root_new ['parrot';'Hash']
   vivify_303:
-    set $P823, $P822["pblock"]
-    unless_null $P823, vivify_304
-    new $P823, "Undef"
+    set $P816, $P815["routine_declarator"]
+    unless_null $P816, vivify_304
+    new $P816, "Undef"
   vivify_304:
-    $P824 = $P823."ast"()
-    $P825 = $P821."!make"($P824)
-    .return ($P825)
-  control_818:
+    $P817 = $P816."ast"()
+    $P818 = $P814."!make"($P817)
+    .return ($P818)
+  control_811:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P826, exception, "payload"
-    .return ($P826)
+    getattribute $P819, exception, "payload"
+    .return ($P819)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "fatarrow"  :subid("58_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_830
-.annotate 'line', 304
-    new $P829, 'ExceptionHandler'
-    set_addr $P829, control_828
-    $P829."handle_types"(.CONTROL_RETURN)
-    push_eh $P829
-    .lex "self", self
-    .lex "$/", param_830
-.annotate 'line', 305
-    new $P831, "Undef"
-    .lex "$past", $P831
-    find_lex $P832, "$/"
-    unless_null $P832, vivify_305
-    $P832 = root_new ['parrot';'Hash']
+.sub "term:sym<regex_declarator>"  :subid("55_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_823
+.annotate 'line', 310
+    new $P822, 'ExceptionHandler'
+    set_addr $P822, control_821
+    $P822."handle_types"(.CONTROL_RETURN)
+    push_eh $P822
+    .lex "self", self
+    .lex "$/", param_823
+    find_lex $P824, "$/"
+    find_lex $P825, "$/"
+    unless_null $P825, vivify_305
+    $P825 = root_new ['parrot';'Hash']
   vivify_305:
-    set $P833, $P832["val"]
-    unless_null $P833, vivify_306
-    new $P833, "Undef"
+    set $P826, $P825["regex_declarator"]
+    unless_null $P826, vivify_306
+    new $P826, "Undef"
   vivify_306:
-    $P834 = $P833."ast"()
-    store_lex "$past", $P834
-.annotate 'line', 306
-    find_lex $P835, "$past"
-    find_lex $P836, "$/"
-    unless_null $P836, vivify_307
-    $P836 = root_new ['parrot';'Hash']
+    $P827 = $P826."ast"()
+    $P828 = $P824."!make"($P827)
+    .return ($P828)
+  control_821:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P829, exception, "payload"
+    .return ($P829)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.include "except_types.pasm"
+.sub "term:sym<statement_prefix>"  :subid("56_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_833
+.annotate 'line', 311
+    new $P832, 'ExceptionHandler'
+    set_addr $P832, control_831
+    $P832."handle_types"(.CONTROL_RETURN)
+    push_eh $P832
+    .lex "self", self
+    .lex "$/", param_833
+    find_lex $P834, "$/"
+    find_lex $P835, "$/"
+    unless_null $P835, vivify_307
+    $P835 = root_new ['parrot';'Hash']
   vivify_307:
-    set $P837, $P836["key"]
-    unless_null $P837, vivify_308
-    new $P837, "Undef"
+    set $P836, $P835["statement_prefix"]
+    unless_null $P836, vivify_308
+    new $P836, "Undef"
   vivify_308:
-    $P838 = $P837."Str"()
-    $P835."named"($P838)
-.annotate 'line', 307
-    find_lex $P839, "$/"
-    find_lex $P840, "$past"
-    $P841 = $P839."!make"($P840)
-.annotate 'line', 304
-    .return ($P841)
-  control_828:
+    $P837 = $P836."ast"()
+    $P838 = $P834."!make"($P837)
+    .return ($P838)
+  control_831:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P842, exception, "payload"
-    .return ($P842)
+    getattribute $P839, exception, "payload"
+    .return ($P839)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "colonpair"  :subid("59_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_846
-.annotate 'line', 310
-    new $P845, 'ExceptionHandler'
-    set_addr $P845, control_844
-    $P845."handle_types"(.CONTROL_RETURN)
-    push_eh $P845
-    .lex "self", self
-    .lex "$/", param_846
-.annotate 'line', 311
-    new $P847, "Undef"
-    .lex "$past", $P847
+.sub "term:sym<lambda>"  :subid("57_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_843
 .annotate 'line', 312
-    find_lex $P850, "$/"
-    unless_null $P850, vivify_309
-    $P850 = root_new ['parrot';'Hash']
+    new $P842, 'ExceptionHandler'
+    set_addr $P842, control_841
+    $P842."handle_types"(.CONTROL_RETURN)
+    push_eh $P842
+    .lex "self", self
+    .lex "$/", param_843
+    find_lex $P844, "$/"
+    find_lex $P845, "$/"
+    unless_null $P845, vivify_309
+    $P845 = root_new ['parrot';'Hash']
   vivify_309:
-    set $P851, $P850["circumfix"]
-    unless_null $P851, vivify_310
-    new $P851, "Undef"
+    set $P846, $P845["pblock"]
+    unless_null $P846, vivify_310
+    new $P846, "Undef"
   vivify_310:
-    if $P851, if_849
-.annotate 'line', 313
-    get_hll_global $P856, ["PAST"], "Val"
-    find_lex $P857, "$/"
-    unless_null $P857, vivify_311
-    $P857 = root_new ['parrot';'Hash']
+    $P847 = $P846."ast"()
+    $P848 = $P844."!make"($P847)
+    .return ($P848)
+  control_841:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P849, exception, "payload"
+    .return ($P849)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.include "except_types.pasm"
+.sub "fatarrow"  :subid("58_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_853
+.annotate 'line', 314
+    new $P852, 'ExceptionHandler'
+    set_addr $P852, control_851
+    $P852."handle_types"(.CONTROL_RETURN)
+    push_eh $P852
+    .lex "self", self
+    .lex "$/", param_853
+.annotate 'line', 315
+    new $P854, "Undef"
+    .lex "$past", $P854
+    find_lex $P855, "$/"
+    unless_null $P855, vivify_311
+    $P855 = root_new ['parrot';'Hash']
   vivify_311:
-    set $P858, $P857["not"]
-    unless_null $P858, vivify_312
-    new $P858, "Undef"
+    set $P856, $P855["val"]
+    unless_null $P856, vivify_312
+    new $P856, "Undef"
   vivify_312:
-    isfalse $I859, $P858
-    $P860 = $P856."new"($I859 :named("value"))
-    set $P848, $P860
-.annotate 'line', 312
-    goto if_849_end
-  if_849:
-    find_lex $P852, "$/"
-    unless_null $P852, vivify_313
-    $P852 = root_new ['parrot';'Hash']
+    $P857 = $P856."ast"()
+    store_lex "$past", $P857
+.annotate 'line', 316
+    find_lex $P858, "$past"
+    find_lex $P859, "$/"
+    unless_null $P859, vivify_313
+    $P859 = root_new ['parrot';'Hash']
   vivify_313:
-    set $P853, $P852["circumfix"]
-    unless_null $P853, vivify_314
-    $P853 = root_new ['parrot';'ResizablePMCArray']
+    set $P860, $P859["key"]
+    unless_null $P860, vivify_314
+    new $P860, "Undef"
   vivify_314:
-    set $P854, $P853[0]
-    unless_null $P854, vivify_315
-    new $P854, "Undef"
-  vivify_315:
-    $P855 = $P854."ast"()
-    set $P848, $P855
-  if_849_end:
-    store_lex "$past", $P848
-.annotate 'line', 314
-    find_lex $P861, "$past"
+    $P861 = $P860."Str"()
+    $P858."named"($P861)
+.annotate 'line', 317
     find_lex $P862, "$/"
-    unless_null $P862, vivify_316
-    $P862 = root_new ['parrot';'Hash']
-  vivify_316:
-    set $P863, $P862["identifier"]
-    unless_null $P863, vivify_317
-    new $P863, "Undef"
-  vivify_317:
-    set $S864, $P863
-    $P861."named"($S864)
-.annotate 'line', 315
-    find_lex $P865, "$/"
-    find_lex $P866, "$past"
-    $P867 = $P865."!make"($P866)
-.annotate 'line', 310
-    .return ($P867)
-  control_844:
+    find_lex $P863, "$past"
+    $P864 = $P862."!make"($P863)
+.annotate 'line', 314
+    .return ($P864)
+  control_851:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P868, exception, "payload"
-    .return ($P868)
+    getattribute $P865, exception, "payload"
+    .return ($P865)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "variable"  :subid("60_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_872
-.annotate 'line', 318
-    .const 'Sub' $P885 = "61_1277356919.52295" 
-    capture_lex $P885
-    new $P871, 'ExceptionHandler'
-    set_addr $P871, control_870
-    $P871."handle_types"(.CONTROL_RETURN)
-    push_eh $P871
-    .lex "self", self
-    .lex "$/", param_872
-.annotate 'line', 319
-    new $P873, "Undef"
-    .lex "$past", $P873
-.annotate 'line', 318
-    find_lex $P874, "$past"
+.sub "colonpair"  :subid("59_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_869
 .annotate 'line', 320
-    find_lex $P876, "$/"
-    unless_null $P876, vivify_318
-    $P876 = root_new ['parrot';'Hash']
+    new $P868, 'ExceptionHandler'
+    set_addr $P868, control_867
+    $P868."handle_types"(.CONTROL_RETURN)
+    push_eh $P868
+    .lex "self", self
+    .lex "$/", param_869
+.annotate 'line', 321
+    new $P870, "Undef"
+    .lex "$past", $P870
+.annotate 'line', 322
+    find_lex $P873, "$/"
+    unless_null $P873, vivify_315
+    $P873 = root_new ['parrot';'Hash']
+  vivify_315:
+    set $P874, $P873["circumfix"]
+    unless_null $P874, vivify_316
+    new $P874, "Undef"
+  vivify_316:
+    if $P874, if_872
+.annotate 'line', 323
+    get_hll_global $P879, ["PAST"], "Val"
+    find_lex $P880, "$/"
+    unless_null $P880, vivify_317
+    $P880 = root_new ['parrot';'Hash']
+  vivify_317:
+    set $P881, $P880["not"]
+    unless_null $P881, vivify_318
+    new $P881, "Undef"
   vivify_318:
-    set $P877, $P876["postcircumfix"]
-    unless_null $P877, vivify_319
-    new $P877, "Undef"
+    isfalse $I882, $P881
+    $P883 = $P879."new"($I882 :named("value"))
+    set $P871, $P883
+.annotate 'line', 322
+    goto if_872_end
+  if_872:
+    find_lex $P875, "$/"
+    unless_null $P875, vivify_319
+    $P875 = root_new ['parrot';'Hash']
   vivify_319:
-    if $P877, if_875
+    set $P876, $P875["circumfix"]
+    unless_null $P876, vivify_320
+    $P876 = root_new ['parrot';'ResizablePMCArray']
+  vivify_320:
+    set $P877, $P876[0]
+    unless_null $P877, vivify_321
+    new $P877, "Undef"
+  vivify_321:
+    $P878 = $P877."ast"()
+    set $P871, $P878
+  if_872_end:
+    store_lex "$past", $P871
 .annotate 'line', 324
-    .const 'Sub' $P885 = "61_1277356919.52295" 
-    capture_lex $P885
-    $P885()
-    goto if_875_end
-  if_875:
-.annotate 'line', 321
-    find_lex $P878, "$/"
-    unless_null $P878, vivify_336
-    $P878 = root_new ['parrot';'Hash']
-  vivify_336:
-    set $P879, $P878["postcircumfix"]
-    unless_null $P879, vivify_337
-    new $P879, "Undef"
-  vivify_337:
-    $P880 = $P879."ast"()
-    store_lex "$past", $P880
-.annotate 'line', 322
-    find_lex $P881, "$past"
-    get_hll_global $P882, ["PAST"], "Var"
-    $P883 = $P882."new"("$/" :named("name"))
-    $P881."unshift"($P883)
-  if_875_end:
-.annotate 'line', 353
-    find_lex $P954, "$/"
-    find_lex $P955, "$past"
-    $P956 = $P954."!make"($P955)
-.annotate 'line', 318
-    .return ($P956)
-  control_870:
+    find_lex $P884, "$past"
+    find_lex $P885, "$/"
+    unless_null $P885, vivify_322
+    $P885 = root_new ['parrot';'Hash']
+  vivify_322:
+    set $P886, $P885["identifier"]
+    unless_null $P886, vivify_323
+    new $P886, "Undef"
+  vivify_323:
+    set $S887, $P886
+    $P884."named"($S887)
+.annotate 'line', 325
+    find_lex $P888, "$/"
+    find_lex $P889, "$past"
+    $P890 = $P888."!make"($P889)
+.annotate 'line', 320
+    .return ($P890)
+  control_867:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P957, exception, "payload"
-    .return ($P957)
+    getattribute $P891, exception, "payload"
+    .return ($P891)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block884"  :anon :subid("61_1277356919.52295") :outer("60_1277356919.52295")
-.annotate 'line', 325
-    $P886 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@name", $P886
-    get_hll_global $P887, ["NQP"], "Compiler"
-    find_lex $P888, "$/"
-    set $S889, $P888
-    $P890 = $P887."parse_name"($S889)
-    store_lex "@name", $P890
-.annotate 'line', 326
-    get_hll_global $P891, ["PAST"], "Var"
-    find_lex $P892, "@name"
-    $P893 = $P892."pop"()
-    set $S894, $P893
-    $P895 = $P891."new"($S894 :named("name"))
-    store_lex "$past", $P895
-.annotate 'line', 327
-    find_lex $P897, "@name"
-    unless $P897, if_896_end
+.include "except_types.pasm"
+.sub "variable"  :subid("60_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_895
 .annotate 'line', 328
-    find_lex $P899, "@name"
-    unless_null $P899, vivify_320
-    $P899 = root_new ['parrot';'ResizablePMCArray']
-  vivify_320:
-    set $P900, $P899[0]
-    unless_null $P900, vivify_321
-    new $P900, "Undef"
-  vivify_321:
-    set $S901, $P900
-    iseq $I902, $S901, "GLOBAL"
-    unless $I902, if_898_end
-    find_lex $P903, "@name"
-    $P903."shift"()
-  if_898_end:
+    .const 'Sub' $P908 = "61_1278500542.82783" 
+    capture_lex $P908
+    new $P894, 'ExceptionHandler'
+    set_addr $P894, control_893
+    $P894."handle_types"(.CONTROL_RETURN)
+    push_eh $P894
+    .lex "self", self
+    .lex "$/", param_895
 .annotate 'line', 329
-    find_lex $P904, "$past"
-    find_lex $P905, "@name"
-    $P904."namespace"($P905)
+    new $P896, "Undef"
+    .lex "$past", $P896
+.annotate 'line', 328
+    find_lex $P897, "$past"
 .annotate 'line', 330
-    find_lex $P906, "$past"
-    $P906."scope"("package")
-.annotate 'line', 331
-    find_lex $P907, "$past"
-    find_lex $P908, "$/"
-    unless_null $P908, vivify_322
-    $P908 = root_new ['parrot';'Hash']
-  vivify_322:
-    set $P909, $P908["sigil"]
-    unless_null $P909, vivify_323
-    new $P909, "Undef"
-  vivify_323:
-    $P910 = "vivitype"($P909)
-    $P907."viviself"($P910)
-.annotate 'line', 332
-    find_lex $P911, "$past"
-    $P911."lvalue"(1)
-  if_896_end:
-.annotate 'line', 334
-    find_lex $P914, "$/"
-    unless_null $P914, vivify_324
-    $P914 = root_new ['parrot';'Hash']
+    find_lex $P899, "$/"
+    unless_null $P899, vivify_324
+    $P899 = root_new ['parrot';'Hash']
   vivify_324:
-    set $P915, $P914["twigil"]
-    unless_null $P915, vivify_325
-    $P915 = root_new ['parrot';'ResizablePMCArray']
+    set $P900, $P899["postcircumfix"]
+    unless_null $P900, vivify_325
+    new $P900, "Undef"
   vivify_325:
-    set $P916, $P915[0]
-    unless_null $P916, vivify_326
-    new $P916, "Undef"
-  vivify_326:
-    set $S917, $P916
-    iseq $I918, $S917, "*"
-    if $I918, if_913
-.annotate 'line', 347
-    find_lex $P940, "$/"
-    unless_null $P940, vivify_327
-    $P940 = root_new ['parrot';'Hash']
-  vivify_327:
-    set $P941, $P940["twigil"]
-    unless_null $P941, vivify_328
-    $P941 = root_new ['parrot';'ResizablePMCArray']
-  vivify_328:
-    set $P942, $P941[0]
-    unless_null $P942, vivify_329
-    new $P942, "Undef"
-  vivify_329:
-    set $S943, $P942
-    iseq $I944, $S943, "!"
-    if $I944, if_939
-    new $P938, 'Integer'
-    set $P938, $I944
-    goto if_939_end
-  if_939:
-.annotate 'line', 348
-    find_lex $P945, "$past"
-    get_hll_global $P946, ["PAST"], "Var"
-    $P947 = $P946."new"("self" :named("name"))
-    $P945."push"($P947)
-.annotate 'line', 349
-    find_lex $P948, "$past"
-    $P948."scope"("attribute")
-.annotate 'line', 350
-    find_lex $P949, "$past"
-    find_lex $P950, "$/"
-    unless_null $P950, vivify_330
-    $P950 = root_new ['parrot';'Hash']
-  vivify_330:
-    set $P951, $P950["sigil"]
-    unless_null $P951, vivify_331
-    new $P951, "Undef"
-  vivify_331:
-    $P952 = "vivitype"($P951)
-    $P953 = $P949."viviself"($P952)
-.annotate 'line', 347
-    set $P938, $P953
-  if_939_end:
-    set $P912, $P938
+    if $P900, if_898
 .annotate 'line', 334
-    goto if_913_end
-  if_913:
+    .const 'Sub' $P908 = "61_1278500542.82783" 
+    capture_lex $P908
+    $P908()
+    goto if_898_end
+  if_898:
+.annotate 'line', 331
+    find_lex $P901, "$/"
+    unless_null $P901, vivify_342
+    $P901 = root_new ['parrot';'Hash']
+  vivify_342:
+    set $P902, $P901["postcircumfix"]
+    unless_null $P902, vivify_343
+    new $P902, "Undef"
+  vivify_343:
+    $P903 = $P902."ast"()
+    store_lex "$past", $P903
+.annotate 'line', 332
+    find_lex $P904, "$past"
+    get_hll_global $P905, ["PAST"], "Var"
+    $P906 = $P905."new"("$/" :named("name"))
+    $P904."unshift"($P906)
+  if_898_end:
+.annotate 'line', 363
+    find_lex $P977, "$/"
+    find_lex $P978, "$past"
+    $P979 = $P977."!make"($P978)
+.annotate 'line', 328
+    .return ($P979)
+  control_893:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P980, exception, "payload"
+    .return ($P980)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block907"  :anon :subid("61_1278500542.82783") :outer("60_1278500542.82783")
 .annotate 'line', 335
-    find_lex $P919, "$past"
-    $P919."scope"("contextual")
+    $P909 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@name", $P909
+    get_hll_global $P910, ["NQP"], "Compiler"
+    find_lex $P911, "$/"
+    set $S912, $P911
+    $P913 = $P910."parse_name"($S912)
+    store_lex "@name", $P913
 .annotate 'line', 336
-    find_lex $P920, "$past"
+    get_hll_global $P914, ["PAST"], "Var"
+    find_lex $P915, "@name"
+    $P916 = $P915."pop"()
+    set $S917, $P916
+    $P918 = $P914."new"($S917 :named("name"))
+    store_lex "$past", $P918
 .annotate 'line', 337
-    get_hll_global $P921, ["PAST"], "Var"
-.annotate 'line', 339
-    find_lex $P922, "$/"
-    unless_null $P922, vivify_332
-    $P922 = root_new ['parrot';'Hash']
-  vivify_332:
-    set $P923, $P922["sigil"]
-    unless_null $P923, vivify_333
+    find_lex $P920, "@name"
+    unless $P920, if_919_end
+.annotate 'line', 338
+    find_lex $P922, "@name"
+    unless_null $P922, vivify_326
+    $P922 = root_new ['parrot';'ResizablePMCArray']
+  vivify_326:
+    set $P923, $P922[0]
+    unless_null $P923, vivify_327
     new $P923, "Undef"
-  vivify_333:
+  vivify_327:
     set $S924, $P923
-    new $P925, 'String'
-    set $P925, $S924
-    find_lex $P926, "$/"
-    unless_null $P926, vivify_334
-    $P926 = root_new ['parrot';'Hash']
-  vivify_334:
-    set $P927, $P926["desigilname"]
-    unless_null $P927, vivify_335
-    new $P927, "Undef"
-  vivify_335:
-    concat $P928, $P925, $P927
+    iseq $I925, $S924, "GLOBAL"
+    unless $I925, if_921_end
+    find_lex $P926, "@name"
+    $P926."shift"()
+  if_921_end:
+.annotate 'line', 339
+    find_lex $P927, "$past"
+    find_lex $P928, "@name"
+    $P927."namespace"($P928)
+.annotate 'line', 340
+    find_lex $P929, "$past"
+    $P929."scope"("package")
 .annotate 'line', 341
-    get_hll_global $P929, ["PAST"], "Op"
-    new $P930, "String"
-    assign $P930, "Contextual "
+    find_lex $P930, "$past"
     find_lex $P931, "$/"
-    set $S932, $P931
-    concat $P933, $P930, $S932
-    concat $P934, $P933, " not found"
-    $P935 = $P929."new"($P934, "die" :named("pirop"))
-    $P936 = $P921."new"("package" :named("scope"), "" :named("namespace"), $P928 :named("name"), $P935 :named("viviself"))
-.annotate 'line', 337
-    $P937 = $P920."viviself"($P936)
-.annotate 'line', 334
-    set $P912, $P937
-  if_913_end:
-.annotate 'line', 324
-    .return ($P912)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "package_declarator:sym<module>"  :subid("62_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_961
-.annotate 'line', 356
-    new $P960, 'ExceptionHandler'
-    set_addr $P960, control_959
-    $P960."handle_types"(.CONTROL_RETURN)
-    push_eh $P960
-    .lex "self", self
-    .lex "$/", param_961
-    find_lex $P962, "$/"
+    unless_null $P931, vivify_328
+    $P931 = root_new ['parrot';'Hash']
+  vivify_328:
+    set $P932, $P931["sigil"]
+    unless_null $P932, vivify_329
+    new $P932, "Undef"
+  vivify_329:
+    $P933 = "vivitype"($P932)
+    $P930."viviself"($P933)
+.annotate 'line', 342
+    find_lex $P934, "$past"
+    $P934."lvalue"(1)
+  if_919_end:
+.annotate 'line', 344
+    find_lex $P937, "$/"
+    unless_null $P937, vivify_330
+    $P937 = root_new ['parrot';'Hash']
+  vivify_330:
+    set $P938, $P937["twigil"]
+    unless_null $P938, vivify_331
+    $P938 = root_new ['parrot';'ResizablePMCArray']
+  vivify_331:
+    set $P939, $P938[0]
+    unless_null $P939, vivify_332
+    new $P939, "Undef"
+  vivify_332:
+    set $S940, $P939
+    iseq $I941, $S940, "*"
+    if $I941, if_936
+.annotate 'line', 357
     find_lex $P963, "$/"
-    unless_null $P963, vivify_338
+    unless_null $P963, vivify_333
     $P963 = root_new ['parrot';'Hash']
+  vivify_333:
+    set $P964, $P963["twigil"]
+    unless_null $P964, vivify_334
+    $P964 = root_new ['parrot';'ResizablePMCArray']
+  vivify_334:
+    set $P965, $P964[0]
+    unless_null $P965, vivify_335
+    new $P965, "Undef"
+  vivify_335:
+    set $S966, $P965
+    iseq $I967, $S966, "!"
+    if $I967, if_962
+    new $P961, 'Integer'
+    set $P961, $I967
+    goto if_962_end
+  if_962:
+.annotate 'line', 358
+    find_lex $P968, "$past"
+    get_hll_global $P969, ["PAST"], "Var"
+    $P970 = $P969."new"("self" :named("name"))
+    $P968."push"($P970)
+.annotate 'line', 359
+    find_lex $P971, "$past"
+    $P971."scope"("attribute")
+.annotate 'line', 360
+    find_lex $P972, "$past"
+    find_lex $P973, "$/"
+    unless_null $P973, vivify_336
+    $P973 = root_new ['parrot';'Hash']
+  vivify_336:
+    set $P974, $P973["sigil"]
+    unless_null $P974, vivify_337
+    new $P974, "Undef"
+  vivify_337:
+    $P975 = "vivitype"($P974)
+    $P976 = $P972."viviself"($P975)
+.annotate 'line', 357
+    set $P961, $P976
+  if_962_end:
+    set $P935, $P961
+.annotate 'line', 344
+    goto if_936_end
+  if_936:
+.annotate 'line', 345
+    find_lex $P942, "$past"
+    $P942."scope"("contextual")
+.annotate 'line', 346
+    find_lex $P943, "$past"
+.annotate 'line', 347
+    get_hll_global $P944, ["PAST"], "Var"
+.annotate 'line', 349
+    find_lex $P945, "$/"
+    unless_null $P945, vivify_338
+    $P945 = root_new ['parrot';'Hash']
   vivify_338:
-    set $P964, $P963["package_def"]
-    unless_null $P964, vivify_339
-    new $P964, "Undef"
+    set $P946, $P945["sigil"]
+    unless_null $P946, vivify_339
+    new $P946, "Undef"
   vivify_339:
-    $P965 = $P964."ast"()
-    $P966 = $P962."!make"($P965)
-    .return ($P966)
-  control_959:
+    set $S947, $P946
+    new $P948, 'String'
+    set $P948, $S947
+    find_lex $P949, "$/"
+    unless_null $P949, vivify_340
+    $P949 = root_new ['parrot';'Hash']
+  vivify_340:
+    set $P950, $P949["desigilname"]
+    unless_null $P950, vivify_341
+    new $P950, "Undef"
+  vivify_341:
+    concat $P951, $P948, $P950
+.annotate 'line', 351
+    get_hll_global $P952, ["PAST"], "Op"
+    new $P953, "String"
+    assign $P953, "Contextual "
+    find_lex $P954, "$/"
+    set $S955, $P954
+    concat $P956, $P953, $S955
+    concat $P957, $P956, " not found"
+    $P958 = $P952."new"($P957, "die" :named("pirop"))
+    $P959 = $P944."new"("package" :named("scope"), "" :named("namespace"), $P951 :named("name"), $P958 :named("viviself"))
+.annotate 'line', 347
+    $P960 = $P943."viviself"($P959)
+.annotate 'line', 344
+    set $P935, $P960
+  if_936_end:
+.annotate 'line', 334
+    .return ($P935)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.include "except_types.pasm"
+.sub "package_declarator:sym<module>"  :subid("62_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_984
+.annotate 'line', 366
+    new $P983, 'ExceptionHandler'
+    set_addr $P983, control_982
+    $P983."handle_types"(.CONTROL_RETURN)
+    push_eh $P983
+    .lex "self", self
+    .lex "$/", param_984
+    find_lex $P985, "$/"
+    find_lex $P986, "$/"
+    unless_null $P986, vivify_344
+    $P986 = root_new ['parrot';'Hash']
+  vivify_344:
+    set $P987, $P986["package_def"]
+    unless_null $P987, vivify_345
+    new $P987, "Undef"
+  vivify_345:
+    $P988 = $P987."ast"()
+    $P989 = $P985."!make"($P988)
+    .return ($P989)
+  control_982:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P967, exception, "payload"
-    .return ($P967)
+    getattribute $P990, exception, "payload"
+    .return ($P990)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "package_declarator:sym<class>"  :subid("63_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_971
-.annotate 'line', 357
-    new $P970, 'ExceptionHandler'
-    set_addr $P970, control_969
-    $P970."handle_types"(.CONTROL_RETURN)
-    push_eh $P970
+.sub "package_declarator:sym<class>"  :subid("63_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_994
+.annotate 'line', 367
+    new $P993, 'ExceptionHandler'
+    set_addr $P993, control_992
+    $P993."handle_types"(.CONTROL_RETURN)
+    push_eh $P993
     .lex "self", self
-    .lex "$/", param_971
-.annotate 'line', 358
-    new $P972, "Undef"
-    .lex "$past", $P972
-.annotate 'line', 359
-    new $P973, "Undef"
-    .lex "$classinit", $P973
+    .lex "$/", param_994
 .annotate 'line', 368
-    new $P974, "Undef"
-    .lex "$parent", $P974
-.annotate 'line', 358
-    find_lex $P975, "$/"
-    unless_null $P975, vivify_340
-    $P975 = root_new ['parrot';'Hash']
-  vivify_340:
-    set $P976, $P975["package_def"]
-    unless_null $P976, vivify_341
-    new $P976, "Undef"
-  vivify_341:
-    $P977 = $P976."ast"()
-    store_lex "$past", $P977
-.annotate 'line', 360
-    get_hll_global $P978, ["PAST"], "Op"
-.annotate 'line', 361
-    get_hll_global $P979, ["PAST"], "Op"
-    $P980 = $P979."new"("    %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline"))
-.annotate 'line', 364
-    find_lex $P981, "$/"
-    unless_null $P981, vivify_342
-    $P981 = root_new ['parrot';'Hash']
-  vivify_342:
-    set $P982, $P981["package_def"]
-    unless_null $P982, vivify_343
-    $P982 = root_new ['parrot';'Hash']
-  vivify_343:
-    set $P983, $P982["name"]
-    unless_null $P983, vivify_344
-    new $P983, "Undef"
-  vivify_344:
-    set $S984, $P983
-    $P985 = $P978."new"($P980, $S984, "new_class" :named("name"), "callmethod" :named("pasttype"))
-.annotate 'line', 360
-    store_lex "$classinit", $P985
+    new $P995, "Undef"
+    .lex "$past", $P995
+.annotate 'line', 369
+    new $P996, "Undef"
+    .lex "$classinit", $P996
+.annotate 'line', 378
+    new $P997, "Undef"
+    .lex "$parent", $P997
 .annotate 'line', 368
-    find_lex $P988, "$/"
-    unless_null $P988, vivify_345
-    $P988 = root_new ['parrot';'Hash']
-  vivify_345:
-    set $P989, $P988["package_def"]
-    unless_null $P989, vivify_346
-    $P989 = root_new ['parrot';'Hash']
+    find_lex $P998, "$/"
+    unless_null $P998, vivify_346
+    $P998 = root_new ['parrot';'Hash']
   vivify_346:
-    set $P990, $P989["parent"]
-    unless_null $P990, vivify_347
-    $P990 = root_new ['parrot';'ResizablePMCArray']
+    set $P999, $P998["package_def"]
+    unless_null $P999, vivify_347
+    new $P999, "Undef"
   vivify_347:
-    set $P991, $P990[0]
-    unless_null $P991, vivify_348
-    new $P991, "Undef"
+    $P1000 = $P999."ast"()
+    store_lex "$past", $P1000
+.annotate 'line', 370
+    get_hll_global $P1001, ["PAST"], "Op"
+.annotate 'line', 371
+    get_hll_global $P1002, ["PAST"], "Op"
+    $P1003 = $P1002."new"("    %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline"))
+.annotate 'line', 374
+    find_lex $P1004, "$/"
+    unless_null $P1004, vivify_348
+    $P1004 = root_new ['parrot';'Hash']
   vivify_348:
-    set $S992, $P991
-    unless $S992, unless_987
-    new $P986, 'String'
-    set $P986, $S992
-    goto unless_987_end
-  unless_987:
-.annotate 'line', 369
-    find_lex $P995, "$/"
-    unless_null $P995, vivify_349
-    $P995 = root_new ['parrot';'Hash']
+    set $P1005, $P1004["package_def"]
+    unless_null $P1005, vivify_349
+    $P1005 = root_new ['parrot';'Hash']
   vivify_349:
-    set $P996, $P995["sym"]
-    unless_null $P996, vivify_350
-    new $P996, "Undef"
+    set $P1006, $P1005["name"]
+    unless_null $P1006, vivify_350
+    new $P1006, "Undef"
   vivify_350:
-    set $S997, $P996
-    iseq $I998, $S997, "grammar"
-    if $I998, if_994
-    new $P1000, "String"
-    assign $P1000, ""
-    set $P993, $P1000
-    goto if_994_end
-  if_994:
-    new $P999, "String"
-    assign $P999, "Regex::Cursor"
-    set $P993, $P999
-  if_994_end:
-    set $P986, $P993
-  unless_987_end:
-    store_lex "$parent", $P986
+    set $S1007, $P1006
+    $P1008 = $P1001."new"($P1003, $S1007, "new_class" :named("name"), "callmethod" :named("pasttype"))
 .annotate 'line', 370
-    find_lex $P1002, "$parent"
-    unless $P1002, if_1001_end
-.annotate 'line', 371
-    find_lex $P1003, "$classinit"
-    get_hll_global $P1004, ["PAST"], "Val"
-    find_lex $P1005, "$parent"
-    $P1006 = $P1004."new"($P1005 :named("value"), "parent" :named("named"))
-    $P1003."push"($P1006)
-  if_1001_end:
-.annotate 'line', 373
-    find_lex $P1008, "$past"
-    unless_null $P1008, vivify_351
-    $P1008 = root_new ['parrot';'Hash']
+    store_lex "$classinit", $P1008
+.annotate 'line', 378
+    find_lex $P1011, "$/"
+    unless_null $P1011, vivify_351
+    $P1011 = root_new ['parrot';'Hash']
   vivify_351:
-    set $P1009, $P1008["attributes"]
-    unless_null $P1009, vivify_352
-    new $P1009, "Undef"
+    set $P1012, $P1011["package_def"]
+    unless_null $P1012, vivify_352
+    $P1012 = root_new ['parrot';'Hash']
   vivify_352:
-    unless $P1009, if_1007_end
-.annotate 'line', 374
-    find_lex $P1010, "$classinit"
-    find_lex $P1011, "$past"
-    unless_null $P1011, vivify_353
-    $P1011 = root_new ['parrot';'Hash']
-  vivify_353:
-    set $P1012, $P1011["attributes"]
-    unless_null $P1012, vivify_354
-    new $P1012, "Undef"
-  vivify_354:
-    $P1010."push"($P1012)
-  if_1007_end:
-.annotate 'line', 376
-    get_global $P1013, "@BLOCK"
-    unless_null $P1013, vivify_355
+    set $P1013, $P1012["parent"]
+    unless_null $P1013, vivify_353
     $P1013 = root_new ['parrot';'ResizablePMCArray']
-  vivify_355:
+  vivify_353:
     set $P1014, $P1013[0]
-    unless_null $P1014, vivify_356
+    unless_null $P1014, vivify_354
     new $P1014, "Undef"
+  vivify_354:
+    set $S1015, $P1014
+    unless $S1015, unless_1010
+    new $P1009, 'String'
+    set $P1009, $S1015
+    goto unless_1010_end
+  unless_1010:
+.annotate 'line', 379
+    find_lex $P1018, "$/"
+    unless_null $P1018, vivify_355
+    $P1018 = root_new ['parrot';'Hash']
+  vivify_355:
+    set $P1019, $P1018["sym"]
+    unless_null $P1019, vivify_356
+    new $P1019, "Undef"
   vivify_356:
-    $P1015 = $P1014."loadinit"()
-    find_lex $P1016, "$classinit"
-    $P1015."push"($P1016)
-.annotate 'line', 377
-    find_lex $P1017, "$/"
-    find_lex $P1018, "$past"
-    $P1019 = $P1017."!make"($P1018)
-.annotate 'line', 357
-    .return ($P1019)
-  control_969:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1020, exception, "payload"
-    .return ($P1020)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "package_def"  :subid("64_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1024
+    set $S1020, $P1019
+    iseq $I1021, $S1020, "grammar"
+    if $I1021, if_1017
+    new $P1023, "String"
+    assign $P1023, ""
+    set $P1016, $P1023
+    goto if_1017_end
+  if_1017:
+    new $P1022, "String"
+    assign $P1022, "Regex::Cursor"
+    set $P1016, $P1022
+  if_1017_end:
+    set $P1009, $P1016
+  unless_1010_end:
+    store_lex "$parent", $P1009
 .annotate 'line', 380
-    new $P1023, 'ExceptionHandler'
-    set_addr $P1023, control_1022
-    $P1023."handle_types"(.CONTROL_RETURN)
-    push_eh $P1023
-    .lex "self", self
-    .lex "$/", param_1024
+    find_lex $P1025, "$parent"
+    unless $P1025, if_1024_end
 .annotate 'line', 381
-    new $P1025, "Undef"
-    .lex "$past", $P1025
-    find_lex $P1028, "$/"
-    unless_null $P1028, vivify_357
-    $P1028 = root_new ['parrot';'Hash']
+    find_lex $P1026, "$classinit"
+    get_hll_global $P1027, ["PAST"], "Val"
+    find_lex $P1028, "$parent"
+    $P1029 = $P1027."new"($P1028 :named("value"), "parent" :named("named"))
+    $P1026."push"($P1029)
+  if_1024_end:
+.annotate 'line', 383
+    find_lex $P1031, "$past"
+    unless_null $P1031, vivify_357
+    $P1031 = root_new ['parrot';'Hash']
   vivify_357:
-    set $P1029, $P1028["block"]
-    unless_null $P1029, vivify_358
-    new $P1029, "Undef"
+    set $P1032, $P1031["attributes"]
+    unless_null $P1032, vivify_358
+    new $P1032, "Undef"
   vivify_358:
-    if $P1029, if_1027
-    find_lex $P1033, "$/"
-    unless_null $P1033, vivify_359
-    $P1033 = root_new ['parrot';'Hash']
+    unless $P1032, if_1030_end
+.annotate 'line', 384
+    find_lex $P1033, "$classinit"
+    find_lex $P1034, "$past"
+    unless_null $P1034, vivify_359
+    $P1034 = root_new ['parrot';'Hash']
   vivify_359:
-    set $P1034, $P1033["comp_unit"]
-    unless_null $P1034, vivify_360
-    new $P1034, "Undef"
+    set $P1035, $P1034["attributes"]
+    unless_null $P1035, vivify_360
+    new $P1035, "Undef"
   vivify_360:
-    $P1035 = $P1034."ast"()
-    set $P1026, $P1035
-    goto if_1027_end
-  if_1027:
-    find_lex $P1030, "$/"
-    unless_null $P1030, vivify_361
-    $P1030 = root_new ['parrot';'Hash']
+    $P1033."push"($P1035)
+  if_1030_end:
+.annotate 'line', 386
+    get_global $P1036, "@BLOCK"
+    unless_null $P1036, vivify_361
+    $P1036 = root_new ['parrot';'ResizablePMCArray']
   vivify_361:
-    set $P1031, $P1030["block"]
-    unless_null $P1031, vivify_362
-    new $P1031, "Undef"
+    set $P1037, $P1036[0]
+    unless_null $P1037, vivify_362
+    new $P1037, "Undef"
   vivify_362:
-    $P1032 = $P1031."ast"()
-    set $P1026, $P1032
-  if_1027_end:
-    store_lex "$past", $P1026
-.annotate 'line', 382
-    find_lex $P1036, "$past"
-    find_lex $P1037, "$/"
-    unless_null $P1037, vivify_363
-    $P1037 = root_new ['parrot';'Hash']
-  vivify_363:
-    set $P1038, $P1037["name"]
-    unless_null $P1038, vivify_364
-    $P1038 = root_new ['parrot';'Hash']
-  vivify_364:
-    set $P1039, $P1038["identifier"]
-    unless_null $P1039, vivify_365
-    new $P1039, "Undef"
-  vivify_365:
-    $P1036."namespace"($P1039)
-.annotate 'line', 383
-    find_lex $P1040, "$past"
-    $P1040."blocktype"("immediate")
-.annotate 'line', 384
-    find_lex $P1041, "$/"
-    find_lex $P1042, "$past"
-    $P1043 = $P1041."!make"($P1042)
-.annotate 'line', 380
-    .return ($P1043)
-  control_1022:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1044, exception, "payload"
-    .return ($P1044)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "scope_declarator:sym<my>"  :subid("65_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1048
+    $P1038 = $P1037."loadinit"()
+    find_lex $P1039, "$classinit"
+    $P1038."push"($P1039)
 .annotate 'line', 387
-    new $P1047, 'ExceptionHandler'
-    set_addr $P1047, control_1046
-    $P1047."handle_types"(.CONTROL_RETURN)
-    push_eh $P1047
-    .lex "self", self
-    .lex "$/", param_1048
-    find_lex $P1049, "$/"
-    find_lex $P1050, "$/"
-    unless_null $P1050, vivify_366
-    $P1050 = root_new ['parrot';'Hash']
-  vivify_366:
-    set $P1051, $P1050["scoped"]
-    unless_null $P1051, vivify_367
-    new $P1051, "Undef"
-  vivify_367:
-    $P1052 = $P1051."ast"()
-    $P1053 = $P1049."!make"($P1052)
-    .return ($P1053)
-  control_1046:
+    find_lex $P1040, "$/"
+    find_lex $P1041, "$past"
+    $P1042 = $P1040."!make"($P1041)
+.annotate 'line', 367
+    .return ($P1042)
+  control_992:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1054, exception, "payload"
-    .return ($P1054)
+    getattribute $P1043, exception, "payload"
+    .return ($P1043)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "scope_declarator:sym<our>"  :subid("66_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1058
-.annotate 'line', 388
-    new $P1057, 'ExceptionHandler'
-    set_addr $P1057, control_1056
-    $P1057."handle_types"(.CONTROL_RETURN)
-    push_eh $P1057
+.sub "package_def"  :subid("64_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1047
+.annotate 'line', 390
+    new $P1046, 'ExceptionHandler'
+    set_addr $P1046, control_1045
+    $P1046."handle_types"(.CONTROL_RETURN)
+    push_eh $P1046
     .lex "self", self
-    .lex "$/", param_1058
-    find_lex $P1059, "$/"
+    .lex "$/", param_1047
+.annotate 'line', 391
+    new $P1048, "Undef"
+    .lex "$past", $P1048
+    find_lex $P1051, "$/"
+    unless_null $P1051, vivify_363
+    $P1051 = root_new ['parrot';'Hash']
+  vivify_363:
+    set $P1052, $P1051["block"]
+    unless_null $P1052, vivify_364
+    new $P1052, "Undef"
+  vivify_364:
+    if $P1052, if_1050
+    find_lex $P1056, "$/"
+    unless_null $P1056, vivify_365
+    $P1056 = root_new ['parrot';'Hash']
+  vivify_365:
+    set $P1057, $P1056["comp_unit"]
+    unless_null $P1057, vivify_366
+    new $P1057, "Undef"
+  vivify_366:
+    $P1058 = $P1057."ast"()
+    set $P1049, $P1058
+    goto if_1050_end
+  if_1050:
+    find_lex $P1053, "$/"
+    unless_null $P1053, vivify_367
+    $P1053 = root_new ['parrot';'Hash']
+  vivify_367:
+    set $P1054, $P1053["block"]
+    unless_null $P1054, vivify_368
+    new $P1054, "Undef"
+  vivify_368:
+    $P1055 = $P1054."ast"()
+    set $P1049, $P1055
+  if_1050_end:
+    store_lex "$past", $P1049
+.annotate 'line', 392
+    find_lex $P1059, "$past"
     find_lex $P1060, "$/"
-    unless_null $P1060, vivify_368
+    unless_null $P1060, vivify_369
     $P1060 = root_new ['parrot';'Hash']
-  vivify_368:
-    set $P1061, $P1060["scoped"]
-    unless_null $P1061, vivify_369
-    new $P1061, "Undef"
   vivify_369:
-    $P1062 = $P1061."ast"()
-    $P1063 = $P1059."!make"($P1062)
-    .return ($P1063)
-  control_1056:
+    set $P1061, $P1060["name"]
+    unless_null $P1061, vivify_370
+    $P1061 = root_new ['parrot';'Hash']
+  vivify_370:
+    set $P1062, $P1061["identifier"]
+    unless_null $P1062, vivify_371
+    new $P1062, "Undef"
+  vivify_371:
+    $P1059."namespace"($P1062)
+.annotate 'line', 393
+    find_lex $P1063, "$past"
+    $P1063."blocktype"("immediate")
+.annotate 'line', 394
+    find_lex $P1064, "$/"
+    find_lex $P1065, "$past"
+    $P1066 = $P1064."!make"($P1065)
+.annotate 'line', 390
+    .return ($P1066)
+  control_1045:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1064, exception, "payload"
-    .return ($P1064)
+    getattribute $P1067, exception, "payload"
+    .return ($P1067)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "scope_declarator:sym<has>"  :subid("67_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1068
-.annotate 'line', 389
-    new $P1067, 'ExceptionHandler'
-    set_addr $P1067, control_1066
-    $P1067."handle_types"(.CONTROL_RETURN)
-    push_eh $P1067
-    .lex "self", self
-    .lex "$/", param_1068
-    find_lex $P1069, "$/"
-    find_lex $P1070, "$/"
-    unless_null $P1070, vivify_370
-    $P1070 = root_new ['parrot';'Hash']
-  vivify_370:
-    set $P1071, $P1070["scoped"]
-    unless_null $P1071, vivify_371
-    new $P1071, "Undef"
-  vivify_371:
-    $P1072 = $P1071."ast"()
-    $P1073 = $P1069."!make"($P1072)
-    .return ($P1073)
-  control_1066:
+.sub "scope_declarator:sym<my>"  :subid("65_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1071
+.annotate 'line', 397
+    new $P1070, 'ExceptionHandler'
+    set_addr $P1070, control_1069
+    $P1070."handle_types"(.CONTROL_RETURN)
+    push_eh $P1070
+    .lex "self", self
+    .lex "$/", param_1071
+    find_lex $P1072, "$/"
+    find_lex $P1073, "$/"
+    unless_null $P1073, vivify_372
+    $P1073 = root_new ['parrot';'Hash']
+  vivify_372:
+    set $P1074, $P1073["scoped"]
+    unless_null $P1074, vivify_373
+    new $P1074, "Undef"
+  vivify_373:
+    $P1075 = $P1074."ast"()
+    $P1076 = $P1072."!make"($P1075)
+    .return ($P1076)
+  control_1069:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1074, exception, "payload"
-    .return ($P1074)
+    getattribute $P1077, exception, "payload"
+    .return ($P1077)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "scoped"  :subid("68_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1078
-.annotate 'line', 391
-    new $P1077, 'ExceptionHandler'
-    set_addr $P1077, control_1076
-    $P1077."handle_types"(.CONTROL_RETURN)
-    push_eh $P1077
+.sub "scope_declarator:sym<our>"  :subid("66_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1081
+.annotate 'line', 398
+    new $P1080, 'ExceptionHandler'
+    set_addr $P1080, control_1079
+    $P1080."handle_types"(.CONTROL_RETURN)
+    push_eh $P1080
     .lex "self", self
-    .lex "$/", param_1078
-.annotate 'line', 392
-    find_lex $P1079, "$/"
-.annotate 'line', 393
+    .lex "$/", param_1081
     find_lex $P1082, "$/"
-    unless_null $P1082, vivify_372
-    $P1082 = root_new ['parrot';'Hash']
-  vivify_372:
-    set $P1083, $P1082["declarator"]
-    unless_null $P1083, vivify_373
-    new $P1083, "Undef"
-  vivify_373:
-    if $P1083, if_1081
-.annotate 'line', 394
-    find_lex $P1087, "$/"
-    unless_null $P1087, vivify_374
-    $P1087 = root_new ['parrot';'Hash']
+    find_lex $P1083, "$/"
+    unless_null $P1083, vivify_374
+    $P1083 = root_new ['parrot';'Hash']
   vivify_374:
-    set $P1088, $P1087["multi_declarator"]
-    unless_null $P1088, vivify_375
-    new $P1088, "Undef"
+    set $P1084, $P1083["scoped"]
+    unless_null $P1084, vivify_375
+    new $P1084, "Undef"
   vivify_375:
-    $P1089 = $P1088."ast"()
-    set $P1080, $P1089
-.annotate 'line', 393
-    goto if_1081_end
-  if_1081:
-    find_lex $P1084, "$/"
-    unless_null $P1084, vivify_376
-    $P1084 = root_new ['parrot';'Hash']
+    $P1085 = $P1084."ast"()
+    $P1086 = $P1082."!make"($P1085)
+    .return ($P1086)
+  control_1079:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1087, exception, "payload"
+    .return ($P1087)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.include "except_types.pasm"
+.sub "scope_declarator:sym<has>"  :subid("67_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1091
+.annotate 'line', 399
+    new $P1090, 'ExceptionHandler'
+    set_addr $P1090, control_1089
+    $P1090."handle_types"(.CONTROL_RETURN)
+    push_eh $P1090
+    .lex "self", self
+    .lex "$/", param_1091
+    find_lex $P1092, "$/"
+    find_lex $P1093, "$/"
+    unless_null $P1093, vivify_376
+    $P1093 = root_new ['parrot';'Hash']
   vivify_376:
-    set $P1085, $P1084["declarator"]
-    unless_null $P1085, vivify_377
-    new $P1085, "Undef"
+    set $P1094, $P1093["scoped"]
+    unless_null $P1094, vivify_377
+    new $P1094, "Undef"
   vivify_377:
-    $P1086 = $P1085."ast"()
-    set $P1080, $P1086
-  if_1081_end:
-    $P1090 = $P1079."!make"($P1080)
-.annotate 'line', 391
-    .return ($P1090)
-  control_1076:
+    $P1095 = $P1094."ast"()
+    $P1096 = $P1092."!make"($P1095)
+    .return ($P1096)
+  control_1089:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1091, exception, "payload"
-    .return ($P1091)
+    getattribute $P1097, exception, "payload"
+    .return ($P1097)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "declarator"  :subid("69_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1095
-.annotate 'line', 397
-    new $P1094, 'ExceptionHandler'
-    set_addr $P1094, control_1093
-    $P1094."handle_types"(.CONTROL_RETURN)
-    push_eh $P1094
+.sub "scoped"  :subid("68_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1101
+.annotate 'line', 401
+    new $P1100, 'ExceptionHandler'
+    set_addr $P1100, control_1099
+    $P1100."handle_types"(.CONTROL_RETURN)
+    push_eh $P1100
     .lex "self", self
-    .lex "$/", param_1095
-.annotate 'line', 398
-    find_lex $P1096, "$/"
-.annotate 'line', 399
-    find_lex $P1099, "$/"
-    unless_null $P1099, vivify_378
-    $P1099 = root_new ['parrot';'Hash']
+    .lex "$/", param_1101
+.annotate 'line', 402
+    find_lex $P1102, "$/"
+.annotate 'line', 403
+    find_lex $P1105, "$/"
+    unless_null $P1105, vivify_378
+    $P1105 = root_new ['parrot';'Hash']
   vivify_378:
-    set $P1100, $P1099["routine_declarator"]
-    unless_null $P1100, vivify_379
-    new $P1100, "Undef"
+    set $P1106, $P1105["declarator"]
+    unless_null $P1106, vivify_379
+    new $P1106, "Undef"
   vivify_379:
-    if $P1100, if_1098
-.annotate 'line', 400
-    find_lex $P1104, "$/"
-    unless_null $P1104, vivify_380
-    $P1104 = root_new ['parrot';'Hash']
+    if $P1106, if_1104
+.annotate 'line', 404
+    find_lex $P1110, "$/"
+    unless_null $P1110, vivify_380
+    $P1110 = root_new ['parrot';'Hash']
   vivify_380:
-    set $P1105, $P1104["variable_declarator"]
-    unless_null $P1105, vivify_381
-    new $P1105, "Undef"
+    set $P1111, $P1110["multi_declarator"]
+    unless_null $P1111, vivify_381
+    new $P1111, "Undef"
   vivify_381:
-    $P1106 = $P1105."ast"()
-    set $P1097, $P1106
-.annotate 'line', 399
-    goto if_1098_end
-  if_1098:
-    find_lex $P1101, "$/"
-    unless_null $P1101, vivify_382
-    $P1101 = root_new ['parrot';'Hash']
+    $P1112 = $P1111."ast"()
+    set $P1103, $P1112
+.annotate 'line', 403
+    goto if_1104_end
+  if_1104:
+    find_lex $P1107, "$/"
+    unless_null $P1107, vivify_382
+    $P1107 = root_new ['parrot';'Hash']
   vivify_382:
-    set $P1102, $P1101["routine_declarator"]
-    unless_null $P1102, vivify_383
-    new $P1102, "Undef"
+    set $P1108, $P1107["declarator"]
+    unless_null $P1108, vivify_383
+    new $P1108, "Undef"
   vivify_383:
-    $P1103 = $P1102."ast"()
-    set $P1097, $P1103
-  if_1098_end:
-    $P1107 = $P1096."!make"($P1097)
-.annotate 'line', 397
-    .return ($P1107)
-  control_1093:
+    $P1109 = $P1108."ast"()
+    set $P1103, $P1109
+  if_1104_end:
+    $P1113 = $P1102."!make"($P1103)
+.annotate 'line', 401
+    .return ($P1113)
+  control_1099:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1108, exception, "payload"
-    .return ($P1108)
+    getattribute $P1114, exception, "payload"
+    .return ($P1114)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "multi_declarator:sym<multi>"  :subid("70_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1112
-.annotate 'line', 403
-    new $P1111, 'ExceptionHandler'
-    set_addr $P1111, control_1110
-    $P1111."handle_types"(.CONTROL_RETURN)
-    push_eh $P1111
-    .lex "self", self
-    .lex "$/", param_1112
-    find_lex $P1113, "$/"
-    find_lex $P1116, "$/"
-    unless_null $P1116, vivify_384
-    $P1116 = root_new ['parrot';'Hash']
+.sub "declarator"  :subid("69_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1118
+.annotate 'line', 407
+    new $P1117, 'ExceptionHandler'
+    set_addr $P1117, control_1116
+    $P1117."handle_types"(.CONTROL_RETURN)
+    push_eh $P1117
+    .lex "self", self
+    .lex "$/", param_1118
+.annotate 'line', 408
+    find_lex $P1119, "$/"
+.annotate 'line', 409
+    find_lex $P1122, "$/"
+    unless_null $P1122, vivify_384
+    $P1122 = root_new ['parrot';'Hash']
   vivify_384:
-    set $P1117, $P1116["declarator"]
-    unless_null $P1117, vivify_385
-    new $P1117, "Undef"
+    set $P1123, $P1122["routine_declarator"]
+    unless_null $P1123, vivify_385
+    new $P1123, "Undef"
   vivify_385:
-    if $P1117, if_1115
-    find_lex $P1121, "$/"
-    unless_null $P1121, vivify_386
-    $P1121 = root_new ['parrot';'Hash']
+    if $P1123, if_1121
+.annotate 'line', 410
+    find_lex $P1127, "$/"
+    unless_null $P1127, vivify_386
+    $P1127 = root_new ['parrot';'Hash']
   vivify_386:
-    set $P1122, $P1121["routine_def"]
-    unless_null $P1122, vivify_387
-    new $P1122, "Undef"
+    set $P1128, $P1127["variable_declarator"]
+    unless_null $P1128, vivify_387
+    new $P1128, "Undef"
   vivify_387:
-    $P1123 = $P1122."ast"()
-    set $P1114, $P1123
-    goto if_1115_end
-  if_1115:
-    find_lex $P1118, "$/"
-    unless_null $P1118, vivify_388
-    $P1118 = root_new ['parrot';'Hash']
+    $P1129 = $P1128."ast"()
+    set $P1120, $P1129
+.annotate 'line', 409
+    goto if_1121_end
+  if_1121:
+    find_lex $P1124, "$/"
+    unless_null $P1124, vivify_388
+    $P1124 = root_new ['parrot';'Hash']
   vivify_388:
-    set $P1119, $P1118["declarator"]
-    unless_null $P1119, vivify_389
-    new $P1119, "Undef"
+    set $P1125, $P1124["routine_declarator"]
+    unless_null $P1125, vivify_389
+    new $P1125, "Undef"
   vivify_389:
-    $P1120 = $P1119."ast"()
-    set $P1114, $P1120
-  if_1115_end:
-    $P1124 = $P1113."!make"($P1114)
-    .return ($P1124)
-  control_1110:
+    $P1126 = $P1125."ast"()
+    set $P1120, $P1126
+  if_1121_end:
+    $P1130 = $P1119."!make"($P1120)
+.annotate 'line', 407
+    .return ($P1130)
+  control_1116:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1125, exception, "payload"
-    .return ($P1125)
+    getattribute $P1131, exception, "payload"
+    .return ($P1131)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "multi_declarator:sym<null>"  :subid("71_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1129
-.annotate 'line', 404
-    new $P1128, 'ExceptionHandler'
-    set_addr $P1128, control_1127
-    $P1128."handle_types"(.CONTROL_RETURN)
-    push_eh $P1128
-    .lex "self", self
-    .lex "$/", param_1129
-    find_lex $P1130, "$/"
-    find_lex $P1131, "$/"
-    unless_null $P1131, vivify_390
-    $P1131 = root_new ['parrot';'Hash']
+.sub "multi_declarator:sym<multi>"  :subid("70_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1135
+.annotate 'line', 413
+    new $P1134, 'ExceptionHandler'
+    set_addr $P1134, control_1133
+    $P1134."handle_types"(.CONTROL_RETURN)
+    push_eh $P1134
+    .lex "self", self
+    .lex "$/", param_1135
+    find_lex $P1136, "$/"
+    find_lex $P1139, "$/"
+    unless_null $P1139, vivify_390
+    $P1139 = root_new ['parrot';'Hash']
   vivify_390:
-    set $P1132, $P1131["declarator"]
-    unless_null $P1132, vivify_391
-    new $P1132, "Undef"
-  vivify_391:
-    $P1133 = $P1132."ast"()
-    $P1134 = $P1130."!make"($P1133)
-    .return ($P1134)
-  control_1127:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1135, exception, "payload"
-    .return ($P1135)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "variable_declarator"  :subid("72_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1139
-.annotate 'line', 407
-    .const 'Sub' $P1179 = "73_1277356919.52295" 
-    capture_lex $P1179
-    new $P1138, 'ExceptionHandler'
-    set_addr $P1138, control_1137
-    $P1138."handle_types"(.CONTROL_RETURN)
-    push_eh $P1138
-    .lex "self", self
-    .lex "$/", param_1139
-.annotate 'line', 408
+    set $P1140, $P1139["declarator"]
+    unless_null $P1140, vivify_391
     new $P1140, "Undef"
-    .lex "$past", $P1140
-.annotate 'line', 409
-    new $P1141, "Undef"
-    .lex "$sigil", $P1141
-.annotate 'line', 410
-    new $P1142, "Undef"
-    .lex "$name", $P1142
-.annotate 'line', 411
-    new $P1143, "Undef"
-    .lex "$BLOCK", $P1143
-.annotate 'line', 408
+  vivify_391:
+    if $P1140, if_1138
     find_lex $P1144, "$/"
     unless_null $P1144, vivify_392
     $P1144 = root_new ['parrot';'Hash']
   vivify_392:
-    set $P1145, $P1144["variable"]
+    set $P1145, $P1144["routine_def"]
     unless_null $P1145, vivify_393
     new $P1145, "Undef"
   vivify_393:
     $P1146 = $P1145."ast"()
-    store_lex "$past", $P1146
-.annotate 'line', 409
-    find_lex $P1147, "$/"
-    unless_null $P1147, vivify_394
-    $P1147 = root_new ['parrot';'Hash']
+    set $P1137, $P1146
+    goto if_1138_end
+  if_1138:
+    find_lex $P1141, "$/"
+    unless_null $P1141, vivify_394
+    $P1141 = root_new ['parrot';'Hash']
   vivify_394:
-    set $P1148, $P1147["variable"]
-    unless_null $P1148, vivify_395
-    $P1148 = root_new ['parrot';'Hash']
+    set $P1142, $P1141["declarator"]
+    unless_null $P1142, vivify_395
+    new $P1142, "Undef"
   vivify_395:
-    set $P1149, $P1148["sigil"]
-    unless_null $P1149, vivify_396
-    new $P1149, "Undef"
+    $P1143 = $P1142."ast"()
+    set $P1137, $P1143
+  if_1138_end:
+    $P1147 = $P1136."!make"($P1137)
+    .return ($P1147)
+  control_1133:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1148, exception, "payload"
+    .return ($P1148)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.include "except_types.pasm"
+.sub "multi_declarator:sym<null>"  :subid("71_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1152
+.annotate 'line', 414
+    new $P1151, 'ExceptionHandler'
+    set_addr $P1151, control_1150
+    $P1151."handle_types"(.CONTROL_RETURN)
+    push_eh $P1151
+    .lex "self", self
+    .lex "$/", param_1152
+    find_lex $P1153, "$/"
+    find_lex $P1154, "$/"
+    unless_null $P1154, vivify_396
+    $P1154 = root_new ['parrot';'Hash']
   vivify_396:
-    store_lex "$sigil", $P1149
-.annotate 'line', 410
-    find_lex $P1150, "$past"
-    $P1151 = $P1150."name"()
-    store_lex "$name", $P1151
-.annotate 'line', 411
-    get_global $P1152, "@BLOCK"
-    unless_null $P1152, vivify_397
-    $P1152 = root_new ['parrot';'ResizablePMCArray']
+    set $P1155, $P1154["declarator"]
+    unless_null $P1155, vivify_397
+    new $P1155, "Undef"
   vivify_397:
-    set $P1153, $P1152[0]
-    unless_null $P1153, vivify_398
-    new $P1153, "Undef"
-  vivify_398:
-    store_lex "$BLOCK", $P1153
-.annotate 'line', 412
-    find_lex $P1155, "$BLOCK"
-    find_lex $P1156, "$name"
-    $P1157 = $P1155."symbol"($P1156)
-    unless $P1157, if_1154_end
-.annotate 'line', 413
-    find_lex $P1158, "$/"
-    $P1159 = $P1158."CURSOR"()
-    find_lex $P1160, "$name"
-    $P1159."panic"("Redeclaration of symbol ", $P1160)
-  if_1154_end:
-.annotate 'line', 415
-    find_dynamic_lex $P1162, "$*SCOPE"
-    unless_null $P1162, vivify_399
-    get_hll_global $P1162, "$SCOPE"
-    unless_null $P1162, vivify_400
-    die "Contextual $*SCOPE not found"
-  vivify_400:
-  vivify_399:
-    set $S1163, $P1162
-    iseq $I1164, $S1163, "has"
-    if $I1164, if_1161
-.annotate 'line', 424
-    .const 'Sub' $P1179 = "73_1277356919.52295" 
-    capture_lex $P1179
-    $P1179()
-    goto if_1161_end
-  if_1161:
-.annotate 'line', 416
-    find_lex $P1165, "$BLOCK"
-    find_lex $P1166, "$name"
-    $P1165."symbol"($P1166, "attribute" :named("scope"))
-.annotate 'line', 417
-    find_lex $P1168, "$BLOCK"
-    unless_null $P1168, vivify_405
-    $P1168 = root_new ['parrot';'Hash']
-  vivify_405:
-    set $P1169, $P1168["attributes"]
-    unless_null $P1169, vivify_406
-    new $P1169, "Undef"
-  vivify_406:
-    if $P1169, unless_1167_end
-.annotate 'line', 419
-    get_hll_global $P1170, ["PAST"], "Op"
-    $P1171 = $P1170."new"("list" :named("pasttype"), "attr" :named("named"))
-    find_lex $P1172, "$BLOCK"
-    unless_null $P1172, vivify_407
-    $P1172 = root_new ['parrot';'Hash']
-    store_lex "$BLOCK", $P1172
-  vivify_407:
-    set $P1172["attributes"], $P1171
-  unless_1167_end:
-.annotate 'line', 421
-    find_lex $P1173, "$BLOCK"
-    unless_null $P1173, vivify_408
-    $P1173 = root_new ['parrot';'Hash']
-  vivify_408:
-    set $P1174, $P1173["attributes"]
-    unless_null $P1174, vivify_409
-    new $P1174, "Undef"
-  vivify_409:
-    find_lex $P1175, "$name"
-    $P1174."push"($P1175)
-.annotate 'line', 422
-    get_hll_global $P1176, ["PAST"], "Stmts"
-    $P1177 = $P1176."new"()
-    store_lex "$past", $P1177
-  if_1161_end:
-.annotate 'line', 432
-    find_lex $P1203, "$/"
-    find_lex $P1204, "$past"
-    $P1205 = $P1203."!make"($P1204)
-.annotate 'line', 407
-    .return ($P1205)
-  control_1137:
+    $P1156 = $P1155."ast"()
+    $P1157 = $P1153."!make"($P1156)
+    .return ($P1157)
+  control_1150:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1206, exception, "payload"
-    .return ($P1206)
+    getattribute $P1158, exception, "payload"
+    .return ($P1158)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1178"  :anon :subid("73_1277356919.52295") :outer("72_1277356919.52295")
-.annotate 'line', 425
-    new $P1180, "Undef"
-    .lex "$scope", $P1180
-.annotate 'line', 426
-    new $P1181, "Undef"
-    .lex "$decl", $P1181
+.include "except_types.pasm"
+.sub "variable_declarator"  :subid("72_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1162
+.annotate 'line', 417
+    .const 'Sub' $P1202 = "73_1278500542.82783" 
+    capture_lex $P1202
+    new $P1161, 'ExceptionHandler'
+    set_addr $P1161, control_1160
+    $P1161."handle_types"(.CONTROL_RETURN)
+    push_eh $P1161
+    .lex "self", self
+    .lex "$/", param_1162
+.annotate 'line', 418
+    new $P1163, "Undef"
+    .lex "$past", $P1163
+.annotate 'line', 419
+    new $P1164, "Undef"
+    .lex "$sigil", $P1164
+.annotate 'line', 420
+    new $P1165, "Undef"
+    .lex "$name", $P1165
+.annotate 'line', 421
+    new $P1166, "Undef"
+    .lex "$BLOCK", $P1166
+.annotate 'line', 418
+    find_lex $P1167, "$/"
+    unless_null $P1167, vivify_398
+    $P1167 = root_new ['parrot';'Hash']
+  vivify_398:
+    set $P1168, $P1167["variable"]
+    unless_null $P1168, vivify_399
+    new $P1168, "Undef"
+  vivify_399:
+    $P1169 = $P1168."ast"()
+    store_lex "$past", $P1169
+.annotate 'line', 419
+    find_lex $P1170, "$/"
+    unless_null $P1170, vivify_400
+    $P1170 = root_new ['parrot';'Hash']
+  vivify_400:
+    set $P1171, $P1170["variable"]
+    unless_null $P1171, vivify_401
+    $P1171 = root_new ['parrot';'Hash']
+  vivify_401:
+    set $P1172, $P1171["sigil"]
+    unless_null $P1172, vivify_402
+    new $P1172, "Undef"
+  vivify_402:
+    store_lex "$sigil", $P1172
+.annotate 'line', 420
+    find_lex $P1173, "$past"
+    $P1174 = $P1173."name"()
+    store_lex "$name", $P1174
+.annotate 'line', 421
+    get_global $P1175, "@BLOCK"
+    unless_null $P1175, vivify_403
+    $P1175 = root_new ['parrot';'ResizablePMCArray']
+  vivify_403:
+    set $P1176, $P1175[0]
+    unless_null $P1176, vivify_404
+    new $P1176, "Undef"
+  vivify_404:
+    store_lex "$BLOCK", $P1176
+.annotate 'line', 422
+    find_lex $P1178, "$BLOCK"
+    find_lex $P1179, "$name"
+    $P1180 = $P1178."symbol"($P1179)
+    unless $P1180, if_1177_end
+.annotate 'line', 423
+    find_lex $P1181, "$/"
+    $P1182 = $P1181."CURSOR"()
+    find_lex $P1183, "$name"
+    $P1182."panic"("Redeclaration of symbol ", $P1183)
+  if_1177_end:
 .annotate 'line', 425
-    find_dynamic_lex $P1184, "$*SCOPE"
-    unless_null $P1184, vivify_401
-    get_hll_global $P1184, "$SCOPE"
-    unless_null $P1184, vivify_402
+    find_dynamic_lex $P1185, "$*SCOPE"
+    unless_null $P1185, vivify_405
+    get_hll_global $P1185, "$SCOPE"
+    unless_null $P1185, vivify_406
     die "Contextual $*SCOPE not found"
-  vivify_402:
-  vivify_401:
-    set $S1185, $P1184
-    iseq $I1186, $S1185, "our"
-    if $I1186, if_1183
-    new $P1188, "String"
-    assign $P1188, "lexical"
-    set $P1182, $P1188
-    goto if_1183_end
-  if_1183:
-    new $P1187, "String"
-    assign $P1187, "package"
-    set $P1182, $P1187
-  if_1183_end:
-    store_lex "$scope", $P1182
+  vivify_406:
+  vivify_405:
+    set $S1186, $P1185
+    iseq $I1187, $S1186, "has"
+    if $I1187, if_1184
+.annotate 'line', 434
+    .const 'Sub' $P1202 = "73_1278500542.82783" 
+    capture_lex $P1202
+    $P1202()
+    goto if_1184_end
+  if_1184:
 .annotate 'line', 426
-    get_hll_global $P1189, ["PAST"], "Var"
-    find_lex $P1190, "$name"
-    find_lex $P1191, "$scope"
+    find_lex $P1188, "$BLOCK"
+    find_lex $P1189, "$name"
+    $P1188."symbol"($P1189, "attribute" :named("scope"))
 .annotate 'line', 427
-    find_lex $P1192, "$sigil"
-    $P1193 = "vivitype"($P1192)
-    find_lex $P1194, "$/"
-    $P1195 = $P1189."new"($P1190 :named("name"), $P1191 :named("scope"), 1 :named("isdecl"), 1 :named("lvalue"), $P1193 :named("viviself"), $P1194 :named("node"))
-.annotate 'line', 426
-    store_lex "$decl", $P1195
+    find_lex $P1191, "$BLOCK"
+    unless_null $P1191, vivify_411
+    $P1191 = root_new ['parrot';'Hash']
+  vivify_411:
+    set $P1192, $P1191["attributes"]
+    unless_null $P1192, vivify_412
+    new $P1192, "Undef"
+  vivify_412:
+    if $P1192, unless_1190_end
 .annotate 'line', 429
+    get_hll_global $P1193, ["PAST"], "Op"
+    $P1194 = $P1193."new"("list" :named("pasttype"), "attr" :named("named"))
+    find_lex $P1195, "$BLOCK"
+    unless_null $P1195, vivify_413
+    $P1195 = root_new ['parrot';'Hash']
+    store_lex "$BLOCK", $P1195
+  vivify_413:
+    set $P1195["attributes"], $P1194
+  unless_1190_end:
+.annotate 'line', 431
     find_lex $P1196, "$BLOCK"
-    find_lex $P1197, "$name"
-    find_lex $P1198, "$scope"
-    $P1196."symbol"($P1197, $P1198 :named("scope"))
-.annotate 'line', 430
-    find_lex $P1199, "$BLOCK"
-    unless_null $P1199, vivify_403
-    $P1199 = root_new ['parrot';'ResizablePMCArray']
-  vivify_403:
-    set $P1200, $P1199[0]
-    unless_null $P1200, vivify_404
-    new $P1200, "Undef"
-  vivify_404:
-    find_lex $P1201, "$decl"
-    $P1202 = $P1200."push"($P1201)
-.annotate 'line', 424
-    .return ($P1202)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "routine_declarator:sym<sub>"  :subid("74_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1210
-.annotate 'line', 435
-    new $P1209, 'ExceptionHandler'
-    set_addr $P1209, control_1208
-    $P1209."handle_types"(.CONTROL_RETURN)
-    push_eh $P1209
-    .lex "self", self
-    .lex "$/", param_1210
-    find_lex $P1211, "$/"
-    find_lex $P1212, "$/"
-    unless_null $P1212, vivify_410
-    $P1212 = root_new ['parrot';'Hash']
-  vivify_410:
-    set $P1213, $P1212["routine_def"]
-    unless_null $P1213, vivify_411
-    new $P1213, "Undef"
-  vivify_411:
-    $P1214 = $P1213."ast"()
-    $P1215 = $P1211."!make"($P1214)
-    .return ($P1215)
-  control_1208:
+    unless_null $P1196, vivify_414
+    $P1196 = root_new ['parrot';'Hash']
+  vivify_414:
+    set $P1197, $P1196["attributes"]
+    unless_null $P1197, vivify_415
+    new $P1197, "Undef"
+  vivify_415:
+    find_lex $P1198, "$name"
+    $P1197."push"($P1198)
+.annotate 'line', 432
+    get_hll_global $P1199, ["PAST"], "Stmts"
+    $P1200 = $P1199."new"()
+    store_lex "$past", $P1200
+  if_1184_end:
+.annotate 'line', 442
+    find_lex $P1226, "$/"
+    find_lex $P1227, "$past"
+    $P1228 = $P1226."!make"($P1227)
+.annotate 'line', 417
+    .return ($P1228)
+  control_1160:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1216, exception, "payload"
-    .return ($P1216)
+    getattribute $P1229, exception, "payload"
+    .return ($P1229)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "routine_declarator:sym<method>"  :subid("75_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1220
+.sub "_block1201"  :anon :subid("73_1278500542.82783") :outer("72_1278500542.82783")
+.annotate 'line', 435
+    new $P1203, "Undef"
+    .lex "$scope", $P1203
 .annotate 'line', 436
-    new $P1219, 'ExceptionHandler'
-    set_addr $P1219, control_1218
-    $P1219."handle_types"(.CONTROL_RETURN)
-    push_eh $P1219
-    .lex "self", self
-    .lex "$/", param_1220
-    find_lex $P1221, "$/"
-    find_lex $P1222, "$/"
-    unless_null $P1222, vivify_412
-    $P1222 = root_new ['parrot';'Hash']
-  vivify_412:
-    set $P1223, $P1222["method_def"]
-    unless_null $P1223, vivify_413
+    new $P1204, "Undef"
+    .lex "$decl", $P1204
+.annotate 'line', 435
+    find_dynamic_lex $P1207, "$*SCOPE"
+    unless_null $P1207, vivify_407
+    get_hll_global $P1207, "$SCOPE"
+    unless_null $P1207, vivify_408
+    die "Contextual $*SCOPE not found"
+  vivify_408:
+  vivify_407:
+    set $S1208, $P1207
+    iseq $I1209, $S1208, "our"
+    if $I1209, if_1206
+    new $P1211, "String"
+    assign $P1211, "lexical"
+    set $P1205, $P1211
+    goto if_1206_end
+  if_1206:
+    new $P1210, "String"
+    assign $P1210, "package"
+    set $P1205, $P1210
+  if_1206_end:
+    store_lex "$scope", $P1205
+.annotate 'line', 436
+    get_hll_global $P1212, ["PAST"], "Var"
+    find_lex $P1213, "$name"
+    find_lex $P1214, "$scope"
+.annotate 'line', 437
+    find_lex $P1215, "$sigil"
+    $P1216 = "vivitype"($P1215)
+    find_lex $P1217, "$/"
+    $P1218 = $P1212."new"($P1213 :named("name"), $P1214 :named("scope"), 1 :named("isdecl"), 1 :named("lvalue"), $P1216 :named("viviself"), $P1217 :named("node"))
+.annotate 'line', 436
+    store_lex "$decl", $P1218
+.annotate 'line', 439
+    find_lex $P1219, "$BLOCK"
+    find_lex $P1220, "$name"
+    find_lex $P1221, "$scope"
+    $P1219."symbol"($P1220, $P1221 :named("scope"))
+.annotate 'line', 440
+    find_lex $P1222, "$BLOCK"
+    unless_null $P1222, vivify_409
+    $P1222 = root_new ['parrot';'ResizablePMCArray']
+  vivify_409:
+    set $P1223, $P1222[0]
+    unless_null $P1223, vivify_410
     new $P1223, "Undef"
-  vivify_413:
-    $P1224 = $P1223."ast"()
-    $P1225 = $P1221."!make"($P1224)
+  vivify_410:
+    find_lex $P1224, "$decl"
+    $P1225 = $P1223."push"($P1224)
+.annotate 'line', 434
     .return ($P1225)
-  control_1218:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1226, exception, "payload"
-    .return ($P1226)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "routine_def"  :subid("76_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1230
-.annotate 'line', 438
-    .const 'Sub' $P1241 = "77_1277356919.52295" 
-    capture_lex $P1241
-    new $P1229, 'ExceptionHandler'
-    set_addr $P1229, control_1228
-    $P1229."handle_types"(.CONTROL_RETURN)
-    push_eh $P1229
-    .lex "self", self
-    .lex "$/", param_1230
-.annotate 'line', 439
-    new $P1231, "Undef"
-    .lex "$past", $P1231
-    find_lex $P1232, "$/"
-    unless_null $P1232, vivify_414
-    $P1232 = root_new ['parrot';'Hash']
-  vivify_414:
-    set $P1233, $P1232["blockoid"]
-    unless_null $P1233, vivify_415
-    new $P1233, "Undef"
-  vivify_415:
-    $P1234 = $P1233."ast"()
-    store_lex "$past", $P1234
-.annotate 'line', 440
-    find_lex $P1235, "$past"
-    $P1235."blocktype"("declaration")
-.annotate 'line', 441
-    find_lex $P1236, "$past"
-    $P1236."control"("return_pir")
-.annotate 'line', 442
-    find_lex $P1238, "$/"
-    unless_null $P1238, vivify_416
-    $P1238 = root_new ['parrot';'Hash']
+.sub "routine_declarator:sym<sub>"  :subid("74_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1233
+.annotate 'line', 445
+    new $P1232, 'ExceptionHandler'
+    set_addr $P1232, control_1231
+    $P1232."handle_types"(.CONTROL_RETURN)
+    push_eh $P1232
+    .lex "self", self
+    .lex "$/", param_1233
+    find_lex $P1234, "$/"
+    find_lex $P1235, "$/"
+    unless_null $P1235, vivify_416
+    $P1235 = root_new ['parrot';'Hash']
   vivify_416:
-    set $P1239, $P1238["deflongname"]
-    unless_null $P1239, vivify_417
-    new $P1239, "Undef"
+    set $P1236, $P1235["routine_def"]
+    unless_null $P1236, vivify_417
+    new $P1236, "Undef"
   vivify_417:
-    unless $P1239, if_1237_end
-    .const 'Sub' $P1241 = "77_1277356919.52295" 
-    capture_lex $P1241
-    $P1241()
-  if_1237_end:
-.annotate 'line', 452
-    find_lex $P1273, "$/"
-    find_lex $P1274, "$past"
-    $P1275 = $P1273."!make"($P1274)
-.annotate 'line', 438
-    .return ($P1275)
-  control_1228:
+    $P1237 = $P1236."ast"()
+    $P1238 = $P1234."!make"($P1237)
+    .return ($P1238)
+  control_1231:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1276, exception, "payload"
-    .return ($P1276)
+    getattribute $P1239, exception, "payload"
+    .return ($P1239)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1240"  :anon :subid("77_1277356919.52295") :outer("76_1277356919.52295")
-.annotate 'line', 443
-    new $P1242, "Undef"
-    .lex "$name", $P1242
-    find_lex $P1243, "$/"
-    unless_null $P1243, vivify_418
-    $P1243 = root_new ['parrot';'Hash']
+.include "except_types.pasm"
+.sub "routine_declarator:sym<method>"  :subid("75_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1243
+.annotate 'line', 446
+    new $P1242, 'ExceptionHandler'
+    set_addr $P1242, control_1241
+    $P1242."handle_types"(.CONTROL_RETURN)
+    push_eh $P1242
+    .lex "self", self
+    .lex "$/", param_1243
+    find_lex $P1244, "$/"
+    find_lex $P1245, "$/"
+    unless_null $P1245, vivify_418
+    $P1245 = root_new ['parrot';'Hash']
   vivify_418:
-    set $P1244, $P1243["sigil"]
-    unless_null $P1244, vivify_419
-    $P1244 = root_new ['parrot';'ResizablePMCArray']
+    set $P1246, $P1245["method_def"]
+    unless_null $P1246, vivify_419
+    new $P1246, "Undef"
   vivify_419:
-    set $P1245, $P1244[0]
-    unless_null $P1245, vivify_420
-    new $P1245, "Undef"
+    $P1247 = $P1246."ast"()
+    $P1248 = $P1244."!make"($P1247)
+    .return ($P1248)
+  control_1241:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1249, exception, "payload"
+    .return ($P1249)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.include "except_types.pasm"
+.sub "routine_def"  :subid("76_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1253
+.annotate 'line', 448
+    .const 'Sub' $P1264 = "77_1278500542.82783" 
+    capture_lex $P1264
+    new $P1252, 'ExceptionHandler'
+    set_addr $P1252, control_1251
+    $P1252."handle_types"(.CONTROL_RETURN)
+    push_eh $P1252
+    .lex "self", self
+    .lex "$/", param_1253
+.annotate 'line', 449
+    new $P1254, "Undef"
+    .lex "$past", $P1254
+    find_lex $P1255, "$/"
+    unless_null $P1255, vivify_420
+    $P1255 = root_new ['parrot';'Hash']
   vivify_420:
-    set $S1246, $P1245
-    new $P1247, 'String'
-    set $P1247, $S1246
-    find_lex $P1248, "$/"
-    unless_null $P1248, vivify_421
-    $P1248 = root_new ['parrot';'Hash']
+    set $P1256, $P1255["blockoid"]
+    unless_null $P1256, vivify_421
+    new $P1256, "Undef"
   vivify_421:
-    set $P1249, $P1248["deflongname"]
-    unless_null $P1249, vivify_422
-    $P1249 = root_new ['parrot';'ResizablePMCArray']
+    $P1257 = $P1256."ast"()
+    store_lex "$past", $P1257
+.annotate 'line', 450
+    find_lex $P1258, "$past"
+    $P1258."blocktype"("declaration")
+.annotate 'line', 451
+    find_lex $P1259, "$past"
+    $P1259."control"("return_pir")
+.annotate 'line', 452
+    find_lex $P1261, "$/"
+    unless_null $P1261, vivify_422
+    $P1261 = root_new ['parrot';'Hash']
   vivify_422:
-    set $P1250, $P1249[0]
-    unless_null $P1250, vivify_423
-    new $P1250, "Undef"
+    set $P1262, $P1261["deflongname"]
+    unless_null $P1262, vivify_423
+    new $P1262, "Undef"
   vivify_423:
-    $S1251 = $P1250."ast"()
-    concat $P1252, $P1247, $S1251
-    store_lex "$name", $P1252
-.annotate 'line', 444
-    find_lex $P1253, "$past"
-    find_lex $P1254, "$name"
-    $P1253."name"($P1254)
-.annotate 'line', 445
-    find_dynamic_lex $P1257, "$*SCOPE"
-    unless_null $P1257, vivify_424
-    get_hll_global $P1257, "$SCOPE"
-    unless_null $P1257, vivify_425
-    die "Contextual $*SCOPE not found"
-  vivify_425:
+    unless $P1262, if_1260_end
+    .const 'Sub' $P1264 = "77_1278500542.82783" 
+    capture_lex $P1264
+    $P1264()
+  if_1260_end:
+.annotate 'line', 462
+    find_lex $P1296, "$/"
+    find_lex $P1297, "$past"
+    $P1298 = $P1296."!make"($P1297)
+.annotate 'line', 448
+    .return ($P1298)
+  control_1251:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1299, exception, "payload"
+    .return ($P1299)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block1263"  :anon :subid("77_1278500542.82783") :outer("76_1278500542.82783")
+.annotate 'line', 453
+    new $P1265, "Undef"
+    .lex "$name", $P1265
+    find_lex $P1266, "$/"
+    unless_null $P1266, vivify_424
+    $P1266 = root_new ['parrot';'Hash']
   vivify_424:
-    set $S1258, $P1257
-    isne $I1259, $S1258, "our"
-    if $I1259, if_1256
-    new $P1255, 'Integer'
-    set $P1255, $I1259
-    goto if_1256_end
-  if_1256:
-.annotate 'line', 446
-    get_global $P1260, "@BLOCK"
-    unless_null $P1260, vivify_426
-    $P1260 = root_new ['parrot';'ResizablePMCArray']
+    set $P1267, $P1266["sigil"]
+    unless_null $P1267, vivify_425
+    $P1267 = root_new ['parrot';'ResizablePMCArray']
+  vivify_425:
+    set $P1268, $P1267[0]
+    unless_null $P1268, vivify_426
+    new $P1268, "Undef"
   vivify_426:
-    set $P1261, $P1260[0]
-    unless_null $P1261, vivify_427
-    $P1261 = root_new ['parrot';'ResizablePMCArray']
+    set $S1269, $P1268
+    new $P1270, 'String'
+    set $P1270, $S1269
+    find_lex $P1271, "$/"
+    unless_null $P1271, vivify_427
+    $P1271 = root_new ['parrot';'Hash']
   vivify_427:
-    set $P1262, $P1261[0]
-    unless_null $P1262, vivify_428
-    new $P1262, "Undef"
+    set $P1272, $P1271["deflongname"]
+    unless_null $P1272, vivify_428
+    $P1272 = root_new ['parrot';'ResizablePMCArray']
   vivify_428:
-    get_hll_global $P1263, ["PAST"], "Var"
-    find_lex $P1264, "$name"
-    find_lex $P1265, "$past"
-    $P1266 = $P1263."new"($P1264 :named("name"), 1 :named("isdecl"), $P1265 :named("viviself"), "lexical" :named("scope"))
-    $P1262."push"($P1266)
-.annotate 'line', 448
-    get_global $P1267, "@BLOCK"
-    unless_null $P1267, vivify_429
-    $P1267 = root_new ['parrot';'ResizablePMCArray']
+    set $P1273, $P1272[0]
+    unless_null $P1273, vivify_429
+    new $P1273, "Undef"
   vivify_429:
-    set $P1268, $P1267[0]
-    unless_null $P1268, vivify_430
-    new $P1268, "Undef"
+    $S1274 = $P1273."ast"()
+    concat $P1275, $P1270, $S1274
+    store_lex "$name", $P1275
+.annotate 'line', 454
+    find_lex $P1276, "$past"
+    find_lex $P1277, "$name"
+    $P1276."name"($P1277)
+.annotate 'line', 455
+    find_dynamic_lex $P1280, "$*SCOPE"
+    unless_null $P1280, vivify_430
+    get_hll_global $P1280, "$SCOPE"
+    unless_null $P1280, vivify_431
+    die "Contextual $*SCOPE not found"
+  vivify_431:
   vivify_430:
-    find_lex $P1269, "$name"
-    $P1268."symbol"($P1269, "lexical" :named("scope"))
-.annotate 'line', 449
-    get_hll_global $P1270, ["PAST"], "Var"
-    find_lex $P1271, "$name"
-    $P1272 = $P1270."new"($P1271 :named("name"))
-    store_lex "$past", $P1272
-.annotate 'line', 445
-    set $P1255, $P1272
-  if_1256_end:
-.annotate 'line', 442
-    .return ($P1255)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "method_def"  :subid("78_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1280
+    set $S1281, $P1280
+    isne $I1282, $S1281, "our"
+    if $I1282, if_1279
+    new $P1278, 'Integer'
+    set $P1278, $I1282
+    goto if_1279_end
+  if_1279:
 .annotate 'line', 456
-    .const 'Sub' $P1296 = "79_1277356919.52295" 
-    capture_lex $P1296
-    new $P1279, 'ExceptionHandler'
-    set_addr $P1279, control_1278
-    $P1279."handle_types"(.CONTROL_RETURN)
-    push_eh $P1279
-    .lex "self", self
-    .lex "$/", param_1280
-.annotate 'line', 457
-    new $P1281, "Undef"
-    .lex "$past", $P1281
-    find_lex $P1282, "$/"
-    unless_null $P1282, vivify_431
-    $P1282 = root_new ['parrot';'Hash']
-  vivify_431:
-    set $P1283, $P1282["blockoid"]
+    get_global $P1283, "@BLOCK"
     unless_null $P1283, vivify_432
-    new $P1283, "Undef"
+    $P1283 = root_new ['parrot';'ResizablePMCArray']
   vivify_432:
-    $P1284 = $P1283."ast"()
-    store_lex "$past", $P1284
-.annotate 'line', 458
-    find_lex $P1285, "$past"
-    $P1285."blocktype"("method")
-.annotate 'line', 459
-    find_lex $P1286, "$past"
-    $P1286."control"("return_pir")
-.annotate 'line', 460
-    find_lex $P1287, "$past"
-    unless_null $P1287, vivify_433
-    $P1287 = root_new ['parrot';'ResizablePMCArray']
+    set $P1284, $P1283[0]
+    unless_null $P1284, vivify_433
+    $P1284 = root_new ['parrot';'ResizablePMCArray']
   vivify_433:
-    set $P1288, $P1287[0]
-    unless_null $P1288, vivify_434
-    new $P1288, "Undef"
+    set $P1285, $P1284[0]
+    unless_null $P1285, vivify_434
+    new $P1285, "Undef"
   vivify_434:
-    get_hll_global $P1289, ["PAST"], "Op"
-    $P1290 = $P1289."new"("    .lex \"self\", self" :named("inline"))
-    $P1288."unshift"($P1290)
-.annotate 'line', 461
-    find_lex $P1291, "$past"
-    $P1291."symbol"("self", "lexical" :named("scope"))
-.annotate 'line', 462
-    find_lex $P1293, "$/"
-    unless_null $P1293, vivify_435
-    $P1293 = root_new ['parrot';'Hash']
+    get_hll_global $P1286, ["PAST"], "Var"
+    find_lex $P1287, "$name"
+    find_lex $P1288, "$past"
+    $P1289 = $P1286."new"($P1287 :named("name"), 1 :named("isdecl"), $P1288 :named("viviself"), "lexical" :named("scope"))
+    $P1285."push"($P1289)
+.annotate 'line', 458
+    get_global $P1290, "@BLOCK"
+    unless_null $P1290, vivify_435
+    $P1290 = root_new ['parrot';'ResizablePMCArray']
   vivify_435:
-    set $P1294, $P1293["deflongname"]
-    unless_null $P1294, vivify_436
-    new $P1294, "Undef"
+    set $P1291, $P1290[0]
+    unless_null $P1291, vivify_436
+    new $P1291, "Undef"
   vivify_436:
-    unless $P1294, if_1292_end
-    .const 'Sub' $P1296 = "79_1277356919.52295" 
-    capture_lex $P1296
-    $P1296()
-  if_1292_end:
-.annotate 'line', 466
-    find_dynamic_lex $P1308, "$*MULTINESS"
-    unless_null $P1308, vivify_440
-    get_hll_global $P1308, "$MULTINESS"
-    unless_null $P1308, vivify_441
-    die "Contextual $*MULTINESS not found"
-  vivify_441:
-  vivify_440:
-    set $S1309, $P1308
-    iseq $I1310, $S1309, "multi"
-    unless $I1310, if_1307_end
-    find_lex $P1311, "$past"
-    $P1312 = $P1311."multi"()
-    $P1312."unshift"("_")
-  if_1307_end:
-.annotate 'line', 467
-    find_lex $P1313, "$/"
-    find_lex $P1314, "$past"
-    $P1315 = $P1313."!make"($P1314)
-.annotate 'line', 456
-    .return ($P1315)
-  control_1278:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1316, exception, "payload"
-    .return ($P1316)
+    find_lex $P1292, "$name"
+    $P1291."symbol"($P1292, "lexical" :named("scope"))
+.annotate 'line', 459
+    get_hll_global $P1293, ["PAST"], "Var"
+    find_lex $P1294, "$name"
+    $P1295 = $P1293."new"($P1294 :named("name"))
+    store_lex "$past", $P1295
+.annotate 'line', 455
+    set $P1278, $P1295
+  if_1279_end:
+.annotate 'line', 452
+    .return ($P1278)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1295"  :anon :subid("79_1277356919.52295") :outer("78_1277356919.52295")
-.annotate 'line', 463
-    new $P1297, "Undef"
-    .lex "$name", $P1297
-    find_lex $P1298, "$/"
-    unless_null $P1298, vivify_437
-    $P1298 = root_new ['parrot';'Hash']
+.include "except_types.pasm"
+.sub "method_def"  :subid("78_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1303
+.annotate 'line', 466
+    .const 'Sub' $P1319 = "79_1278500542.82783" 
+    capture_lex $P1319
+    new $P1302, 'ExceptionHandler'
+    set_addr $P1302, control_1301
+    $P1302."handle_types"(.CONTROL_RETURN)
+    push_eh $P1302
+    .lex "self", self
+    .lex "$/", param_1303
+.annotate 'line', 467
+    new $P1304, "Undef"
+    .lex "$past", $P1304
+    find_lex $P1305, "$/"
+    unless_null $P1305, vivify_437
+    $P1305 = root_new ['parrot';'Hash']
   vivify_437:
-    set $P1299, $P1298["deflongname"]
-    unless_null $P1299, vivify_438
-    $P1299 = root_new ['parrot';'ResizablePMCArray']
+    set $P1306, $P1305["blockoid"]
+    unless_null $P1306, vivify_438
+    new $P1306, "Undef"
   vivify_438:
-    set $P1300, $P1299[0]
-    unless_null $P1300, vivify_439
-    new $P1300, "Undef"
+    $P1307 = $P1306."ast"()
+    store_lex "$past", $P1307
+.annotate 'line', 468
+    find_lex $P1308, "$past"
+    $P1308."blocktype"("method")
+.annotate 'line', 469
+    find_lex $P1309, "$past"
+    $P1309."control"("return_pir")
+.annotate 'line', 470
+    find_lex $P1310, "$past"
+    unless_null $P1310, vivify_439
+    $P1310 = root_new ['parrot';'ResizablePMCArray']
   vivify_439:
-    $P1301 = $P1300."ast"()
-    set $S1302, $P1301
-    new $P1303, 'String'
-    set $P1303, $S1302
-    store_lex "$name", $P1303
-.annotate 'line', 464
-    find_lex $P1304, "$past"
-    find_lex $P1305, "$name"
-    $P1306 = $P1304."name"($P1305)
-.annotate 'line', 462
-    .return ($P1306)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "signature"  :subid("80_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1320
+    set $P1311, $P1310[0]
+    unless_null $P1311, vivify_440
+    new $P1311, "Undef"
+  vivify_440:
+    get_hll_global $P1312, ["PAST"], "Op"
+    $P1313 = $P1312."new"("    .lex \"self\", self" :named("inline"))
+    $P1311."unshift"($P1313)
 .annotate 'line', 471
-    .const 'Sub' $P1346 = "82_1277356919.52295" 
-    capture_lex $P1346
-    .const 'Sub' $P1331 = "81_1277356919.52295" 
-    capture_lex $P1331
-    new $P1319, 'ExceptionHandler'
-    set_addr $P1319, control_1318
-    $P1319."handle_types"(.CONTROL_RETURN)
-    push_eh $P1319
-    .lex "self", self
-    .lex "$/", param_1320
+    find_lex $P1314, "$past"
+    $P1314."symbol"("self", "lexical" :named("scope"))
 .annotate 'line', 472
-    new $P1321, "Undef"
-    .lex "$BLOCKINIT", $P1321
-    get_global $P1322, "@BLOCK"
-    unless_null $P1322, vivify_442
-    $P1322 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1316, "$/"
+    unless_null $P1316, vivify_441
+    $P1316 = root_new ['parrot';'Hash']
+  vivify_441:
+    set $P1317, $P1316["deflongname"]
+    unless_null $P1317, vivify_442
+    new $P1317, "Undef"
   vivify_442:
-    set $P1323, $P1322[0]
-    unless_null $P1323, vivify_443
-    $P1323 = root_new ['parrot';'ResizablePMCArray']
-  vivify_443:
-    set $P1324, $P1323[0]
-    unless_null $P1324, vivify_444
-    new $P1324, "Undef"
-  vivify_444:
-    store_lex "$BLOCKINIT", $P1324
-.annotate 'line', 474
-    find_lex $P1326, "$/"
-    unless_null $P1326, vivify_445
-    $P1326 = root_new ['parrot';'Hash']
-  vivify_445:
-    set $P1327, $P1326["parameter"]
-    unless_null $P1327, vivify_446
-    new $P1327, "Undef"
+    unless $P1317, if_1315_end
+    .const 'Sub' $P1319 = "79_1278500542.82783" 
+    capture_lex $P1319
+    $P1319()
+  if_1315_end:
+.annotate 'line', 476
+    find_dynamic_lex $P1331, "$*MULTINESS"
+    unless_null $P1331, vivify_446
+    get_hll_global $P1331, "$MULTINESS"
+    unless_null $P1331, vivify_447
+    die "Contextual $*MULTINESS not found"
+  vivify_447:
   vivify_446:
-    defined $I1328, $P1327
-    unless $I1328, for_undef_447
-    iter $P1325, $P1327
-    new $P1338, 'ExceptionHandler'
-    set_addr $P1338, loop1337_handler
-    $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_1277356919.52295" 
-    capture_lex $P1331
-    $P1331($P1329)
-  loop1337_next:
-    goto loop1337_test
-  loop1337_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1339, exception, 'type'
-    eq $P1339, .CONTROL_LOOP_NEXT, loop1337_next
-    eq $P1339, .CONTROL_LOOP_REDO, loop1337_redo
-  loop1337_done:
-    pop_eh 
-  for_undef_447:
+    set $S1332, $P1331
+    iseq $I1333, $S1332, "multi"
+    unless $I1333, if_1330_end
+    find_lex $P1334, "$past"
+    $P1335 = $P1334."multi"()
+    $P1335."unshift"("_")
+  if_1330_end:
 .annotate 'line', 477
-    find_dynamic_lex $P1342, "$*MULTINESS"
-    unless_null $P1342, vivify_448
-    get_hll_global $P1342, "$MULTINESS"
-    unless_null $P1342, vivify_449
-    die "Contextual $*MULTINESS not found"
-  vivify_449:
-  vivify_448:
-    set $S1343, $P1342
-    iseq $I1344, $S1343, "multi"
-    if $I1344, if_1341
-    new $P1340, 'Integer'
-    set $P1340, $I1344
-    goto if_1341_end
-  if_1341:
-    .const 'Sub' $P1346 = "82_1277356919.52295" 
-    capture_lex $P1346
-    $P1372 = $P1346()
-    set $P1340, $P1372
-  if_1341_end:
-.annotate 'line', 471
-    .return ($P1340)
-  control_1318:
+    find_lex $P1336, "$/"
+    find_lex $P1337, "$past"
+    $P1338 = $P1336."!make"($P1337)
+.annotate 'line', 466
+    .return ($P1338)
+  control_1301:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1373, exception, "payload"
-    .return ($P1373)
+    getattribute $P1339, exception, "payload"
+    .return ($P1339)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1330"  :anon :subid("81_1277356919.52295") :outer("80_1277356919.52295")
-    .param pmc param_1332
+.sub "_block1318"  :anon :subid("79_1278500542.82783") :outer("78_1278500542.82783")
+.annotate 'line', 473
+    new $P1320, "Undef"
+    .lex "$name", $P1320
+    find_lex $P1321, "$/"
+    unless_null $P1321, vivify_443
+    $P1321 = root_new ['parrot';'Hash']
+  vivify_443:
+    set $P1322, $P1321["deflongname"]
+    unless_null $P1322, vivify_444
+    $P1322 = root_new ['parrot';'ResizablePMCArray']
+  vivify_444:
+    set $P1323, $P1322[0]
+    unless_null $P1323, vivify_445
+    new $P1323, "Undef"
+  vivify_445:
+    $P1324 = $P1323."ast"()
+    set $S1325, $P1324
+    new $P1326, 'String'
+    set $P1326, $S1325
+    store_lex "$name", $P1326
 .annotate 'line', 474
-    .lex "$_", param_1332
-    find_lex $P1333, "$BLOCKINIT"
-    find_lex $P1334, "$_"
-    $P1335 = $P1334."ast"()
-    $P1336 = $P1333."push"($P1335)
-    .return ($P1336)
+    find_lex $P1327, "$past"
+    find_lex $P1328, "$name"
+    $P1329 = $P1327."name"($P1328)
+.annotate 'line', 472
+    .return ($P1329)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "_block1345"  :anon :subid("82_1277356919.52295") :outer("80_1277356919.52295")
-.annotate 'line', 477
-    .const 'Sub' $P1355 = "83_1277356919.52295" 
-    capture_lex $P1355
-.annotate 'line', 478
-    $P1347 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@params", $P1347
-.annotate 'line', 477
-    find_lex $P1348, "@params"
-.annotate 'line', 479
-    find_lex $P1350, "$BLOCKINIT"
-    $P1351 = $P1350."list"()
-    defined $I1352, $P1351
-    unless $I1352, for_undef_450
-    iter $P1349, $P1351
-    new $P1366, 'ExceptionHandler'
-    set_addr $P1366, loop1365_handler
-    $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_1277356919.52295" 
-    capture_lex $P1355
-    $P1355($P1353)
-  loop1365_next:
-    goto loop1365_test
-  loop1365_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1367, exception, 'type'
-    eq $P1367, .CONTROL_LOOP_NEXT, loop1365_next
-    eq $P1367, .CONTROL_LOOP_REDO, loop1365_redo
-  loop1365_done:
-    pop_eh 
-  for_undef_450:
+.sub "signature"  :subid("80_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1343
+.annotate 'line', 481
+    .const 'Sub' $P1369 = "82_1278500542.82783" 
+    capture_lex $P1369
+    .const 'Sub' $P1354 = "81_1278500542.82783" 
+    capture_lex $P1354
+    new $P1342, 'ExceptionHandler'
+    set_addr $P1342, control_1341
+    $P1342."handle_types"(.CONTROL_RETURN)
+    push_eh $P1342
+    .lex "self", self
+    .lex "$/", param_1343
 .annotate 'line', 482
-    get_global $P1368, "@BLOCK"
-    unless_null $P1368, vivify_451
-    $P1368 = root_new ['parrot';'ResizablePMCArray']
+    new $P1344, "Undef"
+    .lex "$BLOCKINIT", $P1344
+    get_global $P1345, "@BLOCK"
+    unless_null $P1345, vivify_448
+    $P1345 = root_new ['parrot';'ResizablePMCArray']
+  vivify_448:
+    set $P1346, $P1345[0]
+    unless_null $P1346, vivify_449
+    $P1346 = root_new ['parrot';'ResizablePMCArray']
+  vivify_449:
+    set $P1347, $P1346[0]
+    unless_null $P1347, vivify_450
+    new $P1347, "Undef"
+  vivify_450:
+    store_lex "$BLOCKINIT", $P1347
+.annotate 'line', 484
+    find_lex $P1349, "$/"
+    unless_null $P1349, vivify_451
+    $P1349 = root_new ['parrot';'Hash']
   vivify_451:
-    set $P1369, $P1368[0]
-    unless_null $P1369, vivify_452
-    new $P1369, "Undef"
+    set $P1350, $P1349["parameter"]
+    unless_null $P1350, vivify_452
+    new $P1350, "Undef"
   vivify_452:
-    find_lex $P1370, "@params"
-    $P1371 = $P1369."multi"($P1370)
-.annotate 'line', 477
-    .return ($P1371)
+    defined $I1351, $P1350
+    unless $I1351, for_undef_453
+    iter $P1348, $P1350
+    new $P1361, 'ExceptionHandler'
+    set_addr $P1361, loop1360_handler
+    $P1361."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P1361
+  loop1360_test:
+    unless $P1348, loop1360_done
+    shift $P1352, $P1348
+  loop1360_redo:
+    .const 'Sub' $P1354 = "81_1278500542.82783" 
+    capture_lex $P1354
+    $P1354($P1352)
+  loop1360_next:
+    goto loop1360_test
+  loop1360_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1362, exception, 'type'
+    eq $P1362, .CONTROL_LOOP_NEXT, loop1360_next
+    eq $P1362, .CONTROL_LOOP_REDO, loop1360_redo
+  loop1360_done:
+    pop_eh 
+  for_undef_453:
+.annotate 'line', 487
+    find_dynamic_lex $P1365, "$*MULTINESS"
+    unless_null $P1365, vivify_454
+    get_hll_global $P1365, "$MULTINESS"
+    unless_null $P1365, vivify_455
+    die "Contextual $*MULTINESS not found"
+  vivify_455:
+  vivify_454:
+    set $S1366, $P1365
+    iseq $I1367, $S1366, "multi"
+    if $I1367, if_1364
+    new $P1363, 'Integer'
+    set $P1363, $I1367
+    goto if_1364_end
+  if_1364:
+    .const 'Sub' $P1369 = "82_1278500542.82783" 
+    capture_lex $P1369
+    $P1395 = $P1369()
+    set $P1363, $P1395
+  if_1364_end:
+.annotate 'line', 481
+    .return ($P1363)
+  control_1341:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1396, exception, "payload"
+    .return ($P1396)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1354"  :anon :subid("83_1277356919.52295") :outer("82_1277356919.52295")
-    .param pmc param_1356
-.annotate 'line', 479
-    .lex "$_", param_1356
-.annotate 'line', 480
-    find_lex $P1357, "@params"
-    find_lex $P1359, "$_"
-    $P1360 = $P1359."multitype"()
-    set $P1358, $P1360
-    defined $I1362, $P1358
-    if $I1362, default_1361
-    new $P1363, "String"
-    assign $P1363, "_"
-    set $P1358, $P1363
-  default_1361:
-    $P1364 = $P1357."push"($P1358)
-.annotate 'line', 479
-    .return ($P1364)
+.sub "_block1353"  :anon :subid("81_1278500542.82783") :outer("80_1278500542.82783")
+    .param pmc param_1355
+.annotate 'line', 484
+    .lex "$_", param_1355
+    find_lex $P1356, "$BLOCKINIT"
+    find_lex $P1357, "$_"
+    $P1358 = $P1357."ast"()
+    $P1359 = $P1356."push"($P1358)
+    .return ($P1359)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "parameter"  :subid("84_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1377
-.annotate 'line', 486
-    .const 'Sub' $P1458 = "85_1277356919.52295" 
-    capture_lex $P1458
-    new $P1376, 'ExceptionHandler'
-    set_addr $P1376, control_1375
-    $P1376."handle_types"(.CONTROL_RETURN)
-    push_eh $P1376
-    .lex "self", self
-    .lex "$/", param_1377
+.sub "_block1368"  :anon :subid("82_1278500542.82783") :outer("80_1278500542.82783")
 .annotate 'line', 487
-    new $P1378, "Undef"
-    .lex "$quant", $P1378
+    .const 'Sub' $P1378 = "83_1278500542.82783" 
+    capture_lex $P1378
 .annotate 'line', 488
-    new $P1379, "Undef"
-    .lex "$past", $P1379
+    $P1370 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@params", $P1370
 .annotate 'line', 487
-    find_lex $P1380, "$/"
-    unless_null $P1380, vivify_453
-    $P1380 = root_new ['parrot';'Hash']
-  vivify_453:
-    set $P1381, $P1380["quant"]
-    unless_null $P1381, vivify_454
-    new $P1381, "Undef"
-  vivify_454:
-    store_lex "$quant", $P1381
-    find_lex $P1382, "$past"
+    find_lex $P1371, "@params"
 .annotate 'line', 489
-    find_lex $P1384, "$/"
-    unless_null $P1384, vivify_455
-    $P1384 = root_new ['parrot';'Hash']
-  vivify_455:
-    set $P1385, $P1384["named_param"]
-    unless_null $P1385, vivify_456
-    new $P1385, "Undef"
-  vivify_456:
-    if $P1385, if_1383
-.annotate 'line', 496
-    find_lex $P1399, "$/"
-    unless_null $P1399, vivify_457
-    $P1399 = root_new ['parrot';'Hash']
+    find_lex $P1373, "$BLOCKINIT"
+    $P1374 = $P1373."list"()
+    defined $I1375, $P1374
+    unless $I1375, for_undef_456
+    iter $P1372, $P1374
+    new $P1389, 'ExceptionHandler'
+    set_addr $P1389, loop1388_handler
+    $P1389."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P1389
+  loop1388_test:
+    unless $P1372, loop1388_done
+    shift $P1376, $P1372
+  loop1388_redo:
+    .const 'Sub' $P1378 = "83_1278500542.82783" 
+    capture_lex $P1378
+    $P1378($P1376)
+  loop1388_next:
+    goto loop1388_test
+  loop1388_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1390, exception, 'type'
+    eq $P1390, .CONTROL_LOOP_NEXT, loop1388_next
+    eq $P1390, .CONTROL_LOOP_REDO, loop1388_redo
+  loop1388_done:
+    pop_eh 
+  for_undef_456:
+.annotate 'line', 492
+    get_global $P1391, "@BLOCK"
+    unless_null $P1391, vivify_457
+    $P1391 = root_new ['parrot';'ResizablePMCArray']
   vivify_457:
-    set $P1400, $P1399["param_var"]
-    unless_null $P1400, vivify_458
-    new $P1400, "Undef"
+    set $P1392, $P1391[0]
+    unless_null $P1392, vivify_458
+    new $P1392, "Undef"
   vivify_458:
-    $P1401 = $P1400."ast"()
-    store_lex "$past", $P1401
+    find_lex $P1393, "@params"
+    $P1394 = $P1392."multi"($P1393)
+.annotate 'line', 487
+    .return ($P1394)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block1377"  :anon :subid("83_1278500542.82783") :outer("82_1278500542.82783")
+    .param pmc param_1379
+.annotate 'line', 489
+    .lex "$_", param_1379
+.annotate 'line', 490
+    find_lex $P1380, "@params"
+    find_lex $P1382, "$_"
+    $P1383 = $P1382."multitype"()
+    set $P1381, $P1383
+    defined $I1385, $P1381
+    if $I1385, default_1384
+    new $P1386, "String"
+    assign $P1386, "_"
+    set $P1381, $P1386
+  default_1384:
+    $P1387 = $P1380."push"($P1381)
+.annotate 'line', 489
+    .return ($P1387)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.include "except_types.pasm"
+.sub "parameter"  :subid("84_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1400
+.annotate 'line', 496
+    .const 'Sub' $P1481 = "85_1278500542.82783" 
+    capture_lex $P1481
+    new $P1399, 'ExceptionHandler'
+    set_addr $P1399, control_1398
+    $P1399."handle_types"(.CONTROL_RETURN)
+    push_eh $P1399
+    .lex "self", self
+    .lex "$/", param_1400
 .annotate 'line', 497
-    find_lex $P1403, "$quant"
-    set $S1404, $P1403
-    iseq $I1405, $S1404, "*"
-    if $I1405, if_1402
-.annotate 'line', 501
-    find_lex $P1414, "$quant"
-    set $S1415, $P1414
-    iseq $I1416, $S1415, "?"
-    unless $I1416, if_1413_end
-.annotate 'line', 502
-    find_lex $P1417, "$past"
-    find_lex $P1418, "$/"
-    unless_null $P1418, vivify_459
-    $P1418 = root_new ['parrot';'Hash']
+    new $P1401, "Undef"
+    .lex "$quant", $P1401
+.annotate 'line', 498
+    new $P1402, "Undef"
+    .lex "$past", $P1402
+.annotate 'line', 497
+    find_lex $P1403, "$/"
+    unless_null $P1403, vivify_459
+    $P1403 = root_new ['parrot';'Hash']
   vivify_459:
-    set $P1419, $P1418["param_var"]
-    unless_null $P1419, vivify_460
-    $P1419 = root_new ['parrot';'Hash']
+    set $P1404, $P1403["quant"]
+    unless_null $P1404, vivify_460
+    new $P1404, "Undef"
   vivify_460:
-    set $P1420, $P1419["sigil"]
-    unless_null $P1420, vivify_461
-    new $P1420, "Undef"
-  vivify_461:
-    $P1421 = "vivitype"($P1420)
-    $P1417."viviself"($P1421)
-  if_1413_end:
-.annotate 'line', 501
-    goto if_1402_end
-  if_1402:
-.annotate 'line', 498
-    find_lex $P1406, "$past"
-    $P1406."slurpy"(1)
+    store_lex "$quant", $P1404
+    find_lex $P1405, "$past"
 .annotate 'line', 499
-    find_lex $P1407, "$past"
-    find_lex $P1408, "$/"
+    find_lex $P1407, "$/"
+    unless_null $P1407, vivify_461
+    $P1407 = root_new ['parrot';'Hash']
+  vivify_461:
+    set $P1408, $P1407["named_param"]
     unless_null $P1408, vivify_462
-    $P1408 = root_new ['parrot';'Hash']
+    new $P1408, "Undef"
   vivify_462:
-    set $P1409, $P1408["param_var"]
-    unless_null $P1409, vivify_463
-    $P1409 = root_new ['parrot';'Hash']
+    if $P1408, if_1406
+.annotate 'line', 506
+    find_lex $P1422, "$/"
+    unless_null $P1422, vivify_463
+    $P1422 = root_new ['parrot';'Hash']
   vivify_463:
-    set $P1410, $P1409["sigil"]
-    unless_null $P1410, vivify_464
-    new $P1410, "Undef"
+    set $P1423, $P1422["param_var"]
+    unless_null $P1423, vivify_464
+    new $P1423, "Undef"
   vivify_464:
-    set $S1411, $P1410
-    iseq $I1412, $S1411, "%"
-    $P1407."named"($I1412)
-  if_1402_end:
-.annotate 'line', 495
-    goto if_1383_end
-  if_1383:
-.annotate 'line', 490
-    find_lex $P1386, "$/"
-    unless_null $P1386, vivify_465
-    $P1386 = root_new ['parrot';'Hash']
+    $P1424 = $P1423."ast"()
+    store_lex "$past", $P1424
+.annotate 'line', 507
+    find_lex $P1426, "$quant"
+    set $S1427, $P1426
+    iseq $I1428, $S1427, "*"
+    if $I1428, if_1425
+.annotate 'line', 511
+    find_lex $P1437, "$quant"
+    set $S1438, $P1437
+    iseq $I1439, $S1438, "?"
+    unless $I1439, if_1436_end
+.annotate 'line', 512
+    find_lex $P1440, "$past"
+    find_lex $P1441, "$/"
+    unless_null $P1441, vivify_465
+    $P1441 = root_new ['parrot';'Hash']
   vivify_465:
-    set $P1387, $P1386["named_param"]
-    unless_null $P1387, vivify_466
-    new $P1387, "Undef"
+    set $P1442, $P1441["param_var"]
+    unless_null $P1442, vivify_466
+    $P1442 = root_new ['parrot';'Hash']
   vivify_466:
-    $P1388 = $P1387."ast"()
-    store_lex "$past", $P1388
-.annotate 'line', 491
-    find_lex $P1390, "$quant"
-    set $S1391, $P1390
-    isne $I1392, $S1391, "!"
-    unless $I1392, if_1389_end
-.annotate 'line', 492
-    find_lex $P1393, "$past"
-    find_lex $P1394, "$/"
-    unless_null $P1394, vivify_467
-    $P1394 = root_new ['parrot';'Hash']
+    set $P1443, $P1442["sigil"]
+    unless_null $P1443, vivify_467
+    new $P1443, "Undef"
   vivify_467:
-    set $P1395, $P1394["named_param"]
-    unless_null $P1395, vivify_468
-    $P1395 = root_new ['parrot';'Hash']
+    $P1444 = "vivitype"($P1443)
+    $P1440."viviself"($P1444)
+  if_1436_end:
+.annotate 'line', 511
+    goto if_1425_end
+  if_1425:
+.annotate 'line', 508
+    find_lex $P1429, "$past"
+    $P1429."slurpy"(1)
+.annotate 'line', 509
+    find_lex $P1430, "$past"
+    find_lex $P1431, "$/"
+    unless_null $P1431, vivify_468
+    $P1431 = root_new ['parrot';'Hash']
   vivify_468:
-    set $P1396, $P1395["param_var"]
-    unless_null $P1396, vivify_469
-    $P1396 = root_new ['parrot';'Hash']
+    set $P1432, $P1431["param_var"]
+    unless_null $P1432, vivify_469
+    $P1432 = root_new ['parrot';'Hash']
   vivify_469:
-    set $P1397, $P1396["sigil"]
-    unless_null $P1397, vivify_470
-    new $P1397, "Undef"
+    set $P1433, $P1432["sigil"]
+    unless_null $P1433, vivify_470
+    new $P1433, "Undef"
   vivify_470:
-    $P1398 = "vivitype"($P1397)
-    $P1393."viviself"($P1398)
-  if_1389_end:
-  if_1383_end:
+    set $S1434, $P1433
+    iseq $I1435, $S1434, "%"
+    $P1430."named"($I1435)
+  if_1425_end:
 .annotate 'line', 505
-    find_lex $P1423, "$/"
-    unless_null $P1423, vivify_471
-    $P1423 = root_new ['parrot';'Hash']
+    goto if_1406_end
+  if_1406:
+.annotate 'line', 500
+    find_lex $P1409, "$/"
+    unless_null $P1409, vivify_471
+    $P1409 = root_new ['parrot';'Hash']
   vivify_471:
-    set $P1424, $P1423["default_value"]
-    unless_null $P1424, vivify_472
-    new $P1424, "Undef"
+    set $P1410, $P1409["named_param"]
+    unless_null $P1410, vivify_472
+    new $P1410, "Undef"
   vivify_472:
-    unless $P1424, if_1422_end
-.annotate 'line', 506
-    find_lex $P1426, "$quant"
-    set $S1427, $P1426
-    iseq $I1428, $S1427, "*"
-    unless $I1428, if_1425_end
-.annotate 'line', 507
-    find_lex $P1429, "$/"
-    $P1430 = $P1429."CURSOR"()
-    $P1430."panic"("Can't put default on slurpy parameter")
-  if_1425_end:
-.annotate 'line', 509
-    find_lex $P1432, "$quant"
-    set $S1433, $P1432
-    iseq $I1434, $S1433, "!"
-    unless $I1434, if_1431_end
-.annotate 'line', 510
-    find_lex $P1435, "$/"
-    $P1436 = $P1435."CURSOR"()
-    $P1436."panic"("Can't put default on required parameter")
-  if_1431_end:
-.annotate 'line', 512
-    find_lex $P1437, "$past"
-    find_lex $P1438, "$/"
-    unless_null $P1438, vivify_473
-    $P1438 = root_new ['parrot';'Hash']
+    $P1411 = $P1410."ast"()
+    store_lex "$past", $P1411
+.annotate 'line', 501
+    find_lex $P1413, "$quant"
+    set $S1414, $P1413
+    isne $I1415, $S1414, "!"
+    unless $I1415, if_1412_end
+.annotate 'line', 502
+    find_lex $P1416, "$past"
+    find_lex $P1417, "$/"
+    unless_null $P1417, vivify_473
+    $P1417 = root_new ['parrot';'Hash']
   vivify_473:
-    set $P1439, $P1438["default_value"]
-    unless_null $P1439, vivify_474
-    $P1439 = root_new ['parrot';'ResizablePMCArray']
+    set $P1418, $P1417["named_param"]
+    unless_null $P1418, vivify_474
+    $P1418 = root_new ['parrot';'Hash']
   vivify_474:
-    set $P1440, $P1439[0]
-    unless_null $P1440, vivify_475
-    $P1440 = root_new ['parrot';'Hash']
+    set $P1419, $P1418["param_var"]
+    unless_null $P1419, vivify_475
+    $P1419 = root_new ['parrot';'Hash']
   vivify_475:
-    set $P1441, $P1440["EXPR"]
-    unless_null $P1441, vivify_476
-    new $P1441, "Undef"
+    set $P1420, $P1419["sigil"]
+    unless_null $P1420, vivify_476
+    new $P1420, "Undef"
   vivify_476:
-    $P1442 = $P1441."ast"()
-    $P1437."viviself"($P1442)
-  if_1422_end:
-.annotate 'line', 514
-    find_lex $P1444, "$past"
-    $P1445 = $P1444."viviself"()
-    if $P1445, unless_1443_end
-    get_global $P1446, "@BLOCK"
+    $P1421 = "vivitype"($P1420)
+    $P1416."viviself"($P1421)
+  if_1412_end:
+  if_1406_end:
+.annotate 'line', 515
+    find_lex $P1446, "$/"
     unless_null $P1446, vivify_477
-    $P1446 = root_new ['parrot';'ResizablePMCArray']
+    $P1446 = root_new ['parrot';'Hash']
   vivify_477:
-    set $P1447, $P1446[0]
+    set $P1447, $P1446["default_value"]
     unless_null $P1447, vivify_478
     new $P1447, "Undef"
   vivify_478:
-    get_global $P1448, "@BLOCK"
-    unless_null $P1448, vivify_479
-    $P1448 = root_new ['parrot';'ResizablePMCArray']
+    unless $P1447, if_1445_end
+.annotate 'line', 516
+    find_lex $P1449, "$quant"
+    set $S1450, $P1449
+    iseq $I1451, $S1450, "*"
+    unless $I1451, if_1448_end
+.annotate 'line', 517
+    find_lex $P1452, "$/"
+    $P1453 = $P1452."CURSOR"()
+    $P1453."panic"("Can't put default on slurpy parameter")
+  if_1448_end:
+.annotate 'line', 519
+    find_lex $P1455, "$quant"
+    set $S1456, $P1455
+    iseq $I1457, $S1456, "!"
+    unless $I1457, if_1454_end
+.annotate 'line', 520
+    find_lex $P1458, "$/"
+    $P1459 = $P1458."CURSOR"()
+    $P1459."panic"("Can't put default on required parameter")
+  if_1454_end:
+.annotate 'line', 522
+    find_lex $P1460, "$past"
+    find_lex $P1461, "$/"
+    unless_null $P1461, vivify_479
+    $P1461 = root_new ['parrot';'Hash']
   vivify_479:
-    set $P1449, $P1448[0]
-    unless_null $P1449, vivify_480
-    new $P1449, "Undef"
+    set $P1462, $P1461["default_value"]
+    unless_null $P1462, vivify_480
+    $P1462 = root_new ['parrot';'ResizablePMCArray']
   vivify_480:
-    $P1450 = $P1449."arity"()
-    set $N1451, $P1450
-    new $P1452, 'Float'
-    set $P1452, $N1451
-    add $P1453, $P1452, 1
-    $P1447."arity"($P1453)
-  unless_1443_end:
-.annotate 'line', 517
-    find_lex $P1455, "$/"
-    unless_null $P1455, vivify_481
-    $P1455 = root_new ['parrot';'Hash']
+    set $P1463, $P1462[0]
+    unless_null $P1463, vivify_481
+    $P1463 = root_new ['parrot';'Hash']
   vivify_481:
-    set $P1456, $P1455["typename"]
-    unless_null $P1456, vivify_482
-    new $P1456, "Undef"
+    set $P1464, $P1463["EXPR"]
+    unless_null $P1464, vivify_482
+    new $P1464, "Undef"
   vivify_482:
-    unless $P1456, if_1454_end
-    .const 'Sub' $P1458 = "85_1277356919.52295" 
-    capture_lex $P1458
-    $P1458()
-  if_1454_end:
-.annotate 'line', 523
-    find_lex $P1482, "$/"
-    find_lex $P1483, "$past"
-    $P1484 = $P1482."!make"($P1483)
-.annotate 'line', 486
-    .return ($P1484)
-  control_1375:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1485, exception, "payload"
-    .return ($P1485)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "_block1457"  :anon :subid("85_1277356919.52295") :outer("84_1277356919.52295")
-.annotate 'line', 517
-    .const 'Sub' $P1470 = "86_1277356919.52295" 
-    capture_lex $P1470
-.annotate 'line', 518
-    $P1459 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@multitype", $P1459
-.annotate 'line', 517
-    find_lex $P1460, "@multitype"
-.annotate 'line', 519
-    find_lex $P1462, "$/"
-    unless_null $P1462, vivify_483
-    $P1462 = root_new ['parrot';'Hash']
+    $P1465 = $P1464."ast"()
+    $P1460."viviself"($P1465)
+  if_1445_end:
+.annotate 'line', 524
+    find_lex $P1467, "$past"
+    $P1468 = $P1467."viviself"()
+    if $P1468, unless_1466_end
+    get_global $P1469, "@BLOCK"
+    unless_null $P1469, vivify_483
+    $P1469 = root_new ['parrot';'ResizablePMCArray']
   vivify_483:
-    set $P1463, $P1462["typename"]
-    unless_null $P1463, vivify_484
-    $P1463 = root_new ['parrot';'ResizablePMCArray']
+    set $P1470, $P1469[0]
+    unless_null $P1470, vivify_484
+    new $P1470, "Undef"
   vivify_484:
-    set $P1464, $P1463[0]
-    unless_null $P1464, vivify_485
-    $P1464 = root_new ['parrot';'Hash']
+    get_global $P1471, "@BLOCK"
+    unless_null $P1471, vivify_485
+    $P1471 = root_new ['parrot';'ResizablePMCArray']
   vivify_485:
-    set $P1465, $P1464["name"]
-    unless_null $P1465, vivify_486
-    $P1465 = root_new ['parrot';'Hash']
+    set $P1472, $P1471[0]
+    unless_null $P1472, vivify_486
+    new $P1472, "Undef"
   vivify_486:
-    set $P1466, $P1465["identifier"]
-    unless_null $P1466, vivify_487
-    new $P1466, "Undef"
+    $P1473 = $P1472."arity"()
+    set $N1474, $P1473
+    new $P1475, 'Float'
+    set $P1475, $N1474
+    add $P1476, $P1475, 1
+    $P1470."arity"($P1476)
+  unless_1466_end:
+.annotate 'line', 527
+    find_lex $P1478, "$/"
+    unless_null $P1478, vivify_487
+    $P1478 = root_new ['parrot';'Hash']
   vivify_487:
-    defined $I1467, $P1466
-    unless $I1467, for_undef_488
-    iter $P1461, $P1466
-    new $P1477, 'ExceptionHandler'
-    set_addr $P1477, loop1476_handler
-    $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_1277356919.52295" 
-    capture_lex $P1470
-    $P1470($P1468)
-  loop1476_next:
-    goto loop1476_test
-  loop1476_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1478, exception, 'type'
-    eq $P1478, .CONTROL_LOOP_NEXT, loop1476_next
-    eq $P1478, .CONTROL_LOOP_REDO, loop1476_redo
-  loop1476_done:
-    pop_eh 
-  for_undef_488:
-.annotate 'line', 520
-    find_lex $P1479, "$past"
-    find_lex $P1480, "@multitype"
-    $P1481 = $P1479."multitype"($P1480)
-.annotate 'line', 517
-    .return ($P1481)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "_block1469"  :anon :subid("86_1277356919.52295") :outer("85_1277356919.52295")
-    .param pmc param_1471
-.annotate 'line', 519
-    .lex "$_", param_1471
-    find_lex $P1472, "@multitype"
-    find_lex $P1473, "$_"
-    set $S1474, $P1473
-    $P1475 = $P1472."push"($S1474)
-    .return ($P1475)
+    set $P1479, $P1478["typename"]
+    unless_null $P1479, vivify_488
+    new $P1479, "Undef"
+  vivify_488:
+    unless $P1479, if_1477_end
+    .const 'Sub' $P1481 = "85_1278500542.82783" 
+    capture_lex $P1481
+    $P1481()
+  if_1477_end:
+.annotate 'line', 533
+    find_lex $P1505, "$/"
+    find_lex $P1506, "$past"
+    $P1507 = $P1505."!make"($P1506)
+.annotate 'line', 496
+    .return ($P1507)
+  control_1398:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1508, exception, "payload"
+    .return ($P1508)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "param_var"  :subid("87_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1489
-.annotate 'line', 526
-    new $P1488, 'ExceptionHandler'
-    set_addr $P1488, control_1487
-    $P1488."handle_types"(.CONTROL_RETURN)
-    push_eh $P1488
-    .lex "self", self
-    .lex "$/", param_1489
+.sub "_block1480"  :anon :subid("85_1278500542.82783") :outer("84_1278500542.82783")
 .annotate 'line', 527
-    new $P1490, "Undef"
-    .lex "$name", $P1490
+    .const 'Sub' $P1493 = "86_1278500542.82783" 
+    capture_lex $P1493
 .annotate 'line', 528
-    new $P1491, "Undef"
-    .lex "$past", $P1491
+    $P1482 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@multitype", $P1482
 .annotate 'line', 527
-    find_lex $P1492, "$/"
-    set $S1493, $P1492
-    new $P1494, 'String'
-    set $P1494, $S1493
-    store_lex "$name", $P1494
-.annotate 'line', 528
-    get_hll_global $P1495, ["PAST"], "Var"
-    find_lex $P1496, "$name"
-    find_lex $P1497, "$/"
-    $P1498 = $P1495."new"($P1496 :named("name"), "parameter" :named("scope"), 1 :named("isdecl"), $P1497 :named("node"))
-    store_lex "$past", $P1498
-.annotate 'line', 530
-    get_global $P1499, "@BLOCK"
-    unless_null $P1499, vivify_489
-    $P1499 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1483, "@multitype"
+.annotate 'line', 529
+    find_lex $P1485, "$/"
+    unless_null $P1485, vivify_489
+    $P1485 = root_new ['parrot';'Hash']
   vivify_489:
-    set $P1500, $P1499[0]
-    unless_null $P1500, vivify_490
-    new $P1500, "Undef"
+    set $P1486, $P1485["typename"]
+    unless_null $P1486, vivify_490
+    $P1486 = root_new ['parrot';'ResizablePMCArray']
   vivify_490:
-    find_lex $P1501, "$name"
-    $P1500."symbol"($P1501, "lexical" :named("scope"))
-.annotate 'line', 531
-    find_lex $P1502, "$/"
-    find_lex $P1503, "$past"
-    $P1504 = $P1502."!make"($P1503)
-.annotate 'line', 526
+    set $P1487, $P1486[0]
+    unless_null $P1487, vivify_491
+    $P1487 = root_new ['parrot';'Hash']
+  vivify_491:
+    set $P1488, $P1487["name"]
+    unless_null $P1488, vivify_492
+    $P1488 = root_new ['parrot';'Hash']
+  vivify_492:
+    set $P1489, $P1488["identifier"]
+    unless_null $P1489, vivify_493
+    new $P1489, "Undef"
+  vivify_493:
+    defined $I1490, $P1489
+    unless $I1490, for_undef_494
+    iter $P1484, $P1489
+    new $P1500, 'ExceptionHandler'
+    set_addr $P1500, loop1499_handler
+    $P1500."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P1500
+  loop1499_test:
+    unless $P1484, loop1499_done
+    shift $P1491, $P1484
+  loop1499_redo:
+    .const 'Sub' $P1493 = "86_1278500542.82783" 
+    capture_lex $P1493
+    $P1493($P1491)
+  loop1499_next:
+    goto loop1499_test
+  loop1499_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1501, exception, 'type'
+    eq $P1501, .CONTROL_LOOP_NEXT, loop1499_next
+    eq $P1501, .CONTROL_LOOP_REDO, loop1499_redo
+  loop1499_done:
+    pop_eh 
+  for_undef_494:
+.annotate 'line', 530
+    find_lex $P1502, "$past"
+    find_lex $P1503, "@multitype"
+    $P1504 = $P1502."multitype"($P1503)
+.annotate 'line', 527
     .return ($P1504)
-  control_1487:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1505, exception, "payload"
-    .return ($P1505)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.sub "_block1492"  :anon :subid("86_1278500542.82783") :outer("85_1278500542.82783")
+    .param pmc param_1494
+.annotate 'line', 529
+    .lex "$_", param_1494
+    find_lex $P1495, "@multitype"
+    find_lex $P1496, "$_"
+    set $S1497, $P1496
+    $P1498 = $P1495."push"($S1497)
+    .return ($P1498)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "named_param"  :subid("88_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1509
-.annotate 'line', 534
-    new $P1508, 'ExceptionHandler'
-    set_addr $P1508, control_1507
-    $P1508."handle_types"(.CONTROL_RETURN)
-    push_eh $P1508
-    .lex "self", self
-    .lex "$/", param_1509
-.annotate 'line', 535
-    new $P1510, "Undef"
-    .lex "$past", $P1510
-    find_lex $P1511, "$/"
-    unless_null $P1511, vivify_491
-    $P1511 = root_new ['parrot';'Hash']
-  vivify_491:
-    set $P1512, $P1511["param_var"]
-    unless_null $P1512, vivify_492
-    new $P1512, "Undef"
-  vivify_492:
-    $P1513 = $P1512."ast"()
-    store_lex "$past", $P1513
+.sub "param_var"  :subid("87_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1512
 .annotate 'line', 536
-    find_lex $P1514, "$past"
+    new $P1511, 'ExceptionHandler'
+    set_addr $P1511, control_1510
+    $P1511."handle_types"(.CONTROL_RETURN)
+    push_eh $P1511
+    .lex "self", self
+    .lex "$/", param_1512
+.annotate 'line', 537
+    new $P1513, "Undef"
+    .lex "$name", $P1513
+.annotate 'line', 538
+    new $P1514, "Undef"
+    .lex "$past", $P1514
+.annotate 'line', 537
     find_lex $P1515, "$/"
-    unless_null $P1515, vivify_493
-    $P1515 = root_new ['parrot';'Hash']
-  vivify_493:
-    set $P1516, $P1515["param_var"]
-    unless_null $P1516, vivify_494
-    $P1516 = root_new ['parrot';'Hash']
-  vivify_494:
-    set $P1517, $P1516["name"]
-    unless_null $P1517, vivify_495
-    new $P1517, "Undef"
+    set $S1516, $P1515
+    new $P1517, 'String'
+    set $P1517, $S1516
+    store_lex "$name", $P1517
+.annotate 'line', 538
+    get_hll_global $P1518, ["PAST"], "Var"
+    find_lex $P1519, "$name"
+    find_lex $P1520, "$/"
+    $P1521 = $P1518."new"($P1519 :named("name"), "parameter" :named("scope"), 1 :named("isdecl"), $P1520 :named("node"))
+    store_lex "$past", $P1521
+.annotate 'line', 540
+    get_global $P1522, "@BLOCK"
+    unless_null $P1522, vivify_495
+    $P1522 = root_new ['parrot';'ResizablePMCArray']
   vivify_495:
-    set $S1518, $P1517
-    $P1514."named"($S1518)
-.annotate 'line', 537
-    find_lex $P1519, "$/"
-    find_lex $P1520, "$past"
-    $P1521 = $P1519."!make"($P1520)
-.annotate 'line', 534
-    .return ($P1521)
-  control_1507:
+    set $P1523, $P1522[0]
+    unless_null $P1523, vivify_496
+    new $P1523, "Undef"
+  vivify_496:
+    find_lex $P1524, "$name"
+    $P1523."symbol"($P1524, "lexical" :named("scope"))
+.annotate 'line', 541
+    find_lex $P1525, "$/"
+    find_lex $P1526, "$past"
+    $P1527 = $P1525."!make"($P1526)
+.annotate 'line', 536
+    .return ($P1527)
+  control_1510:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1522, exception, "payload"
-    .return ($P1522)
+    getattribute $P1528, exception, "payload"
+    .return ($P1528)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "regex_declarator"  :subid("89_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1526
-    .param pmc param_1527 :optional
-    .param int has_param_1527 :opt_flag
-.annotate 'line', 540
-    .const 'Sub' $P1597 = "91_1277356919.52295" 
-    capture_lex $P1597
-    .const 'Sub' $P1569 = "90_1277356919.52295" 
-    capture_lex $P1569
-    new $P1525, 'ExceptionHandler'
-    set_addr $P1525, control_1524
-    $P1525."handle_types"(.CONTROL_RETURN)
-    push_eh $P1525
-    .lex "self", self
-    .lex "$/", param_1526
-    if has_param_1527, optparam_496
-    new $P1528, "Undef"
-    set param_1527, $P1528
-  optparam_496:
-    .lex "$key", param_1527
-.annotate 'line', 541
-    $P1529 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@MODIFIERS", $P1529
+.sub "named_param"  :subid("88_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1532
 .annotate 'line', 544
-    new $P1530, "Undef"
-    .lex "$name", $P1530
+    new $P1531, 'ExceptionHandler'
+    set_addr $P1531, control_1530
+    $P1531."handle_types"(.CONTROL_RETURN)
+    push_eh $P1531
+    .lex "self", self
+    .lex "$/", param_1532
 .annotate 'line', 545
-    new $P1531, "Undef"
-    .lex "$past", $P1531
-.annotate 'line', 541
-
-        $P1532 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS'
-    
-    store_lex "@MODIFIERS", $P1532
-.annotate 'line', 544
-    find_lex $P1533, "$/"
-    unless_null $P1533, vivify_497
-    $P1533 = root_new ['parrot';'Hash']
+    new $P1533, "Undef"
+    .lex "$past", $P1533
+    find_lex $P1534, "$/"
+    unless_null $P1534, vivify_497
+    $P1534 = root_new ['parrot';'Hash']
   vivify_497:
-    set $P1534, $P1533["deflongname"]
-    unless_null $P1534, vivify_498
-    new $P1534, "Undef"
+    set $P1535, $P1534["param_var"]
+    unless_null $P1535, vivify_498
+    new $P1535, "Undef"
   vivify_498:
-    $P1535 = $P1534."ast"()
-    set $S1536, $P1535
-    new $P1537, 'String'
-    set $P1537, $S1536
-    store_lex "$name", $P1537
-    find_lex $P1538, "$past"
+    $P1536 = $P1535."ast"()
+    store_lex "$past", $P1536
 .annotate 'line', 546
-    find_lex $P1540, "$/"
-    unless_null $P1540, vivify_499
-    $P1540 = root_new ['parrot';'Hash']
+    find_lex $P1537, "$past"
+    find_lex $P1538, "$/"
+    unless_null $P1538, vivify_499
+    $P1538 = root_new ['parrot';'Hash']
   vivify_499:
-    set $P1541, $P1540["proto"]
-    unless_null $P1541, vivify_500
-    new $P1541, "Undef"
+    set $P1539, $P1538["param_var"]
+    unless_null $P1539, vivify_500
+    $P1539 = root_new ['parrot';'Hash']
   vivify_500:
-    if $P1541, if_1539
-.annotate 'line', 573
-    find_lex $P1565, "$key"
-    set $S1566, $P1565
-    iseq $I1567, $S1566, "open"
-    if $I1567, if_1564
-.annotate 'line', 586
-    .const 'Sub' $P1597 = "91_1277356919.52295" 
-    capture_lex $P1597
-    $P1597()
-    goto if_1564_end
-  if_1564:
-.annotate 'line', 573
-    .const 'Sub' $P1569 = "90_1277356919.52295" 
-    capture_lex $P1569
-    $P1569()
-  if_1564_end:
-    goto if_1539_end
-  if_1539:
-.annotate 'line', 548
-    get_hll_global $P1542, ["PAST"], "Stmts"
-.annotate 'line', 549
-    get_hll_global $P1543, ["PAST"], "Block"
-    find_lex $P1544, "$name"
+    set $P1540, $P1539["name"]
+    unless_null $P1540, vivify_501
+    new $P1540, "Undef"
+  vivify_501:
+    set $S1541, $P1540
+    $P1537."named"($S1541)
+.annotate 'line', 547
+    find_lex $P1542, "$/"
+    find_lex $P1543, "$past"
+    $P1544 = $P1542."!make"($P1543)
+.annotate 'line', 544
+    .return ($P1544)
+  control_1530:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1545, exception, "payload"
+    .return ($P1545)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.include "except_types.pasm"
+.sub "regex_declarator"  :subid("89_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1549
+    .param pmc param_1550 :optional
+    .param int has_param_1550 :opt_flag
 .annotate 'line', 550
-    get_hll_global $P1545, ["PAST"], "Op"
+    .const 'Sub' $P1620 = "91_1278500542.82783" 
+    capture_lex $P1620
+    .const 'Sub' $P1592 = "90_1278500542.82783" 
+    capture_lex $P1592
+    new $P1548, 'ExceptionHandler'
+    set_addr $P1548, control_1547
+    $P1548."handle_types"(.CONTROL_RETURN)
+    push_eh $P1548
+    .lex "self", self
+    .lex "$/", param_1549
+    if has_param_1550, optparam_502
+    new $P1551, "Undef"
+    set param_1550, $P1551
+  optparam_502:
+    .lex "$key", param_1550
 .annotate 'line', 551
-    get_hll_global $P1546, ["PAST"], "Var"
-    $P1547 = $P1546."new"("self" :named("name"), "register" :named("scope"))
-    find_lex $P1548, "$name"
-    $P1549 = $P1545."new"($P1547, $P1548, "!protoregex" :named("name"), "callmethod" :named("pasttype"))
-.annotate 'line', 550
-    find_lex $P1550, "$/"
-    $P1551 = $P1543."new"($P1549, $P1544 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1550 :named("node"))
+    $P1552 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@MODIFIERS", $P1552
+.annotate 'line', 554
+    new $P1553, "Undef"
+    .lex "$name", $P1553
+.annotate 'line', 555
+    new $P1554, "Undef"
+    .lex "$past", $P1554
+.annotate 'line', 551
+
+        $P1555 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS'
+    
+    store_lex "@MODIFIERS", $P1555
+.annotate 'line', 554
+    find_lex $P1556, "$/"
+    unless_null $P1556, vivify_503
+    $P1556 = root_new ['parrot';'Hash']
+  vivify_503:
+    set $P1557, $P1556["deflongname"]
+    unless_null $P1557, vivify_504
+    new $P1557, "Undef"
+  vivify_504:
+    $P1558 = $P1557."ast"()
+    set $S1559, $P1558
+    new $P1560, 'String'
+    set $P1560, $S1559
+    store_lex "$name", $P1560
+    find_lex $P1561, "$past"
+.annotate 'line', 556
+    find_lex $P1563, "$/"
+    unless_null $P1563, vivify_505
+    $P1563 = root_new ['parrot';'Hash']
+  vivify_505:
+    set $P1564, $P1563["proto"]
+    unless_null $P1564, vivify_506
+    new $P1564, "Undef"
+  vivify_506:
+    if $P1564, if_1562
+.annotate 'line', 583
+    find_lex $P1588, "$key"
+    set $S1589, $P1588
+    iseq $I1590, $S1589, "open"
+    if $I1590, if_1587
+.annotate 'line', 596
+    .const 'Sub' $P1620 = "91_1278500542.82783" 
+    capture_lex $P1620
+    $P1620()
+    goto if_1587_end
+  if_1587:
+.annotate 'line', 583
+    .const 'Sub' $P1592 = "90_1278500542.82783" 
+    capture_lex $P1592
+    $P1592()
+  if_1587_end:
+    goto if_1562_end
+  if_1562:
+.annotate 'line', 558
+    get_hll_global $P1565, ["PAST"], "Stmts"
+.annotate 'line', 559
+    get_hll_global $P1566, ["PAST"], "Block"
+    find_lex $P1567, "$name"
 .annotate 'line', 560
-    get_hll_global $P1552, ["PAST"], "Block"
-    new $P1553, "String"
-    assign $P1553, "!PREFIX__"
-    find_lex $P1554, "$name"
-    concat $P1555, $P1553, $P1554
-.annotate 'line', 561
-    get_hll_global $P1556, ["PAST"], "Op"
-.annotate 'line', 562
-    get_hll_global $P1557, ["PAST"], "Var"
-    $P1558 = $P1557."new"("self" :named("name"), "register" :named("scope"))
-    find_lex $P1559, "$name"
-    $P1560 = $P1556."new"($P1558, $P1559, "!PREFIX__!protoregex" :named("name"), "callmethod" :named("pasttype"))
+    get_hll_global $P1568, ["PAST"], "Op"
 .annotate 'line', 561
-    find_lex $P1561, "$/"
-    $P1562 = $P1552."new"($P1560, $P1555 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1561 :named("node"))
+    get_hll_global $P1569, ["PAST"], "Var"
+    $P1570 = $P1569."new"("self" :named("name"), "register" :named("scope"))
+    find_lex $P1571, "$name"
+    $P1572 = $P1568."new"($P1570, $P1571, "!protoregex" :named("name"), "callmethod" :named("pasttype"))
 .annotate 'line', 560
-    $P1563 = $P1542."new"($P1551, $P1562)
-.annotate 'line', 548
-    store_lex "$past", $P1563
-  if_1539_end:
-.annotate 'line', 600
-    find_lex $P1618, "$/"
-    find_lex $P1619, "$past"
-    $P1620 = $P1618."!make"($P1619)
-.annotate 'line', 540
-    .return ($P1620)
-  control_1524:
+    find_lex $P1573, "$/"
+    $P1574 = $P1566."new"($P1572, $P1567 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1573 :named("node"))
+.annotate 'line', 570
+    get_hll_global $P1575, ["PAST"], "Block"
+    new $P1576, "String"
+    assign $P1576, "!PREFIX__"
+    find_lex $P1577, "$name"
+    concat $P1578, $P1576, $P1577
+.annotate 'line', 571
+    get_hll_global $P1579, ["PAST"], "Op"
+.annotate 'line', 572
+    get_hll_global $P1580, ["PAST"], "Var"
+    $P1581 = $P1580."new"("self" :named("name"), "register" :named("scope"))
+    find_lex $P1582, "$name"
+    $P1583 = $P1579."new"($P1581, $P1582, "!PREFIX__!protoregex" :named("name"), "callmethod" :named("pasttype"))
+.annotate 'line', 571
+    find_lex $P1584, "$/"
+    $P1585 = $P1575."new"($P1583, $P1578 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1584 :named("node"))
+.annotate 'line', 570
+    $P1586 = $P1565."new"($P1574, $P1585)
+.annotate 'line', 558
+    store_lex "$past", $P1586
+  if_1562_end:
+.annotate 'line', 610
+    find_lex $P1641, "$/"
+    find_lex $P1642, "$past"
+    $P1643 = $P1641."!make"($P1642)
+.annotate 'line', 550
+    .return ($P1643)
+  control_1547:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1621, exception, "payload"
-    .return ($P1621)
+    getattribute $P1644, exception, "payload"
+    .return ($P1644)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1596"  :anon :subid("91_1277356919.52295") :outer("89_1277356919.52295")
-.annotate 'line', 587
-    new $P1598, "Undef"
-    .lex "$regex", $P1598
-.annotate 'line', 588
-    get_hll_global $P1599, ["Regex";"P6Regex";"Actions"], "buildsub"
-    find_lex $P1600, "$/"
-    unless_null $P1600, vivify_501
-    $P1600 = root_new ['parrot';'Hash']
-  vivify_501:
-    set $P1601, $P1600["p6regex"]
-    unless_null $P1601, vivify_502
-    new $P1601, "Undef"
-  vivify_502:
-    $P1602 = $P1601."ast"()
-    get_global $P1603, "@BLOCK"
-    $P1604 = $P1603."shift"()
-    $P1605 = $P1599($P1602, $P1604)
-    store_lex "$regex", $P1605
-.annotate 'line', 589
-    find_lex $P1606, "$regex"
-    find_lex $P1607, "$name"
-    $P1606."name"($P1607)
-.annotate 'line', 591
-    get_hll_global $P1608, ["PAST"], "Op"
-.annotate 'line', 593
-    get_hll_global $P1609, ["PAST"], "Var"
-    new $P1610, "ResizablePMCArray"
-    push $P1610, "Regex"
-    $P1611 = $P1609."new"("Method" :named("name"), $P1610 :named("namespace"), "package" :named("scope"))
-    find_lex $P1612, "$regex"
-    $P1613 = $P1608."new"($P1611, $P1612, "callmethod" :named("pasttype"), "new" :named("name"))
-.annotate 'line', 591
-    store_lex "$past", $P1613
+.sub "_block1619"  :anon :subid("91_1278500542.82783") :outer("89_1278500542.82783")
 .annotate 'line', 597
-    find_lex $P1614, "$regex"
-    find_lex $P1615, "$past"
-    unless_null $P1615, vivify_503
-    $P1615 = root_new ['parrot';'Hash']
-    store_lex "$past", $P1615
-  vivify_503:
-    set $P1615["sink"], $P1614
+    new $P1621, "Undef"
+    .lex "$regex", $P1621
 .annotate 'line', 598
-    find_lex $P1616, "@MODIFIERS"
-    $P1617 = $P1616."shift"()
-.annotate 'line', 586
-    .return ($P1617)
+    get_hll_global $P1622, ["Regex";"P6Regex";"Actions"], "buildsub"
+    find_lex $P1623, "$/"
+    unless_null $P1623, vivify_507
+    $P1623 = root_new ['parrot';'Hash']
+  vivify_507:
+    set $P1624, $P1623["p6regex"]
+    unless_null $P1624, vivify_508
+    new $P1624, "Undef"
+  vivify_508:
+    $P1625 = $P1624."ast"()
+    get_global $P1626, "@BLOCK"
+    $P1627 = $P1626."shift"()
+    $P1628 = $P1622($P1625, $P1627)
+    store_lex "$regex", $P1628
+.annotate 'line', 599
+    find_lex $P1629, "$regex"
+    find_lex $P1630, "$name"
+    $P1629."name"($P1630)
+.annotate 'line', 601
+    get_hll_global $P1631, ["PAST"], "Op"
+.annotate 'line', 603
+    get_hll_global $P1632, ["PAST"], "Var"
+    new $P1633, "ResizablePMCArray"
+    push $P1633, "Regex"
+    $P1634 = $P1632."new"("Method" :named("name"), $P1633 :named("namespace"), "package" :named("scope"))
+    find_lex $P1635, "$regex"
+    $P1636 = $P1631."new"($P1634, $P1635, "callmethod" :named("pasttype"), "new" :named("name"))
+.annotate 'line', 601
+    store_lex "$past", $P1636
+.annotate 'line', 607
+    find_lex $P1637, "$regex"
+    find_lex $P1638, "$past"
+    unless_null $P1638, vivify_509
+    $P1638 = root_new ['parrot';'Hash']
+    store_lex "$past", $P1638
+  vivify_509:
+    set $P1638["sink"], $P1637
+.annotate 'line', 608
+    find_lex $P1639, "@MODIFIERS"
+    $P1640 = $P1639."shift"()
+.annotate 'line', 596
+    .return ($P1640)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "_block1568"  :anon :subid("90_1277356919.52295") :outer("89_1277356919.52295")
-.annotate 'line', 574
-    $P1570 = root_new ['parrot';'Hash']
-    .lex "%h", $P1570
-.annotate 'line', 573
-    find_lex $P1571, "%h"
-.annotate 'line', 575
-    find_lex $P1573, "$/"
-    unless_null $P1573, vivify_504
-    $P1573 = root_new ['parrot';'Hash']
-  vivify_504:
-    set $P1574, $P1573["sym"]
-    unless_null $P1574, vivify_505
-    new $P1574, "Undef"
-  vivify_505:
-    set $S1575, $P1574
-    iseq $I1576, $S1575, "token"
-    unless $I1576, if_1572_end
-    new $P1577, "Integer"
-    assign $P1577, 1
-    find_lex $P1578, "%h"
-    unless_null $P1578, vivify_506
-    $P1578 = root_new ['parrot';'Hash']
-    store_lex "%h", $P1578
-  vivify_506:
-    set $P1578["r"], $P1577
-  if_1572_end:
-.annotate 'line', 576
-    find_lex $P1580, "$/"
-    unless_null $P1580, vivify_507
-    $P1580 = root_new ['parrot';'Hash']
-  vivify_507:
-    set $P1581, $P1580["sym"]
-    unless_null $P1581, vivify_508
-    new $P1581, "Undef"
-  vivify_508:
-    set $S1582, $P1581
-    iseq $I1583, $S1582, "rule"
-    unless $I1583, if_1579_end
-    new $P1584, "Integer"
-    assign $P1584, 1
-    find_lex $P1585, "%h"
-    unless_null $P1585, vivify_509
-    $P1585 = root_new ['parrot';'Hash']
-    store_lex "%h", $P1585
-  vivify_509:
-    set $P1585["r"], $P1584
-    new $P1586, "Integer"
-    assign $P1586, 1
-    find_lex $P1587, "%h"
-    unless_null $P1587, vivify_510
-    $P1587 = root_new ['parrot';'Hash']
-    store_lex "%h", $P1587
+.sub "_block1591"  :anon :subid("90_1278500542.82783") :outer("89_1278500542.82783")
+.annotate 'line', 584
+    $P1593 = root_new ['parrot';'Hash']
+    .lex "%h", $P1593
+.annotate 'line', 583
+    find_lex $P1594, "%h"
+.annotate 'line', 585
+    find_lex $P1596, "$/"
+    unless_null $P1596, vivify_510
+    $P1596 = root_new ['parrot';'Hash']
   vivify_510:
-    set $P1587["s"], $P1586
-  if_1579_end:
-.annotate 'line', 577
-    find_lex $P1588, "@MODIFIERS"
-    find_lex $P1589, "%h"
-    $P1588."unshift"($P1589)
-.annotate 'line', 578
+    set $P1597, $P1596["sym"]
+    unless_null $P1597, vivify_511
+    new $P1597, "Undef"
+  vivify_511:
+    set $S1598, $P1597
+    iseq $I1599, $S1598, "token"
+    unless $I1599, if_1595_end
+    new $P1600, "Integer"
+    assign $P1600, 1
+    find_lex $P1601, "%h"
+    unless_null $P1601, vivify_512
+    $P1601 = root_new ['parrot';'Hash']
+    store_lex "%h", $P1601
+  vivify_512:
+    set $P1601["r"], $P1600
+  if_1595_end:
+.annotate 'line', 586
+    find_lex $P1603, "$/"
+    unless_null $P1603, vivify_513
+    $P1603 = root_new ['parrot';'Hash']
+  vivify_513:
+    set $P1604, $P1603["sym"]
+    unless_null $P1604, vivify_514
+    new $P1604, "Undef"
+  vivify_514:
+    set $S1605, $P1604
+    iseq $I1606, $S1605, "rule"
+    unless $I1606, if_1602_end
+    new $P1607, "Integer"
+    assign $P1607, 1
+    find_lex $P1608, "%h"
+    unless_null $P1608, vivify_515
+    $P1608 = root_new ['parrot';'Hash']
+    store_lex "%h", $P1608
+  vivify_515:
+    set $P1608["r"], $P1607
+    new $P1609, "Integer"
+    assign $P1609, 1
+    find_lex $P1610, "%h"
+    unless_null $P1610, vivify_516
+    $P1610 = root_new ['parrot';'Hash']
+    store_lex "%h", $P1610
+  vivify_516:
+    set $P1610["s"], $P1609
+  if_1602_end:
+.annotate 'line', 587
+    find_lex $P1611, "@MODIFIERS"
+    find_lex $P1612, "%h"
+    $P1611."unshift"($P1612)
+.annotate 'line', 588
 
             $P0 = find_lex '$name'
             set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
         
-.annotate 'line', 582
-    get_global $P1590, "@BLOCK"
-    unless_null $P1590, vivify_511
-    $P1590 = root_new ['parrot';'ResizablePMCArray']
-  vivify_511:
-    set $P1591, $P1590[0]
-    unless_null $P1591, vivify_512
-    new $P1591, "Undef"
-  vivify_512:
-    $P1591."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
+.annotate 'line', 592
+    get_global $P1613, "@BLOCK"
+    unless_null $P1613, vivify_517
+    $P1613 = root_new ['parrot';'ResizablePMCArray']
+  vivify_517:
+    set $P1614, $P1613[0]
+    unless_null $P1614, vivify_518
+    new $P1614, "Undef"
+  vivify_518:
+    $P1614."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
+.annotate 'line', 593
+    get_global $P1615, "@BLOCK"
+    unless_null $P1615, vivify_519
+    $P1615 = root_new ['parrot';'ResizablePMCArray']
+  vivify_519:
+    set $P1616, $P1615[0]
+    unless_null $P1616, vivify_520
+    new $P1616, "Undef"
+  vivify_520:
+    $P1616."symbol"("$/", "lexical" :named("scope"))
+.annotate 'line', 594
+    new $P1617, "Exception"
+    set $P1617['type'], .CONTROL_RETURN
+    new $P1618, "Integer"
+    assign $P1618, 0
+    setattribute $P1617, 'payload', $P1618
+    throw $P1617
 .annotate 'line', 583
-    get_global $P1592, "@BLOCK"
-    unless_null $P1592, vivify_513
-    $P1592 = root_new ['parrot';'ResizablePMCArray']
-  vivify_513:
-    set $P1593, $P1592[0]
-    unless_null $P1593, vivify_514
-    new $P1593, "Undef"
-  vivify_514:
-    $P1593."symbol"("$/", "lexical" :named("scope"))
-.annotate 'line', 584
-    new $P1594, "Exception"
-    set $P1594['type'], .CONTROL_RETURN
-    new $P1595, "Integer"
-    assign $P1595, 0
-    setattribute $P1594, 'payload', $P1595
-    throw $P1594
-.annotate 'line', 573
     .return ()
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "dotty"  :subid("92_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1625
-.annotate 'line', 604
-    new $P1624, 'ExceptionHandler'
-    set_addr $P1624, control_1623
-    $P1624."handle_types"(.CONTROL_RETURN)
-    push_eh $P1624
-    .lex "self", self
-    .lex "$/", param_1625
-.annotate 'line', 605
-    new $P1626, "Undef"
-    .lex "$past", $P1626
-    find_lex $P1629, "$/"
-    unless_null $P1629, vivify_515
-    $P1629 = root_new ['parrot';'Hash']
-  vivify_515:
-    set $P1630, $P1629["args"]
-    unless_null $P1630, vivify_516
-    new $P1630, "Undef"
-  vivify_516:
-    if $P1630, if_1628
-    get_hll_global $P1635, ["PAST"], "Op"
-    find_lex $P1636, "$/"
-    $P1637 = $P1635."new"($P1636 :named("node"))
-    set $P1627, $P1637
-    goto if_1628_end
-  if_1628:
-    find_lex $P1631, "$/"
-    unless_null $P1631, vivify_517
-    $P1631 = root_new ['parrot';'Hash']
-  vivify_517:
-    set $P1632, $P1631["args"]
-    unless_null $P1632, vivify_518
-    $P1632 = root_new ['parrot';'ResizablePMCArray']
-  vivify_518:
-    set $P1633, $P1632[0]
-    unless_null $P1633, vivify_519
-    new $P1633, "Undef"
-  vivify_519:
-    $P1634 = $P1633."ast"()
-    set $P1627, $P1634
-  if_1628_end:
-    store_lex "$past", $P1627
-.annotate 'line', 606
-    find_lex $P1638, "$past"
-    find_lex $P1641, "$/"
-    unless_null $P1641, vivify_520
-    $P1641 = root_new ['parrot';'Hash']
-  vivify_520:
-    set $P1642, $P1641["quote"]
-    unless_null $P1642, vivify_521
-    new $P1642, "Undef"
+.sub "dotty"  :subid("92_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1648
+.annotate 'line', 614
+    new $P1647, 'ExceptionHandler'
+    set_addr $P1647, control_1646
+    $P1647."handle_types"(.CONTROL_RETURN)
+    push_eh $P1647
+    .lex "self", self
+    .lex "$/", param_1648
+.annotate 'line', 615
+    new $P1649, "Undef"
+    .lex "$past", $P1649
+    find_lex $P1652, "$/"
+    unless_null $P1652, vivify_521
+    $P1652 = root_new ['parrot';'Hash']
   vivify_521:
-    if $P1642, if_1640
-    find_lex $P1646, "$/"
-    unless_null $P1646, vivify_522
-    $P1646 = root_new ['parrot';'Hash']
+    set $P1653, $P1652["args"]
+    unless_null $P1653, vivify_522
+    new $P1653, "Undef"
   vivify_522:
-    set $P1647, $P1646["longname"]
-    unless_null $P1647, vivify_523
-    new $P1647, "Undef"
+    if $P1653, if_1651
+    get_hll_global $P1658, ["PAST"], "Op"
+    find_lex $P1659, "$/"
+    $P1660 = $P1658."new"($P1659 :named("node"))
+    set $P1650, $P1660
+    goto if_1651_end
+  if_1651:
+    find_lex $P1654, "$/"
+    unless_null $P1654, vivify_523
+    $P1654 = root_new ['parrot';'Hash']
   vivify_523:
-    set $S1648, $P1647
-    new $P1639, 'String'
-    set $P1639, $S1648
-    goto if_1640_end
-  if_1640:
-    find_lex $P1643, "$/"
-    unless_null $P1643, vivify_524
-    $P1643 = root_new ['parrot';'Hash']
+    set $P1655, $P1654["args"]
+    unless_null $P1655, vivify_524
+    $P1655 = root_new ['parrot';'ResizablePMCArray']
   vivify_524:
-    set $P1644, $P1643["quote"]
-    unless_null $P1644, vivify_525
-    new $P1644, "Undef"
+    set $P1656, $P1655[0]
+    unless_null $P1656, vivify_525
+    new $P1656, "Undef"
   vivify_525:
-    $P1645 = $P1644."ast"()
-    set $P1639, $P1645
-  if_1640_end:
-    $P1638."name"($P1639)
-.annotate 'line', 607
-    find_lex $P1649, "$past"
-    $P1649."pasttype"("callmethod")
-.annotate 'line', 608
-    find_lex $P1650, "$/"
-    find_lex $P1651, "$past"
-    $P1652 = $P1650."!make"($P1651)
-.annotate 'line', 604
-    .return ($P1652)
-  control_1623:
+    $P1657 = $P1656."ast"()
+    set $P1650, $P1657
+  if_1651_end:
+    store_lex "$past", $P1650
+.annotate 'line', 616
+    find_lex $P1661, "$past"
+    find_lex $P1664, "$/"
+    unless_null $P1664, vivify_526
+    $P1664 = root_new ['parrot';'Hash']
+  vivify_526:
+    set $P1665, $P1664["quote"]
+    unless_null $P1665, vivify_527
+    new $P1665, "Undef"
+  vivify_527:
+    if $P1665, if_1663
+    find_lex $P1669, "$/"
+    unless_null $P1669, vivify_528
+    $P1669 = root_new ['parrot';'Hash']
+  vivify_528:
+    set $P1670, $P1669["longname"]
+    unless_null $P1670, vivify_529
+    new $P1670, "Undef"
+  vivify_529:
+    set $S1671, $P1670
+    new $P1662, 'String'
+    set $P1662, $S1671
+    goto if_1663_end
+  if_1663:
+    find_lex $P1666, "$/"
+    unless_null $P1666, vivify_530
+    $P1666 = root_new ['parrot';'Hash']
+  vivify_530:
+    set $P1667, $P1666["quote"]
+    unless_null $P1667, vivify_531
+    new $P1667, "Undef"
+  vivify_531:
+    $P1668 = $P1667."ast"()
+    set $P1662, $P1668
+  if_1663_end:
+    $P1661."name"($P1662)
+.annotate 'line', 617
+    find_lex $P1672, "$past"
+    $P1672."pasttype"("callmethod")
+.annotate 'line', 618
+    find_lex $P1673, "$/"
+    find_lex $P1674, "$past"
+    $P1675 = $P1673."!make"($P1674)
+.annotate 'line', 614
+    .return ($P1675)
+  control_1646:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1653, exception, "payload"
-    .return ($P1653)
+    getattribute $P1676, exception, "payload"
+    .return ($P1676)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<self>"  :subid("93_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1657
-.annotate 'line', 613
-    new $P1656, 'ExceptionHandler'
-    set_addr $P1656, control_1655
-    $P1656."handle_types"(.CONTROL_RETURN)
-    push_eh $P1656
+.sub "term:sym<self>"  :subid("93_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1680
+.annotate 'line', 623
+    new $P1679, 'ExceptionHandler'
+    set_addr $P1679, control_1678
+    $P1679."handle_types"(.CONTROL_RETURN)
+    push_eh $P1679
     .lex "self", self
-    .lex "$/", param_1657
-.annotate 'line', 614
-    find_lex $P1658, "$/"
-    get_hll_global $P1659, ["PAST"], "Var"
-    $P1660 = $P1659."new"("self" :named("name"))
-    $P1661 = $P1658."!make"($P1660)
-.annotate 'line', 613
-    .return ($P1661)
-  control_1655:
+    .lex "$/", param_1680
+.annotate 'line', 624
+    find_lex $P1681, "$/"
+    get_hll_global $P1682, ["PAST"], "Var"
+    $P1683 = $P1682."new"("self" :named("name"))
+    $P1684 = $P1681."!make"($P1683)
+.annotate 'line', 623
+    .return ($P1684)
+  control_1678:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1662, exception, "payload"
-    .return ($P1662)
+    getattribute $P1685, exception, "payload"
+    .return ($P1685)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<identifier>"  :subid("94_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1666
-.annotate 'line', 617
-    new $P1665, 'ExceptionHandler'
-    set_addr $P1665, control_1664
-    $P1665."handle_types"(.CONTROL_RETURN)
-    push_eh $P1665
+.sub "term:sym<identifier>"  :subid("94_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1689
+.annotate 'line', 627
+    new $P1688, 'ExceptionHandler'
+    set_addr $P1688, control_1687
+    $P1688."handle_types"(.CONTROL_RETURN)
+    push_eh $P1688
     .lex "self", self
-    .lex "$/", param_1666
-.annotate 'line', 618
-    new $P1667, "Undef"
-    .lex "$past", $P1667
-    find_lex $P1668, "$/"
-    unless_null $P1668, vivify_526
-    $P1668 = root_new ['parrot';'Hash']
-  vivify_526:
-    set $P1669, $P1668["args"]
-    unless_null $P1669, vivify_527
-    new $P1669, "Undef"
-  vivify_527:
-    $P1670 = $P1669."ast"()
-    store_lex "$past", $P1670
-.annotate 'line', 619
-    find_lex $P1671, "$past"
-    find_lex $P1672, "$/"
-    unless_null $P1672, vivify_528
-    $P1672 = root_new ['parrot';'Hash']
-  vivify_528:
-    set $P1673, $P1672["deflongname"]
-    unless_null $P1673, vivify_529
-    new $P1673, "Undef"
-  vivify_529:
-    set $S1674, $P1673
-    $P1671."name"($S1674)
-.annotate 'line', 620
-    find_lex $P1675, "$/"
-    find_lex $P1676, "$past"
-    $P1677 = $P1675."!make"($P1676)
-.annotate 'line', 617
-    .return ($P1677)
-  control_1664:
+    .lex "$/", param_1689
+.annotate 'line', 628
+    new $P1690, "Undef"
+    .lex "$past", $P1690
+    find_lex $P1691, "$/"
+    unless_null $P1691, vivify_532
+    $P1691 = root_new ['parrot';'Hash']
+  vivify_532:
+    set $P1692, $P1691["args"]
+    unless_null $P1692, vivify_533
+    new $P1692, "Undef"
+  vivify_533:
+    $P1693 = $P1692."ast"()
+    store_lex "$past", $P1693
+.annotate 'line', 629
+    find_lex $P1694, "$past"
+    find_lex $P1695, "$/"
+    unless_null $P1695, vivify_534
+    $P1695 = root_new ['parrot';'Hash']
+  vivify_534:
+    set $P1696, $P1695["deflongname"]
+    unless_null $P1696, vivify_535
+    new $P1696, "Undef"
+  vivify_535:
+    set $S1697, $P1696
+    $P1694."name"($S1697)
+.annotate 'line', 630
+    find_lex $P1698, "$/"
+    find_lex $P1699, "$past"
+    $P1700 = $P1698."!make"($P1699)
+.annotate 'line', 627
+    .return ($P1700)
+  control_1687:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1678, exception, "payload"
-    .return ($P1678)
+    getattribute $P1701, exception, "payload"
+    .return ($P1701)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<name>"  :subid("95_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1682
-.annotate 'line', 623
-    new $P1681, 'ExceptionHandler'
-    set_addr $P1681, control_1680
-    $P1681."handle_types"(.CONTROL_RETURN)
-    push_eh $P1681
+.sub "term:sym<name>"  :subid("95_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1705
+.annotate 'line', 633
+    new $P1704, 'ExceptionHandler'
+    set_addr $P1704, control_1703
+    $P1704."handle_types"(.CONTROL_RETURN)
+    push_eh $P1704
     .lex "self", self
-    .lex "$/", param_1682
-.annotate 'line', 624
-    $P1683 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@ns", $P1683
-.annotate 'line', 625
-    new $P1684, "Undef"
-    .lex "$name", $P1684
-.annotate 'line', 627
-    new $P1685, "Undef"
-    .lex "$var", $P1685
-.annotate 'line', 629
-    new $P1686, "Undef"
-    .lex "$past", $P1686
-.annotate 'line', 624
-    find_lex $P1687, "$/"
-    unless_null $P1687, vivify_530
-    $P1687 = root_new ['parrot';'Hash']
-  vivify_530:
-    set $P1688, $P1687["name"]
-    unless_null $P1688, vivify_531
-    $P1688 = root_new ['parrot';'Hash']
-  vivify_531:
-    set $P1689, $P1688["identifier"]
-    unless_null $P1689, vivify_532
-    new $P1689, "Undef"
-  vivify_532:
-    clone $P1690, $P1689
-    store_lex "@ns", $P1690
-.annotate 'line', 625
-    find_lex $P1691, "@ns"
-    $P1692 = $P1691."pop"()
-    store_lex "$name", $P1692
-.annotate 'line', 626
-    find_lex $P1696, "@ns"
-    if $P1696, if_1695
-    set $P1694, $P1696
-    goto if_1695_end
-  if_1695:
-    find_lex $P1697, "@ns"
-    unless_null $P1697, vivify_533
-    $P1697 = root_new ['parrot';'ResizablePMCArray']
-  vivify_533:
-    set $P1698, $P1697[0]
-    unless_null $P1698, vivify_534
-    new $P1698, "Undef"
-  vivify_534:
-    set $S1699, $P1698
-    iseq $I1700, $S1699, "GLOBAL"
-    new $P1694, 'Integer'
-    set $P1694, $I1700
-  if_1695_end:
-    unless $P1694, if_1693_end
-    find_lex $P1701, "@ns"
-    $P1701."shift"()
-  if_1693_end:
-.annotate 'line', 628
-    get_hll_global $P1702, ["PAST"], "Var"
-    find_lex $P1703, "$name"
-    set $S1704, $P1703
-    find_lex $P1705, "@ns"
-    $P1706 = $P1702."new"($S1704 :named("name"), $P1705 :named("namespace"), "package" :named("scope"))
-    store_lex "$var", $P1706
-.annotate 'line', 629
-    find_lex $P1707, "$var"
-    store_lex "$past", $P1707
-.annotate 'line', 630
-    find_lex $P1709, "$/"
-    unless_null $P1709, vivify_535
-    $P1709 = root_new ['parrot';'Hash']
-  vivify_535:
-    set $P1710, $P1709["args"]
+    .lex "$/", param_1705
+.annotate 'line', 634
+    $P1706 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@ns", $P1706
+.annotate 'line', 635
+    new $P1707, "Undef"
+    .lex "$name", $P1707
+.annotate 'line', 637
+    new $P1708, "Undef"
+    .lex "$var", $P1708
+.annotate 'line', 639
+    new $P1709, "Undef"
+    .lex "$past", $P1709
+.annotate 'line', 634
+    find_lex $P1710, "$/"
     unless_null $P1710, vivify_536
-    new $P1710, "Undef"
+    $P1710 = root_new ['parrot';'Hash']
   vivify_536:
-    unless $P1710, if_1708_end
-.annotate 'line', 631
-    find_lex $P1711, "$/"
+    set $P1711, $P1710["name"]
     unless_null $P1711, vivify_537
     $P1711 = root_new ['parrot';'Hash']
   vivify_537:
-    set $P1712, $P1711["args"]
+    set $P1712, $P1711["identifier"]
     unless_null $P1712, vivify_538
-    $P1712 = root_new ['parrot';'ResizablePMCArray']
+    new $P1712, "Undef"
   vivify_538:
-    set $P1713, $P1712[0]
-    unless_null $P1713, vivify_539
-    new $P1713, "Undef"
+    clone $P1713, $P1712
+    store_lex "@ns", $P1713
+.annotate 'line', 635
+    find_lex $P1714, "@ns"
+    $P1715 = $P1714."pop"()
+    store_lex "$name", $P1715
+.annotate 'line', 636
+    find_lex $P1719, "@ns"
+    if $P1719, if_1718
+    set $P1717, $P1719
+    goto if_1718_end
+  if_1718:
+    find_lex $P1720, "@ns"
+    unless_null $P1720, vivify_539
+    $P1720 = root_new ['parrot';'ResizablePMCArray']
   vivify_539:
-    $P1714 = $P1713."ast"()
-    store_lex "$past", $P1714
-.annotate 'line', 632
-    find_lex $P1715, "$past"
-    find_lex $P1716, "$var"
-    $P1715."unshift"($P1716)
-  if_1708_end:
-.annotate 'line', 634
-    find_lex $P1717, "$/"
-    find_lex $P1718, "$past"
-    $P1719 = $P1717."!make"($P1718)
-.annotate 'line', 623
-    .return ($P1719)
-  control_1680:
+    set $P1721, $P1720[0]
+    unless_null $P1721, vivify_540
+    new $P1721, "Undef"
+  vivify_540:
+    set $S1722, $P1721
+    iseq $I1723, $S1722, "GLOBAL"
+    new $P1717, 'Integer'
+    set $P1717, $I1723
+  if_1718_end:
+    unless $P1717, if_1716_end
+    find_lex $P1724, "@ns"
+    $P1724."shift"()
+  if_1716_end:
+.annotate 'line', 638
+    get_hll_global $P1725, ["PAST"], "Var"
+    find_lex $P1726, "$name"
+    set $S1727, $P1726
+    find_lex $P1728, "@ns"
+    $P1729 = $P1725."new"($S1727 :named("name"), $P1728 :named("namespace"), "package" :named("scope"))
+    store_lex "$var", $P1729
+.annotate 'line', 639
+    find_lex $P1730, "$var"
+    store_lex "$past", $P1730
+.annotate 'line', 640
+    find_lex $P1732, "$/"
+    unless_null $P1732, vivify_541
+    $P1732 = root_new ['parrot';'Hash']
+  vivify_541:
+    set $P1733, $P1732["args"]
+    unless_null $P1733, vivify_542
+    new $P1733, "Undef"
+  vivify_542:
+    unless $P1733, if_1731_end
+.annotate 'line', 641
+    find_lex $P1734, "$/"
+    unless_null $P1734, vivify_543
+    $P1734 = root_new ['parrot';'Hash']
+  vivify_543:
+    set $P1735, $P1734["args"]
+    unless_null $P1735, vivify_544
+    $P1735 = root_new ['parrot';'ResizablePMCArray']
+  vivify_544:
+    set $P1736, $P1735[0]
+    unless_null $P1736, vivify_545
+    new $P1736, "Undef"
+  vivify_545:
+    $P1737 = $P1736."ast"()
+    store_lex "$past", $P1737
+.annotate 'line', 642
+    find_lex $P1738, "$past"
+    find_lex $P1739, "$var"
+    $P1738."unshift"($P1739)
+  if_1731_end:
+.annotate 'line', 644
+    find_lex $P1740, "$/"
+    find_lex $P1741, "$past"
+    $P1742 = $P1740."!make"($P1741)
+.annotate 'line', 633
+    .return ($P1742)
+  control_1703:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1720, exception, "payload"
-    .return ($P1720)
+    getattribute $P1743, exception, "payload"
+    .return ($P1743)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<pir::op>"  :subid("96_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1724
-.annotate 'line', 637
-    new $P1723, 'ExceptionHandler'
-    set_addr $P1723, control_1722
-    $P1723."handle_types"(.CONTROL_RETURN)
-    push_eh $P1723
+.sub "term:sym<pir::op>"  :subid("96_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1747
+.annotate 'line', 647
+    new $P1746, 'ExceptionHandler'
+    set_addr $P1746, control_1745
+    $P1746."handle_types"(.CONTROL_RETURN)
+    push_eh $P1746
     .lex "self", self
-    .lex "$/", param_1724
-.annotate 'line', 638
-    new $P1725, "Undef"
-    .lex "$past", $P1725
-.annotate 'line', 639
-    new $P1726, "Undef"
-    .lex "$pirop", $P1726
-.annotate 'line', 638
-    find_lex $P1729, "$/"
-    unless_null $P1729, vivify_540
-    $P1729 = root_new ['parrot';'Hash']
-  vivify_540:
-    set $P1730, $P1729["args"]
-    unless_null $P1730, vivify_541
-    new $P1730, "Undef"
-  vivify_541:
-    if $P1730, if_1728
-    get_hll_global $P1735, ["PAST"], "Op"
-    find_lex $P1736, "$/"
-    $P1737 = $P1735."new"($P1736 :named("node"))
-    set $P1727, $P1737
-    goto if_1728_end
-  if_1728:
-    find_lex $P1731, "$/"
-    unless_null $P1731, vivify_542
-    $P1731 = root_new ['parrot';'Hash']
-  vivify_542:
-    set $P1732, $P1731["args"]
-    unless_null $P1732, vivify_543
-    $P1732 = root_new ['parrot';'ResizablePMCArray']
-  vivify_543:
-    set $P1733, $P1732[0]
-    unless_null $P1733, vivify_544
-    new $P1733, "Undef"
-  vivify_544:
-    $P1734 = $P1733."ast"()
-    set $P1727, $P1734
-  if_1728_end:
-    store_lex "$past", $P1727
-.annotate 'line', 639
-    find_lex $P1738, "$/"
-    unless_null $P1738, vivify_545
-    $P1738 = root_new ['parrot';'Hash']
-  vivify_545:
-    set $P1739, $P1738["op"]
-    unless_null $P1739, vivify_546
-    new $P1739, "Undef"
+    .lex "$/", param_1747
+.annotate 'line', 648
+    new $P1748, "Undef"
+    .lex "$past", $P1748
+.annotate 'line', 649
+    new $P1749, "Undef"
+    .lex "$pirop", $P1749
+.annotate 'line', 648
+    find_lex $P1752, "$/"
+    unless_null $P1752, vivify_546
+    $P1752 = root_new ['parrot';'Hash']
   vivify_546:
-    set $S1740, $P1739
-    new $P1741, 'String'
-    set $P1741, $S1740
-    store_lex "$pirop", $P1741
-.annotate 'line', 640
+    set $P1753, $P1752["args"]
+    unless_null $P1753, vivify_547
+    new $P1753, "Undef"
+  vivify_547:
+    if $P1753, if_1751
+    get_hll_global $P1758, ["PAST"], "Op"
+    find_lex $P1759, "$/"
+    $P1760 = $P1758."new"($P1759 :named("node"))
+    set $P1750, $P1760
+    goto if_1751_end
+  if_1751:
+    find_lex $P1754, "$/"
+    unless_null $P1754, vivify_548
+    $P1754 = root_new ['parrot';'Hash']
+  vivify_548:
+    set $P1755, $P1754["args"]
+    unless_null $P1755, vivify_549
+    $P1755 = root_new ['parrot';'ResizablePMCArray']
+  vivify_549:
+    set $P1756, $P1755[0]
+    unless_null $P1756, vivify_550
+    new $P1756, "Undef"
+  vivify_550:
+    $P1757 = $P1756."ast"()
+    set $P1750, $P1757
+  if_1751_end:
+    store_lex "$past", $P1750
+.annotate 'line', 649
+    find_lex $P1761, "$/"
+    unless_null $P1761, vivify_551
+    $P1761 = root_new ['parrot';'Hash']
+  vivify_551:
+    set $P1762, $P1761["op"]
+    unless_null $P1762, vivify_552
+    new $P1762, "Undef"
+  vivify_552:
+    set $S1763, $P1762
+    new $P1764, 'String'
+    set $P1764, $S1763
+    store_lex "$pirop", $P1764
+.annotate 'line', 650
 
         $P0 = find_lex '$pirop'
         $S0 = $P0
         $P0 = split '__', $S0
         $S0 = join ' ', $P0
-        $P1742 = box $S0
+        $P1765 = box $S0
     
-    store_lex "$pirop", $P1742
+    store_lex "$pirop", $P1765
+.annotate 'line', 657
+    find_lex $P1766, "$past"
+    find_lex $P1767, "$pirop"
+    $P1766."pirop"($P1767)
+.annotate 'line', 658
+    find_lex $P1768, "$past"
+    $P1768."pasttype"("pirop")
+.annotate 'line', 659
+    find_lex $P1769, "$/"
+    find_lex $P1770, "$past"
+    $P1771 = $P1769."!make"($P1770)
 .annotate 'line', 647
-    find_lex $P1743, "$past"
-    find_lex $P1744, "$pirop"
-    $P1743."pirop"($P1744)
-.annotate 'line', 648
-    find_lex $P1745, "$past"
-    $P1745."pasttype"("pirop")
-.annotate 'line', 649
-    find_lex $P1746, "$/"
-    find_lex $P1747, "$past"
-    $P1748 = $P1746."!make"($P1747)
-.annotate 'line', 637
-    .return ($P1748)
-  control_1722:
+    .return ($P1771)
+  control_1745:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1749, exception, "payload"
-    .return ($P1749)
+    getattribute $P1772, exception, "payload"
+    .return ($P1772)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "args"  :subid("97_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1753
-.annotate 'line', 652
-    new $P1752, 'ExceptionHandler'
-    set_addr $P1752, control_1751
-    $P1752."handle_types"(.CONTROL_RETURN)
-    push_eh $P1752
+.sub "args"  :subid("97_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1776
+.annotate 'line', 662
+    new $P1775, 'ExceptionHandler'
+    set_addr $P1775, control_1774
+    $P1775."handle_types"(.CONTROL_RETURN)
+    push_eh $P1775
     .lex "self", self
-    .lex "$/", param_1753
-    find_lex $P1754, "$/"
-    find_lex $P1755, "$/"
-    unless_null $P1755, vivify_547
-    $P1755 = root_new ['parrot';'Hash']
-  vivify_547:
-    set $P1756, $P1755["arglist"]
-    unless_null $P1756, vivify_548
-    new $P1756, "Undef"
-  vivify_548:
-    $P1757 = $P1756."ast"()
-    $P1758 = $P1754."!make"($P1757)
-    .return ($P1758)
-  control_1751:
+    .lex "$/", param_1776
+    find_lex $P1777, "$/"
+    find_lex $P1778, "$/"
+    unless_null $P1778, vivify_553
+    $P1778 = root_new ['parrot';'Hash']
+  vivify_553:
+    set $P1779, $P1778["arglist"]
+    unless_null $P1779, vivify_554
+    new $P1779, "Undef"
+  vivify_554:
+    $P1780 = $P1779."ast"()
+    $P1781 = $P1777."!make"($P1780)
+    .return ($P1781)
+  control_1774:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1759, exception, "payload"
-    .return ($P1759)
+    getattribute $P1782, exception, "payload"
+    .return ($P1782)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "arglist"  :subid("98_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1763
-.annotate 'line', 654
-    .const 'Sub' $P1774 = "99_1277356919.52295" 
-    capture_lex $P1774
-    new $P1762, 'ExceptionHandler'
-    set_addr $P1762, control_1761
-    $P1762."handle_types"(.CONTROL_RETURN)
-    push_eh $P1762
-    .lex "self", self
-    .lex "$/", param_1763
-.annotate 'line', 655
-    new $P1764, "Undef"
-    .lex "$past", $P1764
-.annotate 'line', 663
-    new $P1765, "Undef"
-    .lex "$i", $P1765
-.annotate 'line', 664
-    new $P1766, "Undef"
-    .lex "$n", $P1766
-.annotate 'line', 655
-    get_hll_global $P1767, ["PAST"], "Op"
-    find_lex $P1768, "$/"
-    $P1769 = $P1767."new"("call" :named("pasttype"), $P1768 :named("node"))
-    store_lex "$past", $P1769
-.annotate 'line', 656
-    find_lex $P1771, "$/"
-    unless_null $P1771, vivify_549
-    $P1771 = root_new ['parrot';'Hash']
-  vivify_549:
-    set $P1772, $P1771["EXPR"]
-    unless_null $P1772, vivify_550
-    new $P1772, "Undef"
-  vivify_550:
-    unless $P1772, if_1770_end
-    .const 'Sub' $P1774 = "99_1277356919.52295" 
-    capture_lex $P1774
-    $P1774()
-  if_1770_end:
-.annotate 'line', 663
-    new $P1806, "Integer"
-    assign $P1806, 0
-    store_lex "$i", $P1806
+.sub "arglist"  :subid("98_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1786
 .annotate 'line', 664
-    find_lex $P1807, "$past"
-    $P1808 = $P1807."list"()
-    set $N1809, $P1808
-    new $P1810, 'Float'
-    set $P1810, $N1809
-    store_lex "$n", $P1810
+    .const 'Sub' $P1797 = "99_1278500542.82783" 
+    capture_lex $P1797
+    new $P1785, 'ExceptionHandler'
+    set_addr $P1785, control_1784
+    $P1785."handle_types"(.CONTROL_RETURN)
+    push_eh $P1785
+    .lex "self", self
+    .lex "$/", param_1786
 .annotate 'line', 665
-    new $P1858, 'ExceptionHandler'
-    set_addr $P1858, loop1857_handler
-    $P1858."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
-    push_eh $P1858
-  loop1857_test:
-    find_lex $P1811, "$i"
-    set $N1812, $P1811
-    find_lex $P1813, "$n"
-    set $N1814, $P1813
-    islt $I1815, $N1812, $N1814
-    unless $I1815, loop1857_done
-  loop1857_redo:
+    new $P1787, "Undef"
+    .lex "$past", $P1787
+.annotate 'line', 673
+    new $P1788, "Undef"
+    .lex "$i", $P1788
+.annotate 'line', 674
+    new $P1789, "Undef"
+    .lex "$n", $P1789
+.annotate 'line', 665
+    get_hll_global $P1790, ["PAST"], "Op"
+    find_lex $P1791, "$/"
+    $P1792 = $P1790."new"("call" :named("pasttype"), $P1791 :named("node"))
+    store_lex "$past", $P1792
 .annotate 'line', 666
-    find_lex $P1817, "$i"
-    set $I1818, $P1817
-    find_lex $P1819, "$past"
-    unless_null $P1819, vivify_554
-    $P1819 = root_new ['parrot';'ResizablePMCArray']
-  vivify_554:
-    set $P1820, $P1819[$I1818]
-    unless_null $P1820, vivify_555
-    new $P1820, "Undef"
+    find_lex $P1794, "$/"
+    unless_null $P1794, vivify_555
+    $P1794 = root_new ['parrot';'Hash']
   vivify_555:
-    $S1821 = $P1820."name"()
-    iseq $I1822, $S1821, "&prefix:<|>"
-    unless $I1822, if_1816_end
-.annotate 'line', 667
-    find_lex $P1823, "$i"
-    set $I1824, $P1823
-    find_lex $P1825, "$past"
-    unless_null $P1825, vivify_556
-    $P1825 = root_new ['parrot';'ResizablePMCArray']
+    set $P1795, $P1794["EXPR"]
+    unless_null $P1795, vivify_556
+    new $P1795, "Undef"
   vivify_556:
-    set $P1826, $P1825[$I1824]
-    unless_null $P1826, vivify_557
-    $P1826 = root_new ['parrot';'ResizablePMCArray']
-  vivify_557:
-    set $P1827, $P1826[0]
-    unless_null $P1827, vivify_558
-    new $P1827, "Undef"
-  vivify_558:
-    find_lex $P1828, "$i"
-    set $I1829, $P1828
+    unless $P1795, if_1793_end
+    .const 'Sub' $P1797 = "99_1278500542.82783" 
+    capture_lex $P1797
+    $P1797()
+  if_1793_end:
+.annotate 'line', 673
+    new $P1829, "Integer"
+    assign $P1829, 0
+    store_lex "$i", $P1829
+.annotate 'line', 674
     find_lex $P1830, "$past"
-    unless_null $P1830, vivify_559
-    $P1830 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$past", $P1830
-  vivify_559:
-    set $P1830[$I1829], $P1827
-.annotate 'line', 668
-    find_lex $P1831, "$i"
-    set $I1832, $P1831
-    find_lex $P1833, "$past"
-    unless_null $P1833, vivify_560
-    $P1833 = root_new ['parrot';'ResizablePMCArray']
+    $P1831 = $P1830."list"()
+    set $N1832, $P1831
+    new $P1833, 'Float'
+    set $P1833, $N1832
+    store_lex "$n", $P1833
+.annotate 'line', 675
+    new $P1881, 'ExceptionHandler'
+    set_addr $P1881, loop1880_handler
+    $P1881."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P1881
+  loop1880_test:
+    find_lex $P1834, "$i"
+    set $N1835, $P1834
+    find_lex $P1836, "$n"
+    set $N1837, $P1836
+    islt $I1838, $N1835, $N1837
+    unless $I1838, loop1880_done
+  loop1880_redo:
+.annotate 'line', 676
+    find_lex $P1840, "$i"
+    set $I1841, $P1840
+    find_lex $P1842, "$past"
+    unless_null $P1842, vivify_560
+    $P1842 = root_new ['parrot';'ResizablePMCArray']
   vivify_560:
-    set $P1834, $P1833[$I1832]
-    unless_null $P1834, vivify_561
-    new $P1834, "Undef"
+    set $P1843, $P1842[$I1841]
+    unless_null $P1843, vivify_561
+    new $P1843, "Undef"
   vivify_561:
-    $P1834."flat"(1)
-.annotate 'line', 669
-    find_lex $P1838, "$i"
-    set $I1839, $P1838
-    find_lex $P1840, "$past"
-    unless_null $P1840, vivify_562
-    $P1840 = root_new ['parrot';'ResizablePMCArray']
+    $S1844 = $P1843."name"()
+    iseq $I1845, $S1844, "&prefix:<|>"
+    unless $I1845, if_1839_end
+.annotate 'line', 677
+    find_lex $P1846, "$i"
+    set $I1847, $P1846
+    find_lex $P1848, "$past"
+    unless_null $P1848, vivify_562
+    $P1848 = root_new ['parrot';'ResizablePMCArray']
   vivify_562:
-    set $P1841, $P1840[$I1839]
-    unless_null $P1841, vivify_563
-    new $P1841, "Undef"
+    set $P1849, $P1848[$I1847]
+    unless_null $P1849, vivify_563
+    $P1849 = root_new ['parrot';'ResizablePMCArray']
   vivify_563:
-    get_hll_global $P1842, ["PAST"], "Val"
-    $P1843 = $P1841."isa"($P1842)
-    if $P1843, if_1837
-    set $P1836, $P1843
-    goto if_1837_end
-  if_1837:
-.annotate 'line', 670
-    find_lex $P1844, "$i"
-    set $I1845, $P1844
-    find_lex $P1846, "$past"
-    unless_null $P1846, vivify_564
-    $P1846 = root_new ['parrot';'ResizablePMCArray']
+    set $P1850, $P1849[0]
+    unless_null $P1850, vivify_564
+    new $P1850, "Undef"
   vivify_564:
-    set $P1847, $P1846[$I1845]
-    unless_null $P1847, vivify_565
-    new $P1847, "Undef"
-  vivify_565:
-    $S1848 = $P1847."name"()
-    substr $S1849, $S1848, 0, 1
-    iseq $I1850, $S1849, "%"
-    new $P1836, 'Integer'
-    set $P1836, $I1850
-  if_1837_end:
-    unless $P1836, if_1835_end
-.annotate 'line', 671
     find_lex $P1851, "$i"
     set $I1852, $P1851
     find_lex $P1853, "$past"
-    unless_null $P1853, vivify_566
+    unless_null $P1853, vivify_565
     $P1853 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$past", $P1853
+  vivify_565:
+    set $P1853[$I1852], $P1850
+.annotate 'line', 678
+    find_lex $P1854, "$i"
+    set $I1855, $P1854
+    find_lex $P1856, "$past"
+    unless_null $P1856, vivify_566
+    $P1856 = root_new ['parrot';'ResizablePMCArray']
   vivify_566:
-    set $P1854, $P1853[$I1852]
-    unless_null $P1854, vivify_567
-    new $P1854, "Undef"
+    set $P1857, $P1856[$I1855]
+    unless_null $P1857, vivify_567
+    new $P1857, "Undef"
   vivify_567:
-    $P1854."named"(1)
-  if_1835_end:
-  if_1816_end:
-.annotate 'line', 666
-    find_lex $P1855, "$i"
-    clone $P1856, $P1855
-    inc $P1855
-  loop1857_next:
-.annotate 'line', 665
-    goto loop1857_test
-  loop1857_handler:
+    $P1857."flat"(1)
+.annotate 'line', 679
+    find_lex $P1861, "$i"
+    set $I1862, $P1861
+    find_lex $P1863, "$past"
+    unless_null $P1863, vivify_568
+    $P1863 = root_new ['parrot';'ResizablePMCArray']
+  vivify_568:
+    set $P1864, $P1863[$I1862]
+    unless_null $P1864, vivify_569
+    new $P1864, "Undef"
+  vivify_569:
+    get_hll_global $P1865, ["PAST"], "Val"
+    $P1866 = $P1864."isa"($P1865)
+    if $P1866, if_1860
+    set $P1859, $P1866
+    goto if_1860_end
+  if_1860:
+.annotate 'line', 680
+    find_lex $P1867, "$i"
+    set $I1868, $P1867
+    find_lex $P1869, "$past"
+    unless_null $P1869, vivify_570
+    $P1869 = root_new ['parrot';'ResizablePMCArray']
+  vivify_570:
+    set $P1870, $P1869[$I1868]
+    unless_null $P1870, vivify_571
+    new $P1870, "Undef"
+  vivify_571:
+    $S1871 = $P1870."name"()
+    substr $S1872, $S1871, 0, 1
+    iseq $I1873, $S1872, "%"
+    new $P1859, 'Integer'
+    set $P1859, $I1873
+  if_1860_end:
+    unless $P1859, if_1858_end
+.annotate 'line', 681
+    find_lex $P1874, "$i"
+    set $I1875, $P1874
+    find_lex $P1876, "$past"
+    unless_null $P1876, vivify_572
+    $P1876 = root_new ['parrot';'ResizablePMCArray']
+  vivify_572:
+    set $P1877, $P1876[$I1875]
+    unless_null $P1877, vivify_573
+    new $P1877, "Undef"
+  vivify_573:
+    $P1877."named"(1)
+  if_1858_end:
+  if_1839_end:
+.annotate 'line', 676
+    find_lex $P1878, "$i"
+    clone $P1879, $P1878
+    inc $P1878
+  loop1880_next:
+.annotate 'line', 675
+    goto loop1880_test
+  loop1880_handler:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1859, exception, 'type'
-    eq $P1859, .CONTROL_LOOP_NEXT, loop1857_next
-    eq $P1859, .CONTROL_LOOP_REDO, loop1857_redo
-  loop1857_done:
+    getattribute $P1882, exception, 'type'
+    eq $P1882, .CONTROL_LOOP_NEXT, loop1880_next
+    eq $P1882, .CONTROL_LOOP_REDO, loop1880_redo
+  loop1880_done:
     pop_eh 
-.annotate 'line', 676
-    find_lex $P1860, "$/"
-    find_lex $P1861, "$past"
-    $P1862 = $P1860."!make"($P1861)
-.annotate 'line', 654
-    .return ($P1862)
-  control_1761:
+.annotate 'line', 686
+    find_lex $P1883, "$/"
+    find_lex $P1884, "$past"
+    $P1885 = $P1883."!make"($P1884)
+.annotate 'line', 664
+    .return ($P1885)
+  control_1784:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1863, exception, "payload"
-    .return ($P1863)
+    getattribute $P1886, exception, "payload"
+    .return ($P1886)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "_block1773"  :anon :subid("99_1277356919.52295") :outer("98_1277356919.52295")
-.annotate 'line', 656
-    .const 'Sub' $P1795 = "100_1277356919.52295" 
-    capture_lex $P1795
-.annotate 'line', 657
-    new $P1775, "Undef"
-    .lex "$expr", $P1775
-    find_lex $P1776, "$/"
-    unless_null $P1776, vivify_551
-    $P1776 = root_new ['parrot';'Hash']
-  vivify_551:
-    set $P1777, $P1776["EXPR"]
-    unless_null $P1777, vivify_552
-    new $P1777, "Undef"
-  vivify_552:
-    $P1778 = $P1777."ast"()
-    store_lex "$expr", $P1778
-.annotate 'line', 658
-    find_lex $P1783, "$expr"
-    $S1784 = $P1783."name"()
-    iseq $I1785, $S1784, "&infix:<,>"
-    if $I1785, if_1782
-    new $P1781, 'Integer'
-    set $P1781, $I1785
-    goto if_1782_end
-  if_1782:
-    find_lex $P1786, "$expr"
-    $P1787 = $P1786."named"()
-    isfalse $I1788, $P1787
-    new $P1781, 'Integer'
-    set $P1781, $I1788
-  if_1782_end:
-    if $P1781, if_1780
-.annotate 'line', 661
-    find_lex $P1803, "$past"
-    find_lex $P1804, "$expr"
-    $P1805 = $P1803."push"($P1804)
-    set $P1779, $P1805
-.annotate 'line', 658
-    goto if_1780_end
-  if_1780:
-.annotate 'line', 659
-    find_lex $P1790, "$expr"
-    $P1791 = $P1790."list"()
-    defined $I1792, $P1791
-    unless $I1792, for_undef_553
-    iter $P1789, $P1791
-    new $P1801, 'ExceptionHandler'
-    set_addr $P1801, loop1800_handler
-    $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_1277356919.52295" 
-    capture_lex $P1795
-    $P1795($P1793)
-  loop1800_next:
-    goto loop1800_test
-  loop1800_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1802, exception, 'type'
-    eq $P1802, .CONTROL_LOOP_NEXT, loop1800_next
-    eq $P1802, .CONTROL_LOOP_REDO, loop1800_redo
-  loop1800_done:
+.sub "_block1796"  :anon :subid("99_1278500542.82783") :outer("98_1278500542.82783")
+.annotate 'line', 666
+    .const 'Sub' $P1818 = "100_1278500542.82783" 
+    capture_lex $P1818
+.annotate 'line', 667
+    new $P1798, "Undef"
+    .lex "$expr", $P1798
+    find_lex $P1799, "$/"
+    unless_null $P1799, vivify_557
+    $P1799 = root_new ['parrot';'Hash']
+  vivify_557:
+    set $P1800, $P1799["EXPR"]
+    unless_null $P1800, vivify_558
+    new $P1800, "Undef"
+  vivify_558:
+    $P1801 = $P1800."ast"()
+    store_lex "$expr", $P1801
+.annotate 'line', 668
+    find_lex $P1806, "$expr"
+    $S1807 = $P1806."name"()
+    iseq $I1808, $S1807, "&infix:<,>"
+    if $I1808, if_1805
+    new $P1804, 'Integer'
+    set $P1804, $I1808
+    goto if_1805_end
+  if_1805:
+    find_lex $P1809, "$expr"
+    $P1810 = $P1809."named"()
+    isfalse $I1811, $P1810
+    new $P1804, 'Integer'
+    set $P1804, $I1811
+  if_1805_end:
+    if $P1804, if_1803
+.annotate 'line', 671
+    find_lex $P1826, "$past"
+    find_lex $P1827, "$expr"
+    $P1828 = $P1826."push"($P1827)
+    set $P1802, $P1828
+.annotate 'line', 668
+    goto if_1803_end
+  if_1803:
+.annotate 'line', 669
+    find_lex $P1813, "$expr"
+    $P1814 = $P1813."list"()
+    defined $I1815, $P1814
+    unless $I1815, for_undef_559
+    iter $P1812, $P1814
+    new $P1824, 'ExceptionHandler'
+    set_addr $P1824, loop1823_handler
+    $P1824."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P1824
+  loop1823_test:
+    unless $P1812, loop1823_done
+    shift $P1816, $P1812
+  loop1823_redo:
+    .const 'Sub' $P1818 = "100_1278500542.82783" 
+    capture_lex $P1818
+    $P1818($P1816)
+  loop1823_next:
+    goto loop1823_test
+  loop1823_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1825, exception, 'type'
+    eq $P1825, .CONTROL_LOOP_NEXT, loop1823_next
+    eq $P1825, .CONTROL_LOOP_REDO, loop1823_redo
+  loop1823_done:
     pop_eh 
-  for_undef_553:
-.annotate 'line', 658
-    set $P1779, $P1789
-  if_1780_end:
-.annotate 'line', 656
-    .return ($P1779)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.sub "_block1794"  :anon :subid("100_1277356919.52295") :outer("99_1277356919.52295")
-    .param pmc param_1796
-.annotate 'line', 659
-    .lex "$_", param_1796
-    find_lex $P1797, "$past"
-    find_lex $P1798, "$_"
-    $P1799 = $P1797."push"($P1798)
-    .return ($P1799)
+  for_undef_559:
+.annotate 'line', 668
+    set $P1802, $P1812
+  if_1803_end:
+.annotate 'line', 666
+    .return ($P1802)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "term:sym<value>"  :subid("101_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1867
-.annotate 'line', 680
-    new $P1866, 'ExceptionHandler'
-    set_addr $P1866, control_1865
-    $P1866."handle_types"(.CONTROL_RETURN)
-    push_eh $P1866
-    .lex "self", self
-    .lex "$/", param_1867
-    find_lex $P1868, "$/"
-    find_lex $P1869, "$/"
-    unless_null $P1869, vivify_568
-    $P1869 = root_new ['parrot';'Hash']
-  vivify_568:
-    set $P1870, $P1869["value"]
-    unless_null $P1870, vivify_569
-    new $P1870, "Undef"
-  vivify_569:
-    $P1871 = $P1870."ast"()
-    $P1872 = $P1868."!make"($P1871)
-    .return ($P1872)
-  control_1865:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1873, exception, "payload"
-    .return ($P1873)
+.sub "_block1817"  :anon :subid("100_1278500542.82783") :outer("99_1278500542.82783")
+    .param pmc param_1819
+.annotate 'line', 669
+    .lex "$_", param_1819
+    find_lex $P1820, "$past"
+    find_lex $P1821, "$_"
+    $P1822 = $P1820."push"($P1821)
+    .return ($P1822)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "circumfix:sym<( )>"  :subid("102_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1877
-.annotate 'line', 682
-    new $P1876, 'ExceptionHandler'
-    set_addr $P1876, control_1875
-    $P1876."handle_types"(.CONTROL_RETURN)
-    push_eh $P1876
-    .lex "self", self
-    .lex "$/", param_1877
-.annotate 'line', 683
-    find_lex $P1878, "$/"
-.annotate 'line', 684
-    find_lex $P1881, "$/"
-    unless_null $P1881, vivify_570
-    $P1881 = root_new ['parrot';'Hash']
-  vivify_570:
-    set $P1882, $P1881["EXPR"]
-    unless_null $P1882, vivify_571
-    new $P1882, "Undef"
-  vivify_571:
-    if $P1882, if_1880
-.annotate 'line', 685
-    get_hll_global $P1887, ["PAST"], "Op"
-    find_lex $P1888, "$/"
-    $P1889 = $P1887."new"("list" :named("pasttype"), $P1888 :named("node"))
-    set $P1879, $P1889
-.annotate 'line', 684
-    goto if_1880_end
-  if_1880:
-    find_lex $P1883, "$/"
-    unless_null $P1883, vivify_572
-    $P1883 = root_new ['parrot';'Hash']
-  vivify_572:
-    set $P1884, $P1883["EXPR"]
-    unless_null $P1884, vivify_573
-    $P1884 = root_new ['parrot';'ResizablePMCArray']
-  vivify_573:
-    set $P1885, $P1884[0]
-    unless_null $P1885, vivify_574
-    new $P1885, "Undef"
+.sub "term:sym<value>"  :subid("101_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1890
+.annotate 'line', 690
+    new $P1889, 'ExceptionHandler'
+    set_addr $P1889, control_1888
+    $P1889."handle_types"(.CONTROL_RETURN)
+    push_eh $P1889
+    .lex "self", self
+    .lex "$/", param_1890
+    find_lex $P1891, "$/"
+    find_lex $P1892, "$/"
+    unless_null $P1892, vivify_574
+    $P1892 = root_new ['parrot';'Hash']
   vivify_574:
-    $P1886 = $P1885."ast"()
-    set $P1879, $P1886
-  if_1880_end:
-    $P1890 = $P1878."!make"($P1879)
-.annotate 'line', 682
-    .return ($P1890)
-  control_1875:
+    set $P1893, $P1892["value"]
+    unless_null $P1893, vivify_575
+    new $P1893, "Undef"
+  vivify_575:
+    $P1894 = $P1893."ast"()
+    $P1895 = $P1891."!make"($P1894)
+    .return ($P1895)
+  control_1888:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1891, exception, "payload"
-    .return ($P1891)
+    getattribute $P1896, exception, "payload"
+    .return ($P1896)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "circumfix:sym<[ ]>"  :subid("103_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1895
-.annotate 'line', 688
-    new $P1894, 'ExceptionHandler'
-    set_addr $P1894, control_1893
-    $P1894."handle_types"(.CONTROL_RETURN)
-    push_eh $P1894
+.sub "circumfix:sym<( )>"  :subid("102_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1900
+.annotate 'line', 692
+    new $P1899, 'ExceptionHandler'
+    set_addr $P1899, control_1898
+    $P1899."handle_types"(.CONTROL_RETURN)
+    push_eh $P1899
     .lex "self", self
-    .lex "$/", param_1895
-.annotate 'line', 689
-    new $P1896, "Undef"
-    .lex "$past", $P1896
-.annotate 'line', 688
-    find_lex $P1897, "$past"
-.annotate 'line', 690
-    find_lex $P1899, "$/"
-    unless_null $P1899, vivify_575
-    $P1899 = root_new ['parrot';'Hash']
-  vivify_575:
-    set $P1900, $P1899["EXPR"]
-    unless_null $P1900, vivify_576
-    new $P1900, "Undef"
-  vivify_576:
-    if $P1900, if_1898
-.annotate 'line', 697
-    get_hll_global $P1912, ["PAST"], "Op"
-    $P1913 = $P1912."new"("list" :named("pasttype"))
-    store_lex "$past", $P1913
-.annotate 'line', 696
-    goto if_1898_end
-  if_1898:
-.annotate 'line', 691
+    .lex "$/", param_1900
+.annotate 'line', 693
     find_lex $P1901, "$/"
-    unless_null $P1901, vivify_577
-    $P1901 = root_new ['parrot';'Hash']
+.annotate 'line', 694
+    find_lex $P1904, "$/"
+    unless_null $P1904, vivify_576
+    $P1904 = root_new ['parrot';'Hash']
+  vivify_576:
+    set $P1905, $P1904["EXPR"]
+    unless_null $P1905, vivify_577
+    new $P1905, "Undef"
   vivify_577:
-    set $P1902, $P1901["EXPR"]
-    unless_null $P1902, vivify_578
-    $P1902 = root_new ['parrot';'ResizablePMCArray']
+    if $P1905, if_1903
+.annotate 'line', 695
+    get_hll_global $P1910, ["PAST"], "Op"
+    find_lex $P1911, "$/"
+    $P1912 = $P1910."new"("list" :named("pasttype"), $P1911 :named("node"))
+    set $P1902, $P1912
+.annotate 'line', 694
+    goto if_1903_end
+  if_1903:
+    find_lex $P1906, "$/"
+    unless_null $P1906, vivify_578
+    $P1906 = root_new ['parrot';'Hash']
   vivify_578:
-    set $P1903, $P1902[0]
-    unless_null $P1903, vivify_579
-    new $P1903, "Undef"
+    set $P1907, $P1906["EXPR"]
+    unless_null $P1907, vivify_579
+    $P1907 = root_new ['parrot';'ResizablePMCArray']
   vivify_579:
-    $P1904 = $P1903."ast"()
-    store_lex "$past", $P1904
+    set $P1908, $P1907[0]
+    unless_null $P1908, vivify_580
+    new $P1908, "Undef"
+  vivify_580:
+    $P1909 = $P1908."ast"()
+    set $P1902, $P1909
+  if_1903_end:
+    $P1913 = $P1901."!make"($P1902)
 .annotate 'line', 692
-    find_lex $P1906, "$past"
-    $S1907 = $P1906."name"()
-    isne $I1908, $S1907, "&infix:<,>"
-    unless $I1908, if_1905_end
-.annotate 'line', 693
-    get_hll_global $P1909, ["PAST"], "Op"
-    find_lex $P1910, "$past"
-    $P1911 = $P1909."new"($P1910, "list" :named("pasttype"))
-    store_lex "$past", $P1911
-  if_1905_end:
-  if_1898_end:
-.annotate 'line', 699
-    find_lex $P1914, "$past"
-    $P1914."name"("&circumfix:<[ ]>")
-.annotate 'line', 700
-    find_lex $P1915, "$/"
-    find_lex $P1916, "$past"
-    $P1917 = $P1915."!make"($P1916)
-.annotate 'line', 688
-    .return ($P1917)
-  control_1893:
+    .return ($P1913)
+  control_1898:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1918, exception, "payload"
-    .return ($P1918)
+    getattribute $P1914, exception, "payload"
+    .return ($P1914)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "circumfix:sym<ang>"  :subid("104_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1922
-.annotate 'line', 703
-    new $P1921, 'ExceptionHandler'
-    set_addr $P1921, control_1920
-    $P1921."handle_types"(.CONTROL_RETURN)
-    push_eh $P1921
+.sub "circumfix:sym<[ ]>"  :subid("103_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1918
+.annotate 'line', 698
+    new $P1917, 'ExceptionHandler'
+    set_addr $P1917, control_1916
+    $P1917."handle_types"(.CONTROL_RETURN)
+    push_eh $P1917
     .lex "self", self
-    .lex "$/", param_1922
-    find_lex $P1923, "$/"
-    find_lex $P1924, "$/"
-    unless_null $P1924, vivify_580
-    $P1924 = root_new ['parrot';'Hash']
-  vivify_580:
-    set $P1925, $P1924["quote_EXPR"]
-    unless_null $P1925, vivify_581
-    new $P1925, "Undef"
+    .lex "$/", param_1918
+.annotate 'line', 699
+    new $P1919, "Undef"
+    .lex "$past", $P1919
+.annotate 'line', 698
+    find_lex $P1920, "$past"
+.annotate 'line', 700
+    find_lex $P1922, "$/"
+    unless_null $P1922, vivify_581
+    $P1922 = root_new ['parrot';'Hash']
   vivify_581:
-    $P1926 = $P1925."ast"()
-    $P1927 = $P1923."!make"($P1926)
-    .return ($P1927)
-  control_1920:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1928, exception, "payload"
-    .return ($P1928)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("105_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1932
-.annotate 'line', 704
-    new $P1931, 'ExceptionHandler'
-    set_addr $P1931, control_1930
-    $P1931."handle_types"(.CONTROL_RETURN)
-    push_eh $P1931
-    .lex "self", self
-    .lex "$/", param_1932
-    find_lex $P1933, "$/"
-    find_lex $P1934, "$/"
-    unless_null $P1934, vivify_582
-    $P1934 = root_new ['parrot';'Hash']
+    set $P1923, $P1922["EXPR"]
+    unless_null $P1923, vivify_582
+    new $P1923, "Undef"
   vivify_582:
-    set $P1935, $P1934["quote_EXPR"]
-    unless_null $P1935, vivify_583
-    new $P1935, "Undef"
+    if $P1923, if_1921
+.annotate 'line', 707
+    get_hll_global $P1935, ["PAST"], "Op"
+    $P1936 = $P1935."new"("list" :named("pasttype"))
+    store_lex "$past", $P1936
+.annotate 'line', 706
+    goto if_1921_end
+  if_1921:
+.annotate 'line', 701
+    find_lex $P1924, "$/"
+    unless_null $P1924, vivify_583
+    $P1924 = root_new ['parrot';'Hash']
   vivify_583:
-    $P1936 = $P1935."ast"()
-    $P1937 = $P1933."!make"($P1936)
-    .return ($P1937)
-  control_1930:
+    set $P1925, $P1924["EXPR"]
+    unless_null $P1925, vivify_584
+    $P1925 = root_new ['parrot';'ResizablePMCArray']
+  vivify_584:
+    set $P1926, $P1925[0]
+    unless_null $P1926, vivify_585
+    new $P1926, "Undef"
+  vivify_585:
+    $P1927 = $P1926."ast"()
+    store_lex "$past", $P1927
+.annotate 'line', 702
+    find_lex $P1929, "$past"
+    $S1930 = $P1929."name"()
+    isne $I1931, $S1930, "&infix:<,>"
+    unless $I1931, if_1928_end
+.annotate 'line', 703
+    get_hll_global $P1932, ["PAST"], "Op"
+    find_lex $P1933, "$past"
+    $P1934 = $P1932."new"($P1933, "list" :named("pasttype"))
+    store_lex "$past", $P1934
+  if_1928_end:
+  if_1921_end:
+.annotate 'line', 709
+    find_lex $P1937, "$past"
+    $P1937."name"("&circumfix:<[ ]>")
+.annotate 'line', 710
+    find_lex $P1938, "$/"
+    find_lex $P1939, "$past"
+    $P1940 = $P1938."!make"($P1939)
+.annotate 'line', 698
+    .return ($P1940)
+  control_1916:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1938, exception, "payload"
-    .return ($P1938)
+    getattribute $P1941, exception, "payload"
+    .return ($P1941)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "circumfix:sym<{ }>"  :subid("106_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1942
-.annotate 'line', 706
-    new $P1941, 'ExceptionHandler'
-    set_addr $P1941, control_1940
-    $P1941."handle_types"(.CONTROL_RETURN)
-    push_eh $P1941
+.sub "circumfix:sym<ang>"  :subid("104_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1945
+.annotate 'line', 713
+    new $P1944, 'ExceptionHandler'
+    set_addr $P1944, control_1943
+    $P1944."handle_types"(.CONTROL_RETURN)
+    push_eh $P1944
     .lex "self", self
-    .lex "$/", param_1942
-.annotate 'line', 707
-    new $P1943, "Undef"
-    .lex "$past", $P1943
+    .lex "$/", param_1945
     find_lex $P1946, "$/"
-    unless_null $P1946, vivify_584
-    $P1946 = root_new ['parrot';'Hash']
-  vivify_584:
-    set $P1947, $P1946["pblock"]
-    unless_null $P1947, vivify_585
+    find_lex $P1947, "$/"
+    unless_null $P1947, vivify_586
     $P1947 = root_new ['parrot';'Hash']
-  vivify_585:
-    set $P1948, $P1947["blockoid"]
-    unless_null $P1948, vivify_586
-    $P1948 = root_new ['parrot';'Hash']
   vivify_586:
-    set $P1949, $P1948["statementlist"]
-    unless_null $P1949, vivify_587
-    $P1949 = root_new ['parrot';'Hash']
+    set $P1948, $P1947["quote_EXPR"]
+    unless_null $P1948, vivify_587
+    new $P1948, "Undef"
   vivify_587:
-    set $P1950, $P1949["statement"]
-    unless_null $P1950, vivify_588
-    new $P1950, "Undef"
-  vivify_588:
-    set $N1951, $P1950
-    isgt $I1952, $N1951, 0.0
-    if $I1952, if_1945
-.annotate 'line', 709
-    $P1956 = "vivitype"("%")
-    set $P1944, $P1956
-.annotate 'line', 707
-    goto if_1945_end
-  if_1945:
-.annotate 'line', 708
-    find_lex $P1953, "$/"
-    unless_null $P1953, vivify_589
-    $P1953 = root_new ['parrot';'Hash']
-  vivify_589:
-    set $P1954, $P1953["pblock"]
-    unless_null $P1954, vivify_590
-    new $P1954, "Undef"
-  vivify_590:
-    $P1955 = $P1954."ast"()
-    set $P1944, $P1955
-  if_1945_end:
-    store_lex "$past", $P1944
-.annotate 'line', 710
-    new $P1957, "Integer"
-    assign $P1957, 1
-    find_lex $P1958, "$past"
-    unless_null $P1958, vivify_591
-    $P1958 = root_new ['parrot';'Hash']
-    store_lex "$past", $P1958
-  vivify_591:
-    set $P1958["bareblock"], $P1957
-.annotate 'line', 711
-    find_lex $P1959, "$/"
-    find_lex $P1960, "$past"
-    $P1961 = $P1959."!make"($P1960)
-.annotate 'line', 706
-    .return ($P1961)
-  control_1940:
+    $P1949 = $P1948."ast"()
+    $P1950 = $P1946."!make"($P1949)
+    .return ($P1950)
+  control_1943:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1962, exception, "payload"
-    .return ($P1962)
+    getattribute $P1951, exception, "payload"
+    .return ($P1951)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "circumfix:sym<sigil>"  :subid("107_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1966
-.annotate 'line', 714
-    new $P1965, 'ExceptionHandler'
-    set_addr $P1965, control_1964
-    $P1965."handle_types"(.CONTROL_RETURN)
-    push_eh $P1965
-    .lex "self", self
-    .lex "$/", param_1966
-.annotate 'line', 715
-    new $P1967, "Undef"
-    .lex "$name", $P1967
-    find_lex $P1970, "$/"
-    unless_null $P1970, vivify_592
-    $P1970 = root_new ['parrot';'Hash']
-  vivify_592:
-    set $P1971, $P1970["sigil"]
-    unless_null $P1971, vivify_593
-    new $P1971, "Undef"
-  vivify_593:
-    set $S1972, $P1971
-    iseq $I1973, $S1972, "@"
-    if $I1973, if_1969
-.annotate 'line', 716
-    find_lex $P1977, "$/"
-    unless_null $P1977, vivify_594
-    $P1977 = root_new ['parrot';'Hash']
-  vivify_594:
-    set $P1978, $P1977["sigil"]
-    unless_null $P1978, vivify_595
-    new $P1978, "Undef"
-  vivify_595:
-    set $S1979, $P1978
-    iseq $I1980, $S1979, "%"
-    if $I1980, if_1976
-    new $P1982, "String"
-    assign $P1982, "item"
-    set $P1975, $P1982
-    goto if_1976_end
-  if_1976:
-    new $P1981, "String"
-    assign $P1981, "hash"
-    set $P1975, $P1981
-  if_1976_end:
-    set $P1968, $P1975
-.annotate 'line', 715
-    goto if_1969_end
-  if_1969:
-    new $P1974, "String"
-    assign $P1974, "list"
-    set $P1968, $P1974
-  if_1969_end:
-    store_lex "$name", $P1968
-.annotate 'line', 718
-    find_lex $P1983, "$/"
-    get_hll_global $P1984, ["PAST"], "Op"
-    find_lex $P1985, "$name"
-    find_lex $P1986, "$/"
-    unless_null $P1986, vivify_596
-    $P1986 = root_new ['parrot';'Hash']
-  vivify_596:
-    set $P1987, $P1986["semilist"]
-    unless_null $P1987, vivify_597
-    new $P1987, "Undef"
-  vivify_597:
-    $P1988 = $P1987."ast"()
-    $P1989 = $P1984."new"($P1988, "callmethod" :named("pasttype"), $P1985 :named("name"))
-    $P1990 = $P1983."!make"($P1989)
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("105_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1955
 .annotate 'line', 714
-    .return ($P1990)
-  control_1964:
+    new $P1954, 'ExceptionHandler'
+    set_addr $P1954, control_1953
+    $P1954."handle_types"(.CONTROL_RETURN)
+    push_eh $P1954
+    .lex "self", self
+    .lex "$/", param_1955
+    find_lex $P1956, "$/"
+    find_lex $P1957, "$/"
+    unless_null $P1957, vivify_588
+    $P1957 = root_new ['parrot';'Hash']
+  vivify_588:
+    set $P1958, $P1957["quote_EXPR"]
+    unless_null $P1958, vivify_589
+    new $P1958, "Undef"
+  vivify_589:
+    $P1959 = $P1958."ast"()
+    $P1960 = $P1956."!make"($P1959)
+    .return ($P1960)
+  control_1953:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1991, exception, "payload"
-    .return ($P1991)
+    getattribute $P1961, exception, "payload"
+    .return ($P1961)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "semilist"  :subid("108_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_1995
+.sub "circumfix:sym<{ }>"  :subid("106_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1965
+.annotate 'line', 716
+    new $P1964, 'ExceptionHandler'
+    set_addr $P1964, control_1963
+    $P1964."handle_types"(.CONTROL_RETURN)
+    push_eh $P1964
+    .lex "self", self
+    .lex "$/", param_1965
+.annotate 'line', 717
+    new $P1966, "Undef"
+    .lex "$past", $P1966
+    find_lex $P1969, "$/"
+    unless_null $P1969, vivify_590
+    $P1969 = root_new ['parrot';'Hash']
+  vivify_590:
+    set $P1970, $P1969["pblock"]
+    unless_null $P1970, vivify_591
+    $P1970 = root_new ['parrot';'Hash']
+  vivify_591:
+    set $P1971, $P1970["blockoid"]
+    unless_null $P1971, vivify_592
+    $P1971 = root_new ['parrot';'Hash']
+  vivify_592:
+    set $P1972, $P1971["statementlist"]
+    unless_null $P1972, vivify_593
+    $P1972 = root_new ['parrot';'Hash']
+  vivify_593:
+    set $P1973, $P1972["statement"]
+    unless_null $P1973, vivify_594
+    new $P1973, "Undef"
+  vivify_594:
+    set $N1974, $P1973
+    isgt $I1975, $N1974, 0.0
+    if $I1975, if_1968
+.annotate 'line', 719
+    $P1979 = "vivitype"("%")
+    set $P1967, $P1979
+.annotate 'line', 717
+    goto if_1968_end
+  if_1968:
+.annotate 'line', 718
+    find_lex $P1976, "$/"
+    unless_null $P1976, vivify_595
+    $P1976 = root_new ['parrot';'Hash']
+  vivify_595:
+    set $P1977, $P1976["pblock"]
+    unless_null $P1977, vivify_596
+    new $P1977, "Undef"
+  vivify_596:
+    $P1978 = $P1977."ast"()
+    set $P1967, $P1978
+  if_1968_end:
+    store_lex "$past", $P1967
+.annotate 'line', 720
+    new $P1980, "Integer"
+    assign $P1980, 1
+    find_lex $P1981, "$past"
+    unless_null $P1981, vivify_597
+    $P1981 = root_new ['parrot';'Hash']
+    store_lex "$past", $P1981
+  vivify_597:
+    set $P1981["bareblock"], $P1980
 .annotate 'line', 721
-    new $P1994, 'ExceptionHandler'
-    set_addr $P1994, control_1993
-    $P1994."handle_types"(.CONTROL_RETURN)
-    push_eh $P1994
-    .lex "self", self
-    .lex "$/", param_1995
-    find_lex $P1996, "$/"
-    find_lex $P1997, "$/"
-    unless_null $P1997, vivify_598
-    $P1997 = root_new ['parrot';'Hash']
-  vivify_598:
-    set $P1998, $P1997["statement"]
-    unless_null $P1998, vivify_599
-    new $P1998, "Undef"
-  vivify_599:
-    $P1999 = $P1998."ast"()
-    $P2000 = $P1996."!make"($P1999)
-    .return ($P2000)
-  control_1993:
+    find_lex $P1982, "$/"
+    find_lex $P1983, "$past"
+    $P1984 = $P1982."!make"($P1983)
+.annotate 'line', 716
+    .return ($P1984)
+  control_1963:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2001, exception, "payload"
-    .return ($P2001)
+    getattribute $P1985, exception, "payload"
+    .return ($P1985)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "postcircumfix:sym<[ ]>"  :subid("109_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2005
-.annotate 'line', 723
-    new $P2004, 'ExceptionHandler'
-    set_addr $P2004, control_2003
-    $P2004."handle_types"(.CONTROL_RETURN)
-    push_eh $P2004
-    .lex "self", self
-    .lex "$/", param_2005
+.sub "circumfix:sym<sigil>"  :subid("107_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_1989
 .annotate 'line', 724
-    find_lex $P2006, "$/"
-    get_hll_global $P2007, ["PAST"], "Var"
-    find_lex $P2008, "$/"
-    unless_null $P2008, vivify_600
-    $P2008 = root_new ['parrot';'Hash']
+    new $P1988, 'ExceptionHandler'
+    set_addr $P1988, control_1987
+    $P1988."handle_types"(.CONTROL_RETURN)
+    push_eh $P1988
+    .lex "self", self
+    .lex "$/", param_1989
+.annotate 'line', 725
+    new $P1990, "Undef"
+    .lex "$name", $P1990
+    find_lex $P1993, "$/"
+    unless_null $P1993, vivify_598
+    $P1993 = root_new ['parrot';'Hash']
+  vivify_598:
+    set $P1994, $P1993["sigil"]
+    unless_null $P1994, vivify_599
+    new $P1994, "Undef"
+  vivify_599:
+    set $S1995, $P1994
+    iseq $I1996, $S1995, "@"
+    if $I1996, if_1992
+.annotate 'line', 726
+    find_lex $P2000, "$/"
+    unless_null $P2000, vivify_600
+    $P2000 = root_new ['parrot';'Hash']
   vivify_600:
-    set $P2009, $P2008["EXPR"]
-    unless_null $P2009, vivify_601
-    new $P2009, "Undef"
+    set $P2001, $P2000["sigil"]
+    unless_null $P2001, vivify_601
+    new $P2001, "Undef"
   vivify_601:
-    $P2010 = $P2009."ast"()
-.annotate 'line', 726
-    $P2011 = "vivitype"("@")
-    $P2012 = $P2007."new"($P2010, "keyed_int" :named("scope"), "Undef" :named("viviself"), $P2011 :named("vivibase"))
-.annotate 'line', 724
+    set $S2002, $P2001
+    iseq $I2003, $S2002, "%"
+    if $I2003, if_1999
+    new $P2005, "String"
+    assign $P2005, "item"
+    set $P1998, $P2005
+    goto if_1999_end
+  if_1999:
+    new $P2004, "String"
+    assign $P2004, "hash"
+    set $P1998, $P2004
+  if_1999_end:
+    set $P1991, $P1998
+.annotate 'line', 725
+    goto if_1992_end
+  if_1992:
+    new $P1997, "String"
+    assign $P1997, "list"
+    set $P1991, $P1997
+  if_1992_end:
+    store_lex "$name", $P1991
+.annotate 'line', 728
+    find_lex $P2006, "$/"
+    get_hll_global $P2007, ["PAST"], "Op"
+    find_lex $P2008, "$name"
+    find_lex $P2009, "$/"
+    unless_null $P2009, vivify_602
+    $P2009 = root_new ['parrot';'Hash']
+  vivify_602:
+    set $P2010, $P2009["semilist"]
+    unless_null $P2010, vivify_603
+    new $P2010, "Undef"
+  vivify_603:
+    $P2011 = $P2010."ast"()
+    $P2012 = $P2007."new"($P2011, "callmethod" :named("pasttype"), $P2008 :named("name"))
     $P2013 = $P2006."!make"($P2012)
-.annotate 'line', 723
+.annotate 'line', 724
     .return ($P2013)
-  control_2003:
+  control_1987:
     .local pmc exception 
     .get_results (exception) 
     getattribute $P2014, exception, "payload"
@@ -23627,106 +23995,104 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "postcircumfix:sym<{ }>"  :subid("110_1277356919.52295") :method :outer("11_1277356919.52295")
+.sub "semilist"  :subid("108_1278500542.82783") :method :outer("11_1278500542.82783")
     .param pmc param_2018
-.annotate 'line', 729
+.annotate 'line', 731
     new $P2017, 'ExceptionHandler'
     set_addr $P2017, control_2016
     $P2017."handle_types"(.CONTROL_RETURN)
     push_eh $P2017
     .lex "self", self
     .lex "$/", param_2018
-.annotate 'line', 730
     find_lex $P2019, "$/"
-    get_hll_global $P2020, ["PAST"], "Var"
-    find_lex $P2021, "$/"
-    unless_null $P2021, vivify_602
-    $P2021 = root_new ['parrot';'Hash']
-  vivify_602:
-    set $P2022, $P2021["EXPR"]
-    unless_null $P2022, vivify_603
-    new $P2022, "Undef"
-  vivify_603:
-    $P2023 = $P2022."ast"()
-.annotate 'line', 732
-    $P2024 = "vivitype"("%")
-    $P2025 = $P2020."new"($P2023, "keyed" :named("scope"), "Undef" :named("viviself"), $P2024 :named("vivibase"))
-.annotate 'line', 730
-    $P2026 = $P2019."!make"($P2025)
-.annotate 'line', 729
-    .return ($P2026)
+    find_lex $P2020, "$/"
+    unless_null $P2020, vivify_604
+    $P2020 = root_new ['parrot';'Hash']
+  vivify_604:
+    set $P2021, $P2020["statement"]
+    unless_null $P2021, vivify_605
+    new $P2021, "Undef"
+  vivify_605:
+    $P2022 = $P2021."ast"()
+    $P2023 = $P2019."!make"($P2022)
+    .return ($P2023)
   control_2016:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2027, exception, "payload"
-    .return ($P2027)
+    getattribute $P2024, exception, "payload"
+    .return ($P2024)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "postcircumfix:sym<ang>"  :subid("111_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2031
-.annotate 'line', 735
-    new $P2030, 'ExceptionHandler'
-    set_addr $P2030, control_2029
-    $P2030."handle_types"(.CONTROL_RETURN)
-    push_eh $P2030
+.sub "postcircumfix:sym<[ ]>"  :subid("109_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2028
+.annotate 'line', 733
+    new $P2027, 'ExceptionHandler'
+    set_addr $P2027, control_2026
+    $P2027."handle_types"(.CONTROL_RETURN)
+    push_eh $P2027
     .lex "self", self
-    .lex "$/", param_2031
-.annotate 'line', 736
-    find_lex $P2032, "$/"
-    get_hll_global $P2033, ["PAST"], "Var"
-    find_lex $P2034, "$/"
-    unless_null $P2034, vivify_604
-    $P2034 = root_new ['parrot';'Hash']
-  vivify_604:
-    set $P2035, $P2034["quote_EXPR"]
-    unless_null $P2035, vivify_605
-    new $P2035, "Undef"
-  vivify_605:
-    $P2036 = $P2035."ast"()
-.annotate 'line', 738
-    $P2037 = "vivitype"("%")
-    $P2038 = $P2033."new"($P2036, "keyed" :named("scope"), "Undef" :named("viviself"), $P2037 :named("vivibase"))
+    .lex "$/", param_2028
+.annotate 'line', 734
+    find_lex $P2029, "$/"
+    get_hll_global $P2030, ["PAST"], "Var"
+    find_lex $P2031, "$/"
+    unless_null $P2031, vivify_606
+    $P2031 = root_new ['parrot';'Hash']
+  vivify_606:
+    set $P2032, $P2031["EXPR"]
+    unless_null $P2032, vivify_607
+    new $P2032, "Undef"
+  vivify_607:
+    $P2033 = $P2032."ast"()
 .annotate 'line', 736
-    $P2039 = $P2032."!make"($P2038)
-.annotate 'line', 735
-    .return ($P2039)
-  control_2029:
+    $P2034 = "vivitype"("@")
+    $P2035 = $P2030."new"($P2033, "keyed_int" :named("scope"), "Undef" :named("viviself"), $P2034 :named("vivibase"))
+.annotate 'line', 734
+    $P2036 = $P2029."!make"($P2035)
+.annotate 'line', 733
+    .return ($P2036)
+  control_2026:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2040, exception, "payload"
-    .return ($P2040)
+    getattribute $P2037, exception, "payload"
+    .return ($P2037)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "postcircumfix:sym<( )>"  :subid("112_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2044
-.annotate 'line', 741
-    new $P2043, 'ExceptionHandler'
-    set_addr $P2043, control_2042
-    $P2043."handle_types"(.CONTROL_RETURN)
-    push_eh $P2043
+.sub "postcircumfix:sym<{ }>"  :subid("110_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2041
+.annotate 'line', 739
+    new $P2040, 'ExceptionHandler'
+    set_addr $P2040, control_2039
+    $P2040."handle_types"(.CONTROL_RETURN)
+    push_eh $P2040
     .lex "self", self
-    .lex "$/", param_2044
+    .lex "$/", param_2041
+.annotate 'line', 740
+    find_lex $P2042, "$/"
+    get_hll_global $P2043, ["PAST"], "Var"
+    find_lex $P2044, "$/"
+    unless_null $P2044, vivify_608
+    $P2044 = root_new ['parrot';'Hash']
+  vivify_608:
+    set $P2045, $P2044["EXPR"]
+    unless_null $P2045, vivify_609
+    new $P2045, "Undef"
+  vivify_609:
+    $P2046 = $P2045."ast"()
 .annotate 'line', 742
-    find_lex $P2045, "$/"
-    find_lex $P2046, "$/"
-    unless_null $P2046, vivify_606
-    $P2046 = root_new ['parrot';'Hash']
-  vivify_606:
-    set $P2047, $P2046["arglist"]
-    unless_null $P2047, vivify_607
-    new $P2047, "Undef"
-  vivify_607:
-    $P2048 = $P2047."ast"()
-    $P2049 = $P2045."!make"($P2048)
-.annotate 'line', 741
+    $P2047 = "vivitype"("%")
+    $P2048 = $P2043."new"($P2046, "keyed" :named("scope"), "Undef" :named("viviself"), $P2047 :named("vivibase"))
+.annotate 'line', 740
+    $P2049 = $P2042."!make"($P2048)
+.annotate 'line', 739
     .return ($P2049)
-  control_2042:
+  control_2039:
     .local pmc exception 
     .get_results (exception) 
     getattribute $P2050, exception, "payload"
@@ -23736,7 +24102,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "value"  :subid("113_1277356919.52295") :method :outer("11_1277356919.52295")
+.sub "postcircumfix:sym<ang>"  :subid("111_1278500542.82783") :method :outer("11_1278500542.82783")
     .param pmc param_2054
 .annotate 'line', 745
     new $P2053, 'ExceptionHandler'
@@ -23747,1077 +24113,1148 @@
     .lex "$/", param_2054
 .annotate 'line', 746
     find_lex $P2055, "$/"
-    find_lex $P2058, "$/"
-    unless_null $P2058, vivify_608
-    $P2058 = root_new ['parrot';'Hash']
-  vivify_608:
-    set $P2059, $P2058["quote"]
-    unless_null $P2059, vivify_609
-    new $P2059, "Undef"
-  vivify_609:
-    if $P2059, if_2057
-    find_lex $P2063, "$/"
-    unless_null $P2063, vivify_610
-    $P2063 = root_new ['parrot';'Hash']
+    get_hll_global $P2056, ["PAST"], "Var"
+    find_lex $P2057, "$/"
+    unless_null $P2057, vivify_610
+    $P2057 = root_new ['parrot';'Hash']
   vivify_610:
-    set $P2064, $P2063["number"]
-    unless_null $P2064, vivify_611
-    new $P2064, "Undef"
+    set $P2058, $P2057["quote_EXPR"]
+    unless_null $P2058, vivify_611
+    new $P2058, "Undef"
   vivify_611:
-    $P2065 = $P2064."ast"()
-    set $P2056, $P2065
-    goto if_2057_end
-  if_2057:
-    find_lex $P2060, "$/"
-    unless_null $P2060, vivify_612
-    $P2060 = root_new ['parrot';'Hash']
-  vivify_612:
-    set $P2061, $P2060["quote"]
-    unless_null $P2061, vivify_613
-    new $P2061, "Undef"
-  vivify_613:
-    $P2062 = $P2061."ast"()
-    set $P2056, $P2062
-  if_2057_end:
-    $P2066 = $P2055."!make"($P2056)
+    $P2059 = $P2058."ast"()
+.annotate 'line', 748
+    $P2060 = "vivitype"("%")
+    $P2061 = $P2056."new"($P2059, "keyed" :named("scope"), "Undef" :named("viviself"), $P2060 :named("vivibase"))
+.annotate 'line', 746
+    $P2062 = $P2055."!make"($P2061)
 .annotate 'line', 745
-    .return ($P2066)
+    .return ($P2062)
   control_2052:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2067, exception, "payload"
-    .return ($P2067)
+    getattribute $P2063, exception, "payload"
+    .return ($P2063)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "number"  :subid("114_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2071
-.annotate 'line', 749
-    new $P2070, 'ExceptionHandler'
-    set_addr $P2070, control_2069
-    $P2070."handle_types"(.CONTROL_RETURN)
-    push_eh $P2070
-    .lex "self", self
-    .lex "$/", param_2071
-.annotate 'line', 750
-    new $P2072, "Undef"
-    .lex "$value", $P2072
-    find_lex $P2075, "$/"
-    unless_null $P2075, vivify_614
-    $P2075 = root_new ['parrot';'Hash']
-  vivify_614:
-    set $P2076, $P2075["dec_number"]
-    unless_null $P2076, vivify_615
-    new $P2076, "Undef"
-  vivify_615:
-    if $P2076, if_2074
-    find_lex $P2080, "$/"
-    unless_null $P2080, vivify_616
-    $P2080 = root_new ['parrot';'Hash']
-  vivify_616:
-    set $P2081, $P2080["integer"]
-    unless_null $P2081, vivify_617
-    new $P2081, "Undef"
-  vivify_617:
-    $P2082 = $P2081."ast"()
-    set $P2073, $P2082
-    goto if_2074_end
-  if_2074:
-    find_lex $P2077, "$/"
-    unless_null $P2077, vivify_618
-    $P2077 = root_new ['parrot';'Hash']
-  vivify_618:
-    set $P2078, $P2077["dec_number"]
-    unless_null $P2078, vivify_619
-    new $P2078, "Undef"
-  vivify_619:
-    $P2079 = $P2078."ast"()
-    set $P2073, $P2079
-  if_2074_end:
-    store_lex "$value", $P2073
+.sub "postcircumfix:sym<( )>"  :subid("112_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2067
 .annotate 'line', 751
-    find_lex $P2084, "$/"
-    unless_null $P2084, vivify_620
-    $P2084 = root_new ['parrot';'Hash']
-  vivify_620:
-    set $P2085, $P2084["sign"]
-    unless_null $P2085, vivify_621
-    new $P2085, "Undef"
-  vivify_621:
-    set $S2086, $P2085
-    iseq $I2087, $S2086, "-"
-    unless $I2087, if_2083_end
-    find_lex $P2088, "$value"
-    neg $P2089, $P2088
-    store_lex "$value", $P2089
-  if_2083_end:
+    new $P2066, 'ExceptionHandler'
+    set_addr $P2066, control_2065
+    $P2066."handle_types"(.CONTROL_RETURN)
+    push_eh $P2066
+    .lex "self", self
+    .lex "$/", param_2067
 .annotate 'line', 752
-    find_lex $P2090, "$/"
-    get_hll_global $P2091, ["PAST"], "Val"
-    find_lex $P2092, "$value"
-    $P2093 = $P2091."new"($P2092 :named("value"))
-    $P2094 = $P2090."!make"($P2093)
-.annotate 'line', 749
-    .return ($P2094)
-  control_2069:
+    find_lex $P2068, "$/"
+    find_lex $P2069, "$/"
+    unless_null $P2069, vivify_612
+    $P2069 = root_new ['parrot';'Hash']
+  vivify_612:
+    set $P2070, $P2069["arglist"]
+    unless_null $P2070, vivify_613
+    new $P2070, "Undef"
+  vivify_613:
+    $P2071 = $P2070."ast"()
+    $P2072 = $P2068."!make"($P2071)
+.annotate 'line', 751
+    .return ($P2072)
+  control_2065:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2095, exception, "payload"
-    .return ($P2095)
+    getattribute $P2073, exception, "payload"
+    .return ($P2073)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote:sym<apos>"  :subid("115_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2099
+.sub "value"  :subid("113_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2077
 .annotate 'line', 755
-    new $P2098, 'ExceptionHandler'
-    set_addr $P2098, control_2097
-    $P2098."handle_types"(.CONTROL_RETURN)
-    push_eh $P2098
+    new $P2076, 'ExceptionHandler'
+    set_addr $P2076, control_2075
+    $P2076."handle_types"(.CONTROL_RETURN)
+    push_eh $P2076
     .lex "self", self
-    .lex "$/", param_2099
-    find_lex $P2100, "$/"
-    find_lex $P2101, "$/"
-    unless_null $P2101, vivify_622
-    $P2101 = root_new ['parrot';'Hash']
-  vivify_622:
-    set $P2102, $P2101["quote_EXPR"]
-    unless_null $P2102, vivify_623
-    new $P2102, "Undef"
-  vivify_623:
-    $P2103 = $P2102."ast"()
-    $P2104 = $P2100."!make"($P2103)
-    .return ($P2104)
-  control_2097:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P2105, exception, "payload"
-    .return ($P2105)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "quote:sym<dblq>"  :subid("116_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2109
+    .lex "$/", param_2077
 .annotate 'line', 756
-    new $P2108, 'ExceptionHandler'
-    set_addr $P2108, control_2107
-    $P2108."handle_types"(.CONTROL_RETURN)
-    push_eh $P2108
-    .lex "self", self
-    .lex "$/", param_2109
-    find_lex $P2110, "$/"
-    find_lex $P2111, "$/"
-    unless_null $P2111, vivify_624
-    $P2111 = root_new ['parrot';'Hash']
-  vivify_624:
-    set $P2112, $P2111["quote_EXPR"]
-    unless_null $P2112, vivify_625
-    new $P2112, "Undef"
-  vivify_625:
-    $P2113 = $P2112."ast"()
-    $P2114 = $P2110."!make"($P2113)
-    .return ($P2114)
-  control_2107:
+    find_lex $P2078, "$/"
+    find_lex $P2081, "$/"
+    unless_null $P2081, vivify_614
+    $P2081 = root_new ['parrot';'Hash']
+  vivify_614:
+    set $P2082, $P2081["quote"]
+    unless_null $P2082, vivify_615
+    new $P2082, "Undef"
+  vivify_615:
+    if $P2082, if_2080
+    find_lex $P2086, "$/"
+    unless_null $P2086, vivify_616
+    $P2086 = root_new ['parrot';'Hash']
+  vivify_616:
+    set $P2087, $P2086["number"]
+    unless_null $P2087, vivify_617
+    new $P2087, "Undef"
+  vivify_617:
+    $P2088 = $P2087."ast"()
+    set $P2079, $P2088
+    goto if_2080_end
+  if_2080:
+    find_lex $P2083, "$/"
+    unless_null $P2083, vivify_618
+    $P2083 = root_new ['parrot';'Hash']
+  vivify_618:
+    set $P2084, $P2083["quote"]
+    unless_null $P2084, vivify_619
+    new $P2084, "Undef"
+  vivify_619:
+    $P2085 = $P2084."ast"()
+    set $P2079, $P2085
+  if_2080_end:
+    $P2089 = $P2078."!make"($P2079)
+.annotate 'line', 755
+    .return ($P2089)
+  control_2075:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2115, exception, "payload"
-    .return ($P2115)
+    getattribute $P2090, exception, "payload"
+    .return ($P2090)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote:sym<qq>"  :subid("117_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2119
-.annotate 'line', 757
-    new $P2118, 'ExceptionHandler'
-    set_addr $P2118, control_2117
-    $P2118."handle_types"(.CONTROL_RETURN)
-    push_eh $P2118
+.sub "number"  :subid("114_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2094
+.annotate 'line', 759
+    new $P2093, 'ExceptionHandler'
+    set_addr $P2093, control_2092
+    $P2093."handle_types"(.CONTROL_RETURN)
+    push_eh $P2093
     .lex "self", self
-    .lex "$/", param_2119
-    find_lex $P2120, "$/"
-    find_lex $P2121, "$/"
-    unless_null $P2121, vivify_626
-    $P2121 = root_new ['parrot';'Hash']
+    .lex "$/", param_2094
+.annotate 'line', 760
+    new $P2095, "Undef"
+    .lex "$value", $P2095
+    find_lex $P2098, "$/"
+    unless_null $P2098, vivify_620
+    $P2098 = root_new ['parrot';'Hash']
+  vivify_620:
+    set $P2099, $P2098["dec_number"]
+    unless_null $P2099, vivify_621
+    new $P2099, "Undef"
+  vivify_621:
+    if $P2099, if_2097
+    find_lex $P2103, "$/"
+    unless_null $P2103, vivify_622
+    $P2103 = root_new ['parrot';'Hash']
+  vivify_622:
+    set $P2104, $P2103["integer"]
+    unless_null $P2104, vivify_623
+    new $P2104, "Undef"
+  vivify_623:
+    $P2105 = $P2104."ast"()
+    set $P2096, $P2105
+    goto if_2097_end
+  if_2097:
+    find_lex $P2100, "$/"
+    unless_null $P2100, vivify_624
+    $P2100 = root_new ['parrot';'Hash']
+  vivify_624:
+    set $P2101, $P2100["dec_number"]
+    unless_null $P2101, vivify_625
+    new $P2101, "Undef"
+  vivify_625:
+    $P2102 = $P2101."ast"()
+    set $P2096, $P2102
+  if_2097_end:
+    store_lex "$value", $P2096
+.annotate 'line', 761
+    find_lex $P2107, "$/"
+    unless_null $P2107, vivify_626
+    $P2107 = root_new ['parrot';'Hash']
   vivify_626:
-    set $P2122, $P2121["quote_EXPR"]
-    unless_null $P2122, vivify_627
-    new $P2122, "Undef"
+    set $P2108, $P2107["sign"]
+    unless_null $P2108, vivify_627
+    new $P2108, "Undef"
   vivify_627:
-    $P2123 = $P2122."ast"()
-    $P2124 = $P2120."!make"($P2123)
-    .return ($P2124)
-  control_2117:
+    set $S2109, $P2108
+    iseq $I2110, $S2109, "-"
+    unless $I2110, if_2106_end
+    find_lex $P2111, "$value"
+    neg $P2112, $P2111
+    store_lex "$value", $P2112
+  if_2106_end:
+.annotate 'line', 762
+    find_lex $P2113, "$/"
+    get_hll_global $P2114, ["PAST"], "Val"
+    find_lex $P2115, "$value"
+    $P2116 = $P2114."new"($P2115 :named("value"))
+    $P2117 = $P2113."!make"($P2116)
+.annotate 'line', 759
+    .return ($P2117)
+  control_2092:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2125, exception, "payload"
-    .return ($P2125)
+    getattribute $P2118, exception, "payload"
+    .return ($P2118)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote:sym<q>"  :subid("118_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2129
-.annotate 'line', 758
-    new $P2128, 'ExceptionHandler'
-    set_addr $P2128, control_2127
-    $P2128."handle_types"(.CONTROL_RETURN)
-    push_eh $P2128
+.sub "quote:sym<apos>"  :subid("115_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2122
+.annotate 'line', 765
+    new $P2121, 'ExceptionHandler'
+    set_addr $P2121, control_2120
+    $P2121."handle_types"(.CONTROL_RETURN)
+    push_eh $P2121
     .lex "self", self
-    .lex "$/", param_2129
-    find_lex $P2130, "$/"
-    find_lex $P2131, "$/"
-    unless_null $P2131, vivify_628
-    $P2131 = root_new ['parrot';'Hash']
+    .lex "$/", param_2122
+    find_lex $P2123, "$/"
+    find_lex $P2124, "$/"
+    unless_null $P2124, vivify_628
+    $P2124 = root_new ['parrot';'Hash']
   vivify_628:
-    set $P2132, $P2131["quote_EXPR"]
-    unless_null $P2132, vivify_629
-    new $P2132, "Undef"
+    set $P2125, $P2124["quote_EXPR"]
+    unless_null $P2125, vivify_629
+    new $P2125, "Undef"
   vivify_629:
-    $P2133 = $P2132."ast"()
-    $P2134 = $P2130."!make"($P2133)
-    .return ($P2134)
-  control_2127:
+    $P2126 = $P2125."ast"()
+    $P2127 = $P2123."!make"($P2126)
+    .return ($P2127)
+  control_2120:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2135, exception, "payload"
-    .return ($P2135)
+    getattribute $P2128, exception, "payload"
+    .return ($P2128)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote:sym<Q>"  :subid("119_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2139
-.annotate 'line', 759
-    new $P2138, 'ExceptionHandler'
-    set_addr $P2138, control_2137
-    $P2138."handle_types"(.CONTROL_RETURN)
-    push_eh $P2138
-    .lex "self", self
-    .lex "$/", param_2139
-    find_lex $P2140, "$/"
-    find_lex $P2141, "$/"
-    unless_null $P2141, vivify_630
-    $P2141 = root_new ['parrot';'Hash']
+.sub "quote:sym<dblq>"  :subid("116_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2132
+.annotate 'line', 766
+    new $P2131, 'ExceptionHandler'
+    set_addr $P2131, control_2130
+    $P2131."handle_types"(.CONTROL_RETURN)
+    push_eh $P2131
+    .lex "self", self
+    .lex "$/", param_2132
+    find_lex $P2133, "$/"
+    find_lex $P2134, "$/"
+    unless_null $P2134, vivify_630
+    $P2134 = root_new ['parrot';'Hash']
   vivify_630:
-    set $P2142, $P2141["quote_EXPR"]
-    unless_null $P2142, vivify_631
-    new $P2142, "Undef"
+    set $P2135, $P2134["quote_EXPR"]
+    unless_null $P2135, vivify_631
+    new $P2135, "Undef"
   vivify_631:
-    $P2143 = $P2142."ast"()
-    $P2144 = $P2140."!make"($P2143)
-    .return ($P2144)
-  control_2137:
+    $P2136 = $P2135."ast"()
+    $P2137 = $P2133."!make"($P2136)
+    .return ($P2137)
+  control_2130:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2145, exception, "payload"
-    .return ($P2145)
+    getattribute $P2138, exception, "payload"
+    .return ($P2138)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote:sym<Q:PIR>"  :subid("120_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2149
-.annotate 'line', 760
-    new $P2148, 'ExceptionHandler'
-    set_addr $P2148, control_2147
-    $P2148."handle_types"(.CONTROL_RETURN)
-    push_eh $P2148
-    .lex "self", self
-    .lex "$/", param_2149
-.annotate 'line', 761
-    find_lex $P2150, "$/"
-    get_hll_global $P2151, ["PAST"], "Op"
-    find_lex $P2152, "$/"
-    unless_null $P2152, vivify_632
-    $P2152 = root_new ['parrot';'Hash']
+.sub "quote:sym<qq>"  :subid("117_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2142
+.annotate 'line', 767
+    new $P2141, 'ExceptionHandler'
+    set_addr $P2141, control_2140
+    $P2141."handle_types"(.CONTROL_RETURN)
+    push_eh $P2141
+    .lex "self", self
+    .lex "$/", param_2142
+    find_lex $P2143, "$/"
+    find_lex $P2144, "$/"
+    unless_null $P2144, vivify_632
+    $P2144 = root_new ['parrot';'Hash']
   vivify_632:
-    set $P2153, $P2152["quote_EXPR"]
-    unless_null $P2153, vivify_633
-    new $P2153, "Undef"
+    set $P2145, $P2144["quote_EXPR"]
+    unless_null $P2145, vivify_633
+    new $P2145, "Undef"
   vivify_633:
-    $P2154 = $P2153."ast"()
-    $P2155 = $P2154."value"()
-    find_lex $P2156, "$/"
-    $P2157 = $P2151."new"($P2155 :named("inline"), "inline" :named("pasttype"), $P2156 :named("node"))
-    $P2158 = $P2150."!make"($P2157)
-.annotate 'line', 760
-    .return ($P2158)
-  control_2147:
+    $P2146 = $P2145."ast"()
+    $P2147 = $P2143."!make"($P2146)
+    .return ($P2147)
+  control_2140:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2159, exception, "payload"
-    .return ($P2159)
+    getattribute $P2148, exception, "payload"
+    .return ($P2148)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote:sym</ />"  :subid("121_1277356919.52295") :method :outer("11_1277356919.52295")
-    .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"(.CONTROL_RETURN)
-    push_eh $P2162
-    .lex "self", self
-    .lex "$/", param_2163
-    if has_param_2164, optparam_634
-    new $P2165, "Undef"
-    set param_2164, $P2165
-  optparam_634:
-    .lex "$key", param_2164
-.annotate 'line', 776
-    new $P2166, "Undef"
-    .lex "$regex", $P2166
-.annotate 'line', 778
-    new $P2167, "Undef"
-    .lex "$past", $P2167
-.annotate 'line', 767
-    find_lex $P2169, "$key"
-    set $S2170, $P2169
-    iseq $I2171, $S2170, "open"
-    unless $I2171, if_2168_end
+.sub "quote:sym<q>"  :subid("118_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2152
 .annotate 'line', 768
-
-            null $P0
-            set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
-        
-.annotate 'line', 772
-    get_global $P2172, "@BLOCK"
-    unless_null $P2172, vivify_635
-    $P2172 = root_new ['parrot';'ResizablePMCArray']
+    new $P2151, 'ExceptionHandler'
+    set_addr $P2151, control_2150
+    $P2151."handle_types"(.CONTROL_RETURN)
+    push_eh $P2151
+    .lex "self", self
+    .lex "$/", param_2152
+    find_lex $P2153, "$/"
+    find_lex $P2154, "$/"
+    unless_null $P2154, vivify_634
+    $P2154 = root_new ['parrot';'Hash']
+  vivify_634:
+    set $P2155, $P2154["quote_EXPR"]
+    unless_null $P2155, vivify_635
+    new $P2155, "Undef"
   vivify_635:
-    set $P2173, $P2172[0]
-    unless_null $P2173, vivify_636
-    new $P2173, "Undef"
+    $P2156 = $P2155."ast"()
+    $P2157 = $P2153."!make"($P2156)
+    .return ($P2157)
+  control_2150:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2158, exception, "payload"
+    .return ($P2158)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.include "except_types.pasm"
+.sub "quote:sym<Q>"  :subid("119_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2162
+.annotate 'line', 769
+    new $P2161, 'ExceptionHandler'
+    set_addr $P2161, control_2160
+    $P2161."handle_types"(.CONTROL_RETURN)
+    push_eh $P2161
+    .lex "self", self
+    .lex "$/", param_2162
+    find_lex $P2163, "$/"
+    find_lex $P2164, "$/"
+    unless_null $P2164, vivify_636
+    $P2164 = root_new ['parrot';'Hash']
   vivify_636:
-    $P2173."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
-.annotate 'line', 773
-    get_global $P2174, "@BLOCK"
-    unless_null $P2174, vivify_637
-    $P2174 = root_new ['parrot';'ResizablePMCArray']
+    set $P2165, $P2164["quote_EXPR"]
+    unless_null $P2165, vivify_637
+    new $P2165, "Undef"
   vivify_637:
-    set $P2175, $P2174[0]
-    unless_null $P2175, vivify_638
-    new $P2175, "Undef"
-  vivify_638:
-    $P2175."symbol"("$/", "lexical" :named("scope"))
-.annotate 'line', 774
-    new $P2176, "Exception"
-    set $P2176['type'], .CONTROL_RETURN
-    new $P2177, "Integer"
-    assign $P2177, 0
-    setattribute $P2176, 'payload', $P2177
-    throw $P2176
-  if_2168_end:
-.annotate 'line', 777
-    get_hll_global $P2178, ["Regex";"P6Regex";"Actions"], "buildsub"
-    find_lex $P2179, "$/"
-    unless_null $P2179, vivify_639
-    $P2179 = root_new ['parrot';'Hash']
-  vivify_639:
-    set $P2180, $P2179["p6regex"]
-    unless_null $P2180, vivify_640
-    new $P2180, "Undef"
-  vivify_640:
-    $P2181 = $P2180."ast"()
-    get_global $P2182, "@BLOCK"
-    $P2183 = $P2182."shift"()
-    $P2184 = $P2178($P2181, $P2183)
-    store_lex "$regex", $P2184
-.annotate 'line', 779
-    get_hll_global $P2185, ["PAST"], "Op"
-.annotate 'line', 781
-    get_hll_global $P2186, ["PAST"], "Var"
-    new $P2187, "ResizablePMCArray"
-    push $P2187, "Regex"
-    $P2188 = $P2186."new"("Regex" :named("name"), $P2187 :named("namespace"), "package" :named("scope"))
-    find_lex $P2189, "$regex"
-    $P2190 = $P2185."new"($P2188, $P2189, "callmethod" :named("pasttype"), "new" :named("name"))
-.annotate 'line', 779
-    store_lex "$past", $P2190
-.annotate 'line', 785
-    find_lex $P2191, "$regex"
-    find_lex $P2192, "$past"
-    unless_null $P2192, vivify_641
-    $P2192 = root_new ['parrot';'Hash']
-    store_lex "$past", $P2192
-  vivify_641:
-    set $P2192["sink"], $P2191
-.annotate 'line', 786
-    find_lex $P2193, "$/"
-    find_lex $P2194, "$past"
-    $P2195 = $P2193."!make"($P2194)
-.annotate 'line', 766
-    .return ($P2195)
-  control_2161:
+    $P2166 = $P2165."ast"()
+    $P2167 = $P2163."!make"($P2166)
+    .return ($P2167)
+  control_2160:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2196, exception, "payload"
-    .return ($P2196)
+    getattribute $P2168, exception, "payload"
+    .return ($P2168)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<$>"  :subid("122_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2200
-.annotate 'line', 789
-    new $P2199, 'ExceptionHandler'
-    set_addr $P2199, control_2198
-    $P2199."handle_types"(.CONTROL_RETURN)
-    push_eh $P2199
+.sub "quote:sym<Q:PIR>"  :subid("120_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2172
+.annotate 'line', 770
+    new $P2171, 'ExceptionHandler'
+    set_addr $P2171, control_2170
+    $P2171."handle_types"(.CONTROL_RETURN)
+    push_eh $P2171
     .lex "self", self
-    .lex "$/", param_2200
-    find_lex $P2201, "$/"
-    find_lex $P2202, "$/"
-    unless_null $P2202, vivify_642
-    $P2202 = root_new ['parrot';'Hash']
-  vivify_642:
-    set $P2203, $P2202["variable"]
-    unless_null $P2203, vivify_643
-    new $P2203, "Undef"
-  vivify_643:
-    $P2204 = $P2203."ast"()
-    $P2205 = $P2201."!make"($P2204)
-    .return ($P2205)
-  control_2198:
+    .lex "$/", param_2172
+.annotate 'line', 771
+    find_lex $P2173, "$/"
+    get_hll_global $P2174, ["PAST"], "Op"
+    find_lex $P2175, "$/"
+    unless_null $P2175, vivify_638
+    $P2175 = root_new ['parrot';'Hash']
+  vivify_638:
+    set $P2176, $P2175["quote_EXPR"]
+    unless_null $P2176, vivify_639
+    new $P2176, "Undef"
+  vivify_639:
+    $P2177 = $P2176."ast"()
+    $P2178 = $P2177."value"()
+    find_lex $P2179, "$/"
+    $P2180 = $P2174."new"($P2178 :named("inline"), "inline" :named("pasttype"), $P2179 :named("node"))
+    $P2181 = $P2173."!make"($P2180)
+.annotate 'line', 770
+    .return ($P2181)
+  control_2170:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2206, exception, "payload"
-    .return ($P2206)
+    getattribute $P2182, exception, "payload"
+    .return ($P2182)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<{ }>"  :subid("123_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2210
-.annotate 'line', 790
-    new $P2209, 'ExceptionHandler'
-    set_addr $P2209, control_2208
-    $P2209."handle_types"(.CONTROL_RETURN)
-    push_eh $P2209
-    .lex "self", self
-    .lex "$/", param_2210
-.annotate 'line', 791
-    find_lex $P2211, "$/"
-    get_hll_global $P2212, ["PAST"], "Op"
-.annotate 'line', 792
-    find_lex $P2213, "$/"
-    unless_null $P2213, vivify_644
-    $P2213 = root_new ['parrot';'Hash']
+.sub "quote:sym</ />"  :subid("121_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2186
+    .param pmc param_2187 :optional
+    .param int has_param_2187 :opt_flag
+.annotate 'line', 776
+    new $P2185, 'ExceptionHandler'
+    set_addr $P2185, control_2184
+    $P2185."handle_types"(.CONTROL_RETURN)
+    push_eh $P2185
+    .lex "self", self
+    .lex "$/", param_2186
+    if has_param_2187, optparam_640
+    new $P2188, "Undef"
+    set param_2187, $P2188
+  optparam_640:
+    .lex "$key", param_2187
+.annotate 'line', 786
+    new $P2189, "Undef"
+    .lex "$regex", $P2189
+.annotate 'line', 788
+    new $P2190, "Undef"
+    .lex "$past", $P2190
+.annotate 'line', 777
+    find_lex $P2192, "$key"
+    set $S2193, $P2192
+    iseq $I2194, $S2193, "open"
+    unless $I2194, if_2191_end
+.annotate 'line', 778
+
+            null $P0
+            set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
+        
+.annotate 'line', 782
+    get_global $P2195, "@BLOCK"
+    unless_null $P2195, vivify_641
+    $P2195 = root_new ['parrot';'ResizablePMCArray']
+  vivify_641:
+    set $P2196, $P2195[0]
+    unless_null $P2196, vivify_642
+    new $P2196, "Undef"
+  vivify_642:
+    $P2196."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
+.annotate 'line', 783
+    get_global $P2197, "@BLOCK"
+    unless_null $P2197, vivify_643
+    $P2197 = root_new ['parrot';'ResizablePMCArray']
+  vivify_643:
+    set $P2198, $P2197[0]
+    unless_null $P2198, vivify_644
+    new $P2198, "Undef"
   vivify_644:
-    set $P2214, $P2213["block"]
-    unless_null $P2214, vivify_645
-    new $P2214, "Undef"
+    $P2198."symbol"("$/", "lexical" :named("scope"))
+.annotate 'line', 784
+    new $P2199, "Exception"
+    set $P2199['type'], .CONTROL_RETURN
+    new $P2200, "Integer"
+    assign $P2200, 0
+    setattribute $P2199, 'payload', $P2200
+    throw $P2199
+  if_2191_end:
+.annotate 'line', 787
+    get_hll_global $P2201, ["Regex";"P6Regex";"Actions"], "buildsub"
+    find_lex $P2202, "$/"
+    unless_null $P2202, vivify_645
+    $P2202 = root_new ['parrot';'Hash']
   vivify_645:
-    $P2215 = $P2214."ast"()
-    $P2216 = "block_immediate"($P2215)
-    find_lex $P2217, "$/"
-    $P2218 = $P2212."new"($P2216, "set S*" :named("pirop"), $P2217 :named("node"))
+    set $P2203, $P2202["p6regex"]
+    unless_null $P2203, vivify_646
+    new $P2203, "Undef"
+  vivify_646:
+    $P2204 = $P2203."ast"()
+    get_global $P2205, "@BLOCK"
+    $P2206 = $P2205."shift"()
+    $P2207 = $P2201($P2204, $P2206)
+    store_lex "$regex", $P2207
+.annotate 'line', 789
+    get_hll_global $P2208, ["PAST"], "Op"
 .annotate 'line', 791
-    $P2219 = $P2211."!make"($P2218)
-.annotate 'line', 790
-    .return ($P2219)
-  control_2208:
+    get_hll_global $P2209, ["PAST"], "Var"
+    new $P2210, "ResizablePMCArray"
+    push $P2210, "Regex"
+    $P2211 = $P2209."new"("Regex" :named("name"), $P2210 :named("namespace"), "package" :named("scope"))
+    find_lex $P2212, "$regex"
+    $P2213 = $P2208."new"($P2211, $P2212, "callmethod" :named("pasttype"), "new" :named("name"))
+.annotate 'line', 789
+    store_lex "$past", $P2213
+.annotate 'line', 795
+    find_lex $P2214, "$regex"
+    find_lex $P2215, "$past"
+    unless_null $P2215, vivify_647
+    $P2215 = root_new ['parrot';'Hash']
+    store_lex "$past", $P2215
+  vivify_647:
+    set $P2215["sink"], $P2214
+.annotate 'line', 796
+    find_lex $P2216, "$/"
+    find_lex $P2217, "$past"
+    $P2218 = $P2216."!make"($P2217)
+.annotate 'line', 776
+    .return ($P2218)
+  control_2184:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2220, exception, "payload"
-    .return ($P2220)
+    getattribute $P2219, exception, "payload"
+    .return ($P2219)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<esc>"  :subid("124_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2224
-.annotate 'line', 795
-    new $P2223, 'ExceptionHandler'
-    set_addr $P2223, control_2222
-    $P2223."handle_types"(.CONTROL_RETURN)
-    push_eh $P2223
+.sub "quote_escape:sym<$>"  :subid("122_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2223
+.annotate 'line', 799
+    new $P2222, 'ExceptionHandler'
+    set_addr $P2222, control_2221
+    $P2222."handle_types"(.CONTROL_RETURN)
+    push_eh $P2222
     .lex "self", self
-    .lex "$/", param_2224
+    .lex "$/", param_2223
+    find_lex $P2224, "$/"
     find_lex $P2225, "$/"
-    $P2226 = $P2225."!make"("\e")
-    .return ($P2226)
-  control_2222:
+    unless_null $P2225, vivify_648
+    $P2225 = root_new ['parrot';'Hash']
+  vivify_648:
+    set $P2226, $P2225["variable"]
+    unless_null $P2226, vivify_649
+    new $P2226, "Undef"
+  vivify_649:
+    $P2227 = $P2226."ast"()
+    $P2228 = $P2224."!make"($P2227)
+    .return ($P2228)
+  control_2221:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2227, exception, "payload"
-    .return ($P2227)
+    getattribute $P2229, exception, "payload"
+    .return ($P2229)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "postfix:sym<.>"  :subid("125_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2231
-.annotate 'line', 799
-    new $P2230, 'ExceptionHandler'
-    set_addr $P2230, control_2229
-    $P2230."handle_types"(.CONTROL_RETURN)
-    push_eh $P2230
-    .lex "self", self
-    .lex "$/", param_2231
-    find_lex $P2232, "$/"
-    find_lex $P2233, "$/"
-    unless_null $P2233, vivify_646
-    $P2233 = root_new ['parrot';'Hash']
-  vivify_646:
-    set $P2234, $P2233["dotty"]
-    unless_null $P2234, vivify_647
-    new $P2234, "Undef"
-  vivify_647:
-    $P2235 = $P2234."ast"()
-    $P2236 = $P2232."!make"($P2235)
-    .return ($P2236)
-  control_2229:
+.sub "quote_escape:sym<{ }>"  :subid("123_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2233
+.annotate 'line', 800
+    new $P2232, 'ExceptionHandler'
+    set_addr $P2232, control_2231
+    $P2232."handle_types"(.CONTROL_RETURN)
+    push_eh $P2232
+    .lex "self", self
+    .lex "$/", param_2233
+.annotate 'line', 801
+    find_lex $P2234, "$/"
+    get_hll_global $P2235, ["PAST"], "Op"
+.annotate 'line', 802
+    find_lex $P2236, "$/"
+    unless_null $P2236, vivify_650
+    $P2236 = root_new ['parrot';'Hash']
+  vivify_650:
+    set $P2237, $P2236["block"]
+    unless_null $P2237, vivify_651
+    new $P2237, "Undef"
+  vivify_651:
+    $P2238 = $P2237."ast"()
+    $P2239 = "block_immediate"($P2238)
+    find_lex $P2240, "$/"
+    $P2241 = $P2235."new"($P2239, "set S*" :named("pirop"), $P2240 :named("node"))
+.annotate 'line', 801
+    $P2242 = $P2234."!make"($P2241)
+.annotate 'line', 800
+    .return ($P2242)
+  control_2231:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2237, exception, "payload"
-    .return ($P2237)
+    getattribute $P2243, exception, "payload"
+    .return ($P2243)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "postfix:sym<++>"  :subid("126_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2241
-.annotate 'line', 801
-    new $P2240, 'ExceptionHandler'
-    set_addr $P2240, control_2239
-    $P2240."handle_types"(.CONTROL_RETURN)
-    push_eh $P2240
+.sub "quote_escape:sym<esc>"  :subid("124_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2247
+.annotate 'line', 805
+    new $P2246, 'ExceptionHandler'
+    set_addr $P2246, control_2245
+    $P2246."handle_types"(.CONTROL_RETURN)
+    push_eh $P2246
     .lex "self", self
-    .lex "$/", param_2241
-.annotate 'line', 802
-    find_lex $P2242, "$/"
-    get_hll_global $P2243, ["PAST"], "Op"
-.annotate 'line', 803
-    new $P2244, "ResizablePMCArray"
-    push $P2244, "    clone %r, %0"
-    push $P2244, "    inc %0"
-    $P2245 = $P2243."new"("postfix:<++>" :named("name"), $P2244 :named("inline"), "inline" :named("pasttype"))
-.annotate 'line', 802
-    $P2246 = $P2242."!make"($P2245)
-.annotate 'line', 801
-    .return ($P2246)
-  control_2239:
+    .lex "$/", param_2247
+    find_lex $P2248, "$/"
+    $P2249 = $P2248."!make"("\e")
+    .return ($P2249)
+  control_2245:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2247, exception, "payload"
-    .return ($P2247)
+    getattribute $P2250, exception, "payload"
+    .return ($P2250)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "postfix:sym<-->"  :subid("127_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2251
-.annotate 'line', 807
-    new $P2250, 'ExceptionHandler'
-    set_addr $P2250, control_2249
-    $P2250."handle_types"(.CONTROL_RETURN)
-    push_eh $P2250
-    .lex "self", self
-    .lex "$/", param_2251
-.annotate 'line', 808
-    find_lex $P2252, "$/"
-    get_hll_global $P2253, ["PAST"], "Op"
+.sub "postfix:sym<.>"  :subid("125_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2254
 .annotate 'line', 809
-    new $P2254, "ResizablePMCArray"
-    push $P2254, "    clone %r, %0"
-    push $P2254, "    dec %0"
-    $P2255 = $P2253."new"("postfix:<-->" :named("name"), $P2254 :named("inline"), "inline" :named("pasttype"))
-.annotate 'line', 808
-    $P2256 = $P2252."!make"($P2255)
-.annotate 'line', 807
-    .return ($P2256)
-  control_2249:
+    new $P2253, 'ExceptionHandler'
+    set_addr $P2253, control_2252
+    $P2253."handle_types"(.CONTROL_RETURN)
+    push_eh $P2253
+    .lex "self", self
+    .lex "$/", param_2254
+    find_lex $P2255, "$/"
+    find_lex $P2256, "$/"
+    unless_null $P2256, vivify_652
+    $P2256 = root_new ['parrot';'Hash']
+  vivify_652:
+    set $P2257, $P2256["dotty"]
+    unless_null $P2257, vivify_653
+    new $P2257, "Undef"
+  vivify_653:
+    $P2258 = $P2257."ast"()
+    $P2259 = $P2255."!make"($P2258)
+    .return ($P2259)
+  control_2252:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2257, exception, "payload"
-    .return ($P2257)
+    getattribute $P2260, exception, "payload"
+    .return ($P2260)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "prefix:sym<make>"  :subid("128_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2261
-.annotate 'line', 813
-    new $P2260, 'ExceptionHandler'
-    set_addr $P2260, control_2259
-    $P2260."handle_types"(.CONTROL_RETURN)
-    push_eh $P2260
-    .lex "self", self
-    .lex "$/", param_2261
-.annotate 'line', 814
-    find_lex $P2262, "$/"
-    get_hll_global $P2263, ["PAST"], "Op"
-.annotate 'line', 815
-    get_hll_global $P2264, ["PAST"], "Var"
-    $P2265 = $P2264."new"("$/" :named("name"), "contextual" :named("scope"))
-    find_lex $P2266, "$/"
-    $P2267 = $P2263."new"($P2265, "callmethod" :named("pasttype"), "!make" :named("name"), $P2266 :named("node"))
-.annotate 'line', 814
-    $P2268 = $P2262."!make"($P2267)
+.sub "postfix:sym<++>"  :subid("126_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2264
+.annotate 'line', 811
+    new $P2263, 'ExceptionHandler'
+    set_addr $P2263, control_2262
+    $P2263."handle_types"(.CONTROL_RETURN)
+    push_eh $P2263
+    .lex "self", self
+    .lex "$/", param_2264
+.annotate 'line', 812
+    find_lex $P2265, "$/"
+    get_hll_global $P2266, ["PAST"], "Op"
 .annotate 'line', 813
-    .return ($P2268)
-  control_2259:
+    new $P2267, "ResizablePMCArray"
+    push $P2267, "    clone %r, %0"
+    push $P2267, "    inc %0"
+    $P2268 = $P2266."new"("postfix:<++>" :named("name"), $P2267 :named("inline"), "inline" :named("pasttype"))
+.annotate 'line', 812
+    $P2269 = $P2265."!make"($P2268)
+.annotate 'line', 811
+    .return ($P2269)
+  control_2262:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2269, exception, "payload"
-    .return ($P2269)
+    getattribute $P2270, exception, "payload"
+    .return ($P2270)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<next>"  :subid("129_1277356919.52295") :method :outer("11_1277356919.52295")
+.sub "postfix:sym<-->"  :subid("127_1278500542.82783") :method :outer("11_1278500542.82783")
     .param pmc param_2274
-.annotate 'line', 831
+.annotate 'line', 817
     new $P2273, 'ExceptionHandler'
     set_addr $P2273, control_2272
     $P2273."handle_types"(.CONTROL_RETURN)
     push_eh $P2273
     .lex "self", self
     .lex "$/", param_2274
+.annotate 'line', 818
     find_lex $P2275, "$/"
-    $P2276 = "control"($P2275, "CONTROL_LOOP_NEXT")
-    .return ($P2276)
+    get_hll_global $P2276, ["PAST"], "Op"
+.annotate 'line', 819
+    new $P2277, "ResizablePMCArray"
+    push $P2277, "    clone %r, %0"
+    push $P2277, "    dec %0"
+    $P2278 = $P2276."new"("postfix:<-->" :named("name"), $P2277 :named("inline"), "inline" :named("pasttype"))
+.annotate 'line', 818
+    $P2279 = $P2275."!make"($P2278)
+.annotate 'line', 817
+    .return ($P2279)
   control_2272:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2277, exception, "payload"
-    .return ($P2277)
+    getattribute $P2280, exception, "payload"
+    .return ($P2280)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<last>"  :subid("130_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2281
-.annotate 'line', 832
-    new $P2280, 'ExceptionHandler'
-    set_addr $P2280, control_2279
-    $P2280."handle_types"(.CONTROL_RETURN)
-    push_eh $P2280
-    .lex "self", self
-    .lex "$/", param_2281
-    find_lex $P2282, "$/"
-    $P2283 = "control"($P2282, "CONTROL_LOOP_LAST")
-    .return ($P2283)
-  control_2279:
+.sub "prefix:sym<make>"  :subid("128_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2284
+.annotate 'line', 823
+    new $P2283, 'ExceptionHandler'
+    set_addr $P2283, control_2282
+    $P2283."handle_types"(.CONTROL_RETURN)
+    push_eh $P2283
+    .lex "self", self
+    .lex "$/", param_2284
+.annotate 'line', 824
+    find_lex $P2285, "$/"
+    get_hll_global $P2286, ["PAST"], "Op"
+.annotate 'line', 825
+    get_hll_global $P2287, ["PAST"], "Var"
+    $P2288 = $P2287."new"("$/" :named("name"), "contextual" :named("scope"))
+    find_lex $P2289, "$/"
+    $P2290 = $P2286."new"($P2288, "callmethod" :named("pasttype"), "!make" :named("name"), $P2289 :named("node"))
+.annotate 'line', 824
+    $P2291 = $P2285."!make"($P2290)
+.annotate 'line', 823
+    .return ($P2291)
+  control_2282:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2284, exception, "payload"
-    .return ($P2284)
+    getattribute $P2292, exception, "payload"
+    .return ($P2292)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<redo>"  :subid("131_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2288
-.annotate 'line', 833
-    new $P2287, 'ExceptionHandler'
-    set_addr $P2287, control_2286
-    $P2287."handle_types"(.CONTROL_RETURN)
-    push_eh $P2287
+.sub "term:sym<next>"  :subid("129_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2297
+.annotate 'line', 841
+    new $P2296, 'ExceptionHandler'
+    set_addr $P2296, control_2295
+    $P2296."handle_types"(.CONTROL_RETURN)
+    push_eh $P2296
     .lex "self", self
-    .lex "$/", param_2288
-    find_lex $P2289, "$/"
-    $P2290 = "control"($P2289, "CONTROL_LOOP_REDO")
-    .return ($P2290)
-  control_2286:
+    .lex "$/", param_2297
+    find_lex $P2298, "$/"
+    $P2299 = "control"($P2298, "CONTROL_LOOP_NEXT")
+    .return ($P2299)
+  control_2295:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2291, exception, "payload"
-    .return ($P2291)
+    getattribute $P2300, exception, "payload"
+    .return ($P2300)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "infix:sym<~~>"  :subid("132_1277356919.52295") :method :outer("11_1277356919.52295")
-    .param pmc param_2295
-.annotate 'line', 835
-    new $P2294, 'ExceptionHandler'
-    set_addr $P2294, control_2293
-    $P2294."handle_types"(.CONTROL_RETURN)
-    push_eh $P2294
-    .lex "self", self
-    .lex "$/", param_2295
-.annotate 'line', 836
-    find_lex $P2296, "$/"
-    get_hll_global $P2297, ["PAST"], "Op"
-    find_lex $P2298, "$/"
-    $P2299 = $P2297."new"("callmethod" :named("pasttype"), "ACCEPTS" :named("name"), $P2298 :named("node"))
-    $P2300 = $P2296."!make"($P2299)
-.annotate 'line', 835
-    .return ($P2300)
-  control_2293:
+.sub "term:sym<last>"  :subid("130_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2304
+.annotate 'line', 842
+    new $P2303, 'ExceptionHandler'
+    set_addr $P2303, control_2302
+    $P2303."handle_types"(.CONTROL_RETURN)
+    push_eh $P2303
+    .lex "self", self
+    .lex "$/", param_2304
+    find_lex $P2305, "$/"
+    $P2306 = "control"($P2305, "CONTROL_LOOP_LAST")
+    .return ($P2306)
+  control_2302:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2301, exception, "payload"
-    .return ($P2301)
+    getattribute $P2307, exception, "payload"
+    .return ($P2307)
 .end
 
 
-.namespace ["NQP";"RegexActions"]
-.sub "_block2302"  :subid("133_1277356919.52295") :outer("11_1277356919.52295")
-.annotate 'line', 840
-    .const 'Sub' $P2388 = "140_1277356919.52295" 
-    capture_lex $P2388
-    .const 'Sub' $P2375 = "139_1277356919.52295" 
-    capture_lex $P2375
-    .const 'Sub' $P2358 = "138_1277356919.52295" 
-    capture_lex $P2358
-    .const 'Sub' $P2345 = "137_1277356919.52295" 
-    capture_lex $P2345
-    .const 'Sub' $P2332 = "136_1277356919.52295" 
-    capture_lex $P2332
-    .const 'Sub' $P2319 = "135_1277356919.52295" 
-    capture_lex $P2319
-    .const 'Sub' $P2304 = "134_1277356919.52295" 
-    capture_lex $P2304
-.annotate 'line', 874
-    .const 'Sub' $P2388 = "140_1277356919.52295" 
-    newclosure $P2413, $P2388
-.annotate 'line', 840
-    .return ($P2413)
-.end
-
-
-.namespace ["NQP";"RegexActions"]
+.namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<:my>"  :subid("134_1277356919.52295") :method :outer("133_1277356919.52295")
-    .param pmc param_2307
-.annotate 'line', 842
-    new $P2306, 'ExceptionHandler'
-    set_addr $P2306, control_2305
-    $P2306."handle_types"(.CONTROL_RETURN)
-    push_eh $P2306
-    .lex "self", self
-    .lex "$/", param_2307
+.sub "term:sym<redo>"  :subid("131_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2311
 .annotate 'line', 843
-    new $P2308, "Undef"
-    .lex "$past", $P2308
-    find_lex $P2309, "$/"
-    unless_null $P2309, vivify_648
-    $P2309 = root_new ['parrot';'Hash']
-  vivify_648:
-    set $P2310, $P2309["statement"]
-    unless_null $P2310, vivify_649
-    new $P2310, "Undef"
-  vivify_649:
-    $P2311 = $P2310."ast"()
-    store_lex "$past", $P2311
-.annotate 'line', 844
+    new $P2310, 'ExceptionHandler'
+    set_addr $P2310, control_2309
+    $P2310."handle_types"(.CONTROL_RETURN)
+    push_eh $P2310
+    .lex "self", self
+    .lex "$/", param_2311
     find_lex $P2312, "$/"
-    get_hll_global $P2313, ["PAST"], "Regex"
-    find_lex $P2314, "$past"
-    find_lex $P2315, "$/"
-    $P2316 = $P2313."new"($P2314, "pastnode" :named("pasttype"), "declarative" :named("subtype"), $P2315 :named("node"))
-    $P2317 = $P2312."!make"($P2316)
-.annotate 'line', 842
-    .return ($P2317)
-  control_2305:
+    $P2313 = "control"($P2312, "CONTROL_LOOP_REDO")
+    .return ($P2313)
+  control_2309:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2318, exception, "payload"
-    .return ($P2318)
+    getattribute $P2314, exception, "payload"
+    .return ($P2314)
 .end
 
 
-.namespace ["NQP";"RegexActions"]
+.namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<{ }>"  :subid("135_1277356919.52295") :method :outer("133_1277356919.52295")
-    .param pmc param_2322
-.annotate 'line', 848
-    new $P2321, 'ExceptionHandler'
-    set_addr $P2321, control_2320
-    $P2321."handle_types"(.CONTROL_RETURN)
-    push_eh $P2321
-    .lex "self", self
-    .lex "$/", param_2322
-.annotate 'line', 849
-    find_lex $P2323, "$/"
-    get_hll_global $P2324, ["PAST"], "Regex"
-    find_lex $P2325, "$/"
-    unless_null $P2325, vivify_650
-    $P2325 = root_new ['parrot';'Hash']
-  vivify_650:
-    set $P2326, $P2325["codeblock"]
-    unless_null $P2326, vivify_651
-    new $P2326, "Undef"
-  vivify_651:
-    $P2327 = $P2326."ast"()
-    find_lex $P2328, "$/"
-    $P2329 = $P2324."new"($P2327, "pastnode" :named("pasttype"), $P2328 :named("node"))
-    $P2330 = $P2323."!make"($P2329)
-.annotate 'line', 848
-    .return ($P2330)
-  control_2320:
+.sub "infix:sym<~~>"  :subid("132_1278500542.82783") :method :outer("11_1278500542.82783")
+    .param pmc param_2318
+.annotate 'line', 845
+    new $P2317, 'ExceptionHandler'
+    set_addr $P2317, control_2316
+    $P2317."handle_types"(.CONTROL_RETURN)
+    push_eh $P2317
+    .lex "self", self
+    .lex "$/", param_2318
+.annotate 'line', 846
+    find_lex $P2319, "$/"
+    get_hll_global $P2320, ["PAST"], "Op"
+    find_lex $P2321, "$/"
+    $P2322 = $P2320."new"("callmethod" :named("pasttype"), "ACCEPTS" :named("name"), $P2321 :named("node"))
+    $P2323 = $P2319."!make"($P2322)
+.annotate 'line', 845
+    .return ($P2323)
+  control_2316:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2331, exception, "payload"
-    .return ($P2331)
+    getattribute $P2324, exception, "payload"
+    .return ($P2324)
+.end
+
+
+.namespace ["NQP";"RegexActions"]
+.sub "_block2325"  :subid("133_1278500542.82783") :outer("11_1278500542.82783")
+.annotate 'line', 850
+    .const 'Sub' $P2411 = "140_1278500542.82783" 
+    capture_lex $P2411
+    .const 'Sub' $P2398 = "139_1278500542.82783" 
+    capture_lex $P2398
+    .const 'Sub' $P2381 = "138_1278500542.82783" 
+    capture_lex $P2381
+    .const 'Sub' $P2368 = "137_1278500542.82783" 
+    capture_lex $P2368
+    .const 'Sub' $P2355 = "136_1278500542.82783" 
+    capture_lex $P2355
+    .const 'Sub' $P2342 = "135_1278500542.82783" 
+    capture_lex $P2342
+    .const 'Sub' $P2327 = "134_1278500542.82783" 
+    capture_lex $P2327
+.annotate 'line', 884
+    .const 'Sub' $P2411 = "140_1278500542.82783" 
+    newclosure $P2436, $P2411
+.annotate 'line', 850
+    .return ($P2436)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
 .include "except_types.pasm"
-.sub "metachar:sym<nqpvar>"  :subid("136_1277356919.52295") :method :outer("133_1277356919.52295")
-    .param pmc param_2335
-.annotate 'line', 853
-    new $P2334, 'ExceptionHandler'
-    set_addr $P2334, control_2333
-    $P2334."handle_types"(.CONTROL_RETURN)
-    push_eh $P2334
+.sub "metachar:sym<:my>"  :subid("134_1278500542.82783") :method :outer("133_1278500542.82783")
+    .param pmc param_2330
+.annotate 'line', 852
+    new $P2329, 'ExceptionHandler'
+    set_addr $P2329, control_2328
+    $P2329."handle_types"(.CONTROL_RETURN)
+    push_eh $P2329
     .lex "self", self
-    .lex "$/", param_2335
+    .lex "$/", param_2330
+.annotate 'line', 853
+    new $P2331, "Undef"
+    .lex "$past", $P2331
+    find_lex $P2332, "$/"
+    unless_null $P2332, vivify_654
+    $P2332 = root_new ['parrot';'Hash']
+  vivify_654:
+    set $P2333, $P2332["statement"]
+    unless_null $P2333, vivify_655
+    new $P2333, "Undef"
+  vivify_655:
+    $P2334 = $P2333."ast"()
+    store_lex "$past", $P2334
 .annotate 'line', 854
-    find_lex $P2336, "$/"
-    get_hll_global $P2337, ["PAST"], "Regex"
+    find_lex $P2335, "$/"
+    get_hll_global $P2336, ["PAST"], "Regex"
+    find_lex $P2337, "$past"
     find_lex $P2338, "$/"
-    unless_null $P2338, vivify_652
-    $P2338 = root_new ['parrot';'Hash']
-  vivify_652:
-    set $P2339, $P2338["var"]
-    unless_null $P2339, vivify_653
-    new $P2339, "Undef"
-  vivify_653:
-    $P2340 = $P2339."ast"()
-    find_lex $P2341, "$/"
-    $P2342 = $P2337."new"("!INTERPOLATE", $P2340, "subrule" :named("pasttype"), "method" :named("subtype"), $P2341 :named("node"))
-    $P2343 = $P2336."!make"($P2342)
-.annotate 'line', 853
-    .return ($P2343)
-  control_2333:
+    $P2339 = $P2336."new"($P2337, "pastnode" :named("pasttype"), "declarative" :named("subtype"), $P2338 :named("node"))
+    $P2340 = $P2335."!make"($P2339)
+.annotate 'line', 852
+    .return ($P2340)
+  control_2328:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2344, exception, "payload"
-    .return ($P2344)
+    getattribute $P2341, exception, "payload"
+    .return ($P2341)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
 .include "except_types.pasm"
-.sub "assertion:sym<{ }>"  :subid("137_1277356919.52295") :method :outer("133_1277356919.52295")
-    .param pmc param_2348
+.sub "metachar:sym<{ }>"  :subid("135_1278500542.82783") :method :outer("133_1278500542.82783")
+    .param pmc param_2345
 .annotate 'line', 858
-    new $P2347, 'ExceptionHandler'
-    set_addr $P2347, control_2346
-    $P2347."handle_types"(.CONTROL_RETURN)
-    push_eh $P2347
+    new $P2344, 'ExceptionHandler'
+    set_addr $P2344, control_2343
+    $P2344."handle_types"(.CONTROL_RETURN)
+    push_eh $P2344
     .lex "self", self
-    .lex "$/", param_2348
+    .lex "$/", param_2345
 .annotate 'line', 859
-    find_lex $P2349, "$/"
-    get_hll_global $P2350, ["PAST"], "Regex"
+    find_lex $P2346, "$/"
+    get_hll_global $P2347, ["PAST"], "Regex"
+    find_lex $P2348, "$/"
+    unless_null $P2348, vivify_656
+    $P2348 = root_new ['parrot';'Hash']
+  vivify_656:
+    set $P2349, $P2348["codeblock"]
+    unless_null $P2349, vivify_657
+    new $P2349, "Undef"
+  vivify_657:
+    $P2350 = $P2349."ast"()
     find_lex $P2351, "$/"
-    unless_null $P2351, vivify_654
-    $P2351 = root_new ['parrot';'Hash']
-  vivify_654:
-    set $P2352, $P2351["codeblock"]
-    unless_null $P2352, vivify_655
-    new $P2352, "Undef"
-  vivify_655:
-    $P2353 = $P2352."ast"()
-    find_lex $P2354, "$/"
-    $P2355 = $P2350."new"("!INTERPOLATE_REGEX", $P2353, "subrule" :named("pasttype"), "method" :named("subtype"), $P2354 :named("node"))
-    $P2356 = $P2349."!make"($P2355)
+    $P2352 = $P2347."new"($P2350, "pastnode" :named("pasttype"), $P2351 :named("node"))
+    $P2353 = $P2346."!make"($P2352)
 .annotate 'line', 858
-    .return ($P2356)
-  control_2346:
+    .return ($P2353)
+  control_2343:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2357, exception, "payload"
-    .return ($P2357)
+    getattribute $P2354, exception, "payload"
+    .return ($P2354)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
 .include "except_types.pasm"
-.sub "assertion:sym<?{ }>"  :subid("138_1277356919.52295") :method :outer("133_1277356919.52295")
-    .param pmc param_2361
+.sub "metachar:sym<nqpvar>"  :subid("136_1278500542.82783") :method :outer("133_1278500542.82783")
+    .param pmc param_2358
 .annotate 'line', 863
-    new $P2360, 'ExceptionHandler'
-    set_addr $P2360, control_2359
-    $P2360."handle_types"(.CONTROL_RETURN)
-    push_eh $P2360
+    new $P2357, 'ExceptionHandler'
+    set_addr $P2357, control_2356
+    $P2357."handle_types"(.CONTROL_RETURN)
+    push_eh $P2357
     .lex "self", self
-    .lex "$/", param_2361
+    .lex "$/", param_2358
 .annotate 'line', 864
-    find_lex $P2362, "$/"
-    get_hll_global $P2363, ["PAST"], "Regex"
-    find_lex $P2364, "$/"
-    unless_null $P2364, vivify_656
-    $P2364 = root_new ['parrot';'Hash']
-  vivify_656:
-    set $P2365, $P2364["codeblock"]
-    unless_null $P2365, vivify_657
-    new $P2365, "Undef"
-  vivify_657:
-    $P2366 = $P2365."ast"()
-.annotate 'line', 865
-    find_lex $P2367, "$/"
-    unless_null $P2367, vivify_658
-    $P2367 = root_new ['parrot';'Hash']
+    find_lex $P2359, "$/"
+    get_hll_global $P2360, ["PAST"], "Regex"
+    find_lex $P2361, "$/"
+    unless_null $P2361, vivify_658
+    $P2361 = root_new ['parrot';'Hash']
   vivify_658:
-    set $P2368, $P2367["zw"]
-    unless_null $P2368, vivify_659
-    new $P2368, "Undef"
+    set $P2362, $P2361["var"]
+    unless_null $P2362, vivify_659
+    new $P2362, "Undef"
   vivify_659:
-    set $S2369, $P2368
-    iseq $I2370, $S2369, "!"
-    find_lex $P2371, "$/"
-    $P2372 = $P2363."new"($P2366, "zerowidth" :named("subtype"), $I2370 :named("negate"), "pastnode" :named("pasttype"), $P2371 :named("node"))
-.annotate 'line', 864
-    $P2373 = $P2362."!make"($P2372)
+    $P2363 = $P2362."ast"()
+    find_lex $P2364, "$/"
+    $P2365 = $P2360."new"("!INTERPOLATE", $P2363, "subrule" :named("pasttype"), "method" :named("subtype"), $P2364 :named("node"))
+    $P2366 = $P2359."!make"($P2365)
 .annotate 'line', 863
-    .return ($P2373)
-  control_2359:
+    .return ($P2366)
+  control_2356:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2374, exception, "payload"
-    .return ($P2374)
+    getattribute $P2367, exception, "payload"
+    .return ($P2367)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
 .include "except_types.pasm"
-.sub "assertion:sym<var>"  :subid("139_1277356919.52295") :method :outer("133_1277356919.52295")
-    .param pmc param_2378
+.sub "assertion:sym<{ }>"  :subid("137_1278500542.82783") :method :outer("133_1278500542.82783")
+    .param pmc param_2371
+.annotate 'line', 868
+    new $P2370, 'ExceptionHandler'
+    set_addr $P2370, control_2369
+    $P2370."handle_types"(.CONTROL_RETURN)
+    push_eh $P2370
+    .lex "self", self
+    .lex "$/", param_2371
 .annotate 'line', 869
-    new $P2377, 'ExceptionHandler'
-    set_addr $P2377, control_2376
-    $P2377."handle_types"(.CONTROL_RETURN)
-    push_eh $P2377
-    .lex "self", self
-    .lex "$/", param_2378
-.annotate 'line', 870
-    find_lex $P2379, "$/"
-    get_hll_global $P2380, ["PAST"], "Regex"
-    find_lex $P2381, "$/"
-    unless_null $P2381, vivify_660
-    $P2381 = root_new ['parrot';'Hash']
+    find_lex $P2372, "$/"
+    get_hll_global $P2373, ["PAST"], "Regex"
+    find_lex $P2374, "$/"
+    unless_null $P2374, vivify_660
+    $P2374 = root_new ['parrot';'Hash']
   vivify_660:
-    set $P2382, $P2381["var"]
-    unless_null $P2382, vivify_661
-    new $P2382, "Undef"
+    set $P2375, $P2374["codeblock"]
+    unless_null $P2375, vivify_661
+    new $P2375, "Undef"
   vivify_661:
-    $P2383 = $P2382."ast"()
-    find_lex $P2384, "$/"
-    $P2385 = $P2380."new"("!INTERPOLATE_REGEX", $P2383, "subrule" :named("pasttype"), "method" :named("subtype"), $P2384 :named("node"))
-    $P2386 = $P2379."!make"($P2385)
-.annotate 'line', 869
-    .return ($P2386)
-  control_2376:
+    $P2376 = $P2375."ast"()
+    find_lex $P2377, "$/"
+    $P2378 = $P2373."new"("!INTERPOLATE_REGEX", $P2376, "subrule" :named("pasttype"), "method" :named("subtype"), $P2377 :named("node"))
+    $P2379 = $P2372."!make"($P2378)
+.annotate 'line', 868
+    .return ($P2379)
+  control_2369:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2387, exception, "payload"
-    .return ($P2387)
+    getattribute $P2380, exception, "payload"
+    .return ($P2380)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
 .include "except_types.pasm"
-.sub "codeblock"  :subid("140_1277356919.52295") :method :outer("133_1277356919.52295")
-    .param pmc param_2391
-.annotate 'line', 874
-    new $P2390, 'ExceptionHandler'
-    set_addr $P2390, control_2389
-    $P2390."handle_types"(.CONTROL_RETURN)
-    push_eh $P2390
+.sub "assertion:sym<?{ }>"  :subid("138_1278500542.82783") :method :outer("133_1278500542.82783")
+    .param pmc param_2384
+.annotate 'line', 873
+    new $P2383, 'ExceptionHandler'
+    set_addr $P2383, control_2382
+    $P2383."handle_types"(.CONTROL_RETURN)
+    push_eh $P2383
     .lex "self", self
-    .lex "$/", param_2391
-.annotate 'line', 875
-    new $P2392, "Undef"
-    .lex "$block", $P2392
-.annotate 'line', 877
-    new $P2393, "Undef"
-    .lex "$past", $P2393
-.annotate 'line', 875
-    find_lex $P2394, "$/"
-    unless_null $P2394, vivify_662
-    $P2394 = root_new ['parrot';'Hash']
+    .lex "$/", param_2384
+.annotate 'line', 874
+    find_lex $P2385, "$/"
+    get_hll_global $P2386, ["PAST"], "Regex"
+    find_lex $P2387, "$/"
+    unless_null $P2387, vivify_662
+    $P2387 = root_new ['parrot';'Hash']
   vivify_662:
-    set $P2395, $P2394["block"]
-    unless_null $P2395, vivify_663
-    new $P2395, "Undef"
+    set $P2388, $P2387["codeblock"]
+    unless_null $P2388, vivify_663
+    new $P2388, "Undef"
   vivify_663:
-    $P2396 = $P2395."ast"()
-    store_lex "$block", $P2396
-.annotate 'line', 876
-    find_lex $P2397, "$block"
-    $P2397."blocktype"("immediate")
-.annotate 'line', 878
-    get_hll_global $P2398, ["PAST"], "Stmts"
+    $P2389 = $P2388."ast"()
+.annotate 'line', 875
+    find_lex $P2390, "$/"
+    unless_null $P2390, vivify_664
+    $P2390 = root_new ['parrot';'Hash']
+  vivify_664:
+    set $P2391, $P2390["zw"]
+    unless_null $P2391, vivify_665
+    new $P2391, "Undef"
+  vivify_665:
+    set $S2392, $P2391
+    iseq $I2393, $S2392, "!"
+    find_lex $P2394, "$/"
+    $P2395 = $P2386."new"($P2389, "zerowidth" :named("subtype"), $I2393 :named("negate"), "pastnode" :named("pasttype"), $P2394 :named("node"))
+.annotate 'line', 874
+    $P2396 = $P2385."!make"($P2395)
+.annotate 'line', 873
+    .return ($P2396)
+  control_2382:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2397, exception, "payload"
+    .return ($P2397)
+.end
+
+
+.namespace ["NQP";"RegexActions"]
+.include "except_types.pasm"
+.sub "assertion:sym<var>"  :subid("139_1278500542.82783") :method :outer("133_1278500542.82783")
+    .param pmc param_2401
 .annotate 'line', 879
-    get_hll_global $P2399, ["PAST"], "Op"
+    new $P2400, 'ExceptionHandler'
+    set_addr $P2400, control_2399
+    $P2400."handle_types"(.CONTROL_RETURN)
+    push_eh $P2400
+    .lex "self", self
+    .lex "$/", param_2401
 .annotate 'line', 880
-    get_hll_global $P2400, ["PAST"], "Var"
-    $P2401 = $P2400."new"("$/" :named("name"))
-.annotate 'line', 881
-    get_hll_global $P2402, ["PAST"], "Op"
-.annotate 'line', 882
-    get_hll_global $P2403, ["PAST"], "Var"
-    $P2404 = $P2403."new"(unicode:"$\x{a2}" :named("name"))
-    $P2405 = $P2402."new"($P2404, "MATCH" :named("name"), "callmethod" :named("pasttype"))
-.annotate 'line', 881
-    $P2406 = $P2399."new"($P2401, $P2405, "bind" :named("pasttype"))
+    find_lex $P2402, "$/"
+    get_hll_global $P2403, ["PAST"], "Regex"
+    find_lex $P2404, "$/"
+    unless_null $P2404, vivify_666
+    $P2404 = root_new ['parrot';'Hash']
+  vivify_666:
+    set $P2405, $P2404["var"]
+    unless_null $P2405, vivify_667
+    new $P2405, "Undef"
+  vivify_667:
+    $P2406 = $P2405."ast"()
+    find_lex $P2407, "$/"
+    $P2408 = $P2403."new"("!INTERPOLATE_REGEX", $P2406, "subrule" :named("pasttype"), "method" :named("subtype"), $P2407 :named("node"))
+    $P2409 = $P2402."!make"($P2408)
 .annotate 'line', 879
-    find_lex $P2407, "$block"
-    $P2408 = $P2398."new"($P2406, $P2407)
-.annotate 'line', 878
-    store_lex "$past", $P2408
+    .return ($P2409)
+  control_2399:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2410, exception, "payload"
+    .return ($P2410)
+.end
+
+
+.namespace ["NQP";"RegexActions"]
+.include "except_types.pasm"
+.sub "codeblock"  :subid("140_1278500542.82783") :method :outer("133_1278500542.82783")
+    .param pmc param_2414
+.annotate 'line', 884
+    new $P2413, 'ExceptionHandler'
+    set_addr $P2413, control_2412
+    $P2413."handle_types"(.CONTROL_RETURN)
+    push_eh $P2413
+    .lex "self", self
+    .lex "$/", param_2414
+.annotate 'line', 885
+    new $P2415, "Undef"
+    .lex "$block", $P2415
+.annotate 'line', 887
+    new $P2416, "Undef"
+    .lex "$past", $P2416
+.annotate 'line', 885
+    find_lex $P2417, "$/"
+    unless_null $P2417, vivify_668
+    $P2417 = root_new ['parrot';'Hash']
+  vivify_668:
+    set $P2418, $P2417["block"]
+    unless_null $P2418, vivify_669
+    new $P2418, "Undef"
+  vivify_669:
+    $P2419 = $P2418."ast"()
+    store_lex "$block", $P2419
+.annotate 'line', 886
+    find_lex $P2420, "$block"
+    $P2420."blocktype"("immediate")
+.annotate 'line', 888
+    get_hll_global $P2421, ["PAST"], "Stmts"
+.annotate 'line', 889
+    get_hll_global $P2422, ["PAST"], "Op"
 .annotate 'line', 890
-    find_lex $P2409, "$/"
-    find_lex $P2410, "$past"
-    $P2411 = $P2409."!make"($P2410)
-.annotate 'line', 874
-    .return ($P2411)
-  control_2389:
+    get_hll_global $P2423, ["PAST"], "Var"
+    $P2424 = $P2423."new"("$/" :named("name"))
+.annotate 'line', 891
+    get_hll_global $P2425, ["PAST"], "Op"
+.annotate 'line', 892
+    get_hll_global $P2426, ["PAST"], "Var"
+    $P2427 = $P2426."new"(unicode:"$\x{a2}" :named("name"))
+    $P2428 = $P2425."new"($P2427, "MATCH" :named("name"), "callmethod" :named("pasttype"))
+.annotate 'line', 891
+    $P2429 = $P2422."new"($P2424, $P2428, "bind" :named("pasttype"))
+.annotate 'line', 889
+    find_lex $P2430, "$block"
+    $P2431 = $P2421."new"($P2429, $P2430)
+.annotate 'line', 888
+    store_lex "$past", $P2431
+.annotate 'line', 900
+    find_lex $P2432, "$/"
+    find_lex $P2433, "$past"
+    $P2434 = $P2432."!make"($P2433)
+.annotate 'line', 884
+    .return ($P2434)
+  control_2412:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2412, exception, "payload"
-    .return ($P2412)
+    getattribute $P2435, exception, "payload"
+    .return ($P2435)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block2415" :load :anon :subid("141_1277356919.52295")
+.sub "_block2438" :load :anon :subid("141_1278500542.82783")
 .annotate 'line', 3
-    .const 'Sub' $P2417 = "11_1277356919.52295" 
-    $P2418 = $P2417()
-    .return ($P2418)
+    .const 'Sub' $P2440 = "11_1278500542.82783" 
+    $P2441 = $P2440()
+    .return ($P2441)
 .end
 
 
 .namespace []
-.sub "_block2425" :load :anon :subid("143_1277356919.52295")
+.sub "_block2448" :load :anon :subid("143_1278500542.82783")
 .annotate 'line', 1
-    .const 'Sub' $P2427 = "10_1277356919.52295" 
-    $P2428 = $P2427()
-    .return ($P2428)
+    .const 'Sub' $P2450 = "10_1278500542.82783" 
+    $P2451 = $P2450()
+    .return ($P2451)
 .end
 
 ### .include 'src/cheats/nqp-builtins.pir'

Modified: branches/gsoc_threads/ext/nqp-rx/src/stage0/P6Regex-s0.pir
==============================================================================
--- branches/gsoc_threads/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Sun Jul 11 03:52:25 2010	(r48071)
@@ -16,7 +16,7 @@
 ### .include 'gen/p6regex-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1277356887.58177")
+.sub "_block11"  :anon :subid("10_1278500530.77787")
 .annotate 'line', 0
     get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" 
     capture_lex $P14
@@ -33,15 +33,15 @@
     $P596 = $P14()
 .annotate 'line', 1
     .return ($P596)
-    .const 'Sub' $P598 = "161_1277356887.58177" 
+    .const 'Sub' $P598 = "161_1278500530.77787" 
     .return ($P598)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post162") :outer("10_1277356887.58177")
+.sub "" :load :init :subid("post162") :outer("10_1278500530.77787")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1277356887.58177" 
+    .const 'Sub' $P12 = "10_1278500530.77787" 
     .local pmc block
     set block, $P12
     $P601 = get_root_global ["parrot"], "P6metaclass"
@@ -50,133 +50,133 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block13"  :subid("11_1277356887.58177") :outer("10_1277356887.58177")
+.sub "_block13"  :subid("11_1278500530.77787") :outer("10_1278500530.77787")
 .annotate 'line', 3
-    .const 'Sub' $P584 = "158_1277356887.58177" 
+    .const 'Sub' $P584 = "158_1278500530.77787" 
     capture_lex $P584
-    .const 'Sub' $P576 = "156_1277356887.58177" 
+    .const 'Sub' $P576 = "156_1278500530.77787" 
     capture_lex $P576
-    .const 'Sub' $P568 = "154_1277356887.58177" 
+    .const 'Sub' $P568 = "154_1278500530.77787" 
     capture_lex $P568
-    .const 'Sub' $P547 = "149_1277356887.58177" 
+    .const 'Sub' $P547 = "149_1278500530.77787" 
     capture_lex $P547
-    .const 'Sub' $P512 = "143_1277356887.58177" 
+    .const 'Sub' $P512 = "143_1278500530.77787" 
     capture_lex $P512
-    .const 'Sub' $P500 = "140_1277356887.58177" 
+    .const 'Sub' $P500 = "140_1278500530.77787" 
     capture_lex $P500
-    .const 'Sub' $P487 = "137_1277356887.58177" 
+    .const 'Sub' $P487 = "137_1278500530.77787" 
     capture_lex $P487
-    .const 'Sub' $P481 = "135_1277356887.58177" 
+    .const 'Sub' $P481 = "135_1278500530.77787" 
     capture_lex $P481
-    .const 'Sub' $P470 = "132_1277356887.58177" 
+    .const 'Sub' $P470 = "132_1278500530.77787" 
     capture_lex $P470
-    .const 'Sub' $P459 = "129_1277356887.58177" 
+    .const 'Sub' $P459 = "129_1278500530.77787" 
     capture_lex $P459
-    .const 'Sub' $P450 = "125_1277356887.58177" 
+    .const 'Sub' $P450 = "125_1278500530.77787" 
     capture_lex $P450
-    .const 'Sub' $P444 = "123_1277356887.58177" 
+    .const 'Sub' $P444 = "123_1278500530.77787" 
     capture_lex $P444
-    .const 'Sub' $P438 = "121_1277356887.58177" 
+    .const 'Sub' $P438 = "121_1278500530.77787" 
     capture_lex $P438
-    .const 'Sub' $P432 = "119_1277356887.58177" 
+    .const 'Sub' $P432 = "119_1278500530.77787" 
     capture_lex $P432
-    .const 'Sub' $P426 = "117_1277356887.58177" 
+    .const 'Sub' $P426 = "117_1278500530.77787" 
     capture_lex $P426
-    .const 'Sub' $P418 = "115_1277356887.58177" 
+    .const 'Sub' $P418 = "115_1278500530.77787" 
     capture_lex $P418
-    .const 'Sub' $P407 = "113_1277356887.58177" 
+    .const 'Sub' $P407 = "113_1278500530.77787" 
     capture_lex $P407
-    .const 'Sub' $P396 = "111_1277356887.58177" 
+    .const 'Sub' $P396 = "111_1278500530.77787" 
     capture_lex $P396
-    .const 'Sub' $P390 = "109_1277356887.58177" 
+    .const 'Sub' $P390 = "109_1278500530.77787" 
     capture_lex $P390
-    .const 'Sub' $P384 = "107_1277356887.58177" 
+    .const 'Sub' $P384 = "107_1278500530.77787" 
     capture_lex $P384
-    .const 'Sub' $P378 = "105_1277356887.58177" 
+    .const 'Sub' $P378 = "105_1278500530.77787" 
     capture_lex $P378
-    .const 'Sub' $P372 = "103_1277356887.58177" 
+    .const 'Sub' $P372 = "103_1278500530.77787" 
     capture_lex $P372
-    .const 'Sub' $P366 = "101_1277356887.58177" 
+    .const 'Sub' $P366 = "101_1278500530.77787" 
     capture_lex $P366
-    .const 'Sub' $P360 = "99_1277356887.58177" 
+    .const 'Sub' $P360 = "99_1278500530.77787" 
     capture_lex $P360
-    .const 'Sub' $P354 = "97_1277356887.58177" 
+    .const 'Sub' $P354 = "97_1278500530.77787" 
     capture_lex $P354
-    .const 'Sub' $P348 = "95_1277356887.58177" 
+    .const 'Sub' $P348 = "95_1278500530.77787" 
     capture_lex $P348
-    .const 'Sub' $P336 = "91_1277356887.58177" 
+    .const 'Sub' $P336 = "91_1278500530.77787" 
     capture_lex $P336
-    .const 'Sub' $P324 = "89_1277356887.58177" 
+    .const 'Sub' $P324 = "89_1278500530.77787" 
     capture_lex $P324
-    .const 'Sub' $P317 = "87_1277356887.58177" 
+    .const 'Sub' $P317 = "87_1278500530.77787" 
     capture_lex $P317
-    .const 'Sub' $P300 = "85_1277356887.58177" 
+    .const 'Sub' $P300 = "85_1278500530.77787" 
     capture_lex $P300
-    .const 'Sub' $P293 = "83_1277356887.58177" 
+    .const 'Sub' $P293 = "83_1278500530.77787" 
     capture_lex $P293
-    .const 'Sub' $P287 = "81_1277356887.58177" 
+    .const 'Sub' $P287 = "81_1278500530.77787" 
     capture_lex $P287
-    .const 'Sub' $P281 = "79_1277356887.58177" 
+    .const 'Sub' $P281 = "79_1278500530.77787" 
     capture_lex $P281
-    .const 'Sub' $P274 = "77_1277356887.58177" 
+    .const 'Sub' $P274 = "77_1278500530.77787" 
     capture_lex $P274
-    .const 'Sub' $P267 = "75_1277356887.58177" 
+    .const 'Sub' $P267 = "75_1278500530.77787" 
     capture_lex $P267
-    .const 'Sub' $P260 = "73_1277356887.58177" 
+    .const 'Sub' $P260 = "73_1278500530.77787" 
     capture_lex $P260
-    .const 'Sub' $P253 = "71_1277356887.58177" 
+    .const 'Sub' $P253 = "71_1278500530.77787" 
     capture_lex $P253
-    .const 'Sub' $P247 = "69_1277356887.58177" 
+    .const 'Sub' $P247 = "69_1278500530.77787" 
     capture_lex $P247
-    .const 'Sub' $P241 = "67_1277356887.58177" 
+    .const 'Sub' $P241 = "67_1278500530.77787" 
     capture_lex $P241
-    .const 'Sub' $P235 = "65_1277356887.58177" 
+    .const 'Sub' $P235 = "65_1278500530.77787" 
     capture_lex $P235
-    .const 'Sub' $P229 = "63_1277356887.58177" 
+    .const 'Sub' $P229 = "63_1278500530.77787" 
     capture_lex $P229
-    .const 'Sub' $P223 = "61_1277356887.58177" 
+    .const 'Sub' $P223 = "61_1278500530.77787" 
     capture_lex $P223
-    .const 'Sub' $P218 = "59_1277356887.58177" 
+    .const 'Sub' $P218 = "59_1278500530.77787" 
     capture_lex $P218
-    .const 'Sub' $P213 = "57_1277356887.58177" 
+    .const 'Sub' $P213 = "57_1278500530.77787" 
     capture_lex $P213
-    .const 'Sub' $P207 = "55_1277356887.58177" 
+    .const 'Sub' $P207 = "55_1278500530.77787" 
     capture_lex $P207
-    .const 'Sub' $P201 = "53_1277356887.58177" 
+    .const 'Sub' $P201 = "53_1278500530.77787" 
     capture_lex $P201
-    .const 'Sub' $P195 = "51_1277356887.58177" 
+    .const 'Sub' $P195 = "51_1278500530.77787" 
     capture_lex $P195
-    .const 'Sub' $P179 = "46_1277356887.58177" 
+    .const 'Sub' $P179 = "46_1278500530.77787" 
     capture_lex $P179
-    .const 'Sub' $P163 = "44_1277356887.58177" 
+    .const 'Sub' $P163 = "44_1278500530.77787" 
     capture_lex $P163
-    .const 'Sub' $P156 = "42_1277356887.58177" 
+    .const 'Sub' $P156 = "42_1278500530.77787" 
     capture_lex $P156
-    .const 'Sub' $P149 = "40_1277356887.58177" 
+    .const 'Sub' $P149 = "40_1278500530.77787" 
     capture_lex $P149
-    .const 'Sub' $P142 = "38_1277356887.58177" 
+    .const 'Sub' $P142 = "38_1278500530.77787" 
     capture_lex $P142
-    .const 'Sub' $P123 = "33_1277356887.58177" 
+    .const 'Sub' $P123 = "33_1278500530.77787" 
     capture_lex $P123
-    .const 'Sub' $P110 = "30_1277356887.58177" 
+    .const 'Sub' $P110 = "30_1278500530.77787" 
     capture_lex $P110
-    .const 'Sub' $P103 = "28_1277356887.58177" 
+    .const 'Sub' $P103 = "28_1278500530.77787" 
     capture_lex $P103
-    .const 'Sub' $P91 = "26_1277356887.58177" 
+    .const 'Sub' $P91 = "26_1278500530.77787" 
     capture_lex $P91
-    .const 'Sub' $P84 = "24_1277356887.58177" 
+    .const 'Sub' $P84 = "24_1278500530.77787" 
     capture_lex $P84
-    .const 'Sub' $P71 = "22_1277356887.58177" 
+    .const 'Sub' $P71 = "22_1278500530.77787" 
     capture_lex $P71
-    .const 'Sub' $P64 = "20_1277356887.58177" 
+    .const 'Sub' $P64 = "20_1278500530.77787" 
     capture_lex $P64
-    .const 'Sub' $P56 = "18_1277356887.58177" 
+    .const 'Sub' $P56 = "18_1278500530.77787" 
     capture_lex $P56
-    .const 'Sub' $P46 = "15_1277356887.58177" 
+    .const 'Sub' $P46 = "15_1278500530.77787" 
     capture_lex $P46
-    .const 'Sub' $P38 = "13_1277356887.58177" 
+    .const 'Sub' $P38 = "13_1278500530.77787" 
     capture_lex $P38
-    .const 'Sub' $P15 = "12_1277356887.58177" 
+    .const 'Sub' $P15 = "12_1278500530.77787" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -184,17 +184,17 @@
     unless $I0 goto ctxsave_done
     $P0."ctxsave"()
   ctxsave_done:
-    .const 'Sub' $P584 = "158_1277356887.58177" 
+    .const 'Sub' $P584 = "158_1278500530.77787" 
     capture_lex $P584
     .return ($P584)
-    .const 'Sub' $P593 = "160_1277356887.58177" 
+    .const 'Sub' $P593 = "160_1278500530.77787" 
     .return ($P593)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
 .include "except_types.pasm"
-.sub "obs"  :subid("12_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "obs"  :subid("12_1278500530.77787") :method :outer("11_1278500530.77787")
     .param pmc param_18
     .param pmc param_19
     .param pmc param_20 :optional
@@ -242,7 +242,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "ws"  :subid("13_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "ws"  :subid("13_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx39_tgt
     .local int rx39_pos
@@ -325,7 +325,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__ws"  :subid("14_1277356887.58177") :method
+.sub "!PREFIX__ws"  :subid("14_1278500530.77787") :method
 .annotate 'line', 3
     new $P41, "ResizablePMCArray"
     push $P41, ""
@@ -334,9 +334,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "normspace"  :subid("15_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "normspace"  :subid("15_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
-    .const 'Sub' $P52 = "17_1277356887.58177" 
+    .const 'Sub' $P52 = "17_1278500530.77787" 
     capture_lex $P52
     .local string rx47_tgt
     .local int rx47_pos
@@ -371,7 +371,7 @@
 .annotate 'line', 10
   # rx subrule "before" subtype=zerowidth negate=
     rx47_cur."!cursor_pos"(rx47_pos)
-    .const 'Sub' $P52 = "17_1277356887.58177" 
+    .const 'Sub' $P52 = "17_1278500530.77787" 
     capture_lex $P52
     $P10 = rx47_cur."before"($P52)
     unless $P10, rx47_fail
@@ -399,7 +399,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__normspace"  :subid("16_1277356887.58177") :method
+.sub "!PREFIX__normspace"  :subid("16_1278500530.77787") :method
 .annotate 'line', 3
     new $P49, "ResizablePMCArray"
     push $P49, ""
@@ -408,7 +408,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block51"  :anon :subid("17_1277356887.58177") :method :outer("15_1277356887.58177")
+.sub "_block51"  :anon :subid("17_1278500530.77787") :method :outer("15_1278500530.77787")
 .annotate 'line', 10
     .local string rx53_tgt
     .local int rx53_pos
@@ -477,7 +477,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "identifier"  :subid("18_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "identifier"  :subid("18_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx57_tgt
     .local int rx57_pos
@@ -554,7 +554,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__identifier"  :subid("19_1277356887.58177") :method
+.sub "!PREFIX__identifier"  :subid("19_1278500530.77787") :method
 .annotate 'line', 3
     $P59 = self."!PREFIX__!subrule"("ident", "")
     new $P60, "ResizablePMCArray"
@@ -564,7 +564,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arg"  :subid("20_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "arg"  :subid("20_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx65_tgt
     .local int rx65_pos
@@ -676,7 +676,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arg"  :subid("21_1277356887.58177") :method
+.sub "!PREFIX__arg"  :subid("21_1278500530.77787") :method
 .annotate 'line', 3
     new $P67, "ResizablePMCArray"
     push $P67, ""
@@ -687,7 +687,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arglist"  :subid("22_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "arglist"  :subid("22_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx72_tgt
     .local int rx72_pos
@@ -794,7 +794,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("23_1277356887.58177") :method
+.sub "!PREFIX__arglist"  :subid("23_1278500530.77787") :method
 .annotate 'line', 3
     $P74 = self."!PREFIX__!subrule"("ws", "")
     new $P75, "ResizablePMCArray"
@@ -804,7 +804,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "TOP"  :subid("24_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "TOP"  :subid("24_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx85_tgt
     .local int rx85_pos
@@ -878,7 +878,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__TOP"  :subid("25_1277356887.58177") :method
+.sub "!PREFIX__TOP"  :subid("25_1278500530.77787") :method
 .annotate 'line', 3
     $P87 = self."!PREFIX__!subrule"("nibbler", "")
     new $P88, "ResizablePMCArray"
@@ -888,7 +888,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "nibbler"  :subid("26_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "nibbler"  :subid("26_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx92_tgt
     .local int rx92_pos
@@ -1057,7 +1057,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__nibbler"  :subid("27_1277356887.58177") :method
+.sub "!PREFIX__nibbler"  :subid("27_1278500530.77787") :method
 .annotate 'line', 3
     new $P94, "ResizablePMCArray"
     push $P94, ""
@@ -1066,7 +1066,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "termish"  :subid("28_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "termish"  :subid("28_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx104_tgt
     .local int rx104_pos
@@ -1135,7 +1135,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__termish"  :subid("29_1277356887.58177") :method
+.sub "!PREFIX__termish"  :subid("29_1278500530.77787") :method
 .annotate 'line', 3
     new $P106, "ResizablePMCArray"
     push $P106, ""
@@ -1144,9 +1144,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantified_atom"  :subid("30_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "quantified_atom"  :subid("30_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
-    .const 'Sub' $P119 = "32_1277356887.58177" 
+    .const 'Sub' $P119 = "32_1278500530.77787" 
     capture_lex $P119
     .local string rx111_tgt
     .local int rx111_pos
@@ -1210,7 +1210,7 @@
   alt117_1:
   # rx subrule "before" subtype=zerowidth negate=
     rx111_cur."!cursor_pos"(rx111_pos)
-    .const 'Sub' $P119 = "32_1277356887.58177" 
+    .const 'Sub' $P119 = "32_1278500530.77787" 
     capture_lex $P119
     $P10 = rx111_cur."before"($P119)
     unless $P10, rx111_fail
@@ -1248,7 +1248,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantified_atom"  :subid("31_1277356887.58177") :method
+.sub "!PREFIX__quantified_atom"  :subid("31_1278500530.77787") :method
 .annotate 'line', 3
     $P113 = self."!PREFIX__!subrule"("atom", "")
     new $P114, "ResizablePMCArray"
@@ -1258,7 +1258,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block118"  :anon :subid("32_1277356887.58177") :method :outer("30_1277356887.58177")
+.sub "_block118"  :anon :subid("32_1278500530.77787") :method :outer("30_1278500530.77787")
 .annotate 'line', 43
     .local string rx120_tgt
     .local int rx120_pos
@@ -1315,9 +1315,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "atom"  :subid("33_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "atom"  :subid("33_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
-    .const 'Sub' $P134 = "35_1277356887.58177" 
+    .const 'Sub' $P134 = "35_1278500530.77787" 
     capture_lex $P134
     .local string rx124_tgt
     .local int rx124_pos
@@ -1378,7 +1378,7 @@
   rxquantg131_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx124_cur."!cursor_pos"(rx124_pos)
-    .const 'Sub' $P134 = "35_1277356887.58177" 
+    .const 'Sub' $P134 = "35_1278500530.77787" 
     capture_lex $P134
     $P10 = rx124_cur."before"($P134)
     unless $P10, rx124_fail
@@ -1415,7 +1415,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__atom"  :subid("34_1277356887.58177") :method
+.sub "!PREFIX__atom"  :subid("34_1278500530.77787") :method
 .annotate 'line', 3
     $P126 = self."!PREFIX__!subrule"("metachar", "")
     new $P127, "ResizablePMCArray"
@@ -1426,7 +1426,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block133"  :anon :subid("35_1277356887.58177") :method :outer("33_1277356887.58177")
+.sub "_block133"  :anon :subid("35_1278500530.77787") :method :outer("33_1278500530.77787")
 .annotate 'line', 49
     .local string rx135_tgt
     .local int rx135_pos
@@ -1482,7 +1482,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier"  :subid("36_1277356887.58177") :method
+.sub "quantifier"  :subid("36_1278500530.77787") :method
 .annotate 'line', 54
     $P139 = self."!protoregex"("quantifier")
     .return ($P139)
@@ -1490,7 +1490,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier"  :subid("37_1277356887.58177") :method
+.sub "!PREFIX__quantifier"  :subid("37_1278500530.77787") :method
 .annotate 'line', 54
     $P141 = self."!PREFIX__!protoregex"("quantifier")
     .return ($P141)
@@ -1498,7 +1498,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<*>"  :subid("38_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "quantifier:sym<*>"  :subid("38_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx143_tgt
     .local int rx143_pos
@@ -1578,7 +1578,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<*>"  :subid("39_1277356887.58177") :method
+.sub "!PREFIX__quantifier:sym<*>"  :subid("39_1278500530.77787") :method
 .annotate 'line', 3
     $P145 = self."!PREFIX__!subrule"("backmod", "*")
     new $P146, "ResizablePMCArray"
@@ -1588,7 +1588,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<+>"  :subid("40_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "quantifier:sym<+>"  :subid("40_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx150_tgt
     .local int rx150_pos
@@ -1668,7 +1668,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<+>"  :subid("41_1277356887.58177") :method
+.sub "!PREFIX__quantifier:sym<+>"  :subid("41_1278500530.77787") :method
 .annotate 'line', 3
     $P152 = self."!PREFIX__!subrule"("backmod", "+")
     new $P153, "ResizablePMCArray"
@@ -1678,7 +1678,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<?>"  :subid("42_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "quantifier:sym<?>"  :subid("42_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx157_tgt
     .local int rx157_pos
@@ -1758,7 +1758,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<?>"  :subid("43_1277356887.58177") :method
+.sub "!PREFIX__quantifier:sym<?>"  :subid("43_1278500530.77787") :method
 .annotate 'line', 3
     $P159 = self."!PREFIX__!subrule"("backmod", "?")
     new $P160, "ResizablePMCArray"
@@ -1768,7 +1768,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<**>"  :subid("44_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "quantifier:sym<**>"  :subid("44_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx164_tgt
     .local int rx164_pos
@@ -1778,7 +1778,7 @@
     .local pmc rx164_cur
     (rx164_cur, rx164_pos, rx164_tgt) = self."!cursor_start"()
     rx164_cur."!cursor_debug"("START ", "quantifier:sym<**>")
-    rx164_cur."!cursor_caparray"("max", "normspace")
+    rx164_cur."!cursor_caparray"("normspace", "max")
     .lex unicode:"$\x{a2}", rx164_cur
     .local pmc match
     .lex "$/", match
@@ -1976,7 +1976,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<**>"  :subid("45_1277356887.58177") :method
+.sub "!PREFIX__quantifier:sym<**>"  :subid("45_1278500530.77787") :method
 .annotate 'line', 3
     new $P166, "ResizablePMCArray"
     push $P166, "**"
@@ -1985,9 +1985,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backmod"  :subid("46_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backmod"  :subid("46_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
-    .const 'Sub' $P188 = "48_1277356887.58177" 
+    .const 'Sub' $P188 = "48_1278500530.77787" 
     capture_lex $P188
     .local string rx180_tgt
     .local int rx180_pos
@@ -2058,7 +2058,7 @@
   alt186_2:
   # rx subrule "before" subtype=zerowidth negate=1
     rx180_cur."!cursor_pos"(rx180_pos)
-    .const 'Sub' $P188 = "48_1277356887.58177" 
+    .const 'Sub' $P188 = "48_1278500530.77787" 
     capture_lex $P188
     $P10 = rx180_cur."before"($P188)
     if $P10, rx180_fail
@@ -2082,7 +2082,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backmod"  :subid("47_1277356887.58177") :method
+.sub "!PREFIX__backmod"  :subid("47_1278500530.77787") :method
 .annotate 'line', 3
     new $P182, "ResizablePMCArray"
     push $P182, ""
@@ -2091,7 +2091,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block187"  :anon :subid("48_1277356887.58177") :method :outer("46_1277356887.58177")
+.sub "_block187"  :anon :subid("48_1278500530.77787") :method :outer("46_1278500530.77787")
 .annotate 'line', 73
     .local string rx189_tgt
     .local int rx189_pos
@@ -2148,7 +2148,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar"  :subid("49_1277356887.58177") :method
+.sub "metachar"  :subid("49_1278500530.77787") :method
 .annotate 'line', 75
     $P192 = self."!protoregex"("metachar")
     .return ($P192)
@@ -2156,7 +2156,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar"  :subid("50_1277356887.58177") :method
+.sub "!PREFIX__metachar"  :subid("50_1278500530.77787") :method
 .annotate 'line', 75
     $P194 = self."!PREFIX__!protoregex"("metachar")
     .return ($P194)
@@ -2164,7 +2164,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<ws>"  :subid("51_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<ws>"  :subid("51_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx196_tgt
     .local int rx196_pos
@@ -2221,7 +2221,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<ws>"  :subid("52_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<ws>"  :subid("52_1278500530.77787") :method
 .annotate 'line', 3
     $P198 = self."!PREFIX__!subrule"("normspace", "")
     new $P199, "ResizablePMCArray"
@@ -2231,7 +2231,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<[ ]>"  :subid("53_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<[ ]>"  :subid("53_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx202_tgt
     .local int rx202_pos
@@ -2304,7 +2304,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<[ ]>"  :subid("54_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<[ ]>"  :subid("54_1278500530.77787") :method
 .annotate 'line', 3
     $P204 = self."!PREFIX__!subrule"("nibbler", "[")
     new $P205, "ResizablePMCArray"
@@ -2314,7 +2314,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<( )>"  :subid("55_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<( )>"  :subid("55_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx208_tgt
     .local int rx208_pos
@@ -2387,7 +2387,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<( )>"  :subid("56_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<( )>"  :subid("56_1278500530.77787") :method
 .annotate 'line', 3
     $P210 = self."!PREFIX__!subrule"("nibbler", "(")
     new $P211, "ResizablePMCArray"
@@ -2397,7 +2397,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<'>"  :subid("57_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<'>"  :subid("57_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx214_tgt
     .local int rx214_pos
@@ -2462,7 +2462,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<'>"  :subid("58_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<'>"  :subid("58_1278500530.77787") :method
 .annotate 'line', 3
     new $P216, "ResizablePMCArray"
     push $P216, "'"
@@ -2471,7 +2471,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<\">"  :subid("59_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<\">"  :subid("59_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx219_tgt
     .local int rx219_pos
@@ -2536,7 +2536,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<\">"  :subid("60_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<\">"  :subid("60_1278500530.77787") :method
 .annotate 'line', 3
     new $P221, "ResizablePMCArray"
     push $P221, "\""
@@ -2545,7 +2545,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<.>"  :subid("61_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<.>"  :subid("61_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx224_tgt
     .local int rx224_pos
@@ -2618,7 +2618,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<.>"  :subid("62_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<.>"  :subid("62_1278500530.77787") :method
 .annotate 'line', 3
     new $P226, "ResizablePMCArray"
     push $P226, "."
@@ -2627,7 +2627,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^>"  :subid("63_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<^>"  :subid("63_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx230_tgt
     .local int rx230_pos
@@ -2700,7 +2700,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^>"  :subid("64_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<^>"  :subid("64_1278500530.77787") :method
 .annotate 'line', 3
     new $P232, "ResizablePMCArray"
     push $P232, "^"
@@ -2709,7 +2709,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^^>"  :subid("65_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<^^>"  :subid("65_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx236_tgt
     .local int rx236_pos
@@ -2782,7 +2782,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^^>"  :subid("66_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<^^>"  :subid("66_1278500530.77787") :method
 .annotate 'line', 3
     new $P238, "ResizablePMCArray"
     push $P238, "^^"
@@ -2791,7 +2791,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$>"  :subid("67_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<$>"  :subid("67_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx242_tgt
     .local int rx242_pos
@@ -2864,7 +2864,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$>"  :subid("68_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<$>"  :subid("68_1278500530.77787") :method
 .annotate 'line', 3
     new $P244, "ResizablePMCArray"
     push $P244, "$"
@@ -2873,7 +2873,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$$>"  :subid("69_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<$$>"  :subid("69_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx248_tgt
     .local int rx248_pos
@@ -2946,7 +2946,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$$>"  :subid("70_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<$$>"  :subid("70_1278500530.77787") :method
 .annotate 'line', 3
     new $P250, "ResizablePMCArray"
     push $P250, "$$"
@@ -2955,7 +2955,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<:::>"  :subid("71_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<:::>"  :subid("71_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx254_tgt
     .local int rx254_pos
@@ -3033,7 +3033,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<:::>"  :subid("72_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<:::>"  :subid("72_1278500530.77787") :method
 .annotate 'line', 3
     $P256 = self."!PREFIX__!subrule"("panic", ":::")
     new $P257, "ResizablePMCArray"
@@ -3043,7 +3043,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<::>"  :subid("73_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<::>"  :subid("73_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx261_tgt
     .local int rx261_pos
@@ -3121,7 +3121,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<::>"  :subid("74_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<::>"  :subid("74_1278500530.77787") :method
 .annotate 'line', 3
     $P263 = self."!PREFIX__!subrule"("panic", "::")
     new $P264, "ResizablePMCArray"
@@ -3131,7 +3131,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<lwb>"  :subid("75_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<lwb>"  :subid("75_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx268_tgt
     .local int rx268_pos
@@ -3217,7 +3217,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<lwb>"  :subid("76_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<lwb>"  :subid("76_1278500530.77787") :method
 .annotate 'line', 3
     new $P270, "ResizablePMCArray"
     push $P270, unicode:"\x{ab}"
@@ -3227,7 +3227,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<rwb>"  :subid("77_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<rwb>"  :subid("77_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx275_tgt
     .local int rx275_pos
@@ -3313,7 +3313,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<rwb>"  :subid("78_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<rwb>"  :subid("78_1278500530.77787") :method
 .annotate 'line', 3
     new $P277, "ResizablePMCArray"
     push $P277, unicode:"\x{bb}"
@@ -3323,7 +3323,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<bs>"  :subid("79_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<bs>"  :subid("79_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx282_tgt
     .local int rx282_pos
@@ -3389,7 +3389,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<bs>"  :subid("80_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<bs>"  :subid("80_1278500530.77787") :method
 .annotate 'line', 3
     $P284 = self."!PREFIX__!subrule"("backslash", "\\")
     new $P285, "ResizablePMCArray"
@@ -3399,7 +3399,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<mod>"  :subid("81_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<mod>"  :subid("81_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx288_tgt
     .local int rx288_pos
@@ -3458,7 +3458,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<mod>"  :subid("82_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<mod>"  :subid("82_1278500530.77787") :method
 .annotate 'line', 3
     $P290 = self."!PREFIX__!subrule"("mod_internal", "")
     new $P291, "ResizablePMCArray"
@@ -3468,7 +3468,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<~>"  :subid("83_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<~>"  :subid("83_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx294_tgt
     .local int rx294_pos
@@ -3568,7 +3568,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<~>"  :subid("84_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<~>"  :subid("84_1278500530.77787") :method
 .annotate 'line', 3
     $P296 = self."!PREFIX__!subrule"("ws", "~")
     new $P297, "ResizablePMCArray"
@@ -3578,7 +3578,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<{*}>"  :subid("85_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<{*}>"  :subid("85_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx301_tgt
     .local int rx301_pos
@@ -3746,7 +3746,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<{*}>"  :subid("86_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<{*}>"  :subid("86_1278500530.77787") :method
 .annotate 'line', 3
     new $P303, "ResizablePMCArray"
     push $P303, "{*}"
@@ -3755,7 +3755,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<assert>"  :subid("87_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<assert>"  :subid("87_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx318_tgt
     .local int rx318_pos
@@ -3841,7 +3841,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<assert>"  :subid("88_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<assert>"  :subid("88_1278500530.77787") :method
 .annotate 'line', 3
     $P320 = self."!PREFIX__!subrule"("assertion", "<")
     new $P321, "ResizablePMCArray"
@@ -3851,7 +3851,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<var>"  :subid("89_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<var>"  :subid("89_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx325_tgt
     .local int rx325_pos
@@ -4014,7 +4014,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<var>"  :subid("90_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<var>"  :subid("90_1278500530.77787") :method
 .annotate 'line', 3
     new $P327, "ResizablePMCArray"
     push $P327, "$"
@@ -4024,7 +4024,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<PIR>"  :subid("91_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "metachar:sym<PIR>"  :subid("91_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx337_tgt
     .local int rx337_pos
@@ -4116,7 +4116,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<PIR>"  :subid("92_1277356887.58177") :method
+.sub "!PREFIX__metachar:sym<PIR>"  :subid("92_1278500530.77787") :method
 .annotate 'line', 3
     new $P339, "ResizablePMCArray"
     push $P339, ":PIR{{"
@@ -4125,7 +4125,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash"  :subid("93_1277356887.58177") :method
+.sub "backslash"  :subid("93_1278500530.77787") :method
 .annotate 'line', 122
     $P345 = self."!protoregex"("backslash")
     .return ($P345)
@@ -4133,7 +4133,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash"  :subid("94_1277356887.58177") :method
+.sub "!PREFIX__backslash"  :subid("94_1278500530.77787") :method
 .annotate 'line', 122
     $P347 = self."!PREFIX__!protoregex"("backslash")
     .return ($P347)
@@ -4141,7 +4141,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<w>"  :subid("95_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<w>"  :subid("95_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx349_tgt
     .local int rx349_pos
@@ -4214,7 +4214,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<w>"  :subid("96_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<w>"  :subid("96_1278500530.77787") :method
 .annotate 'line', 3
     new $P351, "ResizablePMCArray"
     push $P351, "N"
@@ -4230,7 +4230,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<b>"  :subid("97_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<b>"  :subid("97_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx355_tgt
     .local int rx355_pos
@@ -4303,7 +4303,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<b>"  :subid("98_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<b>"  :subid("98_1278500530.77787") :method
 .annotate 'line', 3
     new $P357, "ResizablePMCArray"
     push $P357, "B"
@@ -4313,7 +4313,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<e>"  :subid("99_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<e>"  :subid("99_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx361_tgt
     .local int rx361_pos
@@ -4386,7 +4386,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<e>"  :subid("100_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<e>"  :subid("100_1278500530.77787") :method
 .annotate 'line', 3
     new $P363, "ResizablePMCArray"
     push $P363, "E"
@@ -4396,7 +4396,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<f>"  :subid("101_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<f>"  :subid("101_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx367_tgt
     .local int rx367_pos
@@ -4469,7 +4469,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<f>"  :subid("102_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<f>"  :subid("102_1278500530.77787") :method
 .annotate 'line', 3
     new $P369, "ResizablePMCArray"
     push $P369, "F"
@@ -4479,7 +4479,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<h>"  :subid("103_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<h>"  :subid("103_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx373_tgt
     .local int rx373_pos
@@ -4552,7 +4552,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<h>"  :subid("104_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<h>"  :subid("104_1278500530.77787") :method
 .annotate 'line', 3
     new $P375, "ResizablePMCArray"
     push $P375, "H"
@@ -4562,7 +4562,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<r>"  :subid("105_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<r>"  :subid("105_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx379_tgt
     .local int rx379_pos
@@ -4635,7 +4635,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<r>"  :subid("106_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<r>"  :subid("106_1278500530.77787") :method
 .annotate 'line', 3
     new $P381, "ResizablePMCArray"
     push $P381, "R"
@@ -4645,7 +4645,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<t>"  :subid("107_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<t>"  :subid("107_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx385_tgt
     .local int rx385_pos
@@ -4718,7 +4718,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<t>"  :subid("108_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<t>"  :subid("108_1278500530.77787") :method
 .annotate 'line', 3
     new $P387, "ResizablePMCArray"
     push $P387, "T"
@@ -4728,7 +4728,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<v>"  :subid("109_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<v>"  :subid("109_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx391_tgt
     .local int rx391_pos
@@ -4801,7 +4801,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<v>"  :subid("110_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<v>"  :subid("110_1278500530.77787") :method
 .annotate 'line', 3
     new $P393, "ResizablePMCArray"
     push $P393, "V"
@@ -4811,7 +4811,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<o>"  :subid("111_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<o>"  :subid("111_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx397_tgt
     .local int rx397_pos
@@ -4918,7 +4918,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<o>"  :subid("112_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<o>"  :subid("112_1278500530.77787") :method
 .annotate 'line', 3
     $P399 = self."!PREFIX__!subrule"("octints", "O[")
     $P400 = self."!PREFIX__!subrule"("octint", "O")
@@ -4934,7 +4934,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<x>"  :subid("113_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<x>"  :subid("113_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx408_tgt
     .local int rx408_pos
@@ -5041,7 +5041,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<x>"  :subid("114_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<x>"  :subid("114_1278500530.77787") :method
 .annotate 'line', 3
     $P410 = self."!PREFIX__!subrule"("hexints", "X[")
     $P411 = self."!PREFIX__!subrule"("hexint", "X")
@@ -5057,7 +5057,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<c>"  :subid("115_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<c>"  :subid("115_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx419_tgt
     .local int rx419_pos
@@ -5137,7 +5137,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<c>"  :subid("116_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<c>"  :subid("116_1278500530.77787") :method
 .annotate 'line', 3
     $P421 = self."!PREFIX__!subrule"("charspec", "C")
     $P422 = self."!PREFIX__!subrule"("charspec", "c")
@@ -5149,7 +5149,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<A>"  :subid("117_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<A>"  :subid("117_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx427_tgt
     .local int rx427_pos
@@ -5213,7 +5213,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<A>"  :subid("118_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<A>"  :subid("118_1278500530.77787") :method
 .annotate 'line', 3
     $P429 = self."!PREFIX__!subrule"("obs", "A")
     new $P430, "ResizablePMCArray"
@@ -5223,7 +5223,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<z>"  :subid("119_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<z>"  :subid("119_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx433_tgt
     .local int rx433_pos
@@ -5287,7 +5287,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<z>"  :subid("120_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<z>"  :subid("120_1278500530.77787") :method
 .annotate 'line', 3
     $P435 = self."!PREFIX__!subrule"("obs", "z")
     new $P436, "ResizablePMCArray"
@@ -5297,7 +5297,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Z>"  :subid("121_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<Z>"  :subid("121_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx439_tgt
     .local int rx439_pos
@@ -5361,7 +5361,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Z>"  :subid("122_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<Z>"  :subid("122_1278500530.77787") :method
 .annotate 'line', 3
     $P441 = self."!PREFIX__!subrule"("obs", "Z")
     new $P442, "ResizablePMCArray"
@@ -5371,7 +5371,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Q>"  :subid("123_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<Q>"  :subid("123_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx445_tgt
     .local int rx445_pos
@@ -5435,7 +5435,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Q>"  :subid("124_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<Q>"  :subid("124_1278500530.77787") :method
 .annotate 'line', 3
     $P447 = self."!PREFIX__!subrule"("obs", "Q")
     new $P448, "ResizablePMCArray"
@@ -5445,7 +5445,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<misc>"  :subid("125_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "backslash:sym<misc>"  :subid("125_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx451_tgt
     .local int rx451_pos
@@ -5503,7 +5503,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<misc>"  :subid("126_1277356887.58177") :method
+.sub "!PREFIX__backslash:sym<misc>"  :subid("126_1278500530.77787") :method
 .annotate 'line', 3
     new $P453, "ResizablePMCArray"
     push $P453, ""
@@ -5512,7 +5512,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion"  :subid("127_1277356887.58177") :method
+.sub "assertion"  :subid("127_1278500530.77787") :method
 .annotate 'line', 140
     $P456 = self."!protoregex"("assertion")
     .return ($P456)
@@ -5520,7 +5520,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion"  :subid("128_1277356887.58177") :method
+.sub "!PREFIX__assertion"  :subid("128_1278500530.77787") :method
 .annotate 'line', 140
     $P458 = self."!PREFIX__!protoregex"("assertion")
     .return ($P458)
@@ -5528,9 +5528,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<?>"  :subid("129_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "assertion:sym<?>"  :subid("129_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
-    .const 'Sub' $P467 = "131_1277356887.58177" 
+    .const 'Sub' $P467 = "131_1278500530.77787" 
     capture_lex $P467
     .local string rx460_tgt
     .local int rx460_pos
@@ -5575,7 +5575,7 @@
     rx460_cur."!mark_push"(0, rx460_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
     rx460_cur."!cursor_pos"(rx460_pos)
-    .const 'Sub' $P467 = "131_1277356887.58177" 
+    .const 'Sub' $P467 = "131_1278500530.77787" 
     capture_lex $P467
     $P10 = rx460_cur."before"($P467)
     unless $P10, rx460_fail
@@ -5608,7 +5608,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<?>"  :subid("130_1277356887.58177") :method
+.sub "!PREFIX__assertion:sym<?>"  :subid("130_1278500530.77787") :method
 .annotate 'line', 3
     $P462 = self."!PREFIX__!subrule"("assertion", "?")
     new $P463, "ResizablePMCArray"
@@ -5619,7 +5619,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block466"  :anon :subid("131_1277356887.58177") :method :outer("129_1277356887.58177")
+.sub "_block466"  :anon :subid("131_1278500530.77787") :method :outer("129_1278500530.77787")
 .annotate 'line', 142
     .local string rx468_tgt
     .local int rx468_pos
@@ -5676,9 +5676,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<!>"  :subid("132_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "assertion:sym<!>"  :subid("132_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
-    .const 'Sub' $P478 = "134_1277356887.58177" 
+    .const 'Sub' $P478 = "134_1278500530.77787" 
     capture_lex $P478
     .local string rx471_tgt
     .local int rx471_pos
@@ -5723,7 +5723,7 @@
     rx471_cur."!mark_push"(0, rx471_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
     rx471_cur."!cursor_pos"(rx471_pos)
-    .const 'Sub' $P478 = "134_1277356887.58177" 
+    .const 'Sub' $P478 = "134_1278500530.77787" 
     capture_lex $P478
     $P10 = rx471_cur."before"($P478)
     unless $P10, rx471_fail
@@ -5756,7 +5756,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<!>"  :subid("133_1277356887.58177") :method
+.sub "!PREFIX__assertion:sym<!>"  :subid("133_1278500530.77787") :method
 .annotate 'line', 3
     $P473 = self."!PREFIX__!subrule"("assertion", "!")
     new $P474, "ResizablePMCArray"
@@ -5767,7 +5767,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block477"  :anon :subid("134_1277356887.58177") :method :outer("132_1277356887.58177")
+.sub "_block477"  :anon :subid("134_1278500530.77787") :method :outer("132_1278500530.77787")
 .annotate 'line', 143
     .local string rx479_tgt
     .local int rx479_pos
@@ -5824,7 +5824,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<method>"  :subid("135_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "assertion:sym<method>"  :subid("135_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx482_tgt
     .local int rx482_pos
@@ -5891,7 +5891,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<method>"  :subid("136_1277356887.58177") :method
+.sub "!PREFIX__assertion:sym<method>"  :subid("136_1278500530.77787") :method
 .annotate 'line', 3
     $P484 = self."!PREFIX__!subrule"("assertion", ".")
     new $P485, "ResizablePMCArray"
@@ -5901,9 +5901,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<name>"  :subid("137_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "assertion:sym<name>"  :subid("137_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
-    .const 'Sub' $P496 = "139_1277356887.58177" 
+    .const 'Sub' $P496 = "139_1278500530.77787" 
     capture_lex $P496
     .local string rx488_tgt
     .local int rx488_pos
@@ -5913,7 +5913,7 @@
     .local pmc rx488_cur
     (rx488_cur, rx488_pos, rx488_tgt) = self."!cursor_start"()
     rx488_cur."!cursor_debug"("START ", "assertion:sym<name>")
-    rx488_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
+    rx488_cur."!cursor_caparray"("assertion", "nibbler", "arglist")
     .lex unicode:"$\x{a2}", rx488_cur
     .local pmc match
     .lex "$/", match
@@ -5956,7 +5956,7 @@
 .annotate 'line', 152
   # rx subrule "before" subtype=zerowidth negate=
     rx488_cur."!cursor_pos"(rx488_pos)
-    .const 'Sub' $P496 = "139_1277356887.58177" 
+    .const 'Sub' $P496 = "139_1278500530.77787" 
     capture_lex $P496
     $P10 = rx488_cur."before"($P496)
     unless $P10, rx488_fail
@@ -6063,7 +6063,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("138_1277356887.58177") :method
+.sub "!PREFIX__assertion:sym<name>"  :subid("138_1278500530.77787") :method
 .annotate 'line', 3
     $P490 = self."!PREFIX__!subrule"("identifier", "")
     new $P491, "ResizablePMCArray"
@@ -6073,7 +6073,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block495"  :anon :subid("139_1277356887.58177") :method :outer("137_1277356887.58177")
+.sub "_block495"  :anon :subid("139_1278500530.77787") :method :outer("137_1278500530.77787")
 .annotate 'line', 152
     .local string rx497_tgt
     .local int rx497_pos
@@ -6130,9 +6130,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<[>"  :subid("140_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "assertion:sym<[>"  :subid("140_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
-    .const 'Sub' $P506 = "142_1277356887.58177" 
+    .const 'Sub' $P506 = "142_1278500530.77787" 
     capture_lex $P506
     .local string rx501_tgt
     .local int rx501_pos
@@ -6168,7 +6168,7 @@
 .annotate 'line', 160
   # rx subrule "before" subtype=zerowidth negate=
     rx501_cur."!cursor_pos"(rx501_pos)
-    .const 'Sub' $P506 = "142_1277356887.58177" 
+    .const 'Sub' $P506 = "142_1278500530.77787" 
     capture_lex $P506
     $P10 = rx501_cur."before"($P506)
     unless $P10, rx501_fail
@@ -6206,7 +6206,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<[>"  :subid("141_1277356887.58177") :method
+.sub "!PREFIX__assertion:sym<[>"  :subid("141_1278500530.77787") :method
 .annotate 'line', 3
     new $P503, "ResizablePMCArray"
     push $P503, ""
@@ -6215,7 +6215,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block505"  :anon :subid("142_1277356887.58177") :method :outer("140_1277356887.58177")
+.sub "_block505"  :anon :subid("142_1278500530.77787") :method :outer("140_1278500530.77787")
 .annotate 'line', 160
     .local string rx507_tgt
     .local int rx507_pos
@@ -6296,9 +6296,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "cclass_elem"  :subid("143_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "cclass_elem"  :subid("143_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
-    .const 'Sub' $P524 = "145_1277356887.58177" 
+    .const 'Sub' $P524 = "145_1278500530.77787" 
     capture_lex $P524
     .local string rx513_tgt
     .local int rx513_pos
@@ -6402,7 +6402,7 @@
 .annotate 'line', 166
   # rx subrule $P524 subtype=capture negate=
     rx513_cur."!cursor_pos"(rx513_pos)
-    .const 'Sub' $P524 = "145_1277356887.58177" 
+    .const 'Sub' $P524 = "145_1278500530.77787" 
     capture_lex $P524
     $P10 = rx513_cur.$P524()
     unless $P10, rx513_fail
@@ -6483,7 +6483,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__cclass_elem"  :subid("144_1277356887.58177") :method
+.sub "!PREFIX__cclass_elem"  :subid("144_1278500530.77787") :method
 .annotate 'line', 3
     new $P515, "ResizablePMCArray"
     push $P515, ""
@@ -6494,13 +6494,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block523"  :anon :subid("145_1277356887.58177") :method :outer("143_1277356887.58177")
+.sub "_block523"  :anon :subid("145_1278500530.77787") :method :outer("143_1278500530.77787")
 .annotate 'line', 166
-    .const 'Sub' $P539 = "148_1277356887.58177" 
+    .const 'Sub' $P539 = "148_1278500530.77787" 
     capture_lex $P539
-    .const 'Sub' $P534 = "147_1277356887.58177" 
+    .const 'Sub' $P534 = "147_1278500530.77787" 
     capture_lex $P534
-    .const 'Sub' $P530 = "146_1277356887.58177" 
+    .const 'Sub' $P530 = "146_1278500530.77787" 
     capture_lex $P530
     .local string rx525_tgt
     .local int rx525_pos
@@ -6572,7 +6572,7 @@
     add rx525_pos, 1
   # rx subrule $P530 subtype=capture negate=
     rx525_cur."!cursor_pos"(rx525_pos)
-    .const 'Sub' $P530 = "146_1277356887.58177" 
+    .const 'Sub' $P530 = "146_1278500530.77787" 
     capture_lex $P530
     $P10 = rx525_cur.$P530()
     unless $P10, rx525_fail
@@ -6583,7 +6583,7 @@
   alt528_1:
   # rx subrule $P534 subtype=capture negate=
     rx525_cur."!cursor_pos"(rx525_pos)
-    .const 'Sub' $P534 = "147_1277356887.58177" 
+    .const 'Sub' $P534 = "147_1278500530.77787" 
     capture_lex $P534
     $P10 = rx525_cur.$P534()
     unless $P10, rx525_fail
@@ -6612,7 +6612,7 @@
     add rx525_pos, rx525_off, $I11
   # rx subrule $P539 subtype=capture negate=
     rx525_cur."!cursor_pos"(rx525_pos)
-    .const 'Sub' $P539 = "148_1277356887.58177" 
+    .const 'Sub' $P539 = "148_1278500530.77787" 
     capture_lex $P539
     $P10 = rx525_cur.$P539()
     unless $P10, rx525_fail
@@ -6641,7 +6641,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block529"  :anon :subid("146_1277356887.58177") :method :outer("145_1277356887.58177")
+.sub "_block529"  :anon :subid("146_1278500530.77787") :method :outer("145_1278500530.77787")
 .annotate 'line', 168
     .local string rx531_tgt
     .local int rx531_pos
@@ -6694,7 +6694,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block533"  :anon :subid("147_1277356887.58177") :method :outer("145_1277356887.58177")
+.sub "_block533"  :anon :subid("147_1278500530.77787") :method :outer("145_1278500530.77787")
 .annotate 'line', 168
     .local string rx535_tgt
     .local int rx535_pos
@@ -6751,7 +6751,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block538"  :anon :subid("148_1277356887.58177") :method :outer("145_1277356887.58177")
+.sub "_block538"  :anon :subid("148_1278500530.77787") :method :outer("145_1278500530.77787")
 .annotate 'line', 168
     .local string rx540_tgt
     .local int rx540_pos
@@ -6804,9 +6804,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_internal"  :subid("149_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "mod_internal"  :subid("149_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
-    .const 'Sub' $P556 = "151_1277356887.58177" 
+    .const 'Sub' $P556 = "151_1278500530.77787" 
     capture_lex $P556
     .local string rx548_tgt
     .local int rx548_pos
@@ -6857,7 +6857,7 @@
   rxquantr554_loop:
   # rx subrule $P556 subtype=capture negate=
     rx548_cur."!cursor_pos"(rx548_pos)
-    .const 'Sub' $P556 = "151_1277356887.58177" 
+    .const 'Sub' $P556 = "151_1278500530.77787" 
     capture_lex $P556
     $P10 = rx548_cur.$P556()
     unless $P10, rx548_fail
@@ -6959,7 +6959,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_internal"  :subid("150_1277356887.58177") :method
+.sub "!PREFIX__mod_internal"  :subid("150_1278500530.77787") :method
 .annotate 'line', 3
     $P550 = self."!PREFIX__!subrule"("mod_ident", ":")
     new $P551, "ResizablePMCArray"
@@ -6970,7 +6970,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block555"  :anon :subid("151_1277356887.58177") :method :outer("149_1277356887.58177")
+.sub "_block555"  :anon :subid("151_1278500530.77787") :method :outer("149_1278500530.77787")
 .annotate 'line', 178
     .local string rx557_tgt
     .local int rx557_pos
@@ -7039,7 +7039,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident"  :subid("152_1277356887.58177") :method
+.sub "mod_ident"  :subid("152_1278500530.77787") :method
 .annotate 'line', 183
     $P565 = self."!protoregex"("mod_ident")
     .return ($P565)
@@ -7047,7 +7047,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident"  :subid("153_1277356887.58177") :method
+.sub "!PREFIX__mod_ident"  :subid("153_1278500530.77787") :method
 .annotate 'line', 183
     $P567 = self."!PREFIX__!protoregex"("mod_ident")
     .return ($P567)
@@ -7055,7 +7055,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ignorecase>"  :subid("154_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "mod_ident:sym<ignorecase>"  :subid("154_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx569_tgt
     .local int rx569_pos
@@ -7141,7 +7141,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("155_1277356887.58177") :method
+.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("155_1278500530.77787") :method
 .annotate 'line', 3
     new $P571, "ResizablePMCArray"
     push $P571, "i"
@@ -7150,7 +7150,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ratchet>"  :subid("156_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "mod_ident:sym<ratchet>"  :subid("156_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx577_tgt
     .local int rx577_pos
@@ -7236,7 +7236,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("157_1277356887.58177") :method
+.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("157_1278500530.77787") :method
 .annotate 'line', 3
     new $P579, "ResizablePMCArray"
     push $P579, "r"
@@ -7245,7 +7245,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<sigspace>"  :subid("158_1277356887.58177") :method :outer("11_1277356887.58177")
+.sub "mod_ident:sym<sigspace>"  :subid("158_1278500530.77787") :method :outer("11_1278500530.77787")
 .annotate 'line', 3
     .local string rx585_tgt
     .local int rx585_pos
@@ -7331,7 +7331,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("159_1277356887.58177") :method
+.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("159_1278500530.77787") :method
 .annotate 'line', 3
     new $P587, "ResizablePMCArray"
     push $P587, "s"
@@ -7340,18 +7340,18 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block592" :load :anon :subid("160_1277356887.58177")
+.sub "_block592" :load :anon :subid("160_1278500530.77787")
 .annotate 'line', 3
-    .const 'Sub' $P594 = "11_1277356887.58177" 
+    .const 'Sub' $P594 = "11_1278500530.77787" 
     $P595 = $P594()
     .return ($P595)
 .end
 
 
 .namespace []
-.sub "_block597" :load :anon :subid("161_1277356887.58177")
+.sub "_block597" :load :anon :subid("161_1278500530.77787")
 .annotate 'line', 1
-    .const 'Sub' $P599 = "10_1277356887.58177" 
+    .const 'Sub' $P599 = "10_1278500530.77787" 
     $P600 = $P599()
     .return ($P600)
 .end
@@ -7359,7 +7359,7 @@
 ### .include 'gen/p6regex-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1277356890.79584")
+.sub "_block11"  :anon :subid("10_1278500533.96053")
 .annotate 'line', 0
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     capture_lex $P14
@@ -7373,135 +7373,135 @@
 .annotate 'line', 4
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     capture_lex $P14
-    $P1599 = $P14()
+    $P1601 = $P14()
 .annotate 'line', 1
-    .return ($P1599)
-    .const 'Sub' $P1601 = "91_1277356890.79584" 
     .return ($P1601)
+    .const 'Sub' $P1603 = "91_1278500533.96053" 
+    .return ($P1603)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post92") :outer("10_1277356890.79584")
+.sub "" :load :init :subid("post92") :outer("10_1278500533.96053")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1277356890.79584" 
+    .const 'Sub' $P12 = "10_1278500533.96053" 
     .local pmc block
     set block, $P12
-    $P1604 = get_root_global ["parrot"], "P6metaclass"
-    $P1604."new_class"("Regex::P6Regex::Actions", "HLL::Actions" :named("parent"))
+    $P1606 = get_root_global ["parrot"], "P6metaclass"
+    $P1606."new_class"("Regex::P6Regex::Actions", "HLL::Actions" :named("parent"))
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block13"  :subid("11_1277356890.79584") :outer("10_1277356890.79584")
+.sub "_block13"  :subid("11_1278500533.96053") :outer("10_1278500533.96053")
 .annotate 'line', 4
-    .const 'Sub' $P1561 = "89_1277356890.79584" 
-    capture_lex $P1561
-    .const 'Sub' $P1492 = "85_1277356890.79584" 
-    capture_lex $P1492
-    .const 'Sub' $P1424 = "83_1277356890.79584" 
-    capture_lex $P1424
-    .const 'Sub' $P1351 = "80_1277356890.79584" 
-    capture_lex $P1351
-    .const 'Sub' $P1337 = "79_1277356890.79584" 
-    capture_lex $P1337
-    .const 'Sub' $P1313 = "78_1277356890.79584" 
-    capture_lex $P1313
-    .const 'Sub' $P1295 = "77_1277356890.79584" 
-    capture_lex $P1295
-    .const 'Sub' $P1281 = "76_1277356890.79584" 
-    capture_lex $P1281
-    .const 'Sub' $P1268 = "75_1277356890.79584" 
-    capture_lex $P1268
-    .const 'Sub' $P1237 = "74_1277356890.79584" 
-    capture_lex $P1237
-    .const 'Sub' $P1206 = "73_1277356890.79584" 
-    capture_lex $P1206
-    .const 'Sub' $P1190 = "72_1277356890.79584" 
-    capture_lex $P1190
-    .const 'Sub' $P1174 = "71_1277356890.79584" 
-    capture_lex $P1174
-    .const 'Sub' $P1158 = "70_1277356890.79584" 
-    capture_lex $P1158
-    .const 'Sub' $P1142 = "69_1277356890.79584" 
-    capture_lex $P1142
-    .const 'Sub' $P1126 = "68_1277356890.79584" 
-    capture_lex $P1126
-    .const 'Sub' $P1110 = "67_1277356890.79584" 
-    capture_lex $P1110
-    .const 'Sub' $P1094 = "66_1277356890.79584" 
-    capture_lex $P1094
-    .const 'Sub' $P1070 = "65_1277356890.79584" 
-    capture_lex $P1070
-    .const 'Sub' $P1055 = "64_1277356890.79584" 
-    capture_lex $P1055
-    .const 'Sub' $P999 = "63_1277356890.79584" 
-    capture_lex $P999
-    .const 'Sub' $P978 = "62_1277356890.79584" 
+    .const 'Sub' $P1575 = "89_1278500533.96053" 
+    capture_lex $P1575
+    .const 'Sub' $P1543 = "88_1278500533.96053" 
+    capture_lex $P1543
+    .const 'Sub' $P1474 = "84_1278500533.96053" 
+    capture_lex $P1474
+    .const 'Sub' $P1406 = "82_1278500533.96053" 
+    capture_lex $P1406
+    .const 'Sub' $P1332 = "79_1278500533.96053" 
+    capture_lex $P1332
+    .const 'Sub' $P1318 = "78_1278500533.96053" 
+    capture_lex $P1318
+    .const 'Sub' $P1294 = "77_1278500533.96053" 
+    capture_lex $P1294
+    .const 'Sub' $P1276 = "76_1278500533.96053" 
+    capture_lex $P1276
+    .const 'Sub' $P1262 = "75_1278500533.96053" 
+    capture_lex $P1262
+    .const 'Sub' $P1249 = "74_1278500533.96053" 
+    capture_lex $P1249
+    .const 'Sub' $P1218 = "73_1278500533.96053" 
+    capture_lex $P1218
+    .const 'Sub' $P1187 = "72_1278500533.96053" 
+    capture_lex $P1187
+    .const 'Sub' $P1171 = "71_1278500533.96053" 
+    capture_lex $P1171
+    .const 'Sub' $P1155 = "70_1278500533.96053" 
+    capture_lex $P1155
+    .const 'Sub' $P1139 = "69_1278500533.96053" 
+    capture_lex $P1139
+    .const 'Sub' $P1123 = "68_1278500533.96053" 
+    capture_lex $P1123
+    .const 'Sub' $P1107 = "67_1278500533.96053" 
+    capture_lex $P1107
+    .const 'Sub' $P1091 = "66_1278500533.96053" 
+    capture_lex $P1091
+    .const 'Sub' $P1075 = "65_1278500533.96053" 
+    capture_lex $P1075
+    .const 'Sub' $P1051 = "64_1278500533.96053" 
+    capture_lex $P1051
+    .const 'Sub' $P1036 = "63_1278500533.96053" 
+    capture_lex $P1036
+    .const 'Sub' $P978 = "62_1278500533.96053" 
     capture_lex $P978
-    .const 'Sub' $P956 = "61_1277356890.79584" 
-    capture_lex $P956
-    .const 'Sub' $P946 = "60_1277356890.79584" 
-    capture_lex $P946
-    .const 'Sub' $P936 = "59_1277356890.79584" 
-    capture_lex $P936
-    .const 'Sub' $P926 = "58_1277356890.79584" 
-    capture_lex $P926
-    .const 'Sub' $P914 = "57_1277356890.79584" 
-    capture_lex $P914
-    .const 'Sub' $P902 = "56_1277356890.79584" 
-    capture_lex $P902
-    .const 'Sub' $P890 = "55_1277356890.79584" 
-    capture_lex $P890
-    .const 'Sub' $P878 = "54_1277356890.79584" 
-    capture_lex $P878
-    .const 'Sub' $P866 = "53_1277356890.79584" 
-    capture_lex $P866
-    .const 'Sub' $P854 = "52_1277356890.79584" 
-    capture_lex $P854
-    .const 'Sub' $P842 = "51_1277356890.79584" 
-    capture_lex $P842
-    .const 'Sub' $P830 = "50_1277356890.79584" 
-    capture_lex $P830
-    .const 'Sub' $P807 = "49_1277356890.79584" 
-    capture_lex $P807
-    .const 'Sub' $P784 = "48_1277356890.79584" 
-    capture_lex $P784
-    .const 'Sub' $P766 = "47_1277356890.79584" 
-    capture_lex $P766
-    .const 'Sub' $P756 = "46_1277356890.79584" 
-    capture_lex $P756
-    .const 'Sub' $P738 = "45_1277356890.79584" 
-    capture_lex $P738
-    .const 'Sub' $P665 = "43_1277356890.79584" 
-    capture_lex $P665
-    .const 'Sub' $P648 = "42_1277356890.79584" 
-    capture_lex $P648
-    .const 'Sub' $P633 = "41_1277356890.79584" 
-    capture_lex $P633
-    .const 'Sub' $P618 = "40_1277356890.79584" 
-    capture_lex $P618
-    .const 'Sub' $P592 = "39_1277356890.79584" 
-    capture_lex $P592
-    .const 'Sub' $P541 = "37_1277356890.79584" 
-    capture_lex $P541
-    .const 'Sub' $P473 = "35_1277356890.79584" 
-    capture_lex $P473
-    .const 'Sub' $P418 = "32_1277356890.79584" 
-    capture_lex $P418
-    .const 'Sub' $P403 = "31_1277356890.79584" 
-    capture_lex $P403
-    .const 'Sub' $P377 = "29_1277356890.79584" 
-    capture_lex $P377
-    .const 'Sub' $P360 = "28_1277356890.79584" 
-    capture_lex $P360
-    .const 'Sub' $P338 = "27_1277356890.79584" 
-    capture_lex $P338
-    .const 'Sub' $P305 = "26_1277356890.79584" 
+    .const 'Sub' $P957 = "61_1278500533.96053" 
+    capture_lex $P957
+    .const 'Sub' $P935 = "60_1278500533.96053" 
+    capture_lex $P935
+    .const 'Sub' $P925 = "59_1278500533.96053" 
+    capture_lex $P925
+    .const 'Sub' $P915 = "58_1278500533.96053" 
+    capture_lex $P915
+    .const 'Sub' $P905 = "57_1278500533.96053" 
+    capture_lex $P905
+    .const 'Sub' $P893 = "56_1278500533.96053" 
+    capture_lex $P893
+    .const 'Sub' $P881 = "55_1278500533.96053" 
+    capture_lex $P881
+    .const 'Sub' $P869 = "54_1278500533.96053" 
+    capture_lex $P869
+    .const 'Sub' $P857 = "53_1278500533.96053" 
+    capture_lex $P857
+    .const 'Sub' $P845 = "52_1278500533.96053" 
+    capture_lex $P845
+    .const 'Sub' $P833 = "51_1278500533.96053" 
+    capture_lex $P833
+    .const 'Sub' $P821 = "50_1278500533.96053" 
+    capture_lex $P821
+    .const 'Sub' $P809 = "49_1278500533.96053" 
+    capture_lex $P809
+    .const 'Sub' $P786 = "48_1278500533.96053" 
+    capture_lex $P786
+    .const 'Sub' $P763 = "47_1278500533.96053" 
+    capture_lex $P763
+    .const 'Sub' $P745 = "46_1278500533.96053" 
+    capture_lex $P745
+    .const 'Sub' $P735 = "45_1278500533.96053" 
+    capture_lex $P735
+    .const 'Sub' $P717 = "44_1278500533.96053" 
+    capture_lex $P717
+    .const 'Sub' $P644 = "42_1278500533.96053" 
+    capture_lex $P644
+    .const 'Sub' $P627 = "41_1278500533.96053" 
+    capture_lex $P627
+    .const 'Sub' $P612 = "40_1278500533.96053" 
+    capture_lex $P612
+    .const 'Sub' $P597 = "39_1278500533.96053" 
+    capture_lex $P597
+    .const 'Sub' $P571 = "38_1278500533.96053" 
+    capture_lex $P571
+    .const 'Sub' $P520 = "36_1278500533.96053" 
+    capture_lex $P520
+    .const 'Sub' $P452 = "34_1278500533.96053" 
+    capture_lex $P452
+    .const 'Sub' $P397 = "31_1278500533.96053" 
+    capture_lex $P397
+    .const 'Sub' $P382 = "30_1278500533.96053" 
+    capture_lex $P382
+    .const 'Sub' $P356 = "28_1278500533.96053" 
+    capture_lex $P356
+    .const 'Sub' $P339 = "27_1278500533.96053" 
+    capture_lex $P339
+    .const 'Sub' $P305 = "26_1278500533.96053" 
     capture_lex $P305
-    .const 'Sub' $P50 = "13_1277356890.79584" 
+    .const 'Sub' $P50 = "13_1278500533.96053" 
     capture_lex $P50
-    .const 'Sub' $P16 = "12_1277356890.79584" 
+    .const 'Sub' $P16 = "12_1278500533.96053" 
     capture_lex $P16
     get_global $P15, "@MODIFIERS"
     unless_null $P15, vivify_94
@@ -7509,21 +7509,17 @@
     set_global "@MODIFIERS", $P15
   vivify_94:
 .annotate 'line', 494
-    .const 'Sub' $P16 = "12_1277356890.79584" 
+    .const 'Sub' $P16 = "12_1278500533.96053" 
     newclosure $P49, $P16
     .lex "buildsub", $P49
 .annotate 'line', 511
-    .const 'Sub' $P50 = "13_1277356890.79584" 
+    .const 'Sub' $P50 = "13_1278500533.96053" 
     newclosure $P304, $P50
     .lex "capnames", $P304
 .annotate 'line', 577
-    .const 'Sub' $P305 = "26_1277356890.79584" 
+    .const 'Sub' $P305 = "26_1278500533.96053" 
     newclosure $P337, $P305
     .lex "backmod", $P337
-.annotate 'line', 584
-    .const 'Sub' $P338 = "27_1277356890.79584" 
-    newclosure $P358, $P338
-    .lex "subrule_alias", $P358
 .annotate 'line', 4
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -7531,38 +7527,40 @@
     unless $I0 goto ctxsave_done
     $P0."ctxsave"()
   ctxsave_done:
-    get_global $P359, "@MODIFIERS"
+    get_global $P338, "@MODIFIERS"
 .annotate 'line', 487
-    find_lex $P1590, "buildsub"
-    find_lex $P1591, "capnames"
-    find_lex $P1592, "backmod"
-    find_lex $P1593, "subrule_alias"
+    find_lex $P1572, "buildsub"
+    find_lex $P1573, "capnames"
+    find_lex $P1574, "backmod"
+.annotate 'line', 584
+    .const 'Sub' $P1575 = "89_1278500533.96053" 
+    newclosure $P1595, $P1575
 .annotate 'line', 4
-    .return ($P1593)
-    .const 'Sub' $P1595 = "90_1277356890.79584" 
     .return ($P1595)
+    .const 'Sub' $P1597 = "90_1278500533.96053" 
+    .return ($P1597)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "" :load :init :subid("post93") :outer("11_1277356890.79584")
+.sub "" :load :init :subid("post93") :outer("11_1278500533.96053")
 .annotate 'line', 4
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     .local pmc block
     set block, $P14
 .annotate 'line', 7
 
-        $P1598 = new ['ResizablePMCArray']
+        $P1600 = new ['ResizablePMCArray']
         $P0 = new ['Hash']
-        push $P1598, $P0
+        push $P1600, $P0
     
-    set_global "@MODIFIERS", $P1598
+    set_global "@MODIFIERS", $P1600
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "buildsub"  :subid("12_1277356890.79584") :outer("11_1277356890.79584")
+.sub "buildsub"  :subid("12_1278500533.96053") :outer("11_1278500533.96053")
     .param pmc param_19
     .param pmc param_20 :optional
     .param int has_param_20 :opt_flag
@@ -7640,19 +7638,19 @@
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "capnames"  :subid("13_1277356890.79584") :outer("11_1277356890.79584")
+.sub "capnames"  :subid("13_1278500533.96053") :outer("11_1278500533.96053")
     .param pmc param_53
     .param pmc param_54
 .annotate 'line', 511
-    .const 'Sub' $P279 = "24_1277356890.79584" 
+    .const 'Sub' $P279 = "24_1278500533.96053" 
     capture_lex $P279
-    .const 'Sub' $P216 = "21_1277356890.79584" 
+    .const 'Sub' $P216 = "21_1278500533.96053" 
     capture_lex $P216
-    .const 'Sub' $P174 = "19_1277356890.79584" 
+    .const 'Sub' $P174 = "19_1278500533.96053" 
     capture_lex $P174
-    .const 'Sub' $P132 = "17_1277356890.79584" 
+    .const 'Sub' $P132 = "17_1278500533.96053" 
     capture_lex $P132
-    .const 'Sub' $P65 = "14_1277356890.79584" 
+    .const 'Sub' $P65 = "14_1278500533.96053" 
     capture_lex $P65
     new $P52, 'ExceptionHandler'
     set_addr $P52, control_51
@@ -7708,21 +7706,21 @@
     set $S276, $P275
     iseq $I277, $S276, "quant"
     unless $I277, if_274_end
-    .const 'Sub' $P279 = "24_1277356890.79584" 
+    .const 'Sub' $P279 = "24_1278500533.96053" 
     capture_lex $P279
     $P279()
   if_274_end:
     goto if_211_end
   if_211:
 .annotate 'line', 549
-    .const 'Sub' $P216 = "21_1277356890.79584" 
+    .const 'Sub' $P216 = "21_1278500533.96053" 
     capture_lex $P216
     $P216()
   if_211_end:
     goto if_164_end
   if_164:
 .annotate 'line', 536
-    .const 'Sub' $P174 = "19_1277356890.79584" 
+    .const 'Sub' $P174 = "19_1278500533.96053" 
     capture_lex $P174
     $P174()
   if_164_end:
@@ -7742,7 +7740,7 @@
     unless $P126, loop161_done
     shift $P130, $P126
   loop161_redo:
-    .const 'Sub' $P132 = "17_1277356890.79584" 
+    .const 'Sub' $P132 = "17_1278500533.96053" 
     capture_lex $P132
     $P132($P130)
   loop161_next:
@@ -7761,7 +7759,7 @@
     goto if_60_end
   if_60:
 .annotate 'line', 514
-    .const 'Sub' $P65 = "14_1277356890.79584" 
+    .const 'Sub' $P65 = "14_1278500533.96053" 
     capture_lex $P65
     $P65()
   if_60_end:
@@ -7786,9 +7784,9 @@
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "_block278"  :anon :subid("24_1277356890.79584") :outer("13_1277356890.79584")
+.sub "_block278"  :anon :subid("24_1278500533.96053") :outer("13_1278500533.96053")
 .annotate 'line', 566
-    .const 'Sub' $P290 = "25_1277356890.79584" 
+    .const 'Sub' $P290 = "25_1278500533.96053" 
     capture_lex $P290
 .annotate 'line', 567
     $P280 = root_new ['parrot';'Hash']
@@ -7817,7 +7815,7 @@
     unless $P285, loop295_done
     shift $P288, $P285
   loop295_redo:
-    .const 'Sub' $P290 = "25_1277356890.79584" 
+    .const 'Sub' $P290 = "25_1278500533.96053" 
     capture_lex $P290
     $P290($P288)
   loop295_next:
@@ -7847,7 +7845,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block289"  :anon :subid("25_1277356890.79584") :outer("24_1277356890.79584")
+.sub "_block289"  :anon :subid("25_1278500533.96053") :outer("24_1278500533.96053")
     .param pmc param_291
 .annotate 'line', 568
     .lex "$_", param_291
@@ -7868,11 +7866,11 @@
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "_block215"  :anon :subid("21_1277356890.79584") :outer("13_1277356890.79584")
+.sub "_block215"  :anon :subid("21_1278500533.96053") :outer("13_1278500533.96053")
 .annotate 'line', 549
-    .const 'Sub' $P256 = "23_1277356890.79584" 
+    .const 'Sub' $P256 = "23_1278500533.96053" 
     capture_lex $P256
-    .const 'Sub' $P228 = "22_1277356890.79584" 
+    .const 'Sub' $P228 = "22_1278500533.96053" 
     capture_lex $P228
 .annotate 'line', 550
     new $P217, "Undef"
@@ -7907,7 +7905,7 @@
     unless $P223, loop244_done
     shift $P226, $P223
   loop244_redo:
-    .const 'Sub' $P228 = "22_1277356890.79584" 
+    .const 'Sub' $P228 = "22_1278500533.96053" 
     capture_lex $P228
     $P228($P226)
   loop244_next:
@@ -7946,7 +7944,7 @@
     unless $P251, loop269_done
     shift $P254, $P251
   loop269_redo:
-    .const 'Sub' $P256 = "23_1277356890.79584" 
+    .const 'Sub' $P256 = "23_1278500533.96053" 
     capture_lex $P256
     $P256($P254)
   loop269_next:
@@ -7976,7 +7974,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block227"  :anon :subid("22_1277356890.79584") :outer("21_1277356890.79584")
+.sub "_block227"  :anon :subid("22_1278500533.96053") :outer("21_1278500533.96053")
     .param pmc param_229
 .annotate 'line', 556
     .lex "$_", param_229
@@ -8016,7 +8014,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block255"  :anon :subid("23_1277356890.79584") :outer("21_1277356890.79584")
+.sub "_block255"  :anon :subid("23_1278500533.96053") :outer("21_1278500533.96053")
     .param pmc param_257
 .annotate 'line', 561
     .lex "$_", param_257
@@ -8057,9 +8055,9 @@
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "_block173"  :anon :subid("19_1277356890.79584") :outer("13_1277356890.79584")
+.sub "_block173"  :anon :subid("19_1278500533.96053") :outer("13_1278500533.96053")
 .annotate 'line', 536
-    .const 'Sub' $P192 = "20_1277356890.79584" 
+    .const 'Sub' $P192 = "20_1278500533.96053" 
     capture_lex $P192
 .annotate 'line', 537
     new $P175, "Undef"
@@ -8102,7 +8100,7 @@
     unless $P187, loop208_done
     shift $P190, $P187
   loop208_redo:
-    .const 'Sub' $P192 = "20_1277356890.79584" 
+    .const 'Sub' $P192 = "20_1278500533.96053" 
     capture_lex $P192
     $P192($P190)
   loop208_next:
@@ -8122,7 +8120,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block191"  :anon :subid("20_1277356890.79584") :outer("19_1277356890.79584")
+.sub "_block191"  :anon :subid("20_1278500533.96053") :outer("19_1278500533.96053")
     .param pmc param_193
 .annotate 'line', 544
     .lex "$_", param_193
@@ -8163,10 +8161,10 @@
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "_block131"  :anon :subid("17_1277356890.79584") :outer("13_1277356890.79584")
+.sub "_block131"  :anon :subid("17_1278500533.96053") :outer("13_1278500533.96053")
     .param pmc param_134
 .annotate 'line', 528
-    .const 'Sub' $P143 = "18_1277356890.79584" 
+    .const 'Sub' $P143 = "18_1278500533.96053" 
     capture_lex $P143
 .annotate 'line', 529
     $P133 = root_new ['parrot';'Hash']
@@ -8189,7 +8187,7 @@
     unless $P138, loop156_done
     shift $P141, $P138
   loop156_redo:
-    .const 'Sub' $P143 = "18_1277356890.79584" 
+    .const 'Sub' $P143 = "18_1278500533.96053" 
     capture_lex $P143
     $P143($P141)
   loop156_next:
@@ -8219,7 +8217,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block142"  :anon :subid("18_1277356890.79584") :outer("17_1277356890.79584")
+.sub "_block142"  :anon :subid("18_1278500533.96053") :outer("17_1278500533.96053")
     .param pmc param_144
 .annotate 'line', 530
     .lex "$_", param_144
@@ -8260,9 +8258,9 @@
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "_block64"  :anon :subid("14_1277356890.79584") :outer("13_1277356890.79584")
+.sub "_block64"  :anon :subid("14_1278500533.96053") :outer("13_1278500533.96053")
 .annotate 'line', 514
-    .const 'Sub' $P74 = "15_1277356890.79584" 
+    .const 'Sub' $P74 = "15_1278500533.96053" 
     capture_lex $P74
 .annotate 'line', 515
     new $P66, "Undef"
@@ -8283,7 +8281,7 @@
     unless $P68, loop118_done
     shift $P72, $P68
   loop118_redo:
-    .const 'Sub' $P74 = "15_1277356890.79584" 
+    .const 'Sub' $P74 = "15_1278500533.96053" 
     capture_lex $P74
     $P74($P72)
   loop118_next:
@@ -8307,10 +8305,10 @@
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "_block73"  :anon :subid("15_1277356890.79584") :outer("14_1277356890.79584")
+.sub "_block73"  :anon :subid("15_1278500533.96053") :outer("14_1278500533.96053")
     .param pmc param_76
 .annotate 'line', 516
-    .const 'Sub' $P85 = "16_1277356890.79584" 
+    .const 'Sub' $P85 = "16_1278500533.96053" 
     capture_lex $P85
 .annotate 'line', 517
     $P75 = root_new ['parrot';'Hash']
@@ -8333,7 +8331,7 @@
     unless $P80, loop105_done
     shift $P83, $P80
   loop105_redo:
-    .const 'Sub' $P85 = "16_1277356890.79584" 
+    .const 'Sub' $P85 = "16_1278500533.96053" 
     capture_lex $P85
     $P85($P83)
   loop105_next:
@@ -8382,7 +8380,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block84"  :anon :subid("16_1277356890.79584") :outer("15_1277356890.79584")
+.sub "_block84"  :anon :subid("16_1278500533.96053") :outer("15_1278500533.96053")
     .param pmc param_86
 .annotate 'line', 518
     .lex "$_", param_86
@@ -8442,7 +8440,7 @@
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backmod"  :subid("26_1277356890.79584") :outer("11_1277356890.79584")
+.sub "backmod"  :subid("26_1278500533.96053") :outer("11_1278500533.96053")
     .param pmc param_308
     .param pmc param_309
 .annotate 'line', 577
@@ -8517,3106 +8515,3064 @@
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "subrule_alias"  :subid("27_1277356890.79584") :outer("11_1277356890.79584")
-    .param pmc param_341
+.sub "arg"  :subid("27_1278500533.96053") :method :outer("11_1278500533.96053")
     .param pmc param_342
-.annotate 'line', 584
-    new $P340, 'ExceptionHandler'
-    set_addr $P340, control_339
-    $P340."handle_types"(.CONTROL_RETURN)
-    push_eh $P340
-    .lex "$past", param_341
-    .lex "$name", param_342
-.annotate 'line', 585
-    find_lex $P344, "$past"
-    $S345 = $P344."name"()
-    isgt $I346, $S345, ""
-    if $I346, if_343
-.annotate 'line', 586
-    find_lex $P353, "$past"
-    find_lex $P354, "$name"
-    $P353."name"($P354)
-    goto if_343_end
-  if_343:
-.annotate 'line', 585
-    find_lex $P347, "$past"
-    find_lex $P348, "$name"
-    concat $P349, $P348, "="
-    find_lex $P350, "$past"
-    $S351 = $P350."name"()
-    concat $P352, $P349, $S351
-    $P347."name"($P352)
-  if_343_end:
-.annotate 'line', 587
-    find_lex $P355, "$past"
-    $P356 = $P355."subtype"("capture")
-.annotate 'line', 584
-    .return ($P356)
-  control_339:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P357, exception, "payload"
-    .return ($P357)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Actions"]
-.include "except_types.pasm"
-.sub "arg"  :subid("28_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_363
 .annotate 'line', 14
-    new $P362, 'ExceptionHandler'
-    set_addr $P362, control_361
-    $P362."handle_types"(.CONTROL_RETURN)
-    push_eh $P362
+    new $P341, 'ExceptionHandler'
+    set_addr $P341, control_340
+    $P341."handle_types"(.CONTROL_RETURN)
+    push_eh $P341
     .lex "self", self
-    .lex "$/", param_363
+    .lex "$/", param_342
 .annotate 'line', 15
-    find_lex $P364, "$/"
-    find_lex $P367, "$/"
-    unless_null $P367, vivify_138
-    $P367 = root_new ['parrot';'Hash']
+    find_lex $P343, "$/"
+    find_lex $P346, "$/"
+    unless_null $P346, vivify_138
+    $P346 = root_new ['parrot';'Hash']
   vivify_138:
-    set $P368, $P367["quote_EXPR"]
-    unless_null $P368, vivify_139
-    new $P368, "Undef"
+    set $P347, $P346["quote_EXPR"]
+    unless_null $P347, vivify_139
+    new $P347, "Undef"
   vivify_139:
-    if $P368, if_366
-    find_lex $P372, "$/"
-    unless_null $P372, vivify_140
-    $P372 = root_new ['parrot';'Hash']
+    if $P347, if_345
+    find_lex $P351, "$/"
+    unless_null $P351, vivify_140
+    $P351 = root_new ['parrot';'Hash']
   vivify_140:
-    set $P373, $P372["val"]
-    unless_null $P373, vivify_141
-    new $P373, "Undef"
+    set $P352, $P351["val"]
+    unless_null $P352, vivify_141
+    new $P352, "Undef"
   vivify_141:
-    set $N374, $P373
-    new $P365, 'Float'
-    set $P365, $N374
-    goto if_366_end
-  if_366:
-    find_lex $P369, "$/"
-    unless_null $P369, vivify_142
-    $P369 = root_new ['parrot';'Hash']
+    set $N353, $P352
+    new $P344, 'Float'
+    set $P344, $N353
+    goto if_345_end
+  if_345:
+    find_lex $P348, "$/"
+    unless_null $P348, vivify_142
+    $P348 = root_new ['parrot';'Hash']
   vivify_142:
-    set $P370, $P369["quote_EXPR"]
-    unless_null $P370, vivify_143
-    new $P370, "Undef"
+    set $P349, $P348["quote_EXPR"]
+    unless_null $P349, vivify_143
+    new $P349, "Undef"
   vivify_143:
-    $P371 = $P370."ast"()
-    set $P365, $P371
-  if_366_end:
-    $P375 = $P364."!make"($P365)
+    $P350 = $P349."ast"()
+    set $P344, $P350
+  if_345_end:
+    $P354 = $P343."!make"($P344)
 .annotate 'line', 14
-    .return ($P375)
-  control_361:
+    .return ($P354)
+  control_340:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P376, exception, "payload"
-    .return ($P376)
+    getattribute $P355, exception, "payload"
+    .return ($P355)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "arglist"  :subid("29_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_380
+.sub "arglist"  :subid("28_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_359
 .annotate 'line', 18
-    .const 'Sub' $P390 = "30_1277356890.79584" 
-    capture_lex $P390
-    new $P379, 'ExceptionHandler'
-    set_addr $P379, control_378
-    $P379."handle_types"(.CONTROL_RETURN)
-    push_eh $P379
+    .const 'Sub' $P369 = "29_1278500533.96053" 
+    capture_lex $P369
+    new $P358, 'ExceptionHandler'
+    set_addr $P358, control_357
+    $P358."handle_types"(.CONTROL_RETURN)
+    push_eh $P358
     .lex "self", self
-    .lex "$/", param_380
+    .lex "$/", param_359
 .annotate 'line', 19
-    new $P381, "Undef"
-    .lex "$past", $P381
-    get_hll_global $P382, ["PAST"], "Op"
-    $P383 = $P382."new"("list" :named("pasttype"))
-    store_lex "$past", $P383
+    new $P360, "Undef"
+    .lex "$past", $P360
+    get_hll_global $P361, ["PAST"], "Op"
+    $P362 = $P361."new"("list" :named("pasttype"))
+    store_lex "$past", $P362
 .annotate 'line', 20
-    find_lex $P385, "$/"
-    unless_null $P385, vivify_144
-    $P385 = root_new ['parrot';'Hash']
+    find_lex $P364, "$/"
+    unless_null $P364, vivify_144
+    $P364 = root_new ['parrot';'Hash']
   vivify_144:
-    set $P386, $P385["arg"]
-    unless_null $P386, vivify_145
-    new $P386, "Undef"
+    set $P365, $P364["arg"]
+    unless_null $P365, vivify_145
+    new $P365, "Undef"
   vivify_145:
-    defined $I387, $P386
-    unless $I387, for_undef_146
-    iter $P384, $P386
-    new $P397, 'ExceptionHandler'
-    set_addr $P397, loop396_handler
-    $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_1277356890.79584" 
-    capture_lex $P390
-    $P390($P388)
-  loop396_next:
-    goto loop396_test
-  loop396_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P398, exception, 'type'
-    eq $P398, .CONTROL_LOOP_NEXT, loop396_next
-    eq $P398, .CONTROL_LOOP_REDO, loop396_redo
-  loop396_done:
+    defined $I366, $P365
+    unless $I366, for_undef_146
+    iter $P363, $P365
+    new $P376, 'ExceptionHandler'
+    set_addr $P376, loop375_handler
+    $P376."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P376
+  loop375_test:
+    unless $P363, loop375_done
+    shift $P367, $P363
+  loop375_redo:
+    .const 'Sub' $P369 = "29_1278500533.96053" 
+    capture_lex $P369
+    $P369($P367)
+  loop375_next:
+    goto loop375_test
+  loop375_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P377, exception, 'type'
+    eq $P377, .CONTROL_LOOP_NEXT, loop375_next
+    eq $P377, .CONTROL_LOOP_REDO, loop375_redo
+  loop375_done:
     pop_eh 
   for_undef_146:
 .annotate 'line', 21
-    find_lex $P399, "$/"
-    find_lex $P400, "$past"
-    $P401 = $P399."!make"($P400)
+    find_lex $P378, "$/"
+    find_lex $P379, "$past"
+    $P380 = $P378."!make"($P379)
 .annotate 'line', 18
-    .return ($P401)
-  control_378:
+    .return ($P380)
+  control_357:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P402, exception, "payload"
-    .return ($P402)
+    getattribute $P381, exception, "payload"
+    .return ($P381)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block389"  :anon :subid("30_1277356890.79584") :outer("29_1277356890.79584")
-    .param pmc param_391
+.sub "_block368"  :anon :subid("29_1278500533.96053") :outer("28_1278500533.96053")
+    .param pmc param_370
 .annotate 'line', 20
-    .lex "$_", param_391
-    find_lex $P392, "$past"
-    find_lex $P393, "$_"
-    $P394 = $P393."ast"()
-    $P395 = $P392."push"($P394)
-    .return ($P395)
+    .lex "$_", param_370
+    find_lex $P371, "$past"
+    find_lex $P372, "$_"
+    $P373 = $P372."ast"()
+    $P374 = $P371."push"($P373)
+    .return ($P374)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "TOP"  :subid("31_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_406
+.sub "TOP"  :subid("30_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_385
 .annotate 'line', 24
-    new $P405, 'ExceptionHandler'
-    set_addr $P405, control_404
-    $P405."handle_types"(.CONTROL_RETURN)
-    push_eh $P405
+    new $P384, 'ExceptionHandler'
+    set_addr $P384, control_383
+    $P384."handle_types"(.CONTROL_RETURN)
+    push_eh $P384
     .lex "self", self
-    .lex "$/", param_406
+    .lex "$/", param_385
 .annotate 'line', 25
-    new $P407, "Undef"
-    .lex "$past", $P407
-    find_lex $P408, "$/"
-    unless_null $P408, vivify_147
-    $P408 = root_new ['parrot';'Hash']
+    new $P386, "Undef"
+    .lex "$past", $P386
+    find_lex $P387, "$/"
+    unless_null $P387, vivify_147
+    $P387 = root_new ['parrot';'Hash']
   vivify_147:
-    set $P409, $P408["nibbler"]
-    unless_null $P409, vivify_148
-    new $P409, "Undef"
+    set $P388, $P387["nibbler"]
+    unless_null $P388, vivify_148
+    new $P388, "Undef"
   vivify_148:
-    $P410 = $P409."ast"()
-    $P411 = "buildsub"($P410)
-    store_lex "$past", $P411
+    $P389 = $P388."ast"()
+    $P390 = "buildsub"($P389)
+    store_lex "$past", $P390
 .annotate 'line', 26
-    find_lex $P412, "$past"
-    find_lex $P413, "$/"
-    $P412."node"($P413)
+    find_lex $P391, "$past"
+    find_lex $P392, "$/"
+    $P391."node"($P392)
 .annotate 'line', 27
-    find_lex $P414, "$/"
-    find_lex $P415, "$past"
-    $P416 = $P414."!make"($P415)
+    find_lex $P393, "$/"
+    find_lex $P394, "$past"
+    $P395 = $P393."!make"($P394)
 .annotate 'line', 24
-    .return ($P416)
-  control_404:
+    .return ($P395)
+  control_383:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P417, exception, "payload"
-    .return ($P417)
+    getattribute $P396, exception, "payload"
+    .return ($P396)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "nibbler"  :subid("32_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_421
-    .param pmc param_422 :optional
-    .param int has_param_422 :opt_flag
+.sub "nibbler"  :subid("31_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_400
+    .param pmc param_401 :optional
+    .param int has_param_401 :opt_flag
 .annotate 'line', 30
-    .const 'Sub' $P456 = "34_1277356890.79584" 
-    capture_lex $P456
-    .const 'Sub' $P430 = "33_1277356890.79584" 
-    capture_lex $P430
-    new $P420, 'ExceptionHandler'
-    set_addr $P420, control_419
-    $P420."handle_types"(.CONTROL_RETURN)
-    push_eh $P420
-    .lex "self", self
-    .lex "$/", param_421
-    if has_param_422, optparam_149
-    new $P423, "Undef"
-    set param_422, $P423
+    .const 'Sub' $P435 = "33_1278500533.96053" 
+    capture_lex $P435
+    .const 'Sub' $P409 = "32_1278500533.96053" 
+    capture_lex $P409
+    new $P399, 'ExceptionHandler'
+    set_addr $P399, control_398
+    $P399."handle_types"(.CONTROL_RETURN)
+    push_eh $P399
+    .lex "self", self
+    .lex "$/", param_400
+    if has_param_401, optparam_149
+    new $P402, "Undef"
+    set param_401, $P402
   optparam_149:
-    .lex "$key", param_422
+    .lex "$key", param_401
 .annotate 'line', 42
-    new $P424, "Undef"
-    .lex "$past", $P424
+    new $P403, "Undef"
+    .lex "$past", $P403
 .annotate 'line', 31
-    find_lex $P426, "$key"
-    set $S427, $P426
-    iseq $I428, $S427, "open"
-    unless $I428, if_425_end
-    .const 'Sub' $P430 = "33_1277356890.79584" 
-    capture_lex $P430
-    $P430()
-  if_425_end:
+    find_lex $P405, "$key"
+    set $S406, $P405
+    iseq $I407, $S406, "open"
+    unless $I407, if_404_end
+    .const 'Sub' $P409 = "32_1278500533.96053" 
+    capture_lex $P409
+    $P409()
+  if_404_end:
 .annotate 'line', 41
-    get_global $P440, "@MODIFIERS"
-    $P440."shift"()
-    find_lex $P441, "$past"
+    get_global $P419, "@MODIFIERS"
+    $P419."shift"()
+    find_lex $P420, "$past"
 .annotate 'line', 43
-    find_lex $P443, "$/"
-    unless_null $P443, vivify_152
-    $P443 = root_new ['parrot';'Hash']
+    find_lex $P422, "$/"
+    unless_null $P422, vivify_152
+    $P422 = root_new ['parrot';'Hash']
   vivify_152:
-    set $P444, $P443["termish"]
-    unless_null $P444, vivify_153
-    new $P444, "Undef"
+    set $P423, $P422["termish"]
+    unless_null $P423, vivify_153
+    new $P423, "Undef"
   vivify_153:
-    set $N445, $P444
-    isgt $I446, $N445, 1.0
-    if $I446, if_442
+    set $N424, $P423
+    isgt $I425, $N424, 1.0
+    if $I425, if_421
 .annotate 'line', 50
-    find_lex $P465, "$/"
-    unless_null $P465, vivify_154
-    $P465 = root_new ['parrot';'Hash']
+    find_lex $P444, "$/"
+    unless_null $P444, vivify_154
+    $P444 = root_new ['parrot';'Hash']
   vivify_154:
-    set $P466, $P465["termish"]
-    unless_null $P466, vivify_155
-    $P466 = root_new ['parrot';'ResizablePMCArray']
+    set $P445, $P444["termish"]
+    unless_null $P445, vivify_155
+    $P445 = root_new ['parrot';'ResizablePMCArray']
   vivify_155:
-    set $P467, $P466[0]
-    unless_null $P467, vivify_156
-    new $P467, "Undef"
+    set $P446, $P445[0]
+    unless_null $P446, vivify_156
+    new $P446, "Undef"
   vivify_156:
-    $P468 = $P467."ast"()
-    store_lex "$past", $P468
+    $P447 = $P446."ast"()
+    store_lex "$past", $P447
 .annotate 'line', 49
-    goto if_442_end
-  if_442:
+    goto if_421_end
+  if_421:
 .annotate 'line', 44
-    get_hll_global $P447, ["PAST"], "Regex"
-    find_lex $P448, "$/"
-    $P449 = $P447."new"("alt" :named("pasttype"), $P448 :named("node"))
-    store_lex "$past", $P449
+    get_hll_global $P426, ["PAST"], "Regex"
+    find_lex $P427, "$/"
+    $P428 = $P426."new"("alt" :named("pasttype"), $P427 :named("node"))
+    store_lex "$past", $P428
 .annotate 'line', 45
-    find_lex $P451, "$/"
-    unless_null $P451, vivify_157
-    $P451 = root_new ['parrot';'Hash']
+    find_lex $P430, "$/"
+    unless_null $P430, vivify_157
+    $P430 = root_new ['parrot';'Hash']
   vivify_157:
-    set $P452, $P451["termish"]
-    unless_null $P452, vivify_158
-    new $P452, "Undef"
+    set $P431, $P430["termish"]
+    unless_null $P431, vivify_158
+    new $P431, "Undef"
   vivify_158:
-    defined $I453, $P452
-    unless $I453, for_undef_159
-    iter $P450, $P452
-    new $P463, 'ExceptionHandler'
-    set_addr $P463, loop462_handler
-    $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_1277356890.79584" 
-    capture_lex $P456
-    $P456($P454)
-  loop462_next:
-    goto loop462_test
-  loop462_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P464, exception, 'type'
-    eq $P464, .CONTROL_LOOP_NEXT, loop462_next
-    eq $P464, .CONTROL_LOOP_REDO, loop462_redo
-  loop462_done:
+    defined $I432, $P431
+    unless $I432, for_undef_159
+    iter $P429, $P431
+    new $P442, 'ExceptionHandler'
+    set_addr $P442, loop441_handler
+    $P442."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P442
+  loop441_test:
+    unless $P429, loop441_done
+    shift $P433, $P429
+  loop441_redo:
+    .const 'Sub' $P435 = "33_1278500533.96053" 
+    capture_lex $P435
+    $P435($P433)
+  loop441_next:
+    goto loop441_test
+  loop441_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P443, exception, 'type'
+    eq $P443, .CONTROL_LOOP_NEXT, loop441_next
+    eq $P443, .CONTROL_LOOP_REDO, loop441_redo
+  loop441_done:
     pop_eh 
   for_undef_159:
-  if_442_end:
+  if_421_end:
 .annotate 'line', 52
-    find_lex $P469, "$/"
-    find_lex $P470, "$past"
-    $P471 = $P469."!make"($P470)
+    find_lex $P448, "$/"
+    find_lex $P449, "$past"
+    $P450 = $P448."!make"($P449)
 .annotate 'line', 30
-    .return ($P471)
-  control_419:
+    .return ($P450)
+  control_398:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P472, exception, "payload"
-    .return ($P472)
+    getattribute $P451, exception, "payload"
+    .return ($P451)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "_block429"  :anon :subid("33_1277356890.79584") :outer("32_1277356890.79584")
+.sub "_block408"  :anon :subid("32_1278500533.96053") :outer("31_1278500533.96053")
 .annotate 'line', 32
-    $P431 = root_new ['parrot';'Hash']
-    .lex "%old", $P431
+    $P410 = root_new ['parrot';'Hash']
+    .lex "%old", $P410
 .annotate 'line', 33
-    $P432 = root_new ['parrot';'Hash']
-    .lex "%new", $P432
+    $P411 = root_new ['parrot';'Hash']
+    .lex "%new", $P411
 .annotate 'line', 32
-    get_global $P433, "@MODIFIERS"
-    unless_null $P433, vivify_150
-    $P433 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P412, "@MODIFIERS"
+    unless_null $P412, vivify_150
+    $P412 = root_new ['parrot';'ResizablePMCArray']
   vivify_150:
-    set $P434, $P433[0]
-    unless_null $P434, vivify_151
-    new $P434, "Undef"
+    set $P413, $P412[0]
+    unless_null $P413, vivify_151
+    new $P413, "Undef"
   vivify_151:
-    store_lex "%old", $P434
+    store_lex "%old", $P413
 .annotate 'line', 33
 
                        $P0 = find_lex '%old'
-                       $P435 = clone $P0
+                       $P414 = clone $P0
                    
-    store_lex "%new", $P435
+    store_lex "%new", $P414
 .annotate 'line', 37
-    get_global $P436, "@MODIFIERS"
-    find_lex $P437, "%new"
-    $P436."unshift"($P437)
+    get_global $P415, "@MODIFIERS"
+    find_lex $P416, "%new"
+    $P415."unshift"($P416)
 .annotate 'line', 38
-    new $P438, "Exception"
-    set $P438['type'], .CONTROL_RETURN
-    new $P439, "Integer"
-    assign $P439, 1
-    setattribute $P438, 'payload', $P439
-    throw $P438
+    new $P417, "Exception"
+    set $P417['type'], .CONTROL_RETURN
+    new $P418, "Integer"
+    assign $P418, 1
+    setattribute $P417, 'payload', $P418
+    throw $P417
 .annotate 'line', 31
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block455"  :anon :subid("34_1277356890.79584") :outer("32_1277356890.79584")
-    .param pmc param_457
+.sub "_block434"  :anon :subid("33_1278500533.96053") :outer("31_1278500533.96053")
+    .param pmc param_436
 .annotate 'line', 45
-    .lex "$_", param_457
+    .lex "$_", param_436
 .annotate 'line', 46
-    find_lex $P458, "$past"
-    find_lex $P459, "$_"
-    $P460 = $P459."ast"()
-    $P461 = $P458."push"($P460)
+    find_lex $P437, "$past"
+    find_lex $P438, "$_"
+    $P439 = $P438."ast"()
+    $P440 = $P437."push"($P439)
 .annotate 'line', 45
-    .return ($P461)
+    .return ($P440)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "termish"  :subid("35_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_476
+.sub "termish"  :subid("34_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_455
 .annotate 'line', 55
-    .const 'Sub' $P489 = "36_1277356890.79584" 
-    capture_lex $P489
-    new $P475, 'ExceptionHandler'
-    set_addr $P475, control_474
-    $P475."handle_types"(.CONTROL_RETURN)
-    push_eh $P475
+    .const 'Sub' $P468 = "35_1278500533.96053" 
+    capture_lex $P468
+    new $P454, 'ExceptionHandler'
+    set_addr $P454, control_453
+    $P454."handle_types"(.CONTROL_RETURN)
+    push_eh $P454
     .lex "self", self
-    .lex "$/", param_476
+    .lex "$/", param_455
 .annotate 'line', 56
-    new $P477, "Undef"
-    .lex "$past", $P477
+    new $P456, "Undef"
+    .lex "$past", $P456
 .annotate 'line', 57
-    new $P478, "Undef"
-    .lex "$lastlit", $P478
+    new $P457, "Undef"
+    .lex "$lastlit", $P457
 .annotate 'line', 56
-    get_hll_global $P479, ["PAST"], "Regex"
-    find_lex $P480, "$/"
-    $P481 = $P479."new"("concat" :named("pasttype"), $P480 :named("node"))
-    store_lex "$past", $P481
+    get_hll_global $P458, ["PAST"], "Regex"
+    find_lex $P459, "$/"
+    $P460 = $P458."new"("concat" :named("pasttype"), $P459 :named("node"))
+    store_lex "$past", $P460
 .annotate 'line', 57
-    new $P482, "Integer"
-    assign $P482, 0
-    store_lex "$lastlit", $P482
+    new $P461, "Integer"
+    assign $P461, 0
+    store_lex "$lastlit", $P461
 .annotate 'line', 58
-    find_lex $P484, "$/"
-    unless_null $P484, vivify_160
-    $P484 = root_new ['parrot';'Hash']
+    find_lex $P463, "$/"
+    unless_null $P463, vivify_160
+    $P463 = root_new ['parrot';'Hash']
   vivify_160:
-    set $P485, $P484["noun"]
-    unless_null $P485, vivify_161
-    new $P485, "Undef"
+    set $P464, $P463["noun"]
+    unless_null $P464, vivify_161
+    new $P464, "Undef"
   vivify_161:
-    defined $I486, $P485
-    unless $I486, for_undef_162
-    iter $P483, $P485
-    new $P535, 'ExceptionHandler'
-    set_addr $P535, loop534_handler
-    $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_1277356890.79584" 
-    capture_lex $P489
-    $P489($P487)
-  loop534_next:
-    goto loop534_test
-  loop534_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P536, exception, 'type'
-    eq $P536, .CONTROL_LOOP_NEXT, loop534_next
-    eq $P536, .CONTROL_LOOP_REDO, loop534_redo
-  loop534_done:
+    defined $I465, $P464
+    unless $I465, for_undef_162
+    iter $P462, $P464
+    new $P514, 'ExceptionHandler'
+    set_addr $P514, loop513_handler
+    $P514."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P514
+  loop513_test:
+    unless $P462, loop513_done
+    shift $P466, $P462
+  loop513_redo:
+    .const 'Sub' $P468 = "35_1278500533.96053" 
+    capture_lex $P468
+    $P468($P466)
+  loop513_next:
+    goto loop513_test
+  loop513_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P515, exception, 'type'
+    eq $P515, .CONTROL_LOOP_NEXT, loop513_next
+    eq $P515, .CONTROL_LOOP_REDO, loop513_redo
+  loop513_done:
     pop_eh 
   for_undef_162:
 .annotate 'line', 73
-    find_lex $P537, "$/"
-    find_lex $P538, "$past"
-    $P539 = $P537."!make"($P538)
+    find_lex $P516, "$/"
+    find_lex $P517, "$past"
+    $P518 = $P516."!make"($P517)
 .annotate 'line', 55
-    .return ($P539)
-  control_474:
+    .return ($P518)
+  control_453:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P540, exception, "payload"
-    .return ($P540)
+    getattribute $P519, exception, "payload"
+    .return ($P519)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block488"  :anon :subid("36_1277356890.79584") :outer("35_1277356890.79584")
-    .param pmc param_491
+.sub "_block467"  :anon :subid("35_1278500533.96053") :outer("34_1278500533.96053")
+    .param pmc param_470
 .annotate 'line', 59
-    new $P490, "Undef"
-    .lex "$ast", $P490
-    .lex "$_", param_491
-    find_lex $P492, "$_"
-    $P493 = $P492."ast"()
-    store_lex "$ast", $P493
+    new $P469, "Undef"
+    .lex "$ast", $P469
+    .lex "$_", param_470
+    find_lex $P471, "$_"
+    $P472 = $P471."ast"()
+    store_lex "$ast", $P472
 .annotate 'line', 60
-    find_lex $P496, "$ast"
-    if $P496, if_495
-    set $P494, $P496
-    goto if_495_end
-  if_495:
+    find_lex $P475, "$ast"
+    if $P475, if_474
+    set $P473, $P475
+    goto if_474_end
+  if_474:
 .annotate 'line', 61
-    find_lex $P503, "$lastlit"
-    if $P503, if_502
-    set $P501, $P503
-    goto if_502_end
-  if_502:
-    find_lex $P504, "$ast"
-    $S505 = $P504."pasttype"()
-    iseq $I506, $S505, "literal"
-    new $P501, 'Integer'
-    set $P501, $I506
-  if_502_end:
-    if $P501, if_500
-    set $P499, $P501
-    goto if_500_end
-  if_500:
+    find_lex $P482, "$lastlit"
+    if $P482, if_481
+    set $P480, $P482
+    goto if_481_end
+  if_481:
+    find_lex $P483, "$ast"
+    $S484 = $P483."pasttype"()
+    iseq $I485, $S484, "literal"
+    new $P480, 'Integer'
+    set $P480, $I485
+  if_481_end:
+    if $P480, if_479
+    set $P478, $P480
+    goto if_479_end
+  if_479:
 .annotate 'line', 62
-    get_hll_global $P507, ["PAST"], "Node"
-    find_lex $P508, "$ast"
-    unless_null $P508, vivify_163
-    $P508 = root_new ['parrot';'ResizablePMCArray']
+    get_hll_global $P486, ["PAST"], "Node"
+    find_lex $P487, "$ast"
+    unless_null $P487, vivify_163
+    $P487 = root_new ['parrot';'ResizablePMCArray']
   vivify_163:
-    set $P509, $P508[0]
-    unless_null $P509, vivify_164
-    new $P509, "Undef"
+    set $P488, $P487[0]
+    unless_null $P488, vivify_164
+    new $P488, "Undef"
   vivify_164:
-    $P510 = $P507."ACCEPTS"($P509)
-    isfalse $I511, $P510
-    new $P499, 'Integer'
-    set $P499, $I511
-  if_500_end:
-    if $P499, if_498
+    $P489 = $P486."ACCEPTS"($P488)
+    isfalse $I490, $P489
+    new $P478, 'Integer'
+    set $P478, $I490
+  if_479_end:
+    if $P478, if_477
 .annotate 'line', 66
-    find_lex $P518, "$past"
-    find_lex $P519, "$ast"
-    $P518."push"($P519)
+    find_lex $P497, "$past"
+    find_lex $P498, "$ast"
+    $P497."push"($P498)
 .annotate 'line', 67
-    find_lex $P524, "$ast"
-    $S525 = $P524."pasttype"()
-    iseq $I526, $S525, "literal"
-    if $I526, if_523
-    new $P522, 'Integer'
-    set $P522, $I526
-    goto if_523_end
-  if_523:
+    find_lex $P503, "$ast"
+    $S504 = $P503."pasttype"()
+    iseq $I505, $S504, "literal"
+    if $I505, if_502
+    new $P501, 'Integer'
+    set $P501, $I505
+    goto if_502_end
+  if_502:
 .annotate 'line', 68
-    get_hll_global $P527, ["PAST"], "Node"
-    find_lex $P528, "$ast"
-    unless_null $P528, vivify_165
-    $P528 = root_new ['parrot';'ResizablePMCArray']
+    get_hll_global $P506, ["PAST"], "Node"
+    find_lex $P507, "$ast"
+    unless_null $P507, vivify_165
+    $P507 = root_new ['parrot';'ResizablePMCArray']
   vivify_165:
-    set $P529, $P528[0]
-    unless_null $P529, vivify_166
-    new $P529, "Undef"
+    set $P508, $P507[0]
+    unless_null $P508, vivify_166
+    new $P508, "Undef"
   vivify_166:
-    $P530 = $P527."ACCEPTS"($P529)
-    isfalse $I531, $P530
-    new $P522, 'Integer'
-    set $P522, $I531
-  if_523_end:
-    if $P522, if_521
-    new $P533, "Integer"
-    assign $P533, 0
-    set $P520, $P533
-    goto if_521_end
-  if_521:
-    find_lex $P532, "$ast"
-    set $P520, $P532
-  if_521_end:
+    $P509 = $P506."ACCEPTS"($P508)
+    isfalse $I510, $P509
+    new $P501, 'Integer'
+    set $P501, $I510
+  if_502_end:
+    if $P501, if_500
+    new $P512, "Integer"
+    assign $P512, 0
+    set $P499, $P512
+    goto if_500_end
+  if_500:
+    find_lex $P511, "$ast"
+    set $P499, $P511
+  if_500_end:
 .annotate 'line', 69
-    store_lex "$lastlit", $P520
+    store_lex "$lastlit", $P499
 .annotate 'line', 65
-    set $P497, $P520
+    set $P476, $P499
 .annotate 'line', 62
-    goto if_498_end
-  if_498:
+    goto if_477_end
+  if_477:
 .annotate 'line', 63
-    find_lex $P512, "$lastlit"
-    unless_null $P512, vivify_167
-    $P512 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P491, "$lastlit"
+    unless_null $P491, vivify_167
+    $P491 = root_new ['parrot';'ResizablePMCArray']
   vivify_167:
-    set $P513, $P512[0]
-    unless_null $P513, vivify_168
-    new $P513, "Undef"
+    set $P492, $P491[0]
+    unless_null $P492, vivify_168
+    new $P492, "Undef"
   vivify_168:
-    find_lex $P514, "$ast"
-    unless_null $P514, vivify_169
-    $P514 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P493, "$ast"
+    unless_null $P493, vivify_169
+    $P493 = root_new ['parrot';'ResizablePMCArray']
   vivify_169:
-    set $P515, $P514[0]
-    unless_null $P515, vivify_170
-    new $P515, "Undef"
+    set $P494, $P493[0]
+    unless_null $P494, vivify_170
+    new $P494, "Undef"
   vivify_170:
-    concat $P516, $P513, $P515
-    find_lex $P517, "$lastlit"
-    unless_null $P517, vivify_171
-    $P517 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$lastlit", $P517
+    concat $P495, $P492, $P494
+    find_lex $P496, "$lastlit"
+    unless_null $P496, vivify_171
+    $P496 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$lastlit", $P496
   vivify_171:
-    set $P517[0], $P516
+    set $P496[0], $P495
 .annotate 'line', 62
-    set $P497, $P516
-  if_498_end:
+    set $P476, $P495
+  if_477_end:
 .annotate 'line', 60
-    set $P494, $P497
-  if_495_end:
+    set $P473, $P476
+  if_474_end:
 .annotate 'line', 58
-    .return ($P494)
+    .return ($P473)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "quantified_atom"  :subid("37_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_544
+.sub "quantified_atom"  :subid("36_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_523
 .annotate 'line', 76
-    .const 'Sub' $P553 = "38_1277356890.79584" 
-    capture_lex $P553
-    new $P543, 'ExceptionHandler'
-    set_addr $P543, control_542
-    $P543."handle_types"(.CONTROL_RETURN)
-    push_eh $P543
+    .const 'Sub' $P532 = "37_1278500533.96053" 
+    capture_lex $P532
+    new $P522, 'ExceptionHandler'
+    set_addr $P522, control_521
+    $P522."handle_types"(.CONTROL_RETURN)
+    push_eh $P522
     .lex "self", self
-    .lex "$/", param_544
+    .lex "$/", param_523
 .annotate 'line', 77
-    new $P545, "Undef"
-    .lex "$past", $P545
-    find_lex $P546, "$/"
-    unless_null $P546, vivify_172
-    $P546 = root_new ['parrot';'Hash']
+    new $P524, "Undef"
+    .lex "$past", $P524
+    find_lex $P525, "$/"
+    unless_null $P525, vivify_172
+    $P525 = root_new ['parrot';'Hash']
   vivify_172:
-    set $P547, $P546["atom"]
-    unless_null $P547, vivify_173
-    new $P547, "Undef"
+    set $P526, $P525["atom"]
+    unless_null $P526, vivify_173
+    new $P526, "Undef"
   vivify_173:
-    $P548 = $P547."ast"()
-    store_lex "$past", $P548
+    $P527 = $P526."ast"()
+    store_lex "$past", $P527
 .annotate 'line', 78
-    find_lex $P550, "$/"
-    unless_null $P550, vivify_174
-    $P550 = root_new ['parrot';'Hash']
+    find_lex $P529, "$/"
+    unless_null $P529, vivify_174
+    $P529 = root_new ['parrot';'Hash']
   vivify_174:
-    set $P551, $P550["quantifier"]
-    unless_null $P551, vivify_175
-    new $P551, "Undef"
+    set $P530, $P529["quantifier"]
+    unless_null $P530, vivify_175
+    new $P530, "Undef"
   vivify_175:
-    if $P551, if_549
+    if $P530, if_528
 .annotate 'line', 84
-    find_lex $P568, "$/"
-    unless_null $P568, vivify_176
-    $P568 = root_new ['parrot';'Hash']
+    find_lex $P547, "$/"
+    unless_null $P547, vivify_176
+    $P547 = root_new ['parrot';'Hash']
   vivify_176:
-    set $P569, $P568["backmod"]
-    unless_null $P569, vivify_177
-    $P569 = root_new ['parrot';'ResizablePMCArray']
+    set $P548, $P547["backmod"]
+    unless_null $P548, vivify_177
+    $P548 = root_new ['parrot';'ResizablePMCArray']
   vivify_177:
-    set $P570, $P569[0]
-    unless_null $P570, vivify_178
-    new $P570, "Undef"
+    set $P549, $P548[0]
+    unless_null $P549, vivify_178
+    new $P549, "Undef"
   vivify_178:
-    unless $P570, if_567_end
-    find_lex $P571, "$past"
-    find_lex $P572, "$/"
-    unless_null $P572, vivify_179
-    $P572 = root_new ['parrot';'Hash']
+    unless $P549, if_546_end
+    find_lex $P550, "$past"
+    find_lex $P551, "$/"
+    unless_null $P551, vivify_179
+    $P551 = root_new ['parrot';'Hash']
   vivify_179:
-    set $P573, $P572["backmod"]
-    unless_null $P573, vivify_180
-    $P573 = root_new ['parrot';'ResizablePMCArray']
+    set $P552, $P551["backmod"]
+    unless_null $P552, vivify_180
+    $P552 = root_new ['parrot';'ResizablePMCArray']
   vivify_180:
-    set $P574, $P573[0]
-    unless_null $P574, vivify_181
-    new $P574, "Undef"
+    set $P553, $P552[0]
+    unless_null $P553, vivify_181
+    new $P553, "Undef"
   vivify_181:
-    "backmod"($P571, $P574)
-  if_567_end:
-    goto if_549_end
-  if_549:
+    "backmod"($P550, $P553)
+  if_546_end:
+    goto if_528_end
+  if_528:
 .annotate 'line', 78
-    .const 'Sub' $P553 = "38_1277356890.79584" 
-    capture_lex $P553
-    $P553()
-  if_549_end:
+    .const 'Sub' $P532 = "37_1278500533.96053" 
+    capture_lex $P532
+    $P532()
+  if_528_end:
 .annotate 'line', 85
-    find_lex $P580, "$past"
-    if $P580, if_579
-    set $P578, $P580
-    goto if_579_end
-  if_579:
-    find_lex $P581, "$past"
-    $P582 = $P581."backtrack"()
-    isfalse $I583, $P582
-    new $P578, 'Integer'
-    set $P578, $I583
-  if_579_end:
-    if $P578, if_577
-    set $P576, $P578
-    goto if_577_end
-  if_577:
-    get_global $P584, "@MODIFIERS"
-    unless_null $P584, vivify_185
-    $P584 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P559, "$past"
+    if $P559, if_558
+    set $P557, $P559
+    goto if_558_end
+  if_558:
+    find_lex $P560, "$past"
+    $P561 = $P560."backtrack"()
+    isfalse $I562, $P561
+    new $P557, 'Integer'
+    set $P557, $I562
+  if_558_end:
+    if $P557, if_556
+    set $P555, $P557
+    goto if_556_end
+  if_556:
+    get_global $P563, "@MODIFIERS"
+    unless_null $P563, vivify_185
+    $P563 = root_new ['parrot';'ResizablePMCArray']
   vivify_185:
-    set $P585, $P584[0]
-    unless_null $P585, vivify_186
-    $P585 = root_new ['parrot';'Hash']
+    set $P564, $P563[0]
+    unless_null $P564, vivify_186
+    $P564 = root_new ['parrot';'Hash']
   vivify_186:
-    set $P586, $P585["r"]
-    unless_null $P586, vivify_187
-    new $P586, "Undef"
+    set $P565, $P564["r"]
+    unless_null $P565, vivify_187
+    new $P565, "Undef"
   vivify_187:
-    set $P576, $P586
-  if_577_end:
-    unless $P576, if_575_end
+    set $P555, $P565
+  if_556_end:
+    unless $P555, if_554_end
 .annotate 'line', 86
-    find_lex $P587, "$past"
-    $P587."backtrack"("r")
-  if_575_end:
+    find_lex $P566, "$past"
+    $P566."backtrack"("r")
+  if_554_end:
 .annotate 'line', 88
-    find_lex $P588, "$/"
-    find_lex $P589, "$past"
-    $P590 = $P588."!make"($P589)
+    find_lex $P567, "$/"
+    find_lex $P568, "$past"
+    $P569 = $P567."!make"($P568)
 .annotate 'line', 76
-    .return ($P590)
-  control_542:
+    .return ($P569)
+  control_521:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P591, exception, "payload"
-    .return ($P591)
+    getattribute $P570, exception, "payload"
+    .return ($P570)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block552"  :anon :subid("38_1277356890.79584") :outer("37_1277356890.79584")
+.sub "_block531"  :anon :subid("37_1278500533.96053") :outer("36_1278500533.96053")
 .annotate 'line', 80
-    new $P554, "Undef"
-    .lex "$qast", $P554
+    new $P533, "Undef"
+    .lex "$qast", $P533
 .annotate 'line', 79
-    find_lex $P556, "$past"
-    isfalse $I557, $P556
-    unless $I557, if_555_end
-    find_lex $P558, "$/"
-    $P559 = $P558."CURSOR"()
-    $P559."panic"("Quantifier follows nothing")
-  if_555_end:
+    find_lex $P535, "$past"
+    isfalse $I536, $P535
+    unless $I536, if_534_end
+    find_lex $P537, "$/"
+    $P538 = $P537."CURSOR"()
+    $P538."panic"("Quantifier follows nothing")
+  if_534_end:
 .annotate 'line', 80
-    find_lex $P560, "$/"
-    unless_null $P560, vivify_182
-    $P560 = root_new ['parrot';'Hash']
+    find_lex $P539, "$/"
+    unless_null $P539, vivify_182
+    $P539 = root_new ['parrot';'Hash']
   vivify_182:
-    set $P561, $P560["quantifier"]
-    unless_null $P561, vivify_183
-    $P561 = root_new ['parrot';'ResizablePMCArray']
+    set $P540, $P539["quantifier"]
+    unless_null $P540, vivify_183
+    $P540 = root_new ['parrot';'ResizablePMCArray']
   vivify_183:
-    set $P562, $P561[0]
-    unless_null $P562, vivify_184
-    new $P562, "Undef"
+    set $P541, $P540[0]
+    unless_null $P541, vivify_184
+    new $P541, "Undef"
   vivify_184:
-    $P563 = $P562."ast"()
-    store_lex "$qast", $P563
+    $P542 = $P541."ast"()
+    store_lex "$qast", $P542
 .annotate 'line', 81
-    find_lex $P564, "$qast"
-    find_lex $P565, "$past"
-    $P564."unshift"($P565)
+    find_lex $P543, "$qast"
+    find_lex $P544, "$past"
+    $P543."unshift"($P544)
 .annotate 'line', 82
-    find_lex $P566, "$qast"
-    store_lex "$past", $P566
+    find_lex $P545, "$qast"
+    store_lex "$past", $P545
 .annotate 'line', 78
-    .return ($P566)
+    .return ($P545)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "atom"  :subid("39_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_595
+.sub "atom"  :subid("38_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_574
 .annotate 'line', 91
-    new $P594, 'ExceptionHandler'
-    set_addr $P594, control_593
-    $P594."handle_types"(.CONTROL_RETURN)
-    push_eh $P594
+    new $P573, 'ExceptionHandler'
+    set_addr $P573, control_572
+    $P573."handle_types"(.CONTROL_RETURN)
+    push_eh $P573
     .lex "self", self
-    .lex "$/", param_595
+    .lex "$/", param_574
 .annotate 'line', 92
-    new $P596, "Undef"
-    .lex "$past", $P596
+    new $P575, "Undef"
+    .lex "$past", $P575
 .annotate 'line', 91
-    find_lex $P597, "$past"
+    find_lex $P576, "$past"
 .annotate 'line', 93
-    find_lex $P599, "$/"
-    unless_null $P599, vivify_188
-    $P599 = root_new ['parrot';'Hash']
+    find_lex $P578, "$/"
+    unless_null $P578, vivify_188
+    $P578 = root_new ['parrot';'Hash']
   vivify_188:
-    set $P600, $P599["metachar"]
-    unless_null $P600, vivify_189
-    new $P600, "Undef"
+    set $P579, $P578["metachar"]
+    unless_null $P579, vivify_189
+    new $P579, "Undef"
   vivify_189:
-    if $P600, if_598
+    if $P579, if_577
 .annotate 'line', 95
-    get_hll_global $P604, ["PAST"], "Regex"
-    find_lex $P605, "$/"
-    set $S606, $P605
-    find_lex $P607, "$/"
-    $P608 = $P604."new"($S606, "literal" :named("pasttype"), $P607 :named("node"))
-    store_lex "$past", $P608
+    get_hll_global $P583, ["PAST"], "Regex"
+    find_lex $P584, "$/"
+    set $S585, $P584
+    find_lex $P586, "$/"
+    $P587 = $P583."new"($S585, "literal" :named("pasttype"), $P586 :named("node"))
+    store_lex "$past", $P587
 .annotate 'line', 96
-    get_global $P610, "@MODIFIERS"
-    unless_null $P610, vivify_190
-    $P610 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P589, "@MODIFIERS"
+    unless_null $P589, vivify_190
+    $P589 = root_new ['parrot';'ResizablePMCArray']
   vivify_190:
-    set $P611, $P610[0]
-    unless_null $P611, vivify_191
-    $P611 = root_new ['parrot';'Hash']
+    set $P590, $P589[0]
+    unless_null $P590, vivify_191
+    $P590 = root_new ['parrot';'Hash']
   vivify_191:
-    set $P612, $P611["i"]
-    unless_null $P612, vivify_192
-    new $P612, "Undef"
+    set $P591, $P590["i"]
+    unless_null $P591, vivify_192
+    new $P591, "Undef"
   vivify_192:
-    unless $P612, if_609_end
-    find_lex $P613, "$past"
-    $P613."subtype"("ignorecase")
-  if_609_end:
+    unless $P591, if_588_end
+    find_lex $P592, "$past"
+    $P592."subtype"("ignorecase")
+  if_588_end:
 .annotate 'line', 94
-    goto if_598_end
-  if_598:
+    goto if_577_end
+  if_577:
 .annotate 'line', 93
-    find_lex $P601, "$/"
-    unless_null $P601, vivify_193
-    $P601 = root_new ['parrot';'Hash']
+    find_lex $P580, "$/"
+    unless_null $P580, vivify_193
+    $P580 = root_new ['parrot';'Hash']
   vivify_193:
-    set $P602, $P601["metachar"]
-    unless_null $P602, vivify_194
-    new $P602, "Undef"
+    set $P581, $P580["metachar"]
+    unless_null $P581, vivify_194
+    new $P581, "Undef"
   vivify_194:
-    $P603 = $P602."ast"()
-    store_lex "$past", $P603
-  if_598_end:
+    $P582 = $P581."ast"()
+    store_lex "$past", $P582
+  if_577_end:
 .annotate 'line', 98
-    find_lex $P614, "$/"
-    find_lex $P615, "$past"
-    $P616 = $P614."!make"($P615)
+    find_lex $P593, "$/"
+    find_lex $P594, "$past"
+    $P595 = $P593."!make"($P594)
 .annotate 'line', 91
-    .return ($P616)
-  control_593:
+    .return ($P595)
+  control_572:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P617, exception, "payload"
-    .return ($P617)
+    getattribute $P596, exception, "payload"
+    .return ($P596)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "quantifier:sym<*>"  :subid("40_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_621
+.sub "quantifier:sym<*>"  :subid("39_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_600
 .annotate 'line', 101
-    new $P620, 'ExceptionHandler'
-    set_addr $P620, control_619
-    $P620."handle_types"(.CONTROL_RETURN)
-    push_eh $P620
+    new $P599, 'ExceptionHandler'
+    set_addr $P599, control_598
+    $P599."handle_types"(.CONTROL_RETURN)
+    push_eh $P599
     .lex "self", self
-    .lex "$/", param_621
+    .lex "$/", param_600
 .annotate 'line', 102
-    new $P622, "Undef"
-    .lex "$past", $P622
-    get_hll_global $P623, ["PAST"], "Regex"
-    find_lex $P624, "$/"
-    $P625 = $P623."new"("quant" :named("pasttype"), $P624 :named("node"))
-    store_lex "$past", $P625
+    new $P601, "Undef"
+    .lex "$past", $P601
+    get_hll_global $P602, ["PAST"], "Regex"
+    find_lex $P603, "$/"
+    $P604 = $P602."new"("quant" :named("pasttype"), $P603 :named("node"))
+    store_lex "$past", $P604
 .annotate 'line', 103
-    find_lex $P626, "$/"
-    find_lex $P627, "$past"
-    find_lex $P628, "$/"
-    unless_null $P628, vivify_195
-    $P628 = root_new ['parrot';'Hash']
+    find_lex $P605, "$/"
+    find_lex $P606, "$past"
+    find_lex $P607, "$/"
+    unless_null $P607, vivify_195
+    $P607 = root_new ['parrot';'Hash']
   vivify_195:
-    set $P629, $P628["backmod"]
-    unless_null $P629, vivify_196
-    new $P629, "Undef"
+    set $P608, $P607["backmod"]
+    unless_null $P608, vivify_196
+    new $P608, "Undef"
   vivify_196:
-    $P630 = "backmod"($P627, $P629)
-    $P631 = $P626."!make"($P630)
+    $P609 = "backmod"($P606, $P608)
+    $P610 = $P605."!make"($P609)
 .annotate 'line', 101
-    .return ($P631)
-  control_619:
+    .return ($P610)
+  control_598:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P632, exception, "payload"
-    .return ($P632)
+    getattribute $P611, exception, "payload"
+    .return ($P611)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "quantifier:sym<+>"  :subid("41_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_636
+.sub "quantifier:sym<+>"  :subid("40_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_615
 .annotate 'line', 106
-    new $P635, 'ExceptionHandler'
-    set_addr $P635, control_634
-    $P635."handle_types"(.CONTROL_RETURN)
-    push_eh $P635
+    new $P614, 'ExceptionHandler'
+    set_addr $P614, control_613
+    $P614."handle_types"(.CONTROL_RETURN)
+    push_eh $P614
     .lex "self", self
-    .lex "$/", param_636
+    .lex "$/", param_615
 .annotate 'line', 107
-    new $P637, "Undef"
-    .lex "$past", $P637
-    get_hll_global $P638, ["PAST"], "Regex"
-    find_lex $P639, "$/"
-    $P640 = $P638."new"("quant" :named("pasttype"), 1 :named("min"), $P639 :named("node"))
-    store_lex "$past", $P640
+    new $P616, "Undef"
+    .lex "$past", $P616
+    get_hll_global $P617, ["PAST"], "Regex"
+    find_lex $P618, "$/"
+    $P619 = $P617."new"("quant" :named("pasttype"), 1 :named("min"), $P618 :named("node"))
+    store_lex "$past", $P619
 .annotate 'line', 108
-    find_lex $P641, "$/"
-    find_lex $P642, "$past"
-    find_lex $P643, "$/"
-    unless_null $P643, vivify_197
-    $P643 = root_new ['parrot';'Hash']
+    find_lex $P620, "$/"
+    find_lex $P621, "$past"
+    find_lex $P622, "$/"
+    unless_null $P622, vivify_197
+    $P622 = root_new ['parrot';'Hash']
   vivify_197:
-    set $P644, $P643["backmod"]
-    unless_null $P644, vivify_198
-    new $P644, "Undef"
+    set $P623, $P622["backmod"]
+    unless_null $P623, vivify_198
+    new $P623, "Undef"
   vivify_198:
-    $P645 = "backmod"($P642, $P644)
-    $P646 = $P641."!make"($P645)
+    $P624 = "backmod"($P621, $P623)
+    $P625 = $P620."!make"($P624)
 .annotate 'line', 106
-    .return ($P646)
-  control_634:
+    .return ($P625)
+  control_613:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P647, exception, "payload"
-    .return ($P647)
+    getattribute $P626, exception, "payload"
+    .return ($P626)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "quantifier:sym<?>"  :subid("42_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_651
+.sub "quantifier:sym<?>"  :subid("41_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_630
 .annotate 'line', 111
-    new $P650, 'ExceptionHandler'
-    set_addr $P650, control_649
-    $P650."handle_types"(.CONTROL_RETURN)
-    push_eh $P650
+    new $P629, 'ExceptionHandler'
+    set_addr $P629, control_628
+    $P629."handle_types"(.CONTROL_RETURN)
+    push_eh $P629
     .lex "self", self
-    .lex "$/", param_651
+    .lex "$/", param_630
 .annotate 'line', 112
-    new $P652, "Undef"
-    .lex "$past", $P652
-    get_hll_global $P653, ["PAST"], "Regex"
-    find_lex $P654, "$/"
-    $P655 = $P653."new"("quant" :named("pasttype"), 0 :named("min"), 1 :named("max"), $P654 :named("node"))
-    store_lex "$past", $P655
+    new $P631, "Undef"
+    .lex "$past", $P631
+    get_hll_global $P632, ["PAST"], "Regex"
+    find_lex $P633, "$/"
+    $P634 = $P632."new"("quant" :named("pasttype"), 0 :named("min"), 1 :named("max"), $P633 :named("node"))
+    store_lex "$past", $P634
 .annotate 'line', 113
-    find_lex $P656, "$/"
-    find_lex $P657, "$past"
-    find_lex $P658, "$/"
-    unless_null $P658, vivify_199
-    $P658 = root_new ['parrot';'Hash']
+    find_lex $P635, "$/"
+    find_lex $P636, "$past"
+    find_lex $P637, "$/"
+    unless_null $P637, vivify_199
+    $P637 = root_new ['parrot';'Hash']
   vivify_199:
-    set $P659, $P658["backmod"]
-    unless_null $P659, vivify_200
-    new $P659, "Undef"
+    set $P638, $P637["backmod"]
+    unless_null $P638, vivify_200
+    new $P638, "Undef"
   vivify_200:
-    $P660 = "backmod"($P657, $P659)
-    $P656."!make"($P660)
+    $P639 = "backmod"($P636, $P638)
+    $P635."!make"($P639)
 .annotate 'line', 114
-    find_lex $P661, "$/"
-    find_lex $P662, "$past"
-    $P663 = $P661."!make"($P662)
+    find_lex $P640, "$/"
+    find_lex $P641, "$past"
+    $P642 = $P640."!make"($P641)
 .annotate 'line', 111
-    .return ($P663)
-  control_649:
+    .return ($P642)
+  control_628:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P664, exception, "payload"
-    .return ($P664)
+    getattribute $P643, exception, "payload"
+    .return ($P643)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "quantifier:sym<**>"  :subid("43_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_668
+.sub "quantifier:sym<**>"  :subid("42_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_647
 .annotate 'line', 117
-    .const 'Sub' $P683 = "44_1277356890.79584" 
-    capture_lex $P683
-    new $P667, 'ExceptionHandler'
-    set_addr $P667, control_666
-    $P667."handle_types"(.CONTROL_RETURN)
-    push_eh $P667
+    .const 'Sub' $P662 = "43_1278500533.96053" 
+    capture_lex $P662
+    new $P646, 'ExceptionHandler'
+    set_addr $P646, control_645
+    $P646."handle_types"(.CONTROL_RETURN)
+    push_eh $P646
     .lex "self", self
-    .lex "$/", param_668
+    .lex "$/", param_647
 .annotate 'line', 118
-    new $P669, "Undef"
-    .lex "$past", $P669
+    new $P648, "Undef"
+    .lex "$past", $P648
 .annotate 'line', 119
-    new $P670, "Undef"
-    .lex "$ws", $P670
+    new $P649, "Undef"
+    .lex "$ws", $P649
 .annotate 'line', 117
-    find_lex $P671, "$past"
+    find_lex $P650, "$past"
 .annotate 'line', 119
-    find_lex $P674, "$/"
-    unless_null $P674, vivify_201
-    $P674 = root_new ['parrot';'Hash']
+    find_lex $P653, "$/"
+    unless_null $P653, vivify_201
+    $P653 = root_new ['parrot';'Hash']
   vivify_201:
-    set $P675, $P674["normspace"]
-    unless_null $P675, vivify_202
-    new $P675, "Undef"
+    set $P654, $P653["normspace"]
+    unless_null $P654, vivify_202
+    new $P654, "Undef"
   vivify_202:
-    if $P675, if_673
-    set $P672, $P675
-    goto if_673_end
-  if_673:
-    get_global $P676, "@MODIFIERS"
-    unless_null $P676, vivify_203
-    $P676 = root_new ['parrot';'ResizablePMCArray']
+    if $P654, if_652
+    set $P651, $P654
+    goto if_652_end
+  if_652:
+    get_global $P655, "@MODIFIERS"
+    unless_null $P655, vivify_203
+    $P655 = root_new ['parrot';'ResizablePMCArray']
   vivify_203:
-    set $P677, $P676[0]
-    unless_null $P677, vivify_204
-    $P677 = root_new ['parrot';'Hash']
+    set $P656, $P655[0]
+    unless_null $P656, vivify_204
+    $P656 = root_new ['parrot';'Hash']
   vivify_204:
-    set $P678, $P677["s"]
-    unless_null $P678, vivify_205
-    new $P678, "Undef"
+    set $P657, $P656["s"]
+    unless_null $P657, vivify_205
+    new $P657, "Undef"
   vivify_205:
-    set $P672, $P678
-  if_673_end:
-    store_lex "$ws", $P672
+    set $P651, $P657
+  if_652_end:
+    store_lex "$ws", $P651
 .annotate 'line', 120
-    find_lex $P680, "$/"
-    unless_null $P680, vivify_206
-    $P680 = root_new ['parrot';'Hash']
+    find_lex $P659, "$/"
+    unless_null $P659, vivify_206
+    $P659 = root_new ['parrot';'Hash']
   vivify_206:
-    set $P681, $P680["quantified_atom"]
-    unless_null $P681, vivify_207
-    new $P681, "Undef"
+    set $P660, $P659["quantified_atom"]
+    unless_null $P660, vivify_207
+    new $P660, "Undef"
   vivify_207:
-    if $P681, if_679
+    if $P660, if_658
 .annotate 'line', 136
-    get_hll_global $P701, ["PAST"], "Regex"
-    find_lex $P702, "$/"
-    unless_null $P702, vivify_208
-    $P702 = root_new ['parrot';'Hash']
+    get_hll_global $P680, ["PAST"], "Regex"
+    find_lex $P681, "$/"
+    unless_null $P681, vivify_208
+    $P681 = root_new ['parrot';'Hash']
   vivify_208:
-    set $P703, $P702["min"]
-    unless_null $P703, vivify_209
-    new $P703, "Undef"
+    set $P682, $P681["min"]
+    unless_null $P682, vivify_209
+    new $P682, "Undef"
   vivify_209:
-    set $N704, $P703
-    find_lex $P705, "$/"
-    $P706 = $P701."new"("quant" :named("pasttype"), $N704 :named("min"), $P705 :named("node"))
-    store_lex "$past", $P706
+    set $N683, $P682
+    find_lex $P684, "$/"
+    $P685 = $P680."new"("quant" :named("pasttype"), $N683 :named("min"), $P684 :named("node"))
+    store_lex "$past", $P685
 .annotate 'line', 137
-    find_lex $P708, "$/"
-    unless_null $P708, vivify_210
-    $P708 = root_new ['parrot';'Hash']
+    find_lex $P687, "$/"
+    unless_null $P687, vivify_210
+    $P687 = root_new ['parrot';'Hash']
   vivify_210:
-    set $P709, $P708["max"]
-    unless_null $P709, vivify_211
-    new $P709, "Undef"
+    set $P688, $P687["max"]
+    unless_null $P688, vivify_211
+    new $P688, "Undef"
   vivify_211:
-    isfalse $I710, $P709
-    if $I710, if_707
+    isfalse $I689, $P688
+    if $I689, if_686
 .annotate 'line', 138
-    find_lex $P716, "$/"
-    unless_null $P716, vivify_212
-    $P716 = root_new ['parrot';'Hash']
+    find_lex $P695, "$/"
+    unless_null $P695, vivify_212
+    $P695 = root_new ['parrot';'Hash']
   vivify_212:
-    set $P717, $P716["max"]
-    unless_null $P717, vivify_213
-    $P717 = root_new ['parrot';'ResizablePMCArray']
+    set $P696, $P695["max"]
+    unless_null $P696, vivify_213
+    $P696 = root_new ['parrot';'ResizablePMCArray']
   vivify_213:
-    set $P718, $P717[0]
-    unless_null $P718, vivify_214
-    new $P718, "Undef"
+    set $P697, $P696[0]
+    unless_null $P697, vivify_214
+    new $P697, "Undef"
   vivify_214:
-    set $S719, $P718
-    isne $I720, $S719, "*"
-    unless $I720, if_715_end
-    find_lex $P721, "$past"
-    find_lex $P722, "$/"
-    unless_null $P722, vivify_215
-    $P722 = root_new ['parrot';'Hash']
+    set $S698, $P697
+    isne $I699, $S698, "*"
+    unless $I699, if_694_end
+    find_lex $P700, "$past"
+    find_lex $P701, "$/"
+    unless_null $P701, vivify_215
+    $P701 = root_new ['parrot';'Hash']
   vivify_215:
-    set $P723, $P722["max"]
-    unless_null $P723, vivify_216
-    $P723 = root_new ['parrot';'ResizablePMCArray']
+    set $P702, $P701["max"]
+    unless_null $P702, vivify_216
+    $P702 = root_new ['parrot';'ResizablePMCArray']
   vivify_216:
-    set $P724, $P723[0]
-    unless_null $P724, vivify_217
-    new $P724, "Undef"
+    set $P703, $P702[0]
+    unless_null $P703, vivify_217
+    new $P703, "Undef"
   vivify_217:
-    set $N725, $P724
-    $P721."max"($N725)
-  if_715_end:
-    goto if_707_end
-  if_707:
+    set $N704, $P703
+    $P700."max"($N704)
+  if_694_end:
+    goto if_686_end
+  if_686:
 .annotate 'line', 137
-    find_lex $P711, "$past"
-    find_lex $P712, "$/"
-    unless_null $P712, vivify_218
-    $P712 = root_new ['parrot';'Hash']
+    find_lex $P690, "$past"
+    find_lex $P691, "$/"
+    unless_null $P691, vivify_218
+    $P691 = root_new ['parrot';'Hash']
   vivify_218:
-    set $P713, $P712["min"]
-    unless_null $P713, vivify_219
-    new $P713, "Undef"
+    set $P692, $P691["min"]
+    unless_null $P692, vivify_219
+    new $P692, "Undef"
   vivify_219:
-    set $N714, $P713
-    $P711."max"($N714)
-  if_707_end:
+    set $N693, $P692
+    $P690."max"($N693)
+  if_686_end:
 .annotate 'line', 139
-    find_lex $P727, "$ws"
-    unless $P727, if_726_end
-    find_lex $P728, "$past"
-    get_hll_global $P729, ["PAST"], "Regex"
-    $P730 = $P729."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"))
-    $P728."sep"($P730)
-  if_726_end:
+    find_lex $P706, "$ws"
+    unless $P706, if_705_end
+    find_lex $P707, "$past"
+    get_hll_global $P708, ["PAST"], "Regex"
+    $P709 = $P708."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"))
+    $P707."sep"($P709)
+  if_705_end:
 .annotate 'line', 135
-    goto if_679_end
-  if_679:
+    goto if_658_end
+  if_658:
 .annotate 'line', 120
-    .const 'Sub' $P683 = "44_1277356890.79584" 
-    capture_lex $P683
-    $P683()
-  if_679_end:
+    .const 'Sub' $P662 = "43_1278500533.96053" 
+    capture_lex $P662
+    $P662()
+  if_658_end:
 .annotate 'line', 143
-    find_lex $P731, "$/"
-    find_lex $P732, "$past"
-    find_lex $P733, "$/"
-    unless_null $P733, vivify_222
-    $P733 = root_new ['parrot';'Hash']
+    find_lex $P710, "$/"
+    find_lex $P711, "$past"
+    find_lex $P712, "$/"
+    unless_null $P712, vivify_222
+    $P712 = root_new ['parrot';'Hash']
   vivify_222:
-    set $P734, $P733["backmod"]
-    unless_null $P734, vivify_223
-    new $P734, "Undef"
+    set $P713, $P712["backmod"]
+    unless_null $P713, vivify_223
+    new $P713, "Undef"
   vivify_223:
-    $P735 = "backmod"($P732, $P734)
-    $P736 = $P731."!make"($P735)
+    $P714 = "backmod"($P711, $P713)
+    $P715 = $P710."!make"($P714)
 .annotate 'line', 117
-    .return ($P736)
-  control_666:
+    .return ($P715)
+  control_645:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P737, exception, "payload"
-    .return ($P737)
+    getattribute $P716, exception, "payload"
+    .return ($P716)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block682"  :anon :subid("44_1277356890.79584") :outer("43_1277356890.79584")
+.sub "_block661"  :anon :subid("43_1278500533.96053") :outer("42_1278500533.96053")
 .annotate 'line', 121
-    new $P684, "Undef"
-    .lex "$ast", $P684
-    find_lex $P685, "$/"
-    unless_null $P685, vivify_220
-    $P685 = root_new ['parrot';'Hash']
+    new $P663, "Undef"
+    .lex "$ast", $P663
+    find_lex $P664, "$/"
+    unless_null $P664, vivify_220
+    $P664 = root_new ['parrot';'Hash']
   vivify_220:
-    set $P686, $P685["quantified_atom"]
-    unless_null $P686, vivify_221
-    new $P686, "Undef"
+    set $P665, $P664["quantified_atom"]
+    unless_null $P665, vivify_221
+    new $P665, "Undef"
   vivify_221:
-    $P687 = $P686."ast"()
-    store_lex "$ast", $P687
+    $P666 = $P665."ast"()
+    store_lex "$ast", $P666
 .annotate 'line', 122
-    find_lex $P689, "$ws"
-    unless $P689, if_688_end
+    find_lex $P668, "$ws"
+    unless $P668, if_667_end
 .annotate 'line', 123
-    get_hll_global $P690, ["PAST"], "Regex"
+    get_hll_global $P669, ["PAST"], "Regex"
 .annotate 'line', 125
-    get_hll_global $P691, ["PAST"], "Regex"
-    $P692 = $P691."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"))
-    find_lex $P693, "$ast"
+    get_hll_global $P670, ["PAST"], "Regex"
+    $P671 = $P670."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"))
+    find_lex $P672, "$ast"
 .annotate 'line', 128
-    get_hll_global $P694, ["PAST"], "Regex"
-    $P695 = $P694."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"))
-    $P696 = $P690."new"($P692, $P693, $P695, "concat" :named("pasttype"))
+    get_hll_global $P673, ["PAST"], "Regex"
+    $P674 = $P673."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"))
+    $P675 = $P669."new"($P671, $P672, $P674, "concat" :named("pasttype"))
 .annotate 'line', 123
-    store_lex "$ast", $P696
-  if_688_end:
+    store_lex "$ast", $P675
+  if_667_end:
 .annotate 'line', 132
-    get_hll_global $P697, ["PAST"], "Regex"
-    find_lex $P698, "$ast"
-    find_lex $P699, "$/"
-    $P700 = $P697."new"("quant" :named("pasttype"), 1 :named("min"), $P698 :named("sep"), $P699 :named("node"))
-    store_lex "$past", $P700
+    get_hll_global $P676, ["PAST"], "Regex"
+    find_lex $P677, "$ast"
+    find_lex $P678, "$/"
+    $P679 = $P676."new"("quant" :named("pasttype"), 1 :named("min"), $P677 :named("sep"), $P678 :named("node"))
+    store_lex "$past", $P679
 .annotate 'line', 120
-    .return ($P700)
+    .return ($P679)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<ws>"  :subid("45_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_741
+.sub "metachar:sym<ws>"  :subid("44_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_720
 .annotate 'line', 146
-    new $P740, 'ExceptionHandler'
-    set_addr $P740, control_739
-    $P740."handle_types"(.CONTROL_RETURN)
-    push_eh $P740
+    new $P719, 'ExceptionHandler'
+    set_addr $P719, control_718
+    $P719."handle_types"(.CONTROL_RETURN)
+    push_eh $P719
     .lex "self", self
-    .lex "$/", param_741
+    .lex "$/", param_720
 .annotate 'line', 147
-    new $P742, "Undef"
-    .lex "$past", $P742
+    new $P721, "Undef"
+    .lex "$past", $P721
 .annotate 'line', 148
-    get_global $P745, "@MODIFIERS"
-    unless_null $P745, vivify_224
-    $P745 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P724, "@MODIFIERS"
+    unless_null $P724, vivify_224
+    $P724 = root_new ['parrot';'ResizablePMCArray']
   vivify_224:
-    set $P746, $P745[0]
-    unless_null $P746, vivify_225
-    $P746 = root_new ['parrot';'Hash']
+    set $P725, $P724[0]
+    unless_null $P725, vivify_225
+    $P725 = root_new ['parrot';'Hash']
   vivify_225:
-    set $P747, $P746["s"]
-    unless_null $P747, vivify_226
-    new $P747, "Undef"
+    set $P726, $P725["s"]
+    unless_null $P726, vivify_226
+    new $P726, "Undef"
   vivify_226:
-    if $P747, if_744
-    new $P751, "Integer"
-    assign $P751, 0
-    set $P743, $P751
-    goto if_744_end
-  if_744:
-    get_hll_global $P748, ["PAST"], "Regex"
-    find_lex $P749, "$/"
-    $P750 = $P748."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"), $P749 :named("node"))
-    set $P743, $P750
-  if_744_end:
-    store_lex "$past", $P743
+    if $P726, if_723
+    new $P730, "Integer"
+    assign $P730, 0
+    set $P722, $P730
+    goto if_723_end
+  if_723:
+    get_hll_global $P727, ["PAST"], "Regex"
+    find_lex $P728, "$/"
+    $P729 = $P727."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"), $P728 :named("node"))
+    set $P722, $P729
+  if_723_end:
+    store_lex "$past", $P722
 .annotate 'line', 151
-    find_lex $P752, "$/"
-    find_lex $P753, "$past"
-    $P754 = $P752."!make"($P753)
+    find_lex $P731, "$/"
+    find_lex $P732, "$past"
+    $P733 = $P731."!make"($P732)
 .annotate 'line', 146
-    .return ($P754)
-  control_739:
+    .return ($P733)
+  control_718:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P755, exception, "payload"
-    .return ($P755)
+    getattribute $P734, exception, "payload"
+    .return ($P734)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<[ ]>"  :subid("46_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_759
+.sub "metachar:sym<[ ]>"  :subid("45_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_738
 .annotate 'line', 155
-    new $P758, 'ExceptionHandler'
-    set_addr $P758, control_757
-    $P758."handle_types"(.CONTROL_RETURN)
-    push_eh $P758
+    new $P737, 'ExceptionHandler'
+    set_addr $P737, control_736
+    $P737."handle_types"(.CONTROL_RETURN)
+    push_eh $P737
     .lex "self", self
-    .lex "$/", param_759
+    .lex "$/", param_738
 .annotate 'line', 156
-    find_lex $P760, "$/"
-    find_lex $P761, "$/"
-    unless_null $P761, vivify_227
-    $P761 = root_new ['parrot';'Hash']
+    find_lex $P739, "$/"
+    find_lex $P740, "$/"
+    unless_null $P740, vivify_227
+    $P740 = root_new ['parrot';'Hash']
   vivify_227:
-    set $P762, $P761["nibbler"]
-    unless_null $P762, vivify_228
-    new $P762, "Undef"
+    set $P741, $P740["nibbler"]
+    unless_null $P741, vivify_228
+    new $P741, "Undef"
   vivify_228:
-    $P763 = $P762."ast"()
-    $P764 = $P760."!make"($P763)
+    $P742 = $P741."ast"()
+    $P743 = $P739."!make"($P742)
 .annotate 'line', 155
-    .return ($P764)
-  control_757:
+    .return ($P743)
+  control_736:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P765, exception, "payload"
-    .return ($P765)
+    getattribute $P744, exception, "payload"
+    .return ($P744)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<( )>"  :subid("47_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_769
+.sub "metachar:sym<( )>"  :subid("46_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_748
 .annotate 'line', 159
-    new $P768, 'ExceptionHandler'
-    set_addr $P768, control_767
-    $P768."handle_types"(.CONTROL_RETURN)
-    push_eh $P768
+    new $P747, 'ExceptionHandler'
+    set_addr $P747, control_746
+    $P747."handle_types"(.CONTROL_RETURN)
+    push_eh $P747
     .lex "self", self
-    .lex "$/", param_769
+    .lex "$/", param_748
 .annotate 'line', 160
-    new $P770, "Undef"
-    .lex "$subpast", $P770
+    new $P749, "Undef"
+    .lex "$subpast", $P749
 .annotate 'line', 161
-    new $P771, "Undef"
-    .lex "$past", $P771
+    new $P750, "Undef"
+    .lex "$past", $P750
 .annotate 'line', 160
-    find_lex $P772, "$/"
-    unless_null $P772, vivify_229
-    $P772 = root_new ['parrot';'Hash']
+    find_lex $P751, "$/"
+    unless_null $P751, vivify_229
+    $P751 = root_new ['parrot';'Hash']
   vivify_229:
-    set $P773, $P772["nibbler"]
-    unless_null $P773, vivify_230
-    new $P773, "Undef"
+    set $P752, $P751["nibbler"]
+    unless_null $P752, vivify_230
+    new $P752, "Undef"
   vivify_230:
-    $P774 = $P773."ast"()
-    $P775 = "buildsub"($P774)
-    store_lex "$subpast", $P775
+    $P753 = $P752."ast"()
+    $P754 = "buildsub"($P753)
+    store_lex "$subpast", $P754
 .annotate 'line', 161
-    get_hll_global $P776, ["PAST"], "Regex"
-    find_lex $P777, "$subpast"
-    find_lex $P778, "$/"
-    $P779 = $P776."new"($P777, "subrule" :named("pasttype"), "capture" :named("subtype"), $P778 :named("node"))
-    store_lex "$past", $P779
+    get_hll_global $P755, ["PAST"], "Regex"
+    find_lex $P756, "$subpast"
+    find_lex $P757, "$/"
+    $P758 = $P755."new"($P756, "subrule" :named("pasttype"), "capture" :named("subtype"), $P757 :named("node"))
+    store_lex "$past", $P758
 .annotate 'line', 163
-    find_lex $P780, "$/"
-    find_lex $P781, "$past"
-    $P782 = $P780."!make"($P781)
+    find_lex $P759, "$/"
+    find_lex $P760, "$past"
+    $P761 = $P759."!make"($P760)
 .annotate 'line', 159
-    .return ($P782)
-  control_767:
+    .return ($P761)
+  control_746:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P783, exception, "payload"
-    .return ($P783)
+    getattribute $P762, exception, "payload"
+    .return ($P762)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<'>"  :subid("48_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_787
+.sub "metachar:sym<'>"  :subid("47_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_766
 .annotate 'line', 166
-    new $P786, 'ExceptionHandler'
-    set_addr $P786, control_785
-    $P786."handle_types"(.CONTROL_RETURN)
-    push_eh $P786
+    new $P765, 'ExceptionHandler'
+    set_addr $P765, control_764
+    $P765."handle_types"(.CONTROL_RETURN)
+    push_eh $P765
     .lex "self", self
-    .lex "$/", param_787
+    .lex "$/", param_766
 .annotate 'line', 167
-    new $P788, "Undef"
-    .lex "$quote", $P788
+    new $P767, "Undef"
+    .lex "$quote", $P767
 .annotate 'line', 169
-    new $P789, "Undef"
-    .lex "$past", $P789
+    new $P768, "Undef"
+    .lex "$past", $P768
 .annotate 'line', 167
-    find_lex $P790, "$/"
-    unless_null $P790, vivify_231
-    $P790 = root_new ['parrot';'Hash']
+    find_lex $P769, "$/"
+    unless_null $P769, vivify_231
+    $P769 = root_new ['parrot';'Hash']
   vivify_231:
-    set $P791, $P790["quote_EXPR"]
-    unless_null $P791, vivify_232
-    new $P791, "Undef"
+    set $P770, $P769["quote_EXPR"]
+    unless_null $P770, vivify_232
+    new $P770, "Undef"
   vivify_232:
-    $P792 = $P791."ast"()
-    store_lex "$quote", $P792
+    $P771 = $P770."ast"()
+    store_lex "$quote", $P771
 .annotate 'line', 168
-    get_hll_global $P794, ["PAST"], "Val"
-    find_lex $P795, "$quote"
-    $P796 = $P794."ACCEPTS"($P795)
-    unless $P796, if_793_end
-    find_lex $P797, "$quote"
-    $P798 = $P797."value"()
-    store_lex "$quote", $P798
-  if_793_end:
+    get_hll_global $P773, ["PAST"], "Val"
+    find_lex $P774, "$quote"
+    $P775 = $P773."ACCEPTS"($P774)
+    unless $P775, if_772_end
+    find_lex $P776, "$quote"
+    $P777 = $P776."value"()
+    store_lex "$quote", $P777
+  if_772_end:
 .annotate 'line', 169
-    get_hll_global $P799, ["PAST"], "Regex"
-    find_lex $P800, "$quote"
-    find_lex $P801, "$/"
-    $P802 = $P799."new"($P800, "literal" :named("pasttype"), $P801 :named("node"))
-    store_lex "$past", $P802
+    get_hll_global $P778, ["PAST"], "Regex"
+    find_lex $P779, "$quote"
+    find_lex $P780, "$/"
+    $P781 = $P778."new"($P779, "literal" :named("pasttype"), $P780 :named("node"))
+    store_lex "$past", $P781
 .annotate 'line', 170
-    find_lex $P803, "$/"
-    find_lex $P804, "$past"
-    $P805 = $P803."!make"($P804)
+    find_lex $P782, "$/"
+    find_lex $P783, "$past"
+    $P784 = $P782."!make"($P783)
 .annotate 'line', 166
-    .return ($P805)
-  control_785:
+    .return ($P784)
+  control_764:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P806, exception, "payload"
-    .return ($P806)
+    getattribute $P785, exception, "payload"
+    .return ($P785)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<\">"  :subid("49_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_810
+.sub "metachar:sym<\">"  :subid("48_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_789
 .annotate 'line', 173
-    new $P809, 'ExceptionHandler'
-    set_addr $P809, control_808
-    $P809."handle_types"(.CONTROL_RETURN)
-    push_eh $P809
+    new $P788, 'ExceptionHandler'
+    set_addr $P788, control_787
+    $P788."handle_types"(.CONTROL_RETURN)
+    push_eh $P788
     .lex "self", self
-    .lex "$/", param_810
+    .lex "$/", param_789
 .annotate 'line', 174
-    new $P811, "Undef"
-    .lex "$quote", $P811
+    new $P790, "Undef"
+    .lex "$quote", $P790
 .annotate 'line', 176
-    new $P812, "Undef"
-    .lex "$past", $P812
+    new $P791, "Undef"
+    .lex "$past", $P791
 .annotate 'line', 174
-    find_lex $P813, "$/"
-    unless_null $P813, vivify_233
-    $P813 = root_new ['parrot';'Hash']
+    find_lex $P792, "$/"
+    unless_null $P792, vivify_233
+    $P792 = root_new ['parrot';'Hash']
   vivify_233:
-    set $P814, $P813["quote_EXPR"]
-    unless_null $P814, vivify_234
-    new $P814, "Undef"
+    set $P793, $P792["quote_EXPR"]
+    unless_null $P793, vivify_234
+    new $P793, "Undef"
   vivify_234:
-    $P815 = $P814."ast"()
-    store_lex "$quote", $P815
+    $P794 = $P793."ast"()
+    store_lex "$quote", $P794
 .annotate 'line', 175
-    get_hll_global $P817, ["PAST"], "Val"
-    find_lex $P818, "$quote"
-    $P819 = $P817."ACCEPTS"($P818)
-    unless $P819, if_816_end
-    find_lex $P820, "$quote"
-    $P821 = $P820."value"()
-    store_lex "$quote", $P821
-  if_816_end:
+    get_hll_global $P796, ["PAST"], "Val"
+    find_lex $P797, "$quote"
+    $P798 = $P796."ACCEPTS"($P797)
+    unless $P798, if_795_end
+    find_lex $P799, "$quote"
+    $P800 = $P799."value"()
+    store_lex "$quote", $P800
+  if_795_end:
 .annotate 'line', 176
-    get_hll_global $P822, ["PAST"], "Regex"
-    find_lex $P823, "$quote"
-    find_lex $P824, "$/"
-    $P825 = $P822."new"($P823, "literal" :named("pasttype"), $P824 :named("node"))
-    store_lex "$past", $P825
+    get_hll_global $P801, ["PAST"], "Regex"
+    find_lex $P802, "$quote"
+    find_lex $P803, "$/"
+    $P804 = $P801."new"($P802, "literal" :named("pasttype"), $P803 :named("node"))
+    store_lex "$past", $P804
 .annotate 'line', 177
-    find_lex $P826, "$/"
-    find_lex $P827, "$past"
-    $P828 = $P826."!make"($P827)
+    find_lex $P805, "$/"
+    find_lex $P806, "$past"
+    $P807 = $P805."!make"($P806)
 .annotate 'line', 173
-    .return ($P828)
-  control_808:
+    .return ($P807)
+  control_787:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P829, exception, "payload"
-    .return ($P829)
+    getattribute $P808, exception, "payload"
+    .return ($P808)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<.>"  :subid("50_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_833
+.sub "metachar:sym<.>"  :subid("49_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_812
 .annotate 'line', 180
-    new $P832, 'ExceptionHandler'
-    set_addr $P832, control_831
-    $P832."handle_types"(.CONTROL_RETURN)
-    push_eh $P832
+    new $P811, 'ExceptionHandler'
+    set_addr $P811, control_810
+    $P811."handle_types"(.CONTROL_RETURN)
+    push_eh $P811
     .lex "self", self
-    .lex "$/", param_833
+    .lex "$/", param_812
 .annotate 'line', 181
-    new $P834, "Undef"
-    .lex "$past", $P834
-    get_hll_global $P835, ["PAST"], "Regex"
-    find_lex $P836, "$/"
-    $P837 = $P835."new"("charclass" :named("pasttype"), "." :named("subtype"), $P836 :named("node"))
-    store_lex "$past", $P837
+    new $P813, "Undef"
+    .lex "$past", $P813
+    get_hll_global $P814, ["PAST"], "Regex"
+    find_lex $P815, "$/"
+    $P816 = $P814."new"("charclass" :named("pasttype"), "." :named("subtype"), $P815 :named("node"))
+    store_lex "$past", $P816
 .annotate 'line', 182
-    find_lex $P838, "$/"
-    find_lex $P839, "$past"
-    $P840 = $P838."!make"($P839)
+    find_lex $P817, "$/"
+    find_lex $P818, "$past"
+    $P819 = $P817."!make"($P818)
 .annotate 'line', 180
-    .return ($P840)
-  control_831:
+    .return ($P819)
+  control_810:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P841, exception, "payload"
-    .return ($P841)
+    getattribute $P820, exception, "payload"
+    .return ($P820)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<^>"  :subid("51_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_845
+.sub "metachar:sym<^>"  :subid("50_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_824
 .annotate 'line', 185
-    new $P844, 'ExceptionHandler'
-    set_addr $P844, control_843
-    $P844."handle_types"(.CONTROL_RETURN)
-    push_eh $P844
+    new $P823, 'ExceptionHandler'
+    set_addr $P823, control_822
+    $P823."handle_types"(.CONTROL_RETURN)
+    push_eh $P823
     .lex "self", self
-    .lex "$/", param_845
+    .lex "$/", param_824
 .annotate 'line', 186
-    new $P846, "Undef"
-    .lex "$past", $P846
-    get_hll_global $P847, ["PAST"], "Regex"
-    find_lex $P848, "$/"
-    $P849 = $P847."new"("anchor" :named("pasttype"), "bos" :named("subtype"), $P848 :named("node"))
-    store_lex "$past", $P849
+    new $P825, "Undef"
+    .lex "$past", $P825
+    get_hll_global $P826, ["PAST"], "Regex"
+    find_lex $P827, "$/"
+    $P828 = $P826."new"("anchor" :named("pasttype"), "bos" :named("subtype"), $P827 :named("node"))
+    store_lex "$past", $P828
 .annotate 'line', 187
-    find_lex $P850, "$/"
-    find_lex $P851, "$past"
-    $P852 = $P850."!make"($P851)
+    find_lex $P829, "$/"
+    find_lex $P830, "$past"
+    $P831 = $P829."!make"($P830)
 .annotate 'line', 185
-    .return ($P852)
-  control_843:
+    .return ($P831)
+  control_822:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P853, exception, "payload"
-    .return ($P853)
+    getattribute $P832, exception, "payload"
+    .return ($P832)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<^^>"  :subid("52_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_857
+.sub "metachar:sym<^^>"  :subid("51_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_836
 .annotate 'line', 190
-    new $P856, 'ExceptionHandler'
-    set_addr $P856, control_855
-    $P856."handle_types"(.CONTROL_RETURN)
-    push_eh $P856
+    new $P835, 'ExceptionHandler'
+    set_addr $P835, control_834
+    $P835."handle_types"(.CONTROL_RETURN)
+    push_eh $P835
     .lex "self", self
-    .lex "$/", param_857
+    .lex "$/", param_836
 .annotate 'line', 191
-    new $P858, "Undef"
-    .lex "$past", $P858
-    get_hll_global $P859, ["PAST"], "Regex"
-    find_lex $P860, "$/"
-    $P861 = $P859."new"("anchor" :named("pasttype"), "bol" :named("subtype"), $P860 :named("node"))
-    store_lex "$past", $P861
+    new $P837, "Undef"
+    .lex "$past", $P837
+    get_hll_global $P838, ["PAST"], "Regex"
+    find_lex $P839, "$/"
+    $P840 = $P838."new"("anchor" :named("pasttype"), "bol" :named("subtype"), $P839 :named("node"))
+    store_lex "$past", $P840
 .annotate 'line', 192
-    find_lex $P862, "$/"
-    find_lex $P863, "$past"
-    $P864 = $P862."!make"($P863)
+    find_lex $P841, "$/"
+    find_lex $P842, "$past"
+    $P843 = $P841."!make"($P842)
 .annotate 'line', 190
-    .return ($P864)
-  control_855:
+    .return ($P843)
+  control_834:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P865, exception, "payload"
-    .return ($P865)
+    getattribute $P844, exception, "payload"
+    .return ($P844)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<$>"  :subid("53_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_869
+.sub "metachar:sym<$>"  :subid("52_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_848
 .annotate 'line', 195
-    new $P868, 'ExceptionHandler'
-    set_addr $P868, control_867
-    $P868."handle_types"(.CONTROL_RETURN)
-    push_eh $P868
+    new $P847, 'ExceptionHandler'
+    set_addr $P847, control_846
+    $P847."handle_types"(.CONTROL_RETURN)
+    push_eh $P847
     .lex "self", self
-    .lex "$/", param_869
+    .lex "$/", param_848
 .annotate 'line', 196
-    new $P870, "Undef"
-    .lex "$past", $P870
-    get_hll_global $P871, ["PAST"], "Regex"
-    find_lex $P872, "$/"
-    $P873 = $P871."new"("anchor" :named("pasttype"), "eos" :named("subtype"), $P872 :named("node"))
-    store_lex "$past", $P873
+    new $P849, "Undef"
+    .lex "$past", $P849
+    get_hll_global $P850, ["PAST"], "Regex"
+    find_lex $P851, "$/"
+    $P852 = $P850."new"("anchor" :named("pasttype"), "eos" :named("subtype"), $P851 :named("node"))
+    store_lex "$past", $P852
 .annotate 'line', 197
-    find_lex $P874, "$/"
-    find_lex $P875, "$past"
-    $P876 = $P874."!make"($P875)
+    find_lex $P853, "$/"
+    find_lex $P854, "$past"
+    $P855 = $P853."!make"($P854)
 .annotate 'line', 195
-    .return ($P876)
-  control_867:
+    .return ($P855)
+  control_846:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P877, exception, "payload"
-    .return ($P877)
+    getattribute $P856, exception, "payload"
+    .return ($P856)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<$$>"  :subid("54_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_881
+.sub "metachar:sym<$$>"  :subid("53_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_860
 .annotate 'line', 200
-    new $P880, 'ExceptionHandler'
-    set_addr $P880, control_879
-    $P880."handle_types"(.CONTROL_RETURN)
-    push_eh $P880
+    new $P859, 'ExceptionHandler'
+    set_addr $P859, control_858
+    $P859."handle_types"(.CONTROL_RETURN)
+    push_eh $P859
     .lex "self", self
-    .lex "$/", param_881
+    .lex "$/", param_860
 .annotate 'line', 201
-    new $P882, "Undef"
-    .lex "$past", $P882
-    get_hll_global $P883, ["PAST"], "Regex"
-    find_lex $P884, "$/"
-    $P885 = $P883."new"("anchor" :named("pasttype"), "eol" :named("subtype"), $P884 :named("node"))
-    store_lex "$past", $P885
+    new $P861, "Undef"
+    .lex "$past", $P861
+    get_hll_global $P862, ["PAST"], "Regex"
+    find_lex $P863, "$/"
+    $P864 = $P862."new"("anchor" :named("pasttype"), "eol" :named("subtype"), $P863 :named("node"))
+    store_lex "$past", $P864
 .annotate 'line', 202
-    find_lex $P886, "$/"
-    find_lex $P887, "$past"
-    $P888 = $P886."!make"($P887)
+    find_lex $P865, "$/"
+    find_lex $P866, "$past"
+    $P867 = $P865."!make"($P866)
 .annotate 'line', 200
-    .return ($P888)
-  control_879:
+    .return ($P867)
+  control_858:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P889, exception, "payload"
-    .return ($P889)
+    getattribute $P868, exception, "payload"
+    .return ($P868)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<:::>"  :subid("55_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_893
+.sub "metachar:sym<:::>"  :subid("54_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_872
 .annotate 'line', 205
-    new $P892, 'ExceptionHandler'
-    set_addr $P892, control_891
-    $P892."handle_types"(.CONTROL_RETURN)
-    push_eh $P892
+    new $P871, 'ExceptionHandler'
+    set_addr $P871, control_870
+    $P871."handle_types"(.CONTROL_RETURN)
+    push_eh $P871
     .lex "self", self
-    .lex "$/", param_893
+    .lex "$/", param_872
 .annotate 'line', 206
-    new $P894, "Undef"
-    .lex "$past", $P894
-    get_hll_global $P895, ["PAST"], "Regex"
-    find_lex $P896, "$/"
-    $P897 = $P895."new"("cut" :named("pasttype"), $P896 :named("node"))
-    store_lex "$past", $P897
+    new $P873, "Undef"
+    .lex "$past", $P873
+    get_hll_global $P874, ["PAST"], "Regex"
+    find_lex $P875, "$/"
+    $P876 = $P874."new"("cut" :named("pasttype"), $P875 :named("node"))
+    store_lex "$past", $P876
 .annotate 'line', 207
-    find_lex $P898, "$/"
-    find_lex $P899, "$past"
-    $P900 = $P898."!make"($P899)
+    find_lex $P877, "$/"
+    find_lex $P878, "$past"
+    $P879 = $P877."!make"($P878)
 .annotate 'line', 205
-    .return ($P900)
-  control_891:
+    .return ($P879)
+  control_870:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P901, exception, "payload"
-    .return ($P901)
+    getattribute $P880, exception, "payload"
+    .return ($P880)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<lwb>"  :subid("56_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_905
+.sub "metachar:sym<lwb>"  :subid("55_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_884
 .annotate 'line', 210
-    new $P904, 'ExceptionHandler'
-    set_addr $P904, control_903
-    $P904."handle_types"(.CONTROL_RETURN)
-    push_eh $P904
+    new $P883, 'ExceptionHandler'
+    set_addr $P883, control_882
+    $P883."handle_types"(.CONTROL_RETURN)
+    push_eh $P883
     .lex "self", self
-    .lex "$/", param_905
+    .lex "$/", param_884
 .annotate 'line', 211
-    new $P906, "Undef"
-    .lex "$past", $P906
-    get_hll_global $P907, ["PAST"], "Regex"
-    find_lex $P908, "$/"
-    $P909 = $P907."new"("anchor" :named("pasttype"), "lwb" :named("subtype"), $P908 :named("node"))
-    store_lex "$past", $P909
+    new $P885, "Undef"
+    .lex "$past", $P885
+    get_hll_global $P886, ["PAST"], "Regex"
+    find_lex $P887, "$/"
+    $P888 = $P886."new"("anchor" :named("pasttype"), "lwb" :named("subtype"), $P887 :named("node"))
+    store_lex "$past", $P888
 .annotate 'line', 212
-    find_lex $P910, "$/"
-    find_lex $P911, "$past"
-    $P912 = $P910."!make"($P911)
+    find_lex $P889, "$/"
+    find_lex $P890, "$past"
+    $P891 = $P889."!make"($P890)
 .annotate 'line', 210
-    .return ($P912)
-  control_903:
+    .return ($P891)
+  control_882:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P913, exception, "payload"
-    .return ($P913)
+    getattribute $P892, exception, "payload"
+    .return ($P892)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<rwb>"  :subid("57_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_917
+.sub "metachar:sym<rwb>"  :subid("56_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_896
 .annotate 'line', 215
-    new $P916, 'ExceptionHandler'
-    set_addr $P916, control_915
-    $P916."handle_types"(.CONTROL_RETURN)
-    push_eh $P916
+    new $P895, 'ExceptionHandler'
+    set_addr $P895, control_894
+    $P895."handle_types"(.CONTROL_RETURN)
+    push_eh $P895
     .lex "self", self
-    .lex "$/", param_917
+    .lex "$/", param_896
 .annotate 'line', 216
-    new $P918, "Undef"
-    .lex "$past", $P918
-    get_hll_global $P919, ["PAST"], "Regex"
-    find_lex $P920, "$/"
-    $P921 = $P919."new"("anchor" :named("pasttype"), "rwb" :named("subtype"), $P920 :named("node"))
-    store_lex "$past", $P921
+    new $P897, "Undef"
+    .lex "$past", $P897
+    get_hll_global $P898, ["PAST"], "Regex"
+    find_lex $P899, "$/"
+    $P900 = $P898."new"("anchor" :named("pasttype"), "rwb" :named("subtype"), $P899 :named("node"))
+    store_lex "$past", $P900
 .annotate 'line', 217
-    find_lex $P922, "$/"
-    find_lex $P923, "$past"
-    $P924 = $P922."!make"($P923)
+    find_lex $P901, "$/"
+    find_lex $P902, "$past"
+    $P903 = $P901."!make"($P902)
 .annotate 'line', 215
-    .return ($P924)
-  control_915:
+    .return ($P903)
+  control_894:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P925, exception, "payload"
-    .return ($P925)
+    getattribute $P904, exception, "payload"
+    .return ($P904)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<bs>"  :subid("58_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_929
+.sub "metachar:sym<bs>"  :subid("57_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_908
 .annotate 'line', 220
-    new $P928, 'ExceptionHandler'
-    set_addr $P928, control_927
-    $P928."handle_types"(.CONTROL_RETURN)
-    push_eh $P928
+    new $P907, 'ExceptionHandler'
+    set_addr $P907, control_906
+    $P907."handle_types"(.CONTROL_RETURN)
+    push_eh $P907
     .lex "self", self
-    .lex "$/", param_929
+    .lex "$/", param_908
 .annotate 'line', 221
-    find_lex $P930, "$/"
-    find_lex $P931, "$/"
-    unless_null $P931, vivify_235
-    $P931 = root_new ['parrot';'Hash']
+    find_lex $P909, "$/"
+    find_lex $P910, "$/"
+    unless_null $P910, vivify_235
+    $P910 = root_new ['parrot';'Hash']
   vivify_235:
-    set $P932, $P931["backslash"]
-    unless_null $P932, vivify_236
-    new $P932, "Undef"
+    set $P911, $P910["backslash"]
+    unless_null $P911, vivify_236
+    new $P911, "Undef"
   vivify_236:
-    $P933 = $P932."ast"()
-    $P934 = $P930."!make"($P933)
+    $P912 = $P911."ast"()
+    $P913 = $P909."!make"($P912)
 .annotate 'line', 220
-    .return ($P934)
-  control_927:
+    .return ($P913)
+  control_906:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P935, exception, "payload"
-    .return ($P935)
+    getattribute $P914, exception, "payload"
+    .return ($P914)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<mod>"  :subid("59_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_939
+.sub "metachar:sym<mod>"  :subid("58_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_918
 .annotate 'line', 224
-    new $P938, 'ExceptionHandler'
-    set_addr $P938, control_937
-    $P938."handle_types"(.CONTROL_RETURN)
-    push_eh $P938
+    new $P917, 'ExceptionHandler'
+    set_addr $P917, control_916
+    $P917."handle_types"(.CONTROL_RETURN)
+    push_eh $P917
     .lex "self", self
-    .lex "$/", param_939
+    .lex "$/", param_918
 .annotate 'line', 225
-    find_lex $P940, "$/"
-    find_lex $P941, "$/"
-    unless_null $P941, vivify_237
-    $P941 = root_new ['parrot';'Hash']
+    find_lex $P919, "$/"
+    find_lex $P920, "$/"
+    unless_null $P920, vivify_237
+    $P920 = root_new ['parrot';'Hash']
   vivify_237:
-    set $P942, $P941["mod_internal"]
-    unless_null $P942, vivify_238
-    new $P942, "Undef"
+    set $P921, $P920["mod_internal"]
+    unless_null $P921, vivify_238
+    new $P921, "Undef"
   vivify_238:
-    $P943 = $P942."ast"()
-    $P944 = $P940."!make"($P943)
+    $P922 = $P921."ast"()
+    $P923 = $P919."!make"($P922)
 .annotate 'line', 224
-    .return ($P944)
-  control_937:
+    .return ($P923)
+  control_916:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P945, exception, "payload"
-    .return ($P945)
+    getattribute $P924, exception, "payload"
+    .return ($P924)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<assert>"  :subid("60_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_949
+.sub "metachar:sym<assert>"  :subid("59_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_928
 .annotate 'line', 228
-    new $P948, 'ExceptionHandler'
-    set_addr $P948, control_947
-    $P948."handle_types"(.CONTROL_RETURN)
-    push_eh $P948
+    new $P927, 'ExceptionHandler'
+    set_addr $P927, control_926
+    $P927."handle_types"(.CONTROL_RETURN)
+    push_eh $P927
     .lex "self", self
-    .lex "$/", param_949
+    .lex "$/", param_928
 .annotate 'line', 229
-    find_lex $P950, "$/"
-    find_lex $P951, "$/"
-    unless_null $P951, vivify_239
-    $P951 = root_new ['parrot';'Hash']
+    find_lex $P929, "$/"
+    find_lex $P930, "$/"
+    unless_null $P930, vivify_239
+    $P930 = root_new ['parrot';'Hash']
   vivify_239:
-    set $P952, $P951["assertion"]
-    unless_null $P952, vivify_240
-    new $P952, "Undef"
+    set $P931, $P930["assertion"]
+    unless_null $P931, vivify_240
+    new $P931, "Undef"
   vivify_240:
-    $P953 = $P952."ast"()
-    $P954 = $P950."!make"($P953)
+    $P932 = $P931."ast"()
+    $P933 = $P929."!make"($P932)
 .annotate 'line', 228
-    .return ($P954)
-  control_947:
+    .return ($P933)
+  control_926:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P955, exception, "payload"
-    .return ($P955)
+    getattribute $P934, exception, "payload"
+    .return ($P934)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<~>"  :subid("61_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_959
+.sub "metachar:sym<~>"  :subid("60_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_938
 .annotate 'line', 232
-    new $P958, 'ExceptionHandler'
-    set_addr $P958, control_957
-    $P958."handle_types"(.CONTROL_RETURN)
-    push_eh $P958
+    new $P937, 'ExceptionHandler'
+    set_addr $P937, control_936
+    $P937."handle_types"(.CONTROL_RETURN)
+    push_eh $P937
     .lex "self", self
-    .lex "$/", param_959
+    .lex "$/", param_938
 .annotate 'line', 233
-    find_lex $P960, "$/"
-    get_hll_global $P961, ["PAST"], "Regex"
+    find_lex $P939, "$/"
+    get_hll_global $P940, ["PAST"], "Regex"
 .annotate 'line', 234
-    find_lex $P962, "$/"
-    unless_null $P962, vivify_241
-    $P962 = root_new ['parrot';'Hash']
+    find_lex $P941, "$/"
+    unless_null $P941, vivify_241
+    $P941 = root_new ['parrot';'Hash']
   vivify_241:
-    set $P963, $P962["EXPR"]
-    unless_null $P963, vivify_242
-    new $P963, "Undef"
+    set $P942, $P941["EXPR"]
+    unless_null $P942, vivify_242
+    new $P942, "Undef"
   vivify_242:
-    $P964 = $P963."ast"()
+    $P943 = $P942."ast"()
 .annotate 'line', 235
-    get_hll_global $P965, ["PAST"], "Regex"
+    get_hll_global $P944, ["PAST"], "Regex"
 .annotate 'line', 236
-    find_lex $P966, "$/"
-    unless_null $P966, vivify_243
-    $P966 = root_new ['parrot';'Hash']
+    find_lex $P945, "$/"
+    unless_null $P945, vivify_243
+    $P945 = root_new ['parrot';'Hash']
   vivify_243:
-    set $P967, $P966["GOAL"]
-    unless_null $P967, vivify_244
-    new $P967, "Undef"
+    set $P946, $P945["GOAL"]
+    unless_null $P946, vivify_244
+    new $P946, "Undef"
   vivify_244:
-    $P968 = $P967."ast"()
+    $P947 = $P946."ast"()
 .annotate 'line', 237
-    get_hll_global $P969, ["PAST"], "Regex"
-    find_lex $P970, "$/"
-    unless_null $P970, vivify_245
-    $P970 = root_new ['parrot';'Hash']
+    get_hll_global $P948, ["PAST"], "Regex"
+    find_lex $P949, "$/"
+    unless_null $P949, vivify_245
+    $P949 = root_new ['parrot';'Hash']
   vivify_245:
-    set $P971, $P970["GOAL"]
-    unless_null $P971, vivify_246
-    new $P971, "Undef"
+    set $P950, $P949["GOAL"]
+    unless_null $P950, vivify_246
+    new $P950, "Undef"
   vivify_246:
-    set $S972, $P971
-    $P973 = $P969."new"("FAILGOAL", $S972, "subrule" :named("pasttype"), "method" :named("subtype"))
-    $P974 = $P965."new"($P968, $P973, "alt" :named("pasttype"))
+    set $S951, $P950
+    $P952 = $P948."new"("FAILGOAL", $S951, "subrule" :named("pasttype"), "method" :named("subtype"))
+    $P953 = $P944."new"($P947, $P952, "alt" :named("pasttype"))
 .annotate 'line', 235
-    $P975 = $P961."new"($P964, $P974, "concat" :named("pasttype"))
+    $P954 = $P940."new"($P943, $P953, "concat" :named("pasttype"))
 .annotate 'line', 233
-    $P976 = $P960."!make"($P975)
+    $P955 = $P939."!make"($P954)
 .annotate 'line', 232
-    .return ($P976)
-  control_957:
+    .return ($P955)
+  control_936:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P977, exception, "payload"
-    .return ($P977)
+    getattribute $P956, exception, "payload"
+    .return ($P956)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<{*}>"  :subid("62_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_981
+.sub "metachar:sym<{*}>"  :subid("61_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_960
 .annotate 'line', 245
-    new $P980, 'ExceptionHandler'
-    set_addr $P980, control_979
-    $P980."handle_types"(.CONTROL_RETURN)
-    push_eh $P980
+    new $P959, 'ExceptionHandler'
+    set_addr $P959, control_958
+    $P959."handle_types"(.CONTROL_RETURN)
+    push_eh $P959
     .lex "self", self
-    .lex "$/", param_981
+    .lex "$/", param_960
 .annotate 'line', 246
-    new $P982, "Undef"
-    .lex "$past", $P982
+    new $P961, "Undef"
+    .lex "$past", $P961
 .annotate 'line', 247
-    find_lex $P985, "$/"
-    unless_null $P985, vivify_247
-    $P985 = root_new ['parrot';'Hash']
+    find_lex $P964, "$/"
+    unless_null $P964, vivify_247
+    $P964 = root_new ['parrot';'Hash']
   vivify_247:
-    set $P986, $P985["key"]
-    unless_null $P986, vivify_248
-    new $P986, "Undef"
+    set $P965, $P964["key"]
+    unless_null $P965, vivify_248
+    new $P965, "Undef"
   vivify_248:
-    if $P986, if_984
-    new $P994, "Integer"
-    assign $P994, 0
-    set $P983, $P994
-    goto if_984_end
-  if_984:
-    get_hll_global $P987, ["PAST"], "Regex"
-    find_lex $P988, "$/"
-    unless_null $P988, vivify_249
-    $P988 = root_new ['parrot';'Hash']
+    if $P965, if_963
+    new $P973, "Integer"
+    assign $P973, 0
+    set $P962, $P973
+    goto if_963_end
+  if_963:
+    get_hll_global $P966, ["PAST"], "Regex"
+    find_lex $P967, "$/"
+    unless_null $P967, vivify_249
+    $P967 = root_new ['parrot';'Hash']
   vivify_249:
-    set $P989, $P988["key"]
-    unless_null $P989, vivify_250
-    $P989 = root_new ['parrot';'ResizablePMCArray']
+    set $P968, $P967["key"]
+    unless_null $P968, vivify_250
+    $P968 = root_new ['parrot';'ResizablePMCArray']
   vivify_250:
-    set $P990, $P989[0]
-    unless_null $P990, vivify_251
-    new $P990, "Undef"
+    set $P969, $P968[0]
+    unless_null $P969, vivify_251
+    new $P969, "Undef"
   vivify_251:
-    set $S991, $P990
-    find_lex $P992, "$/"
-    $P993 = $P987."new"($S991, "reduce" :named("pasttype"), $P992 :named("node"))
-    set $P983, $P993
-  if_984_end:
-    store_lex "$past", $P983
+    set $S970, $P969
+    find_lex $P971, "$/"
+    $P972 = $P966."new"($S970, "reduce" :named("pasttype"), $P971 :named("node"))
+    set $P962, $P972
+  if_963_end:
+    store_lex "$past", $P962
 .annotate 'line', 249
-    find_lex $P995, "$/"
-    find_lex $P996, "$past"
-    $P997 = $P995."!make"($P996)
+    find_lex $P974, "$/"
+    find_lex $P975, "$past"
+    $P976 = $P974."!make"($P975)
 .annotate 'line', 245
-    .return ($P997)
-  control_979:
+    .return ($P976)
+  control_958:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P998, exception, "payload"
-    .return ($P998)
+    getattribute $P977, exception, "payload"
+    .return ($P977)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<var>"  :subid("63_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1002
+.sub "metachar:sym<var>"  :subid("62_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_981
 .annotate 'line', 252
-    new $P1001, 'ExceptionHandler'
-    set_addr $P1001, control_1000
-    $P1001."handle_types"(.CONTROL_RETURN)
-    push_eh $P1001
+    new $P980, 'ExceptionHandler'
+    set_addr $P980, control_979
+    $P980."handle_types"(.CONTROL_RETURN)
+    push_eh $P980
     .lex "self", self
-    .lex "$/", param_1002
+    .lex "$/", param_981
 .annotate 'line', 253
-    new $P1003, "Undef"
-    .lex "$past", $P1003
+    new $P982, "Undef"
+    .lex "$past", $P982
 .annotate 'line', 254
-    new $P1004, "Undef"
-    .lex "$name", $P1004
+    new $P983, "Undef"
+    .lex "$name", $P983
 .annotate 'line', 252
-    find_lex $P1005, "$past"
+    find_lex $P984, "$past"
 .annotate 'line', 254
-    find_lex $P1008, "$/"
-    unless_null $P1008, vivify_252
-    $P1008 = root_new ['parrot';'Hash']
+    find_lex $P987, "$/"
+    unless_null $P987, vivify_252
+    $P987 = root_new ['parrot';'Hash']
   vivify_252:
-    set $P1009, $P1008["pos"]
-    unless_null $P1009, vivify_253
-    new $P1009, "Undef"
+    set $P988, $P987["pos"]
+    unless_null $P988, vivify_253
+    new $P988, "Undef"
   vivify_253:
-    if $P1009, if_1007
-    find_lex $P1013, "$/"
-    unless_null $P1013, vivify_254
-    $P1013 = root_new ['parrot';'Hash']
+    if $P988, if_986
+    find_lex $P992, "$/"
+    unless_null $P992, vivify_254
+    $P992 = root_new ['parrot';'Hash']
   vivify_254:
-    set $P1014, $P1013["name"]
-    unless_null $P1014, vivify_255
-    new $P1014, "Undef"
+    set $P993, $P992["name"]
+    unless_null $P993, vivify_255
+    new $P993, "Undef"
   vivify_255:
-    set $S1015, $P1014
-    new $P1006, 'String'
-    set $P1006, $S1015
-    goto if_1007_end
-  if_1007:
-    find_lex $P1010, "$/"
-    unless_null $P1010, vivify_256
-    $P1010 = root_new ['parrot';'Hash']
+    set $S994, $P993
+    new $P985, 'String'
+    set $P985, $S994
+    goto if_986_end
+  if_986:
+    find_lex $P989, "$/"
+    unless_null $P989, vivify_256
+    $P989 = root_new ['parrot';'Hash']
   vivify_256:
-    set $P1011, $P1010["pos"]
-    unless_null $P1011, vivify_257
-    new $P1011, "Undef"
+    set $P990, $P989["pos"]
+    unless_null $P990, vivify_257
+    new $P990, "Undef"
   vivify_257:
-    set $N1012, $P1011
-    new $P1006, 'Float'
-    set $P1006, $N1012
-  if_1007_end:
-    store_lex "$name", $P1006
+    set $N991, $P990
+    new $P985, 'Float'
+    set $P985, $N991
+  if_986_end:
+    store_lex "$name", $P985
 .annotate 'line', 255
-    find_lex $P1017, "$/"
-    unless_null $P1017, vivify_258
-    $P1017 = root_new ['parrot';'Hash']
+    find_lex $P996, "$/"
+    unless_null $P996, vivify_258
+    $P996 = root_new ['parrot';'Hash']
   vivify_258:
-    set $P1018, $P1017["quantified_atom"]
-    unless_null $P1018, vivify_259
-    new $P1018, "Undef"
+    set $P997, $P996["quantified_atom"]
+    unless_null $P997, vivify_259
+    new $P997, "Undef"
   vivify_259:
-    if $P1018, if_1016
+    if $P997, if_995
 .annotate 'line', 266
-    get_hll_global $P1047, ["PAST"], "Regex"
-    find_lex $P1048, "$name"
-    find_lex $P1049, "$/"
-    $P1050 = $P1047."new"("!BACKREF", $P1048, "subrule" :named("pasttype"), "method" :named("subtype"), $P1049 :named("node"))
-    store_lex "$past", $P1050
+    get_hll_global $P1028, ["PAST"], "Regex"
+    find_lex $P1029, "$name"
+    find_lex $P1030, "$/"
+    $P1031 = $P1028."new"("!BACKREF", $P1029, "subrule" :named("pasttype"), "method" :named("subtype"), $P1030 :named("node"))
+    store_lex "$past", $P1031
 .annotate 'line', 265
-    goto if_1016_end
-  if_1016:
+    goto if_995_end
+  if_995:
 .annotate 'line', 256
-    find_lex $P1019, "$/"
-    unless_null $P1019, vivify_260
-    $P1019 = root_new ['parrot';'Hash']
+    find_lex $P998, "$/"
+    unless_null $P998, vivify_260
+    $P998 = root_new ['parrot';'Hash']
   vivify_260:
-    set $P1020, $P1019["quantified_atom"]
-    unless_null $P1020, vivify_261
-    $P1020 = root_new ['parrot';'ResizablePMCArray']
+    set $P999, $P998["quantified_atom"]
+    unless_null $P999, vivify_261
+    $P999 = root_new ['parrot';'ResizablePMCArray']
   vivify_261:
-    set $P1021, $P1020[0]
-    unless_null $P1021, vivify_262
-    new $P1021, "Undef"
+    set $P1000, $P999[0]
+    unless_null $P1000, vivify_262
+    new $P1000, "Undef"
   vivify_262:
-    $P1022 = $P1021."ast"()
-    store_lex "$past", $P1022
+    $P1001 = $P1000."ast"()
+    store_lex "$past", $P1001
 .annotate 'line', 257
-    find_lex $P1026, "$past"
-    $S1027 = $P1026."pasttype"()
-    iseq $I1028, $S1027, "quant"
-    if $I1028, if_1025
-    new $P1024, 'Integer'
-    set $P1024, $I1028
-    goto if_1025_end
-  if_1025:
-    find_lex $P1029, "$past"
-    unless_null $P1029, vivify_263
-    $P1029 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1005, "$past"
+    $S1006 = $P1005."pasttype"()
+    iseq $I1007, $S1006, "quant"
+    if $I1007, if_1004
+    new $P1003, 'Integer'
+    set $P1003, $I1007
+    goto if_1004_end
+  if_1004:
+    find_lex $P1008, "$past"
+    unless_null $P1008, vivify_263
+    $P1008 = root_new ['parrot';'ResizablePMCArray']
   vivify_263:
-    set $P1030, $P1029[0]
-    unless_null $P1030, vivify_264
-    new $P1030, "Undef"
+    set $P1009, $P1008[0]
+    unless_null $P1009, vivify_264
+    new $P1009, "Undef"
   vivify_264:
-    $S1031 = $P1030."pasttype"()
-    iseq $I1032, $S1031, "subrule"
-    new $P1024, 'Integer'
-    set $P1024, $I1032
-  if_1025_end:
-    if $P1024, if_1023
+    $S1010 = $P1009."pasttype"()
+    iseq $I1011, $S1010, "subrule"
+    new $P1003, 'Integer'
+    set $P1003, $I1011
+  if_1004_end:
+    if $P1003, if_1002
 .annotate 'line', 260
-    find_lex $P1037, "$past"
-    $S1038 = $P1037."pasttype"()
-    iseq $I1039, $S1038, "subrule"
-    if $I1039, if_1036
+    find_lex $P1017, "$past"
+    $S1018 = $P1017."pasttype"()
+    iseq $I1019, $S1018, "subrule"
+    if $I1019, if_1016
 .annotate 'line', 262
-    get_hll_global $P1042, ["PAST"], "Regex"
-    find_lex $P1043, "$past"
-    find_lex $P1044, "$name"
-    find_lex $P1045, "$/"
-    $P1046 = $P1042."new"($P1043, $P1044 :named("name"), "subcapture" :named("pasttype"), $P1045 :named("node"))
-    store_lex "$past", $P1046
+    get_hll_global $P1023, ["PAST"], "Regex"
+    find_lex $P1024, "$past"
+    find_lex $P1025, "$name"
+    find_lex $P1026, "$/"
+    $P1027 = $P1023."new"($P1024, $P1025 :named("name"), "subcapture" :named("pasttype"), $P1026 :named("node"))
+    store_lex "$past", $P1027
 .annotate 'line', 261
-    goto if_1036_end
-  if_1036:
+    goto if_1016_end
+  if_1016:
 .annotate 'line', 260
-    find_lex $P1040, "$past"
-    find_lex $P1041, "$name"
-    "subrule_alias"($P1040, $P1041)
-  if_1036_end:
-    goto if_1023_end
-  if_1023:
+    find_lex $P1020, "self"
+    find_lex $P1021, "$past"
+    find_lex $P1022, "$name"
+    $P1020."subrule_alias"($P1021, $P1022)
+  if_1016_end:
+    goto if_1002_end
+  if_1002:
 .annotate 'line', 258
-    find_lex $P1033, "$past"
-    unless_null $P1033, vivify_265
-    $P1033 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1012, "self"
+    find_lex $P1013, "$past"
+    unless_null $P1013, vivify_265
+    $P1013 = root_new ['parrot';'ResizablePMCArray']
   vivify_265:
-    set $P1034, $P1033[0]
-    unless_null $P1034, vivify_266
-    new $P1034, "Undef"
+    set $P1014, $P1013[0]
+    unless_null $P1014, vivify_266
+    new $P1014, "Undef"
   vivify_266:
-    find_lex $P1035, "$name"
-    "subrule_alias"($P1034, $P1035)
-  if_1023_end:
-  if_1016_end:
+    find_lex $P1015, "$name"
+    $P1012."subrule_alias"($P1014, $P1015)
+  if_1002_end:
+  if_995_end:
 .annotate 'line', 269
-    find_lex $P1051, "$/"
-    find_lex $P1052, "$past"
-    $P1053 = $P1051."!make"($P1052)
+    find_lex $P1032, "$/"
+    find_lex $P1033, "$past"
+    $P1034 = $P1032."!make"($P1033)
 .annotate 'line', 252
-    .return ($P1053)
-  control_1000:
+    .return ($P1034)
+  control_979:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1054, exception, "payload"
-    .return ($P1054)
+    getattribute $P1035, exception, "payload"
+    .return ($P1035)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<PIR>"  :subid("64_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1058
+.sub "metachar:sym<PIR>"  :subid("63_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1039
 .annotate 'line', 272
-    new $P1057, 'ExceptionHandler'
-    set_addr $P1057, control_1056
-    $P1057."handle_types"(.CONTROL_RETURN)
-    push_eh $P1057
+    new $P1038, 'ExceptionHandler'
+    set_addr $P1038, control_1037
+    $P1038."handle_types"(.CONTROL_RETURN)
+    push_eh $P1038
     .lex "self", self
-    .lex "$/", param_1058
+    .lex "$/", param_1039
 .annotate 'line', 273
-    find_lex $P1059, "$/"
-    get_hll_global $P1060, ["PAST"], "Regex"
+    find_lex $P1040, "$/"
+    get_hll_global $P1041, ["PAST"], "Regex"
 .annotate 'line', 274
-    get_hll_global $P1061, ["PAST"], "Op"
-    find_lex $P1062, "$/"
-    unless_null $P1062, vivify_267
-    $P1062 = root_new ['parrot';'Hash']
+    get_hll_global $P1042, ["PAST"], "Op"
+    find_lex $P1043, "$/"
+    unless_null $P1043, vivify_267
+    $P1043 = root_new ['parrot';'Hash']
   vivify_267:
-    set $P1063, $P1062["pir"]
-    unless_null $P1063, vivify_268
-    new $P1063, "Undef"
+    set $P1044, $P1043["pir"]
+    unless_null $P1044, vivify_268
+    new $P1044, "Undef"
   vivify_268:
-    set $S1064, $P1063
-    $P1065 = $P1061."new"($S1064 :named("inline"), "inline" :named("pasttype"))
-    find_lex $P1066, "$/"
-    $P1067 = $P1060."new"($P1065, "pastnode" :named("pasttype"), $P1066 :named("node"))
+    set $S1045, $P1044
+    $P1046 = $P1042."new"($S1045 :named("inline"), "inline" :named("pasttype"))
+    find_lex $P1047, "$/"
+    $P1048 = $P1041."new"($P1046, "pastnode" :named("pasttype"), $P1047 :named("node"))
 .annotate 'line', 273
-    $P1068 = $P1059."!make"($P1067)
+    $P1049 = $P1040."!make"($P1048)
 .annotate 'line', 272
-    .return ($P1068)
-  control_1056:
+    .return ($P1049)
+  control_1037:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1069, exception, "payload"
-    .return ($P1069)
+    getattribute $P1050, exception, "payload"
+    .return ($P1050)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<w>"  :subid("65_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1073
+.sub "backslash:sym<w>"  :subid("64_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1054
 .annotate 'line', 280
-    new $P1072, 'ExceptionHandler'
-    set_addr $P1072, control_1071
-    $P1072."handle_types"(.CONTROL_RETURN)
-    push_eh $P1072
+    new $P1053, 'ExceptionHandler'
+    set_addr $P1053, control_1052
+    $P1053."handle_types"(.CONTROL_RETURN)
+    push_eh $P1053
     .lex "self", self
-    .lex "$/", param_1073
+    .lex "$/", param_1054
 .annotate 'line', 281
-    new $P1074, "Undef"
-    .lex "$subtype", $P1074
+    new $P1055, "Undef"
+    .lex "$subtype", $P1055
 .annotate 'line', 282
-    new $P1075, "Undef"
-    .lex "$past", $P1075
+    new $P1056, "Undef"
+    .lex "$past", $P1056
 .annotate 'line', 281
-    find_lex $P1078, "$/"
-    unless_null $P1078, vivify_269
-    $P1078 = root_new ['parrot';'Hash']
+    find_lex $P1059, "$/"
+    unless_null $P1059, vivify_269
+    $P1059 = root_new ['parrot';'Hash']
   vivify_269:
-    set $P1079, $P1078["sym"]
-    unless_null $P1079, vivify_270
-    new $P1079, "Undef"
+    set $P1060, $P1059["sym"]
+    unless_null $P1060, vivify_270
+    new $P1060, "Undef"
   vivify_270:
-    set $S1080, $P1079
-    iseq $I1081, $S1080, "n"
-    if $I1081, if_1077
-    find_lex $P1083, "$/"
-    unless_null $P1083, vivify_271
-    $P1083 = root_new ['parrot';'Hash']
+    set $S1061, $P1060
+    iseq $I1062, $S1061, "n"
+    if $I1062, if_1058
+    find_lex $P1064, "$/"
+    unless_null $P1064, vivify_271
+    $P1064 = root_new ['parrot';'Hash']
   vivify_271:
-    set $P1084, $P1083["sym"]
-    unless_null $P1084, vivify_272
-    new $P1084, "Undef"
+    set $P1065, $P1064["sym"]
+    unless_null $P1065, vivify_272
+    new $P1065, "Undef"
   vivify_272:
-    set $S1085, $P1084
-    new $P1076, 'String'
-    set $P1076, $S1085
-    goto if_1077_end
-  if_1077:
-    new $P1082, "String"
-    assign $P1082, "nl"
-    set $P1076, $P1082
-  if_1077_end:
-    store_lex "$subtype", $P1076
+    set $S1066, $P1065
+    new $P1057, 'String'
+    set $P1057, $S1066
+    goto if_1058_end
+  if_1058:
+    new $P1063, "String"
+    assign $P1063, "nl"
+    set $P1057, $P1063
+  if_1058_end:
+    store_lex "$subtype", $P1057
 .annotate 'line', 282
-    get_hll_global $P1086, ["PAST"], "Regex"
-    find_lex $P1087, "$subtype"
-    find_lex $P1088, "$/"
-    $P1089 = $P1086."new"("charclass" :named("pasttype"), $P1087 :named("subtype"), $P1088 :named("node"))
-    store_lex "$past", $P1089
+    get_hll_global $P1067, ["PAST"], "Regex"
+    find_lex $P1068, "$subtype"
+    find_lex $P1069, "$/"
+    $P1070 = $P1067."new"("charclass" :named("pasttype"), $P1068 :named("subtype"), $P1069 :named("node"))
+    store_lex "$past", $P1070
 .annotate 'line', 283
-    find_lex $P1090, "$/"
-    find_lex $P1091, "$past"
-    $P1092 = $P1090."!make"($P1091)
+    find_lex $P1071, "$/"
+    find_lex $P1072, "$past"
+    $P1073 = $P1071."!make"($P1072)
 .annotate 'line', 280
-    .return ($P1092)
-  control_1071:
+    .return ($P1073)
+  control_1052:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1093, exception, "payload"
-    .return ($P1093)
+    getattribute $P1074, exception, "payload"
+    .return ($P1074)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<b>"  :subid("66_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1097
+.sub "backslash:sym<b>"  :subid("65_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1078
 .annotate 'line', 286
-    new $P1096, 'ExceptionHandler'
-    set_addr $P1096, control_1095
-    $P1096."handle_types"(.CONTROL_RETURN)
-    push_eh $P1096
+    new $P1077, 'ExceptionHandler'
+    set_addr $P1077, control_1076
+    $P1077."handle_types"(.CONTROL_RETURN)
+    push_eh $P1077
     .lex "self", self
-    .lex "$/", param_1097
+    .lex "$/", param_1078
 .annotate 'line', 287
-    new $P1098, "Undef"
-    .lex "$past", $P1098
-    get_hll_global $P1099, ["PAST"], "Regex"
+    new $P1079, "Undef"
+    .lex "$past", $P1079
+    get_hll_global $P1080, ["PAST"], "Regex"
 .annotate 'line', 288
-    find_lex $P1100, "$/"
-    unless_null $P1100, vivify_273
-    $P1100 = root_new ['parrot';'Hash']
+    find_lex $P1081, "$/"
+    unless_null $P1081, vivify_273
+    $P1081 = root_new ['parrot';'Hash']
   vivify_273:
-    set $P1101, $P1100["sym"]
-    unless_null $P1101, vivify_274
-    new $P1101, "Undef"
+    set $P1082, $P1081["sym"]
+    unless_null $P1082, vivify_274
+    new $P1082, "Undef"
   vivify_274:
-    set $S1102, $P1101
-    iseq $I1103, $S1102, "B"
-    find_lex $P1104, "$/"
-    $P1105 = $P1099."new"("\b", "enumcharlist" :named("pasttype"), $I1103 :named("negate"), $P1104 :named("node"))
+    set $S1083, $P1082
+    iseq $I1084, $S1083, "B"
+    find_lex $P1085, "$/"
+    $P1086 = $P1080."new"("\b", "enumcharlist" :named("pasttype"), $I1084 :named("negate"), $P1085 :named("node"))
 .annotate 'line', 287
-    store_lex "$past", $P1105
+    store_lex "$past", $P1086
 .annotate 'line', 289
-    find_lex $P1106, "$/"
-    find_lex $P1107, "$past"
-    $P1108 = $P1106."!make"($P1107)
+    find_lex $P1087, "$/"
+    find_lex $P1088, "$past"
+    $P1089 = $P1087."!make"($P1088)
 .annotate 'line', 286
-    .return ($P1108)
-  control_1095:
+    .return ($P1089)
+  control_1076:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1109, exception, "payload"
-    .return ($P1109)
+    getattribute $P1090, exception, "payload"
+    .return ($P1090)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<e>"  :subid("67_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1113
+.sub "backslash:sym<e>"  :subid("66_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1094
 .annotate 'line', 292
-    new $P1112, 'ExceptionHandler'
-    set_addr $P1112, control_1111
-    $P1112."handle_types"(.CONTROL_RETURN)
-    push_eh $P1112
+    new $P1093, 'ExceptionHandler'
+    set_addr $P1093, control_1092
+    $P1093."handle_types"(.CONTROL_RETURN)
+    push_eh $P1093
     .lex "self", self
-    .lex "$/", param_1113
+    .lex "$/", param_1094
 .annotate 'line', 293
-    new $P1114, "Undef"
-    .lex "$past", $P1114
-    get_hll_global $P1115, ["PAST"], "Regex"
+    new $P1095, "Undef"
+    .lex "$past", $P1095
+    get_hll_global $P1096, ["PAST"], "Regex"
 .annotate 'line', 294
-    find_lex $P1116, "$/"
-    unless_null $P1116, vivify_275
-    $P1116 = root_new ['parrot';'Hash']
+    find_lex $P1097, "$/"
+    unless_null $P1097, vivify_275
+    $P1097 = root_new ['parrot';'Hash']
   vivify_275:
-    set $P1117, $P1116["sym"]
-    unless_null $P1117, vivify_276
-    new $P1117, "Undef"
+    set $P1098, $P1097["sym"]
+    unless_null $P1098, vivify_276
+    new $P1098, "Undef"
   vivify_276:
-    set $S1118, $P1117
-    iseq $I1119, $S1118, "E"
-    find_lex $P1120, "$/"
-    $P1121 = $P1115."new"("\e", "enumcharlist" :named("pasttype"), $I1119 :named("negate"), $P1120 :named("node"))
+    set $S1099, $P1098
+    iseq $I1100, $S1099, "E"
+    find_lex $P1101, "$/"
+    $P1102 = $P1096."new"("\e", "enumcharlist" :named("pasttype"), $I1100 :named("negate"), $P1101 :named("node"))
 .annotate 'line', 293
-    store_lex "$past", $P1121
+    store_lex "$past", $P1102
 .annotate 'line', 295
-    find_lex $P1122, "$/"
-    find_lex $P1123, "$past"
-    $P1124 = $P1122."!make"($P1123)
+    find_lex $P1103, "$/"
+    find_lex $P1104, "$past"
+    $P1105 = $P1103."!make"($P1104)
 .annotate 'line', 292
-    .return ($P1124)
-  control_1111:
+    .return ($P1105)
+  control_1092:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1125, exception, "payload"
-    .return ($P1125)
+    getattribute $P1106, exception, "payload"
+    .return ($P1106)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<f>"  :subid("68_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1129
+.sub "backslash:sym<f>"  :subid("67_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1110
 .annotate 'line', 298
-    new $P1128, 'ExceptionHandler'
-    set_addr $P1128, control_1127
-    $P1128."handle_types"(.CONTROL_RETURN)
-    push_eh $P1128
+    new $P1109, 'ExceptionHandler'
+    set_addr $P1109, control_1108
+    $P1109."handle_types"(.CONTROL_RETURN)
+    push_eh $P1109
     .lex "self", self
-    .lex "$/", param_1129
+    .lex "$/", param_1110
 .annotate 'line', 299
-    new $P1130, "Undef"
-    .lex "$past", $P1130
-    get_hll_global $P1131, ["PAST"], "Regex"
+    new $P1111, "Undef"
+    .lex "$past", $P1111
+    get_hll_global $P1112, ["PAST"], "Regex"
 .annotate 'line', 300
-    find_lex $P1132, "$/"
-    unless_null $P1132, vivify_277
-    $P1132 = root_new ['parrot';'Hash']
+    find_lex $P1113, "$/"
+    unless_null $P1113, vivify_277
+    $P1113 = root_new ['parrot';'Hash']
   vivify_277:
-    set $P1133, $P1132["sym"]
-    unless_null $P1133, vivify_278
-    new $P1133, "Undef"
+    set $P1114, $P1113["sym"]
+    unless_null $P1114, vivify_278
+    new $P1114, "Undef"
   vivify_278:
-    set $S1134, $P1133
-    iseq $I1135, $S1134, "F"
-    find_lex $P1136, "$/"
-    $P1137 = $P1131."new"("\f", "enumcharlist" :named("pasttype"), $I1135 :named("negate"), $P1136 :named("node"))
+    set $S1115, $P1114
+    iseq $I1116, $S1115, "F"
+    find_lex $P1117, "$/"
+    $P1118 = $P1112."new"("\f", "enumcharlist" :named("pasttype"), $I1116 :named("negate"), $P1117 :named("node"))
 .annotate 'line', 299
-    store_lex "$past", $P1137
+    store_lex "$past", $P1118
 .annotate 'line', 301
-    find_lex $P1138, "$/"
-    find_lex $P1139, "$past"
-    $P1140 = $P1138."!make"($P1139)
+    find_lex $P1119, "$/"
+    find_lex $P1120, "$past"
+    $P1121 = $P1119."!make"($P1120)
 .annotate 'line', 298
-    .return ($P1140)
-  control_1127:
+    .return ($P1121)
+  control_1108:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1141, exception, "payload"
-    .return ($P1141)
+    getattribute $P1122, exception, "payload"
+    .return ($P1122)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<h>"  :subid("69_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1145
+.sub "backslash:sym<h>"  :subid("68_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1126
 .annotate 'line', 304
-    new $P1144, 'ExceptionHandler'
-    set_addr $P1144, control_1143
-    $P1144."handle_types"(.CONTROL_RETURN)
-    push_eh $P1144
+    new $P1125, 'ExceptionHandler'
+    set_addr $P1125, control_1124
+    $P1125."handle_types"(.CONTROL_RETURN)
+    push_eh $P1125
     .lex "self", self
-    .lex "$/", param_1145
+    .lex "$/", param_1126
 .annotate 'line', 305
-    new $P1146, "Undef"
-    .lex "$past", $P1146
-    get_hll_global $P1147, ["PAST"], "Regex"
+    new $P1127, "Undef"
+    .lex "$past", $P1127
+    get_hll_global $P1128, ["PAST"], "Regex"
 .annotate 'line', 306
-    find_lex $P1148, "$/"
-    unless_null $P1148, vivify_279
-    $P1148 = root_new ['parrot';'Hash']
+    find_lex $P1129, "$/"
+    unless_null $P1129, vivify_279
+    $P1129 = root_new ['parrot';'Hash']
   vivify_279:
-    set $P1149, $P1148["sym"]
-    unless_null $P1149, vivify_280
-    new $P1149, "Undef"
+    set $P1130, $P1129["sym"]
+    unless_null $P1130, vivify_280
+    new $P1130, "Undef"
   vivify_280:
-    set $S1150, $P1149
-    iseq $I1151, $S1150, "H"
-    find_lex $P1152, "$/"
-    $P1153 = $P1147."new"(unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", "enumcharlist" :named("pasttype"), $I1151 :named("negate"), $P1152 :named("node"))
+    set $S1131, $P1130
+    iseq $I1132, $S1131, "H"
+    find_lex $P1133, "$/"
+    $P1134 = $P1128."new"(unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", "enumcharlist" :named("pasttype"), $I1132 :named("negate"), $P1133 :named("node"))
 .annotate 'line', 305
-    store_lex "$past", $P1153
+    store_lex "$past", $P1134
 .annotate 'line', 307
-    find_lex $P1154, "$/"
-    find_lex $P1155, "$past"
-    $P1156 = $P1154."!make"($P1155)
+    find_lex $P1135, "$/"
+    find_lex $P1136, "$past"
+    $P1137 = $P1135."!make"($P1136)
 .annotate 'line', 304
-    .return ($P1156)
-  control_1143:
+    .return ($P1137)
+  control_1124:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1157, exception, "payload"
-    .return ($P1157)
+    getattribute $P1138, exception, "payload"
+    .return ($P1138)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<r>"  :subid("70_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1161
+.sub "backslash:sym<r>"  :subid("69_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1142
 .annotate 'line', 310
-    new $P1160, 'ExceptionHandler'
-    set_addr $P1160, control_1159
-    $P1160."handle_types"(.CONTROL_RETURN)
-    push_eh $P1160
+    new $P1141, 'ExceptionHandler'
+    set_addr $P1141, control_1140
+    $P1141."handle_types"(.CONTROL_RETURN)
+    push_eh $P1141
     .lex "self", self
-    .lex "$/", param_1161
+    .lex "$/", param_1142
 .annotate 'line', 311
-    new $P1162, "Undef"
-    .lex "$past", $P1162
-    get_hll_global $P1163, ["PAST"], "Regex"
+    new $P1143, "Undef"
+    .lex "$past", $P1143
+    get_hll_global $P1144, ["PAST"], "Regex"
 .annotate 'line', 312
-    find_lex $P1164, "$/"
-    unless_null $P1164, vivify_281
-    $P1164 = root_new ['parrot';'Hash']
+    find_lex $P1145, "$/"
+    unless_null $P1145, vivify_281
+    $P1145 = root_new ['parrot';'Hash']
   vivify_281:
-    set $P1165, $P1164["sym"]
-    unless_null $P1165, vivify_282
-    new $P1165, "Undef"
+    set $P1146, $P1145["sym"]
+    unless_null $P1146, vivify_282
+    new $P1146, "Undef"
   vivify_282:
-    set $S1166, $P1165
-    iseq $I1167, $S1166, "R"
-    find_lex $P1168, "$/"
-    $P1169 = $P1163."new"("\r", "enumcharlist" :named("pasttype"), $I1167 :named("negate"), $P1168 :named("node"))
+    set $S1147, $P1146
+    iseq $I1148, $S1147, "R"
+    find_lex $P1149, "$/"
+    $P1150 = $P1144."new"("\r", "enumcharlist" :named("pasttype"), $I1148 :named("negate"), $P1149 :named("node"))
 .annotate 'line', 311
-    store_lex "$past", $P1169
+    store_lex "$past", $P1150
 .annotate 'line', 313
-    find_lex $P1170, "$/"
-    find_lex $P1171, "$past"
-    $P1172 = $P1170."!make"($P1171)
+    find_lex $P1151, "$/"
+    find_lex $P1152, "$past"
+    $P1153 = $P1151."!make"($P1152)
 .annotate 'line', 310
-    .return ($P1172)
-  control_1159:
+    .return ($P1153)
+  control_1140:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1173, exception, "payload"
-    .return ($P1173)
+    getattribute $P1154, exception, "payload"
+    .return ($P1154)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<t>"  :subid("71_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1177
+.sub "backslash:sym<t>"  :subid("70_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1158
 .annotate 'line', 316
-    new $P1176, 'ExceptionHandler'
-    set_addr $P1176, control_1175
-    $P1176."handle_types"(.CONTROL_RETURN)
-    push_eh $P1176
+    new $P1157, 'ExceptionHandler'
+    set_addr $P1157, control_1156
+    $P1157."handle_types"(.CONTROL_RETURN)
+    push_eh $P1157
     .lex "self", self
-    .lex "$/", param_1177
+    .lex "$/", param_1158
 .annotate 'line', 317
-    new $P1178, "Undef"
-    .lex "$past", $P1178
-    get_hll_global $P1179, ["PAST"], "Regex"
+    new $P1159, "Undef"
+    .lex "$past", $P1159
+    get_hll_global $P1160, ["PAST"], "Regex"
 .annotate 'line', 318
-    find_lex $P1180, "$/"
-    unless_null $P1180, vivify_283
-    $P1180 = root_new ['parrot';'Hash']
+    find_lex $P1161, "$/"
+    unless_null $P1161, vivify_283
+    $P1161 = root_new ['parrot';'Hash']
   vivify_283:
-    set $P1181, $P1180["sym"]
-    unless_null $P1181, vivify_284
-    new $P1181, "Undef"
+    set $P1162, $P1161["sym"]
+    unless_null $P1162, vivify_284
+    new $P1162, "Undef"
   vivify_284:
-    set $S1182, $P1181
-    iseq $I1183, $S1182, "T"
-    find_lex $P1184, "$/"
-    $P1185 = $P1179."new"("\t", "enumcharlist" :named("pasttype"), $I1183 :named("negate"), $P1184 :named("node"))
+    set $S1163, $P1162
+    iseq $I1164, $S1163, "T"
+    find_lex $P1165, "$/"
+    $P1166 = $P1160."new"("\t", "enumcharlist" :named("pasttype"), $I1164 :named("negate"), $P1165 :named("node"))
 .annotate 'line', 317
-    store_lex "$past", $P1185
+    store_lex "$past", $P1166
 .annotate 'line', 319
-    find_lex $P1186, "$/"
-    find_lex $P1187, "$past"
-    $P1188 = $P1186."!make"($P1187)
+    find_lex $P1167, "$/"
+    find_lex $P1168, "$past"
+    $P1169 = $P1167."!make"($P1168)
 .annotate 'line', 316
-    .return ($P1188)
-  control_1175:
+    .return ($P1169)
+  control_1156:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1189, exception, "payload"
-    .return ($P1189)
+    getattribute $P1170, exception, "payload"
+    .return ($P1170)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<v>"  :subid("72_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1193
+.sub "backslash:sym<v>"  :subid("71_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1174
 .annotate 'line', 322
-    new $P1192, 'ExceptionHandler'
-    set_addr $P1192, control_1191
-    $P1192."handle_types"(.CONTROL_RETURN)
-    push_eh $P1192
+    new $P1173, 'ExceptionHandler'
+    set_addr $P1173, control_1172
+    $P1173."handle_types"(.CONTROL_RETURN)
+    push_eh $P1173
     .lex "self", self
-    .lex "$/", param_1193
+    .lex "$/", param_1174
 .annotate 'line', 323
-    new $P1194, "Undef"
-    .lex "$past", $P1194
-    get_hll_global $P1195, ["PAST"], "Regex"
+    new $P1175, "Undef"
+    .lex "$past", $P1175
+    get_hll_global $P1176, ["PAST"], "Regex"
 .annotate 'line', 325
-    find_lex $P1196, "$/"
-    unless_null $P1196, vivify_285
-    $P1196 = root_new ['parrot';'Hash']
+    find_lex $P1177, "$/"
+    unless_null $P1177, vivify_285
+    $P1177 = root_new ['parrot';'Hash']
   vivify_285:
-    set $P1197, $P1196["sym"]
-    unless_null $P1197, vivify_286
-    new $P1197, "Undef"
+    set $P1178, $P1177["sym"]
+    unless_null $P1178, vivify_286
+    new $P1178, "Undef"
   vivify_286:
-    set $S1198, $P1197
-    iseq $I1199, $S1198, "V"
-    find_lex $P1200, "$/"
-    $P1201 = $P1195."new"(unicode:"\n\x{b}\f\r\x{85}\u2028\u2029", "enumcharlist" :named("pasttype"), $I1199 :named("negate"), $P1200 :named("node"))
+    set $S1179, $P1178
+    iseq $I1180, $S1179, "V"
+    find_lex $P1181, "$/"
+    $P1182 = $P1176."new"(unicode:"\n\x{b}\f\r\x{85}\u2028\u2029", "enumcharlist" :named("pasttype"), $I1180 :named("negate"), $P1181 :named("node"))
 .annotate 'line', 323
-    store_lex "$past", $P1201
+    store_lex "$past", $P1182
 .annotate 'line', 326
-    find_lex $P1202, "$/"
-    find_lex $P1203, "$past"
-    $P1204 = $P1202."!make"($P1203)
+    find_lex $P1183, "$/"
+    find_lex $P1184, "$past"
+    $P1185 = $P1183."!make"($P1184)
 .annotate 'line', 322
-    .return ($P1204)
-  control_1191:
+    .return ($P1185)
+  control_1172:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1205, exception, "payload"
-    .return ($P1205)
+    getattribute $P1186, exception, "payload"
+    .return ($P1186)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<o>"  :subid("73_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1209
+.sub "backslash:sym<o>"  :subid("72_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1190
 .annotate 'line', 329
-    new $P1208, 'ExceptionHandler'
-    set_addr $P1208, control_1207
-    $P1208."handle_types"(.CONTROL_RETURN)
-    push_eh $P1208
+    new $P1189, 'ExceptionHandler'
+    set_addr $P1189, control_1188
+    $P1189."handle_types"(.CONTROL_RETURN)
+    push_eh $P1189
     .lex "self", self
-    .lex "$/", param_1209
+    .lex "$/", param_1190
 .annotate 'line', 330
-    new $P1210, "Undef"
-    .lex "$octlit", $P1210
+    new $P1191, "Undef"
+    .lex "$octlit", $P1191
 .annotate 'line', 331
-    get_hll_global $P1211, ["HLL";"Actions"], "ints_to_string"
-    find_lex $P1214, "$/"
-    unless_null $P1214, vivify_287
-    $P1214 = root_new ['parrot';'Hash']
+    get_hll_global $P1192, ["HLL";"Actions"], "ints_to_string"
+    find_lex $P1195, "$/"
+    unless_null $P1195, vivify_287
+    $P1195 = root_new ['parrot';'Hash']
   vivify_287:
-    set $P1215, $P1214["octint"]
-    unless_null $P1215, vivify_288
-    new $P1215, "Undef"
+    set $P1196, $P1195["octint"]
+    unless_null $P1196, vivify_288
+    new $P1196, "Undef"
   vivify_288:
-    unless $P1215, unless_1213
-    set $P1212, $P1215
-    goto unless_1213_end
-  unless_1213:
-    find_lex $P1216, "$/"
-    unless_null $P1216, vivify_289
-    $P1216 = root_new ['parrot';'Hash']
+    unless $P1196, unless_1194
+    set $P1193, $P1196
+    goto unless_1194_end
+  unless_1194:
+    find_lex $P1197, "$/"
+    unless_null $P1197, vivify_289
+    $P1197 = root_new ['parrot';'Hash']
   vivify_289:
-    set $P1217, $P1216["octints"]
-    unless_null $P1217, vivify_290
-    $P1217 = root_new ['parrot';'Hash']
+    set $P1198, $P1197["octints"]
+    unless_null $P1198, vivify_290
+    $P1198 = root_new ['parrot';'Hash']
   vivify_290:
-    set $P1218, $P1217["octint"]
-    unless_null $P1218, vivify_291
-    new $P1218, "Undef"
+    set $P1199, $P1198["octint"]
+    unless_null $P1199, vivify_291
+    new $P1199, "Undef"
   vivify_291:
-    set $P1212, $P1218
-  unless_1213_end:
-    $P1219 = $P1211($P1212)
-    store_lex "$octlit", $P1219
+    set $P1193, $P1199
+  unless_1194_end:
+    $P1200 = $P1192($P1193)
+    store_lex "$octlit", $P1200
 .annotate 'line', 332
-    find_lex $P1220, "$/"
-    find_lex $P1223, "$/"
-    unless_null $P1223, vivify_292
-    $P1223 = root_new ['parrot';'Hash']
+    find_lex $P1201, "$/"
+    find_lex $P1204, "$/"
+    unless_null $P1204, vivify_292
+    $P1204 = root_new ['parrot';'Hash']
   vivify_292:
-    set $P1224, $P1223["sym"]
-    unless_null $P1224, vivify_293
-    new $P1224, "Undef"
+    set $P1205, $P1204["sym"]
+    unless_null $P1205, vivify_293
+    new $P1205, "Undef"
   vivify_293:
-    set $S1225, $P1224
-    iseq $I1226, $S1225, "O"
-    if $I1226, if_1222
+    set $S1206, $P1205
+    iseq $I1207, $S1206, "O"
+    if $I1207, if_1203
 .annotate 'line', 335
-    get_hll_global $P1231, ["PAST"], "Regex"
-    find_lex $P1232, "$octlit"
-    find_lex $P1233, "$/"
-    $P1234 = $P1231."new"($P1232, "literal" :named("pasttype"), $P1233 :named("node"))
-    set $P1221, $P1234
+    get_hll_global $P1212, ["PAST"], "Regex"
+    find_lex $P1213, "$octlit"
+    find_lex $P1214, "$/"
+    $P1215 = $P1212."new"($P1213, "literal" :named("pasttype"), $P1214 :named("node"))
+    set $P1202, $P1215
 .annotate 'line', 332
-    goto if_1222_end
-  if_1222:
+    goto if_1203_end
+  if_1203:
 .annotate 'line', 333
-    get_hll_global $P1227, ["PAST"], "Regex"
-    find_lex $P1228, "$octlit"
-    find_lex $P1229, "$/"
-    $P1230 = $P1227."new"($P1228, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1229 :named("node"))
-    set $P1221, $P1230
-  if_1222_end:
-    $P1235 = $P1220."!make"($P1221)
+    get_hll_global $P1208, ["PAST"], "Regex"
+    find_lex $P1209, "$octlit"
+    find_lex $P1210, "$/"
+    $P1211 = $P1208."new"($P1209, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1210 :named("node"))
+    set $P1202, $P1211
+  if_1203_end:
+    $P1216 = $P1201."!make"($P1202)
 .annotate 'line', 329
-    .return ($P1235)
-  control_1207:
+    .return ($P1216)
+  control_1188:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1236, exception, "payload"
-    .return ($P1236)
+    getattribute $P1217, exception, "payload"
+    .return ($P1217)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<x>"  :subid("74_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1240
+.sub "backslash:sym<x>"  :subid("73_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1221
 .annotate 'line', 338
-    new $P1239, 'ExceptionHandler'
-    set_addr $P1239, control_1238
-    $P1239."handle_types"(.CONTROL_RETURN)
-    push_eh $P1239
+    new $P1220, 'ExceptionHandler'
+    set_addr $P1220, control_1219
+    $P1220."handle_types"(.CONTROL_RETURN)
+    push_eh $P1220
     .lex "self", self
-    .lex "$/", param_1240
+    .lex "$/", param_1221
 .annotate 'line', 339
-    new $P1241, "Undef"
-    .lex "$hexlit", $P1241
+    new $P1222, "Undef"
+    .lex "$hexlit", $P1222
 .annotate 'line', 340
-    get_hll_global $P1242, ["HLL";"Actions"], "ints_to_string"
-    find_lex $P1245, "$/"
-    unless_null $P1245, vivify_294
-    $P1245 = root_new ['parrot';'Hash']
+    get_hll_global $P1223, ["HLL";"Actions"], "ints_to_string"
+    find_lex $P1226, "$/"
+    unless_null $P1226, vivify_294
+    $P1226 = root_new ['parrot';'Hash']
   vivify_294:
-    set $P1246, $P1245["hexint"]
-    unless_null $P1246, vivify_295
-    new $P1246, "Undef"
+    set $P1227, $P1226["hexint"]
+    unless_null $P1227, vivify_295
+    new $P1227, "Undef"
   vivify_295:
-    unless $P1246, unless_1244
-    set $P1243, $P1246
-    goto unless_1244_end
-  unless_1244:
-    find_lex $P1247, "$/"
-    unless_null $P1247, vivify_296
-    $P1247 = root_new ['parrot';'Hash']
+    unless $P1227, unless_1225
+    set $P1224, $P1227
+    goto unless_1225_end
+  unless_1225:
+    find_lex $P1228, "$/"
+    unless_null $P1228, vivify_296
+    $P1228 = root_new ['parrot';'Hash']
   vivify_296:
-    set $P1248, $P1247["hexints"]
-    unless_null $P1248, vivify_297
-    $P1248 = root_new ['parrot';'Hash']
+    set $P1229, $P1228["hexints"]
+    unless_null $P1229, vivify_297
+    $P1229 = root_new ['parrot';'Hash']
   vivify_297:
-    set $P1249, $P1248["hexint"]
-    unless_null $P1249, vivify_298
-    new $P1249, "Undef"
+    set $P1230, $P1229["hexint"]
+    unless_null $P1230, vivify_298
+    new $P1230, "Undef"
   vivify_298:
-    set $P1243, $P1249
-  unless_1244_end:
-    $P1250 = $P1242($P1243)
-    store_lex "$hexlit", $P1250
+    set $P1224, $P1230
+  unless_1225_end:
+    $P1231 = $P1223($P1224)
+    store_lex "$hexlit", $P1231
 .annotate 'line', 341
-    find_lex $P1251, "$/"
-    find_lex $P1254, "$/"
-    unless_null $P1254, vivify_299
-    $P1254 = root_new ['parrot';'Hash']
+    find_lex $P1232, "$/"
+    find_lex $P1235, "$/"
+    unless_null $P1235, vivify_299
+    $P1235 = root_new ['parrot';'Hash']
   vivify_299:
-    set $P1255, $P1254["sym"]
-    unless_null $P1255, vivify_300
-    new $P1255, "Undef"
+    set $P1236, $P1235["sym"]
+    unless_null $P1236, vivify_300
+    new $P1236, "Undef"
   vivify_300:
-    set $S1256, $P1255
-    iseq $I1257, $S1256, "X"
-    if $I1257, if_1253
+    set $S1237, $P1236
+    iseq $I1238, $S1237, "X"
+    if $I1238, if_1234
 .annotate 'line', 344
-    get_hll_global $P1262, ["PAST"], "Regex"
-    find_lex $P1263, "$hexlit"
-    find_lex $P1264, "$/"
-    $P1265 = $P1262."new"($P1263, "literal" :named("pasttype"), $P1264 :named("node"))
-    set $P1252, $P1265
+    get_hll_global $P1243, ["PAST"], "Regex"
+    find_lex $P1244, "$hexlit"
+    find_lex $P1245, "$/"
+    $P1246 = $P1243."new"($P1244, "literal" :named("pasttype"), $P1245 :named("node"))
+    set $P1233, $P1246
 .annotate 'line', 341
-    goto if_1253_end
-  if_1253:
+    goto if_1234_end
+  if_1234:
 .annotate 'line', 342
-    get_hll_global $P1258, ["PAST"], "Regex"
-    find_lex $P1259, "$hexlit"
-    find_lex $P1260, "$/"
-    $P1261 = $P1258."new"($P1259, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1260 :named("node"))
-    set $P1252, $P1261
-  if_1253_end:
-    $P1266 = $P1251."!make"($P1252)
+    get_hll_global $P1239, ["PAST"], "Regex"
+    find_lex $P1240, "$hexlit"
+    find_lex $P1241, "$/"
+    $P1242 = $P1239."new"($P1240, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1241 :named("node"))
+    set $P1233, $P1242
+  if_1234_end:
+    $P1247 = $P1232."!make"($P1233)
 .annotate 'line', 338
-    .return ($P1266)
-  control_1238:
+    .return ($P1247)
+  control_1219:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1267, exception, "payload"
-    .return ($P1267)
+    getattribute $P1248, exception, "payload"
+    .return ($P1248)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<c>"  :subid("75_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1271
+.sub "backslash:sym<c>"  :subid("74_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1252
 .annotate 'line', 347
-    new $P1270, 'ExceptionHandler'
-    set_addr $P1270, control_1269
-    $P1270."handle_types"(.CONTROL_RETURN)
-    push_eh $P1270
+    new $P1251, 'ExceptionHandler'
+    set_addr $P1251, control_1250
+    $P1251."handle_types"(.CONTROL_RETURN)
+    push_eh $P1251
     .lex "self", self
-    .lex "$/", param_1271
+    .lex "$/", param_1252
 .annotate 'line', 348
-    find_lex $P1272, "$/"
-    get_hll_global $P1273, ["PAST"], "Regex"
-    find_lex $P1274, "$/"
-    unless_null $P1274, vivify_301
-    $P1274 = root_new ['parrot';'Hash']
+    find_lex $P1253, "$/"
+    get_hll_global $P1254, ["PAST"], "Regex"
+    find_lex $P1255, "$/"
+    unless_null $P1255, vivify_301
+    $P1255 = root_new ['parrot';'Hash']
   vivify_301:
-    set $P1275, $P1274["charspec"]
-    unless_null $P1275, vivify_302
-    new $P1275, "Undef"
+    set $P1256, $P1255["charspec"]
+    unless_null $P1256, vivify_302
+    new $P1256, "Undef"
   vivify_302:
-    $P1276 = $P1275."ast"()
-    find_lex $P1277, "$/"
-    $P1278 = $P1273."new"($P1276, "literal" :named("pasttype"), $P1277 :named("node"))
-    $P1279 = $P1272."!make"($P1278)
+    $P1257 = $P1256."ast"()
+    find_lex $P1258, "$/"
+    $P1259 = $P1254."new"($P1257, "literal" :named("pasttype"), $P1258 :named("node"))
+    $P1260 = $P1253."!make"($P1259)
 .annotate 'line', 347
-    .return ($P1279)
-  control_1269:
+    .return ($P1260)
+  control_1250:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1280, exception, "payload"
-    .return ($P1280)
+    getattribute $P1261, exception, "payload"
+    .return ($P1261)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<misc>"  :subid("76_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1284
+.sub "backslash:sym<misc>"  :subid("75_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1265
 .annotate 'line', 351
-    new $P1283, 'ExceptionHandler'
-    set_addr $P1283, control_1282
-    $P1283."handle_types"(.CONTROL_RETURN)
-    push_eh $P1283
+    new $P1264, 'ExceptionHandler'
+    set_addr $P1264, control_1263
+    $P1264."handle_types"(.CONTROL_RETURN)
+    push_eh $P1264
     .lex "self", self
-    .lex "$/", param_1284
+    .lex "$/", param_1265
 .annotate 'line', 352
-    new $P1285, "Undef"
-    .lex "$past", $P1285
-    get_hll_global $P1286, ["PAST"], "Regex"
-    find_lex $P1287, "$/"
-    set $S1288, $P1287
-    find_lex $P1289, "$/"
-    $P1290 = $P1286."new"($S1288, "literal" :named("pasttype"), $P1289 :named("node"))
-    store_lex "$past", $P1290
+    new $P1266, "Undef"
+    .lex "$past", $P1266
+    get_hll_global $P1267, ["PAST"], "Regex"
+    find_lex $P1268, "$/"
+    set $S1269, $P1268
+    find_lex $P1270, "$/"
+    $P1271 = $P1267."new"($S1269, "literal" :named("pasttype"), $P1270 :named("node"))
+    store_lex "$past", $P1271
 .annotate 'line', 353
-    find_lex $P1291, "$/"
-    find_lex $P1292, "$past"
-    $P1293 = $P1291."!make"($P1292)
+    find_lex $P1272, "$/"
+    find_lex $P1273, "$past"
+    $P1274 = $P1272."!make"($P1273)
 .annotate 'line', 351
-    .return ($P1293)
-  control_1282:
+    .return ($P1274)
+  control_1263:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1294, exception, "payload"
-    .return ($P1294)
+    getattribute $P1275, exception, "payload"
+    .return ($P1275)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "assertion:sym<?>"  :subid("77_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1298
+.sub "assertion:sym<?>"  :subid("76_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1279
 .annotate 'line', 357
-    new $P1297, 'ExceptionHandler'
-    set_addr $P1297, control_1296
-    $P1297."handle_types"(.CONTROL_RETURN)
-    push_eh $P1297
+    new $P1278, 'ExceptionHandler'
+    set_addr $P1278, control_1277
+    $P1278."handle_types"(.CONTROL_RETURN)
+    push_eh $P1278
     .lex "self", self
-    .lex "$/", param_1298
+    .lex "$/", param_1279
 .annotate 'line', 358
-    new $P1299, "Undef"
-    .lex "$past", $P1299
+    new $P1280, "Undef"
+    .lex "$past", $P1280
 .annotate 'line', 357
-    find_lex $P1300, "$past"
+    find_lex $P1281, "$past"
 .annotate 'line', 359
-    find_lex $P1302, "$/"
-    unless_null $P1302, vivify_303
-    $P1302 = root_new ['parrot';'Hash']
+    find_lex $P1283, "$/"
+    unless_null $P1283, vivify_303
+    $P1283 = root_new ['parrot';'Hash']
   vivify_303:
-    set $P1303, $P1302["assertion"]
-    unless_null $P1303, vivify_304
-    new $P1303, "Undef"
+    set $P1284, $P1283["assertion"]
+    unless_null $P1284, vivify_304
+    new $P1284, "Undef"
   vivify_304:
-    if $P1303, if_1301
+    if $P1284, if_1282
 .annotate 'line', 363
-    new $P1308, "Integer"
-    assign $P1308, 0
-    store_lex "$past", $P1308
-    goto if_1301_end
-  if_1301:
+    new $P1289, "Integer"
+    assign $P1289, 0
+    store_lex "$past", $P1289
+    goto if_1282_end
+  if_1282:
 .annotate 'line', 360
-    find_lex $P1304, "$/"
-    unless_null $P1304, vivify_305
-    $P1304 = root_new ['parrot';'Hash']
+    find_lex $P1285, "$/"
+    unless_null $P1285, vivify_305
+    $P1285 = root_new ['parrot';'Hash']
   vivify_305:
-    set $P1305, $P1304["assertion"]
-    unless_null $P1305, vivify_306
-    new $P1305, "Undef"
+    set $P1286, $P1285["assertion"]
+    unless_null $P1286, vivify_306
+    new $P1286, "Undef"
   vivify_306:
-    $P1306 = $P1305."ast"()
-    store_lex "$past", $P1306
+    $P1287 = $P1286."ast"()
+    store_lex "$past", $P1287
 .annotate 'line', 361
-    find_lex $P1307, "$past"
-    $P1307."subtype"("zerowidth")
-  if_1301_end:
+    find_lex $P1288, "$past"
+    $P1288."subtype"("zerowidth")
+  if_1282_end:
 .annotate 'line', 364
-    find_lex $P1309, "$/"
-    find_lex $P1310, "$past"
-    $P1311 = $P1309."!make"($P1310)
+    find_lex $P1290, "$/"
+    find_lex $P1291, "$past"
+    $P1292 = $P1290."!make"($P1291)
 .annotate 'line', 357
-    .return ($P1311)
-  control_1296:
+    .return ($P1292)
+  control_1277:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1312, exception, "payload"
-    .return ($P1312)
+    getattribute $P1293, exception, "payload"
+    .return ($P1293)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "assertion:sym<!>"  :subid("78_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1316
+.sub "assertion:sym<!>"  :subid("77_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1297
 .annotate 'line', 367
-    new $P1315, 'ExceptionHandler'
-    set_addr $P1315, control_1314
-    $P1315."handle_types"(.CONTROL_RETURN)
-    push_eh $P1315
+    new $P1296, 'ExceptionHandler'
+    set_addr $P1296, control_1295
+    $P1296."handle_types"(.CONTROL_RETURN)
+    push_eh $P1296
     .lex "self", self
-    .lex "$/", param_1316
+    .lex "$/", param_1297
 .annotate 'line', 368
-    new $P1317, "Undef"
-    .lex "$past", $P1317
+    new $P1298, "Undef"
+    .lex "$past", $P1298
 .annotate 'line', 367
-    find_lex $P1318, "$past"
+    find_lex $P1299, "$past"
 .annotate 'line', 369
-    find_lex $P1320, "$/"
-    unless_null $P1320, vivify_307
-    $P1320 = root_new ['parrot';'Hash']
+    find_lex $P1301, "$/"
+    unless_null $P1301, vivify_307
+    $P1301 = root_new ['parrot';'Hash']
   vivify_307:
-    set $P1321, $P1320["assertion"]
-    unless_null $P1321, vivify_308
-    new $P1321, "Undef"
+    set $P1302, $P1301["assertion"]
+    unless_null $P1302, vivify_308
+    new $P1302, "Undef"
   vivify_308:
-    if $P1321, if_1319
+    if $P1302, if_1300
 .annotate 'line', 375
-    get_hll_global $P1330, ["PAST"], "Regex"
-    find_lex $P1331, "$/"
-    $P1332 = $P1330."new"("anchor" :named("pasttype"), "fail" :named("subtype"), $P1331 :named("node"))
-    store_lex "$past", $P1332
+    get_hll_global $P1311, ["PAST"], "Regex"
+    find_lex $P1312, "$/"
+    $P1313 = $P1311."new"("anchor" :named("pasttype"), "fail" :named("subtype"), $P1312 :named("node"))
+    store_lex "$past", $P1313
 .annotate 'line', 374
-    goto if_1319_end
-  if_1319:
+    goto if_1300_end
+  if_1300:
 .annotate 'line', 370
-    find_lex $P1322, "$/"
-    unless_null $P1322, vivify_309
-    $P1322 = root_new ['parrot';'Hash']
+    find_lex $P1303, "$/"
+    unless_null $P1303, vivify_309
+    $P1303 = root_new ['parrot';'Hash']
   vivify_309:
-    set $P1323, $P1322["assertion"]
-    unless_null $P1323, vivify_310
-    new $P1323, "Undef"
+    set $P1304, $P1303["assertion"]
+    unless_null $P1304, vivify_310
+    new $P1304, "Undef"
   vivify_310:
-    $P1324 = $P1323."ast"()
-    store_lex "$past", $P1324
+    $P1305 = $P1304."ast"()
+    store_lex "$past", $P1305
 .annotate 'line', 371
-    find_lex $P1325, "$past"
-    find_lex $P1326, "$past"
-    $P1327 = $P1326."negate"()
-    isfalse $I1328, $P1327
-    $P1325."negate"($I1328)
+    find_lex $P1306, "$past"
+    find_lex $P1307, "$past"
+    $P1308 = $P1307."negate"()
+    isfalse $I1309, $P1308
+    $P1306."negate"($I1309)
 .annotate 'line', 372
-    find_lex $P1329, "$past"
-    $P1329."subtype"("zerowidth")
-  if_1319_end:
+    find_lex $P1310, "$past"
+    $P1310."subtype"("zerowidth")
+  if_1300_end:
 .annotate 'line', 377
-    find_lex $P1333, "$/"
-    find_lex $P1334, "$past"
-    $P1335 = $P1333."!make"($P1334)
+    find_lex $P1314, "$/"
+    find_lex $P1315, "$past"
+    $P1316 = $P1314."!make"($P1315)
 .annotate 'line', 367
-    .return ($P1335)
-  control_1314:
+    .return ($P1316)
+  control_1295:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1336, exception, "payload"
-    .return ($P1336)
+    getattribute $P1317, exception, "payload"
+    .return ($P1317)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "assertion:sym<method>"  :subid("79_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1340
+.sub "assertion:sym<method>"  :subid("78_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1321
 .annotate 'line', 380
-    new $P1339, 'ExceptionHandler'
-    set_addr $P1339, control_1338
-    $P1339."handle_types"(.CONTROL_RETURN)
-    push_eh $P1339
+    new $P1320, 'ExceptionHandler'
+    set_addr $P1320, control_1319
+    $P1320."handle_types"(.CONTROL_RETURN)
+    push_eh $P1320
     .lex "self", self
-    .lex "$/", param_1340
+    .lex "$/", param_1321
 .annotate 'line', 381
-    new $P1341, "Undef"
-    .lex "$past", $P1341
-    find_lex $P1342, "$/"
-    unless_null $P1342, vivify_311
-    $P1342 = root_new ['parrot';'Hash']
+    new $P1322, "Undef"
+    .lex "$past", $P1322
+    find_lex $P1323, "$/"
+    unless_null $P1323, vivify_311
+    $P1323 = root_new ['parrot';'Hash']
   vivify_311:
-    set $P1343, $P1342["assertion"]
-    unless_null $P1343, vivify_312
-    new $P1343, "Undef"
+    set $P1324, $P1323["assertion"]
+    unless_null $P1324, vivify_312
+    new $P1324, "Undef"
   vivify_312:
-    $P1344 = $P1343."ast"()
-    store_lex "$past", $P1344
+    $P1325 = $P1324."ast"()
+    store_lex "$past", $P1325
 .annotate 'line', 382
-    find_lex $P1345, "$past"
-    $P1345."subtype"("method")
+    find_lex $P1326, "$past"
+    $P1326."subtype"("method")
 .annotate 'line', 383
-    find_lex $P1346, "$past"
-    $P1346."name"("")
+    find_lex $P1327, "$past"
+    $P1327."name"("")
 .annotate 'line', 384
-    find_lex $P1347, "$/"
-    find_lex $P1348, "$past"
-    $P1349 = $P1347."!make"($P1348)
+    find_lex $P1328, "$/"
+    find_lex $P1329, "$past"
+    $P1330 = $P1328."!make"($P1329)
 .annotate 'line', 380
-    .return ($P1349)
-  control_1338:
+    .return ($P1330)
+  control_1319:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1350, exception, "payload"
-    .return ($P1350)
+    getattribute $P1331, exception, "payload"
+    .return ($P1331)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "assertion:sym<name>"  :subid("80_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1354
+.sub "assertion:sym<name>"  :subid("79_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1335
 .annotate 'line', 387
-    .const 'Sub' $P1412 = "82_1277356890.79584" 
-    capture_lex $P1412
-    .const 'Sub' $P1376 = "81_1277356890.79584" 
-    capture_lex $P1376
-    new $P1353, 'ExceptionHandler'
-    set_addr $P1353, control_1352
-    $P1353."handle_types"(.CONTROL_RETURN)
-    push_eh $P1353
+    .const 'Sub' $P1394 = "81_1278500533.96053" 
+    capture_lex $P1394
+    .const 'Sub' $P1358 = "80_1278500533.96053" 
+    capture_lex $P1358
+    new $P1334, 'ExceptionHandler'
+    set_addr $P1334, control_1333
+    $P1334."handle_types"(.CONTROL_RETURN)
+    push_eh $P1334
     .lex "self", self
-    .lex "$/", param_1354
+    .lex "$/", param_1335
 .annotate 'line', 388
-    new $P1355, "Undef"
-    .lex "$name", $P1355
+    new $P1336, "Undef"
+    .lex "$name", $P1336
 .annotate 'line', 389
-    new $P1356, "Undef"
-    .lex "$past", $P1356
+    new $P1337, "Undef"
+    .lex "$past", $P1337
 .annotate 'line', 388
-    find_lex $P1357, "$/"
-    unless_null $P1357, vivify_313
-    $P1357 = root_new ['parrot';'Hash']
+    find_lex $P1338, "$/"
+    unless_null $P1338, vivify_313
+    $P1338 = root_new ['parrot';'Hash']
   vivify_313:
-    set $P1358, $P1357["longname"]
-    unless_null $P1358, vivify_314
-    new $P1358, "Undef"
+    set $P1339, $P1338["longname"]
+    unless_null $P1339, vivify_314
+    new $P1339, "Undef"
   vivify_314:
-    set $S1359, $P1358
-    new $P1360, 'String'
-    set $P1360, $S1359
-    store_lex "$name", $P1360
-    find_lex $P1361, "$past"
+    set $S1340, $P1339
+    new $P1341, 'String'
+    set $P1341, $S1340
+    store_lex "$name", $P1341
+    find_lex $P1342, "$past"
 .annotate 'line', 390
-    find_lex $P1363, "$/"
-    unless_null $P1363, vivify_315
-    $P1363 = root_new ['parrot';'Hash']
+    find_lex $P1344, "$/"
+    unless_null $P1344, vivify_315
+    $P1344 = root_new ['parrot';'Hash']
   vivify_315:
-    set $P1364, $P1363["assertion"]
-    unless_null $P1364, vivify_316
-    new $P1364, "Undef"
+    set $P1345, $P1344["assertion"]
+    unless_null $P1345, vivify_316
+    new $P1345, "Undef"
   vivify_316:
-    if $P1364, if_1362
+    if $P1345, if_1343
 .annotate 'line', 394
-    find_lex $P1372, "$name"
-    set $S1373, $P1372
-    iseq $I1374, $S1373, "sym"
-    if $I1374, if_1371
+    find_lex $P1354, "$name"
+    set $S1355, $P1354
+    iseq $I1356, $S1355, "sym"
+    if $I1356, if_1353
 .annotate 'line', 410
-    get_hll_global $P1386, ["PAST"], "Regex"
-    find_lex $P1387, "$name"
-    find_lex $P1388, "$name"
-    find_lex $P1389, "$/"
-    $P1390 = $P1386."new"($P1387, $P1388 :named("name"), "subrule" :named("pasttype"), "capture" :named("subtype"), $P1389 :named("node"))
-    store_lex "$past", $P1390
+    get_hll_global $P1368, ["PAST"], "Regex"
+    find_lex $P1369, "$name"
+    find_lex $P1370, "$name"
+    find_lex $P1371, "$/"
+    $P1372 = $P1368."new"($P1369, $P1370 :named("name"), "subrule" :named("pasttype"), "capture" :named("subtype"), $P1371 :named("node"))
+    store_lex "$past", $P1372
 .annotate 'line', 412
-    find_lex $P1392, "$/"
-    unless_null $P1392, vivify_317
-    $P1392 = root_new ['parrot';'Hash']
+    find_lex $P1374, "$/"
+    unless_null $P1374, vivify_317
+    $P1374 = root_new ['parrot';'Hash']
   vivify_317:
-    set $P1393, $P1392["nibbler"]
-    unless_null $P1393, vivify_318
-    new $P1393, "Undef"
+    set $P1375, $P1374["nibbler"]
+    unless_null $P1375, vivify_318
+    new $P1375, "Undef"
   vivify_318:
-    if $P1393, if_1391
+    if $P1375, if_1373
 .annotate 'line', 415
-    find_lex $P1401, "$/"
-    unless_null $P1401, vivify_319
-    $P1401 = root_new ['parrot';'Hash']
+    find_lex $P1383, "$/"
+    unless_null $P1383, vivify_319
+    $P1383 = root_new ['parrot';'Hash']
   vivify_319:
-    set $P1402, $P1401["arglist"]
-    unless_null $P1402, vivify_320
-    new $P1402, "Undef"
+    set $P1384, $P1383["arglist"]
+    unless_null $P1384, vivify_320
+    new $P1384, "Undef"
   vivify_320:
-    unless $P1402, if_1400_end
+    unless $P1384, if_1382_end
 .annotate 'line', 416
-    find_lex $P1404, "$/"
-    unless_null $P1404, vivify_321
-    $P1404 = root_new ['parrot';'Hash']
+    find_lex $P1386, "$/"
+    unless_null $P1386, vivify_321
+    $P1386 = root_new ['parrot';'Hash']
   vivify_321:
-    set $P1405, $P1404["arglist"]
-    unless_null $P1405, vivify_322
-    $P1405 = root_new ['parrot';'ResizablePMCArray']
+    set $P1387, $P1386["arglist"]
+    unless_null $P1387, vivify_322
+    $P1387 = root_new ['parrot';'ResizablePMCArray']
   vivify_322:
-    set $P1406, $P1405[0]
-    unless_null $P1406, vivify_323
-    new $P1406, "Undef"
+    set $P1388, $P1387[0]
+    unless_null $P1388, vivify_323
+    new $P1388, "Undef"
   vivify_323:
-    $P1407 = $P1406."ast"()
-    $P1408 = $P1407."list"()
-    defined $I1409, $P1408
-    unless $I1409, for_undef_324
-    iter $P1403, $P1408
-    new $P1418, 'ExceptionHandler'
-    set_addr $P1418, loop1417_handler
-    $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_1277356890.79584" 
-    capture_lex $P1412
-    $P1412($P1410)
-  loop1417_next:
-    goto loop1417_test
-  loop1417_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1419, exception, 'type'
-    eq $P1419, .CONTROL_LOOP_NEXT, loop1417_next
-    eq $P1419, .CONTROL_LOOP_REDO, loop1417_redo
-  loop1417_done:
+    $P1389 = $P1388."ast"()
+    $P1390 = $P1389."list"()
+    defined $I1391, $P1390
+    unless $I1391, for_undef_324
+    iter $P1385, $P1390
+    new $P1400, 'ExceptionHandler'
+    set_addr $P1400, loop1399_handler
+    $P1400."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P1400
+  loop1399_test:
+    unless $P1385, loop1399_done
+    shift $P1392, $P1385
+  loop1399_redo:
+    .const 'Sub' $P1394 = "81_1278500533.96053" 
+    capture_lex $P1394
+    $P1394($P1392)
+  loop1399_next:
+    goto loop1399_test
+  loop1399_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1401, exception, 'type'
+    eq $P1401, .CONTROL_LOOP_NEXT, loop1399_next
+    eq $P1401, .CONTROL_LOOP_REDO, loop1399_redo
+  loop1399_done:
     pop_eh 
   for_undef_324:
-  if_1400_end:
+  if_1382_end:
 .annotate 'line', 415
-    goto if_1391_end
-  if_1391:
+    goto if_1373_end
+  if_1373:
 .annotate 'line', 413
-    find_lex $P1394, "$past"
-    find_lex $P1395, "$/"
-    unless_null $P1395, vivify_325
-    $P1395 = root_new ['parrot';'Hash']
+    find_lex $P1376, "$past"
+    find_lex $P1377, "$/"
+    unless_null $P1377, vivify_325
+    $P1377 = root_new ['parrot';'Hash']
   vivify_325:
-    set $P1396, $P1395["nibbler"]
-    unless_null $P1396, vivify_326
-    $P1396 = root_new ['parrot';'ResizablePMCArray']
+    set $P1378, $P1377["nibbler"]
+    unless_null $P1378, vivify_326
+    $P1378 = root_new ['parrot';'ResizablePMCArray']
   vivify_326:
-    set $P1397, $P1396[0]
-    unless_null $P1397, vivify_327
-    new $P1397, "Undef"
+    set $P1379, $P1378[0]
+    unless_null $P1379, vivify_327
+    new $P1379, "Undef"
   vivify_327:
-    $P1398 = $P1397."ast"()
-    $P1399 = "buildsub"($P1398)
-    $P1394."push"($P1399)
-  if_1391_end:
+    $P1380 = $P1379."ast"()
+    $P1381 = "buildsub"($P1380)
+    $P1376."push"($P1381)
+  if_1373_end:
 .annotate 'line', 409
-    goto if_1371_end
-  if_1371:
+    goto if_1353_end
+  if_1353:
 .annotate 'line', 394
-    .const 'Sub' $P1376 = "81_1277356890.79584" 
-    capture_lex $P1376
-    $P1376()
-  if_1371_end:
-    goto if_1362_end
-  if_1362:
+    .const 'Sub' $P1358 = "80_1278500533.96053" 
+    capture_lex $P1358
+    $P1358()
+  if_1353_end:
+    goto if_1343_end
+  if_1343:
 .annotate 'line', 391
-    find_lex $P1365, "$/"
-    unless_null $P1365, vivify_328
-    $P1365 = root_new ['parrot';'Hash']
+    find_lex $P1346, "$/"
+    unless_null $P1346, vivify_328
+    $P1346 = root_new ['parrot';'Hash']
   vivify_328:
-    set $P1366, $P1365["assertion"]
-    unless_null $P1366, vivify_329
-    $P1366 = root_new ['parrot';'ResizablePMCArray']
+    set $P1347, $P1346["assertion"]
+    unless_null $P1347, vivify_329
+    $P1347 = root_new ['parrot';'ResizablePMCArray']
   vivify_329:
-    set $P1367, $P1366[0]
-    unless_null $P1367, vivify_330
-    new $P1367, "Undef"
+    set $P1348, $P1347[0]
+    unless_null $P1348, vivify_330
+    new $P1348, "Undef"
   vivify_330:
-    $P1368 = $P1367."ast"()
-    store_lex "$past", $P1368
+    $P1349 = $P1348."ast"()
+    store_lex "$past", $P1349
 .annotate 'line', 392
-    find_lex $P1369, "$past"
-    find_lex $P1370, "$name"
-    "subrule_alias"($P1369, $P1370)
-  if_1362_end:
+    find_lex $P1350, "self"
+    find_lex $P1351, "$past"
+    find_lex $P1352, "$name"
+    $P1350."subrule_alias"($P1351, $P1352)
+  if_1343_end:
 .annotate 'line', 419
-    find_lex $P1420, "$/"
-    find_lex $P1421, "$past"
-    $P1422 = $P1420."!make"($P1421)
+    find_lex $P1402, "$/"
+    find_lex $P1403, "$past"
+    $P1404 = $P1402."!make"($P1403)
 .annotate 'line', 387
-    .return ($P1422)
-  control_1352:
+    .return ($P1404)
+  control_1333:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1423, exception, "payload"
-    .return ($P1423)
+    getattribute $P1405, exception, "payload"
+    .return ($P1405)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1411"  :anon :subid("82_1277356890.79584") :outer("80_1277356890.79584")
-    .param pmc param_1413
+.sub "_block1393"  :anon :subid("81_1278500533.96053") :outer("79_1278500533.96053")
+    .param pmc param_1395
 .annotate 'line', 416
-    .lex "$_", param_1413
-    find_lex $P1414, "$past"
-    find_lex $P1415, "$_"
-    $P1416 = $P1414."push"($P1415)
-    .return ($P1416)
+    .lex "$_", param_1395
+    find_lex $P1396, "$past"
+    find_lex $P1397, "$_"
+    $P1398 = $P1396."push"($P1397)
+    .return ($P1398)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1375"  :anon :subid("81_1277356890.79584") :outer("80_1277356890.79584")
+.sub "_block1357"  :anon :subid("80_1278500533.96053") :outer("79_1278500533.96053")
 .annotate 'line', 395
-    new $P1377, "Undef"
-    .lex "$regexsym", $P1377
+    new $P1359, "Undef"
+    .lex "$regexsym", $P1359
 
             $P0 = get_global '$REGEXNAME'
             $S0 = $P0
@@ -11624,389 +11580,389 @@
             add $I0, 5
             $S0 = substr $S0, $I0
             $S0 = chopn $S0, 1
-            $P1378 = box $S0
+            $P1360 = box $S0
         
-    store_lex "$regexsym", $P1378
+    store_lex "$regexsym", $P1360
 .annotate 'line', 404
-    get_hll_global $P1379, ["PAST"], "Regex"
+    get_hll_global $P1361, ["PAST"], "Regex"
 .annotate 'line', 405
-    get_hll_global $P1380, ["PAST"], "Regex"
-    find_lex $P1381, "$regexsym"
-    $P1382 = $P1380."new"($P1381, "literal" :named("pasttype"))
-    find_lex $P1383, "$name"
-    find_lex $P1384, "$/"
-    $P1385 = $P1379."new"($P1382, $P1383 :named("name"), "subcapture" :named("pasttype"), $P1384 :named("node"))
+    get_hll_global $P1362, ["PAST"], "Regex"
+    find_lex $P1363, "$regexsym"
+    $P1364 = $P1362."new"($P1363, "literal" :named("pasttype"))
+    find_lex $P1365, "$name"
+    find_lex $P1366, "$/"
+    $P1367 = $P1361."new"($P1364, $P1365 :named("name"), "subcapture" :named("pasttype"), $P1366 :named("node"))
 .annotate 'line', 404
-    store_lex "$past", $P1385
+    store_lex "$past", $P1367
 .annotate 'line', 394
-    .return ($P1385)
+    .return ($P1367)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "assertion:sym<[>"  :subid("83_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1427
+.sub "assertion:sym<[>"  :subid("82_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1409
 .annotate 'line', 422
-    .const 'Sub' $P1462 = "84_1277356890.79584" 
-    capture_lex $P1462
-    new $P1426, 'ExceptionHandler'
-    set_addr $P1426, control_1425
-    $P1426."handle_types"(.CONTROL_RETURN)
-    push_eh $P1426
+    .const 'Sub' $P1444 = "83_1278500533.96053" 
+    capture_lex $P1444
+    new $P1408, 'ExceptionHandler'
+    set_addr $P1408, control_1407
+    $P1408."handle_types"(.CONTROL_RETURN)
+    push_eh $P1408
     .lex "self", self
-    .lex "$/", param_1427
+    .lex "$/", param_1409
 .annotate 'line', 423
-    new $P1428, "Undef"
-    .lex "$clist", $P1428
+    new $P1410, "Undef"
+    .lex "$clist", $P1410
 .annotate 'line', 424
-    new $P1429, "Undef"
-    .lex "$past", $P1429
+    new $P1411, "Undef"
+    .lex "$past", $P1411
 .annotate 'line', 433
-    new $P1430, "Undef"
-    .lex "$i", $P1430
+    new $P1412, "Undef"
+    .lex "$i", $P1412
 .annotate 'line', 434
-    new $P1431, "Undef"
-    .lex "$n", $P1431
+    new $P1413, "Undef"
+    .lex "$n", $P1413
 .annotate 'line', 423
-    find_lex $P1432, "$/"
-    unless_null $P1432, vivify_331
-    $P1432 = root_new ['parrot';'Hash']
+    find_lex $P1414, "$/"
+    unless_null $P1414, vivify_331
+    $P1414 = root_new ['parrot';'Hash']
   vivify_331:
-    set $P1433, $P1432["cclass_elem"]
-    unless_null $P1433, vivify_332
-    new $P1433, "Undef"
+    set $P1415, $P1414["cclass_elem"]
+    unless_null $P1415, vivify_332
+    new $P1415, "Undef"
   vivify_332:
-    store_lex "$clist", $P1433
+    store_lex "$clist", $P1415
 .annotate 'line', 424
-    find_lex $P1434, "$clist"
-    unless_null $P1434, vivify_333
-    $P1434 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1416, "$clist"
+    unless_null $P1416, vivify_333
+    $P1416 = root_new ['parrot';'ResizablePMCArray']
   vivify_333:
-    set $P1435, $P1434[0]
-    unless_null $P1435, vivify_334
-    new $P1435, "Undef"
+    set $P1417, $P1416[0]
+    unless_null $P1417, vivify_334
+    new $P1417, "Undef"
   vivify_334:
-    $P1436 = $P1435."ast"()
-    store_lex "$past", $P1436
+    $P1418 = $P1417."ast"()
+    store_lex "$past", $P1418
 .annotate 'line', 425
-    find_lex $P1440, "$past"
-    $P1441 = $P1440."negate"()
-    if $P1441, if_1439
-    set $P1438, $P1441
-    goto if_1439_end
-  if_1439:
-    find_lex $P1442, "$past"
-    $S1443 = $P1442."pasttype"()
-    iseq $I1444, $S1443, "subrule"
-    new $P1438, 'Integer'
-    set $P1438, $I1444
-  if_1439_end:
-    unless $P1438, if_1437_end
+    find_lex $P1422, "$past"
+    $P1423 = $P1422."negate"()
+    if $P1423, if_1421
+    set $P1420, $P1423
+    goto if_1421_end
+  if_1421:
+    find_lex $P1424, "$past"
+    $S1425 = $P1424."pasttype"()
+    iseq $I1426, $S1425, "subrule"
+    new $P1420, 'Integer'
+    set $P1420, $I1426
+  if_1421_end:
+    unless $P1420, if_1419_end
 .annotate 'line', 426
-    find_lex $P1445, "$past"
-    $P1445."subtype"("zerowidth")
+    find_lex $P1427, "$past"
+    $P1427."subtype"("zerowidth")
 .annotate 'line', 427
-    get_hll_global $P1446, ["PAST"], "Regex"
-    find_lex $P1447, "$past"
+    get_hll_global $P1428, ["PAST"], "Regex"
+    find_lex $P1429, "$past"
 .annotate 'line', 429
-    get_hll_global $P1448, ["PAST"], "Regex"
-    $P1449 = $P1448."new"("charclass" :named("pasttype"), "." :named("subtype"))
-    find_lex $P1450, "$/"
-    $P1451 = $P1446."new"($P1447, $P1449, $P1450 :named("node"))
+    get_hll_global $P1430, ["PAST"], "Regex"
+    $P1431 = $P1430."new"("charclass" :named("pasttype"), "." :named("subtype"))
+    find_lex $P1432, "$/"
+    $P1433 = $P1428."new"($P1429, $P1431, $P1432 :named("node"))
 .annotate 'line', 427
-    store_lex "$past", $P1451
-  if_1437_end:
+    store_lex "$past", $P1433
+  if_1419_end:
 .annotate 'line', 433
-    new $P1452, "Integer"
-    assign $P1452, 1
-    store_lex "$i", $P1452
+    new $P1434, "Integer"
+    assign $P1434, 1
+    store_lex "$i", $P1434
 .annotate 'line', 434
-    find_lex $P1453, "$clist"
-    set $N1454, $P1453
-    new $P1455, 'Float'
-    set $P1455, $N1454
-    store_lex "$n", $P1455
+    find_lex $P1435, "$clist"
+    set $N1436, $P1435
+    new $P1437, 'Float'
+    set $P1437, $N1436
+    store_lex "$n", $P1437
 .annotate 'line', 435
-    new $P1486, 'ExceptionHandler'
-    set_addr $P1486, loop1485_handler
-    $P1486."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
-    push_eh $P1486
-  loop1485_test:
-    find_lex $P1456, "$i"
-    set $N1457, $P1456
-    find_lex $P1458, "$n"
-    set $N1459, $P1458
-    islt $I1460, $N1457, $N1459
-    unless $I1460, loop1485_done
-  loop1485_redo:
-    .const 'Sub' $P1462 = "84_1277356890.79584" 
-    capture_lex $P1462
-    $P1462()
-  loop1485_next:
-    goto loop1485_test
-  loop1485_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1487, exception, 'type'
-    eq $P1487, .CONTROL_LOOP_NEXT, loop1485_next
-    eq $P1487, .CONTROL_LOOP_REDO, loop1485_redo
-  loop1485_done:
+    new $P1468, 'ExceptionHandler'
+    set_addr $P1468, loop1467_handler
+    $P1468."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P1468
+  loop1467_test:
+    find_lex $P1438, "$i"
+    set $N1439, $P1438
+    find_lex $P1440, "$n"
+    set $N1441, $P1440
+    islt $I1442, $N1439, $N1441
+    unless $I1442, loop1467_done
+  loop1467_redo:
+    .const 'Sub' $P1444 = "83_1278500533.96053" 
+    capture_lex $P1444
+    $P1444()
+  loop1467_next:
+    goto loop1467_test
+  loop1467_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1469, exception, 'type'
+    eq $P1469, .CONTROL_LOOP_NEXT, loop1467_next
+    eq $P1469, .CONTROL_LOOP_REDO, loop1467_redo
+  loop1467_done:
     pop_eh 
 .annotate 'line', 446
-    find_lex $P1488, "$/"
-    find_lex $P1489, "$past"
-    $P1490 = $P1488."!make"($P1489)
+    find_lex $P1470, "$/"
+    find_lex $P1471, "$past"
+    $P1472 = $P1470."!make"($P1471)
 .annotate 'line', 422
-    .return ($P1490)
-  control_1425:
+    .return ($P1472)
+  control_1407:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1491, exception, "payload"
-    .return ($P1491)
+    getattribute $P1473, exception, "payload"
+    .return ($P1473)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1461"  :anon :subid("84_1277356890.79584") :outer("83_1277356890.79584")
+.sub "_block1443"  :anon :subid("83_1278500533.96053") :outer("82_1278500533.96053")
 .annotate 'line', 436
-    new $P1463, "Undef"
-    .lex "$ast", $P1463
-    find_lex $P1464, "$i"
-    set $I1465, $P1464
-    find_lex $P1466, "$clist"
-    unless_null $P1466, vivify_335
-    $P1466 = root_new ['parrot';'ResizablePMCArray']
+    new $P1445, "Undef"
+    .lex "$ast", $P1445
+    find_lex $P1446, "$i"
+    set $I1447, $P1446
+    find_lex $P1448, "$clist"
+    unless_null $P1448, vivify_335
+    $P1448 = root_new ['parrot';'ResizablePMCArray']
   vivify_335:
-    set $P1467, $P1466[$I1465]
-    unless_null $P1467, vivify_336
-    new $P1467, "Undef"
+    set $P1449, $P1448[$I1447]
+    unless_null $P1449, vivify_336
+    new $P1449, "Undef"
   vivify_336:
-    $P1468 = $P1467."ast"()
-    store_lex "$ast", $P1468
+    $P1450 = $P1449."ast"()
+    store_lex "$ast", $P1450
 .annotate 'line', 437
-    find_lex $P1470, "$ast"
-    $P1471 = $P1470."negate"()
-    if $P1471, if_1469
+    find_lex $P1452, "$ast"
+    $P1453 = $P1452."negate"()
+    if $P1453, if_1451
 .annotate 'line', 442
-    get_hll_global $P1478, ["PAST"], "Regex"
-    find_lex $P1479, "$past"
-    find_lex $P1480, "$ast"
-    find_lex $P1481, "$/"
-    $P1482 = $P1478."new"($P1479, $P1480, "alt" :named("pasttype"), $P1481 :named("node"))
-    store_lex "$past", $P1482
+    get_hll_global $P1460, ["PAST"], "Regex"
+    find_lex $P1461, "$past"
+    find_lex $P1462, "$ast"
+    find_lex $P1463, "$/"
+    $P1464 = $P1460."new"($P1461, $P1462, "alt" :named("pasttype"), $P1463 :named("node"))
+    store_lex "$past", $P1464
 .annotate 'line', 441
-    goto if_1469_end
-  if_1469:
+    goto if_1451_end
+  if_1451:
 .annotate 'line', 438
-    find_lex $P1472, "$ast"
-    $P1472."subtype"("zerowidth")
+    find_lex $P1454, "$ast"
+    $P1454."subtype"("zerowidth")
 .annotate 'line', 439
-    get_hll_global $P1473, ["PAST"], "Regex"
-    find_lex $P1474, "$ast"
-    find_lex $P1475, "$past"
-    find_lex $P1476, "$/"
-    $P1477 = $P1473."new"($P1474, $P1475, "concat" :named("pasttype"), $P1476 :named("node"))
-    store_lex "$past", $P1477
-  if_1469_end:
+    get_hll_global $P1455, ["PAST"], "Regex"
+    find_lex $P1456, "$ast"
+    find_lex $P1457, "$past"
+    find_lex $P1458, "$/"
+    $P1459 = $P1455."new"($P1456, $P1457, "concat" :named("pasttype"), $P1458 :named("node"))
+    store_lex "$past", $P1459
+  if_1451_end:
 .annotate 'line', 444
-    find_lex $P1483, "$i"
-    add $P1484, $P1483, 1
-    store_lex "$i", $P1484
+    find_lex $P1465, "$i"
+    add $P1466, $P1465, 1
+    store_lex "$i", $P1466
 .annotate 'line', 435
-    .return ($P1484)
+    .return ($P1466)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "cclass_elem"  :subid("85_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1495
+.sub "cclass_elem"  :subid("84_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1477
 .annotate 'line', 449
-    .const 'Sub' $P1520 = "87_1277356890.79584" 
-    capture_lex $P1520
-    .const 'Sub' $P1504 = "86_1277356890.79584" 
-    capture_lex $P1504
-    new $P1494, 'ExceptionHandler'
-    set_addr $P1494, control_1493
-    $P1494."handle_types"(.CONTROL_RETURN)
-    push_eh $P1494
+    .const 'Sub' $P1502 = "86_1278500533.96053" 
+    capture_lex $P1502
+    .const 'Sub' $P1486 = "85_1278500533.96053" 
+    capture_lex $P1486
+    new $P1476, 'ExceptionHandler'
+    set_addr $P1476, control_1475
+    $P1476."handle_types"(.CONTROL_RETURN)
+    push_eh $P1476
     .lex "self", self
-    .lex "$/", param_1495
+    .lex "$/", param_1477
 .annotate 'line', 450
-    new $P1496, "Undef"
-    .lex "$str", $P1496
+    new $P1478, "Undef"
+    .lex "$str", $P1478
 .annotate 'line', 451
-    new $P1497, "Undef"
-    .lex "$past", $P1497
+    new $P1479, "Undef"
+    .lex "$past", $P1479
 .annotate 'line', 450
-    new $P1498, "String"
-    assign $P1498, ""
-    store_lex "$str", $P1498
-    find_lex $P1499, "$past"
+    new $P1480, "String"
+    assign $P1480, ""
+    store_lex "$str", $P1480
+    find_lex $P1481, "$past"
 .annotate 'line', 452
-    find_lex $P1501, "$/"
-    unless_null $P1501, vivify_337
-    $P1501 = root_new ['parrot';'Hash']
+    find_lex $P1483, "$/"
+    unless_null $P1483, vivify_337
+    $P1483 = root_new ['parrot';'Hash']
   vivify_337:
-    set $P1502, $P1501["name"]
-    unless_null $P1502, vivify_338
-    new $P1502, "Undef"
+    set $P1484, $P1483["name"]
+    unless_null $P1484, vivify_338
+    new $P1484, "Undef"
   vivify_338:
-    if $P1502, if_1500
+    if $P1484, if_1482
 .annotate 'line', 456
-    find_lex $P1515, "$/"
-    unless_null $P1515, vivify_339
-    $P1515 = root_new ['parrot';'Hash']
+    find_lex $P1497, "$/"
+    unless_null $P1497, vivify_339
+    $P1497 = root_new ['parrot';'Hash']
   vivify_339:
-    set $P1516, $P1515["charspec"]
-    unless_null $P1516, vivify_340
-    new $P1516, "Undef"
+    set $P1498, $P1497["charspec"]
+    unless_null $P1498, vivify_340
+    new $P1498, "Undef"
   vivify_340:
-    defined $I1517, $P1516
-    unless $I1517, for_undef_341
-    iter $P1514, $P1516
-    new $P1546, 'ExceptionHandler'
-    set_addr $P1546, loop1545_handler
-    $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_1277356890.79584" 
-    capture_lex $P1520
-    $P1520($P1518)
-  loop1545_next:
-    goto loop1545_test
-  loop1545_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1547, exception, 'type'
-    eq $P1547, .CONTROL_LOOP_NEXT, loop1545_next
-    eq $P1547, .CONTROL_LOOP_REDO, loop1545_redo
-  loop1545_done:
+    defined $I1499, $P1498
+    unless $I1499, for_undef_341
+    iter $P1496, $P1498
+    new $P1528, 'ExceptionHandler'
+    set_addr $P1528, loop1527_handler
+    $P1528."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P1528
+  loop1527_test:
+    unless $P1496, loop1527_done
+    shift $P1500, $P1496
+  loop1527_redo:
+    .const 'Sub' $P1502 = "86_1278500533.96053" 
+    capture_lex $P1502
+    $P1502($P1500)
+  loop1527_next:
+    goto loop1527_test
+  loop1527_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1529, exception, 'type'
+    eq $P1529, .CONTROL_LOOP_NEXT, loop1527_next
+    eq $P1529, .CONTROL_LOOP_REDO, loop1527_redo
+  loop1527_done:
     pop_eh 
   for_undef_341:
 .annotate 'line', 481
-    get_hll_global $P1548, ["PAST"], "Regex"
-    find_lex $P1549, "$str"
-    find_lex $P1550, "$/"
-    $P1551 = $P1548."new"($P1549, "enumcharlist" :named("pasttype"), $P1550 :named("node"))
-    store_lex "$past", $P1551
+    get_hll_global $P1530, ["PAST"], "Regex"
+    find_lex $P1531, "$str"
+    find_lex $P1532, "$/"
+    $P1533 = $P1530."new"($P1531, "enumcharlist" :named("pasttype"), $P1532 :named("node"))
+    store_lex "$past", $P1533
 .annotate 'line', 455
-    goto if_1500_end
-  if_1500:
+    goto if_1482_end
+  if_1482:
 .annotate 'line', 452
-    .const 'Sub' $P1504 = "86_1277356890.79584" 
-    capture_lex $P1504
-    $P1504()
-  if_1500_end:
+    .const 'Sub' $P1486 = "85_1278500533.96053" 
+    capture_lex $P1486
+    $P1486()
+  if_1482_end:
 .annotate 'line', 483
-    find_lex $P1552, "$past"
-    find_lex $P1553, "$/"
-    unless_null $P1553, vivify_353
-    $P1553 = root_new ['parrot';'Hash']
+    find_lex $P1534, "$past"
+    find_lex $P1535, "$/"
+    unless_null $P1535, vivify_353
+    $P1535 = root_new ['parrot';'Hash']
   vivify_353:
-    set $P1554, $P1553["sign"]
-    unless_null $P1554, vivify_354
-    new $P1554, "Undef"
+    set $P1536, $P1535["sign"]
+    unless_null $P1536, vivify_354
+    new $P1536, "Undef"
   vivify_354:
-    set $S1555, $P1554
-    iseq $I1556, $S1555, "-"
-    $P1552."negate"($I1556)
+    set $S1537, $P1536
+    iseq $I1538, $S1537, "-"
+    $P1534."negate"($I1538)
 .annotate 'line', 484
-    find_lex $P1557, "$/"
-    find_lex $P1558, "$past"
-    $P1559 = $P1557."!make"($P1558)
+    find_lex $P1539, "$/"
+    find_lex $P1540, "$past"
+    $P1541 = $P1539."!make"($P1540)
 .annotate 'line', 449
-    .return ($P1559)
-  control_1493:
+    .return ($P1541)
+  control_1475:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1560, exception, "payload"
-    .return ($P1560)
+    getattribute $P1542, exception, "payload"
+    .return ($P1542)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1519"  :anon :subid("87_1277356890.79584") :outer("85_1277356890.79584")
-    .param pmc param_1521
+.sub "_block1501"  :anon :subid("86_1278500533.96053") :outer("84_1278500533.96053")
+    .param pmc param_1503
 .annotate 'line', 456
-    .const 'Sub' $P1527 = "88_1277356890.79584" 
-    capture_lex $P1527
-    .lex "$_", param_1521
+    .const 'Sub' $P1509 = "87_1278500533.96053" 
+    capture_lex $P1509
+    .lex "$_", param_1503
 .annotate 'line', 457
-    find_lex $P1524, "$_"
-    unless_null $P1524, vivify_342
-    $P1524 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1506, "$_"
+    unless_null $P1506, vivify_342
+    $P1506 = root_new ['parrot';'ResizablePMCArray']
   vivify_342:
-    set $P1525, $P1524[1]
-    unless_null $P1525, vivify_343
-    new $P1525, "Undef"
+    set $P1507, $P1506[1]
+    unless_null $P1507, vivify_343
+    new $P1507, "Undef"
   vivify_343:
-    if $P1525, if_1523
+    if $P1507, if_1505
 .annotate 'line', 479
-    find_lex $P1541, "$str"
-    find_lex $P1542, "$_"
-    unless_null $P1542, vivify_344
-    $P1542 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1523, "$str"
+    find_lex $P1524, "$_"
+    unless_null $P1524, vivify_344
+    $P1524 = root_new ['parrot';'ResizablePMCArray']
   vivify_344:
-    set $P1543, $P1542[0]
-    unless_null $P1543, vivify_345
-    new $P1543, "Undef"
+    set $P1525, $P1524[0]
+    unless_null $P1525, vivify_345
+    new $P1525, "Undef"
   vivify_345:
-    concat $P1544, $P1541, $P1543
-    store_lex "$str", $P1544
-    set $P1522, $P1544
+    concat $P1526, $P1523, $P1525
+    store_lex "$str", $P1526
+    set $P1504, $P1526
 .annotate 'line', 457
-    goto if_1523_end
-  if_1523:
-    .const 'Sub' $P1527 = "88_1277356890.79584" 
-    capture_lex $P1527
-    $P1540 = $P1527()
-    set $P1522, $P1540
-  if_1523_end:
+    goto if_1505_end
+  if_1505:
+    .const 'Sub' $P1509 = "87_1278500533.96053" 
+    capture_lex $P1509
+    $P1522 = $P1509()
+    set $P1504, $P1522
+  if_1505_end:
 .annotate 'line', 456
-    .return ($P1522)
+    .return ($P1504)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1526"  :anon :subid("88_1277356890.79584") :outer("87_1277356890.79584")
+.sub "_block1508"  :anon :subid("87_1278500533.96053") :outer("86_1278500533.96053")
 .annotate 'line', 458
-    new $P1528, "Undef"
-    .lex "$a", $P1528
+    new $P1510, "Undef"
+    .lex "$a", $P1510
 .annotate 'line', 459
-    new $P1529, "Undef"
-    .lex "$b", $P1529
+    new $P1511, "Undef"
+    .lex "$b", $P1511
 .annotate 'line', 460
-    new $P1530, "Undef"
-    .lex "$c", $P1530
+    new $P1512, "Undef"
+    .lex "$c", $P1512
 .annotate 'line', 458
-    find_lex $P1531, "$_"
-    unless_null $P1531, vivify_346
-    $P1531 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1513, "$_"
+    unless_null $P1513, vivify_346
+    $P1513 = root_new ['parrot';'ResizablePMCArray']
   vivify_346:
-    set $P1532, $P1531[0]
-    unless_null $P1532, vivify_347
-    new $P1532, "Undef"
+    set $P1514, $P1513[0]
+    unless_null $P1514, vivify_347
+    new $P1514, "Undef"
   vivify_347:
-    store_lex "$a", $P1532
+    store_lex "$a", $P1514
 .annotate 'line', 459
-    find_lex $P1533, "$_"
-    unless_null $P1533, vivify_348
-    $P1533 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1515, "$_"
+    unless_null $P1515, vivify_348
+    $P1515 = root_new ['parrot';'ResizablePMCArray']
   vivify_348:
-    set $P1534, $P1533[1]
-    unless_null $P1534, vivify_349
-    $P1534 = root_new ['parrot';'ResizablePMCArray']
+    set $P1516, $P1515[1]
+    unless_null $P1516, vivify_349
+    $P1516 = root_new ['parrot';'ResizablePMCArray']
   vivify_349:
-    set $P1535, $P1534[0]
-    unless_null $P1535, vivify_350
-    new $P1535, "Undef"
+    set $P1517, $P1516[0]
+    unless_null $P1517, vivify_350
+    new $P1517, "Undef"
   vivify_350:
-    store_lex "$b", $P1535
+    store_lex "$b", $P1517
 .annotate 'line', 460
 
                              $P0 = find_lex '$a'
@@ -12023,161 +11979,207 @@
                              inc $I0
                              goto cclass_loop
                            cclass_done:
-                             $P1536 = box $S2
+                             $P1518 = box $S2
                          
-    store_lex "$c", $P1536
+    store_lex "$c", $P1518
 .annotate 'line', 477
-    find_lex $P1537, "$str"
-    find_lex $P1538, "$c"
-    concat $P1539, $P1537, $P1538
-    store_lex "$str", $P1539
+    find_lex $P1519, "$str"
+    find_lex $P1520, "$c"
+    concat $P1521, $P1519, $P1520
+    store_lex "$str", $P1521
 .annotate 'line', 457
-    .return ($P1539)
+    .return ($P1521)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1503"  :anon :subid("86_1277356890.79584") :outer("85_1277356890.79584")
+.sub "_block1485"  :anon :subid("85_1278500533.96053") :outer("84_1278500533.96053")
 .annotate 'line', 453
-    new $P1505, "Undef"
-    .lex "$name", $P1505
-    find_lex $P1506, "$/"
-    unless_null $P1506, vivify_351
-    $P1506 = root_new ['parrot';'Hash']
+    new $P1487, "Undef"
+    .lex "$name", $P1487
+    find_lex $P1488, "$/"
+    unless_null $P1488, vivify_351
+    $P1488 = root_new ['parrot';'Hash']
   vivify_351:
-    set $P1507, $P1506["name"]
-    unless_null $P1507, vivify_352
-    new $P1507, "Undef"
+    set $P1489, $P1488["name"]
+    unless_null $P1489, vivify_352
+    new $P1489, "Undef"
   vivify_352:
-    set $S1508, $P1507
-    new $P1509, 'String'
-    set $P1509, $S1508
-    store_lex "$name", $P1509
+    set $S1490, $P1489
+    new $P1491, 'String'
+    set $P1491, $S1490
+    store_lex "$name", $P1491
 .annotate 'line', 454
-    get_hll_global $P1510, ["PAST"], "Regex"
-    find_lex $P1511, "$name"
-    find_lex $P1512, "$/"
-    $P1513 = $P1510."new"($P1511, "subrule" :named("pasttype"), "method" :named("subtype"), $P1512 :named("node"))
-    store_lex "$past", $P1513
+    get_hll_global $P1492, ["PAST"], "Regex"
+    find_lex $P1493, "$name"
+    find_lex $P1494, "$/"
+    $P1495 = $P1492."new"($P1493, "subrule" :named("pasttype"), "method" :named("subtype"), $P1494 :named("node"))
+    store_lex "$past", $P1495
 .annotate 'line', 452
-    .return ($P1513)
+    .return ($P1495)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "mod_internal"  :subid("89_1277356890.79584") :method :outer("11_1277356890.79584")
-    .param pmc param_1564
+.sub "mod_internal"  :subid("88_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1546
 .annotate 'line', 487
-    new $P1563, 'ExceptionHandler'
-    set_addr $P1563, control_1562
-    $P1563."handle_types"(.CONTROL_RETURN)
-    push_eh $P1563
+    new $P1545, 'ExceptionHandler'
+    set_addr $P1545, control_1544
+    $P1545."handle_types"(.CONTROL_RETURN)
+    push_eh $P1545
     .lex "self", self
-    .lex "$/", param_1564
+    .lex "$/", param_1546
 .annotate 'line', 488
-    $P1565 = root_new ['parrot';'Hash']
-    .lex "%mods", $P1565
+    $P1547 = root_new ['parrot';'Hash']
+    .lex "%mods", $P1547
 .annotate 'line', 489
-    new $P1566, "Undef"
-    .lex "$n", $P1566
+    new $P1548, "Undef"
+    .lex "$n", $P1548
 .annotate 'line', 488
-    get_global $P1567, "@MODIFIERS"
-    unless_null $P1567, vivify_355
-    $P1567 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P1549, "@MODIFIERS"
+    unless_null $P1549, vivify_355
+    $P1549 = root_new ['parrot';'ResizablePMCArray']
   vivify_355:
-    set $P1568, $P1567[0]
-    unless_null $P1568, vivify_356
-    new $P1568, "Undef"
+    set $P1550, $P1549[0]
+    unless_null $P1550, vivify_356
+    new $P1550, "Undef"
   vivify_356:
-    store_lex "%mods", $P1568
+    store_lex "%mods", $P1550
 .annotate 'line', 489
-    find_lex $P1571, "$/"
-    unless_null $P1571, vivify_357
-    $P1571 = root_new ['parrot';'Hash']
+    find_lex $P1553, "$/"
+    unless_null $P1553, vivify_357
+    $P1553 = root_new ['parrot';'Hash']
   vivify_357:
-    set $P1572, $P1571["n"]
-    unless_null $P1572, vivify_358
-    $P1572 = root_new ['parrot';'ResizablePMCArray']
+    set $P1554, $P1553["n"]
+    unless_null $P1554, vivify_358
+    $P1554 = root_new ['parrot';'ResizablePMCArray']
   vivify_358:
-    set $P1573, $P1572[0]
-    unless_null $P1573, vivify_359
-    new $P1573, "Undef"
+    set $P1555, $P1554[0]
+    unless_null $P1555, vivify_359
+    new $P1555, "Undef"
   vivify_359:
-    set $S1574, $P1573
-    isgt $I1575, $S1574, ""
-    if $I1575, if_1570
-    new $P1580, "Integer"
-    assign $P1580, 1
-    set $P1569, $P1580
-    goto if_1570_end
-  if_1570:
-    find_lex $P1576, "$/"
-    unless_null $P1576, vivify_360
-    $P1576 = root_new ['parrot';'Hash']
+    set $S1556, $P1555
+    isgt $I1557, $S1556, ""
+    if $I1557, if_1552
+    new $P1562, "Integer"
+    assign $P1562, 1
+    set $P1551, $P1562
+    goto if_1552_end
+  if_1552:
+    find_lex $P1558, "$/"
+    unless_null $P1558, vivify_360
+    $P1558 = root_new ['parrot';'Hash']
   vivify_360:
-    set $P1577, $P1576["n"]
-    unless_null $P1577, vivify_361
-    $P1577 = root_new ['parrot';'ResizablePMCArray']
+    set $P1559, $P1558["n"]
+    unless_null $P1559, vivify_361
+    $P1559 = root_new ['parrot';'ResizablePMCArray']
   vivify_361:
-    set $P1578, $P1577[0]
-    unless_null $P1578, vivify_362
-    new $P1578, "Undef"
+    set $P1560, $P1559[0]
+    unless_null $P1560, vivify_362
+    new $P1560, "Undef"
   vivify_362:
-    set $N1579, $P1578
-    new $P1569, 'Float'
-    set $P1569, $N1579
-  if_1570_end:
-    store_lex "$n", $P1569
+    set $N1561, $P1560
+    new $P1551, 'Float'
+    set $P1551, $N1561
+  if_1552_end:
+    store_lex "$n", $P1551
 .annotate 'line', 490
-    find_lex $P1581, "$n"
-    find_lex $P1582, "$/"
-    unless_null $P1582, vivify_363
-    $P1582 = root_new ['parrot';'Hash']
+    find_lex $P1563, "$n"
+    find_lex $P1564, "$/"
+    unless_null $P1564, vivify_363
+    $P1564 = root_new ['parrot';'Hash']
   vivify_363:
-    set $P1583, $P1582["mod_ident"]
-    unless_null $P1583, vivify_364
-    $P1583 = root_new ['parrot';'Hash']
+    set $P1565, $P1564["mod_ident"]
+    unless_null $P1565, vivify_364
+    $P1565 = root_new ['parrot';'Hash']
   vivify_364:
-    set $P1584, $P1583["sym"]
-    unless_null $P1584, vivify_365
-    new $P1584, "Undef"
+    set $P1566, $P1565["sym"]
+    unless_null $P1566, vivify_365
+    new $P1566, "Undef"
   vivify_365:
-    set $S1585, $P1584
-    find_lex $P1586, "%mods"
-    unless_null $P1586, vivify_366
-    $P1586 = root_new ['parrot';'Hash']
-    store_lex "%mods", $P1586
+    set $S1567, $P1566
+    find_lex $P1568, "%mods"
+    unless_null $P1568, vivify_366
+    $P1568 = root_new ['parrot';'Hash']
+    store_lex "%mods", $P1568
   vivify_366:
-    set $P1586[$S1585], $P1581
+    set $P1568[$S1567], $P1563
 .annotate 'line', 491
-    find_lex $P1587, "$/"
-    $P1588 = $P1587."!make"(0)
+    find_lex $P1569, "$/"
+    $P1570 = $P1569."!make"(0)
 .annotate 'line', 487
-    .return ($P1588)
-  control_1562:
+    .return ($P1570)
+  control_1544:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1589, exception, "payload"
-    .return ($P1589)
+    getattribute $P1571, exception, "payload"
+    .return ($P1571)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1594" :load :anon :subid("90_1277356890.79584")
+.include "except_types.pasm"
+.sub "subrule_alias"  :subid("89_1278500533.96053") :method :outer("11_1278500533.96053")
+    .param pmc param_1578
+    .param pmc param_1579
+.annotate 'line', 584
+    new $P1577, 'ExceptionHandler'
+    set_addr $P1577, control_1576
+    $P1577."handle_types"(.CONTROL_RETURN)
+    push_eh $P1577
+    .lex "self", self
+    .lex "$past", param_1578
+    .lex "$name", param_1579
+.annotate 'line', 585
+    find_lex $P1581, "$past"
+    $S1582 = $P1581."name"()
+    isgt $I1583, $S1582, ""
+    if $I1583, if_1580
+.annotate 'line', 586
+    find_lex $P1590, "$past"
+    find_lex $P1591, "$name"
+    $P1590."name"($P1591)
+    goto if_1580_end
+  if_1580:
+.annotate 'line', 585
+    find_lex $P1584, "$past"
+    find_lex $P1585, "$name"
+    concat $P1586, $P1585, "="
+    find_lex $P1587, "$past"
+    $S1588 = $P1587."name"()
+    concat $P1589, $P1586, $S1588
+    $P1584."name"($P1589)
+  if_1580_end:
+.annotate 'line', 587
+    find_lex $P1592, "$past"
+    $P1593 = $P1592."subtype"("capture")
+.annotate 'line', 584
+    .return ($P1593)
+  control_1576:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1594, exception, "payload"
+    .return ($P1594)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Actions"]
+.sub "_block1596" :load :anon :subid("90_1278500533.96053")
 .annotate 'line', 4
-    .const 'Sub' $P1596 = "11_1277356890.79584" 
-    $P1597 = $P1596()
-    .return ($P1597)
+    .const 'Sub' $P1598 = "11_1278500533.96053" 
+    $P1599 = $P1598()
+    .return ($P1599)
 .end
 
 
 .namespace []
-.sub "_block1600" :load :anon :subid("91_1277356890.79584")
+.sub "_block1602" :load :anon :subid("91_1278500533.96053")
 .annotate 'line', 1
-    .const 'Sub' $P1602 = "10_1277356890.79584" 
-    $P1603 = $P1602()
-    .return ($P1603)
+    .const 'Sub' $P1604 = "10_1278500533.96053" 
+    $P1605 = $P1604()
+    .return ($P1605)
 .end
 
 # .include 'src/cheats/p6regex-grammar.pir'

Modified: branches/gsoc_threads/lib/Parrot/Configure/Options/Conf/File.pm
==============================================================================
--- branches/gsoc_threads/lib/Parrot/Configure/Options/Conf/File.pm	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/lib/Parrot/Configure/Options/Conf/File.pm	Sun Jul 11 03:52:25 2010	(r48071)
@@ -73,7 +73,7 @@
     else {
         die "Configuration file $data->{file} did not parse correctly: $!";
     }
-    return ($data, $steps_list_ref);;
+    return ($data, $steps_list_ref);
 }
 
 sub _get_substitutions {
@@ -124,7 +124,7 @@
 }
 
 sub _set_steps {
-    my ($data, $steps, $optsref) = @_;;
+    my ($data, $steps, $optsref) = @_;
     my @steplines = split /\n/, $steps;
     my @steps_list = ();
     LINE: foreach my $line (@steplines) {

Modified: branches/gsoc_threads/lib/Pod/Simple/Search.pm
==============================================================================
--- branches/gsoc_threads/lib/Pod/Simple/Search.pm	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/lib/Pod/Simple/Search.pm	Sun Jul 11 03:52:25 2010	(r48071)
@@ -353,7 +353,7 @@
     }
     pop @$modname_bits;
     return;
-  };;
+  };
 
   local $_;
   $recursor->($startdir, '');

Modified: branches/gsoc_threads/runtime/parrot/library/distutils.pir
==============================================================================
--- branches/gsoc_threads/runtime/parrot/library/distutils.pir	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/runtime/parrot/library/distutils.pir	Sun Jul 11 03:52:25 2010	(r48071)
@@ -193,7 +193,7 @@
 
 L<http://bitbucket.org/riffraff/shakespeare-parrot/src/tip/setup.pir>
 
-L<http://gitorious.org/kakapo/kakapo/blobs/master/setup.nqp>
+L<http://github.com/ekiru/tree-optimization/blob/master/setup.nqp>
 
 =cut
 

Modified: branches/gsoc_threads/src/dynpmc/rational.pmc
==============================================================================
--- branches/gsoc_threads/src/dynpmc/rational.pmc	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/src/dynpmc/rational.pmc	Sun Jul 11 03:52:25 2010	(r48071)
@@ -541,7 +541,7 @@
 
 */
     VTABLE PMC *add_int(INTVAL value, PMC* dest) {
-        dest = STATICSELF.clone();;
+        dest = STATICSELF.clone();
         rat_add_integer(INTERP, dest, (int) value);
         return dest;
     }

Modified: branches/gsoc_threads/src/oo.c
==============================================================================
--- branches/gsoc_threads/src/oo.c	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/src/oo.c	Sun Jul 11 03:52:25 2010	(r48071)
@@ -438,7 +438,7 @@
         ARGIN(PMC *classobj), ARGIN(STRING *name))
 {
     ASSERT_ARGS(Parrot_oo_find_vtable_override_for_class)
-    const Parrot_Class_attributes * const class_info = PARROT_CLASS(classobj);;
+    const Parrot_Class_attributes * const class_info = PARROT_CLASS(classobj);
     PARROT_ASSERT(PObj_is_class_TEST(classobj));
 
     return VTABLE_get_pmc_keyed_str(interp, class_info->vtable_overrides, name);

Modified: branches/gsoc_threads/src/pmc/hash.pmc
==============================================================================
--- branches/gsoc_threads/src/pmc/hash.pmc	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/src/pmc/hash.pmc	Sun Jul 11 03:52:25 2010	(r48071)
@@ -1104,7 +1104,7 @@
 */
 
     VTABLE void freeze(PMC *info) {
-        Hash     * const hash = (Hash *)SELF.get_pointer();;
+        Hash     * const hash = (Hash *)SELF.get_pointer();
 
         SUPER(info);
         VTABLE_push_integer(INTERP, info, VTABLE_elements(INTERP, SELF));

Modified: branches/gsoc_threads/src/pmc/key.pmc
==============================================================================
--- branches/gsoc_threads/src/pmc/key.pmc	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/src/pmc/key.pmc	Sun Jul 11 03:52:25 2010	(r48071)
@@ -388,6 +388,18 @@
     VTABLE STRING* get_repr() {
         return key_set_to_string(INTERP, SELF);
     }
+
+/*
+=item C<set_register(reg_no, type)>
+
+Set key to hold particular register.
+
+=cut
+*/
+    METHOD set_register(INTVAL reg_no, INTVAL reg_type) {
+        key_set_register(INTERP, SELF, reg_no, reg_type);
+    }
+
 }
 
 /*

Modified: branches/gsoc_threads/src/pmc/sub.pmc
==============================================================================
--- branches/gsoc_threads/src/pmc/sub.pmc	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/src/pmc/sub.pmc	Sun Jul 11 03:52:25 2010	(r48071)
@@ -872,7 +872,7 @@
                 ASSERT_SIG_PMC(sig);
 
                 for (i = 0; i < sig_length; ++i) {
-                    int sig_item = VTABLE_get_integer_keyed_int(INTERP, sig, i);;
+                    int sig_item = VTABLE_get_integer_keyed_int(INTERP, sig, i);
                     if (PARROT_ARG_SLURPY_ARRAY_ISSET(sig_item)){
                         if (PARROT_ARG_NAME_ISSET(sig_item))
                             sub->arg_info->named_slurpy = 1;
@@ -881,7 +881,7 @@
                     }
                     else if (PARROT_ARG_NAME_ISSET(sig_item)) {
                         ++i;
-                        sig_item = VTABLE_get_integer_keyed_int(INTERP, sig, i);;
+                        sig_item = VTABLE_get_integer_keyed_int(INTERP, sig, i);
                         if (PARROT_ARG_OPTIONAL_ISSET(sig_item))
                             ++sub->arg_info->named_optional;
                         else

Modified: branches/gsoc_threads/src/runcore/profiling.c
==============================================================================
--- branches/gsoc_threads/src/runcore/profiling.c	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/src/runcore/profiling.c	Sun Jul 11 03:52:25 2010	(r48071)
@@ -472,7 +472,7 @@
     }
 
     Profiling_exit_check_SET(runcore);
-    runcore->runcore_finish = Parrot_hires_get_time();;
+    runcore->runcore_finish = Parrot_hires_get_time();
     return pc;
 }
 

Modified: branches/gsoc_threads/t/library/pcre.t
==============================================================================
--- branches/gsoc_threads/t/library/pcre.t	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/t/library/pcre.t	Sun Jul 11 03:52:25 2010	(r48071)
@@ -1,5 +1,5 @@
 #!perl
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
 # $Id$
 
 use strict;
@@ -101,7 +101,9 @@
 OUT
 
 ## 2
-    pir_output_is( <<"CODE", <<'OUT', 'soup to nuts' );
+    my @todo;
+    @todo = ( todo => '3..5 fail on Win32' ) if $^O =~ /MSWin32/;
+    pir_output_is( <<"CODE", <<'OUT', 'soup to nuts', @todo );
 
 .include 'iglobals.pasm'
 .include 'libpaths.pasm'

Modified: branches/gsoc_threads/t/steps/auto/format-01.t
==============================================================================
--- branches/gsoc_threads/t/steps/auto/format-01.t	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/t/steps/auto/format-01.t	Sun Jul 11 03:52:25 2010	(r48071)
@@ -99,7 +99,7 @@
 }
 {
     my $p5format = '%.15' . $conf->data->get('sPRIgldbl_provisional');
-    $p5format =~ s/"//g;; # Perl 5's Config value has embedded double quotes
+    $p5format =~ s/"//g; # Perl 5's Config value has embedded double quotes
     $conf->data->set( nv => 'long double' );
     eval {
     auto::format::_set_floatvalfmt_nvsize($conf);

Modified: branches/gsoc_threads/t/steps/auto/inline-01.t
==============================================================================
--- branches/gsoc_threads/t/steps/auto/inline-01.t	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/t/steps/auto/inline-01.t	Sun Jul 11 03:52:25 2010	(r48071)
@@ -68,7 +68,7 @@
     "_evaluate_inline() returned true value");
 is($step->result, q{yes}, "Got expected result");
 is($conf->data->get( 'inline' ), 1,
-    "'inline' attribute has expected value");;
+    "'inline' attribute has expected value");
 
 $conf->replenish($serialized);
 
@@ -85,7 +85,7 @@
     "_evaluate_inline() returned true value");
 is($step->result, q{no}, "Got expected result");
 is($conf->data->get( 'inline' ), q{},
-    "'inline' attribute has expected value");;
+    "'inline' attribute has expected value");
 
 $conf->replenish($serialized);
 
@@ -105,7 +105,7 @@
         \$stdout
     );
     ok($ret, "_evaluate_inline() returned true value");
-    is($step->result, q{yes}, "Got expected result");;
+    is($step->result, q{yes}, "Got expected result");
     is($conf->data->get( 'inline' ), 1,
         "'inline' attribute has expected value");
 }

Modified: branches/gsoc_threads/t/steps/init/hints-01.t
==============================================================================
--- branches/gsoc_threads/t/steps/init/hints-01.t	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/t/steps/init/hints-01.t	Sun Jul 11 03:52:25 2010	(r48071)
@@ -156,7 +156,7 @@
         sub { $ret = $step->runstep($conf); },
         \$stdout,
         \$stderr,
-    );;
+    );
     like(
         $stdout,
         qr/No \Q$hints_file\E found/s,

Modified: branches/gsoc_threads/t/tools/pmc2cutils/05-gen_c.t
==============================================================================
--- branches/gsoc_threads/t/tools/pmc2cutils/05-gen_c.t	Sun Jul 11 03:48:25 2010	(r48070)
+++ branches/gsoc_threads/t/tools/pmc2cutils/05-gen_c.t	Sun Jul 11 03:52:25 2010	(r48071)
@@ -177,7 +177,7 @@
         capture(
             sub { eval { $rv = $self->gen_c(); } },
             \$stdout
-        );;
+        );
         like(
             $@,
             qr<^cannot find file '.*/src/pmc/default.dump' in path>,


More information about the parrot-commits mailing list