[svn:parrot] r47466 - in branches/gc_massacre: compilers/imcc compilers/opsc compilers/opsc/src/Ops compilers/pct/src/PAST compilers/pct/src/POST config/gen/makefiles examples/pir examples/shootout examples/tge/branch ext/nqp-rx/src/stage0 include/parrot include/parrot/oplib runtime/parrot/library/Archive runtime/parrot/library/CGI runtime/parrot/library/Configure runtime/parrot/library/PGE runtime/parrot/library/TAP runtime/parrot/library/Test/Builder src/ops src/pmc src/string t/codingstd t/compilers/pct t/dynoplibs t/op t/pmc tools/dev tools/util

bacek at svn.parrot.org bacek at svn.parrot.org
Tue Jun 8 12:16:28 UTC 2010


Author: bacek
Date: Tue Jun  8 12:16:25 2010
New Revision: 47466
URL: https://trac.parrot.org/parrot/changeset/47466

Log:
Merge branch 'master' into gc_massacre

Modified:
   branches/gc_massacre/compilers/imcc/pcc.c
   branches/gc_massacre/compilers/imcc/reg_alloc.c
   branches/gc_massacre/compilers/opsc/ops2c.nqp
   branches/gc_massacre/compilers/opsc/src/Ops/Emitter.pm
   branches/gc_massacre/compilers/pct/src/PAST/Compiler.pir
   branches/gc_massacre/compilers/pct/src/POST/Compiler.pir
   branches/gc_massacre/compilers/pct/src/POST/Node.pir
   branches/gc_massacre/config/gen/makefiles/root.in
   branches/gc_massacre/examples/pir/life.pir
   branches/gc_massacre/examples/shootout/fasta.pir
   branches/gc_massacre/examples/shootout/regexdna.pir
   branches/gc_massacre/examples/shootout/revcomp.pir
   branches/gc_massacre/examples/shootout/sumcol.pir
   branches/gc_massacre/examples/tge/branch/transform.pir
   branches/gc_massacre/ext/nqp-rx/src/stage0/HLL-s0.pir
   branches/gc_massacre/ext/nqp-rx/src/stage0/NQP-s0.pir
   branches/gc_massacre/ext/nqp-rx/src/stage0/P6Regex-s0.pir
   branches/gc_massacre/ext/nqp-rx/src/stage0/Regex-s0.pir
   branches/gc_massacre/include/parrot/exceptions.h
   branches/gc_massacre/include/parrot/oplib/core_ops.h
   branches/gc_massacre/include/parrot/oplib/ops.h
   branches/gc_massacre/include/parrot/opsenum.h
   branches/gc_massacre/runtime/parrot/library/Archive/Tar.pir
   branches/gc_massacre/runtime/parrot/library/Archive/Zip.pir
   branches/gc_massacre/runtime/parrot/library/CGI/QueryHash.pir
   branches/gc_massacre/runtime/parrot/library/Configure/genfile.pir
   branches/gc_massacre/runtime/parrot/library/PGE/Util.pir
   branches/gc_massacre/runtime/parrot/library/TAP/Parser.pir
   branches/gc_massacre/runtime/parrot/library/Test/Builder/Output.pir
   branches/gc_massacre/src/ops/bit.ops
   branches/gc_massacre/src/ops/cmp.ops
   branches/gc_massacre/src/ops/core.ops
   branches/gc_massacre/src/ops/core_ops.c
   branches/gc_massacre/src/ops/experimental.ops
   branches/gc_massacre/src/ops/io.ops
   branches/gc_massacre/src/ops/math.ops
   branches/gc_massacre/src/ops/object.ops
   branches/gc_massacre/src/ops/pmc.ops
   branches/gc_massacre/src/ops/set.ops
   branches/gc_massacre/src/ops/string.ops
   branches/gc_massacre/src/ops/sys.ops
   branches/gc_massacre/src/ops/var.ops
   branches/gc_massacre/src/pmc/filehandle.pmc
   branches/gc_massacre/src/pmc/stringbuilder.pmc
   branches/gc_massacre/src/string/api.c
   branches/gc_massacre/t/codingstd/c_function_docs.t
   branches/gc_massacre/t/compilers/pct/past.t
   branches/gc_massacre/t/compilers/pct/post.t
   branches/gc_massacre/t/dynoplibs/io.t
   branches/gc_massacre/t/op/exit.t
   branches/gc_massacre/t/op/string.t
   branches/gc_massacre/t/op/stringu.t
   branches/gc_massacre/t/pmc/io.t
   branches/gc_massacre/t/pmc/stringbuilder.t
   branches/gc_massacre/tools/dev/nci_thunk_gen.pir
   branches/gc_massacre/tools/util/parrot-config.pir

Modified: branches/gc_massacre/compilers/imcc/pcc.c
==============================================================================
--- branches/gc_massacre/compilers/imcc/pcc.c	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/compilers/imcc/pcc.c	Tue Jun  8 12:16:25 2010	(r47466)
@@ -526,6 +526,9 @@
 =item C<static int pcc_reg_mov(PARROT_INTERP, unsigned char d, unsigned char s,
 void *vinfo)>
 
+Callback for C<Parrot_register_move>. Inserts move instructions in stead of
+actually moving the registers.
+
 =cut
 
 */
@@ -598,6 +601,8 @@
 =item C<static Instruction * move_regs(PARROT_INTERP, IMC_Unit *unit,
 Instruction *ins, size_t n, SymReg **dest, SymReg **src)>
 
+Insert instructions for moving C<n> registers from C<src> to C<dest>.
+
 =cut
 
 */
@@ -720,6 +725,9 @@
 =item C<static void insert_tail_call(PARROT_INTERP, IMC_Unit *unit, Instruction
 *ins, SymReg *sub, SymReg *meth)>
 
+Creates and inserts an appropriate tailcall instruction for either a sub call
+or a method call.
+
 =cut
 
 */

Modified: branches/gc_massacre/compilers/imcc/reg_alloc.c
==============================================================================
--- branches/gc_massacre/compilers/imcc/reg_alloc.c	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/compilers/imcc/reg_alloc.c	Tue Jun  8 12:16:25 2010	(r47466)
@@ -229,6 +229,8 @@
 
 =item C<void free_reglist(IMC_Unit *unit)>
 
+Frees the register list associated with a compilation unit.
+
 =cut
 
 */
@@ -405,6 +407,8 @@
 
 =item C<static void sort_reglist(IMC_Unit *unit)>
 
+Sort a compilation unit's register list (by line number of first appearance).
+
 =cut
 
 */
@@ -529,6 +533,8 @@
 
 =item C<static void compute_one_du_chain(SymReg *r, IMC_Unit *unit)>
 
+Compute the DU-chain for one register within the compilation unit.
+
 =cut
 
 */
@@ -691,6 +697,9 @@
 
 =item C<static void vanilla_reg_alloc(PARROT_INTERP, IMC_Unit *unit)>
 
+Vanilla register allocator - assign every virtual register to an actual
+register.
+
 =cut
 
 */
@@ -745,6 +754,9 @@
 
 =item C<static void allocate_lexicals(PARROT_INTERP, IMC_Unit *unit)>
 
+Allocate registers for lexical variables. These must have unique registers
+because they are accessible through the LexPad.
+
 =cut
 
 */

Modified: branches/gc_massacre/compilers/opsc/ops2c.nqp
==============================================================================
--- branches/gc_massacre/compilers/opsc/ops2c.nqp	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/compilers/opsc/ops2c.nqp	Tue Jun  8 12:16:25 2010	(r47466)
@@ -38,11 +38,6 @@
 $arg.long('help');
 $arg.short('h');
 
-# regenerate ops.num et. al. even if it's not necessary
-$arg := $getopts.add();
-$arg.long('force-regen');
-$arg.short('f');
-
 # suppress timing and debug output on stdout
 $arg := $getopts.add();
 $arg.long('quiet');
@@ -72,15 +67,20 @@
     @files.push( $opts<dynamic>);
 }
 elsif (+$opts == 0 || $opts<help>) {
-    say("This is ops2c, part of Parrot build infrastructure.
-usage:
-ops2c --core
-ops2c --dynamic path/to/dynops.ops");
+    say("This is ops2c, part of the Parrot VM's build infrastructure.
+normal options:
+ -c --core                generate the C code for core ops (must be run from within Parrot's build directory)
+ -d --dynamic <file.ops>  generate the C code for the dynamic ops in a single .ops file
+ -q --quiet               don't report any non-error messages
+ -h --help                print this usage information
+ -n --no-lines            do not print #line directives in generated C code (line numbers are not currently supported)
+
+#debugging options:
+ -g --debug               perform all processing but do not write to any files
+");
     pir::exit(0);
 }
 
-my $force_regen := ?$opts<force-regen>;
-
 if ($opts<no-lines>) {
     #TODO: figure out how to generate line numbers
     # $emit_lines is currently ignored

Modified: branches/gc_massacre/compilers/opsc/src/Ops/Emitter.pm
==============================================================================
--- branches/gc_massacre/compilers/opsc/src/Ops/Emitter.pm	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/compilers/opsc/src/Ops/Emitter.pm	Tue Jun  8 12:16:25 2010	(r47466)
@@ -369,7 +369,8 @@
  * This file is generated automatically from '{self<file>}' (and possibly other
  * .ops files). by {self<script>}.
  *
- * Any changes made here will be lost!
+ * Any changes made here will be lost!  To regenerate this file after making
+ * changes to any ops, use the bootstap-ops makefile target.
  *
  */
 |);

Modified: branches/gc_massacre/compilers/pct/src/PAST/Compiler.pir
==============================================================================
--- branches/gc_massacre/compilers/pct/src/PAST/Compiler.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/compilers/pct/src/PAST/Compiler.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -126,54 +126,29 @@
     valflags['String']   = 's~*:e'
     valflags['Integer']  = 'i+*:'
     valflags['Float']    = 'n+*:'
+    valflags['!cconst']          = 'i+*:c'
+    valflags['!except_severity'] = 'i+*:c'
+    valflags['!except_types']    = 'i+*:c'
+    valflags['!iterator']        = 'i+*:c'
+    valflags['!socket']          = 'i+*:c'
     set_global '%valflags', valflags
 
     ##  %!controltypes holds the list of exception types for each
     ##  type of exception handler we support
     .local pmc controltypes
     controltypes = new 'Hash'
-    $P0 = new 'ResizablePMCArray'
-    $P0.'push'(.CONTROL_RETURN)
-    $P0.'push'(.CONTROL_OK)
-    $P0.'push'(.CONTROL_BREAK)
-    $P0.'push'(.CONTROL_CONTINUE)
-    #$P0.'push'(.CONTROL_ERROR)
-    $P0.'push'(.CONTROL_TAKE)
-    $P0.'push'(.CONTROL_LEAVE)
-    $P0.'push'(.CONTROL_LOOP_NEXT)
-    $P0.'push'(.CONTROL_LOOP_LAST)
-    $P0.'push'(.CONTROL_LOOP_REDO)
-    controltypes['CONTROL']   = $P0
-    $P0 = new 'ResizablePMCArray'
-    $P0.'push'(.CONTROL_RETURN)
-    controltypes['RETURN']   = $P0
-    $P0 = new 'ResizablePMCArray'
-    $P0.'push'(.CONTROL_OK)
-    controltypes['OK'] = $P0
-    $P0 = new 'ResizablePMCArray'
-    $P0.'push'(.CONTROL_BREAK)
-    controltypes['BREAK'] = $P0
-    $P0 = new 'ResizablePMCArray'
-    $P0.'push'(.CONTROL_CONTINUE)
-    controltypes['CONTINUE'] = $P0
-    $P0 = new 'ResizablePMCArray'
-    $P0.'push'(.CONTROL_ERROR)
-    controltypes['ERROR'] = $P0
-    $P0 = new 'ResizablePMCArray'
-    $P0.'push'(.CONTROL_TAKE)
-    controltypes['GATHER']   = $P0
-    $P0 = new 'ResizablePMCArray'
-    $P0.'push'(.CONTROL_LEAVE)
-    controltypes['LEAVE'] = $P0
-    $P0 = new 'ResizablePMCArray'
-    $P0.'push'(.CONTROL_LOOP_NEXT)
-    controltypes['NEXT'] = $P0
-    $P0 = new 'ResizablePMCArray'
-    $P0.'push'(.CONTROL_LOOP_LAST)
-    controltypes['LAST'] = $P0
-    $P0 = new 'ResizablePMCArray'
-    $P0.'push'(.CONTROL_LOOP_REDO)
-    controltypes['REDO'] = $P0
+    controltypes['CONTROL']  = '.CONTROL_RETURN, .CONTROL_OK, .CONTROL_BREAK, .CONTROL_CONTINUE, .CONTROL_TAKE, .CONTROL_LEAVE, .CONTROL_EXIT, .CONTROL_LOOP_NEXT, .CONTROL_LOOP_LAST, .CONTROL_LOOP_REDO'
+    controltypes['RETURN']   = '.CONTROL_RETURN'
+    controltypes['OK']       = '.CONTROL_OK'
+    controltypes['BREAK']    = '.CONTROL_BREAK'
+    controltypes['CONTINUE'] = '.CONTROL_CONTINUE'
+    controltypes['ERROR']    = '.CONTROL_ERROR'
+    controltypes['GATHER']   = '.CONTROL_TAKE'
+    controltypes['LEAVE']    = '.CONTROL_LEAVE'
+    controltypes['EXIT']     = '.CONTROL_EXIT'
+    controltypes['NEXT']     = '.CONTROL_NEXT'
+    controltypes['LAST']     = '.CONTROL_LAST'
+    controltypes['REDO']     = '.CONTROL_REDO'
     set_global '%!controltypes', controltypes
 
     $P0 = box 11
@@ -651,7 +626,7 @@
     .local pmc eh
     eh = node.'handlers'()
     unless eh, no_eh
-    ops = self.'wrap_handlers'(ops,eh,'rtype'=>rtype)
+    ops = self.'wrap_handlers'(ops, eh, 'rtype'=>rtype)
   no_eh:
     .return (ops)
 .end
@@ -725,28 +700,34 @@
     unless it, handler_loop_done
     node = shift it
 
-    .local pmc ehpir, types, label
+    .local pmc ehpir, label, controltypes, subpost
     .local string ehreg, type
     $P0 = get_hll_global ['POST'], 'Label'
     $S0 = self.'unique'('control_')
     label = $P0.'new'('result'=>$S0)
 
+    subpost = find_dynamic_lex '$*SUB'
+
     ehreg = self.'uniquereg'('P')
     ops.'push_pirop'('new', ehreg, "'ExceptionHandler'")
     ops.'push_pirop'('set_addr', ehreg, label)
-    $P0 = get_global '%!controltypes'
+    controltypes = get_global '%!controltypes'
     type = node.'handle_types'()
-    unless type, no_handle_types
-    types = $P0[type]
-    unless type, no_handle_types
-    ops.'push_pirop'('callmethod', '"handle_types"', ehreg, types :flat)
-  no_handle_types:
+    unless type, handle_types_done
+    type = controltypes[type]
+    unless type, handle_types_done
+    $P0 = split ',', type
+    ops.'push_pirop'('callmethod', '"handle_types"', ehreg, $P0 :flat)
+    subpost.'add_directive'('.include "except_types.pasm"')
+  handle_types_done:
     type = node.'handle_types_except'()
-    unless type, no_handle_types_except
-    types = $P0[type]
-    unless type, no_handle_types_except
-    ops.'push_pirop'('callmethod', '"handle_types_except"', ehreg, types :flat)
-  no_handle_types_except:
+    unless type, handle_types_except_done
+    type = controltypes[type]
+    unless type, handle_types_except_done
+    $P0 = split ',', type
+    ops.'push_pirop'('callmethod', '"handle_types_except"', ehreg, $P0 :flat)
+    subpost.'add_directive'('.include "except_types.pasm"')
+  handle_types_except_done:
     ops.'push_pirop'('push_eh', ehreg)
 
     # Add one pop_eh for every handler we push_eh
@@ -914,8 +895,9 @@
     $S0 = self.'uniquereg'('P')
     bpost.'push_pirop'('new', $S0, "'ExceptionHandler'")
     bpost.'push_pirop'('set_addr', $S0, ctrllabel)
-    bpost.'push_pirop'('callmethod', '"handle_types"', $S0, .CONTROL_RETURN)
+    bpost.'push_pirop'('callmethod', '"handle_types"', $S0, '.CONTROL_RETURN')
     bpost.'push_pirop'('push_eh', $S0)
+    bpost.'add_directive'('.include "except_types.pasm"')
 
   children_past:
     ##  all children but last are void context, last returns anything
@@ -932,7 +914,7 @@
     unless eh, no_eh
     $S0 = options['rtype']
     retval = ops[-1]
-    ops = self.'wrap_handlers'(ops,eh,'rtype'=>$S0)
+    ops = self.'wrap_handlers'(ops, eh, 'rtype'=>$S0)
     goto had_eh
   no_eh:
     ##  result of last child is return from block
@@ -1373,11 +1355,14 @@
     $P0 = get_hll_global ['POST'], 'Ops'
     ops = $P0.'new'()
 
+    $P0 = find_dynamic_lex '$*SUB'
+    $P0.'add_directive'('.include "except_types.pasm"')
+
     .local string handreg
     handreg = self.'uniquereg'('P')
     ops.'push_pirop'('new', handreg, "'ExceptionHandler'")
     ops.'push_pirop'('set_addr', handreg, handlabel)
-    ops.'push_pirop'('callmethod', '"handle_types"', handreg, .CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    ops.'push_pirop'('callmethod', '"handle_types"', handreg, '.CONTROL_LOOP_NEXT', '.CONTROL_LOOP_REDO', '.CONTROL_LOOP_LAST')
     ops.'push_pirop'('push_eh', handreg)
 
     unless bodyfirst goto bodyfirst_done
@@ -1405,8 +1390,8 @@
     ops.'push_pirop'('.get_results (exception)')
     $S0 = self.'uniquereg'('P')
     ops.'push_pirop'('getattribute', $S0, 'exception', "'type'")
-    ops.'push_pirop'('eq', $S0, .CONTROL_LOOP_NEXT, nextlabel)
-    ops.'push_pirop'('eq', $S0, .CONTROL_LOOP_REDO, redolabel)
+    ops.'push_pirop'('eq', $S0, '.CONTROL_LOOP_NEXT', nextlabel)
+    ops.'push_pirop'('eq', $S0, '.CONTROL_LOOP_REDO', redolabel)
     ops.'push'(donelabel)
     ops.'push_pirop'('pop_eh')
     .return (ops)
@@ -1644,7 +1629,9 @@
     exreg = self.'uniquereg'('P')
     extype = concat exreg, "['type']"
     ops.'push_pirop'('new', exreg, '"Exception"')
-    ops.'push_pirop'('set', extype, .CONTROL_RETURN)
+    ops.'push_pirop'('set', extype, '.CONTROL_RETURN')
+    $P0 = find_dynamic_lex '$*SUB'
+    $P0.'add_directive'('.include "except_types.pasm"')
 
     .local pmc cpast, cpost
     cpast = node[0]
@@ -2474,6 +2461,22 @@
     value = self.'escape'(value)
   escape_done:
 
+    # See if this is a pasm constant type
+    $I0 = index valflags, 'c'
+    if $I0 < 0 goto const_done
+    # Add the directive for the appropriate .include statement.
+    $S0 = returns
+    $S0 = replace $S0, 0, 1, '.include "'
+    $S0 = concat $S0, '.pasm"'
+    $P0 = find_dynamic_lex '$*SUB'
+    $P0.'add_directive'($S0)
+    # Add a leading dot to the value if one isn't already there.
+    $S0 = substr value, 0, 1
+    if $S0 == '.' goto const_done
+    $P0 = box '.'
+    value = concat $P0, value
+  const_done:
+
     .local string rtype
     rtype = options['rtype']
     $I0 = index valflags, rtype

Modified: branches/gc_massacre/compilers/pct/src/POST/Compiler.pir
==============================================================================
--- branches/gc_massacre/compilers/pct/src/POST/Compiler.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/compilers/pct/src/POST/Compiler.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -368,6 +368,11 @@
     subpir.'append_format'("\n.HLL %0\n", $P0)
   subpir_ns:
     subpir.'append_format'("\n.namespace %0\n", nskey)
+  subpir_directives:
+    $S0 = node['directives']
+    unless $S0 goto subpir_decl
+    subpir.'append_format'("%0", $S0)
+  subpir_decl:
     $S0 = self.'escape'(name)
     subpir.'append_format'(".sub %0 %1\n", $S0, pirflags)
     .local pmc paramlist

Modified: branches/gc_massacre/compilers/pct/src/POST/Node.pir
==============================================================================
--- branches/gc_massacre/compilers/pct/src/POST/Node.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/compilers/pct/src/POST/Node.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -291,6 +291,21 @@
     .return ()
 .end
 
+
+.sub 'add_directive' :method
+    .param string line
+    .local string dlist
+    dlist = self['directives']
+    $I0 = index dlist, line
+    unless $I0 < 0 goto done
+    dlist = concat dlist, line
+    dlist = concat dlist, "\n"
+    self['directives'] = dlist
+  done:
+    .return ()
+.end
+
+
 =back
 
 =head1 AUTHOR

Modified: branches/gc_massacre/config/gen/makefiles/root.in
==============================================================================
--- branches/gc_massacre/config/gen/makefiles/root.in	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/config/gen/makefiles/root.in	Tue Jun  8 12:16:25 2010	(r47466)
@@ -813,6 +813,7 @@
 	@echo "  tags-vi:           Create tags for the vi editor."
 	@echo "  tags-emacs:        Create tags for the Emacs editor."
 	@echo "  perlcritic:        Check Perl code with Perl::Critic."
+	@echo "  bootstrap-ops:     Generate C code from .ops files."
 	@echo ""
 	@echo "Release:"
 	@echo "  release:           Create a tarball."

Modified: branches/gc_massacre/examples/pir/life.pir
==============================================================================
--- branches/gc_massacre/examples/pir/life.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/examples/pir/life.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -87,7 +87,8 @@
 	mod $I31,$I0,100
 	if $I31, skip
         $P0 = getinterp
-        $P1 = $P0.'stdhandle'(2)
+        .include 'stdio.pasm'
+        $P1 = $P0.'stdhandle'(.PIO_STDERR_FILENO)
 	print $P1, "."
 skip:
 

Modified: branches/gc_massacre/examples/shootout/fasta.pir
==============================================================================
--- branches/gc_massacre/examples/shootout/fasta.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/examples/shootout/fasta.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -163,8 +163,9 @@
 	.local pmc interp, stdout
 	.local int n
 	# stdout is linebuffered per default - make it block buffered
+        .include 'stdio.pasm'
         interp = getinterp
-	stdout = interp.'stdhandle'(1)
+	stdout = interp.'stdhandle'(.PIO_STDOUT_FILENO)
 	stdout.'buffer_size'(40960)
 	$I0 = argv
 	if $I0 > 1 goto argsok

Modified: branches/gc_massacre/examples/shootout/regexdna.pir
==============================================================================
--- branches/gc_massacre/examples/shootout/regexdna.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/examples/shootout/regexdna.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -62,7 +62,8 @@
 	# Read in the file
 beginwhile:
         $P0      = getinterp
-        $P1      = $P0.'stdhandle'(0) # stdin
+        .include 'stdio.pasm'
+        $P1      = $P0.'stdhandle'(.PIO_STDIN_FILENO)
         chunk    = $P1.'read'(65535)
         chunklen = length chunk
 	unless chunklen goto endwhile

Modified: branches/gc_massacre/examples/shootout/revcomp.pir
==============================================================================
--- branches/gc_massacre/examples/shootout/revcomp.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/examples/shootout/revcomp.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -36,8 +36,9 @@
 	.local pmc stdin, stdout
 	.local string line, seq
         $P0    = getinterp
-        stdin  = $P0.'stdhandle'(0)
-        stdout = $P0.'stdhandle'(1)
+        .include 'stdio.pasm'
+        stdin  = $P0.'stdhandle'(.PIO_STDIN_FILENO)
+        stdout = $P0.'stdhandle'(.PIO_STDOUT_FILENO)
 	# stdout is linebuffered per default - make it block buffered
 	stdout.'buffer_size'(8192)
 

Modified: branches/gc_massacre/examples/shootout/sumcol.pir
==============================================================================
--- branches/gc_massacre/examples/shootout/sumcol.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/examples/shootout/sumcol.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -12,7 +12,8 @@
 	.local int count, tmp, linelen
 	count  = 0
 	interp = getinterp
-	stdin  = interp.'stdhandle'(0)
+        .include 'stdio.pasm'
+	stdin  = interp.'stdhandle'(.PIO_STDIN_FILENO)
 beginwhile:
 	line    = stdin.'readline'()
 	linelen = length line

Modified: branches/gc_massacre/examples/tge/branch/transform.pir
==============================================================================
--- branches/gc_massacre/examples/tge/branch/transform.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/examples/tge/branch/transform.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -106,7 +106,8 @@
     if $I0 == 2 goto fromfile
 
     $P0 = getinterp
-    filehandle = $P0.'stdhandle'(0)
+    .include 'stdio.pasm'
+    filehandle = $P0.'stdhandle'(.PIO_STDIN_FILENO)
     goto grabline
 
   fromfile:

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

Modified: branches/gc_massacre/ext/nqp-rx/src/stage0/NQP-s0.pir
==============================================================================
--- branches/gc_massacre/ext/nqp-rx/src/stage0/NQP-s0.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/ext/nqp-rx/src/stage0/NQP-s0.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -15,7 +15,7 @@
 ### .include 'gen/nqp-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1275600007.84296")
+.sub "_block11"  :anon :subid("10_1275811487.95429")
 .annotate 'line', 0
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     capture_lex $P14
@@ -29,333 +29,333 @@
 .annotate 'line', 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     capture_lex $P14
-    $P1408 = $P14()
+    $P1424 = $P14()
 .annotate 'line', 1
-    .return ($P1408)
-    .const 'Sub' $P1410 = "363_1275600007.84296" 
-    .return ($P1410)
+    .return ($P1424)
+    .const 'Sub' $P1426 = "363_1275811487.95429" 
+    .return ($P1426)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post364") :outer("10_1275600007.84296")
+.sub "" :load :init :subid("post364") :outer("10_1275811487.95429")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1275600007.84296" 
+    .const 'Sub' $P12 = "10_1275811487.95429" 
     .local pmc block
     set block, $P12
-    $P1413 = get_root_global ["parrot"], "P6metaclass"
-    $P1413."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
+    $P1429 = get_root_global ["parrot"], "P6metaclass"
+    $P1429."new_class"("NQP::Grammar", "HLL::Grammar" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block13"  :subid("11_1275600007.84296") :outer("10_1275600007.84296")
+.sub "_block13"  :subid("11_1275811487.95429") :outer("10_1275811487.95429")
 .annotate 'line', 4
-    get_hll_global $P1324, ["NQP";"Regex"], "_block1323" 
-    capture_lex $P1324
-    .const 'Sub' $P1310 = "340_1275600007.84296" 
-    capture_lex $P1310
-    .const 'Sub' $P1304 = "338_1275600007.84296" 
-    capture_lex $P1304
-    .const 'Sub' $P1298 = "336_1275600007.84296" 
-    capture_lex $P1298
-    .const 'Sub' $P1292 = "334_1275600007.84296" 
-    capture_lex $P1292
-    .const 'Sub' $P1286 = "332_1275600007.84296" 
-    capture_lex $P1286
-    .const 'Sub' $P1280 = "330_1275600007.84296" 
-    capture_lex $P1280
-    .const 'Sub' $P1273 = "328_1275600007.84296" 
-    capture_lex $P1273
-    .const 'Sub' $P1266 = "326_1275600007.84296" 
-    capture_lex $P1266
-    .const 'Sub' $P1259 = "324_1275600007.84296" 
-    capture_lex $P1259
-    .const 'Sub' $P1252 = "322_1275600007.84296" 
-    capture_lex $P1252
-    .const 'Sub' $P1246 = "320_1275600007.84296" 
-    capture_lex $P1246
-    .const 'Sub' $P1239 = "318_1275600007.84296" 
-    capture_lex $P1239
-    .const 'Sub' $P1232 = "316_1275600007.84296" 
-    capture_lex $P1232
-    .const 'Sub' $P1225 = "314_1275600007.84296" 
-    capture_lex $P1225
-    .const 'Sub' $P1218 = "312_1275600007.84296" 
-    capture_lex $P1218
-    .const 'Sub' $P1211 = "310_1275600007.84296" 
-    capture_lex $P1211
-    .const 'Sub' $P1204 = "308_1275600007.84296" 
-    capture_lex $P1204
-    .const 'Sub' $P1197 = "306_1275600007.84296" 
-    capture_lex $P1197
-    .const 'Sub' $P1190 = "304_1275600007.84296" 
-    capture_lex $P1190
-    .const 'Sub' $P1183 = "302_1275600007.84296" 
-    capture_lex $P1183
-    .const 'Sub' $P1176 = "300_1275600007.84296" 
-    capture_lex $P1176
-    .const 'Sub' $P1169 = "298_1275600007.84296" 
-    capture_lex $P1169
-    .const 'Sub' $P1162 = "296_1275600007.84296" 
-    capture_lex $P1162
-    .const 'Sub' $P1155 = "294_1275600007.84296" 
-    capture_lex $P1155
-    .const 'Sub' $P1148 = "292_1275600007.84296" 
-    capture_lex $P1148
-    .const 'Sub' $P1141 = "290_1275600007.84296" 
-    capture_lex $P1141
-    .const 'Sub' $P1134 = "288_1275600007.84296" 
-    capture_lex $P1134
-    .const 'Sub' $P1127 = "286_1275600007.84296" 
-    capture_lex $P1127
-    .const 'Sub' $P1120 = "284_1275600007.84296" 
-    capture_lex $P1120
-    .const 'Sub' $P1113 = "282_1275600007.84296" 
-    capture_lex $P1113
-    .const 'Sub' $P1106 = "280_1275600007.84296" 
-    capture_lex $P1106
-    .const 'Sub' $P1099 = "278_1275600007.84296" 
-    capture_lex $P1099
-    .const 'Sub' $P1092 = "276_1275600007.84296" 
-    capture_lex $P1092
-    .const 'Sub' $P1085 = "274_1275600007.84296" 
-    capture_lex $P1085
-    .const 'Sub' $P1078 = "272_1275600007.84296" 
-    capture_lex $P1078
-    .const 'Sub' $P1071 = "270_1275600007.84296" 
-    capture_lex $P1071
-    .const 'Sub' $P1064 = "268_1275600007.84296" 
-    capture_lex $P1064
-    .const 'Sub' $P1058 = "266_1275600007.84296" 
-    capture_lex $P1058
-    .const 'Sub' $P1051 = "264_1275600007.84296" 
-    capture_lex $P1051
-    .const 'Sub' $P1044 = "262_1275600007.84296" 
-    capture_lex $P1044
-    .const 'Sub' $P1037 = "260_1275600007.84296" 
-    capture_lex $P1037
-    .const 'Sub' $P1030 = "258_1275600007.84296" 
-    capture_lex $P1030
-    .const 'Sub' $P1023 = "256_1275600007.84296" 
-    capture_lex $P1023
-    .const 'Sub' $P1016 = "254_1275600007.84296" 
-    capture_lex $P1016
-    .const 'Sub' $P1009 = "252_1275600007.84296" 
-    capture_lex $P1009
-    .const 'Sub' $P1003 = "250_1275600007.84296" 
-    capture_lex $P1003
-    .const 'Sub' $P997 = "248_1275600007.84296" 
-    capture_lex $P997
-    .const 'Sub' $P992 = "246_1275600007.84296" 
-    capture_lex $P992
-    .const 'Sub' $P986 = "244_1275600007.84296" 
+    get_hll_global $P1340, ["NQP";"Regex"], "_block1339" 
+    capture_lex $P1340
+    .const 'Sub' $P1326 = "340_1275811487.95429" 
+    capture_lex $P1326
+    .const 'Sub' $P1320 = "338_1275811487.95429" 
+    capture_lex $P1320
+    .const 'Sub' $P1314 = "336_1275811487.95429" 
+    capture_lex $P1314
+    .const 'Sub' $P1308 = "334_1275811487.95429" 
+    capture_lex $P1308
+    .const 'Sub' $P1302 = "332_1275811487.95429" 
+    capture_lex $P1302
+    .const 'Sub' $P1296 = "330_1275811487.95429" 
+    capture_lex $P1296
+    .const 'Sub' $P1289 = "328_1275811487.95429" 
+    capture_lex $P1289
+    .const 'Sub' $P1282 = "326_1275811487.95429" 
+    capture_lex $P1282
+    .const 'Sub' $P1275 = "324_1275811487.95429" 
+    capture_lex $P1275
+    .const 'Sub' $P1268 = "322_1275811487.95429" 
+    capture_lex $P1268
+    .const 'Sub' $P1262 = "320_1275811487.95429" 
+    capture_lex $P1262
+    .const 'Sub' $P1255 = "318_1275811487.95429" 
+    capture_lex $P1255
+    .const 'Sub' $P1248 = "316_1275811487.95429" 
+    capture_lex $P1248
+    .const 'Sub' $P1241 = "314_1275811487.95429" 
+    capture_lex $P1241
+    .const 'Sub' $P1234 = "312_1275811487.95429" 
+    capture_lex $P1234
+    .const 'Sub' $P1227 = "310_1275811487.95429" 
+    capture_lex $P1227
+    .const 'Sub' $P1220 = "308_1275811487.95429" 
+    capture_lex $P1220
+    .const 'Sub' $P1213 = "306_1275811487.95429" 
+    capture_lex $P1213
+    .const 'Sub' $P1206 = "304_1275811487.95429" 
+    capture_lex $P1206
+    .const 'Sub' $P1199 = "302_1275811487.95429" 
+    capture_lex $P1199
+    .const 'Sub' $P1192 = "300_1275811487.95429" 
+    capture_lex $P1192
+    .const 'Sub' $P1185 = "298_1275811487.95429" 
+    capture_lex $P1185
+    .const 'Sub' $P1178 = "296_1275811487.95429" 
+    capture_lex $P1178
+    .const 'Sub' $P1171 = "294_1275811487.95429" 
+    capture_lex $P1171
+    .const 'Sub' $P1164 = "292_1275811487.95429" 
+    capture_lex $P1164
+    .const 'Sub' $P1157 = "290_1275811487.95429" 
+    capture_lex $P1157
+    .const 'Sub' $P1150 = "288_1275811487.95429" 
+    capture_lex $P1150
+    .const 'Sub' $P1143 = "286_1275811487.95429" 
+    capture_lex $P1143
+    .const 'Sub' $P1136 = "284_1275811487.95429" 
+    capture_lex $P1136
+    .const 'Sub' $P1129 = "282_1275811487.95429" 
+    capture_lex $P1129
+    .const 'Sub' $P1122 = "280_1275811487.95429" 
+    capture_lex $P1122
+    .const 'Sub' $P1115 = "278_1275811487.95429" 
+    capture_lex $P1115
+    .const 'Sub' $P1108 = "276_1275811487.95429" 
+    capture_lex $P1108
+    .const 'Sub' $P1101 = "274_1275811487.95429" 
+    capture_lex $P1101
+    .const 'Sub' $P1094 = "272_1275811487.95429" 
+    capture_lex $P1094
+    .const 'Sub' $P1087 = "270_1275811487.95429" 
+    capture_lex $P1087
+    .const 'Sub' $P1080 = "268_1275811487.95429" 
+    capture_lex $P1080
+    .const 'Sub' $P1074 = "266_1275811487.95429" 
+    capture_lex $P1074
+    .const 'Sub' $P1067 = "264_1275811487.95429" 
+    capture_lex $P1067
+    .const 'Sub' $P1060 = "262_1275811487.95429" 
+    capture_lex $P1060
+    .const 'Sub' $P1053 = "260_1275811487.95429" 
+    capture_lex $P1053
+    .const 'Sub' $P1046 = "258_1275811487.95429" 
+    capture_lex $P1046
+    .const 'Sub' $P1039 = "256_1275811487.95429" 
+    capture_lex $P1039
+    .const 'Sub' $P1032 = "254_1275811487.95429" 
+    capture_lex $P1032
+    .const 'Sub' $P1025 = "252_1275811487.95429" 
+    capture_lex $P1025
+    .const 'Sub' $P1019 = "250_1275811487.95429" 
+    capture_lex $P1019
+    .const 'Sub' $P1013 = "248_1275811487.95429" 
+    capture_lex $P1013
+    .const 'Sub' $P1008 = "246_1275811487.95429" 
+    capture_lex $P1008
+    .const 'Sub' $P1002 = "244_1275811487.95429" 
+    capture_lex $P1002
+    .const 'Sub' $P996 = "242_1275811487.95429" 
+    capture_lex $P996
+    .const 'Sub' $P991 = "240_1275811487.95429" 
+    capture_lex $P991
+    .const 'Sub' $P986 = "238_1275811487.95429" 
     capture_lex $P986
-    .const 'Sub' $P980 = "242_1275600007.84296" 
-    capture_lex $P980
-    .const 'Sub' $P975 = "240_1275600007.84296" 
-    capture_lex $P975
-    .const 'Sub' $P970 = "238_1275600007.84296" 
+    .const 'Sub' $P978 = "236_1275811487.95429" 
+    capture_lex $P978
+    .const 'Sub' $P970 = "234_1275811487.95429" 
     capture_lex $P970
-    .const 'Sub' $P963 = "236_1275600007.84296" 
-    capture_lex $P963
-    .const 'Sub' $P955 = "234_1275600007.84296" 
+    .const 'Sub' $P965 = "232_1275811487.95429" 
+    capture_lex $P965
+    .const 'Sub' $P960 = "230_1275811487.95429" 
+    capture_lex $P960
+    .const 'Sub' $P955 = "228_1275811487.95429" 
     capture_lex $P955
-    .const 'Sub' $P950 = "232_1275600007.84296" 
-    capture_lex $P950
-    .const 'Sub' $P945 = "230_1275600007.84296" 
-    capture_lex $P945
-    .const 'Sub' $P940 = "228_1275600007.84296" 
-    capture_lex $P940
-    .const 'Sub' $P932 = "226_1275600007.84296" 
-    capture_lex $P932
-    .const 'Sub' $P924 = "224_1275600007.84296" 
+    .const 'Sub' $P947 = "226_1275811487.95429" 
+    capture_lex $P947
+    .const 'Sub' $P939 = "224_1275811487.95429" 
+    capture_lex $P939
+    .const 'Sub' $P934 = "222_1275811487.95429" 
+    capture_lex $P934
+    .const 'Sub' $P929 = "220_1275811487.95429" 
+    capture_lex $P929
+    .const 'Sub' $P924 = "218_1275811487.95429" 
     capture_lex $P924
-    .const 'Sub' $P919 = "222_1275600007.84296" 
-    capture_lex $P919
-    .const 'Sub' $P914 = "220_1275600007.84296" 
-    capture_lex $P914
-    .const 'Sub' $P909 = "218_1275600007.84296" 
-    capture_lex $P909
-    .const 'Sub' $P903 = "216_1275600007.84296" 
-    capture_lex $P903
-    .const 'Sub' $P897 = "214_1275600007.84296" 
-    capture_lex $P897
-    .const 'Sub' $P891 = "212_1275600007.84296" 
-    capture_lex $P891
-    .const 'Sub' $P885 = "210_1275600007.84296" 
-    capture_lex $P885
-    .const 'Sub' $P879 = "208_1275600007.84296" 
-    capture_lex $P879
-    .const 'Sub' $P874 = "206_1275600007.84296" 
-    capture_lex $P874
-    .const 'Sub' $P869 = "204_1275600007.84296" 
-    capture_lex $P869
-    .const 'Sub' $P856 = "200_1275600007.84296" 
-    capture_lex $P856
-    .const 'Sub' $P848 = "198_1275600007.84296" 
-    capture_lex $P848
-    .const 'Sub' $P842 = "196_1275600007.84296" 
-    capture_lex $P842
-    .const 'Sub' $P835 = "194_1275600007.84296" 
-    capture_lex $P835
-    .const 'Sub' $P829 = "192_1275600007.84296" 
-    capture_lex $P829
-    .const 'Sub' $P821 = "190_1275600007.84296" 
-    capture_lex $P821
-    .const 'Sub' $P813 = "188_1275600007.84296" 
-    capture_lex $P813
-    .const 'Sub' $P807 = "186_1275600007.84296" 
-    capture_lex $P807
-    .const 'Sub' $P801 = "184_1275600007.84296" 
+    .const 'Sub' $P918 = "216_1275811487.95429" 
+    capture_lex $P918
+    .const 'Sub' $P912 = "214_1275811487.95429" 
+    capture_lex $P912
+    .const 'Sub' $P906 = "212_1275811487.95429" 
+    capture_lex $P906
+    .const 'Sub' $P900 = "210_1275811487.95429" 
+    capture_lex $P900
+    .const 'Sub' $P894 = "208_1275811487.95429" 
+    capture_lex $P894
+    .const 'Sub' $P889 = "206_1275811487.95429" 
+    capture_lex $P889
+    .const 'Sub' $P884 = "204_1275811487.95429" 
+    capture_lex $P884
+    .const 'Sub' $P871 = "200_1275811487.95429" 
+    capture_lex $P871
+    .const 'Sub' $P863 = "198_1275811487.95429" 
+    capture_lex $P863
+    .const 'Sub' $P857 = "196_1275811487.95429" 
+    capture_lex $P857
+    .const 'Sub' $P850 = "194_1275811487.95429" 
+    capture_lex $P850
+    .const 'Sub' $P844 = "192_1275811487.95429" 
+    capture_lex $P844
+    .const 'Sub' $P836 = "190_1275811487.95429" 
+    capture_lex $P836
+    .const 'Sub' $P828 = "188_1275811487.95429" 
+    capture_lex $P828
+    .const 'Sub' $P822 = "186_1275811487.95429" 
+    capture_lex $P822
+    .const 'Sub' $P816 = "184_1275811487.95429" 
+    capture_lex $P816
+    .const 'Sub' $P801 = "180_1275811487.95429" 
     capture_lex $P801
-    .const 'Sub' $P786 = "180_1275600007.84296" 
-    capture_lex $P786
-    .const 'Sub' $P749 = "178_1275600007.84296" 
-    capture_lex $P749
-    .const 'Sub' $P741 = "176_1275600007.84296" 
-    capture_lex $P741
-    .const 'Sub' $P735 = "174_1275600007.84296" 
-    capture_lex $P735
-    .const 'Sub' $P725 = "172_1275600007.84296" 
-    capture_lex $P725
-    .const 'Sub' $P711 = "170_1275600007.84296" 
-    capture_lex $P711
-    .const 'Sub' $P702 = "168_1275600007.84296" 
-    capture_lex $P702
-    .const 'Sub' $P695 = "166_1275600007.84296" 
-    capture_lex $P695
-    .const 'Sub' $P686 = "164_1275600007.84296" 
-    capture_lex $P686
-    .const 'Sub' $P663 = "160_1275600007.84296" 
-    capture_lex $P663
-    .const 'Sub' $P639 = "158_1275600007.84296" 
-    capture_lex $P639
-    .const 'Sub' $P632 = "156_1275600007.84296" 
-    capture_lex $P632
-    .const 'Sub' $P625 = "154_1275600007.84296" 
-    capture_lex $P625
-    .const 'Sub' $P615 = "150_1275600007.84296" 
-    capture_lex $P615
-    .const 'Sub' $P607 = "148_1275600007.84296" 
-    capture_lex $P607
-    .const 'Sub' $P601 = "146_1275600007.84296" 
-    capture_lex $P601
-    .const 'Sub' $P590 = "144_1275600007.84296" 
+    .const 'Sub' $P763 = "178_1275811487.95429" 
+    capture_lex $P763
+    .const 'Sub' $P754 = "176_1275811487.95429" 
+    capture_lex $P754
+    .const 'Sub' $P748 = "174_1275811487.95429" 
+    capture_lex $P748
+    .const 'Sub' $P738 = "172_1275811487.95429" 
+    capture_lex $P738
+    .const 'Sub' $P724 = "170_1275811487.95429" 
+    capture_lex $P724
+    .const 'Sub' $P715 = "168_1275811487.95429" 
+    capture_lex $P715
+    .const 'Sub' $P707 = "166_1275811487.95429" 
+    capture_lex $P707
+    .const 'Sub' $P697 = "164_1275811487.95429" 
+    capture_lex $P697
+    .const 'Sub' $P673 = "160_1275811487.95429" 
+    capture_lex $P673
+    .const 'Sub' $P648 = "158_1275811487.95429" 
+    capture_lex $P648
+    .const 'Sub' $P641 = "156_1275811487.95429" 
+    capture_lex $P641
+    .const 'Sub' $P634 = "154_1275811487.95429" 
+    capture_lex $P634
+    .const 'Sub' $P624 = "150_1275811487.95429" 
+    capture_lex $P624
+    .const 'Sub' $P616 = "148_1275811487.95429" 
+    capture_lex $P616
+    .const 'Sub' $P610 = "146_1275811487.95429" 
+    capture_lex $P610
+    .const 'Sub' $P597 = "144_1275811487.95429" 
+    capture_lex $P597
+    .const 'Sub' $P590 = "142_1275811487.95429" 
     capture_lex $P590
-    .const 'Sub' $P583 = "142_1275600007.84296" 
+    .const 'Sub' $P583 = "140_1275811487.95429" 
     capture_lex $P583
-    .const 'Sub' $P576 = "140_1275600007.84296" 
+    .const 'Sub' $P576 = "138_1275811487.95429" 
     capture_lex $P576
-    .const 'Sub' $P569 = "138_1275600007.84296" 
-    capture_lex $P569
-    .const 'Sub' $P542 = "134_1275600007.84296" 
-    capture_lex $P542
-    .const 'Sub' $P533 = "132_1275600007.84296" 
-    capture_lex $P533
-    .const 'Sub' $P526 = "130_1275600007.84296" 
-    capture_lex $P526
-    .const 'Sub' $P517 = "126_1275600007.84296" 
-    capture_lex $P517
-    .const 'Sub' $P512 = "124_1275600007.84296" 
-    capture_lex $P512
-    .const 'Sub' $P500 = "122_1275600007.84296" 
-    capture_lex $P500
-    .const 'Sub' $P488 = "120_1275600007.84296" 
-    capture_lex $P488
-    .const 'Sub' $P480 = "118_1275600007.84296" 
-    capture_lex $P480
-    .const 'Sub' $P475 = "116_1275600007.84296" 
+    .const 'Sub' $P548 = "134_1275811487.95429" 
+    capture_lex $P548
+    .const 'Sub' $P539 = "132_1275811487.95429" 
+    capture_lex $P539
+    .const 'Sub' $P532 = "130_1275811487.95429" 
+    capture_lex $P532
+    .const 'Sub' $P523 = "126_1275811487.95429" 
+    capture_lex $P523
+    .const 'Sub' $P518 = "124_1275811487.95429" 
+    capture_lex $P518
+    .const 'Sub' $P506 = "122_1275811487.95429" 
+    capture_lex $P506
+    .const 'Sub' $P494 = "120_1275811487.95429" 
+    capture_lex $P494
+    .const 'Sub' $P486 = "118_1275811487.95429" 
+    capture_lex $P486
+    .const 'Sub' $P481 = "116_1275811487.95429" 
+    capture_lex $P481
+    .const 'Sub' $P475 = "114_1275811487.95429" 
     capture_lex $P475
-    .const 'Sub' $P469 = "114_1275600007.84296" 
+    .const 'Sub' $P469 = "112_1275811487.95429" 
     capture_lex $P469
-    .const 'Sub' $P463 = "112_1275600007.84296" 
-    capture_lex $P463
-    .const 'Sub' $P453 = "109_1275600007.84296" 
+    .const 'Sub' $P459 = "109_1275811487.95429" 
+    capture_lex $P459
+    .const 'Sub' $P453 = "107_1275811487.95429" 
     capture_lex $P453
-    .const 'Sub' $P447 = "107_1275600007.84296" 
+    .const 'Sub' $P447 = "105_1275811487.95429" 
     capture_lex $P447
-    .const 'Sub' $P441 = "105_1275600007.84296" 
+    .const 'Sub' $P441 = "103_1275811487.95429" 
     capture_lex $P441
-    .const 'Sub' $P435 = "103_1275600007.84296" 
+    .const 'Sub' $P435 = "101_1275811487.95429" 
     capture_lex $P435
-    .const 'Sub' $P429 = "101_1275600007.84296" 
+    .const 'Sub' $P429 = "99_1275811487.95429" 
     capture_lex $P429
-    .const 'Sub' $P423 = "99_1275600007.84296" 
+    .const 'Sub' $P423 = "97_1275811487.95429" 
     capture_lex $P423
-    .const 'Sub' $P417 = "97_1275600007.84296" 
-    capture_lex $P417
-    .const 'Sub' $P409 = "95_1275600007.84296" 
-    capture_lex $P409
-    .const 'Sub' $P401 = "93_1275600007.84296" 
-    capture_lex $P401
-    .const 'Sub' $P389 = "89_1275600007.84296" 
-    capture_lex $P389
-    .const 'Sub' $P381 = "87_1275600007.84296" 
-    capture_lex $P381
-    .const 'Sub' $P371 = "83_1275600007.84296" 
-    capture_lex $P371
-    .const 'Sub' $P364 = "81_1275600007.84296" 
-    capture_lex $P364
-    .const 'Sub' $P357 = "79_1275600007.84296" 
-    capture_lex $P357
-    .const 'Sub' $P345 = "75_1275600007.84296" 
-    capture_lex $P345
-    .const 'Sub' $P337 = "73_1275600007.84296" 
-    capture_lex $P337
-    .const 'Sub' $P329 = "71_1275600007.84296" 
-    capture_lex $P329
-    .const 'Sub' $P309 = "69_1275600007.84296" 
-    capture_lex $P309
-    .const 'Sub' $P300 = "67_1275600007.84296" 
-    capture_lex $P300
-    .const 'Sub' $P282 = "64_1275600007.84296" 
-    capture_lex $P282
-    .const 'Sub' $P262 = "62_1275600007.84296" 
-    capture_lex $P262
-    .const 'Sub' $P253 = "58_1275600007.84296" 
-    capture_lex $P253
-    .const 'Sub' $P248 = "56_1275600007.84296" 
-    capture_lex $P248
-    .const 'Sub' $P239 = "52_1275600007.84296" 
-    capture_lex $P239
-    .const 'Sub' $P234 = "50_1275600007.84296" 
-    capture_lex $P234
-    .const 'Sub' $P229 = "48_1275600007.84296" 
-    capture_lex $P229
-    .const 'Sub' $P221 = "46_1275600007.84296" 
-    capture_lex $P221
-    .const 'Sub' $P214 = "44_1275600007.84296" 
-    capture_lex $P214
-    .const 'Sub' $P208 = "42_1275600007.84296" 
-    capture_lex $P208
-    .const 'Sub' $P200 = "40_1275600007.84296" 
-    capture_lex $P200
-    .const 'Sub' $P194 = "38_1275600007.84296" 
-    capture_lex $P194
-    .const 'Sub' $P188 = "36_1275600007.84296" 
-    capture_lex $P188
-    .const 'Sub' $P172 = "33_1275600007.84296" 
-    capture_lex $P172
-    .const 'Sub' $P159 = "31_1275600007.84296" 
+    .const 'Sub' $P414 = "95_1275811487.95429" 
+    capture_lex $P414
+    .const 'Sub' $P405 = "93_1275811487.95429" 
+    capture_lex $P405
+    .const 'Sub' $P392 = "89_1275811487.95429" 
+    capture_lex $P392
+    .const 'Sub' $P383 = "87_1275811487.95429" 
+    capture_lex $P383
+    .const 'Sub' $P373 = "83_1275811487.95429" 
+    capture_lex $P373
+    .const 'Sub' $P366 = "81_1275811487.95429" 
+    capture_lex $P366
+    .const 'Sub' $P359 = "79_1275811487.95429" 
+    capture_lex $P359
+    .const 'Sub' $P347 = "75_1275811487.95429" 
+    capture_lex $P347
+    .const 'Sub' $P339 = "73_1275811487.95429" 
+    capture_lex $P339
+    .const 'Sub' $P331 = "71_1275811487.95429" 
+    capture_lex $P331
+    .const 'Sub' $P311 = "69_1275811487.95429" 
+    capture_lex $P311
+    .const 'Sub' $P302 = "67_1275811487.95429" 
+    capture_lex $P302
+    .const 'Sub' $P284 = "64_1275811487.95429" 
+    capture_lex $P284
+    .const 'Sub' $P264 = "62_1275811487.95429" 
+    capture_lex $P264
+    .const 'Sub' $P255 = "58_1275811487.95429" 
+    capture_lex $P255
+    .const 'Sub' $P250 = "56_1275811487.95429" 
+    capture_lex $P250
+    .const 'Sub' $P241 = "52_1275811487.95429" 
+    capture_lex $P241
+    .const 'Sub' $P236 = "50_1275811487.95429" 
+    capture_lex $P236
+    .const 'Sub' $P231 = "48_1275811487.95429" 
+    capture_lex $P231
+    .const 'Sub' $P223 = "46_1275811487.95429" 
+    capture_lex $P223
+    .const 'Sub' $P216 = "44_1275811487.95429" 
+    capture_lex $P216
+    .const 'Sub' $P210 = "42_1275811487.95429" 
+    capture_lex $P210
+    .const 'Sub' $P202 = "40_1275811487.95429" 
+    capture_lex $P202
+    .const 'Sub' $P196 = "38_1275811487.95429" 
+    capture_lex $P196
+    .const 'Sub' $P190 = "36_1275811487.95429" 
+    capture_lex $P190
+    .const 'Sub' $P174 = "33_1275811487.95429" 
+    capture_lex $P174
+    .const 'Sub' $P159 = "31_1275811487.95429" 
     capture_lex $P159
-    .const 'Sub' $P152 = "29_1275600007.84296" 
+    .const 'Sub' $P152 = "29_1275811487.95429" 
     capture_lex $P152
-    .const 'Sub' $P102 = "26_1275600007.84296" 
+    .const 'Sub' $P102 = "26_1275811487.95429" 
     capture_lex $P102
-    .const 'Sub' $P84 = "23_1275600007.84296" 
+    .const 'Sub' $P84 = "23_1275811487.95429" 
     capture_lex $P84
-    .const 'Sub' $P70 = "21_1275600007.84296" 
+    .const 'Sub' $P70 = "21_1275811487.95429" 
     capture_lex $P70
-    .const 'Sub' $P56 = "19_1275600007.84296" 
+    .const 'Sub' $P56 = "19_1275811487.95429" 
     capture_lex $P56
-    .const 'Sub' $P48 = "17_1275600007.84296" 
+    .const 'Sub' $P48 = "17_1275811487.95429" 
     capture_lex $P48
-    .const 'Sub' $P41 = "15_1275600007.84296" 
+    .const 'Sub' $P41 = "15_1275811487.95429" 
     capture_lex $P41
-    .const 'Sub' $P35 = "13_1275600007.84296" 
+    .const 'Sub' $P35 = "13_1275811487.95429" 
     capture_lex $P35
-    .const 'Sub' $P15 = "12_1275600007.84296" 
+    .const 'Sub' $P15 = "12_1275811487.95429" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -363,80 +363,81 @@
     unless $I0 goto ctxsave_done
     $P0."ctxsave"()
   ctxsave_done:
-.annotate 'line', 562
-    get_hll_global $P1324, ["NQP";"Regex"], "_block1323" 
-    capture_lex $P1324
-    $P1387 = $P1324()
+.annotate 'line', 563
+    get_hll_global $P1340, ["NQP";"Regex"], "_block1339" 
+    capture_lex $P1340
+    $P1403 = $P1340()
 .annotate 'line', 4
-    .return ($P1387)
-    .const 'Sub' $P1389 = "362_1275600007.84296" 
-    .return ($P1389)
+    .return ($P1403)
+    .const 'Sub' $P1405 = "362_1275811487.95429" 
+    .return ($P1405)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "" :load :init :subid("post365") :outer("11_1275600007.84296")
+.sub "" :load :init :subid("post365") :outer("11_1275811487.95429")
 .annotate 'line', 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     .local pmc block
     set block, $P14
-.annotate 'line', 446
-    get_hll_global $P1392, ["NQP"], "Grammar"
-    $P1392."O"(":prec<y=>, :assoc<unary>", "%methodop")
 .annotate 'line', 447
-    get_hll_global $P1393, ["NQP"], "Grammar"
-    $P1393."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
+    get_hll_global $P1408, ["NQP"], "Grammar"
+    $P1408."O"(":prec<y=>, :assoc<unary>", "%methodop")
 .annotate 'line', 448
-    get_hll_global $P1394, ["NQP"], "Grammar"
-    $P1394."O"(":prec<w=>, :assoc<left>", "%exponentiation")
+    get_hll_global $P1409, ["NQP"], "Grammar"
+    $P1409."O"(":prec<x=>, :assoc<unary>", "%autoincrement")
 .annotate 'line', 449
-    get_hll_global $P1395, ["NQP"], "Grammar"
-    $P1395."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
+    get_hll_global $P1410, ["NQP"], "Grammar"
+    $P1410."O"(":prec<w=>, :assoc<left>", "%exponentiation")
 .annotate 'line', 450
-    get_hll_global $P1396, ["NQP"], "Grammar"
-    $P1396."O"(":prec<u=>, :assoc<left>", "%multiplicative")
+    get_hll_global $P1411, ["NQP"], "Grammar"
+    $P1411."O"(":prec<v=>, :assoc<unary>", "%symbolic_unary")
 .annotate 'line', 451
-    get_hll_global $P1397, ["NQP"], "Grammar"
-    $P1397."O"(":prec<t=>, :assoc<left>", "%additive")
+    get_hll_global $P1412, ["NQP"], "Grammar"
+    $P1412."O"(":prec<u=>, :assoc<left>", "%multiplicative")
 .annotate 'line', 452
-    get_hll_global $P1398, ["NQP"], "Grammar"
-    $P1398."O"(":prec<r=>, :assoc<left>", "%concatenation")
+    get_hll_global $P1413, ["NQP"], "Grammar"
+    $P1413."O"(":prec<t=>, :assoc<left>", "%additive")
 .annotate 'line', 453
-    get_hll_global $P1399, ["NQP"], "Grammar"
-    $P1399."O"(":prec<m=>, :assoc<left>", "%relational")
+    get_hll_global $P1414, ["NQP"], "Grammar"
+    $P1414."O"(":prec<r=>, :assoc<left>", "%concatenation")
 .annotate 'line', 454
-    get_hll_global $P1400, ["NQP"], "Grammar"
-    $P1400."O"(":prec<l=>, :assoc<left>", "%tight_and")
+    get_hll_global $P1415, ["NQP"], "Grammar"
+    $P1415."O"(":prec<m=>, :assoc<left>", "%relational")
 .annotate 'line', 455
-    get_hll_global $P1401, ["NQP"], "Grammar"
-    $P1401."O"(":prec<k=>, :assoc<left>", "%tight_or")
+    get_hll_global $P1416, ["NQP"], "Grammar"
+    $P1416."O"(":prec<l=>, :assoc<left>", "%tight_and")
 .annotate 'line', 456
-    get_hll_global $P1402, ["NQP"], "Grammar"
-    $P1402."O"(":prec<j=>, :assoc<right>", "%conditional")
+    get_hll_global $P1417, ["NQP"], "Grammar"
+    $P1417."O"(":prec<k=>, :assoc<left>", "%tight_or")
 .annotate 'line', 457
-    get_hll_global $P1403, ["NQP"], "Grammar"
-    $P1403."O"(":prec<i=>, :assoc<right>", "%assignment")
+    get_hll_global $P1418, ["NQP"], "Grammar"
+    $P1418."O"(":prec<j=>, :assoc<right>", "%conditional")
 .annotate 'line', 458
-    get_hll_global $P1404, ["NQP"], "Grammar"
-    $P1404."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
+    get_hll_global $P1419, ["NQP"], "Grammar"
+    $P1419."O"(":prec<i=>, :assoc<right>", "%assignment")
 .annotate 'line', 459
-    get_hll_global $P1405, ["NQP"], "Grammar"
-    $P1405."O"(":prec<f=>, :assoc<list>", "%list_infix")
+    get_hll_global $P1420, ["NQP"], "Grammar"
+    $P1420."O"(":prec<g=>, :assoc<list>, :nextterm<nulltermish>", "%comma")
 .annotate 'line', 460
-    get_hll_global $P1406, ["NQP"], "Grammar"
-    $P1406."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
-.annotate 'line', 445
-    $P1407 = get_root_global ["parrot"], "P6metaclass"
-    $P1407."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
+    get_hll_global $P1421, ["NQP"], "Grammar"
+    $P1421."O"(":prec<f=>, :assoc<list>", "%list_infix")
+.annotate 'line', 461
+    get_hll_global $P1422, ["NQP"], "Grammar"
+    $P1422."O"(":prec<e=>, :assoc<unary>", "%list_prefix")
+.annotate 'line', 446
+    $P1423 = get_root_global ["parrot"], "P6metaclass"
+    $P1423."new_class"("NQP::Regex", "Regex::P6Regex::Grammar" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "TOP"  :subid("12_1275600007.84296") :method :outer("11_1275600007.84296")
+.include "except_types.pasm"
+.sub "TOP"  :subid("12_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
-    $P17."handle_types"(57)
+    $P17."handle_types"(.CONTROL_RETURN)
     push_eh $P17
     .lex "self", self
 .annotate 'line', 5
@@ -522,7 +523,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "identifier"  :subid("13_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "identifier"  :subid("13_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx36_tgt
     .local int rx36_pos
@@ -581,7 +582,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__identifier"  :subid("14_1275600007.84296") :method
+.sub "!PREFIX__identifier"  :subid("14_1275811487.95429") :method
 .annotate 'line', 4
     $P38 = self."!PREFIX__!subrule"("ident", "")
     new $P39, "ResizablePMCArray"
@@ -591,7 +592,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "name"  :subid("15_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "name"  :subid("15_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx42_tgt
     .local int rx42_pos
@@ -666,7 +667,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__name"  :subid("16_1275600007.84296") :method
+.sub "!PREFIX__name"  :subid("16_1275811487.95429") :method
 .annotate 'line', 4
     new $P44, "ResizablePMCArray"
     push $P44, ""
@@ -675,7 +676,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "deflongname"  :subid("17_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "deflongname"  :subid("17_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx49_tgt
     .local int rx49_pos
@@ -749,7 +750,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__deflongname"  :subid("18_1275600007.84296") :method
+.sub "!PREFIX__deflongname"  :subid("18_1275811487.95429") :method
 .annotate 'line', 4
     $P51 = self."!PREFIX__!subrule"("identifier", "")
     new $P52, "ResizablePMCArray"
@@ -759,7 +760,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ENDSTMT"  :subid("19_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "ENDSTMT"  :subid("19_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx57_tgt
     .local int rx57_pos
@@ -892,7 +893,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ENDSTMT"  :subid("20_1275600007.84296") :method
+.sub "!PREFIX__ENDSTMT"  :subid("20_1275811487.95429") :method
 .annotate 'line', 4
     new $P59, "ResizablePMCArray"
     push $P59, ""
@@ -901,7 +902,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ws"  :subid("21_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "ws"  :subid("21_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx71_tgt
     .local int rx71_pos
@@ -1057,7 +1058,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ws"  :subid("22_1275600007.84296") :method
+.sub "!PREFIX__ws"  :subid("22_1275811487.95429") :method
 .annotate 'line', 4
     new $P73, "ResizablePMCArray"
     push $P73, ""
@@ -1067,9 +1068,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "unv"  :subid("23_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "unv"  :subid("23_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .const 'Sub' $P92 = "25_1275600007.84296" 
+    .const 'Sub' $P92 = "25_1275811487.95429" 
     capture_lex $P92
     .local string rx85_tgt
     .local int rx85_pos
@@ -1116,7 +1117,7 @@
   rxanchor90_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx85_cur."!cursor_pos"(rx85_pos)
-    .const 'Sub' $P92 = "25_1275600007.84296" 
+    .const 'Sub' $P92 = "25_1275811487.95429" 
     capture_lex $P92
     $P10 = rx85_cur."before"($P92)
     unless $P10, rx85_fail
@@ -1195,7 +1196,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__unv"  :subid("24_1275600007.84296") :method
+.sub "!PREFIX__unv"  :subid("24_1275811487.95429") :method
 .annotate 'line', 4
     new $P87, "ResizablePMCArray"
     push $P87, ""
@@ -1206,7 +1207,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block91"  :anon :subid("25_1275600007.84296") :method :outer("23_1275600007.84296")
+.sub "_block91"  :anon :subid("25_1275811487.95429") :method :outer("23_1275811487.95429")
 .annotate 'line', 46
     .local string rx93_tgt
     .local int rx93_pos
@@ -1297,9 +1298,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pod_comment"  :subid("26_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "pod_comment"  :subid("26_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .const 'Sub' $P143 = "28_1275600007.84296" 
+    .const 'Sub' $P143 = "28_1275811487.95429" 
     capture_lex $P143
     .local string rx103_tgt
     .local int rx103_pos
@@ -1786,7 +1787,7 @@
   rxanchor141_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx103_cur."!cursor_pos"(rx103_pos)
-    .const 'Sub' $P143 = "28_1275600007.84296" 
+    .const 'Sub' $P143 = "28_1275811487.95429" 
     capture_lex $P143
     $P10 = rx103_cur."before"($P143)
     unless $P10, rx103_fail
@@ -1837,7 +1838,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pod_comment"  :subid("27_1275600007.84296") :method
+.sub "!PREFIX__pod_comment"  :subid("27_1275811487.95429") :method
 .annotate 'line', 4
     new $P105, "ResizablePMCArray"
     push $P105, ""
@@ -1846,7 +1847,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block142"  :anon :subid("28_1275600007.84296") :method :outer("26_1275600007.84296")
+.sub "_block142"  :anon :subid("28_1275811487.95429") :method :outer("26_1275811487.95429")
 .annotate 'line', 69
     .local string rx144_tgt
     .local int rx144_pos
@@ -1966,7 +1967,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "comp_unit"  :subid("29_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "comp_unit"  :subid("29_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx153_tgt
     .local int rx153_pos
@@ -2052,9 +2053,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__comp_unit"  :subid("30_1275600007.84296") :method
+.sub "!PREFIX__comp_unit"  :subid("30_1275811487.95429") :method
 .annotate 'line', 4
-    $P155 = self."!PREFIX__!subrule"("", "")
+    $P155 = self."!PREFIX__!subrule"("newpad", "")
     new $P156, "ResizablePMCArray"
     push $P156, $P155
     .return ($P156)
@@ -2062,7 +2063,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statementlist"  :subid("31_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "statementlist"  :subid("31_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx160_tgt
     .local int rx160_pos
@@ -2084,20 +2085,20 @@
     substr rx160_tgt, rx160_tgt, rx160_off
   rx160_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan163_done
-    goto rxscan163_scan
-  rxscan163_loop:
+    ne $I10, -1, rxscan165_done
+    goto rxscan165_scan
+  rxscan165_loop:
     ($P10) = rx160_cur."from"()
     inc $P10
     set rx160_pos, $P10
-    ge rx160_pos, rx160_eos, rxscan163_done
-  rxscan163_scan:
-    set_addr $I10, rxscan163_loop
+    ge rx160_pos, rx160_eos, rxscan165_done
+  rxscan165_scan:
+    set_addr $I10, rxscan165_loop
     rx160_cur."!mark_push"(0, rx160_pos, $I10)
-  rxscan163_done:
-  alt164_0:
+  rxscan165_done:
+  alt166_0:
 .annotate 'line', 90
-    set_addr $I10, alt164_1
+    set_addr $I10, alt166_1
     rx160_cur."!mark_push"(0, rx160_pos, $I10)
 .annotate 'line', 91
   # rx subrule "ws" subtype=method negate=
@@ -2112,18 +2113,18 @@
     $P10 = rx160_cur."ws"()
     unless $P10, rx160_fail
     rx160_pos = $P10."pos"()
-    goto alt164_end
-  alt164_1:
+    goto alt166_end
+  alt166_1:
 .annotate 'line', 92
   # rx subrule "ws" subtype=method negate=
     rx160_cur."!cursor_pos"(rx160_pos)
     $P10 = rx160_cur."ws"()
     unless $P10, rx160_fail
     rx160_pos = $P10."pos"()
-  # rx rxquantr168 ** 0..*
-    set_addr $I170, rxquantr168_done
-    rx160_cur."!mark_push"(0, rx160_pos, $I170)
-  rxquantr168_loop:
+  # rx rxquantr170 ** 0..*
+    set_addr $I172, rxquantr170_done
+    rx160_cur."!mark_push"(0, rx160_pos, $I172)
+  rxquantr170_loop:
   # rx subrule "statement" subtype=capture negate=
     rx160_cur."!cursor_pos"(rx160_pos)
     $P10 = rx160_cur."statement"()
@@ -2141,16 +2142,16 @@
     $P10 = rx160_cur."ws"()
     unless $P10, rx160_fail
     rx160_pos = $P10."pos"()
-    (rx160_rep) = rx160_cur."!mark_commit"($I170)
-    rx160_cur."!mark_push"(rx160_rep, rx160_pos, $I170)
-    goto rxquantr168_loop
-  rxquantr168_done:
+    (rx160_rep) = rx160_cur."!mark_commit"($I172)
+    rx160_cur."!mark_push"(rx160_rep, rx160_pos, $I172)
+    goto rxquantr170_loop
+  rxquantr170_done:
   # rx subrule "ws" subtype=method negate=
     rx160_cur."!cursor_pos"(rx160_pos)
     $P10 = rx160_cur."ws"()
     unless $P10, rx160_fail
     rx160_pos = $P10."pos"()
-  alt164_end:
+  alt166_end:
 .annotate 'line', 90
   # rx pass
     rx160_cur."!cursor_pass"(rx160_pos, "statementlist")
@@ -2171,3075 +2172,3012 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statementlist"  :subid("32_1275600007.84296") :method
+.sub "!PREFIX__statementlist"  :subid("32_1275811487.95429") :method
 .annotate 'line', 4
-    new $P162, "ResizablePMCArray"
-    push $P162, ""
-    push $P162, ""
-    .return ($P162)
+    $P162 = self."!PREFIX__!subrule"("ws", "")
+    $P163 = self."!PREFIX__!subrule"("ws", "")
+    new $P164, "ResizablePMCArray"
+    push $P164, $P162
+    push $P164, $P163
+    .return ($P164)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement"  :subid("33_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 4
-    .const 'Sub' $P178 = "35_1275600007.84296" 
-    capture_lex $P178
-    .local string rx173_tgt
-    .local int rx173_pos
-    .local int rx173_off
-    .local int rx173_eos
-    .local int rx173_rep
-    .local pmc rx173_cur
-    (rx173_cur, rx173_pos, rx173_tgt) = self."!cursor_start"()
-    rx173_cur."!cursor_debug"("START ", "statement")
-    rx173_cur."!cursor_caparray"("statement_mod_loop", "statement_mod_cond")
-    .lex unicode:"$\x{a2}", rx173_cur
-    .local pmc match
-    .lex "$/", match
-    length rx173_eos, rx173_tgt
-    gt rx173_pos, rx173_eos, rx173_done
-    set rx173_off, 0
-    lt rx173_pos, 2, rx173_start
-    sub rx173_off, rx173_pos, 1
-    substr rx173_tgt, rx173_tgt, rx173_off
-  rx173_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan176_done
-    goto rxscan176_scan
-  rxscan176_loop:
-    ($P10) = rx173_cur."from"()
-    inc $P10
-    set rx173_pos, $P10
-    ge rx173_pos, rx173_eos, rxscan176_done
-  rxscan176_scan:
-    set_addr $I10, rxscan176_loop
-    rx173_cur."!mark_push"(0, rx173_pos, $I10)
-  rxscan176_done:
+.sub "statement"  :subid("33_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 4
+    .const 'Sub' $P180 = "35_1275811487.95429" 
+    capture_lex $P180
+    .local string rx175_tgt
+    .local int rx175_pos
+    .local int rx175_off
+    .local int rx175_eos
+    .local int rx175_rep
+    .local pmc rx175_cur
+    (rx175_cur, rx175_pos, rx175_tgt) = self."!cursor_start"()
+    rx175_cur."!cursor_debug"("START ", "statement")
+    rx175_cur."!cursor_caparray"("statement_mod_loop", "statement_mod_cond")
+    .lex unicode:"$\x{a2}", rx175_cur
+    .local pmc match
+    .lex "$/", match
+    length rx175_eos, rx175_tgt
+    gt rx175_pos, rx175_eos, rx175_done
+    set rx175_off, 0
+    lt rx175_pos, 2, rx175_start
+    sub rx175_off, rx175_pos, 1
+    substr rx175_tgt, rx175_tgt, rx175_off
+  rx175_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan178_done
+    goto rxscan178_scan
+  rxscan178_loop:
+    ($P10) = rx175_cur."from"()
+    inc $P10
+    set rx175_pos, $P10
+    ge rx175_pos, rx175_eos, rxscan178_done
+  rxscan178_scan:
+    set_addr $I10, rxscan178_loop
+    rx175_cur."!mark_push"(0, rx175_pos, $I10)
+  rxscan178_done:
 .annotate 'line', 96
   # rx subrule "before" subtype=zerowidth negate=1
-    rx173_cur."!cursor_pos"(rx173_pos)
-    .const 'Sub' $P178 = "35_1275600007.84296" 
-    capture_lex $P178
-    $P10 = rx173_cur."before"($P178)
-    if $P10, rx173_fail
-  alt182_0:
+    rx175_cur."!cursor_pos"(rx175_pos)
+    .const 'Sub' $P180 = "35_1275811487.95429" 
+    capture_lex $P180
+    $P10 = rx175_cur."before"($P180)
+    if $P10, rx175_fail
+  alt184_0:
 .annotate 'line', 97
-    set_addr $I10, alt182_1
-    rx173_cur."!mark_push"(0, rx173_pos, $I10)
+    set_addr $I10, alt184_1
+    rx175_cur."!mark_push"(0, rx175_pos, $I10)
 .annotate 'line', 98
   # rx subrule "statement_control" subtype=capture negate=
-    rx173_cur."!cursor_pos"(rx173_pos)
-    $P10 = rx173_cur."statement_control"()
-    unless $P10, rx173_fail
-    rx173_cur."!mark_push"(0, -1, 0, $P10)
+    rx175_cur."!cursor_pos"(rx175_pos)
+    $P10 = rx175_cur."statement_control"()
+    unless $P10, rx175_fail
+    rx175_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_control")
-    rx173_pos = $P10."pos"()
-    goto alt182_end
-  alt182_1:
+    rx175_pos = $P10."pos"()
+    goto alt184_end
+  alt184_1:
 .annotate 'line', 99
   # rx subrule "EXPR" subtype=capture negate=
-    rx173_cur."!cursor_pos"(rx173_pos)
-    $P10 = rx173_cur."EXPR"()
-    unless $P10, rx173_fail
-    rx173_cur."!mark_push"(0, -1, 0, $P10)
+    rx175_cur."!cursor_pos"(rx175_pos)
+    $P10 = rx175_cur."EXPR"()
+    unless $P10, rx175_fail
+    rx175_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx173_pos = $P10."pos"()
+    rx175_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx173_cur."!cursor_pos"(rx173_pos)
-    $P10 = rx173_cur."ws"()
-    unless $P10, rx173_fail
-    rx173_pos = $P10."pos"()
+    rx175_cur."!cursor_pos"(rx175_pos)
+    $P10 = rx175_cur."ws"()
+    unless $P10, rx175_fail
+    rx175_pos = $P10."pos"()
 .annotate 'line', 104
-  # rx rxquantr183 ** 0..1
-    set_addr $I187, rxquantr183_done
-    rx173_cur."!mark_push"(0, rx173_pos, $I187)
-  rxquantr183_loop:
-  alt184_0:
+  # rx rxquantr185 ** 0..1
+    set_addr $I189, rxquantr185_done
+    rx175_cur."!mark_push"(0, rx175_pos, $I189)
+  rxquantr185_loop:
+  alt186_0:
 .annotate 'line', 100
-    set_addr $I10, alt184_1
-    rx173_cur."!mark_push"(0, rx173_pos, $I10)
+    set_addr $I10, alt186_1
+    rx175_cur."!mark_push"(0, rx175_pos, $I10)
 .annotate 'line', 101
   # rx subrule "MARKED" subtype=zerowidth negate=
-    rx173_cur."!cursor_pos"(rx173_pos)
-    $P10 = rx173_cur."MARKED"("endstmt")
-    unless $P10, rx173_fail
-    goto alt184_end
-  alt184_1:
-    set_addr $I10, alt184_2
-    rx173_cur."!mark_push"(0, rx173_pos, $I10)
+    rx175_cur."!cursor_pos"(rx175_pos)
+    $P10 = rx175_cur."MARKED"("endstmt")
+    unless $P10, rx175_fail
+    goto alt186_end
+  alt186_1:
+    set_addr $I10, alt186_2
+    rx175_cur."!mark_push"(0, rx175_pos, $I10)
 .annotate 'line', 102
   # rx subrule "statement_mod_cond" subtype=capture negate=
-    rx173_cur."!cursor_pos"(rx173_pos)
-    $P10 = rx173_cur."statement_mod_cond"()
-    unless $P10, rx173_fail
-    rx173_cur."!mark_push"(0, -1, 0, $P10)
+    rx175_cur."!cursor_pos"(rx175_pos)
+    $P10 = rx175_cur."statement_mod_cond"()
+    unless $P10, rx175_fail
+    rx175_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_mod_cond")
-    rx173_pos = $P10."pos"()
-  # rx rxquantr185 ** 0..1
-    set_addr $I186, rxquantr185_done
-    rx173_cur."!mark_push"(0, rx173_pos, $I186)
-  rxquantr185_loop:
+    rx175_pos = $P10."pos"()
+  # rx rxquantr187 ** 0..1
+    set_addr $I188, rxquantr187_done
+    rx175_cur."!mark_push"(0, rx175_pos, $I188)
+  rxquantr187_loop:
   # rx subrule "statement_mod_loop" subtype=capture negate=
-    rx173_cur."!cursor_pos"(rx173_pos)
-    $P10 = rx173_cur."statement_mod_loop"()
-    unless $P10, rx173_fail
-    rx173_cur."!mark_push"(0, -1, 0, $P10)
+    rx175_cur."!cursor_pos"(rx175_pos)
+    $P10 = rx175_cur."statement_mod_loop"()
+    unless $P10, rx175_fail
+    rx175_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_mod_loop")
-    rx173_pos = $P10."pos"()
-    (rx173_rep) = rx173_cur."!mark_commit"($I186)
-  rxquantr185_done:
-    goto alt184_end
-  alt184_2:
+    rx175_pos = $P10."pos"()
+    (rx175_rep) = rx175_cur."!mark_commit"($I188)
+  rxquantr187_done:
+    goto alt186_end
+  alt186_2:
 .annotate 'line', 103
   # rx subrule "statement_mod_loop" subtype=capture negate=
-    rx173_cur."!cursor_pos"(rx173_pos)
-    $P10 = rx173_cur."statement_mod_loop"()
-    unless $P10, rx173_fail
-    rx173_cur."!mark_push"(0, -1, 0, $P10)
+    rx175_cur."!cursor_pos"(rx175_pos)
+    $P10 = rx175_cur."statement_mod_loop"()
+    unless $P10, rx175_fail
+    rx175_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement_mod_loop")
-    rx173_pos = $P10."pos"()
-  alt184_end:
+    rx175_pos = $P10."pos"()
+  alt186_end:
 .annotate 'line', 104
-    (rx173_rep) = rx173_cur."!mark_commit"($I187)
-  rxquantr183_done:
-  alt182_end:
+    (rx175_rep) = rx175_cur."!mark_commit"($I189)
+  rxquantr185_done:
+  alt184_end:
 .annotate 'line', 95
   # rx pass
-    rx173_cur."!cursor_pass"(rx173_pos, "statement")
-    rx173_cur."!cursor_debug"("PASS  ", "statement", " at pos=", rx173_pos)
-    .return (rx173_cur)
-  rx173_fail:
+    rx175_cur."!cursor_pass"(rx175_pos, "statement")
+    rx175_cur."!cursor_debug"("PASS  ", "statement", " at pos=", rx175_pos)
+    .return (rx175_cur)
+  rx175_fail:
 .annotate 'line', 4
-    (rx173_rep, rx173_pos, $I10, $P10) = rx173_cur."!mark_fail"(0)
-    lt rx173_pos, -1, rx173_done
-    eq rx173_pos, -1, rx173_fail
+    (rx175_rep, rx175_pos, $I10, $P10) = rx175_cur."!mark_fail"(0)
+    lt rx175_pos, -1, rx175_done
+    eq rx175_pos, -1, rx175_fail
     jump $I10
-  rx173_done:
-    rx173_cur."!cursor_fail"()
-    rx173_cur."!cursor_debug"("FAIL  ", "statement")
-    .return (rx173_cur)
+  rx175_done:
+    rx175_cur."!cursor_fail"()
+    rx175_cur."!cursor_debug"("FAIL  ", "statement")
+    .return (rx175_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement"  :subid("34_1275600007.84296") :method
+.sub "!PREFIX__statement"  :subid("34_1275811487.95429") :method
 .annotate 'line', 4
-    new $P175, "ResizablePMCArray"
-    push $P175, ""
-    .return ($P175)
+    new $P177, "ResizablePMCArray"
+    push $P177, ""
+    .return ($P177)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block177"  :anon :subid("35_1275600007.84296") :method :outer("33_1275600007.84296")
+.sub "_block179"  :anon :subid("35_1275811487.95429") :method :outer("33_1275811487.95429")
 .annotate 'line', 96
-    .local string rx179_tgt
-    .local int rx179_pos
-    .local int rx179_off
-    .local int rx179_eos
-    .local int rx179_rep
-    .local pmc rx179_cur
-    (rx179_cur, rx179_pos, rx179_tgt) = self."!cursor_start"()
-    rx179_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx179_cur
-    .local pmc match
-    .lex "$/", match
-    length rx179_eos, rx179_tgt
-    gt rx179_pos, rx179_eos, rx179_done
-    set rx179_off, 0
-    lt rx179_pos, 2, rx179_start
-    sub rx179_off, rx179_pos, 1
-    substr rx179_tgt, rx179_tgt, rx179_off
-  rx179_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan180_done
-    goto rxscan180_scan
-  rxscan180_loop:
-    ($P10) = rx179_cur."from"()
-    inc $P10
-    set rx179_pos, $P10
-    ge rx179_pos, rx179_eos, rxscan180_done
-  rxscan180_scan:
-    set_addr $I10, rxscan180_loop
-    rx179_cur."!mark_push"(0, rx179_pos, $I10)
-  rxscan180_done:
-  alt181_0:
-    set_addr $I10, alt181_1
-    rx179_cur."!mark_push"(0, rx179_pos, $I10)
+    .local string rx181_tgt
+    .local int rx181_pos
+    .local int rx181_off
+    .local int rx181_eos
+    .local int rx181_rep
+    .local pmc rx181_cur
+    (rx181_cur, rx181_pos, rx181_tgt) = self."!cursor_start"()
+    rx181_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx181_cur
+    .local pmc match
+    .lex "$/", match
+    length rx181_eos, rx181_tgt
+    gt rx181_pos, rx181_eos, rx181_done
+    set rx181_off, 0
+    lt rx181_pos, 2, rx181_start
+    sub rx181_off, rx181_pos, 1
+    substr rx181_tgt, rx181_tgt, rx181_off
+  rx181_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan182_done
+    goto rxscan182_scan
+  rxscan182_loop:
+    ($P10) = rx181_cur."from"()
+    inc $P10
+    set rx181_pos, $P10
+    ge rx181_pos, rx181_eos, rxscan182_done
+  rxscan182_scan:
+    set_addr $I10, rxscan182_loop
+    rx181_cur."!mark_push"(0, rx181_pos, $I10)
+  rxscan182_done:
+  alt183_0:
+    set_addr $I10, alt183_1
+    rx181_cur."!mark_push"(0, rx181_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx179_pos, rx179_eos, rx179_fail
-    sub $I10, rx179_pos, rx179_off
-    substr $S10, rx179_tgt, $I10, 1
+    ge rx181_pos, rx181_eos, rx181_fail
+    sub $I10, rx181_pos, rx181_off
+    substr $S10, rx181_tgt, $I10, 1
     index $I11, "])}", $S10
-    lt $I11, 0, rx179_fail
-    inc rx179_pos
-    goto alt181_end
-  alt181_1:
+    lt $I11, 0, rx181_fail
+    inc rx181_pos
+    goto alt183_end
+  alt183_1:
   # rxanchor eos
-    ne rx179_pos, rx179_eos, rx179_fail
-  alt181_end:
+    ne rx181_pos, rx181_eos, rx181_fail
+  alt183_end:
   # rx pass
-    rx179_cur."!cursor_pass"(rx179_pos, "")
-    rx179_cur."!cursor_debug"("PASS  ", "", " at pos=", rx179_pos)
-    .return (rx179_cur)
-  rx179_fail:
-    (rx179_rep, rx179_pos, $I10, $P10) = rx179_cur."!mark_fail"(0)
-    lt rx179_pos, -1, rx179_done
-    eq rx179_pos, -1, rx179_fail
-    jump $I10
-  rx179_done:
-    rx179_cur."!cursor_fail"()
-    rx179_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx179_cur)
+    rx181_cur."!cursor_pass"(rx181_pos, "")
+    rx181_cur."!cursor_debug"("PASS  ", "", " at pos=", rx181_pos)
+    .return (rx181_cur)
+  rx181_fail:
+    (rx181_rep, rx181_pos, $I10, $P10) = rx181_cur."!mark_fail"(0)
+    lt rx181_pos, -1, rx181_done
+    eq rx181_pos, -1, rx181_fail
+    jump $I10
+  rx181_done:
+    rx181_cur."!cursor_fail"()
+    rx181_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx181_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "eat_terminator"  :subid("36_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 4
-    .local string rx189_tgt
-    .local int rx189_pos
-    .local int rx189_off
-    .local int rx189_eos
-    .local int rx189_rep
-    .local pmc rx189_cur
-    (rx189_cur, rx189_pos, rx189_tgt) = self."!cursor_start"()
-    rx189_cur."!cursor_debug"("START ", "eat_terminator")
-    .lex unicode:"$\x{a2}", rx189_cur
-    .local pmc match
-    .lex "$/", match
-    length rx189_eos, rx189_tgt
-    gt rx189_pos, rx189_eos, rx189_done
-    set rx189_off, 0
-    lt rx189_pos, 2, rx189_start
-    sub rx189_off, rx189_pos, 1
-    substr rx189_tgt, rx189_tgt, rx189_off
-  rx189_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan192_done
-    goto rxscan192_scan
-  rxscan192_loop:
-    ($P10) = rx189_cur."from"()
-    inc $P10
-    set rx189_pos, $P10
-    ge rx189_pos, rx189_eos, rxscan192_done
-  rxscan192_scan:
-    set_addr $I10, rxscan192_loop
-    rx189_cur."!mark_push"(0, rx189_pos, $I10)
-  rxscan192_done:
-  alt193_0:
+.sub "eat_terminator"  :subid("36_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 4
+    .local string rx191_tgt
+    .local int rx191_pos
+    .local int rx191_off
+    .local int rx191_eos
+    .local int rx191_rep
+    .local pmc rx191_cur
+    (rx191_cur, rx191_pos, rx191_tgt) = self."!cursor_start"()
+    rx191_cur."!cursor_debug"("START ", "eat_terminator")
+    .lex unicode:"$\x{a2}", rx191_cur
+    .local pmc match
+    .lex "$/", match
+    length rx191_eos, rx191_tgt
+    gt rx191_pos, rx191_eos, rx191_done
+    set rx191_off, 0
+    lt rx191_pos, 2, rx191_start
+    sub rx191_off, rx191_pos, 1
+    substr rx191_tgt, rx191_tgt, rx191_off
+  rx191_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan194_done
+    goto rxscan194_scan
+  rxscan194_loop:
+    ($P10) = rx191_cur."from"()
+    inc $P10
+    set rx191_pos, $P10
+    ge rx191_pos, rx191_eos, rxscan194_done
+  rxscan194_scan:
+    set_addr $I10, rxscan194_loop
+    rx191_cur."!mark_push"(0, rx191_pos, $I10)
+  rxscan194_done:
+  alt195_0:
 .annotate 'line', 108
-    set_addr $I10, alt193_1
-    rx189_cur."!mark_push"(0, rx189_pos, $I10)
+    set_addr $I10, alt195_1
+    rx191_cur."!mark_push"(0, rx191_pos, $I10)
 .annotate 'line', 109
   # rx literal  ";"
-    add $I11, rx189_pos, 1
-    gt $I11, rx189_eos, rx189_fail
-    sub $I11, rx189_pos, rx189_off
-    substr $S10, rx189_tgt, $I11, 1
-    ne $S10, ";", rx189_fail
-    add rx189_pos, 1
-    goto alt193_end
-  alt193_1:
-    set_addr $I10, alt193_2
-    rx189_cur."!mark_push"(0, rx189_pos, $I10)
+    add $I11, rx191_pos, 1
+    gt $I11, rx191_eos, rx191_fail
+    sub $I11, rx191_pos, rx191_off
+    substr $S10, rx191_tgt, $I11, 1
+    ne $S10, ";", rx191_fail
+    add rx191_pos, 1
+    goto alt195_end
+  alt195_1:
+    set_addr $I10, alt195_2
+    rx191_cur."!mark_push"(0, rx191_pos, $I10)
 .annotate 'line', 110
   # rx subrule "MARKED" subtype=zerowidth negate=
-    rx189_cur."!cursor_pos"(rx189_pos)
-    $P10 = rx189_cur."MARKED"("endstmt")
-    unless $P10, rx189_fail
-    goto alt193_end
-  alt193_2:
-    set_addr $I10, alt193_3
-    rx189_cur."!mark_push"(0, rx189_pos, $I10)
+    rx191_cur."!cursor_pos"(rx191_pos)
+    $P10 = rx191_cur."MARKED"("endstmt")
+    unless $P10, rx191_fail
+    goto alt195_end
+  alt195_2:
+    set_addr $I10, alt195_3
+    rx191_cur."!mark_push"(0, rx191_pos, $I10)
 .annotate 'line', 111
   # rx subrule "terminator" subtype=zerowidth negate=
-    rx189_cur."!cursor_pos"(rx189_pos)
-    $P10 = rx189_cur."terminator"()
-    unless $P10, rx189_fail
-    goto alt193_end
-  alt193_3:
+    rx191_cur."!cursor_pos"(rx191_pos)
+    $P10 = rx191_cur."terminator"()
+    unless $P10, rx191_fail
+    goto alt195_end
+  alt195_3:
 .annotate 'line', 112
   # rxanchor eos
-    ne rx189_pos, rx189_eos, rx189_fail
-  alt193_end:
+    ne rx191_pos, rx191_eos, rx191_fail
+  alt195_end:
 .annotate 'line', 108
   # rx pass
-    rx189_cur."!cursor_pass"(rx189_pos, "eat_terminator")
-    rx189_cur."!cursor_debug"("PASS  ", "eat_terminator", " at pos=", rx189_pos)
-    .return (rx189_cur)
-  rx189_fail:
+    rx191_cur."!cursor_pass"(rx191_pos, "eat_terminator")
+    rx191_cur."!cursor_debug"("PASS  ", "eat_terminator", " at pos=", rx191_pos)
+    .return (rx191_cur)
+  rx191_fail:
 .annotate 'line', 4
-    (rx189_rep, rx189_pos, $I10, $P10) = rx189_cur."!mark_fail"(0)
-    lt rx189_pos, -1, rx189_done
-    eq rx189_pos, -1, rx189_fail
+    (rx191_rep, rx191_pos, $I10, $P10) = rx191_cur."!mark_fail"(0)
+    lt rx191_pos, -1, rx191_done
+    eq rx191_pos, -1, rx191_fail
     jump $I10
-  rx189_done:
-    rx189_cur."!cursor_fail"()
-    rx189_cur."!cursor_debug"("FAIL  ", "eat_terminator")
-    .return (rx189_cur)
+  rx191_done:
+    rx191_cur."!cursor_fail"()
+    rx191_cur."!cursor_debug"("FAIL  ", "eat_terminator")
+    .return (rx191_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__eat_terminator"  :subid("37_1275600007.84296") :method
+.sub "!PREFIX__eat_terminator"  :subid("37_1275811487.95429") :method
 .annotate 'line', 4
-    new $P191, "ResizablePMCArray"
-    push $P191, ""
-    push $P191, ""
-    push $P191, ""
-    push $P191, ";"
-    .return ($P191)
+    new $P193, "ResizablePMCArray"
+    push $P193, ""
+    push $P193, ""
+    push $P193, ""
+    push $P193, ";"
+    .return ($P193)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "xblock"  :subid("38_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "xblock"  :subid("38_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx195_tgt
-    .local int rx195_pos
-    .local int rx195_off
-    .local int rx195_eos
-    .local int rx195_rep
-    .local pmc rx195_cur
-    (rx195_cur, rx195_pos, rx195_tgt) = self."!cursor_start"()
-    rx195_cur."!cursor_debug"("START ", "xblock")
-    .lex unicode:"$\x{a2}", rx195_cur
+    .local string rx197_tgt
+    .local int rx197_pos
+    .local int rx197_off
+    .local int rx197_eos
+    .local int rx197_rep
+    .local pmc rx197_cur
+    (rx197_cur, rx197_pos, rx197_tgt) = self."!cursor_start"()
+    rx197_cur."!cursor_debug"("START ", "xblock")
+    .lex unicode:"$\x{a2}", rx197_cur
     .local pmc match
     .lex "$/", match
-    length rx195_eos, rx195_tgt
-    gt rx195_pos, rx195_eos, rx195_done
-    set rx195_off, 0
-    lt rx195_pos, 2, rx195_start
-    sub rx195_off, rx195_pos, 1
-    substr rx195_tgt, rx195_tgt, rx195_off
-  rx195_start:
+    length rx197_eos, rx197_tgt
+    gt rx197_pos, rx197_eos, rx197_done
+    set rx197_off, 0
+    lt rx197_pos, 2, rx197_start
+    sub rx197_off, rx197_pos, 1
+    substr rx197_tgt, rx197_tgt, rx197_off
+  rx197_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan199_done
-    goto rxscan199_scan
-  rxscan199_loop:
-    ($P10) = rx195_cur."from"()
+    ne $I10, -1, rxscan201_done
+    goto rxscan201_scan
+  rxscan201_loop:
+    ($P10) = rx197_cur."from"()
     inc $P10
-    set rx195_pos, $P10
-    ge rx195_pos, rx195_eos, rxscan199_done
-  rxscan199_scan:
-    set_addr $I10, rxscan199_loop
-    rx195_cur."!mark_push"(0, rx195_pos, $I10)
-  rxscan199_done:
+    set rx197_pos, $P10
+    ge rx197_pos, rx197_eos, rxscan201_done
+  rxscan201_scan:
+    set_addr $I10, rxscan201_loop
+    rx197_cur."!mark_push"(0, rx197_pos, $I10)
+  rxscan201_done:
 .annotate 'line', 116
   # rx subrule "EXPR" subtype=capture negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."EXPR"()
-    unless $P10, rx195_fail
-    rx195_cur."!mark_push"(0, -1, 0, $P10)
+    rx197_cur."!cursor_pos"(rx197_pos)
+    $P10 = rx197_cur."EXPR"()
+    unless $P10, rx197_fail
+    rx197_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx195_pos = $P10."pos"()
+    rx197_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."ws"()
-    unless $P10, rx195_fail
-    rx195_pos = $P10."pos"()
+    rx197_cur."!cursor_pos"(rx197_pos)
+    $P10 = rx197_cur."ws"()
+    unless $P10, rx197_fail
+    rx197_pos = $P10."pos"()
   # rx subrule "pblock" subtype=capture negate=
-    rx195_cur."!cursor_pos"(rx195_pos)
-    $P10 = rx195_cur."pblock"()
-    unless $P10, rx195_fail
-    rx195_cur."!mark_push"(0, -1, 0, $P10)
+    rx197_cur."!cursor_pos"(rx197_pos)
+    $P10 = rx197_cur."pblock"()
+    unless $P10, rx197_fail
+    rx197_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pblock")
-    rx195_pos = $P10."pos"()
+    rx197_pos = $P10."pos"()
 .annotate 'line', 115
   # rx pass
-    rx195_cur."!cursor_pass"(rx195_pos, "xblock")
-    rx195_cur."!cursor_debug"("PASS  ", "xblock", " at pos=", rx195_pos)
-    .return (rx195_cur)
-  rx195_fail:
+    rx197_cur."!cursor_pass"(rx197_pos, "xblock")
+    rx197_cur."!cursor_debug"("PASS  ", "xblock", " at pos=", rx197_pos)
+    .return (rx197_cur)
+  rx197_fail:
 .annotate 'line', 4
-    (rx195_rep, rx195_pos, $I10, $P10) = rx195_cur."!mark_fail"(0)
-    lt rx195_pos, -1, rx195_done
-    eq rx195_pos, -1, rx195_fail
+    (rx197_rep, rx197_pos, $I10, $P10) = rx197_cur."!mark_fail"(0)
+    lt rx197_pos, -1, rx197_done
+    eq rx197_pos, -1, rx197_fail
     jump $I10
-  rx195_done:
-    rx195_cur."!cursor_fail"()
-    rx195_cur."!cursor_debug"("FAIL  ", "xblock")
-    .return (rx195_cur)
+  rx197_done:
+    rx197_cur."!cursor_fail"()
+    rx197_cur."!cursor_debug"("FAIL  ", "xblock")
+    .return (rx197_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__xblock"  :subid("39_1275600007.84296") :method
+.sub "!PREFIX__xblock"  :subid("39_1275811487.95429") :method
 .annotate 'line', 4
-    $P197 = self."!PREFIX__!subrule"("EXPR", "")
-    new $P198, "ResizablePMCArray"
-    push $P198, $P197
-    .return ($P198)
+    $P199 = self."!PREFIX__!subrule"("EXPR", "")
+    new $P200, "ResizablePMCArray"
+    push $P200, $P199
+    .return ($P200)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pblock"  :subid("40_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "pblock"  :subid("40_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx201_tgt
-    .local int rx201_pos
-    .local int rx201_off
-    .local int rx201_eos
-    .local int rx201_rep
-    .local pmc rx201_cur
-    (rx201_cur, rx201_pos, rx201_tgt) = self."!cursor_start"()
-    rx201_cur."!cursor_debug"("START ", "pblock")
-    .lex unicode:"$\x{a2}", rx201_cur
+    .local string rx203_tgt
+    .local int rx203_pos
+    .local int rx203_off
+    .local int rx203_eos
+    .local int rx203_rep
+    .local pmc rx203_cur
+    (rx203_cur, rx203_pos, rx203_tgt) = self."!cursor_start"()
+    rx203_cur."!cursor_debug"("START ", "pblock")
+    .lex unicode:"$\x{a2}", rx203_cur
     .local pmc match
     .lex "$/", match
-    length rx201_eos, rx201_tgt
-    gt rx201_pos, rx201_eos, rx201_done
-    set rx201_off, 0
-    lt rx201_pos, 2, rx201_start
-    sub rx201_off, rx201_pos, 1
-    substr rx201_tgt, rx201_tgt, rx201_off
-  rx201_start:
+    length rx203_eos, rx203_tgt
+    gt rx203_pos, rx203_eos, rx203_done
+    set rx203_off, 0
+    lt rx203_pos, 2, rx203_start
+    sub rx203_off, rx203_pos, 1
+    substr rx203_tgt, rx203_tgt, rx203_off
+  rx203_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan206_done
-    goto rxscan206_scan
-  rxscan206_loop:
-    ($P10) = rx201_cur."from"()
+    ne $I10, -1, rxscan208_done
+    goto rxscan208_scan
+  rxscan208_loop:
+    ($P10) = rx203_cur."from"()
     inc $P10
-    set rx201_pos, $P10
-    ge rx201_pos, rx201_eos, rxscan206_done
-  rxscan206_scan:
-    set_addr $I10, rxscan206_loop
-    rx201_cur."!mark_push"(0, rx201_pos, $I10)
-  rxscan206_done:
-  alt207_0:
+    set rx203_pos, $P10
+    ge rx203_pos, rx203_eos, rxscan208_done
+  rxscan208_scan:
+    set_addr $I10, rxscan208_loop
+    rx203_cur."!mark_push"(0, rx203_pos, $I10)
+  rxscan208_done:
+  alt209_0:
 .annotate 'line', 119
-    set_addr $I10, alt207_1
-    rx201_cur."!mark_push"(0, rx201_pos, $I10)
+    set_addr $I10, alt209_1
+    rx203_cur."!mark_push"(0, rx203_pos, $I10)
 .annotate 'line', 120
   # rx subrule "lambda" subtype=method negate=
-    rx201_cur."!cursor_pos"(rx201_pos)
-    $P10 = rx201_cur."lambda"()
-    unless $P10, rx201_fail
-    rx201_pos = $P10."pos"()
+    rx203_cur."!cursor_pos"(rx203_pos)
+    $P10 = rx203_cur."lambda"()
+    unless $P10, rx203_fail
+    rx203_pos = $P10."pos"()
 .annotate 'line', 121
   # rx subrule "newpad" subtype=method negate=
-    rx201_cur."!cursor_pos"(rx201_pos)
-    $P10 = rx201_cur."newpad"()
-    unless $P10, rx201_fail
-    rx201_pos = $P10."pos"()
+    rx203_cur."!cursor_pos"(rx203_pos)
+    $P10 = rx203_cur."newpad"()
+    unless $P10, rx203_fail
+    rx203_pos = $P10."pos"()
 .annotate 'line', 122
   # rx subrule "signature" subtype=capture negate=
-    rx201_cur."!cursor_pos"(rx201_pos)
-    $P10 = rx201_cur."signature"()
-    unless $P10, rx201_fail
-    rx201_cur."!mark_push"(0, -1, 0, $P10)
+    rx203_cur."!cursor_pos"(rx203_pos)
+    $P10 = rx203_cur."signature"()
+    unless $P10, rx203_fail
+    rx203_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx201_pos = $P10."pos"()
+    rx203_pos = $P10."pos"()
 .annotate 'line', 123
   # rx subrule "blockoid" subtype=capture negate=
-    rx201_cur."!cursor_pos"(rx201_pos)
-    $P10 = rx201_cur."blockoid"()
-    unless $P10, rx201_fail
-    rx201_cur."!mark_push"(0, -1, 0, $P10)
+    rx203_cur."!cursor_pos"(rx203_pos)
+    $P10 = rx203_cur."blockoid"()
+    unless $P10, rx203_fail
+    rx203_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx201_pos = $P10."pos"()
+    rx203_pos = $P10."pos"()
 .annotate 'line', 120
-    goto alt207_end
-  alt207_1:
-    set_addr $I10, alt207_2
-    rx201_cur."!mark_push"(0, rx201_pos, $I10)
+    goto alt209_end
+  alt209_1:
+    set_addr $I10, alt209_2
+    rx203_cur."!mark_push"(0, rx203_pos, $I10)
 .annotate 'line', 124
   # rx enumcharlist negate=0 zerowidth
-    ge rx201_pos, rx201_eos, rx201_fail
-    sub $I10, rx201_pos, rx201_off
-    substr $S10, rx201_tgt, $I10, 1
+    ge rx203_pos, rx203_eos, rx203_fail
+    sub $I10, rx203_pos, rx203_off
+    substr $S10, rx203_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx201_fail
+    lt $I11, 0, rx203_fail
 .annotate 'line', 125
   # rx subrule "newpad" subtype=method negate=
-    rx201_cur."!cursor_pos"(rx201_pos)
-    $P10 = rx201_cur."newpad"()
-    unless $P10, rx201_fail
-    rx201_pos = $P10."pos"()
+    rx203_cur."!cursor_pos"(rx203_pos)
+    $P10 = rx203_cur."newpad"()
+    unless $P10, rx203_fail
+    rx203_pos = $P10."pos"()
 .annotate 'line', 126
   # rx subrule "blockoid" subtype=capture negate=
-    rx201_cur."!cursor_pos"(rx201_pos)
-    $P10 = rx201_cur."blockoid"()
-    unless $P10, rx201_fail
-    rx201_cur."!mark_push"(0, -1, 0, $P10)
+    rx203_cur."!cursor_pos"(rx203_pos)
+    $P10 = rx203_cur."blockoid"()
+    unless $P10, rx203_fail
+    rx203_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx201_pos = $P10."pos"()
+    rx203_pos = $P10."pos"()
 .annotate 'line', 124
-    goto alt207_end
-  alt207_2:
+    goto alt209_end
+  alt209_2:
 .annotate 'line', 127
   # rx subrule "panic" subtype=method negate=
-    rx201_cur."!cursor_pos"(rx201_pos)
-    $P10 = rx201_cur."panic"("Missing block")
-    unless $P10, rx201_fail
-    rx201_pos = $P10."pos"()
-  alt207_end:
+    rx203_cur."!cursor_pos"(rx203_pos)
+    $P10 = rx203_cur."panic"("Missing block")
+    unless $P10, rx203_fail
+    rx203_pos = $P10."pos"()
+  alt209_end:
 .annotate 'line', 119
   # rx pass
-    rx201_cur."!cursor_pass"(rx201_pos, "pblock")
-    rx201_cur."!cursor_debug"("PASS  ", "pblock", " at pos=", rx201_pos)
-    .return (rx201_cur)
-  rx201_fail:
+    rx203_cur."!cursor_pass"(rx203_pos, "pblock")
+    rx203_cur."!cursor_debug"("PASS  ", "pblock", " at pos=", rx203_pos)
+    .return (rx203_cur)
+  rx203_fail:
 .annotate 'line', 4
-    (rx201_rep, rx201_pos, $I10, $P10) = rx201_cur."!mark_fail"(0)
-    lt rx201_pos, -1, rx201_done
-    eq rx201_pos, -1, rx201_fail
+    (rx203_rep, rx203_pos, $I10, $P10) = rx203_cur."!mark_fail"(0)
+    lt rx203_pos, -1, rx203_done
+    eq rx203_pos, -1, rx203_fail
     jump $I10
-  rx201_done:
-    rx201_cur."!cursor_fail"()
-    rx201_cur."!cursor_debug"("FAIL  ", "pblock")
-    .return (rx201_cur)
+  rx203_done:
+    rx203_cur."!cursor_fail"()
+    rx203_cur."!cursor_debug"("FAIL  ", "pblock")
+    .return (rx203_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pblock"  :subid("41_1275600007.84296") :method
+.sub "!PREFIX__pblock"  :subid("41_1275811487.95429") :method
 .annotate 'line', 4
-    $P203 = self."!PREFIX__!subrule"("", "")
-    $P204 = self."!PREFIX__!subrule"("", "")
-    new $P205, "ResizablePMCArray"
-    push $P205, $P203
-    push $P205, "{"
-    push $P205, $P204
-    .return ($P205)
+    $P205 = self."!PREFIX__!subrule"("panic", "")
+    $P206 = self."!PREFIX__!subrule"("lambda", "")
+    new $P207, "ResizablePMCArray"
+    push $P207, $P205
+    push $P207, "{"
+    push $P207, $P206
+    .return ($P207)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "lambda"  :subid("42_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "lambda"  :subid("42_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx209_tgt
-    .local int rx209_pos
-    .local int rx209_off
-    .local int rx209_eos
-    .local int rx209_rep
-    .local pmc rx209_cur
-    (rx209_cur, rx209_pos, rx209_tgt) = self."!cursor_start"()
-    rx209_cur."!cursor_debug"("START ", "lambda")
-    .lex unicode:"$\x{a2}", rx209_cur
+    .local string rx211_tgt
+    .local int rx211_pos
+    .local int rx211_off
+    .local int rx211_eos
+    .local int rx211_rep
+    .local pmc rx211_cur
+    (rx211_cur, rx211_pos, rx211_tgt) = self."!cursor_start"()
+    rx211_cur."!cursor_debug"("START ", "lambda")
+    .lex unicode:"$\x{a2}", rx211_cur
     .local pmc match
     .lex "$/", match
-    length rx209_eos, rx209_tgt
-    gt rx209_pos, rx209_eos, rx209_done
-    set rx209_off, 0
-    lt rx209_pos, 2, rx209_start
-    sub rx209_off, rx209_pos, 1
-    substr rx209_tgt, rx209_tgt, rx209_off
-  rx209_start:
+    length rx211_eos, rx211_tgt
+    gt rx211_pos, rx211_eos, rx211_done
+    set rx211_off, 0
+    lt rx211_pos, 2, rx211_start
+    sub rx211_off, rx211_pos, 1
+    substr rx211_tgt, rx211_tgt, rx211_off
+  rx211_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan212_done
-    goto rxscan212_scan
-  rxscan212_loop:
-    ($P10) = rx209_cur."from"()
+    ne $I10, -1, rxscan214_done
+    goto rxscan214_scan
+  rxscan214_loop:
+    ($P10) = rx211_cur."from"()
     inc $P10
-    set rx209_pos, $P10
-    ge rx209_pos, rx209_eos, rxscan212_done
-  rxscan212_scan:
-    set_addr $I10, rxscan212_loop
-    rx209_cur."!mark_push"(0, rx209_pos, $I10)
-  rxscan212_done:
-  alt213_0:
+    set rx211_pos, $P10
+    ge rx211_pos, rx211_eos, rxscan214_done
+  rxscan214_scan:
+    set_addr $I10, rxscan214_loop
+    rx211_cur."!mark_push"(0, rx211_pos, $I10)
+  rxscan214_done:
+  alt215_0:
 .annotate 'line', 130
-    set_addr $I10, alt213_1
-    rx209_cur."!mark_push"(0, rx209_pos, $I10)
+    set_addr $I10, alt215_1
+    rx211_cur."!mark_push"(0, rx211_pos, $I10)
   # rx literal  "->"
-    add $I11, rx209_pos, 2
-    gt $I11, rx209_eos, rx209_fail
-    sub $I11, rx209_pos, rx209_off
-    substr $S10, rx209_tgt, $I11, 2
-    ne $S10, "->", rx209_fail
-    add rx209_pos, 2
-    goto alt213_end
-  alt213_1:
+    add $I11, rx211_pos, 2
+    gt $I11, rx211_eos, rx211_fail
+    sub $I11, rx211_pos, rx211_off
+    substr $S10, rx211_tgt, $I11, 2
+    ne $S10, "->", rx211_fail
+    add rx211_pos, 2
+    goto alt215_end
+  alt215_1:
   # rx literal  "<->"
-    add $I11, rx209_pos, 3
-    gt $I11, rx209_eos, rx209_fail
-    sub $I11, rx209_pos, rx209_off
-    substr $S10, rx209_tgt, $I11, 3
-    ne $S10, "<->", rx209_fail
-    add rx209_pos, 3
-  alt213_end:
+    add $I11, rx211_pos, 3
+    gt $I11, rx211_eos, rx211_fail
+    sub $I11, rx211_pos, rx211_off
+    substr $S10, rx211_tgt, $I11, 3
+    ne $S10, "<->", rx211_fail
+    add rx211_pos, 3
+  alt215_end:
   # rx pass
-    rx209_cur."!cursor_pass"(rx209_pos, "lambda")
-    rx209_cur."!cursor_debug"("PASS  ", "lambda", " at pos=", rx209_pos)
-    .return (rx209_cur)
-  rx209_fail:
+    rx211_cur."!cursor_pass"(rx211_pos, "lambda")
+    rx211_cur."!cursor_debug"("PASS  ", "lambda", " at pos=", rx211_pos)
+    .return (rx211_cur)
+  rx211_fail:
 .annotate 'line', 4
-    (rx209_rep, rx209_pos, $I10, $P10) = rx209_cur."!mark_fail"(0)
-    lt rx209_pos, -1, rx209_done
-    eq rx209_pos, -1, rx209_fail
+    (rx211_rep, rx211_pos, $I10, $P10) = rx211_cur."!mark_fail"(0)
+    lt rx211_pos, -1, rx211_done
+    eq rx211_pos, -1, rx211_fail
     jump $I10
-  rx209_done:
-    rx209_cur."!cursor_fail"()
-    rx209_cur."!cursor_debug"("FAIL  ", "lambda")
-    .return (rx209_cur)
+  rx211_done:
+    rx211_cur."!cursor_fail"()
+    rx211_cur."!cursor_debug"("FAIL  ", "lambda")
+    .return (rx211_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__lambda"  :subid("43_1275600007.84296") :method
+.sub "!PREFIX__lambda"  :subid("43_1275811487.95429") :method
 .annotate 'line', 4
-    new $P211, "ResizablePMCArray"
-    push $P211, "<->"
-    push $P211, "->"
-    .return ($P211)
+    new $P213, "ResizablePMCArray"
+    push $P213, "<->"
+    push $P213, "->"
+    .return ($P213)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "block"  :subid("44_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "block"  :subid("44_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx215_tgt
-    .local int rx215_pos
-    .local int rx215_off
-    .local int rx215_eos
-    .local int rx215_rep
-    .local pmc rx215_cur
-    (rx215_cur, rx215_pos, rx215_tgt) = self."!cursor_start"()
-    rx215_cur."!cursor_debug"("START ", "block")
-    .lex unicode:"$\x{a2}", rx215_cur
-    .local pmc match
-    .lex "$/", match
-    length rx215_eos, rx215_tgt
-    gt rx215_pos, rx215_eos, rx215_done
-    set rx215_off, 0
-    lt rx215_pos, 2, rx215_start
-    sub rx215_off, rx215_pos, 1
-    substr rx215_tgt, rx215_tgt, rx215_off
-  rx215_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan219_done
-    goto rxscan219_scan
-  rxscan219_loop:
-    ($P10) = rx215_cur."from"()
-    inc $P10
-    set rx215_pos, $P10
-    ge rx215_pos, rx215_eos, rxscan219_done
-  rxscan219_scan:
-    set_addr $I10, rxscan219_loop
-    rx215_cur."!mark_push"(0, rx215_pos, $I10)
-  rxscan219_done:
-  alt220_0:
+    .local string rx217_tgt
+    .local int rx217_pos
+    .local int rx217_off
+    .local int rx217_eos
+    .local int rx217_rep
+    .local pmc rx217_cur
+    (rx217_cur, rx217_pos, rx217_tgt) = self."!cursor_start"()
+    rx217_cur."!cursor_debug"("START ", "block")
+    .lex unicode:"$\x{a2}", rx217_cur
+    .local pmc match
+    .lex "$/", match
+    length rx217_eos, rx217_tgt
+    gt rx217_pos, rx217_eos, rx217_done
+    set rx217_off, 0
+    lt rx217_pos, 2, rx217_start
+    sub rx217_off, rx217_pos, 1
+    substr rx217_tgt, rx217_tgt, rx217_off
+  rx217_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan221_done
+    goto rxscan221_scan
+  rxscan221_loop:
+    ($P10) = rx217_cur."from"()
+    inc $P10
+    set rx217_pos, $P10
+    ge rx217_pos, rx217_eos, rxscan221_done
+  rxscan221_scan:
+    set_addr $I10, rxscan221_loop
+    rx217_cur."!mark_push"(0, rx217_pos, $I10)
+  rxscan221_done:
+  alt222_0:
 .annotate 'line', 133
-    set_addr $I10, alt220_1
-    rx215_cur."!mark_push"(0, rx215_pos, $I10)
+    set_addr $I10, alt222_1
+    rx217_cur."!mark_push"(0, rx217_pos, $I10)
   # rx enumcharlist negate=0 zerowidth
-    ge rx215_pos, rx215_eos, rx215_fail
-    sub $I10, rx215_pos, rx215_off
-    substr $S10, rx215_tgt, $I10, 1
+    ge rx217_pos, rx217_eos, rx217_fail
+    sub $I10, rx217_pos, rx217_off
+    substr $S10, rx217_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx215_fail
-    goto alt220_end
-  alt220_1:
+    lt $I11, 0, rx217_fail
+    goto alt222_end
+  alt222_1:
   # rx subrule "panic" subtype=method negate=
-    rx215_cur."!cursor_pos"(rx215_pos)
-    $P10 = rx215_cur."panic"("Missing block")
-    unless $P10, rx215_fail
-    rx215_pos = $P10."pos"()
-  alt220_end:
+    rx217_cur."!cursor_pos"(rx217_pos)
+    $P10 = rx217_cur."panic"("Missing block")
+    unless $P10, rx217_fail
+    rx217_pos = $P10."pos"()
+  alt222_end:
 .annotate 'line', 134
   # rx subrule "newpad" subtype=method negate=
-    rx215_cur."!cursor_pos"(rx215_pos)
-    $P10 = rx215_cur."newpad"()
-    unless $P10, rx215_fail
-    rx215_pos = $P10."pos"()
+    rx217_cur."!cursor_pos"(rx217_pos)
+    $P10 = rx217_cur."newpad"()
+    unless $P10, rx217_fail
+    rx217_pos = $P10."pos"()
 .annotate 'line', 135
   # rx subrule "blockoid" subtype=capture negate=
-    rx215_cur."!cursor_pos"(rx215_pos)
-    $P10 = rx215_cur."blockoid"()
-    unless $P10, rx215_fail
-    rx215_cur."!mark_push"(0, -1, 0, $P10)
+    rx217_cur."!cursor_pos"(rx217_pos)
+    $P10 = rx217_cur."blockoid"()
+    unless $P10, rx217_fail
+    rx217_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx215_pos = $P10."pos"()
+    rx217_pos = $P10."pos"()
 .annotate 'line', 132
   # rx pass
-    rx215_cur."!cursor_pass"(rx215_pos, "block")
-    rx215_cur."!cursor_debug"("PASS  ", "block", " at pos=", rx215_pos)
-    .return (rx215_cur)
-  rx215_fail:
+    rx217_cur."!cursor_pass"(rx217_pos, "block")
+    rx217_cur."!cursor_debug"("PASS  ", "block", " at pos=", rx217_pos)
+    .return (rx217_cur)
+  rx217_fail:
 .annotate 'line', 4
-    (rx215_rep, rx215_pos, $I10, $P10) = rx215_cur."!mark_fail"(0)
-    lt rx215_pos, -1, rx215_done
-    eq rx215_pos, -1, rx215_fail
+    (rx217_rep, rx217_pos, $I10, $P10) = rx217_cur."!mark_fail"(0)
+    lt rx217_pos, -1, rx217_done
+    eq rx217_pos, -1, rx217_fail
     jump $I10
-  rx215_done:
-    rx215_cur."!cursor_fail"()
-    rx215_cur."!cursor_debug"("FAIL  ", "block")
-    .return (rx215_cur)
+  rx217_done:
+    rx217_cur."!cursor_fail"()
+    rx217_cur."!cursor_debug"("FAIL  ", "block")
+    .return (rx217_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__block"  :subid("45_1275600007.84296") :method
+.sub "!PREFIX__block"  :subid("45_1275811487.95429") :method
 .annotate 'line', 4
-    $P217 = self."!PREFIX__!subrule"("", "")
-    new $P218, "ResizablePMCArray"
-    push $P218, $P217
-    push $P218, "{"
-    .return ($P218)
+    $P219 = self."!PREFIX__!subrule"("panic", "")
+    new $P220, "ResizablePMCArray"
+    push $P220, $P219
+    push $P220, "{"
+    .return ($P220)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blockoid"  :subid("46_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "blockoid"  :subid("46_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx222_tgt
-    .local int rx222_pos
-    .local int rx222_off
-    .local int rx222_eos
-    .local int rx222_rep
-    .local pmc rx222_cur
-    (rx222_cur, rx222_pos, rx222_tgt) = self."!cursor_start"()
-    rx222_cur."!cursor_debug"("START ", "blockoid")
-    .lex unicode:"$\x{a2}", rx222_cur
+    .local string rx224_tgt
+    .local int rx224_pos
+    .local int rx224_off
+    .local int rx224_eos
+    .local int rx224_rep
+    .local pmc rx224_cur
+    (rx224_cur, rx224_pos, rx224_tgt) = self."!cursor_start"()
+    rx224_cur."!cursor_debug"("START ", "blockoid")
+    .lex unicode:"$\x{a2}", rx224_cur
     .local pmc match
     .lex "$/", match
-    length rx222_eos, rx222_tgt
-    gt rx222_pos, rx222_eos, rx222_done
-    set rx222_off, 0
-    lt rx222_pos, 2, rx222_start
-    sub rx222_off, rx222_pos, 1
-    substr rx222_tgt, rx222_tgt, rx222_off
-  rx222_start:
+    length rx224_eos, rx224_tgt
+    gt rx224_pos, rx224_eos, rx224_done
+    set rx224_off, 0
+    lt rx224_pos, 2, rx224_start
+    sub rx224_off, rx224_pos, 1
+    substr rx224_tgt, rx224_tgt, rx224_off
+  rx224_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan226_done
-    goto rxscan226_scan
-  rxscan226_loop:
-    ($P10) = rx222_cur."from"()
+    ne $I10, -1, rxscan228_done
+    goto rxscan228_scan
+  rxscan228_loop:
+    ($P10) = rx224_cur."from"()
     inc $P10
-    set rx222_pos, $P10
-    ge rx222_pos, rx222_eos, rxscan226_done
-  rxscan226_scan:
-    set_addr $I10, rxscan226_loop
-    rx222_cur."!mark_push"(0, rx222_pos, $I10)
-  rxscan226_done:
+    set rx224_pos, $P10
+    ge rx224_pos, rx224_eos, rxscan228_done
+  rxscan228_scan:
+    set_addr $I10, rxscan228_loop
+    rx224_cur."!mark_push"(0, rx224_pos, $I10)
+  rxscan228_done:
 .annotate 'line', 139
   # rx subrule "finishpad" subtype=method negate=
-    rx222_cur."!cursor_pos"(rx222_pos)
-    $P10 = rx222_cur."finishpad"()
-    unless $P10, rx222_fail
-    rx222_pos = $P10."pos"()
+    rx224_cur."!cursor_pos"(rx224_pos)
+    $P10 = rx224_cur."finishpad"()
+    unless $P10, rx224_fail
+    rx224_pos = $P10."pos"()
 .annotate 'line', 140
   # rx literal  "{"
-    add $I11, rx222_pos, 1
-    gt $I11, rx222_eos, rx222_fail
-    sub $I11, rx222_pos, rx222_off
-    substr $S10, rx222_tgt, $I11, 1
-    ne $S10, "{", rx222_fail
-    add rx222_pos, 1
+    add $I11, rx224_pos, 1
+    gt $I11, rx224_eos, rx224_fail
+    sub $I11, rx224_pos, rx224_off
+    substr $S10, rx224_tgt, $I11, 1
+    ne $S10, "{", rx224_fail
+    add rx224_pos, 1
   # rx subrule "statementlist" subtype=capture negate=
-    rx222_cur."!cursor_pos"(rx222_pos)
-    $P10 = rx222_cur."statementlist"()
-    unless $P10, rx222_fail
-    rx222_cur."!mark_push"(0, -1, 0, $P10)
+    rx224_cur."!cursor_pos"(rx224_pos)
+    $P10 = rx224_cur."statementlist"()
+    unless $P10, rx224_fail
+    rx224_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statementlist")
-    rx222_pos = $P10."pos"()
-  alt227_0:
-    set_addr $I10, alt227_1
-    rx222_cur."!mark_push"(0, rx222_pos, $I10)
+    rx224_pos = $P10."pos"()
+  alt229_0:
+    set_addr $I10, alt229_1
+    rx224_cur."!mark_push"(0, rx224_pos, $I10)
   # rx literal  "}"
-    add $I11, rx222_pos, 1
-    gt $I11, rx222_eos, rx222_fail
-    sub $I11, rx222_pos, rx222_off
-    substr $S10, rx222_tgt, $I11, 1
-    ne $S10, "}", rx222_fail
-    add rx222_pos, 1
-    goto alt227_end
-  alt227_1:
+    add $I11, rx224_pos, 1
+    gt $I11, rx224_eos, rx224_fail
+    sub $I11, rx224_pos, rx224_off
+    substr $S10, rx224_tgt, $I11, 1
+    ne $S10, "}", rx224_fail
+    add rx224_pos, 1
+    goto alt229_end
+  alt229_1:
   # rx subrule "FAILGOAL" subtype=method negate=
-    rx222_cur."!cursor_pos"(rx222_pos)
-    $P10 = rx222_cur."FAILGOAL"("'}'")
-    unless $P10, rx222_fail
-    rx222_pos = $P10."pos"()
-  alt227_end:
+    rx224_cur."!cursor_pos"(rx224_pos)
+    $P10 = rx224_cur."FAILGOAL"("'}'")
+    unless $P10, rx224_fail
+    rx224_pos = $P10."pos"()
+  alt229_end:
 .annotate 'line', 141
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx222_cur."!cursor_pos"(rx222_pos)
-    $P10 = rx222_cur."ENDSTMT"()
-    unless $P10, rx222_fail
+    rx224_cur."!cursor_pos"(rx224_pos)
+    $P10 = rx224_cur."ENDSTMT"()
+    unless $P10, rx224_fail
 .annotate 'line', 138
   # rx pass
-    rx222_cur."!cursor_pass"(rx222_pos, "blockoid")
-    rx222_cur."!cursor_debug"("PASS  ", "blockoid", " at pos=", rx222_pos)
-    .return (rx222_cur)
-  rx222_fail:
+    rx224_cur."!cursor_pass"(rx224_pos, "blockoid")
+    rx224_cur."!cursor_debug"("PASS  ", "blockoid", " at pos=", rx224_pos)
+    .return (rx224_cur)
+  rx224_fail:
 .annotate 'line', 4
-    (rx222_rep, rx222_pos, $I10, $P10) = rx222_cur."!mark_fail"(0)
-    lt rx222_pos, -1, rx222_done
-    eq rx222_pos, -1, rx222_fail
+    (rx224_rep, rx224_pos, $I10, $P10) = rx224_cur."!mark_fail"(0)
+    lt rx224_pos, -1, rx224_done
+    eq rx224_pos, -1, rx224_fail
     jump $I10
-  rx222_done:
-    rx222_cur."!cursor_fail"()
-    rx222_cur."!cursor_debug"("FAIL  ", "blockoid")
-    .return (rx222_cur)
+  rx224_done:
+    rx224_cur."!cursor_fail"()
+    rx224_cur."!cursor_debug"("FAIL  ", "blockoid")
+    .return (rx224_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blockoid"  :subid("47_1275600007.84296") :method
+.sub "!PREFIX__blockoid"  :subid("47_1275811487.95429") :method
 .annotate 'line', 4
-    $P224 = self."!PREFIX__!subrule"("", "")
-    new $P225, "ResizablePMCArray"
-    push $P225, $P224
-    .return ($P225)
+    $P226 = self."!PREFIX__!subrule"("finishpad", "")
+    new $P227, "ResizablePMCArray"
+    push $P227, $P226
+    .return ($P227)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "newpad"  :subid("48_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "newpad"  :subid("48_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx230_tgt
-    .local int rx230_pos
-    .local int rx230_off
-    .local int rx230_eos
-    .local int rx230_rep
-    .local pmc rx230_cur
-    (rx230_cur, rx230_pos, rx230_tgt) = self."!cursor_start"()
-    rx230_cur."!cursor_debug"("START ", "newpad")
-    .lex unicode:"$\x{a2}", rx230_cur
+    .local string rx232_tgt
+    .local int rx232_pos
+    .local int rx232_off
+    .local int rx232_eos
+    .local int rx232_rep
+    .local pmc rx232_cur
+    (rx232_cur, rx232_pos, rx232_tgt) = self."!cursor_start"()
+    rx232_cur."!cursor_debug"("START ", "newpad")
+    .lex unicode:"$\x{a2}", rx232_cur
     .local pmc match
     .lex "$/", match
-    length rx230_eos, rx230_tgt
-    gt rx230_pos, rx230_eos, rx230_done
-    set rx230_off, 0
-    lt rx230_pos, 2, rx230_start
-    sub rx230_off, rx230_pos, 1
-    substr rx230_tgt, rx230_tgt, rx230_off
-  rx230_start:
+    length rx232_eos, rx232_tgt
+    gt rx232_pos, rx232_eos, rx232_done
+    set rx232_off, 0
+    lt rx232_pos, 2, rx232_start
+    sub rx232_off, rx232_pos, 1
+    substr rx232_tgt, rx232_tgt, rx232_off
+  rx232_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan233_done
-    goto rxscan233_scan
-  rxscan233_loop:
-    ($P10) = rx230_cur."from"()
+    ne $I10, -1, rxscan235_done
+    goto rxscan235_scan
+  rxscan235_loop:
+    ($P10) = rx232_cur."from"()
     inc $P10
-    set rx230_pos, $P10
-    ge rx230_pos, rx230_eos, rxscan233_done
-  rxscan233_scan:
-    set_addr $I10, rxscan233_loop
-    rx230_cur."!mark_push"(0, rx230_pos, $I10)
-  rxscan233_done:
+    set rx232_pos, $P10
+    ge rx232_pos, rx232_eos, rxscan235_done
+  rxscan235_scan:
+    set_addr $I10, rxscan235_loop
+    rx232_cur."!mark_push"(0, rx232_pos, $I10)
+  rxscan235_done:
 .annotate 'line', 144
   # rx pass
-    rx230_cur."!cursor_pass"(rx230_pos, "newpad")
-    rx230_cur."!cursor_debug"("PASS  ", "newpad", " at pos=", rx230_pos)
-    .return (rx230_cur)
-  rx230_fail:
+    rx232_cur."!cursor_pass"(rx232_pos, "newpad")
+    rx232_cur."!cursor_debug"("PASS  ", "newpad", " at pos=", rx232_pos)
+    .return (rx232_cur)
+  rx232_fail:
 .annotate 'line', 4
-    (rx230_rep, rx230_pos, $I10, $P10) = rx230_cur."!mark_fail"(0)
-    lt rx230_pos, -1, rx230_done
-    eq rx230_pos, -1, rx230_fail
+    (rx232_rep, rx232_pos, $I10, $P10) = rx232_cur."!mark_fail"(0)
+    lt rx232_pos, -1, rx232_done
+    eq rx232_pos, -1, rx232_fail
     jump $I10
-  rx230_done:
-    rx230_cur."!cursor_fail"()
-    rx230_cur."!cursor_debug"("FAIL  ", "newpad")
-    .return (rx230_cur)
+  rx232_done:
+    rx232_cur."!cursor_fail"()
+    rx232_cur."!cursor_debug"("FAIL  ", "newpad")
+    .return (rx232_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__newpad"  :subid("49_1275600007.84296") :method
+.sub "!PREFIX__newpad"  :subid("49_1275811487.95429") :method
 .annotate 'line', 4
-    new $P232, "ResizablePMCArray"
-    push $P232, ""
-    .return ($P232)
+    new $P234, "ResizablePMCArray"
+    push $P234, ""
+    .return ($P234)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "outerctx"  :subid("50_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "outerctx"  :subid("50_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx235_tgt
-    .local int rx235_pos
-    .local int rx235_off
-    .local int rx235_eos
-    .local int rx235_rep
-    .local pmc rx235_cur
-    (rx235_cur, rx235_pos, rx235_tgt) = self."!cursor_start"()
-    rx235_cur."!cursor_debug"("START ", "outerctx")
-    .lex unicode:"$\x{a2}", rx235_cur
+    .local string rx237_tgt
+    .local int rx237_pos
+    .local int rx237_off
+    .local int rx237_eos
+    .local int rx237_rep
+    .local pmc rx237_cur
+    (rx237_cur, rx237_pos, rx237_tgt) = self."!cursor_start"()
+    rx237_cur."!cursor_debug"("START ", "outerctx")
+    .lex unicode:"$\x{a2}", rx237_cur
     .local pmc match
     .lex "$/", match
-    length rx235_eos, rx235_tgt
-    gt rx235_pos, rx235_eos, rx235_done
-    set rx235_off, 0
-    lt rx235_pos, 2, rx235_start
-    sub rx235_off, rx235_pos, 1
-    substr rx235_tgt, rx235_tgt, rx235_off
-  rx235_start:
+    length rx237_eos, rx237_tgt
+    gt rx237_pos, rx237_eos, rx237_done
+    set rx237_off, 0
+    lt rx237_pos, 2, rx237_start
+    sub rx237_off, rx237_pos, 1
+    substr rx237_tgt, rx237_tgt, rx237_off
+  rx237_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan238_done
-    goto rxscan238_scan
-  rxscan238_loop:
-    ($P10) = rx235_cur."from"()
+    ne $I10, -1, rxscan240_done
+    goto rxscan240_scan
+  rxscan240_loop:
+    ($P10) = rx237_cur."from"()
     inc $P10
-    set rx235_pos, $P10
-    ge rx235_pos, rx235_eos, rxscan238_done
-  rxscan238_scan:
-    set_addr $I10, rxscan238_loop
-    rx235_cur."!mark_push"(0, rx235_pos, $I10)
-  rxscan238_done:
+    set rx237_pos, $P10
+    ge rx237_pos, rx237_eos, rxscan240_done
+  rxscan240_scan:
+    set_addr $I10, rxscan240_loop
+    rx237_cur."!mark_push"(0, rx237_pos, $I10)
+  rxscan240_done:
 .annotate 'line', 145
   # rx pass
-    rx235_cur."!cursor_pass"(rx235_pos, "outerctx")
-    rx235_cur."!cursor_debug"("PASS  ", "outerctx", " at pos=", rx235_pos)
-    .return (rx235_cur)
-  rx235_fail:
+    rx237_cur."!cursor_pass"(rx237_pos, "outerctx")
+    rx237_cur."!cursor_debug"("PASS  ", "outerctx", " at pos=", rx237_pos)
+    .return (rx237_cur)
+  rx237_fail:
 .annotate 'line', 4
-    (rx235_rep, rx235_pos, $I10, $P10) = rx235_cur."!mark_fail"(0)
-    lt rx235_pos, -1, rx235_done
-    eq rx235_pos, -1, rx235_fail
+    (rx237_rep, rx237_pos, $I10, $P10) = rx237_cur."!mark_fail"(0)
+    lt rx237_pos, -1, rx237_done
+    eq rx237_pos, -1, rx237_fail
     jump $I10
-  rx235_done:
-    rx235_cur."!cursor_fail"()
-    rx235_cur."!cursor_debug"("FAIL  ", "outerctx")
-    .return (rx235_cur)
+  rx237_done:
+    rx237_cur."!cursor_fail"()
+    rx237_cur."!cursor_debug"("FAIL  ", "outerctx")
+    .return (rx237_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__outerctx"  :subid("51_1275600007.84296") :method
+.sub "!PREFIX__outerctx"  :subid("51_1275811487.95429") :method
 .annotate 'line', 4
-    new $P237, "ResizablePMCArray"
-    push $P237, ""
-    .return ($P237)
+    new $P239, "ResizablePMCArray"
+    push $P239, ""
+    .return ($P239)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "finishpad"  :subid("52_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "finishpad"  :subid("52_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx240_tgt
-    .local int rx240_pos
-    .local int rx240_off
-    .local int rx240_eos
-    .local int rx240_rep
-    .local pmc rx240_cur
-    (rx240_cur, rx240_pos, rx240_tgt) = self."!cursor_start"()
-    rx240_cur."!cursor_debug"("START ", "finishpad")
-    .lex unicode:"$\x{a2}", rx240_cur
+    .local string rx242_tgt
+    .local int rx242_pos
+    .local int rx242_off
+    .local int rx242_eos
+    .local int rx242_rep
+    .local pmc rx242_cur
+    (rx242_cur, rx242_pos, rx242_tgt) = self."!cursor_start"()
+    rx242_cur."!cursor_debug"("START ", "finishpad")
+    .lex unicode:"$\x{a2}", rx242_cur
     .local pmc match
     .lex "$/", match
-    length rx240_eos, rx240_tgt
-    gt rx240_pos, rx240_eos, rx240_done
-    set rx240_off, 0
-    lt rx240_pos, 2, rx240_start
-    sub rx240_off, rx240_pos, 1
-    substr rx240_tgt, rx240_tgt, rx240_off
-  rx240_start:
+    length rx242_eos, rx242_tgt
+    gt rx242_pos, rx242_eos, rx242_done
+    set rx242_off, 0
+    lt rx242_pos, 2, rx242_start
+    sub rx242_off, rx242_pos, 1
+    substr rx242_tgt, rx242_tgt, rx242_off
+  rx242_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan243_done
-    goto rxscan243_scan
-  rxscan243_loop:
-    ($P10) = rx240_cur."from"()
+    ne $I10, -1, rxscan245_done
+    goto rxscan245_scan
+  rxscan245_loop:
+    ($P10) = rx242_cur."from"()
     inc $P10
-    set rx240_pos, $P10
-    ge rx240_pos, rx240_eos, rxscan243_done
-  rxscan243_scan:
-    set_addr $I10, rxscan243_loop
-    rx240_cur."!mark_push"(0, rx240_pos, $I10)
-  rxscan243_done:
+    set rx242_pos, $P10
+    ge rx242_pos, rx242_eos, rxscan245_done
+  rxscan245_scan:
+    set_addr $I10, rxscan245_loop
+    rx242_cur."!mark_push"(0, rx242_pos, $I10)
+  rxscan245_done:
 .annotate 'line', 146
   # rx pass
-    rx240_cur."!cursor_pass"(rx240_pos, "finishpad")
-    rx240_cur."!cursor_debug"("PASS  ", "finishpad", " at pos=", rx240_pos)
-    .return (rx240_cur)
-  rx240_fail:
+    rx242_cur."!cursor_pass"(rx242_pos, "finishpad")
+    rx242_cur."!cursor_debug"("PASS  ", "finishpad", " at pos=", rx242_pos)
+    .return (rx242_cur)
+  rx242_fail:
 .annotate 'line', 4
-    (rx240_rep, rx240_pos, $I10, $P10) = rx240_cur."!mark_fail"(0)
-    lt rx240_pos, -1, rx240_done
-    eq rx240_pos, -1, rx240_fail
+    (rx242_rep, rx242_pos, $I10, $P10) = rx242_cur."!mark_fail"(0)
+    lt rx242_pos, -1, rx242_done
+    eq rx242_pos, -1, rx242_fail
     jump $I10
-  rx240_done:
-    rx240_cur."!cursor_fail"()
-    rx240_cur."!cursor_debug"("FAIL  ", "finishpad")
-    .return (rx240_cur)
+  rx242_done:
+    rx242_cur."!cursor_fail"()
+    rx242_cur."!cursor_debug"("FAIL  ", "finishpad")
+    .return (rx242_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__finishpad"  :subid("53_1275600007.84296") :method
+.sub "!PREFIX__finishpad"  :subid("53_1275811487.95429") :method
 .annotate 'line', 4
-    new $P242, "ResizablePMCArray"
-    push $P242, ""
-    .return ($P242)
+    new $P244, "ResizablePMCArray"
+    push $P244, ""
+    .return ($P244)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator"  :subid("54_1275600007.84296") :method
+.sub "terminator"  :subid("54_1275811487.95429") :method
 .annotate 'line', 148
-    $P245 = self."!protoregex"("terminator")
-    .return ($P245)
+    $P247 = self."!protoregex"("terminator")
+    .return ($P247)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator"  :subid("55_1275600007.84296") :method
+.sub "!PREFIX__terminator"  :subid("55_1275811487.95429") :method
 .annotate 'line', 148
-    $P247 = self."!PREFIX__!protoregex"("terminator")
-    .return ($P247)
+    $P249 = self."!PREFIX__!protoregex"("terminator")
+    .return ($P249)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<;>"  :subid("56_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "terminator:sym<;>"  :subid("56_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx249_tgt
-    .local int rx249_pos
-    .local int rx249_off
-    .local int rx249_eos
-    .local int rx249_rep
-    .local pmc rx249_cur
-    (rx249_cur, rx249_pos, rx249_tgt) = self."!cursor_start"()
-    rx249_cur."!cursor_debug"("START ", "terminator:sym<;>")
-    .lex unicode:"$\x{a2}", rx249_cur
-    .local pmc match
-    .lex "$/", match
-    length rx249_eos, rx249_tgt
-    gt rx249_pos, rx249_eos, rx249_done
-    set rx249_off, 0
-    lt rx249_pos, 2, rx249_start
-    sub rx249_off, rx249_pos, 1
-    substr rx249_tgt, rx249_tgt, rx249_off
-  rx249_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan252_done
-    goto rxscan252_scan
-  rxscan252_loop:
-    ($P10) = rx249_cur."from"()
-    inc $P10
-    set rx249_pos, $P10
-    ge rx249_pos, rx249_eos, rxscan252_done
-  rxscan252_scan:
-    set_addr $I10, rxscan252_loop
-    rx249_cur."!mark_push"(0, rx249_pos, $I10)
-  rxscan252_done:
+    .local string rx251_tgt
+    .local int rx251_pos
+    .local int rx251_off
+    .local int rx251_eos
+    .local int rx251_rep
+    .local pmc rx251_cur
+    (rx251_cur, rx251_pos, rx251_tgt) = self."!cursor_start"()
+    rx251_cur."!cursor_debug"("START ", "terminator:sym<;>")
+    .lex unicode:"$\x{a2}", rx251_cur
+    .local pmc match
+    .lex "$/", match
+    length rx251_eos, rx251_tgt
+    gt rx251_pos, rx251_eos, rx251_done
+    set rx251_off, 0
+    lt rx251_pos, 2, rx251_start
+    sub rx251_off, rx251_pos, 1
+    substr rx251_tgt, rx251_tgt, rx251_off
+  rx251_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan254_done
+    goto rxscan254_scan
+  rxscan254_loop:
+    ($P10) = rx251_cur."from"()
+    inc $P10
+    set rx251_pos, $P10
+    ge rx251_pos, rx251_eos, rxscan254_done
+  rxscan254_scan:
+    set_addr $I10, rxscan254_loop
+    rx251_cur."!mark_push"(0, rx251_pos, $I10)
+  rxscan254_done:
 .annotate 'line', 150
   # rx enumcharlist negate=0 zerowidth
-    ge rx249_pos, rx249_eos, rx249_fail
-    sub $I10, rx249_pos, rx249_off
-    substr $S10, rx249_tgt, $I10, 1
+    ge rx251_pos, rx251_eos, rx251_fail
+    sub $I10, rx251_pos, rx251_off
+    substr $S10, rx251_tgt, $I10, 1
     index $I11, ";", $S10
-    lt $I11, 0, rx249_fail
+    lt $I11, 0, rx251_fail
   # rx pass
-    rx249_cur."!cursor_pass"(rx249_pos, "terminator:sym<;>")
-    rx249_cur."!cursor_debug"("PASS  ", "terminator:sym<;>", " at pos=", rx249_pos)
-    .return (rx249_cur)
-  rx249_fail:
+    rx251_cur."!cursor_pass"(rx251_pos, "terminator:sym<;>")
+    rx251_cur."!cursor_debug"("PASS  ", "terminator:sym<;>", " at pos=", rx251_pos)
+    .return (rx251_cur)
+  rx251_fail:
 .annotate 'line', 4
-    (rx249_rep, rx249_pos, $I10, $P10) = rx249_cur."!mark_fail"(0)
-    lt rx249_pos, -1, rx249_done
-    eq rx249_pos, -1, rx249_fail
+    (rx251_rep, rx251_pos, $I10, $P10) = rx251_cur."!mark_fail"(0)
+    lt rx251_pos, -1, rx251_done
+    eq rx251_pos, -1, rx251_fail
     jump $I10
-  rx249_done:
-    rx249_cur."!cursor_fail"()
-    rx249_cur."!cursor_debug"("FAIL  ", "terminator:sym<;>")
-    .return (rx249_cur)
+  rx251_done:
+    rx251_cur."!cursor_fail"()
+    rx251_cur."!cursor_debug"("FAIL  ", "terminator:sym<;>")
+    .return (rx251_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<;>"  :subid("57_1275600007.84296") :method
+.sub "!PREFIX__terminator:sym<;>"  :subid("57_1275811487.95429") :method
 .annotate 'line', 4
-    new $P251, "ResizablePMCArray"
-    push $P251, ";"
-    .return ($P251)
+    new $P253, "ResizablePMCArray"
+    push $P253, ";"
+    .return ($P253)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<}>"  :subid("58_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "terminator:sym<}>"  :subid("58_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx254_tgt
-    .local int rx254_pos
-    .local int rx254_off
-    .local int rx254_eos
-    .local int rx254_rep
-    .local pmc rx254_cur
-    (rx254_cur, rx254_pos, rx254_tgt) = self."!cursor_start"()
-    rx254_cur."!cursor_debug"("START ", "terminator:sym<}>")
-    .lex unicode:"$\x{a2}", rx254_cur
+    .local string rx256_tgt
+    .local int rx256_pos
+    .local int rx256_off
+    .local int rx256_eos
+    .local int rx256_rep
+    .local pmc rx256_cur
+    (rx256_cur, rx256_pos, rx256_tgt) = self."!cursor_start"()
+    rx256_cur."!cursor_debug"("START ", "terminator:sym<}>")
+    .lex unicode:"$\x{a2}", rx256_cur
     .local pmc match
     .lex "$/", match
-    length rx254_eos, rx254_tgt
-    gt rx254_pos, rx254_eos, rx254_done
-    set rx254_off, 0
-    lt rx254_pos, 2, rx254_start
-    sub rx254_off, rx254_pos, 1
-    substr rx254_tgt, rx254_tgt, rx254_off
-  rx254_start:
+    length rx256_eos, rx256_tgt
+    gt rx256_pos, rx256_eos, rx256_done
+    set rx256_off, 0
+    lt rx256_pos, 2, rx256_start
+    sub rx256_off, rx256_pos, 1
+    substr rx256_tgt, rx256_tgt, rx256_off
+  rx256_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan257_done
-    goto rxscan257_scan
-  rxscan257_loop:
-    ($P10) = rx254_cur."from"()
+    ne $I10, -1, rxscan259_done
+    goto rxscan259_scan
+  rxscan259_loop:
+    ($P10) = rx256_cur."from"()
     inc $P10
-    set rx254_pos, $P10
-    ge rx254_pos, rx254_eos, rxscan257_done
-  rxscan257_scan:
-    set_addr $I10, rxscan257_loop
-    rx254_cur."!mark_push"(0, rx254_pos, $I10)
-  rxscan257_done:
+    set rx256_pos, $P10
+    ge rx256_pos, rx256_eos, rxscan259_done
+  rxscan259_scan:
+    set_addr $I10, rxscan259_loop
+    rx256_cur."!mark_push"(0, rx256_pos, $I10)
+  rxscan259_done:
 .annotate 'line', 151
   # rx enumcharlist negate=0 zerowidth
-    ge rx254_pos, rx254_eos, rx254_fail
-    sub $I10, rx254_pos, rx254_off
-    substr $S10, rx254_tgt, $I10, 1
+    ge rx256_pos, rx256_eos, rx256_fail
+    sub $I10, rx256_pos, rx256_off
+    substr $S10, rx256_tgt, $I10, 1
     index $I11, "}", $S10
-    lt $I11, 0, rx254_fail
+    lt $I11, 0, rx256_fail
   # rx pass
-    rx254_cur."!cursor_pass"(rx254_pos, "terminator:sym<}>")
-    rx254_cur."!cursor_debug"("PASS  ", "terminator:sym<}>", " at pos=", rx254_pos)
-    .return (rx254_cur)
-  rx254_fail:
+    rx256_cur."!cursor_pass"(rx256_pos, "terminator:sym<}>")
+    rx256_cur."!cursor_debug"("PASS  ", "terminator:sym<}>", " at pos=", rx256_pos)
+    .return (rx256_cur)
+  rx256_fail:
 .annotate 'line', 4
-    (rx254_rep, rx254_pos, $I10, $P10) = rx254_cur."!mark_fail"(0)
-    lt rx254_pos, -1, rx254_done
-    eq rx254_pos, -1, rx254_fail
+    (rx256_rep, rx256_pos, $I10, $P10) = rx256_cur."!mark_fail"(0)
+    lt rx256_pos, -1, rx256_done
+    eq rx256_pos, -1, rx256_fail
     jump $I10
-  rx254_done:
-    rx254_cur."!cursor_fail"()
-    rx254_cur."!cursor_debug"("FAIL  ", "terminator:sym<}>")
-    .return (rx254_cur)
+  rx256_done:
+    rx256_cur."!cursor_fail"()
+    rx256_cur."!cursor_debug"("FAIL  ", "terminator:sym<}>")
+    .return (rx256_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<}>"  :subid("59_1275600007.84296") :method
+.sub "!PREFIX__terminator:sym<}>"  :subid("59_1275811487.95429") :method
 .annotate 'line', 4
-    new $P256, "ResizablePMCArray"
-    push $P256, "}"
-    .return ($P256)
+    new $P258, "ResizablePMCArray"
+    push $P258, "}"
+    .return ($P258)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control"  :subid("60_1275600007.84296") :method
+.sub "statement_control"  :subid("60_1275811487.95429") :method
 .annotate 'line', 155
-    $P259 = self."!protoregex"("statement_control")
-    .return ($P259)
+    $P261 = self."!protoregex"("statement_control")
+    .return ($P261)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control"  :subid("61_1275600007.84296") :method
+.sub "!PREFIX__statement_control"  :subid("61_1275811487.95429") :method
 .annotate 'line', 155
-    $P261 = self."!PREFIX__!protoregex"("statement_control")
-    .return ($P261)
+    $P263 = self."!PREFIX__!protoregex"("statement_control")
+    .return ($P263)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<if>"  :subid("62_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "statement_control:sym<if>"  :subid("62_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx263_tgt
-    .local int rx263_pos
-    .local int rx263_off
-    .local int rx263_eos
-    .local int rx263_rep
-    .local pmc rx263_cur
-    (rx263_cur, rx263_pos, rx263_tgt) = self."!cursor_start"()
-    rx263_cur."!cursor_debug"("START ", "statement_control:sym<if>")
-    rx263_cur."!cursor_caparray"("else", "xblock")
-    .lex unicode:"$\x{a2}", rx263_cur
-    .local pmc match
-    .lex "$/", match
-    length rx263_eos, rx263_tgt
-    gt rx263_pos, rx263_eos, rx263_done
-    set rx263_off, 0
-    lt rx263_pos, 2, rx263_start
-    sub rx263_off, rx263_pos, 1
-    substr rx263_tgt, rx263_tgt, rx263_off
-  rx263_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan266_done
-    goto rxscan266_scan
-  rxscan266_loop:
-    ($P10) = rx263_cur."from"()
-    inc $P10
-    set rx263_pos, $P10
-    ge rx263_pos, rx263_eos, rxscan266_done
-  rxscan266_scan:
-    set_addr $I10, rxscan266_loop
-    rx263_cur."!mark_push"(0, rx263_pos, $I10)
-  rxscan266_done:
+    .local string rx265_tgt
+    .local int rx265_pos
+    .local int rx265_off
+    .local int rx265_eos
+    .local int rx265_rep
+    .local pmc rx265_cur
+    (rx265_cur, rx265_pos, rx265_tgt) = self."!cursor_start"()
+    rx265_cur."!cursor_debug"("START ", "statement_control:sym<if>")
+    rx265_cur."!cursor_caparray"("else", "xblock")
+    .lex unicode:"$\x{a2}", rx265_cur
+    .local pmc match
+    .lex "$/", match
+    length rx265_eos, rx265_tgt
+    gt rx265_pos, rx265_eos, rx265_done
+    set rx265_off, 0
+    lt rx265_pos, 2, rx265_start
+    sub rx265_off, rx265_pos, 1
+    substr rx265_tgt, rx265_tgt, rx265_off
+  rx265_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan268_done
+    goto rxscan268_scan
+  rxscan268_loop:
+    ($P10) = rx265_cur."from"()
+    inc $P10
+    set rx265_pos, $P10
+    ge rx265_pos, rx265_eos, rxscan268_done
+  rxscan268_scan:
+    set_addr $I10, rxscan268_loop
+    rx265_cur."!mark_push"(0, rx265_pos, $I10)
+  rxscan268_done:
 .annotate 'line', 158
   # rx subcapture "sym"
-    set_addr $I10, rxcap_267_fail
-    rx263_cur."!mark_push"(0, rx263_pos, $I10)
+    set_addr $I10, rxcap_269_fail
+    rx265_cur."!mark_push"(0, rx265_pos, $I10)
   # rx literal  "if"
-    add $I11, rx263_pos, 2
-    gt $I11, rx263_eos, rx263_fail
-    sub $I11, rx263_pos, rx263_off
-    substr $S10, rx263_tgt, $I11, 2
-    ne $S10, "if", rx263_fail
-    add rx263_pos, 2
-    set_addr $I10, rxcap_267_fail
-    ($I12, $I11) = rx263_cur."!mark_peek"($I10)
-    rx263_cur."!cursor_pos"($I11)
-    ($P10) = rx263_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx263_pos, "")
-    rx263_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx265_pos, 2
+    gt $I11, rx265_eos, rx265_fail
+    sub $I11, rx265_pos, rx265_off
+    substr $S10, rx265_tgt, $I11, 2
+    ne $S10, "if", rx265_fail
+    add rx265_pos, 2
+    set_addr $I10, rxcap_269_fail
+    ($I12, $I11) = rx265_cur."!mark_peek"($I10)
+    rx265_cur."!cursor_pos"($I11)
+    ($P10) = rx265_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx265_pos, "")
+    rx265_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_267_done
-  rxcap_267_fail:
-    goto rx263_fail
-  rxcap_267_done:
+    goto rxcap_269_done
+  rxcap_269_fail:
+    goto rx265_fail
+  rxcap_269_done:
   # rx charclass s
-    ge rx263_pos, rx263_eos, rx263_fail
-    sub $I10, rx263_pos, rx263_off
-    is_cclass $I11, 32, rx263_tgt, $I10
-    unless $I11, rx263_fail
-    inc rx263_pos
-  # rx subrule "ws" subtype=method negate=
-    rx263_cur."!cursor_pos"(rx263_pos)
-    $P10 = rx263_cur."ws"()
-    unless $P10, rx263_fail
-    rx263_pos = $P10."pos"()
+    ge rx265_pos, rx265_eos, rx265_fail
+    sub $I10, rx265_pos, rx265_off
+    is_cclass $I11, 32, rx265_tgt, $I10
+    unless $I11, rx265_fail
+    inc rx265_pos
+  # rx subrule "ws" subtype=method negate=
+    rx265_cur."!cursor_pos"(rx265_pos)
+    $P10 = rx265_cur."ws"()
+    unless $P10, rx265_fail
+    rx265_pos = $P10."pos"()
 .annotate 'line', 159
   # rx subrule "xblock" subtype=capture negate=
-    rx263_cur."!cursor_pos"(rx263_pos)
-    $P10 = rx263_cur."xblock"()
-    unless $P10, rx263_fail
-    rx263_cur."!mark_push"(0, -1, 0, $P10)
+    rx265_cur."!cursor_pos"(rx265_pos)
+    $P10 = rx265_cur."xblock"()
+    unless $P10, rx265_fail
+    rx265_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx263_pos = $P10."pos"()
+    rx265_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx263_cur."!cursor_pos"(rx263_pos)
-    $P10 = rx263_cur."ws"()
-    unless $P10, rx263_fail
-    rx263_pos = $P10."pos"()
+    rx265_cur."!cursor_pos"(rx265_pos)
+    $P10 = rx265_cur."ws"()
+    unless $P10, rx265_fail
+    rx265_pos = $P10."pos"()
 .annotate 'line', 160
-  # rx rxquantr270 ** 0..*
-    set_addr $I274, rxquantr270_done
-    rx263_cur."!mark_push"(0, rx263_pos, $I274)
-  rxquantr270_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx263_cur."!cursor_pos"(rx263_pos)
-    $P10 = rx263_cur."ws"()
-    unless $P10, rx263_fail
-    rx263_pos = $P10."pos"()
+  # rx rxquantr272 ** 0..*
+    set_addr $I276, rxquantr272_done
+    rx265_cur."!mark_push"(0, rx265_pos, $I276)
+  rxquantr272_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx265_cur."!cursor_pos"(rx265_pos)
+    $P10 = rx265_cur."ws"()
+    unless $P10, rx265_fail
+    rx265_pos = $P10."pos"()
   # rx literal  "elsif"
-    add $I11, rx263_pos, 5
-    gt $I11, rx263_eos, rx263_fail
-    sub $I11, rx263_pos, rx263_off
-    substr $S10, rx263_tgt, $I11, 5
-    ne $S10, "elsif", rx263_fail
-    add rx263_pos, 5
+    add $I11, rx265_pos, 5
+    gt $I11, rx265_eos, rx265_fail
+    sub $I11, rx265_pos, rx265_off
+    substr $S10, rx265_tgt, $I11, 5
+    ne $S10, "elsif", rx265_fail
+    add rx265_pos, 5
   # rx charclass s
-    ge rx263_pos, rx263_eos, rx263_fail
-    sub $I10, rx263_pos, rx263_off
-    is_cclass $I11, 32, rx263_tgt, $I10
-    unless $I11, rx263_fail
-    inc rx263_pos
-  # rx subrule "ws" subtype=method negate=
-    rx263_cur."!cursor_pos"(rx263_pos)
-    $P10 = rx263_cur."ws"()
-    unless $P10, rx263_fail
-    rx263_pos = $P10."pos"()
+    ge rx265_pos, rx265_eos, rx265_fail
+    sub $I10, rx265_pos, rx265_off
+    is_cclass $I11, 32, rx265_tgt, $I10
+    unless $I11, rx265_fail
+    inc rx265_pos
+  # rx subrule "ws" subtype=method negate=
+    rx265_cur."!cursor_pos"(rx265_pos)
+    $P10 = rx265_cur."ws"()
+    unless $P10, rx265_fail
+    rx265_pos = $P10."pos"()
   # rx subrule "xblock" subtype=capture negate=
-    rx263_cur."!cursor_pos"(rx263_pos)
-    $P10 = rx263_cur."xblock"()
-    unless $P10, rx263_fail
-    rx263_cur."!mark_push"(0, -1, 0, $P10)
+    rx265_cur."!cursor_pos"(rx265_pos)
+    $P10 = rx265_cur."xblock"()
+    unless $P10, rx265_fail
+    rx265_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx263_pos = $P10."pos"()
+    rx265_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx263_cur."!cursor_pos"(rx263_pos)
-    $P10 = rx263_cur."ws"()
-    unless $P10, rx263_fail
-    rx263_pos = $P10."pos"()
-    (rx263_rep) = rx263_cur."!mark_commit"($I274)
-    rx263_cur."!mark_push"(rx263_rep, rx263_pos, $I274)
-    goto rxquantr270_loop
-  rxquantr270_done:
-  # rx subrule "ws" subtype=method negate=
-    rx263_cur."!cursor_pos"(rx263_pos)
-    $P10 = rx263_cur."ws"()
-    unless $P10, rx263_fail
-    rx263_pos = $P10."pos"()
+    rx265_cur."!cursor_pos"(rx265_pos)
+    $P10 = rx265_cur."ws"()
+    unless $P10, rx265_fail
+    rx265_pos = $P10."pos"()
+    (rx265_rep) = rx265_cur."!mark_commit"($I276)
+    rx265_cur."!mark_push"(rx265_rep, rx265_pos, $I276)
+    goto rxquantr272_loop
+  rxquantr272_done:
+  # rx subrule "ws" subtype=method negate=
+    rx265_cur."!cursor_pos"(rx265_pos)
+    $P10 = rx265_cur."ws"()
+    unless $P10, rx265_fail
+    rx265_pos = $P10."pos"()
 .annotate 'line', 161
-  # rx rxquantr276 ** 0..1
-    set_addr $I280, rxquantr276_done
-    rx263_cur."!mark_push"(0, rx263_pos, $I280)
-  rxquantr276_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx263_cur."!cursor_pos"(rx263_pos)
-    $P10 = rx263_cur."ws"()
-    unless $P10, rx263_fail
-    rx263_pos = $P10."pos"()
+  # rx rxquantr278 ** 0..1
+    set_addr $I282, rxquantr278_done
+    rx265_cur."!mark_push"(0, rx265_pos, $I282)
+  rxquantr278_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx265_cur."!cursor_pos"(rx265_pos)
+    $P10 = rx265_cur."ws"()
+    unless $P10, rx265_fail
+    rx265_pos = $P10."pos"()
   # rx literal  "else"
-    add $I11, rx263_pos, 4
-    gt $I11, rx263_eos, rx263_fail
-    sub $I11, rx263_pos, rx263_off
-    substr $S10, rx263_tgt, $I11, 4
-    ne $S10, "else", rx263_fail
-    add rx263_pos, 4
+    add $I11, rx265_pos, 4
+    gt $I11, rx265_eos, rx265_fail
+    sub $I11, rx265_pos, rx265_off
+    substr $S10, rx265_tgt, $I11, 4
+    ne $S10, "else", rx265_fail
+    add rx265_pos, 4
   # rx charclass s
-    ge rx263_pos, rx263_eos, rx263_fail
-    sub $I10, rx263_pos, rx263_off
-    is_cclass $I11, 32, rx263_tgt, $I10
-    unless $I11, rx263_fail
-    inc rx263_pos
-  # rx subrule "ws" subtype=method negate=
-    rx263_cur."!cursor_pos"(rx263_pos)
-    $P10 = rx263_cur."ws"()
-    unless $P10, rx263_fail
-    rx263_pos = $P10."pos"()
+    ge rx265_pos, rx265_eos, rx265_fail
+    sub $I10, rx265_pos, rx265_off
+    is_cclass $I11, 32, rx265_tgt, $I10
+    unless $I11, rx265_fail
+    inc rx265_pos
+  # rx subrule "ws" subtype=method negate=
+    rx265_cur."!cursor_pos"(rx265_pos)
+    $P10 = rx265_cur."ws"()
+    unless $P10, rx265_fail
+    rx265_pos = $P10."pos"()
   # rx subrule "pblock" subtype=capture negate=
-    rx263_cur."!cursor_pos"(rx263_pos)
-    $P10 = rx263_cur."pblock"()
-    unless $P10, rx263_fail
-    rx263_cur."!mark_push"(0, -1, 0, $P10)
+    rx265_cur."!cursor_pos"(rx265_pos)
+    $P10 = rx265_cur."pblock"()
+    unless $P10, rx265_fail
+    rx265_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("else")
-    rx263_pos = $P10."pos"()
+    rx265_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx263_cur."!cursor_pos"(rx263_pos)
-    $P10 = rx263_cur."ws"()
-    unless $P10, rx263_fail
-    rx263_pos = $P10."pos"()
-    (rx263_rep) = rx263_cur."!mark_commit"($I280)
-  rxquantr276_done:
-  # rx subrule "ws" subtype=method negate=
-    rx263_cur."!cursor_pos"(rx263_pos)
-    $P10 = rx263_cur."ws"()
-    unless $P10, rx263_fail
-    rx263_pos = $P10."pos"()
+    rx265_cur."!cursor_pos"(rx265_pos)
+    $P10 = rx265_cur."ws"()
+    unless $P10, rx265_fail
+    rx265_pos = $P10."pos"()
+    (rx265_rep) = rx265_cur."!mark_commit"($I282)
+  rxquantr278_done:
+  # rx subrule "ws" subtype=method negate=
+    rx265_cur."!cursor_pos"(rx265_pos)
+    $P10 = rx265_cur."ws"()
+    unless $P10, rx265_fail
+    rx265_pos = $P10."pos"()
 .annotate 'line', 157
   # rx pass
-    rx263_cur."!cursor_pass"(rx263_pos, "statement_control:sym<if>")
-    rx263_cur."!cursor_debug"("PASS  ", "statement_control:sym<if>", " at pos=", rx263_pos)
-    .return (rx263_cur)
-  rx263_fail:
+    rx265_cur."!cursor_pass"(rx265_pos, "statement_control:sym<if>")
+    rx265_cur."!cursor_debug"("PASS  ", "statement_control:sym<if>", " at pos=", rx265_pos)
+    .return (rx265_cur)
+  rx265_fail:
 .annotate 'line', 4
-    (rx263_rep, rx263_pos, $I10, $P10) = rx263_cur."!mark_fail"(0)
-    lt rx263_pos, -1, rx263_done
-    eq rx263_pos, -1, rx263_fail
+    (rx265_rep, rx265_pos, $I10, $P10) = rx265_cur."!mark_fail"(0)
+    lt rx265_pos, -1, rx265_done
+    eq rx265_pos, -1, rx265_fail
     jump $I10
-  rx263_done:
-    rx263_cur."!cursor_fail"()
-    rx263_cur."!cursor_debug"("FAIL  ", "statement_control:sym<if>")
-    .return (rx263_cur)
+  rx265_done:
+    rx265_cur."!cursor_fail"()
+    rx265_cur."!cursor_debug"("FAIL  ", "statement_control:sym<if>")
+    .return (rx265_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<if>"  :subid("63_1275600007.84296") :method
+.sub "!PREFIX__statement_control:sym<if>"  :subid("63_1275811487.95429") :method
 .annotate 'line', 4
-    new $P265, "ResizablePMCArray"
-    push $P265, "if"
-    .return ($P265)
+    new $P267, "ResizablePMCArray"
+    push $P267, "if"
+    .return ($P267)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<unless>"  :subid("64_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "statement_control:sym<unless>"  :subid("64_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .const 'Sub' $P293 = "66_1275600007.84296" 
-    capture_lex $P293
-    .local string rx283_tgt
-    .local int rx283_pos
-    .local int rx283_off
-    .local int rx283_eos
-    .local int rx283_rep
-    .local pmc rx283_cur
-    (rx283_cur, rx283_pos, rx283_tgt) = self."!cursor_start"()
-    rx283_cur."!cursor_debug"("START ", "statement_control:sym<unless>")
-    .lex unicode:"$\x{a2}", rx283_cur
+    .const 'Sub' $P295 = "66_1275811487.95429" 
+    capture_lex $P295
+    .local string rx285_tgt
+    .local int rx285_pos
+    .local int rx285_off
+    .local int rx285_eos
+    .local int rx285_rep
+    .local pmc rx285_cur
+    (rx285_cur, rx285_pos, rx285_tgt) = self."!cursor_start"()
+    rx285_cur."!cursor_debug"("START ", "statement_control:sym<unless>")
+    .lex unicode:"$\x{a2}", rx285_cur
     .local pmc match
     .lex "$/", match
-    length rx283_eos, rx283_tgt
-    gt rx283_pos, rx283_eos, rx283_done
-    set rx283_off, 0
-    lt rx283_pos, 2, rx283_start
-    sub rx283_off, rx283_pos, 1
-    substr rx283_tgt, rx283_tgt, rx283_off
-  rx283_start:
+    length rx285_eos, rx285_tgt
+    gt rx285_pos, rx285_eos, rx285_done
+    set rx285_off, 0
+    lt rx285_pos, 2, rx285_start
+    sub rx285_off, rx285_pos, 1
+    substr rx285_tgt, rx285_tgt, rx285_off
+  rx285_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan286_done
-    goto rxscan286_scan
-  rxscan286_loop:
-    ($P10) = rx283_cur."from"()
+    ne $I10, -1, rxscan288_done
+    goto rxscan288_scan
+  rxscan288_loop:
+    ($P10) = rx285_cur."from"()
     inc $P10
-    set rx283_pos, $P10
-    ge rx283_pos, rx283_eos, rxscan286_done
-  rxscan286_scan:
-    set_addr $I10, rxscan286_loop
-    rx283_cur."!mark_push"(0, rx283_pos, $I10)
-  rxscan286_done:
+    set rx285_pos, $P10
+    ge rx285_pos, rx285_eos, rxscan288_done
+  rxscan288_scan:
+    set_addr $I10, rxscan288_loop
+    rx285_cur."!mark_push"(0, rx285_pos, $I10)
+  rxscan288_done:
 .annotate 'line', 165
   # rx subcapture "sym"
-    set_addr $I10, rxcap_287_fail
-    rx283_cur."!mark_push"(0, rx283_pos, $I10)
+    set_addr $I10, rxcap_289_fail
+    rx285_cur."!mark_push"(0, rx285_pos, $I10)
   # rx literal  "unless"
-    add $I11, rx283_pos, 6
-    gt $I11, rx283_eos, rx283_fail
-    sub $I11, rx283_pos, rx283_off
-    substr $S10, rx283_tgt, $I11, 6
-    ne $S10, "unless", rx283_fail
-    add rx283_pos, 6
-    set_addr $I10, rxcap_287_fail
-    ($I12, $I11) = rx283_cur."!mark_peek"($I10)
-    rx283_cur."!cursor_pos"($I11)
-    ($P10) = rx283_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx283_pos, "")
-    rx283_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx285_pos, 6
+    gt $I11, rx285_eos, rx285_fail
+    sub $I11, rx285_pos, rx285_off
+    substr $S10, rx285_tgt, $I11, 6
+    ne $S10, "unless", rx285_fail
+    add rx285_pos, 6
+    set_addr $I10, rxcap_289_fail
+    ($I12, $I11) = rx285_cur."!mark_peek"($I10)
+    rx285_cur."!cursor_pos"($I11)
+    ($P10) = rx285_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx285_pos, "")
+    rx285_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_287_done
-  rxcap_287_fail:
-    goto rx283_fail
-  rxcap_287_done:
+    goto rxcap_289_done
+  rxcap_289_fail:
+    goto rx285_fail
+  rxcap_289_done:
   # rx charclass s
-    ge rx283_pos, rx283_eos, rx283_fail
-    sub $I10, rx283_pos, rx283_off
-    is_cclass $I11, 32, rx283_tgt, $I10
-    unless $I11, rx283_fail
-    inc rx283_pos
-  # rx subrule "ws" subtype=method negate=
-    rx283_cur."!cursor_pos"(rx283_pos)
-    $P10 = rx283_cur."ws"()
-    unless $P10, rx283_fail
-    rx283_pos = $P10."pos"()
+    ge rx285_pos, rx285_eos, rx285_fail
+    sub $I10, rx285_pos, rx285_off
+    is_cclass $I11, 32, rx285_tgt, $I10
+    unless $I11, rx285_fail
+    inc rx285_pos
+  # rx subrule "ws" subtype=method negate=
+    rx285_cur."!cursor_pos"(rx285_pos)
+    $P10 = rx285_cur."ws"()
+    unless $P10, rx285_fail
+    rx285_pos = $P10."pos"()
 .annotate 'line', 166
   # rx subrule "xblock" subtype=capture negate=
-    rx283_cur."!cursor_pos"(rx283_pos)
-    $P10 = rx283_cur."xblock"()
-    unless $P10, rx283_fail
-    rx283_cur."!mark_push"(0, -1, 0, $P10)
+    rx285_cur."!cursor_pos"(rx285_pos)
+    $P10 = rx285_cur."xblock"()
+    unless $P10, rx285_fail
+    rx285_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx283_pos = $P10."pos"()
+    rx285_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx283_cur."!cursor_pos"(rx283_pos)
-    $P10 = rx283_cur."ws"()
-    unless $P10, rx283_fail
-    rx283_pos = $P10."pos"()
-  alt290_0:
+    rx285_cur."!cursor_pos"(rx285_pos)
+    $P10 = rx285_cur."ws"()
+    unless $P10, rx285_fail
+    rx285_pos = $P10."pos"()
+  alt292_0:
 .annotate 'line', 167
-    set_addr $I10, alt290_1
-    rx283_cur."!mark_push"(0, rx283_pos, $I10)
+    set_addr $I10, alt292_1
+    rx285_cur."!mark_push"(0, rx285_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx283_cur."!cursor_pos"(rx283_pos)
-    $P10 = rx283_cur."ws"()
-    unless $P10, rx283_fail
-    rx283_pos = $P10."pos"()
+    rx285_cur."!cursor_pos"(rx285_pos)
+    $P10 = rx285_cur."ws"()
+    unless $P10, rx285_fail
+    rx285_pos = $P10."pos"()
   # rx subrule "before" subtype=zerowidth negate=1
-    rx283_cur."!cursor_pos"(rx283_pos)
-    .const 'Sub' $P293 = "66_1275600007.84296" 
-    capture_lex $P293
-    $P10 = rx283_cur."before"($P293)
-    if $P10, rx283_fail
-  # rx subrule "ws" subtype=method negate=
-    rx283_cur."!cursor_pos"(rx283_pos)
-    $P10 = rx283_cur."ws"()
-    unless $P10, rx283_fail
-    rx283_pos = $P10."pos"()
-    goto alt290_end
-  alt290_1:
-  # rx subrule "ws" subtype=method negate=
-    rx283_cur."!cursor_pos"(rx283_pos)
-    $P10 = rx283_cur."ws"()
-    unless $P10, rx283_fail
-    rx283_pos = $P10."pos"()
+    rx285_cur."!cursor_pos"(rx285_pos)
+    .const 'Sub' $P295 = "66_1275811487.95429" 
+    capture_lex $P295
+    $P10 = rx285_cur."before"($P295)
+    if $P10, rx285_fail
+  # rx subrule "ws" subtype=method negate=
+    rx285_cur."!cursor_pos"(rx285_pos)
+    $P10 = rx285_cur."ws"()
+    unless $P10, rx285_fail
+    rx285_pos = $P10."pos"()
+    goto alt292_end
+  alt292_1:
+  # rx subrule "ws" subtype=method negate=
+    rx285_cur."!cursor_pos"(rx285_pos)
+    $P10 = rx285_cur."ws"()
+    unless $P10, rx285_fail
+    rx285_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx283_cur."!cursor_pos"(rx283_pos)
-    $P10 = rx283_cur."panic"("unless does not take \"else\", please rewrite using \"if\"")
-    unless $P10, rx283_fail
-    rx283_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx283_cur."!cursor_pos"(rx283_pos)
-    $P10 = rx283_cur."ws"()
-    unless $P10, rx283_fail
-    rx283_pos = $P10."pos"()
-  alt290_end:
-  # rx subrule "ws" subtype=method negate=
-    rx283_cur."!cursor_pos"(rx283_pos)
-    $P10 = rx283_cur."ws"()
-    unless $P10, rx283_fail
-    rx283_pos = $P10."pos"()
+    rx285_cur."!cursor_pos"(rx285_pos)
+    $P10 = rx285_cur."panic"("unless does not take \"else\", please rewrite using \"if\"")
+    unless $P10, rx285_fail
+    rx285_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx285_cur."!cursor_pos"(rx285_pos)
+    $P10 = rx285_cur."ws"()
+    unless $P10, rx285_fail
+    rx285_pos = $P10."pos"()
+  alt292_end:
+  # rx subrule "ws" subtype=method negate=
+    rx285_cur."!cursor_pos"(rx285_pos)
+    $P10 = rx285_cur."ws"()
+    unless $P10, rx285_fail
+    rx285_pos = $P10."pos"()
 .annotate 'line', 164
   # rx pass
-    rx283_cur."!cursor_pass"(rx283_pos, "statement_control:sym<unless>")
-    rx283_cur."!cursor_debug"("PASS  ", "statement_control:sym<unless>", " at pos=", rx283_pos)
-    .return (rx283_cur)
-  rx283_fail:
+    rx285_cur."!cursor_pass"(rx285_pos, "statement_control:sym<unless>")
+    rx285_cur."!cursor_debug"("PASS  ", "statement_control:sym<unless>", " at pos=", rx285_pos)
+    .return (rx285_cur)
+  rx285_fail:
 .annotate 'line', 4
-    (rx283_rep, rx283_pos, $I10, $P10) = rx283_cur."!mark_fail"(0)
-    lt rx283_pos, -1, rx283_done
-    eq rx283_pos, -1, rx283_fail
+    (rx285_rep, rx285_pos, $I10, $P10) = rx285_cur."!mark_fail"(0)
+    lt rx285_pos, -1, rx285_done
+    eq rx285_pos, -1, rx285_fail
     jump $I10
-  rx283_done:
-    rx283_cur."!cursor_fail"()
-    rx283_cur."!cursor_debug"("FAIL  ", "statement_control:sym<unless>")
-    .return (rx283_cur)
+  rx285_done:
+    rx285_cur."!cursor_fail"()
+    rx285_cur."!cursor_debug"("FAIL  ", "statement_control:sym<unless>")
+    .return (rx285_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<unless>"  :subid("65_1275600007.84296") :method
+.sub "!PREFIX__statement_control:sym<unless>"  :subid("65_1275811487.95429") :method
 .annotate 'line', 4
-    new $P285, "ResizablePMCArray"
-    push $P285, "unless"
-    .return ($P285)
+    new $P287, "ResizablePMCArray"
+    push $P287, "unless"
+    .return ($P287)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block292"  :anon :subid("66_1275600007.84296") :method :outer("64_1275600007.84296")
+.sub "_block294"  :anon :subid("66_1275811487.95429") :method :outer("64_1275811487.95429")
 .annotate 'line', 167
-    .local string rx294_tgt
-    .local int rx294_pos
-    .local int rx294_off
-    .local int rx294_eos
-    .local int rx294_rep
-    .local pmc rx294_cur
-    (rx294_cur, rx294_pos, rx294_tgt) = self."!cursor_start"()
-    rx294_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx294_cur
-    .local pmc match
-    .lex "$/", match
-    length rx294_eos, rx294_tgt
-    gt rx294_pos, rx294_eos, rx294_done
-    set rx294_off, 0
-    lt rx294_pos, 2, rx294_start
-    sub rx294_off, rx294_pos, 1
-    substr rx294_tgt, rx294_tgt, rx294_off
-  rx294_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan295_done
-    goto rxscan295_scan
-  rxscan295_loop:
-    ($P10) = rx294_cur."from"()
-    inc $P10
-    set rx294_pos, $P10
-    ge rx294_pos, rx294_eos, rxscan295_done
-  rxscan295_scan:
-    set_addr $I10, rxscan295_loop
-    rx294_cur."!mark_push"(0, rx294_pos, $I10)
-  rxscan295_done:
+    .local string rx296_tgt
+    .local int rx296_pos
+    .local int rx296_off
+    .local int rx296_eos
+    .local int rx296_rep
+    .local pmc rx296_cur
+    (rx296_cur, rx296_pos, rx296_tgt) = self."!cursor_start"()
+    rx296_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx296_cur
+    .local pmc match
+    .lex "$/", match
+    length rx296_eos, rx296_tgt
+    gt rx296_pos, rx296_eos, rx296_done
+    set rx296_off, 0
+    lt rx296_pos, 2, rx296_start
+    sub rx296_off, rx296_pos, 1
+    substr rx296_tgt, rx296_tgt, rx296_off
+  rx296_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan297_done
+    goto rxscan297_scan
+  rxscan297_loop:
+    ($P10) = rx296_cur."from"()
+    inc $P10
+    set rx296_pos, $P10
+    ge rx296_pos, rx296_eos, rxscan297_done
+  rxscan297_scan:
+    set_addr $I10, rxscan297_loop
+    rx296_cur."!mark_push"(0, rx296_pos, $I10)
+  rxscan297_done:
   # rx literal  "else"
-    add $I11, rx294_pos, 4
-    gt $I11, rx294_eos, rx294_fail
-    sub $I11, rx294_pos, rx294_off
-    substr $S10, rx294_tgt, $I11, 4
-    ne $S10, "else", rx294_fail
-    add rx294_pos, 4
-  # rx pass
-    rx294_cur."!cursor_pass"(rx294_pos, "")
-    rx294_cur."!cursor_debug"("PASS  ", "", " at pos=", rx294_pos)
-    .return (rx294_cur)
-  rx294_fail:
-    (rx294_rep, rx294_pos, $I10, $P10) = rx294_cur."!mark_fail"(0)
-    lt rx294_pos, -1, rx294_done
-    eq rx294_pos, -1, rx294_fail
-    jump $I10
-  rx294_done:
-    rx294_cur."!cursor_fail"()
-    rx294_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx294_cur)
+    add $I11, rx296_pos, 4
+    gt $I11, rx296_eos, rx296_fail
+    sub $I11, rx296_pos, rx296_off
+    substr $S10, rx296_tgt, $I11, 4
+    ne $S10, "else", rx296_fail
+    add rx296_pos, 4
+  # rx pass
+    rx296_cur."!cursor_pass"(rx296_pos, "")
+    rx296_cur."!cursor_debug"("PASS  ", "", " at pos=", rx296_pos)
+    .return (rx296_cur)
+  rx296_fail:
+    (rx296_rep, rx296_pos, $I10, $P10) = rx296_cur."!mark_fail"(0)
+    lt rx296_pos, -1, rx296_done
+    eq rx296_pos, -1, rx296_fail
+    jump $I10
+  rx296_done:
+    rx296_cur."!cursor_fail"()
+    rx296_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx296_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<while>"  :subid("67_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 4
-    .local string rx301_tgt
-    .local int rx301_pos
-    .local int rx301_off
-    .local int rx301_eos
-    .local int rx301_rep
-    .local pmc rx301_cur
-    (rx301_cur, rx301_pos, rx301_tgt) = self."!cursor_start"()
-    rx301_cur."!cursor_debug"("START ", "statement_control:sym<while>")
-    .lex unicode:"$\x{a2}", rx301_cur
-    .local pmc match
-    .lex "$/", match
-    length rx301_eos, rx301_tgt
-    gt rx301_pos, rx301_eos, rx301_done
-    set rx301_off, 0
-    lt rx301_pos, 2, rx301_start
-    sub rx301_off, rx301_pos, 1
-    substr rx301_tgt, rx301_tgt, rx301_off
-  rx301_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan304_done
-    goto rxscan304_scan
-  rxscan304_loop:
-    ($P10) = rx301_cur."from"()
-    inc $P10
-    set rx301_pos, $P10
-    ge rx301_pos, rx301_eos, rxscan304_done
-  rxscan304_scan:
-    set_addr $I10, rxscan304_loop
-    rx301_cur."!mark_push"(0, rx301_pos, $I10)
-  rxscan304_done:
+.sub "statement_control:sym<while>"  :subid("67_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 4
+    .local string rx303_tgt
+    .local int rx303_pos
+    .local int rx303_off
+    .local int rx303_eos
+    .local int rx303_rep
+    .local pmc rx303_cur
+    (rx303_cur, rx303_pos, rx303_tgt) = self."!cursor_start"()
+    rx303_cur."!cursor_debug"("START ", "statement_control:sym<while>")
+    .lex unicode:"$\x{a2}", rx303_cur
+    .local pmc match
+    .lex "$/", match
+    length rx303_eos, rx303_tgt
+    gt rx303_pos, rx303_eos, rx303_done
+    set rx303_off, 0
+    lt rx303_pos, 2, rx303_start
+    sub rx303_off, rx303_pos, 1
+    substr rx303_tgt, rx303_tgt, rx303_off
+  rx303_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan306_done
+    goto rxscan306_scan
+  rxscan306_loop:
+    ($P10) = rx303_cur."from"()
+    inc $P10
+    set rx303_pos, $P10
+    ge rx303_pos, rx303_eos, rxscan306_done
+  rxscan306_scan:
+    set_addr $I10, rxscan306_loop
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
+  rxscan306_done:
 .annotate 'line', 171
   # rx subcapture "sym"
-    set_addr $I10, rxcap_306_fail
-    rx301_cur."!mark_push"(0, rx301_pos, $I10)
-  alt305_0:
-    set_addr $I10, alt305_1
-    rx301_cur."!mark_push"(0, rx301_pos, $I10)
+    set_addr $I10, rxcap_308_fail
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
+  alt307_0:
+    set_addr $I10, alt307_1
+    rx303_cur."!mark_push"(0, rx303_pos, $I10)
   # rx literal  "while"
-    add $I11, rx301_pos, 5
-    gt $I11, rx301_eos, rx301_fail
-    sub $I11, rx301_pos, rx301_off
-    substr $S10, rx301_tgt, $I11, 5
-    ne $S10, "while", rx301_fail
-    add rx301_pos, 5
-    goto alt305_end
-  alt305_1:
+    add $I11, rx303_pos, 5
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 5
+    ne $S10, "while", rx303_fail
+    add rx303_pos, 5
+    goto alt307_end
+  alt307_1:
   # rx literal  "until"
-    add $I11, rx301_pos, 5
-    gt $I11, rx301_eos, rx301_fail
-    sub $I11, rx301_pos, rx301_off
-    substr $S10, rx301_tgt, $I11, 5
-    ne $S10, "until", rx301_fail
-    add rx301_pos, 5
-  alt305_end:
-    set_addr $I10, rxcap_306_fail
-    ($I12, $I11) = rx301_cur."!mark_peek"($I10)
-    rx301_cur."!cursor_pos"($I11)
-    ($P10) = rx301_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx301_pos, "")
-    rx301_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx303_pos, 5
+    gt $I11, rx303_eos, rx303_fail
+    sub $I11, rx303_pos, rx303_off
+    substr $S10, rx303_tgt, $I11, 5
+    ne $S10, "until", rx303_fail
+    add rx303_pos, 5
+  alt307_end:
+    set_addr $I10, rxcap_308_fail
+    ($I12, $I11) = rx303_cur."!mark_peek"($I10)
+    rx303_cur."!cursor_pos"($I11)
+    ($P10) = rx303_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx303_pos, "")
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_306_done
-  rxcap_306_fail:
-    goto rx301_fail
-  rxcap_306_done:
+    goto rxcap_308_done
+  rxcap_308_fail:
+    goto rx303_fail
+  rxcap_308_done:
   # rx charclass s
-    ge rx301_pos, rx301_eos, rx301_fail
-    sub $I10, rx301_pos, rx301_off
-    is_cclass $I11, 32, rx301_tgt, $I10
-    unless $I11, rx301_fail
-    inc rx301_pos
-  # rx subrule "ws" subtype=method negate=
-    rx301_cur."!cursor_pos"(rx301_pos)
-    $P10 = rx301_cur."ws"()
-    unless $P10, rx301_fail
-    rx301_pos = $P10."pos"()
+    ge rx303_pos, rx303_eos, rx303_fail
+    sub $I10, rx303_pos, rx303_off
+    is_cclass $I11, 32, rx303_tgt, $I10
+    unless $I11, rx303_fail
+    inc rx303_pos
+  # rx subrule "ws" subtype=method negate=
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
 .annotate 'line', 172
   # rx subrule "xblock" subtype=capture negate=
-    rx301_cur."!cursor_pos"(rx301_pos)
-    $P10 = rx301_cur."xblock"()
-    unless $P10, rx301_fail
-    rx301_cur."!mark_push"(0, -1, 0, $P10)
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."xblock"()
+    unless $P10, rx303_fail
+    rx303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx301_pos = $P10."pos"()
+    rx303_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx301_cur."!cursor_pos"(rx301_pos)
-    $P10 = rx301_cur."ws"()
-    unless $P10, rx301_fail
-    rx301_pos = $P10."pos"()
+    rx303_cur."!cursor_pos"(rx303_pos)
+    $P10 = rx303_cur."ws"()
+    unless $P10, rx303_fail
+    rx303_pos = $P10."pos"()
 .annotate 'line', 170
   # rx pass
-    rx301_cur."!cursor_pass"(rx301_pos, "statement_control:sym<while>")
-    rx301_cur."!cursor_debug"("PASS  ", "statement_control:sym<while>", " at pos=", rx301_pos)
-    .return (rx301_cur)
-  rx301_fail:
+    rx303_cur."!cursor_pass"(rx303_pos, "statement_control:sym<while>")
+    rx303_cur."!cursor_debug"("PASS  ", "statement_control:sym<while>", " at pos=", rx303_pos)
+    .return (rx303_cur)
+  rx303_fail:
 .annotate 'line', 4
-    (rx301_rep, rx301_pos, $I10, $P10) = rx301_cur."!mark_fail"(0)
-    lt rx301_pos, -1, rx301_done
-    eq rx301_pos, -1, rx301_fail
+    (rx303_rep, rx303_pos, $I10, $P10) = rx303_cur."!mark_fail"(0)
+    lt rx303_pos, -1, rx303_done
+    eq rx303_pos, -1, rx303_fail
     jump $I10
-  rx301_done:
-    rx301_cur."!cursor_fail"()
-    rx301_cur."!cursor_debug"("FAIL  ", "statement_control:sym<while>")
-    .return (rx301_cur)
+  rx303_done:
+    rx303_cur."!cursor_fail"()
+    rx303_cur."!cursor_debug"("FAIL  ", "statement_control:sym<while>")
+    .return (rx303_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<while>"  :subid("68_1275600007.84296") :method
+.sub "!PREFIX__statement_control:sym<while>"  :subid("68_1275811487.95429") :method
 .annotate 'line', 4
-    new $P303, "ResizablePMCArray"
-    push $P303, "until"
-    push $P303, "while"
-    .return ($P303)
+    new $P305, "ResizablePMCArray"
+    push $P305, "until"
+    push $P305, "while"
+    .return ($P305)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<repeat>"  :subid("69_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "statement_control:sym<repeat>"  :subid("69_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx310_tgt
-    .local int rx310_pos
-    .local int rx310_off
-    .local int rx310_eos
-    .local int rx310_rep
-    .local pmc rx310_cur
-    (rx310_cur, rx310_pos, rx310_tgt) = self."!cursor_start"()
-    rx310_cur."!cursor_debug"("START ", "statement_control:sym<repeat>")
-    .lex unicode:"$\x{a2}", rx310_cur
+    .local string rx312_tgt
+    .local int rx312_pos
+    .local int rx312_off
+    .local int rx312_eos
+    .local int rx312_rep
+    .local pmc rx312_cur
+    (rx312_cur, rx312_pos, rx312_tgt) = self."!cursor_start"()
+    rx312_cur."!cursor_debug"("START ", "statement_control:sym<repeat>")
+    .lex unicode:"$\x{a2}", rx312_cur
     .local pmc match
     .lex "$/", match
-    length rx310_eos, rx310_tgt
-    gt rx310_pos, rx310_eos, rx310_done
-    set rx310_off, 0
-    lt rx310_pos, 2, rx310_start
-    sub rx310_off, rx310_pos, 1
-    substr rx310_tgt, rx310_tgt, rx310_off
-  rx310_start:
+    length rx312_eos, rx312_tgt
+    gt rx312_pos, rx312_eos, rx312_done
+    set rx312_off, 0
+    lt rx312_pos, 2, rx312_start
+    sub rx312_off, rx312_pos, 1
+    substr rx312_tgt, rx312_tgt, rx312_off
+  rx312_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan313_done
-    goto rxscan313_scan
-  rxscan313_loop:
-    ($P10) = rx310_cur."from"()
+    ne $I10, -1, rxscan315_done
+    goto rxscan315_scan
+  rxscan315_loop:
+    ($P10) = rx312_cur."from"()
     inc $P10
-    set rx310_pos, $P10
-    ge rx310_pos, rx310_eos, rxscan313_done
-  rxscan313_scan:
-    set_addr $I10, rxscan313_loop
-    rx310_cur."!mark_push"(0, rx310_pos, $I10)
-  rxscan313_done:
+    set rx312_pos, $P10
+    ge rx312_pos, rx312_eos, rxscan315_done
+  rxscan315_scan:
+    set_addr $I10, rxscan315_loop
+    rx312_cur."!mark_push"(0, rx312_pos, $I10)
+  rxscan315_done:
 .annotate 'line', 176
   # rx subcapture "sym"
-    set_addr $I10, rxcap_314_fail
-    rx310_cur."!mark_push"(0, rx310_pos, $I10)
+    set_addr $I10, rxcap_316_fail
+    rx312_cur."!mark_push"(0, rx312_pos, $I10)
   # rx literal  "repeat"
-    add $I11, rx310_pos, 6
-    gt $I11, rx310_eos, rx310_fail
-    sub $I11, rx310_pos, rx310_off
-    substr $S10, rx310_tgt, $I11, 6
-    ne $S10, "repeat", rx310_fail
-    add rx310_pos, 6
-    set_addr $I10, rxcap_314_fail
-    ($I12, $I11) = rx310_cur."!mark_peek"($I10)
-    rx310_cur."!cursor_pos"($I11)
-    ($P10) = rx310_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx310_pos, "")
-    rx310_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx312_pos, 6
+    gt $I11, rx312_eos, rx312_fail
+    sub $I11, rx312_pos, rx312_off
+    substr $S10, rx312_tgt, $I11, 6
+    ne $S10, "repeat", rx312_fail
+    add rx312_pos, 6
+    set_addr $I10, rxcap_316_fail
+    ($I12, $I11) = rx312_cur."!mark_peek"($I10)
+    rx312_cur."!cursor_pos"($I11)
+    ($P10) = rx312_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx312_pos, "")
+    rx312_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_314_done
-  rxcap_314_fail:
-    goto rx310_fail
-  rxcap_314_done:
+    goto rxcap_316_done
+  rxcap_316_fail:
+    goto rx312_fail
+  rxcap_316_done:
   # rx charclass s
-    ge rx310_pos, rx310_eos, rx310_fail
-    sub $I10, rx310_pos, rx310_off
-    is_cclass $I11, 32, rx310_tgt, $I10
-    unless $I11, rx310_fail
-    inc rx310_pos
-  # rx subrule "ws" subtype=method negate=
-    rx310_cur."!cursor_pos"(rx310_pos)
-    $P10 = rx310_cur."ws"()
-    unless $P10, rx310_fail
-    rx310_pos = $P10."pos"()
-  alt316_0:
+    ge rx312_pos, rx312_eos, rx312_fail
+    sub $I10, rx312_pos, rx312_off
+    is_cclass $I11, 32, rx312_tgt, $I10
+    unless $I11, rx312_fail
+    inc rx312_pos
+  # rx subrule "ws" subtype=method negate=
+    rx312_cur."!cursor_pos"(rx312_pos)
+    $P10 = rx312_cur."ws"()
+    unless $P10, rx312_fail
+    rx312_pos = $P10."pos"()
+  alt318_0:
 .annotate 'line', 177
-    set_addr $I10, alt316_1
-    rx310_cur."!mark_push"(0, rx310_pos, $I10)
+    set_addr $I10, alt318_1
+    rx312_cur."!mark_push"(0, rx312_pos, $I10)
 .annotate 'line', 178
   # rx subrule "ws" subtype=method negate=
-    rx310_cur."!cursor_pos"(rx310_pos)
-    $P10 = rx310_cur."ws"()
-    unless $P10, rx310_fail
-    rx310_pos = $P10."pos"()
+    rx312_cur."!cursor_pos"(rx312_pos)
+    $P10 = rx312_cur."ws"()
+    unless $P10, rx312_fail
+    rx312_pos = $P10."pos"()
   # rx subcapture "wu"
-    set_addr $I10, rxcap_319_fail
-    rx310_cur."!mark_push"(0, rx310_pos, $I10)
-  alt318_0:
-    set_addr $I10, alt318_1
-    rx310_cur."!mark_push"(0, rx310_pos, $I10)
+    set_addr $I10, rxcap_321_fail
+    rx312_cur."!mark_push"(0, rx312_pos, $I10)
+  alt320_0:
+    set_addr $I10, alt320_1
+    rx312_cur."!mark_push"(0, rx312_pos, $I10)
   # rx literal  "while"
-    add $I11, rx310_pos, 5
-    gt $I11, rx310_eos, rx310_fail
-    sub $I11, rx310_pos, rx310_off
-    substr $S10, rx310_tgt, $I11, 5
-    ne $S10, "while", rx310_fail
-    add rx310_pos, 5
-    goto alt318_end
-  alt318_1:
+    add $I11, rx312_pos, 5
+    gt $I11, rx312_eos, rx312_fail
+    sub $I11, rx312_pos, rx312_off
+    substr $S10, rx312_tgt, $I11, 5
+    ne $S10, "while", rx312_fail
+    add rx312_pos, 5
+    goto alt320_end
+  alt320_1:
   # rx literal  "until"
-    add $I11, rx310_pos, 5
-    gt $I11, rx310_eos, rx310_fail
-    sub $I11, rx310_pos, rx310_off
-    substr $S10, rx310_tgt, $I11, 5
-    ne $S10, "until", rx310_fail
-    add rx310_pos, 5
-  alt318_end:
-    set_addr $I10, rxcap_319_fail
-    ($I12, $I11) = rx310_cur."!mark_peek"($I10)
-    rx310_cur."!cursor_pos"($I11)
-    ($P10) = rx310_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx310_pos, "")
-    rx310_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx312_pos, 5
+    gt $I11, rx312_eos, rx312_fail
+    sub $I11, rx312_pos, rx312_off
+    substr $S10, rx312_tgt, $I11, 5
+    ne $S10, "until", rx312_fail
+    add rx312_pos, 5
+  alt320_end:
+    set_addr $I10, rxcap_321_fail
+    ($I12, $I11) = rx312_cur."!mark_peek"($I10)
+    rx312_cur."!cursor_pos"($I11)
+    ($P10) = rx312_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx312_pos, "")
+    rx312_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("wu")
-    goto rxcap_319_done
-  rxcap_319_fail:
-    goto rx310_fail
-  rxcap_319_done:
+    goto rxcap_321_done
+  rxcap_321_fail:
+    goto rx312_fail
+  rxcap_321_done:
   # rx charclass s
-    ge rx310_pos, rx310_eos, rx310_fail
-    sub $I10, rx310_pos, rx310_off
-    is_cclass $I11, 32, rx310_tgt, $I10
-    unless $I11, rx310_fail
-    inc rx310_pos
-  # rx subrule "ws" subtype=method negate=
-    rx310_cur."!cursor_pos"(rx310_pos)
-    $P10 = rx310_cur."ws"()
-    unless $P10, rx310_fail
-    rx310_pos = $P10."pos"()
+    ge rx312_pos, rx312_eos, rx312_fail
+    sub $I10, rx312_pos, rx312_off
+    is_cclass $I11, 32, rx312_tgt, $I10
+    unless $I11, rx312_fail
+    inc rx312_pos
+  # rx subrule "ws" subtype=method negate=
+    rx312_cur."!cursor_pos"(rx312_pos)
+    $P10 = rx312_cur."ws"()
+    unless $P10, rx312_fail
+    rx312_pos = $P10."pos"()
   # rx subrule "xblock" subtype=capture negate=
-    rx310_cur."!cursor_pos"(rx310_pos)
-    $P10 = rx310_cur."xblock"()
-    unless $P10, rx310_fail
-    rx310_cur."!mark_push"(0, -1, 0, $P10)
+    rx312_cur."!cursor_pos"(rx312_pos)
+    $P10 = rx312_cur."xblock"()
+    unless $P10, rx312_fail
+    rx312_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx310_pos = $P10."pos"()
+    rx312_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx310_cur."!cursor_pos"(rx310_pos)
-    $P10 = rx310_cur."ws"()
-    unless $P10, rx310_fail
-    rx310_pos = $P10."pos"()
-    goto alt316_end
-  alt316_1:
+    rx312_cur."!cursor_pos"(rx312_pos)
+    $P10 = rx312_cur."ws"()
+    unless $P10, rx312_fail
+    rx312_pos = $P10."pos"()
+    goto alt318_end
+  alt318_1:
 .annotate 'line', 179
   # rx subrule "ws" subtype=method negate=
-    rx310_cur."!cursor_pos"(rx310_pos)
-    $P10 = rx310_cur."ws"()
-    unless $P10, rx310_fail
-    rx310_pos = $P10."pos"()
+    rx312_cur."!cursor_pos"(rx312_pos)
+    $P10 = rx312_cur."ws"()
+    unless $P10, rx312_fail
+    rx312_pos = $P10."pos"()
   # rx subrule "pblock" subtype=capture negate=
-    rx310_cur."!cursor_pos"(rx310_pos)
-    $P10 = rx310_cur."pblock"()
-    unless $P10, rx310_fail
-    rx310_cur."!mark_push"(0, -1, 0, $P10)
+    rx312_cur."!cursor_pos"(rx312_pos)
+    $P10 = rx312_cur."pblock"()
+    unless $P10, rx312_fail
+    rx312_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pblock")
-    rx310_pos = $P10."pos"()
+    rx312_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx310_cur."!cursor_pos"(rx310_pos)
-    $P10 = rx310_cur."ws"()
-    unless $P10, rx310_fail
-    rx310_pos = $P10."pos"()
+    rx312_cur."!cursor_pos"(rx312_pos)
+    $P10 = rx312_cur."ws"()
+    unless $P10, rx312_fail
+    rx312_pos = $P10."pos"()
   # rx subcapture "wu"
-    set_addr $I10, rxcap_325_fail
-    rx310_cur."!mark_push"(0, rx310_pos, $I10)
-  alt324_0:
-    set_addr $I10, alt324_1
-    rx310_cur."!mark_push"(0, rx310_pos, $I10)
+    set_addr $I10, rxcap_327_fail
+    rx312_cur."!mark_push"(0, rx312_pos, $I10)
+  alt326_0:
+    set_addr $I10, alt326_1
+    rx312_cur."!mark_push"(0, rx312_pos, $I10)
   # rx literal  "while"
-    add $I11, rx310_pos, 5
-    gt $I11, rx310_eos, rx310_fail
-    sub $I11, rx310_pos, rx310_off
-    substr $S10, rx310_tgt, $I11, 5
-    ne $S10, "while", rx310_fail
-    add rx310_pos, 5
-    goto alt324_end
-  alt324_1:
+    add $I11, rx312_pos, 5
+    gt $I11, rx312_eos, rx312_fail
+    sub $I11, rx312_pos, rx312_off
+    substr $S10, rx312_tgt, $I11, 5
+    ne $S10, "while", rx312_fail
+    add rx312_pos, 5
+    goto alt326_end
+  alt326_1:
   # rx literal  "until"
-    add $I11, rx310_pos, 5
-    gt $I11, rx310_eos, rx310_fail
-    sub $I11, rx310_pos, rx310_off
-    substr $S10, rx310_tgt, $I11, 5
-    ne $S10, "until", rx310_fail
-    add rx310_pos, 5
-  alt324_end:
-    set_addr $I10, rxcap_325_fail
-    ($I12, $I11) = rx310_cur."!mark_peek"($I10)
-    rx310_cur."!cursor_pos"($I11)
-    ($P10) = rx310_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx310_pos, "")
-    rx310_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx312_pos, 5
+    gt $I11, rx312_eos, rx312_fail
+    sub $I11, rx312_pos, rx312_off
+    substr $S10, rx312_tgt, $I11, 5
+    ne $S10, "until", rx312_fail
+    add rx312_pos, 5
+  alt326_end:
+    set_addr $I10, rxcap_327_fail
+    ($I12, $I11) = rx312_cur."!mark_peek"($I10)
+    rx312_cur."!cursor_pos"($I11)
+    ($P10) = rx312_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx312_pos, "")
+    rx312_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("wu")
-    goto rxcap_325_done
-  rxcap_325_fail:
-    goto rx310_fail
-  rxcap_325_done:
+    goto rxcap_327_done
+  rxcap_327_fail:
+    goto rx312_fail
+  rxcap_327_done:
   # rx charclass s
-    ge rx310_pos, rx310_eos, rx310_fail
-    sub $I10, rx310_pos, rx310_off
-    is_cclass $I11, 32, rx310_tgt, $I10
-    unless $I11, rx310_fail
-    inc rx310_pos
-  # rx subrule "ws" subtype=method negate=
-    rx310_cur."!cursor_pos"(rx310_pos)
-    $P10 = rx310_cur."ws"()
-    unless $P10, rx310_fail
-    rx310_pos = $P10."pos"()
+    ge rx312_pos, rx312_eos, rx312_fail
+    sub $I10, rx312_pos, rx312_off
+    is_cclass $I11, 32, rx312_tgt, $I10
+    unless $I11, rx312_fail
+    inc rx312_pos
+  # rx subrule "ws" subtype=method negate=
+    rx312_cur."!cursor_pos"(rx312_pos)
+    $P10 = rx312_cur."ws"()
+    unless $P10, rx312_fail
+    rx312_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx310_cur."!cursor_pos"(rx310_pos)
-    $P10 = rx310_cur."EXPR"()
-    unless $P10, rx310_fail
-    rx310_cur."!mark_push"(0, -1, 0, $P10)
+    rx312_cur."!cursor_pos"(rx312_pos)
+    $P10 = rx312_cur."EXPR"()
+    unless $P10, rx312_fail
+    rx312_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx310_pos = $P10."pos"()
+    rx312_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx310_cur."!cursor_pos"(rx310_pos)
-    $P10 = rx310_cur."ws"()
-    unless $P10, rx310_fail
-    rx310_pos = $P10."pos"()
-  alt316_end:
+    rx312_cur."!cursor_pos"(rx312_pos)
+    $P10 = rx312_cur."ws"()
+    unless $P10, rx312_fail
+    rx312_pos = $P10."pos"()
+  alt318_end:
 .annotate 'line', 180
   # rx subrule "ws" subtype=method negate=
-    rx310_cur."!cursor_pos"(rx310_pos)
-    $P10 = rx310_cur."ws"()
-    unless $P10, rx310_fail
-    rx310_pos = $P10."pos"()
+    rx312_cur."!cursor_pos"(rx312_pos)
+    $P10 = rx312_cur."ws"()
+    unless $P10, rx312_fail
+    rx312_pos = $P10."pos"()
 .annotate 'line', 175
   # rx pass
-    rx310_cur."!cursor_pass"(rx310_pos, "statement_control:sym<repeat>")
-    rx310_cur."!cursor_debug"("PASS  ", "statement_control:sym<repeat>", " at pos=", rx310_pos)
-    .return (rx310_cur)
-  rx310_fail:
+    rx312_cur."!cursor_pass"(rx312_pos, "statement_control:sym<repeat>")
+    rx312_cur."!cursor_debug"("PASS  ", "statement_control:sym<repeat>", " at pos=", rx312_pos)
+    .return (rx312_cur)
+  rx312_fail:
 .annotate 'line', 4
-    (rx310_rep, rx310_pos, $I10, $P10) = rx310_cur."!mark_fail"(0)
-    lt rx310_pos, -1, rx310_done
-    eq rx310_pos, -1, rx310_fail
+    (rx312_rep, rx312_pos, $I10, $P10) = rx312_cur."!mark_fail"(0)
+    lt rx312_pos, -1, rx312_done
+    eq rx312_pos, -1, rx312_fail
     jump $I10
-  rx310_done:
-    rx310_cur."!cursor_fail"()
-    rx310_cur."!cursor_debug"("FAIL  ", "statement_control:sym<repeat>")
-    .return (rx310_cur)
+  rx312_done:
+    rx312_cur."!cursor_fail"()
+    rx312_cur."!cursor_debug"("FAIL  ", "statement_control:sym<repeat>")
+    .return (rx312_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<repeat>"  :subid("70_1275600007.84296") :method
+.sub "!PREFIX__statement_control:sym<repeat>"  :subid("70_1275811487.95429") :method
 .annotate 'line', 4
-    new $P312, "ResizablePMCArray"
-    push $P312, "repeat"
-    .return ($P312)
+    new $P314, "ResizablePMCArray"
+    push $P314, "repeat"
+    .return ($P314)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<for>"  :subid("71_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "statement_control:sym<for>"  :subid("71_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx330_tgt
-    .local int rx330_pos
-    .local int rx330_off
-    .local int rx330_eos
-    .local int rx330_rep
-    .local pmc rx330_cur
-    (rx330_cur, rx330_pos, rx330_tgt) = self."!cursor_start"()
-    rx330_cur."!cursor_debug"("START ", "statement_control:sym<for>")
-    .lex unicode:"$\x{a2}", rx330_cur
+    .local string rx332_tgt
+    .local int rx332_pos
+    .local int rx332_off
+    .local int rx332_eos
+    .local int rx332_rep
+    .local pmc rx332_cur
+    (rx332_cur, rx332_pos, rx332_tgt) = self."!cursor_start"()
+    rx332_cur."!cursor_debug"("START ", "statement_control:sym<for>")
+    .lex unicode:"$\x{a2}", rx332_cur
     .local pmc match
     .lex "$/", match
-    length rx330_eos, rx330_tgt
-    gt rx330_pos, rx330_eos, rx330_done
-    set rx330_off, 0
-    lt rx330_pos, 2, rx330_start
-    sub rx330_off, rx330_pos, 1
-    substr rx330_tgt, rx330_tgt, rx330_off
-  rx330_start:
+    length rx332_eos, rx332_tgt
+    gt rx332_pos, rx332_eos, rx332_done
+    set rx332_off, 0
+    lt rx332_pos, 2, rx332_start
+    sub rx332_off, rx332_pos, 1
+    substr rx332_tgt, rx332_tgt, rx332_off
+  rx332_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan333_done
-    goto rxscan333_scan
-  rxscan333_loop:
-    ($P10) = rx330_cur."from"()
+    ne $I10, -1, rxscan335_done
+    goto rxscan335_scan
+  rxscan335_loop:
+    ($P10) = rx332_cur."from"()
     inc $P10
-    set rx330_pos, $P10
-    ge rx330_pos, rx330_eos, rxscan333_done
-  rxscan333_scan:
-    set_addr $I10, rxscan333_loop
-    rx330_cur."!mark_push"(0, rx330_pos, $I10)
-  rxscan333_done:
+    set rx332_pos, $P10
+    ge rx332_pos, rx332_eos, rxscan335_done
+  rxscan335_scan:
+    set_addr $I10, rxscan335_loop
+    rx332_cur."!mark_push"(0, rx332_pos, $I10)
+  rxscan335_done:
 .annotate 'line', 184
   # rx subcapture "sym"
-    set_addr $I10, rxcap_334_fail
-    rx330_cur."!mark_push"(0, rx330_pos, $I10)
+    set_addr $I10, rxcap_336_fail
+    rx332_cur."!mark_push"(0, rx332_pos, $I10)
   # rx literal  "for"
-    add $I11, rx330_pos, 3
-    gt $I11, rx330_eos, rx330_fail
-    sub $I11, rx330_pos, rx330_off
-    substr $S10, rx330_tgt, $I11, 3
-    ne $S10, "for", rx330_fail
-    add rx330_pos, 3
-    set_addr $I10, rxcap_334_fail
-    ($I12, $I11) = rx330_cur."!mark_peek"($I10)
-    rx330_cur."!cursor_pos"($I11)
-    ($P10) = rx330_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx330_pos, "")
-    rx330_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx332_pos, 3
+    gt $I11, rx332_eos, rx332_fail
+    sub $I11, rx332_pos, rx332_off
+    substr $S10, rx332_tgt, $I11, 3
+    ne $S10, "for", rx332_fail
+    add rx332_pos, 3
+    set_addr $I10, rxcap_336_fail
+    ($I12, $I11) = rx332_cur."!mark_peek"($I10)
+    rx332_cur."!cursor_pos"($I11)
+    ($P10) = rx332_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx332_pos, "")
+    rx332_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_334_done
-  rxcap_334_fail:
-    goto rx330_fail
-  rxcap_334_done:
+    goto rxcap_336_done
+  rxcap_336_fail:
+    goto rx332_fail
+  rxcap_336_done:
   # rx charclass s
-    ge rx330_pos, rx330_eos, rx330_fail
-    sub $I10, rx330_pos, rx330_off
-    is_cclass $I11, 32, rx330_tgt, $I10
-    unless $I11, rx330_fail
-    inc rx330_pos
-  # rx subrule "ws" subtype=method negate=
-    rx330_cur."!cursor_pos"(rx330_pos)
-    $P10 = rx330_cur."ws"()
-    unless $P10, rx330_fail
-    rx330_pos = $P10."pos"()
+    ge rx332_pos, rx332_eos, rx332_fail
+    sub $I10, rx332_pos, rx332_off
+    is_cclass $I11, 32, rx332_tgt, $I10
+    unless $I11, rx332_fail
+    inc rx332_pos
+  # rx subrule "ws" subtype=method negate=
+    rx332_cur."!cursor_pos"(rx332_pos)
+    $P10 = rx332_cur."ws"()
+    unless $P10, rx332_fail
+    rx332_pos = $P10."pos"()
 .annotate 'line', 185
   # rx subrule "xblock" subtype=capture negate=
-    rx330_cur."!cursor_pos"(rx330_pos)
-    $P10 = rx330_cur."xblock"()
-    unless $P10, rx330_fail
-    rx330_cur."!mark_push"(0, -1, 0, $P10)
+    rx332_cur."!cursor_pos"(rx332_pos)
+    $P10 = rx332_cur."xblock"()
+    unless $P10, rx332_fail
+    rx332_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("xblock")
-    rx330_pos = $P10."pos"()
+    rx332_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx330_cur."!cursor_pos"(rx330_pos)
-    $P10 = rx330_cur."ws"()
-    unless $P10, rx330_fail
-    rx330_pos = $P10."pos"()
+    rx332_cur."!cursor_pos"(rx332_pos)
+    $P10 = rx332_cur."ws"()
+    unless $P10, rx332_fail
+    rx332_pos = $P10."pos"()
 .annotate 'line', 183
   # rx pass
-    rx330_cur."!cursor_pass"(rx330_pos, "statement_control:sym<for>")
-    rx330_cur."!cursor_debug"("PASS  ", "statement_control:sym<for>", " at pos=", rx330_pos)
-    .return (rx330_cur)
-  rx330_fail:
+    rx332_cur."!cursor_pass"(rx332_pos, "statement_control:sym<for>")
+    rx332_cur."!cursor_debug"("PASS  ", "statement_control:sym<for>", " at pos=", rx332_pos)
+    .return (rx332_cur)
+  rx332_fail:
 .annotate 'line', 4
-    (rx330_rep, rx330_pos, $I10, $P10) = rx330_cur."!mark_fail"(0)
-    lt rx330_pos, -1, rx330_done
-    eq rx330_pos, -1, rx330_fail
+    (rx332_rep, rx332_pos, $I10, $P10) = rx332_cur."!mark_fail"(0)
+    lt rx332_pos, -1, rx332_done
+    eq rx332_pos, -1, rx332_fail
     jump $I10
-  rx330_done:
-    rx330_cur."!cursor_fail"()
-    rx330_cur."!cursor_debug"("FAIL  ", "statement_control:sym<for>")
-    .return (rx330_cur)
+  rx332_done:
+    rx332_cur."!cursor_fail"()
+    rx332_cur."!cursor_debug"("FAIL  ", "statement_control:sym<for>")
+    .return (rx332_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<for>"  :subid("72_1275600007.84296") :method
+.sub "!PREFIX__statement_control:sym<for>"  :subid("72_1275811487.95429") :method
 .annotate 'line', 4
-    new $P332, "ResizablePMCArray"
-    push $P332, "for"
-    .return ($P332)
+    new $P334, "ResizablePMCArray"
+    push $P334, "for"
+    .return ($P334)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CATCH>"  :subid("73_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "statement_control:sym<CATCH>"  :subid("73_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx338_tgt
-    .local int rx338_pos
-    .local int rx338_off
-    .local int rx338_eos
-    .local int rx338_rep
-    .local pmc rx338_cur
-    (rx338_cur, rx338_pos, rx338_tgt) = self."!cursor_start"()
-    rx338_cur."!cursor_debug"("START ", "statement_control:sym<CATCH>")
-    .lex unicode:"$\x{a2}", rx338_cur
+    .local string rx340_tgt
+    .local int rx340_pos
+    .local int rx340_off
+    .local int rx340_eos
+    .local int rx340_rep
+    .local pmc rx340_cur
+    (rx340_cur, rx340_pos, rx340_tgt) = self."!cursor_start"()
+    rx340_cur."!cursor_debug"("START ", "statement_control:sym<CATCH>")
+    .lex unicode:"$\x{a2}", rx340_cur
     .local pmc match
     .lex "$/", match
-    length rx338_eos, rx338_tgt
-    gt rx338_pos, rx338_eos, rx338_done
-    set rx338_off, 0
-    lt rx338_pos, 2, rx338_start
-    sub rx338_off, rx338_pos, 1
-    substr rx338_tgt, rx338_tgt, rx338_off
-  rx338_start:
+    length rx340_eos, rx340_tgt
+    gt rx340_pos, rx340_eos, rx340_done
+    set rx340_off, 0
+    lt rx340_pos, 2, rx340_start
+    sub rx340_off, rx340_pos, 1
+    substr rx340_tgt, rx340_tgt, rx340_off
+  rx340_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan341_done
-    goto rxscan341_scan
-  rxscan341_loop:
-    ($P10) = rx338_cur."from"()
+    ne $I10, -1, rxscan343_done
+    goto rxscan343_scan
+  rxscan343_loop:
+    ($P10) = rx340_cur."from"()
     inc $P10
-    set rx338_pos, $P10
-    ge rx338_pos, rx338_eos, rxscan341_done
-  rxscan341_scan:
-    set_addr $I10, rxscan341_loop
-    rx338_cur."!mark_push"(0, rx338_pos, $I10)
-  rxscan341_done:
+    set rx340_pos, $P10
+    ge rx340_pos, rx340_eos, rxscan343_done
+  rxscan343_scan:
+    set_addr $I10, rxscan343_loop
+    rx340_cur."!mark_push"(0, rx340_pos, $I10)
+  rxscan343_done:
 .annotate 'line', 189
   # rx subcapture "sym"
-    set_addr $I10, rxcap_342_fail
-    rx338_cur."!mark_push"(0, rx338_pos, $I10)
+    set_addr $I10, rxcap_344_fail
+    rx340_cur."!mark_push"(0, rx340_pos, $I10)
   # rx literal  "CATCH"
-    add $I11, rx338_pos, 5
-    gt $I11, rx338_eos, rx338_fail
-    sub $I11, rx338_pos, rx338_off
-    substr $S10, rx338_tgt, $I11, 5
-    ne $S10, "CATCH", rx338_fail
-    add rx338_pos, 5
-    set_addr $I10, rxcap_342_fail
-    ($I12, $I11) = rx338_cur."!mark_peek"($I10)
-    rx338_cur."!cursor_pos"($I11)
-    ($P10) = rx338_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx338_pos, "")
-    rx338_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx340_pos, 5
+    gt $I11, rx340_eos, rx340_fail
+    sub $I11, rx340_pos, rx340_off
+    substr $S10, rx340_tgt, $I11, 5
+    ne $S10, "CATCH", rx340_fail
+    add rx340_pos, 5
+    set_addr $I10, rxcap_344_fail
+    ($I12, $I11) = rx340_cur."!mark_peek"($I10)
+    rx340_cur."!cursor_pos"($I11)
+    ($P10) = rx340_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx340_pos, "")
+    rx340_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_342_done
-  rxcap_342_fail:
-    goto rx338_fail
-  rxcap_342_done:
+    goto rxcap_344_done
+  rxcap_344_fail:
+    goto rx340_fail
+  rxcap_344_done:
   # rx charclass s
-    ge rx338_pos, rx338_eos, rx338_fail
-    sub $I10, rx338_pos, rx338_off
-    is_cclass $I11, 32, rx338_tgt, $I10
-    unless $I11, rx338_fail
-    inc rx338_pos
-  # rx subrule "ws" subtype=method negate=
-    rx338_cur."!cursor_pos"(rx338_pos)
-    $P10 = rx338_cur."ws"()
-    unless $P10, rx338_fail
-    rx338_pos = $P10."pos"()
+    ge rx340_pos, rx340_eos, rx340_fail
+    sub $I10, rx340_pos, rx340_off
+    is_cclass $I11, 32, rx340_tgt, $I10
+    unless $I11, rx340_fail
+    inc rx340_pos
+  # rx subrule "ws" subtype=method negate=
+    rx340_cur."!cursor_pos"(rx340_pos)
+    $P10 = rx340_cur."ws"()
+    unless $P10, rx340_fail
+    rx340_pos = $P10."pos"()
 .annotate 'line', 190
   # rx subrule "block" subtype=capture negate=
-    rx338_cur."!cursor_pos"(rx338_pos)
-    $P10 = rx338_cur."block"()
-    unless $P10, rx338_fail
-    rx338_cur."!mark_push"(0, -1, 0, $P10)
+    rx340_cur."!cursor_pos"(rx340_pos)
+    $P10 = rx340_cur."block"()
+    unless $P10, rx340_fail
+    rx340_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx338_pos = $P10."pos"()
+    rx340_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx338_cur."!cursor_pos"(rx338_pos)
-    $P10 = rx338_cur."ws"()
-    unless $P10, rx338_fail
-    rx338_pos = $P10."pos"()
+    rx340_cur."!cursor_pos"(rx340_pos)
+    $P10 = rx340_cur."ws"()
+    unless $P10, rx340_fail
+    rx340_pos = $P10."pos"()
 .annotate 'line', 188
   # rx pass
-    rx338_cur."!cursor_pass"(rx338_pos, "statement_control:sym<CATCH>")
-    rx338_cur."!cursor_debug"("PASS  ", "statement_control:sym<CATCH>", " at pos=", rx338_pos)
-    .return (rx338_cur)
-  rx338_fail:
+    rx340_cur."!cursor_pass"(rx340_pos, "statement_control:sym<CATCH>")
+    rx340_cur."!cursor_debug"("PASS  ", "statement_control:sym<CATCH>", " at pos=", rx340_pos)
+    .return (rx340_cur)
+  rx340_fail:
 .annotate 'line', 4
-    (rx338_rep, rx338_pos, $I10, $P10) = rx338_cur."!mark_fail"(0)
-    lt rx338_pos, -1, rx338_done
-    eq rx338_pos, -1, rx338_fail
+    (rx340_rep, rx340_pos, $I10, $P10) = rx340_cur."!mark_fail"(0)
+    lt rx340_pos, -1, rx340_done
+    eq rx340_pos, -1, rx340_fail
     jump $I10
-  rx338_done:
-    rx338_cur."!cursor_fail"()
-    rx338_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CATCH>")
-    .return (rx338_cur)
+  rx340_done:
+    rx340_cur."!cursor_fail"()
+    rx340_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CATCH>")
+    .return (rx340_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("74_1275600007.84296") :method
+.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("74_1275811487.95429") :method
 .annotate 'line', 4
-    new $P340, "ResizablePMCArray"
-    push $P340, "CATCH"
-    .return ($P340)
+    new $P342, "ResizablePMCArray"
+    push $P342, "CATCH"
+    .return ($P342)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CONTROL>"  :subid("75_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "statement_control:sym<CONTROL>"  :subid("75_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx346_tgt
-    .local int rx346_pos
-    .local int rx346_off
-    .local int rx346_eos
-    .local int rx346_rep
-    .local pmc rx346_cur
-    (rx346_cur, rx346_pos, rx346_tgt) = self."!cursor_start"()
-    rx346_cur."!cursor_debug"("START ", "statement_control:sym<CONTROL>")
-    .lex unicode:"$\x{a2}", rx346_cur
+    .local string rx348_tgt
+    .local int rx348_pos
+    .local int rx348_off
+    .local int rx348_eos
+    .local int rx348_rep
+    .local pmc rx348_cur
+    (rx348_cur, rx348_pos, rx348_tgt) = self."!cursor_start"()
+    rx348_cur."!cursor_debug"("START ", "statement_control:sym<CONTROL>")
+    .lex unicode:"$\x{a2}", rx348_cur
     .local pmc match
     .lex "$/", match
-    length rx346_eos, rx346_tgt
-    gt rx346_pos, rx346_eos, rx346_done
-    set rx346_off, 0
-    lt rx346_pos, 2, rx346_start
-    sub rx346_off, rx346_pos, 1
-    substr rx346_tgt, rx346_tgt, rx346_off
-  rx346_start:
+    length rx348_eos, rx348_tgt
+    gt rx348_pos, rx348_eos, rx348_done
+    set rx348_off, 0
+    lt rx348_pos, 2, rx348_start
+    sub rx348_off, rx348_pos, 1
+    substr rx348_tgt, rx348_tgt, rx348_off
+  rx348_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan349_done
-    goto rxscan349_scan
-  rxscan349_loop:
-    ($P10) = rx346_cur."from"()
+    ne $I10, -1, rxscan351_done
+    goto rxscan351_scan
+  rxscan351_loop:
+    ($P10) = rx348_cur."from"()
     inc $P10
-    set rx346_pos, $P10
-    ge rx346_pos, rx346_eos, rxscan349_done
-  rxscan349_scan:
-    set_addr $I10, rxscan349_loop
-    rx346_cur."!mark_push"(0, rx346_pos, $I10)
-  rxscan349_done:
+    set rx348_pos, $P10
+    ge rx348_pos, rx348_eos, rxscan351_done
+  rxscan351_scan:
+    set_addr $I10, rxscan351_loop
+    rx348_cur."!mark_push"(0, rx348_pos, $I10)
+  rxscan351_done:
 .annotate 'line', 194
   # rx subcapture "sym"
-    set_addr $I10, rxcap_350_fail
-    rx346_cur."!mark_push"(0, rx346_pos, $I10)
+    set_addr $I10, rxcap_352_fail
+    rx348_cur."!mark_push"(0, rx348_pos, $I10)
   # rx literal  "CONTROL"
-    add $I11, rx346_pos, 7
-    gt $I11, rx346_eos, rx346_fail
-    sub $I11, rx346_pos, rx346_off
-    substr $S10, rx346_tgt, $I11, 7
-    ne $S10, "CONTROL", rx346_fail
-    add rx346_pos, 7
-    set_addr $I10, rxcap_350_fail
-    ($I12, $I11) = rx346_cur."!mark_peek"($I10)
-    rx346_cur."!cursor_pos"($I11)
-    ($P10) = rx346_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx346_pos, "")
-    rx346_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx348_pos, 7
+    gt $I11, rx348_eos, rx348_fail
+    sub $I11, rx348_pos, rx348_off
+    substr $S10, rx348_tgt, $I11, 7
+    ne $S10, "CONTROL", rx348_fail
+    add rx348_pos, 7
+    set_addr $I10, rxcap_352_fail
+    ($I12, $I11) = rx348_cur."!mark_peek"($I10)
+    rx348_cur."!cursor_pos"($I11)
+    ($P10) = rx348_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx348_pos, "")
+    rx348_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_350_done
-  rxcap_350_fail:
-    goto rx346_fail
-  rxcap_350_done:
+    goto rxcap_352_done
+  rxcap_352_fail:
+    goto rx348_fail
+  rxcap_352_done:
   # rx charclass s
-    ge rx346_pos, rx346_eos, rx346_fail
-    sub $I10, rx346_pos, rx346_off
-    is_cclass $I11, 32, rx346_tgt, $I10
-    unless $I11, rx346_fail
-    inc rx346_pos
-  # rx subrule "ws" subtype=method negate=
-    rx346_cur."!cursor_pos"(rx346_pos)
-    $P10 = rx346_cur."ws"()
-    unless $P10, rx346_fail
-    rx346_pos = $P10."pos"()
+    ge rx348_pos, rx348_eos, rx348_fail
+    sub $I10, rx348_pos, rx348_off
+    is_cclass $I11, 32, rx348_tgt, $I10
+    unless $I11, rx348_fail
+    inc rx348_pos
+  # rx subrule "ws" subtype=method negate=
+    rx348_cur."!cursor_pos"(rx348_pos)
+    $P10 = rx348_cur."ws"()
+    unless $P10, rx348_fail
+    rx348_pos = $P10."pos"()
 .annotate 'line', 195
   # rx subrule "block" subtype=capture negate=
-    rx346_cur."!cursor_pos"(rx346_pos)
-    $P10 = rx346_cur."block"()
-    unless $P10, rx346_fail
-    rx346_cur."!mark_push"(0, -1, 0, $P10)
+    rx348_cur."!cursor_pos"(rx348_pos)
+    $P10 = rx348_cur."block"()
+    unless $P10, rx348_fail
+    rx348_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx346_pos = $P10."pos"()
+    rx348_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx346_cur."!cursor_pos"(rx346_pos)
-    $P10 = rx346_cur."ws"()
-    unless $P10, rx346_fail
-    rx346_pos = $P10."pos"()
+    rx348_cur."!cursor_pos"(rx348_pos)
+    $P10 = rx348_cur."ws"()
+    unless $P10, rx348_fail
+    rx348_pos = $P10."pos"()
 .annotate 'line', 193
   # rx pass
-    rx346_cur."!cursor_pass"(rx346_pos, "statement_control:sym<CONTROL>")
-    rx346_cur."!cursor_debug"("PASS  ", "statement_control:sym<CONTROL>", " at pos=", rx346_pos)
-    .return (rx346_cur)
-  rx346_fail:
+    rx348_cur."!cursor_pass"(rx348_pos, "statement_control:sym<CONTROL>")
+    rx348_cur."!cursor_debug"("PASS  ", "statement_control:sym<CONTROL>", " at pos=", rx348_pos)
+    .return (rx348_cur)
+  rx348_fail:
 .annotate 'line', 4
-    (rx346_rep, rx346_pos, $I10, $P10) = rx346_cur."!mark_fail"(0)
-    lt rx346_pos, -1, rx346_done
-    eq rx346_pos, -1, rx346_fail
+    (rx348_rep, rx348_pos, $I10, $P10) = rx348_cur."!mark_fail"(0)
+    lt rx348_pos, -1, rx348_done
+    eq rx348_pos, -1, rx348_fail
     jump $I10
-  rx346_done:
-    rx346_cur."!cursor_fail"()
-    rx346_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CONTROL>")
-    .return (rx346_cur)
+  rx348_done:
+    rx348_cur."!cursor_fail"()
+    rx348_cur."!cursor_debug"("FAIL  ", "statement_control:sym<CONTROL>")
+    .return (rx348_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("76_1275600007.84296") :method
+.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("76_1275811487.95429") :method
 .annotate 'line', 4
-    new $P348, "ResizablePMCArray"
-    push $P348, "CONTROL"
-    .return ($P348)
+    new $P350, "ResizablePMCArray"
+    push $P350, "CONTROL"
+    .return ($P350)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix"  :subid("77_1275600007.84296") :method
+.sub "statement_prefix"  :subid("77_1275811487.95429") :method
 .annotate 'line', 198
-    $P354 = self."!protoregex"("statement_prefix")
-    .return ($P354)
+    $P356 = self."!protoregex"("statement_prefix")
+    .return ($P356)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix"  :subid("78_1275600007.84296") :method
+.sub "!PREFIX__statement_prefix"  :subid("78_1275811487.95429") :method
 .annotate 'line', 198
-    $P356 = self."!PREFIX__!protoregex"("statement_prefix")
-    .return ($P356)
+    $P358 = self."!PREFIX__!protoregex"("statement_prefix")
+    .return ($P358)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<INIT>"  :subid("79_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "statement_prefix:sym<INIT>"  :subid("79_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx358_tgt
-    .local int rx358_pos
-    .local int rx358_off
-    .local int rx358_eos
-    .local int rx358_rep
-    .local pmc rx358_cur
-    (rx358_cur, rx358_pos, rx358_tgt) = self."!cursor_start"()
-    rx358_cur."!cursor_debug"("START ", "statement_prefix:sym<INIT>")
-    .lex unicode:"$\x{a2}", rx358_cur
-    .local pmc match
-    .lex "$/", match
-    length rx358_eos, rx358_tgt
-    gt rx358_pos, rx358_eos, rx358_done
-    set rx358_off, 0
-    lt rx358_pos, 2, rx358_start
-    sub rx358_off, rx358_pos, 1
-    substr rx358_tgt, rx358_tgt, rx358_off
-  rx358_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan362_done
-    goto rxscan362_scan
-  rxscan362_loop:
-    ($P10) = rx358_cur."from"()
-    inc $P10
-    set rx358_pos, $P10
-    ge rx358_pos, rx358_eos, rxscan362_done
-  rxscan362_scan:
-    set_addr $I10, rxscan362_loop
-    rx358_cur."!mark_push"(0, rx358_pos, $I10)
-  rxscan362_done:
+    .local string rx360_tgt
+    .local int rx360_pos
+    .local int rx360_off
+    .local int rx360_eos
+    .local int rx360_rep
+    .local pmc rx360_cur
+    (rx360_cur, rx360_pos, rx360_tgt) = self."!cursor_start"()
+    rx360_cur."!cursor_debug"("START ", "statement_prefix:sym<INIT>")
+    .lex unicode:"$\x{a2}", rx360_cur
+    .local pmc match
+    .lex "$/", match
+    length rx360_eos, rx360_tgt
+    gt rx360_pos, rx360_eos, rx360_done
+    set rx360_off, 0
+    lt rx360_pos, 2, rx360_start
+    sub rx360_off, rx360_pos, 1
+    substr rx360_tgt, rx360_tgt, rx360_off
+  rx360_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan364_done
+    goto rxscan364_scan
+  rxscan364_loop:
+    ($P10) = rx360_cur."from"()
+    inc $P10
+    set rx360_pos, $P10
+    ge rx360_pos, rx360_eos, rxscan364_done
+  rxscan364_scan:
+    set_addr $I10, rxscan364_loop
+    rx360_cur."!mark_push"(0, rx360_pos, $I10)
+  rxscan364_done:
 .annotate 'line', 199
   # rx subcapture "sym"
-    set_addr $I10, rxcap_363_fail
-    rx358_cur."!mark_push"(0, rx358_pos, $I10)
+    set_addr $I10, rxcap_365_fail
+    rx360_cur."!mark_push"(0, rx360_pos, $I10)
   # rx literal  "INIT"
-    add $I11, rx358_pos, 4
-    gt $I11, rx358_eos, rx358_fail
-    sub $I11, rx358_pos, rx358_off
-    substr $S10, rx358_tgt, $I11, 4
-    ne $S10, "INIT", rx358_fail
-    add rx358_pos, 4
-    set_addr $I10, rxcap_363_fail
-    ($I12, $I11) = rx358_cur."!mark_peek"($I10)
-    rx358_cur."!cursor_pos"($I11)
-    ($P10) = rx358_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx358_pos, "")
-    rx358_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx360_pos, 4
+    gt $I11, rx360_eos, rx360_fail
+    sub $I11, rx360_pos, rx360_off
+    substr $S10, rx360_tgt, $I11, 4
+    ne $S10, "INIT", rx360_fail
+    add rx360_pos, 4
+    set_addr $I10, rxcap_365_fail
+    ($I12, $I11) = rx360_cur."!mark_peek"($I10)
+    rx360_cur."!cursor_pos"($I11)
+    ($P10) = rx360_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx360_pos, "")
+    rx360_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_363_done
-  rxcap_363_fail:
-    goto rx358_fail
-  rxcap_363_done:
+    goto rxcap_365_done
+  rxcap_365_fail:
+    goto rx360_fail
+  rxcap_365_done:
   # rx subrule "blorst" subtype=capture negate=
-    rx358_cur."!cursor_pos"(rx358_pos)
-    $P10 = rx358_cur."blorst"()
-    unless $P10, rx358_fail
-    rx358_cur."!mark_push"(0, -1, 0, $P10)
+    rx360_cur."!cursor_pos"(rx360_pos)
+    $P10 = rx360_cur."blorst"()
+    unless $P10, rx360_fail
+    rx360_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blorst")
-    rx358_pos = $P10."pos"()
+    rx360_pos = $P10."pos"()
   # rx pass
-    rx358_cur."!cursor_pass"(rx358_pos, "statement_prefix:sym<INIT>")
-    rx358_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<INIT>", " at pos=", rx358_pos)
-    .return (rx358_cur)
-  rx358_fail:
+    rx360_cur."!cursor_pass"(rx360_pos, "statement_prefix:sym<INIT>")
+    rx360_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<INIT>", " at pos=", rx360_pos)
+    .return (rx360_cur)
+  rx360_fail:
 .annotate 'line', 4
-    (rx358_rep, rx358_pos, $I10, $P10) = rx358_cur."!mark_fail"(0)
-    lt rx358_pos, -1, rx358_done
-    eq rx358_pos, -1, rx358_fail
+    (rx360_rep, rx360_pos, $I10, $P10) = rx360_cur."!mark_fail"(0)
+    lt rx360_pos, -1, rx360_done
+    eq rx360_pos, -1, rx360_fail
     jump $I10
-  rx358_done:
-    rx358_cur."!cursor_fail"()
-    rx358_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<INIT>")
-    .return (rx358_cur)
+  rx360_done:
+    rx360_cur."!cursor_fail"()
+    rx360_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<INIT>")
+    .return (rx360_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("80_1275600007.84296") :method
+.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("80_1275811487.95429") :method
 .annotate 'line', 4
-    $P360 = self."!PREFIX__!subrule"("blorst", "INIT")
-    new $P361, "ResizablePMCArray"
-    push $P361, $P360
-    .return ($P361)
+    $P362 = self."!PREFIX__!subrule"("blorst", "INIT")
+    new $P363, "ResizablePMCArray"
+    push $P363, $P362
+    .return ($P363)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<try>"  :subid("81_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "statement_prefix:sym<try>"  :subid("81_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx365_tgt
-    .local int rx365_pos
-    .local int rx365_off
-    .local int rx365_eos
-    .local int rx365_rep
-    .local pmc rx365_cur
-    (rx365_cur, rx365_pos, rx365_tgt) = self."!cursor_start"()
-    rx365_cur."!cursor_debug"("START ", "statement_prefix:sym<try>")
-    .lex unicode:"$\x{a2}", rx365_cur
-    .local pmc match
-    .lex "$/", match
-    length rx365_eos, rx365_tgt
-    gt rx365_pos, rx365_eos, rx365_done
-    set rx365_off, 0
-    lt rx365_pos, 2, rx365_start
-    sub rx365_off, rx365_pos, 1
-    substr rx365_tgt, rx365_tgt, rx365_off
-  rx365_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan369_done
-    goto rxscan369_scan
-  rxscan369_loop:
-    ($P10) = rx365_cur."from"()
-    inc $P10
-    set rx365_pos, $P10
-    ge rx365_pos, rx365_eos, rxscan369_done
-  rxscan369_scan:
-    set_addr $I10, rxscan369_loop
-    rx365_cur."!mark_push"(0, rx365_pos, $I10)
-  rxscan369_done:
+    .local string rx367_tgt
+    .local int rx367_pos
+    .local int rx367_off
+    .local int rx367_eos
+    .local int rx367_rep
+    .local pmc rx367_cur
+    (rx367_cur, rx367_pos, rx367_tgt) = self."!cursor_start"()
+    rx367_cur."!cursor_debug"("START ", "statement_prefix:sym<try>")
+    .lex unicode:"$\x{a2}", rx367_cur
+    .local pmc match
+    .lex "$/", match
+    length rx367_eos, rx367_tgt
+    gt rx367_pos, rx367_eos, rx367_done
+    set rx367_off, 0
+    lt rx367_pos, 2, rx367_start
+    sub rx367_off, rx367_pos, 1
+    substr rx367_tgt, rx367_tgt, rx367_off
+  rx367_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan371_done
+    goto rxscan371_scan
+  rxscan371_loop:
+    ($P10) = rx367_cur."from"()
+    inc $P10
+    set rx367_pos, $P10
+    ge rx367_pos, rx367_eos, rxscan371_done
+  rxscan371_scan:
+    set_addr $I10, rxscan371_loop
+    rx367_cur."!mark_push"(0, rx367_pos, $I10)
+  rxscan371_done:
 .annotate 'line', 202
   # rx subcapture "sym"
-    set_addr $I10, rxcap_370_fail
-    rx365_cur."!mark_push"(0, rx365_pos, $I10)
+    set_addr $I10, rxcap_372_fail
+    rx367_cur."!mark_push"(0, rx367_pos, $I10)
   # rx literal  "try"
-    add $I11, rx365_pos, 3
-    gt $I11, rx365_eos, rx365_fail
-    sub $I11, rx365_pos, rx365_off
-    substr $S10, rx365_tgt, $I11, 3
-    ne $S10, "try", rx365_fail
-    add rx365_pos, 3
-    set_addr $I10, rxcap_370_fail
-    ($I12, $I11) = rx365_cur."!mark_peek"($I10)
-    rx365_cur."!cursor_pos"($I11)
-    ($P10) = rx365_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx365_pos, "")
-    rx365_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx367_pos, 3
+    gt $I11, rx367_eos, rx367_fail
+    sub $I11, rx367_pos, rx367_off
+    substr $S10, rx367_tgt, $I11, 3
+    ne $S10, "try", rx367_fail
+    add rx367_pos, 3
+    set_addr $I10, rxcap_372_fail
+    ($I12, $I11) = rx367_cur."!mark_peek"($I10)
+    rx367_cur."!cursor_pos"($I11)
+    ($P10) = rx367_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx367_pos, "")
+    rx367_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_370_done
-  rxcap_370_fail:
-    goto rx365_fail
-  rxcap_370_done:
+    goto rxcap_372_done
+  rxcap_372_fail:
+    goto rx367_fail
+  rxcap_372_done:
 .annotate 'line', 203
   # rx subrule "blorst" subtype=capture negate=
-    rx365_cur."!cursor_pos"(rx365_pos)
-    $P10 = rx365_cur."blorst"()
-    unless $P10, rx365_fail
-    rx365_cur."!mark_push"(0, -1, 0, $P10)
+    rx367_cur."!cursor_pos"(rx367_pos)
+    $P10 = rx367_cur."blorst"()
+    unless $P10, rx367_fail
+    rx367_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blorst")
-    rx365_pos = $P10."pos"()
+    rx367_pos = $P10."pos"()
 .annotate 'line', 201
   # rx pass
-    rx365_cur."!cursor_pass"(rx365_pos, "statement_prefix:sym<try>")
-    rx365_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<try>", " at pos=", rx365_pos)
-    .return (rx365_cur)
-  rx365_fail:
+    rx367_cur."!cursor_pass"(rx367_pos, "statement_prefix:sym<try>")
+    rx367_cur."!cursor_debug"("PASS  ", "statement_prefix:sym<try>", " at pos=", rx367_pos)
+    .return (rx367_cur)
+  rx367_fail:
 .annotate 'line', 4
-    (rx365_rep, rx365_pos, $I10, $P10) = rx365_cur."!mark_fail"(0)
-    lt rx365_pos, -1, rx365_done
-    eq rx365_pos, -1, rx365_fail
+    (rx367_rep, rx367_pos, $I10, $P10) = rx367_cur."!mark_fail"(0)
+    lt rx367_pos, -1, rx367_done
+    eq rx367_pos, -1, rx367_fail
     jump $I10
-  rx365_done:
-    rx365_cur."!cursor_fail"()
-    rx365_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<try>")
-    .return (rx365_cur)
+  rx367_done:
+    rx367_cur."!cursor_fail"()
+    rx367_cur."!cursor_debug"("FAIL  ", "statement_prefix:sym<try>")
+    .return (rx367_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<try>"  :subid("82_1275600007.84296") :method
+.sub "!PREFIX__statement_prefix:sym<try>"  :subid("82_1275811487.95429") :method
 .annotate 'line', 4
-    $P367 = self."!PREFIX__!subrule"("blorst", "try")
-    new $P368, "ResizablePMCArray"
-    push $P368, $P367
-    .return ($P368)
+    $P369 = self."!PREFIX__!subrule"("blorst", "try")
+    new $P370, "ResizablePMCArray"
+    push $P370, $P369
+    .return ($P370)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blorst"  :subid("83_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "blorst"  :subid("83_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx372_tgt
-    .local int rx372_pos
-    .local int rx372_off
-    .local int rx372_eos
-    .local int rx372_rep
-    .local pmc rx372_cur
-    (rx372_cur, rx372_pos, rx372_tgt) = self."!cursor_start"()
-    rx372_cur."!cursor_debug"("START ", "blorst")
-    .lex unicode:"$\x{a2}", rx372_cur
+    .local string rx374_tgt
+    .local int rx374_pos
+    .local int rx374_off
+    .local int rx374_eos
+    .local int rx374_rep
+    .local pmc rx374_cur
+    (rx374_cur, rx374_pos, rx374_tgt) = self."!cursor_start"()
+    rx374_cur."!cursor_debug"("START ", "blorst")
+    .lex unicode:"$\x{a2}", rx374_cur
     .local pmc match
     .lex "$/", match
-    length rx372_eos, rx372_tgt
-    gt rx372_pos, rx372_eos, rx372_done
-    set rx372_off, 0
-    lt rx372_pos, 2, rx372_start
-    sub rx372_off, rx372_pos, 1
-    substr rx372_tgt, rx372_tgt, rx372_off
-  rx372_start:
+    length rx374_eos, rx374_tgt
+    gt rx374_pos, rx374_eos, rx374_done
+    set rx374_off, 0
+    lt rx374_pos, 2, rx374_start
+    sub rx374_off, rx374_pos, 1
+    substr rx374_tgt, rx374_tgt, rx374_off
+  rx374_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan375_done
-    goto rxscan375_scan
-  rxscan375_loop:
-    ($P10) = rx372_cur."from"()
+    ne $I10, -1, rxscan377_done
+    goto rxscan377_scan
+  rxscan377_loop:
+    ($P10) = rx374_cur."from"()
     inc $P10
-    set rx372_pos, $P10
-    ge rx372_pos, rx372_eos, rxscan375_done
-  rxscan375_scan:
-    set_addr $I10, rxscan375_loop
-    rx372_cur."!mark_push"(0, rx372_pos, $I10)
-  rxscan375_done:
+    set rx374_pos, $P10
+    ge rx374_pos, rx374_eos, rxscan377_done
+  rxscan377_scan:
+    set_addr $I10, rxscan377_loop
+    rx374_cur."!mark_push"(0, rx374_pos, $I10)
+  rxscan377_done:
 .annotate 'line', 207
   # rx charclass s
-    ge rx372_pos, rx372_eos, rx372_fail
-    sub $I10, rx372_pos, rx372_off
-    is_cclass $I11, 32, rx372_tgt, $I10
-    unless $I11, rx372_fail
-    inc rx372_pos
-  # rx subrule "ws" subtype=method negate=
-    rx372_cur."!cursor_pos"(rx372_pos)
-    $P10 = rx372_cur."ws"()
-    unless $P10, rx372_fail
-    rx372_pos = $P10."pos"()
-  alt376_0:
-    set_addr $I10, alt376_1
-    rx372_cur."!mark_push"(0, rx372_pos, $I10)
+    ge rx374_pos, rx374_eos, rx374_fail
+    sub $I10, rx374_pos, rx374_off
+    is_cclass $I11, 32, rx374_tgt, $I10
+    unless $I11, rx374_fail
+    inc rx374_pos
+  # rx subrule "ws" subtype=method negate=
+    rx374_cur."!cursor_pos"(rx374_pos)
+    $P10 = rx374_cur."ws"()
+    unless $P10, rx374_fail
+    rx374_pos = $P10."pos"()
+  alt378_0:
+    set_addr $I10, alt378_1
+    rx374_cur."!mark_push"(0, rx374_pos, $I10)
   # rx enumcharlist negate=0 zerowidth
-    ge rx372_pos, rx372_eos, rx372_fail
-    sub $I10, rx372_pos, rx372_off
-    substr $S10, rx372_tgt, $I10, 1
+    ge rx374_pos, rx374_eos, rx374_fail
+    sub $I10, rx374_pos, rx374_off
+    substr $S10, rx374_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx372_fail
+    lt $I11, 0, rx374_fail
   # rx subrule "block" subtype=capture negate=
-    rx372_cur."!cursor_pos"(rx372_pos)
-    $P10 = rx372_cur."block"()
-    unless $P10, rx372_fail
-    rx372_cur."!mark_push"(0, -1, 0, $P10)
+    rx374_cur."!cursor_pos"(rx374_pos)
+    $P10 = rx374_cur."block"()
+    unless $P10, rx374_fail
+    rx374_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx372_pos = $P10."pos"()
-    goto alt376_end
-  alt376_1:
+    rx374_pos = $P10."pos"()
+    goto alt378_end
+  alt378_1:
   # rx subrule "statement" subtype=capture negate=
-    rx372_cur."!cursor_pos"(rx372_pos)
-    $P10 = rx372_cur."statement"()
-    unless $P10, rx372_fail
-    rx372_cur."!mark_push"(0, -1, 0, $P10)
+    rx374_cur."!cursor_pos"(rx374_pos)
+    $P10 = rx374_cur."statement"()
+    unless $P10, rx374_fail
+    rx374_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement")
-    rx372_pos = $P10."pos"()
-  alt376_end:
+    rx374_pos = $P10."pos"()
+  alt378_end:
 .annotate 'line', 206
   # rx pass
-    rx372_cur."!cursor_pass"(rx372_pos, "blorst")
-    rx372_cur."!cursor_debug"("PASS  ", "blorst", " at pos=", rx372_pos)
-    .return (rx372_cur)
-  rx372_fail:
+    rx374_cur."!cursor_pass"(rx374_pos, "blorst")
+    rx374_cur."!cursor_debug"("PASS  ", "blorst", " at pos=", rx374_pos)
+    .return (rx374_cur)
+  rx374_fail:
 .annotate 'line', 4
-    (rx372_rep, rx372_pos, $I10, $P10) = rx372_cur."!mark_fail"(0)
-    lt rx372_pos, -1, rx372_done
-    eq rx372_pos, -1, rx372_fail
+    (rx374_rep, rx374_pos, $I10, $P10) = rx374_cur."!mark_fail"(0)
+    lt rx374_pos, -1, rx374_done
+    eq rx374_pos, -1, rx374_fail
     jump $I10
-  rx372_done:
-    rx372_cur."!cursor_fail"()
-    rx372_cur."!cursor_debug"("FAIL  ", "blorst")
-    .return (rx372_cur)
+  rx374_done:
+    rx374_cur."!cursor_fail"()
+    rx374_cur."!cursor_debug"("FAIL  ", "blorst")
+    .return (rx374_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blorst"  :subid("84_1275600007.84296") :method
+.sub "!PREFIX__blorst"  :subid("84_1275811487.95429") :method
 .annotate 'line', 4
-    new $P374, "ResizablePMCArray"
-    push $P374, ""
-    .return ($P374)
+    new $P376, "ResizablePMCArray"
+    push $P376, ""
+    .return ($P376)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond"  :subid("85_1275600007.84296") :method
+.sub "statement_mod_cond"  :subid("85_1275811487.95429") :method
 .annotate 'line', 212
-    $P378 = self."!protoregex"("statement_mod_cond")
-    .return ($P378)
+    $P380 = self."!protoregex"("statement_mod_cond")
+    .return ($P380)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond"  :subid("86_1275600007.84296") :method
+.sub "!PREFIX__statement_mod_cond"  :subid("86_1275811487.95429") :method
 .annotate 'line', 212
-    $P380 = self."!PREFIX__!protoregex"("statement_mod_cond")
-    .return ($P380)
+    $P382 = self."!PREFIX__!protoregex"("statement_mod_cond")
+    .return ($P382)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<if>"  :subid("87_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "statement_mod_cond:sym<if>"  :subid("87_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx382_tgt
-    .local int rx382_pos
-    .local int rx382_off
-    .local int rx382_eos
-    .local int rx382_rep
-    .local pmc rx382_cur
-    (rx382_cur, rx382_pos, rx382_tgt) = self."!cursor_start"()
-    rx382_cur."!cursor_debug"("START ", "statement_mod_cond:sym<if>")
-    .lex unicode:"$\x{a2}", rx382_cur
-    .local pmc match
-    .lex "$/", match
-    length rx382_eos, rx382_tgt
-    gt rx382_pos, rx382_eos, rx382_done
-    set rx382_off, 0
-    lt rx382_pos, 2, rx382_start
-    sub rx382_off, rx382_pos, 1
-    substr rx382_tgt, rx382_tgt, rx382_off
-  rx382_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan385_done
-    goto rxscan385_scan
-  rxscan385_loop:
-    ($P10) = rx382_cur."from"()
-    inc $P10
-    set rx382_pos, $P10
-    ge rx382_pos, rx382_eos, rxscan385_done
-  rxscan385_scan:
-    set_addr $I10, rxscan385_loop
-    rx382_cur."!mark_push"(0, rx382_pos, $I10)
-  rxscan385_done:
+    .local string rx384_tgt
+    .local int rx384_pos
+    .local int rx384_off
+    .local int rx384_eos
+    .local int rx384_rep
+    .local pmc rx384_cur
+    (rx384_cur, rx384_pos, rx384_tgt) = self."!cursor_start"()
+    rx384_cur."!cursor_debug"("START ", "statement_mod_cond:sym<if>")
+    .lex unicode:"$\x{a2}", rx384_cur
+    .local pmc match
+    .lex "$/", match
+    length rx384_eos, rx384_tgt
+    gt rx384_pos, rx384_eos, rx384_done
+    set rx384_off, 0
+    lt rx384_pos, 2, rx384_start
+    sub rx384_off, rx384_pos, 1
+    substr rx384_tgt, rx384_tgt, rx384_off
+  rx384_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan388_done
+    goto rxscan388_scan
+  rxscan388_loop:
+    ($P10) = rx384_cur."from"()
+    inc $P10
+    set rx384_pos, $P10
+    ge rx384_pos, rx384_eos, rxscan388_done
+  rxscan388_scan:
+    set_addr $I10, rxscan388_loop
+    rx384_cur."!mark_push"(0, rx384_pos, $I10)
+  rxscan388_done:
 .annotate 'line', 214
   # rx subcapture "sym"
-    set_addr $I10, rxcap_386_fail
-    rx382_cur."!mark_push"(0, rx382_pos, $I10)
+    set_addr $I10, rxcap_389_fail
+    rx384_cur."!mark_push"(0, rx384_pos, $I10)
   # rx literal  "if"
-    add $I11, rx382_pos, 2
-    gt $I11, rx382_eos, rx382_fail
-    sub $I11, rx382_pos, rx382_off
-    substr $S10, rx382_tgt, $I11, 2
-    ne $S10, "if", rx382_fail
-    add rx382_pos, 2
-    set_addr $I10, rxcap_386_fail
-    ($I12, $I11) = rx382_cur."!mark_peek"($I10)
-    rx382_cur."!cursor_pos"($I11)
-    ($P10) = rx382_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx382_pos, "")
-    rx382_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx384_pos, 2
+    gt $I11, rx384_eos, rx384_fail
+    sub $I11, rx384_pos, rx384_off
+    substr $S10, rx384_tgt, $I11, 2
+    ne $S10, "if", rx384_fail
+    add rx384_pos, 2
+    set_addr $I10, rxcap_389_fail
+    ($I12, $I11) = rx384_cur."!mark_peek"($I10)
+    rx384_cur."!cursor_pos"($I11)
+    ($P10) = rx384_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx384_pos, "")
+    rx384_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_386_done
-  rxcap_386_fail:
-    goto rx382_fail
-  rxcap_386_done:
-  # rx subrule "ws" subtype=method negate=
-    rx382_cur."!cursor_pos"(rx382_pos)
-    $P10 = rx382_cur."ws"()
-    unless $P10, rx382_fail
-    rx382_pos = $P10."pos"()
+    goto rxcap_389_done
+  rxcap_389_fail:
+    goto rx384_fail
+  rxcap_389_done:
+  # rx subrule "ws" subtype=method negate=
+    rx384_cur."!cursor_pos"(rx384_pos)
+    $P10 = rx384_cur."ws"()
+    unless $P10, rx384_fail
+    rx384_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx382_cur."!cursor_pos"(rx382_pos)
-    $P10 = rx382_cur."EXPR"()
-    unless $P10, rx382_fail
-    rx382_cur."!mark_push"(0, -1, 0, $P10)
+    rx384_cur."!cursor_pos"(rx384_pos)
+    $P10 = rx384_cur."EXPR"()
+    unless $P10, rx384_fail
+    rx384_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("cond")
-    rx382_pos = $P10."pos"()
+    rx384_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx382_cur."!cursor_pos"(rx382_pos)
-    $P10 = rx382_cur."ws"()
-    unless $P10, rx382_fail
-    rx382_pos = $P10."pos"()
+    rx384_cur."!cursor_pos"(rx384_pos)
+    $P10 = rx384_cur."ws"()
+    unless $P10, rx384_fail
+    rx384_pos = $P10."pos"()
   # rx pass
-    rx382_cur."!cursor_pass"(rx382_pos, "statement_mod_cond:sym<if>")
-    rx382_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<if>", " at pos=", rx382_pos)
-    .return (rx382_cur)
-  rx382_fail:
+    rx384_cur."!cursor_pass"(rx384_pos, "statement_mod_cond:sym<if>")
+    rx384_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<if>", " at pos=", rx384_pos)
+    .return (rx384_cur)
+  rx384_fail:
 .annotate 'line', 4
-    (rx382_rep, rx382_pos, $I10, $P10) = rx382_cur."!mark_fail"(0)
-    lt rx382_pos, -1, rx382_done
-    eq rx382_pos, -1, rx382_fail
+    (rx384_rep, rx384_pos, $I10, $P10) = rx384_cur."!mark_fail"(0)
+    lt rx384_pos, -1, rx384_done
+    eq rx384_pos, -1, rx384_fail
     jump $I10
-  rx382_done:
-    rx382_cur."!cursor_fail"()
-    rx382_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<if>")
-    .return (rx382_cur)
+  rx384_done:
+    rx384_cur."!cursor_fail"()
+    rx384_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<if>")
+    .return (rx384_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("88_1275600007.84296") :method
+.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("88_1275811487.95429") :method
 .annotate 'line', 4
-    new $P384, "ResizablePMCArray"
-    push $P384, "if"
-    .return ($P384)
+    $P386 = self."!PREFIX__!subrule"("ws", "if")
+    new $P387, "ResizablePMCArray"
+    push $P387, $P386
+    .return ($P387)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<unless>"  :subid("89_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "statement_mod_cond:sym<unless>"  :subid("89_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx390_tgt
-    .local int rx390_pos
-    .local int rx390_off
-    .local int rx390_eos
-    .local int rx390_rep
-    .local pmc rx390_cur
-    (rx390_cur, rx390_pos, rx390_tgt) = self."!cursor_start"()
-    rx390_cur."!cursor_debug"("START ", "statement_mod_cond:sym<unless>")
-    .lex unicode:"$\x{a2}", rx390_cur
+    .local string rx393_tgt
+    .local int rx393_pos
+    .local int rx393_off
+    .local int rx393_eos
+    .local int rx393_rep
+    .local pmc rx393_cur
+    (rx393_cur, rx393_pos, rx393_tgt) = self."!cursor_start"()
+    rx393_cur."!cursor_debug"("START ", "statement_mod_cond:sym<unless>")
+    .lex unicode:"$\x{a2}", rx393_cur
     .local pmc match
     .lex "$/", match
-    length rx390_eos, rx390_tgt
-    gt rx390_pos, rx390_eos, rx390_done
-    set rx390_off, 0
-    lt rx390_pos, 2, rx390_start
-    sub rx390_off, rx390_pos, 1
-    substr rx390_tgt, rx390_tgt, rx390_off
-  rx390_start:
+    length rx393_eos, rx393_tgt
+    gt rx393_pos, rx393_eos, rx393_done
+    set rx393_off, 0
+    lt rx393_pos, 2, rx393_start
+    sub rx393_off, rx393_pos, 1
+    substr rx393_tgt, rx393_tgt, rx393_off
+  rx393_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan393_done
-    goto rxscan393_scan
-  rxscan393_loop:
-    ($P10) = rx390_cur."from"()
+    ne $I10, -1, rxscan397_done
+    goto rxscan397_scan
+  rxscan397_loop:
+    ($P10) = rx393_cur."from"()
     inc $P10
-    set rx390_pos, $P10
-    ge rx390_pos, rx390_eos, rxscan393_done
-  rxscan393_scan:
-    set_addr $I10, rxscan393_loop
-    rx390_cur."!mark_push"(0, rx390_pos, $I10)
-  rxscan393_done:
+    set rx393_pos, $P10
+    ge rx393_pos, rx393_eos, rxscan397_done
+  rxscan397_scan:
+    set_addr $I10, rxscan397_loop
+    rx393_cur."!mark_push"(0, rx393_pos, $I10)
+  rxscan397_done:
 .annotate 'line', 215
   # rx subcapture "sym"
-    set_addr $I10, rxcap_394_fail
-    rx390_cur."!mark_push"(0, rx390_pos, $I10)
+    set_addr $I10, rxcap_398_fail
+    rx393_cur."!mark_push"(0, rx393_pos, $I10)
   # rx literal  "unless"
-    add $I11, rx390_pos, 6
-    gt $I11, rx390_eos, rx390_fail
-    sub $I11, rx390_pos, rx390_off
-    substr $S10, rx390_tgt, $I11, 6
-    ne $S10, "unless", rx390_fail
-    add rx390_pos, 6
-    set_addr $I10, rxcap_394_fail
-    ($I12, $I11) = rx390_cur."!mark_peek"($I10)
-    rx390_cur."!cursor_pos"($I11)
-    ($P10) = rx390_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx390_pos, "")
-    rx390_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx393_pos, 6
+    gt $I11, rx393_eos, rx393_fail
+    sub $I11, rx393_pos, rx393_off
+    substr $S10, rx393_tgt, $I11, 6
+    ne $S10, "unless", rx393_fail
+    add rx393_pos, 6
+    set_addr $I10, rxcap_398_fail
+    ($I12, $I11) = rx393_cur."!mark_peek"($I10)
+    rx393_cur."!cursor_pos"($I11)
+    ($P10) = rx393_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx393_pos, "")
+    rx393_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_394_done
-  rxcap_394_fail:
-    goto rx390_fail
-  rxcap_394_done:
-  # rx subrule "ws" subtype=method negate=
-    rx390_cur."!cursor_pos"(rx390_pos)
-    $P10 = rx390_cur."ws"()
-    unless $P10, rx390_fail
-    rx390_pos = $P10."pos"()
+    goto rxcap_398_done
+  rxcap_398_fail:
+    goto rx393_fail
+  rxcap_398_done:
+  # rx subrule "ws" subtype=method negate=
+    rx393_cur."!cursor_pos"(rx393_pos)
+    $P10 = rx393_cur."ws"()
+    unless $P10, rx393_fail
+    rx393_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx390_cur."!cursor_pos"(rx390_pos)
-    $P10 = rx390_cur."EXPR"()
-    unless $P10, rx390_fail
-    rx390_cur."!mark_push"(0, -1, 0, $P10)
+    rx393_cur."!cursor_pos"(rx393_pos)
+    $P10 = rx393_cur."EXPR"()
+    unless $P10, rx393_fail
+    rx393_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("cond")
-    rx390_pos = $P10."pos"()
+    rx393_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx390_cur."!cursor_pos"(rx390_pos)
-    $P10 = rx390_cur."ws"()
-    unless $P10, rx390_fail
-    rx390_pos = $P10."pos"()
+    rx393_cur."!cursor_pos"(rx393_pos)
+    $P10 = rx393_cur."ws"()
+    unless $P10, rx393_fail
+    rx393_pos = $P10."pos"()
   # rx pass
-    rx390_cur."!cursor_pass"(rx390_pos, "statement_mod_cond:sym<unless>")
-    rx390_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<unless>", " at pos=", rx390_pos)
-    .return (rx390_cur)
-  rx390_fail:
+    rx393_cur."!cursor_pass"(rx393_pos, "statement_mod_cond:sym<unless>")
+    rx393_cur."!cursor_debug"("PASS  ", "statement_mod_cond:sym<unless>", " at pos=", rx393_pos)
+    .return (rx393_cur)
+  rx393_fail:
 .annotate 'line', 4
-    (rx390_rep, rx390_pos, $I10, $P10) = rx390_cur."!mark_fail"(0)
-    lt rx390_pos, -1, rx390_done
-    eq rx390_pos, -1, rx390_fail
+    (rx393_rep, rx393_pos, $I10, $P10) = rx393_cur."!mark_fail"(0)
+    lt rx393_pos, -1, rx393_done
+    eq rx393_pos, -1, rx393_fail
     jump $I10
-  rx390_done:
-    rx390_cur."!cursor_fail"()
-    rx390_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<unless>")
-    .return (rx390_cur)
+  rx393_done:
+    rx393_cur."!cursor_fail"()
+    rx393_cur."!cursor_debug"("FAIL  ", "statement_mod_cond:sym<unless>")
+    .return (rx393_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("90_1275600007.84296") :method
+.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("90_1275811487.95429") :method
 .annotate 'line', 4
-    new $P392, "ResizablePMCArray"
-    push $P392, "unless"
-    .return ($P392)
+    $P395 = self."!PREFIX__!subrule"("ws", "unless")
+    new $P396, "ResizablePMCArray"
+    push $P396, $P395
+    .return ($P396)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop"  :subid("91_1275600007.84296") :method
+.sub "statement_mod_loop"  :subid("91_1275811487.95429") :method
 .annotate 'line', 217
-    $P398 = self."!protoregex"("statement_mod_loop")
-    .return ($P398)
+    $P402 = self."!protoregex"("statement_mod_loop")
+    .return ($P402)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop"  :subid("92_1275600007.84296") :method
+.sub "!PREFIX__statement_mod_loop"  :subid("92_1275811487.95429") :method
 .annotate 'line', 217
-    $P400 = self."!PREFIX__!protoregex"("statement_mod_loop")
-    .return ($P400)
+    $P404 = self."!PREFIX__!protoregex"("statement_mod_loop")
+    .return ($P404)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<while>"  :subid("93_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "statement_mod_loop:sym<while>"  :subid("93_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx402_tgt
-    .local int rx402_pos
-    .local int rx402_off
-    .local int rx402_eos
-    .local int rx402_rep
-    .local pmc rx402_cur
-    (rx402_cur, rx402_pos, rx402_tgt) = self."!cursor_start"()
-    rx402_cur."!cursor_debug"("START ", "statement_mod_loop:sym<while>")
-    .lex unicode:"$\x{a2}", rx402_cur
-    .local pmc match
-    .lex "$/", match
-    length rx402_eos, rx402_tgt
-    gt rx402_pos, rx402_eos, rx402_done
-    set rx402_off, 0
-    lt rx402_pos, 2, rx402_start
-    sub rx402_off, rx402_pos, 1
-    substr rx402_tgt, rx402_tgt, rx402_off
-  rx402_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan405_done
-    goto rxscan405_scan
-  rxscan405_loop:
-    ($P10) = rx402_cur."from"()
-    inc $P10
-    set rx402_pos, $P10
-    ge rx402_pos, rx402_eos, rxscan405_done
-  rxscan405_scan:
-    set_addr $I10, rxscan405_loop
-    rx402_cur."!mark_push"(0, rx402_pos, $I10)
-  rxscan405_done:
+    .local string rx406_tgt
+    .local int rx406_pos
+    .local int rx406_off
+    .local int rx406_eos
+    .local int rx406_rep
+    .local pmc rx406_cur
+    (rx406_cur, rx406_pos, rx406_tgt) = self."!cursor_start"()
+    rx406_cur."!cursor_debug"("START ", "statement_mod_loop:sym<while>")
+    .lex unicode:"$\x{a2}", rx406_cur
+    .local pmc match
+    .lex "$/", match
+    length rx406_eos, rx406_tgt
+    gt rx406_pos, rx406_eos, rx406_done
+    set rx406_off, 0
+    lt rx406_pos, 2, rx406_start
+    sub rx406_off, rx406_pos, 1
+    substr rx406_tgt, rx406_tgt, rx406_off
+  rx406_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan410_done
+    goto rxscan410_scan
+  rxscan410_loop:
+    ($P10) = rx406_cur."from"()
+    inc $P10
+    set rx406_pos, $P10
+    ge rx406_pos, rx406_eos, rxscan410_done
+  rxscan410_scan:
+    set_addr $I10, rxscan410_loop
+    rx406_cur."!mark_push"(0, rx406_pos, $I10)
+  rxscan410_done:
 .annotate 'line', 219
   # rx subcapture "sym"
-    set_addr $I10, rxcap_406_fail
-    rx402_cur."!mark_push"(0, rx402_pos, $I10)
+    set_addr $I10, rxcap_411_fail
+    rx406_cur."!mark_push"(0, rx406_pos, $I10)
   # rx literal  "while"
-    add $I11, rx402_pos, 5
-    gt $I11, rx402_eos, rx402_fail
-    sub $I11, rx402_pos, rx402_off
-    substr $S10, rx402_tgt, $I11, 5
-    ne $S10, "while", rx402_fail
-    add rx402_pos, 5
-    set_addr $I10, rxcap_406_fail
-    ($I12, $I11) = rx402_cur."!mark_peek"($I10)
-    rx402_cur."!cursor_pos"($I11)
-    ($P10) = rx402_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx402_pos, "")
-    rx402_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx406_pos, 5
+    gt $I11, rx406_eos, rx406_fail
+    sub $I11, rx406_pos, rx406_off
+    substr $S10, rx406_tgt, $I11, 5
+    ne $S10, "while", rx406_fail
+    add rx406_pos, 5
+    set_addr $I10, rxcap_411_fail
+    ($I12, $I11) = rx406_cur."!mark_peek"($I10)
+    rx406_cur."!cursor_pos"($I11)
+    ($P10) = rx406_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx406_pos, "")
+    rx406_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_406_done
-  rxcap_406_fail:
-    goto rx402_fail
-  rxcap_406_done:
-  # rx subrule "ws" subtype=method negate=
-    rx402_cur."!cursor_pos"(rx402_pos)
-    $P10 = rx402_cur."ws"()
-    unless $P10, rx402_fail
-    rx402_pos = $P10."pos"()
+    goto rxcap_411_done
+  rxcap_411_fail:
+    goto rx406_fail
+  rxcap_411_done:
+  # rx subrule "ws" subtype=method negate=
+    rx406_cur."!cursor_pos"(rx406_pos)
+    $P10 = rx406_cur."ws"()
+    unless $P10, rx406_fail
+    rx406_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx402_cur."!cursor_pos"(rx402_pos)
-    $P10 = rx402_cur."EXPR"()
-    unless $P10, rx402_fail
-    rx402_cur."!mark_push"(0, -1, 0, $P10)
+    rx406_cur."!cursor_pos"(rx406_pos)
+    $P10 = rx406_cur."EXPR"()
+    unless $P10, rx406_fail
+    rx406_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("cond")
-    rx402_pos = $P10."pos"()
+    rx406_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx402_cur."!cursor_pos"(rx402_pos)
-    $P10 = rx402_cur."ws"()
-    unless $P10, rx402_fail
-    rx402_pos = $P10."pos"()
+    rx406_cur."!cursor_pos"(rx406_pos)
+    $P10 = rx406_cur."ws"()
+    unless $P10, rx406_fail
+    rx406_pos = $P10."pos"()
   # rx pass
-    rx402_cur."!cursor_pass"(rx402_pos, "statement_mod_loop:sym<while>")
-    rx402_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<while>", " at pos=", rx402_pos)
-    .return (rx402_cur)
-  rx402_fail:
+    rx406_cur."!cursor_pass"(rx406_pos, "statement_mod_loop:sym<while>")
+    rx406_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<while>", " at pos=", rx406_pos)
+    .return (rx406_cur)
+  rx406_fail:
 .annotate 'line', 4
-    (rx402_rep, rx402_pos, $I10, $P10) = rx402_cur."!mark_fail"(0)
-    lt rx402_pos, -1, rx402_done
-    eq rx402_pos, -1, rx402_fail
+    (rx406_rep, rx406_pos, $I10, $P10) = rx406_cur."!mark_fail"(0)
+    lt rx406_pos, -1, rx406_done
+    eq rx406_pos, -1, rx406_fail
     jump $I10
-  rx402_done:
-    rx402_cur."!cursor_fail"()
-    rx402_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<while>")
-    .return (rx402_cur)
+  rx406_done:
+    rx406_cur."!cursor_fail"()
+    rx406_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<while>")
+    .return (rx406_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("94_1275600007.84296") :method
+.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("94_1275811487.95429") :method
 .annotate 'line', 4
-    new $P404, "ResizablePMCArray"
-    push $P404, "while"
-    .return ($P404)
+    $P408 = self."!PREFIX__!subrule"("ws", "while")
+    new $P409, "ResizablePMCArray"
+    push $P409, $P408
+    .return ($P409)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<until>"  :subid("95_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "statement_mod_loop:sym<until>"  :subid("95_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx410_tgt
-    .local int rx410_pos
-    .local int rx410_off
-    .local int rx410_eos
-    .local int rx410_rep
-    .local pmc rx410_cur
-    (rx410_cur, rx410_pos, rx410_tgt) = self."!cursor_start"()
-    rx410_cur."!cursor_debug"("START ", "statement_mod_loop:sym<until>")
-    .lex unicode:"$\x{a2}", rx410_cur
-    .local pmc match
-    .lex "$/", match
-    length rx410_eos, rx410_tgt
-    gt rx410_pos, rx410_eos, rx410_done
-    set rx410_off, 0
-    lt rx410_pos, 2, rx410_start
-    sub rx410_off, rx410_pos, 1
-    substr rx410_tgt, rx410_tgt, rx410_off
-  rx410_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan413_done
-    goto rxscan413_scan
-  rxscan413_loop:
-    ($P10) = rx410_cur."from"()
-    inc $P10
-    set rx410_pos, $P10
-    ge rx410_pos, rx410_eos, rxscan413_done
-  rxscan413_scan:
-    set_addr $I10, rxscan413_loop
-    rx410_cur."!mark_push"(0, rx410_pos, $I10)
-  rxscan413_done:
+    .local string rx415_tgt
+    .local int rx415_pos
+    .local int rx415_off
+    .local int rx415_eos
+    .local int rx415_rep
+    .local pmc rx415_cur
+    (rx415_cur, rx415_pos, rx415_tgt) = self."!cursor_start"()
+    rx415_cur."!cursor_debug"("START ", "statement_mod_loop:sym<until>")
+    .lex unicode:"$\x{a2}", rx415_cur
+    .local pmc match
+    .lex "$/", match
+    length rx415_eos, rx415_tgt
+    gt rx415_pos, rx415_eos, rx415_done
+    set rx415_off, 0
+    lt rx415_pos, 2, rx415_start
+    sub rx415_off, rx415_pos, 1
+    substr rx415_tgt, rx415_tgt, rx415_off
+  rx415_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan419_done
+    goto rxscan419_scan
+  rxscan419_loop:
+    ($P10) = rx415_cur."from"()
+    inc $P10
+    set rx415_pos, $P10
+    ge rx415_pos, rx415_eos, rxscan419_done
+  rxscan419_scan:
+    set_addr $I10, rxscan419_loop
+    rx415_cur."!mark_push"(0, rx415_pos, $I10)
+  rxscan419_done:
 .annotate 'line', 220
   # rx subcapture "sym"
-    set_addr $I10, rxcap_414_fail
-    rx410_cur."!mark_push"(0, rx410_pos, $I10)
+    set_addr $I10, rxcap_420_fail
+    rx415_cur."!mark_push"(0, rx415_pos, $I10)
   # rx literal  "until"
-    add $I11, rx410_pos, 5
-    gt $I11, rx410_eos, rx410_fail
-    sub $I11, rx410_pos, rx410_off
-    substr $S10, rx410_tgt, $I11, 5
-    ne $S10, "until", rx410_fail
-    add rx410_pos, 5
-    set_addr $I10, rxcap_414_fail
-    ($I12, $I11) = rx410_cur."!mark_peek"($I10)
-    rx410_cur."!cursor_pos"($I11)
-    ($P10) = rx410_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx410_pos, "")
-    rx410_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx415_pos, 5
+    gt $I11, rx415_eos, rx415_fail
+    sub $I11, rx415_pos, rx415_off
+    substr $S10, rx415_tgt, $I11, 5
+    ne $S10, "until", rx415_fail
+    add rx415_pos, 5
+    set_addr $I10, rxcap_420_fail
+    ($I12, $I11) = rx415_cur."!mark_peek"($I10)
+    rx415_cur."!cursor_pos"($I11)
+    ($P10) = rx415_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx415_pos, "")
+    rx415_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_414_done
-  rxcap_414_fail:
-    goto rx410_fail
-  rxcap_414_done:
-  # rx subrule "ws" subtype=method negate=
-    rx410_cur."!cursor_pos"(rx410_pos)
-    $P10 = rx410_cur."ws"()
-    unless $P10, rx410_fail
-    rx410_pos = $P10."pos"()
+    goto rxcap_420_done
+  rxcap_420_fail:
+    goto rx415_fail
+  rxcap_420_done:
+  # rx subrule "ws" subtype=method negate=
+    rx415_cur."!cursor_pos"(rx415_pos)
+    $P10 = rx415_cur."ws"()
+    unless $P10, rx415_fail
+    rx415_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx410_cur."!cursor_pos"(rx410_pos)
-    $P10 = rx410_cur."EXPR"()
-    unless $P10, rx410_fail
-    rx410_cur."!mark_push"(0, -1, 0, $P10)
+    rx415_cur."!cursor_pos"(rx415_pos)
+    $P10 = rx415_cur."EXPR"()
+    unless $P10, rx415_fail
+    rx415_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("cond")
-    rx410_pos = $P10."pos"()
+    rx415_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx410_cur."!cursor_pos"(rx410_pos)
-    $P10 = rx410_cur."ws"()
-    unless $P10, rx410_fail
-    rx410_pos = $P10."pos"()
-  # rx pass
-    rx410_cur."!cursor_pass"(rx410_pos, "statement_mod_loop:sym<until>")
-    rx410_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<until>", " at pos=", rx410_pos)
-    .return (rx410_cur)
-  rx410_fail:
-.annotate 'line', 4
-    (rx410_rep, rx410_pos, $I10, $P10) = rx410_cur."!mark_fail"(0)
-    lt rx410_pos, -1, rx410_done
-    eq rx410_pos, -1, rx410_fail
-    jump $I10
-  rx410_done:
-    rx410_cur."!cursor_fail"()
-    rx410_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<until>")
-    .return (rx410_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("96_1275600007.84296") :method
-.annotate 'line', 4
-    new $P412, "ResizablePMCArray"
-    push $P412, "until"
-    .return ($P412)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "term:sym<fatarrow>"  :subid("97_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 4
-    .local string rx418_tgt
-    .local int rx418_pos
-    .local int rx418_off
-    .local int rx418_eos
-    .local int rx418_rep
-    .local pmc rx418_cur
-    (rx418_cur, rx418_pos, rx418_tgt) = self."!cursor_start"()
-    rx418_cur."!cursor_debug"("START ", "term:sym<fatarrow>")
-    .lex unicode:"$\x{a2}", rx418_cur
-    .local pmc match
-    .lex "$/", match
-    length rx418_eos, rx418_tgt
-    gt rx418_pos, rx418_eos, rx418_done
-    set rx418_off, 0
-    lt rx418_pos, 2, rx418_start
-    sub rx418_off, rx418_pos, 1
-    substr rx418_tgt, rx418_tgt, rx418_off
-  rx418_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan422_done
-    goto rxscan422_scan
-  rxscan422_loop:
-    ($P10) = rx418_cur."from"()
-    inc $P10
-    set rx418_pos, $P10
-    ge rx418_pos, rx418_eos, rxscan422_done
-  rxscan422_scan:
-    set_addr $I10, rxscan422_loop
-    rx418_cur."!mark_push"(0, rx418_pos, $I10)
-  rxscan422_done:
-.annotate 'line', 224
-  # rx subrule "fatarrow" subtype=capture negate=
-    rx418_cur."!cursor_pos"(rx418_pos)
-    $P10 = rx418_cur."fatarrow"()
-    unless $P10, rx418_fail
-    rx418_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("fatarrow")
-    rx418_pos = $P10."pos"()
+    rx415_cur."!cursor_pos"(rx415_pos)
+    $P10 = rx415_cur."ws"()
+    unless $P10, rx415_fail
+    rx415_pos = $P10."pos"()
   # rx pass
-    rx418_cur."!cursor_pass"(rx418_pos, "term:sym<fatarrow>")
-    rx418_cur."!cursor_debug"("PASS  ", "term:sym<fatarrow>", " at pos=", rx418_pos)
-    .return (rx418_cur)
-  rx418_fail:
+    rx415_cur."!cursor_pass"(rx415_pos, "statement_mod_loop:sym<until>")
+    rx415_cur."!cursor_debug"("PASS  ", "statement_mod_loop:sym<until>", " at pos=", rx415_pos)
+    .return (rx415_cur)
+  rx415_fail:
 .annotate 'line', 4
-    (rx418_rep, rx418_pos, $I10, $P10) = rx418_cur."!mark_fail"(0)
-    lt rx418_pos, -1, rx418_done
-    eq rx418_pos, -1, rx418_fail
+    (rx415_rep, rx415_pos, $I10, $P10) = rx415_cur."!mark_fail"(0)
+    lt rx415_pos, -1, rx415_done
+    eq rx415_pos, -1, rx415_fail
     jump $I10
-  rx418_done:
-    rx418_cur."!cursor_fail"()
-    rx418_cur."!cursor_debug"("FAIL  ", "term:sym<fatarrow>")
-    .return (rx418_cur)
+  rx415_done:
+    rx415_cur."!cursor_fail"()
+    rx415_cur."!cursor_debug"("FAIL  ", "statement_mod_loop:sym<until>")
+    .return (rx415_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<fatarrow>"  :subid("98_1275600007.84296") :method
+.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("96_1275811487.95429") :method
 .annotate 'line', 4
-    $P420 = self."!PREFIX__!subrule"("fatarrow", "")
-    new $P421, "ResizablePMCArray"
-    push $P421, $P420
-    .return ($P421)
+    $P417 = self."!PREFIX__!subrule"("ws", "until")
+    new $P418, "ResizablePMCArray"
+    push $P418, $P417
+    .return ($P418)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<colonpair>"  :subid("99_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "term:sym<fatarrow>"  :subid("97_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx424_tgt
     .local int rx424_pos
@@ -5248,7 +5186,7 @@
     .local int rx424_rep
     .local pmc rx424_cur
     (rx424_cur, rx424_pos, rx424_tgt) = self."!cursor_start"()
-    rx424_cur."!cursor_debug"("START ", "term:sym<colonpair>")
+    rx424_cur."!cursor_debug"("START ", "term:sym<fatarrow>")
     .lex unicode:"$\x{a2}", rx424_cur
     .local pmc match
     .lex "$/", match
@@ -5271,17 +5209,17 @@
     set_addr $I10, rxscan428_loop
     rx424_cur."!mark_push"(0, rx424_pos, $I10)
   rxscan428_done:
-.annotate 'line', 225
-  # rx subrule "colonpair" subtype=capture negate=
+.annotate 'line', 224
+  # rx subrule "fatarrow" subtype=capture negate=
     rx424_cur."!cursor_pos"(rx424_pos)
-    $P10 = rx424_cur."colonpair"()
+    $P10 = rx424_cur."fatarrow"()
     unless $P10, rx424_fail
     rx424_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("colonpair")
+    $P10."!cursor_names"("fatarrow")
     rx424_pos = $P10."pos"()
   # rx pass
-    rx424_cur."!cursor_pass"(rx424_pos, "term:sym<colonpair>")
-    rx424_cur."!cursor_debug"("PASS  ", "term:sym<colonpair>", " at pos=", rx424_pos)
+    rx424_cur."!cursor_pass"(rx424_pos, "term:sym<fatarrow>")
+    rx424_cur."!cursor_debug"("PASS  ", "term:sym<fatarrow>", " at pos=", rx424_pos)
     .return (rx424_cur)
   rx424_fail:
 .annotate 'line', 4
@@ -5291,16 +5229,16 @@
     jump $I10
   rx424_done:
     rx424_cur."!cursor_fail"()
-    rx424_cur."!cursor_debug"("FAIL  ", "term:sym<colonpair>")
+    rx424_cur."!cursor_debug"("FAIL  ", "term:sym<fatarrow>")
     .return (rx424_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<colonpair>"  :subid("100_1275600007.84296") :method
+.sub "!PREFIX__term:sym<fatarrow>"  :subid("98_1275811487.95429") :method
 .annotate 'line', 4
-    $P426 = self."!PREFIX__!subrule"("colonpair", "")
+    $P426 = self."!PREFIX__!subrule"("fatarrow", "")
     new $P427, "ResizablePMCArray"
     push $P427, $P426
     .return ($P427)
@@ -5308,7 +5246,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<variable>"  :subid("101_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "term:sym<colonpair>"  :subid("99_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx430_tgt
     .local int rx430_pos
@@ -5317,7 +5255,7 @@
     .local int rx430_rep
     .local pmc rx430_cur
     (rx430_cur, rx430_pos, rx430_tgt) = self."!cursor_start"()
-    rx430_cur."!cursor_debug"("START ", "term:sym<variable>")
+    rx430_cur."!cursor_debug"("START ", "term:sym<colonpair>")
     .lex unicode:"$\x{a2}", rx430_cur
     .local pmc match
     .lex "$/", match
@@ -5340,17 +5278,17 @@
     set_addr $I10, rxscan434_loop
     rx430_cur."!mark_push"(0, rx430_pos, $I10)
   rxscan434_done:
-.annotate 'line', 226
-  # rx subrule "variable" subtype=capture negate=
+.annotate 'line', 225
+  # rx subrule "colonpair" subtype=capture negate=
     rx430_cur."!cursor_pos"(rx430_pos)
-    $P10 = rx430_cur."variable"()
+    $P10 = rx430_cur."colonpair"()
     unless $P10, rx430_fail
     rx430_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("variable")
+    $P10."!cursor_names"("colonpair")
     rx430_pos = $P10."pos"()
   # rx pass
-    rx430_cur."!cursor_pass"(rx430_pos, "term:sym<variable>")
-    rx430_cur."!cursor_debug"("PASS  ", "term:sym<variable>", " at pos=", rx430_pos)
+    rx430_cur."!cursor_pass"(rx430_pos, "term:sym<colonpair>")
+    rx430_cur."!cursor_debug"("PASS  ", "term:sym<colonpair>", " at pos=", rx430_pos)
     .return (rx430_cur)
   rx430_fail:
 .annotate 'line', 4
@@ -5360,16 +5298,16 @@
     jump $I10
   rx430_done:
     rx430_cur."!cursor_fail"()
-    rx430_cur."!cursor_debug"("FAIL  ", "term:sym<variable>")
+    rx430_cur."!cursor_debug"("FAIL  ", "term:sym<colonpair>")
     .return (rx430_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<variable>"  :subid("102_1275600007.84296") :method
+.sub "!PREFIX__term:sym<colonpair>"  :subid("100_1275811487.95429") :method
 .annotate 'line', 4
-    $P432 = self."!PREFIX__!subrule"("variable", "")
+    $P432 = self."!PREFIX__!subrule"("colonpair", "")
     new $P433, "ResizablePMCArray"
     push $P433, $P432
     .return ($P433)
@@ -5377,7 +5315,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<package_declarator>"  :subid("103_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "term:sym<variable>"  :subid("101_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx436_tgt
     .local int rx436_pos
@@ -5386,7 +5324,7 @@
     .local int rx436_rep
     .local pmc rx436_cur
     (rx436_cur, rx436_pos, rx436_tgt) = self."!cursor_start"()
-    rx436_cur."!cursor_debug"("START ", "term:sym<package_declarator>")
+    rx436_cur."!cursor_debug"("START ", "term:sym<variable>")
     .lex unicode:"$\x{a2}", rx436_cur
     .local pmc match
     .lex "$/", match
@@ -5409,17 +5347,17 @@
     set_addr $I10, rxscan440_loop
     rx436_cur."!mark_push"(0, rx436_pos, $I10)
   rxscan440_done:
-.annotate 'line', 227
-  # rx subrule "package_declarator" subtype=capture negate=
+.annotate 'line', 226
+  # rx subrule "variable" subtype=capture negate=
     rx436_cur."!cursor_pos"(rx436_pos)
-    $P10 = rx436_cur."package_declarator"()
+    $P10 = rx436_cur."variable"()
     unless $P10, rx436_fail
     rx436_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("package_declarator")
+    $P10."!cursor_names"("variable")
     rx436_pos = $P10."pos"()
   # rx pass
-    rx436_cur."!cursor_pass"(rx436_pos, "term:sym<package_declarator>")
-    rx436_cur."!cursor_debug"("PASS  ", "term:sym<package_declarator>", " at pos=", rx436_pos)
+    rx436_cur."!cursor_pass"(rx436_pos, "term:sym<variable>")
+    rx436_cur."!cursor_debug"("PASS  ", "term:sym<variable>", " at pos=", rx436_pos)
     .return (rx436_cur)
   rx436_fail:
 .annotate 'line', 4
@@ -5429,16 +5367,16 @@
     jump $I10
   rx436_done:
     rx436_cur."!cursor_fail"()
-    rx436_cur."!cursor_debug"("FAIL  ", "term:sym<package_declarator>")
+    rx436_cur."!cursor_debug"("FAIL  ", "term:sym<variable>")
     .return (rx436_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<package_declarator>"  :subid("104_1275600007.84296") :method
+.sub "!PREFIX__term:sym<variable>"  :subid("102_1275811487.95429") :method
 .annotate 'line', 4
-    $P438 = self."!PREFIX__!subrule"("package_declarator", "")
+    $P438 = self."!PREFIX__!subrule"("variable", "")
     new $P439, "ResizablePMCArray"
     push $P439, $P438
     .return ($P439)
@@ -5446,7 +5384,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<scope_declarator>"  :subid("105_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "term:sym<package_declarator>"  :subid("103_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx442_tgt
     .local int rx442_pos
@@ -5455,7 +5393,7 @@
     .local int rx442_rep
     .local pmc rx442_cur
     (rx442_cur, rx442_pos, rx442_tgt) = self."!cursor_start"()
-    rx442_cur."!cursor_debug"("START ", "term:sym<scope_declarator>")
+    rx442_cur."!cursor_debug"("START ", "term:sym<package_declarator>")
     .lex unicode:"$\x{a2}", rx442_cur
     .local pmc match
     .lex "$/", match
@@ -5478,17 +5416,17 @@
     set_addr $I10, rxscan446_loop
     rx442_cur."!mark_push"(0, rx442_pos, $I10)
   rxscan446_done:
-.annotate 'line', 228
-  # rx subrule "scope_declarator" subtype=capture negate=
+.annotate 'line', 227
+  # rx subrule "package_declarator" subtype=capture negate=
     rx442_cur."!cursor_pos"(rx442_pos)
-    $P10 = rx442_cur."scope_declarator"()
+    $P10 = rx442_cur."package_declarator"()
     unless $P10, rx442_fail
     rx442_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("scope_declarator")
+    $P10."!cursor_names"("package_declarator")
     rx442_pos = $P10."pos"()
   # rx pass
-    rx442_cur."!cursor_pass"(rx442_pos, "term:sym<scope_declarator>")
-    rx442_cur."!cursor_debug"("PASS  ", "term:sym<scope_declarator>", " at pos=", rx442_pos)
+    rx442_cur."!cursor_pass"(rx442_pos, "term:sym<package_declarator>")
+    rx442_cur."!cursor_debug"("PASS  ", "term:sym<package_declarator>", " at pos=", rx442_pos)
     .return (rx442_cur)
   rx442_fail:
 .annotate 'line', 4
@@ -5498,16 +5436,16 @@
     jump $I10
   rx442_done:
     rx442_cur."!cursor_fail"()
-    rx442_cur."!cursor_debug"("FAIL  ", "term:sym<scope_declarator>")
+    rx442_cur."!cursor_debug"("FAIL  ", "term:sym<package_declarator>")
     .return (rx442_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<scope_declarator>"  :subid("106_1275600007.84296") :method
+.sub "!PREFIX__term:sym<package_declarator>"  :subid("104_1275811487.95429") :method
 .annotate 'line', 4
-    $P444 = self."!PREFIX__!subrule"("scope_declarator", "")
+    $P444 = self."!PREFIX__!subrule"("package_declarator", "")
     new $P445, "ResizablePMCArray"
     push $P445, $P444
     .return ($P445)
@@ -5515,7 +5453,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<routine_declarator>"  :subid("107_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "term:sym<scope_declarator>"  :subid("105_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx448_tgt
     .local int rx448_pos
@@ -5524,7 +5462,7 @@
     .local int rx448_rep
     .local pmc rx448_cur
     (rx448_cur, rx448_pos, rx448_tgt) = self."!cursor_start"()
-    rx448_cur."!cursor_debug"("START ", "term:sym<routine_declarator>")
+    rx448_cur."!cursor_debug"("START ", "term:sym<scope_declarator>")
     .lex unicode:"$\x{a2}", rx448_cur
     .local pmc match
     .lex "$/", match
@@ -5547,17 +5485,17 @@
     set_addr $I10, rxscan452_loop
     rx448_cur."!mark_push"(0, rx448_pos, $I10)
   rxscan452_done:
-.annotate 'line', 229
-  # rx subrule "routine_declarator" subtype=capture negate=
+.annotate 'line', 228
+  # rx subrule "scope_declarator" subtype=capture negate=
     rx448_cur."!cursor_pos"(rx448_pos)
-    $P10 = rx448_cur."routine_declarator"()
+    $P10 = rx448_cur."scope_declarator"()
     unless $P10, rx448_fail
     rx448_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("routine_declarator")
+    $P10."!cursor_names"("scope_declarator")
     rx448_pos = $P10."pos"()
   # rx pass
-    rx448_cur."!cursor_pass"(rx448_pos, "term:sym<routine_declarator>")
-    rx448_cur."!cursor_debug"("PASS  ", "term:sym<routine_declarator>", " at pos=", rx448_pos)
+    rx448_cur."!cursor_pass"(rx448_pos, "term:sym<scope_declarator>")
+    rx448_cur."!cursor_debug"("PASS  ", "term:sym<scope_declarator>", " at pos=", rx448_pos)
     .return (rx448_cur)
   rx448_fail:
 .annotate 'line', 4
@@ -5567,16 +5505,16 @@
     jump $I10
   rx448_done:
     rx448_cur."!cursor_fail"()
-    rx448_cur."!cursor_debug"("FAIL  ", "term:sym<routine_declarator>")
+    rx448_cur."!cursor_debug"("FAIL  ", "term:sym<scope_declarator>")
     .return (rx448_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<routine_declarator>"  :subid("108_1275600007.84296") :method
+.sub "!PREFIX__term:sym<scope_declarator>"  :subid("106_1275811487.95429") :method
 .annotate 'line', 4
-    $P450 = self."!PREFIX__!subrule"("routine_declarator", "")
+    $P450 = self."!PREFIX__!subrule"("scope_declarator", "")
     new $P451, "ResizablePMCArray"
     push $P451, $P450
     .return ($P451)
@@ -5584,10 +5522,8 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<multi_declarator>"  :subid("109_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "term:sym<routine_declarator>"  :subid("107_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .const 'Sub' $P459 = "111_1275600007.84296" 
-    capture_lex $P459
     .local string rx454_tgt
     .local int rx454_pos
     .local int rx454_off
@@ -5595,7 +5531,7 @@
     .local int rx454_rep
     .local pmc rx454_cur
     (rx454_cur, rx454_pos, rx454_tgt) = self."!cursor_start"()
-    rx454_cur."!cursor_debug"("START ", "term:sym<multi_declarator>")
+    rx454_cur."!cursor_debug"("START ", "term:sym<routine_declarator>")
     .lex unicode:"$\x{a2}", rx454_cur
     .local pmc match
     .lex "$/", match
@@ -5607,34 +5543,28 @@
     substr rx454_tgt, rx454_tgt, rx454_off
   rx454_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan457_done
-    goto rxscan457_scan
-  rxscan457_loop:
+    ne $I10, -1, rxscan458_done
+    goto rxscan458_scan
+  rxscan458_loop:
     ($P10) = rx454_cur."from"()
     inc $P10
     set rx454_pos, $P10
-    ge rx454_pos, rx454_eos, rxscan457_done
-  rxscan457_scan:
-    set_addr $I10, rxscan457_loop
+    ge rx454_pos, rx454_eos, rxscan458_done
+  rxscan458_scan:
+    set_addr $I10, rxscan458_loop
     rx454_cur."!mark_push"(0, rx454_pos, $I10)
-  rxscan457_done:
-.annotate 'line', 230
-  # rx subrule "before" subtype=zerowidth negate=
-    rx454_cur."!cursor_pos"(rx454_pos)
-    .const 'Sub' $P459 = "111_1275600007.84296" 
-    capture_lex $P459
-    $P10 = rx454_cur."before"($P459)
-    unless $P10, rx454_fail
-  # rx subrule "multi_declarator" subtype=capture negate=
+  rxscan458_done:
+.annotate 'line', 229
+  # rx subrule "routine_declarator" subtype=capture negate=
     rx454_cur."!cursor_pos"(rx454_pos)
-    $P10 = rx454_cur."multi_declarator"()
+    $P10 = rx454_cur."routine_declarator"()
     unless $P10, rx454_fail
     rx454_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("multi_declarator")
+    $P10."!cursor_names"("routine_declarator")
     rx454_pos = $P10."pos"()
   # rx pass
-    rx454_cur."!cursor_pass"(rx454_pos, "term:sym<multi_declarator>")
-    rx454_cur."!cursor_debug"("PASS  ", "term:sym<multi_declarator>", " at pos=", rx454_pos)
+    rx454_cur."!cursor_pass"(rx454_pos, "term:sym<routine_declarator>")
+    rx454_cur."!cursor_debug"("PASS  ", "term:sym<routine_declarator>", " at pos=", rx454_pos)
     .return (rx454_cur)
   rx454_fail:
 .annotate 'line', 4
@@ -5644,24 +5574,27 @@
     jump $I10
   rx454_done:
     rx454_cur."!cursor_fail"()
-    rx454_cur."!cursor_debug"("FAIL  ", "term:sym<multi_declarator>")
+    rx454_cur."!cursor_debug"("FAIL  ", "term:sym<routine_declarator>")
     .return (rx454_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<multi_declarator>"  :subid("110_1275600007.84296") :method
+.sub "!PREFIX__term:sym<routine_declarator>"  :subid("108_1275811487.95429") :method
 .annotate 'line', 4
-    new $P456, "ResizablePMCArray"
-    push $P456, ""
-    .return ($P456)
+    $P456 = self."!PREFIX__!subrule"("routine_declarator", "")
+    new $P457, "ResizablePMCArray"
+    push $P457, $P456
+    .return ($P457)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block458"  :anon :subid("111_1275600007.84296") :method :outer("109_1275600007.84296")
-.annotate 'line', 230
+.sub "term:sym<multi_declarator>"  :subid("109_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 4
+    .const 'Sub' $P465 = "111_1275811487.95429" 
+    capture_lex $P465
     .local string rx460_tgt
     .local int rx460_pos
     .local int rx460_off
@@ -5669,7 +5602,7 @@
     .local int rx460_rep
     .local pmc rx460_cur
     (rx460_cur, rx460_pos, rx460_tgt) = self."!cursor_start"()
-    rx460_cur."!cursor_debug"("START ", "")
+    rx460_cur."!cursor_debug"("START ", "term:sym<multi_declarator>")
     .lex unicode:"$\x{a2}", rx460_cur
     .local pmc match
     .lex "$/", match
@@ -5681,136 +5614,141 @@
     substr rx460_tgt, rx460_tgt, rx460_off
   rx460_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan461_done
-    goto rxscan461_scan
-  rxscan461_loop:
+    ne $I10, -1, rxscan463_done
+    goto rxscan463_scan
+  rxscan463_loop:
     ($P10) = rx460_cur."from"()
     inc $P10
     set rx460_pos, $P10
-    ge rx460_pos, rx460_eos, rxscan461_done
-  rxscan461_scan:
-    set_addr $I10, rxscan461_loop
-    rx460_cur."!mark_push"(0, rx460_pos, $I10)
-  rxscan461_done:
-  alt462_0:
-    set_addr $I10, alt462_1
-    rx460_cur."!mark_push"(0, rx460_pos, $I10)
-  # rx literal  "multi"
-    add $I11, rx460_pos, 5
-    gt $I11, rx460_eos, rx460_fail
-    sub $I11, rx460_pos, rx460_off
-    substr $S10, rx460_tgt, $I11, 5
-    ne $S10, "multi", rx460_fail
-    add rx460_pos, 5
-    goto alt462_end
-  alt462_1:
-    set_addr $I10, alt462_2
+    ge rx460_pos, rx460_eos, rxscan463_done
+  rxscan463_scan:
+    set_addr $I10, rxscan463_loop
     rx460_cur."!mark_push"(0, rx460_pos, $I10)
-  # rx literal  "proto"
-    add $I11, rx460_pos, 5
-    gt $I11, rx460_eos, rx460_fail
-    sub $I11, rx460_pos, rx460_off
-    substr $S10, rx460_tgt, $I11, 5
-    ne $S10, "proto", rx460_fail
-    add rx460_pos, 5
-    goto alt462_end
-  alt462_2:
-  # rx literal  "only"
-    add $I11, rx460_pos, 4
-    gt $I11, rx460_eos, rx460_fail
-    sub $I11, rx460_pos, rx460_off
-    substr $S10, rx460_tgt, $I11, 4
-    ne $S10, "only", rx460_fail
-    add rx460_pos, 4
-  alt462_end:
+  rxscan463_done:
+.annotate 'line', 230
+  # rx subrule "before" subtype=zerowidth negate=
+    rx460_cur."!cursor_pos"(rx460_pos)
+    .const 'Sub' $P465 = "111_1275811487.95429" 
+    capture_lex $P465
+    $P10 = rx460_cur."before"($P465)
+    unless $P10, rx460_fail
+  # rx subrule "multi_declarator" subtype=capture negate=
+    rx460_cur."!cursor_pos"(rx460_pos)
+    $P10 = rx460_cur."multi_declarator"()
+    unless $P10, rx460_fail
+    rx460_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("multi_declarator")
+    rx460_pos = $P10."pos"()
   # rx pass
-    rx460_cur."!cursor_pass"(rx460_pos, "")
-    rx460_cur."!cursor_debug"("PASS  ", "", " at pos=", rx460_pos)
+    rx460_cur."!cursor_pass"(rx460_pos, "term:sym<multi_declarator>")
+    rx460_cur."!cursor_debug"("PASS  ", "term:sym<multi_declarator>", " at pos=", rx460_pos)
     .return (rx460_cur)
   rx460_fail:
+.annotate 'line', 4
     (rx460_rep, rx460_pos, $I10, $P10) = rx460_cur."!mark_fail"(0)
     lt rx460_pos, -1, rx460_done
     eq rx460_pos, -1, rx460_fail
     jump $I10
   rx460_done:
     rx460_cur."!cursor_fail"()
-    rx460_cur."!cursor_debug"("FAIL  ", "")
+    rx460_cur."!cursor_debug"("FAIL  ", "term:sym<multi_declarator>")
     .return (rx460_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<regex_declarator>"  :subid("112_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "!PREFIX__term:sym<multi_declarator>"  :subid("110_1275811487.95429") :method
 .annotate 'line', 4
-    .local string rx464_tgt
-    .local int rx464_pos
-    .local int rx464_off
-    .local int rx464_eos
-    .local int rx464_rep
-    .local pmc rx464_cur
-    (rx464_cur, rx464_pos, rx464_tgt) = self."!cursor_start"()
-    rx464_cur."!cursor_debug"("START ", "term:sym<regex_declarator>")
-    .lex unicode:"$\x{a2}", rx464_cur
-    .local pmc match
-    .lex "$/", match
-    length rx464_eos, rx464_tgt
-    gt rx464_pos, rx464_eos, rx464_done
-    set rx464_off, 0
-    lt rx464_pos, 2, rx464_start
-    sub rx464_off, rx464_pos, 1
-    substr rx464_tgt, rx464_tgt, rx464_off
-  rx464_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan468_done
-    goto rxscan468_scan
-  rxscan468_loop:
-    ($P10) = rx464_cur."from"()
-    inc $P10
-    set rx464_pos, $P10
-    ge rx464_pos, rx464_eos, rxscan468_done
-  rxscan468_scan:
-    set_addr $I10, rxscan468_loop
-    rx464_cur."!mark_push"(0, rx464_pos, $I10)
-  rxscan468_done:
-.annotate 'line', 231
-  # rx subrule "regex_declarator" subtype=capture negate=
-    rx464_cur."!cursor_pos"(rx464_pos)
-    $P10 = rx464_cur."regex_declarator"()
-    unless $P10, rx464_fail
-    rx464_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("regex_declarator")
-    rx464_pos = $P10."pos"()
-  # rx pass
-    rx464_cur."!cursor_pass"(rx464_pos, "term:sym<regex_declarator>")
-    rx464_cur."!cursor_debug"("PASS  ", "term:sym<regex_declarator>", " at pos=", rx464_pos)
-    .return (rx464_cur)
-  rx464_fail:
-.annotate 'line', 4
-    (rx464_rep, rx464_pos, $I10, $P10) = rx464_cur."!mark_fail"(0)
-    lt rx464_pos, -1, rx464_done
-    eq rx464_pos, -1, rx464_fail
-    jump $I10
-  rx464_done:
-    rx464_cur."!cursor_fail"()
-    rx464_cur."!cursor_debug"("FAIL  ", "term:sym<regex_declarator>")
-    .return (rx464_cur)
-    .return ()
+    new $P462, "ResizablePMCArray"
+    push $P462, ""
+    .return ($P462)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<regex_declarator>"  :subid("113_1275600007.84296") :method
-.annotate 'line', 4
-    $P466 = self."!PREFIX__!subrule"("regex_declarator", "")
-    new $P467, "ResizablePMCArray"
-    push $P467, $P466
-    .return ($P467)
+.sub "_block464"  :anon :subid("111_1275811487.95429") :method :outer("109_1275811487.95429")
+.annotate 'line', 230
+    .local string rx466_tgt
+    .local int rx466_pos
+    .local int rx466_off
+    .local int rx466_eos
+    .local int rx466_rep
+    .local pmc rx466_cur
+    (rx466_cur, rx466_pos, rx466_tgt) = self."!cursor_start"()
+    rx466_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx466_cur
+    .local pmc match
+    .lex "$/", match
+    length rx466_eos, rx466_tgt
+    gt rx466_pos, rx466_eos, rx466_done
+    set rx466_off, 0
+    lt rx466_pos, 2, rx466_start
+    sub rx466_off, rx466_pos, 1
+    substr rx466_tgt, rx466_tgt, rx466_off
+  rx466_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan467_done
+    goto rxscan467_scan
+  rxscan467_loop:
+    ($P10) = rx466_cur."from"()
+    inc $P10
+    set rx466_pos, $P10
+    ge rx466_pos, rx466_eos, rxscan467_done
+  rxscan467_scan:
+    set_addr $I10, rxscan467_loop
+    rx466_cur."!mark_push"(0, rx466_pos, $I10)
+  rxscan467_done:
+  alt468_0:
+    set_addr $I10, alt468_1
+    rx466_cur."!mark_push"(0, rx466_pos, $I10)
+  # rx literal  "multi"
+    add $I11, rx466_pos, 5
+    gt $I11, rx466_eos, rx466_fail
+    sub $I11, rx466_pos, rx466_off
+    substr $S10, rx466_tgt, $I11, 5
+    ne $S10, "multi", rx466_fail
+    add rx466_pos, 5
+    goto alt468_end
+  alt468_1:
+    set_addr $I10, alt468_2
+    rx466_cur."!mark_push"(0, rx466_pos, $I10)
+  # rx literal  "proto"
+    add $I11, rx466_pos, 5
+    gt $I11, rx466_eos, rx466_fail
+    sub $I11, rx466_pos, rx466_off
+    substr $S10, rx466_tgt, $I11, 5
+    ne $S10, "proto", rx466_fail
+    add rx466_pos, 5
+    goto alt468_end
+  alt468_2:
+  # rx literal  "only"
+    add $I11, rx466_pos, 4
+    gt $I11, rx466_eos, rx466_fail
+    sub $I11, rx466_pos, rx466_off
+    substr $S10, rx466_tgt, $I11, 4
+    ne $S10, "only", rx466_fail
+    add rx466_pos, 4
+  alt468_end:
+  # rx pass
+    rx466_cur."!cursor_pass"(rx466_pos, "")
+    rx466_cur."!cursor_debug"("PASS  ", "", " at pos=", rx466_pos)
+    .return (rx466_cur)
+  rx466_fail:
+    (rx466_rep, rx466_pos, $I10, $P10) = rx466_cur."!mark_fail"(0)
+    lt rx466_pos, -1, rx466_done
+    eq rx466_pos, -1, rx466_fail
+    jump $I10
+  rx466_done:
+    rx466_cur."!cursor_fail"()
+    rx466_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx466_cur)
+    .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<statement_prefix>"  :subid("114_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "term:sym<regex_declarator>"  :subid("112_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx470_tgt
     .local int rx470_pos
@@ -5819,7 +5757,7 @@
     .local int rx470_rep
     .local pmc rx470_cur
     (rx470_cur, rx470_pos, rx470_tgt) = self."!cursor_start"()
-    rx470_cur."!cursor_debug"("START ", "term:sym<statement_prefix>")
+    rx470_cur."!cursor_debug"("START ", "term:sym<regex_declarator>")
     .lex unicode:"$\x{a2}", rx470_cur
     .local pmc match
     .lex "$/", match
@@ -5842,17 +5780,17 @@
     set_addr $I10, rxscan474_loop
     rx470_cur."!mark_push"(0, rx470_pos, $I10)
   rxscan474_done:
-.annotate 'line', 232
-  # rx subrule "statement_prefix" subtype=capture negate=
+.annotate 'line', 231
+  # rx subrule "regex_declarator" subtype=capture negate=
     rx470_cur."!cursor_pos"(rx470_pos)
-    $P10 = rx470_cur."statement_prefix"()
+    $P10 = rx470_cur."regex_declarator"()
     unless $P10, rx470_fail
     rx470_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("statement_prefix")
+    $P10."!cursor_names"("regex_declarator")
     rx470_pos = $P10."pos"()
   # rx pass
-    rx470_cur."!cursor_pass"(rx470_pos, "term:sym<statement_prefix>")
-    rx470_cur."!cursor_debug"("PASS  ", "term:sym<statement_prefix>", " at pos=", rx470_pos)
+    rx470_cur."!cursor_pass"(rx470_pos, "term:sym<regex_declarator>")
+    rx470_cur."!cursor_debug"("PASS  ", "term:sym<regex_declarator>", " at pos=", rx470_pos)
     .return (rx470_cur)
   rx470_fail:
 .annotate 'line', 4
@@ -5862,16 +5800,16 @@
     jump $I10
   rx470_done:
     rx470_cur."!cursor_fail"()
-    rx470_cur."!cursor_debug"("FAIL  ", "term:sym<statement_prefix>")
+    rx470_cur."!cursor_debug"("FAIL  ", "term:sym<regex_declarator>")
     .return (rx470_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<statement_prefix>"  :subid("115_1275600007.84296") :method
+.sub "!PREFIX__term:sym<regex_declarator>"  :subid("113_1275811487.95429") :method
 .annotate 'line', 4
-    $P472 = self."!PREFIX__!subrule"("statement_prefix", "")
+    $P472 = self."!PREFIX__!subrule"("regex_declarator", "")
     new $P473, "ResizablePMCArray"
     push $P473, $P472
     .return ($P473)
@@ -5879,7 +5817,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<lambda>"  :subid("116_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "term:sym<statement_prefix>"  :subid("114_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx476_tgt
     .local int rx476_pos
@@ -5888,7 +5826,7 @@
     .local int rx476_rep
     .local pmc rx476_cur
     (rx476_cur, rx476_pos, rx476_tgt) = self."!cursor_start"()
-    rx476_cur."!cursor_debug"("START ", "term:sym<lambda>")
+    rx476_cur."!cursor_debug"("START ", "term:sym<statement_prefix>")
     .lex unicode:"$\x{a2}", rx476_cur
     .local pmc match
     .lex "$/", match
@@ -5900,32 +5838,28 @@
     substr rx476_tgt, rx476_tgt, rx476_off
   rx476_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan479_done
-    goto rxscan479_scan
-  rxscan479_loop:
+    ne $I10, -1, rxscan480_done
+    goto rxscan480_scan
+  rxscan480_loop:
     ($P10) = rx476_cur."from"()
     inc $P10
     set rx476_pos, $P10
-    ge rx476_pos, rx476_eos, rxscan479_done
-  rxscan479_scan:
-    set_addr $I10, rxscan479_loop
+    ge rx476_pos, rx476_eos, rxscan480_done
+  rxscan480_scan:
+    set_addr $I10, rxscan480_loop
     rx476_cur."!mark_push"(0, rx476_pos, $I10)
-  rxscan479_done:
-.annotate 'line', 233
-  # rx subrule "lambda" subtype=zerowidth negate=
-    rx476_cur."!cursor_pos"(rx476_pos)
-    $P10 = rx476_cur."lambda"()
-    unless $P10, rx476_fail
-  # rx subrule "pblock" subtype=capture negate=
+  rxscan480_done:
+.annotate 'line', 232
+  # rx subrule "statement_prefix" subtype=capture negate=
     rx476_cur."!cursor_pos"(rx476_pos)
-    $P10 = rx476_cur."pblock"()
+    $P10 = rx476_cur."statement_prefix"()
     unless $P10, rx476_fail
     rx476_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("pblock")
+    $P10."!cursor_names"("statement_prefix")
     rx476_pos = $P10."pos"()
   # rx pass
-    rx476_cur."!cursor_pass"(rx476_pos, "term:sym<lambda>")
-    rx476_cur."!cursor_debug"("PASS  ", "term:sym<lambda>", " at pos=", rx476_pos)
+    rx476_cur."!cursor_pass"(rx476_pos, "term:sym<statement_prefix>")
+    rx476_cur."!cursor_debug"("PASS  ", "term:sym<statement_prefix>", " at pos=", rx476_pos)
     .return (rx476_cur)
   rx476_fail:
 .annotate 'line', 4
@@ -5935,1114 +5869,1098 @@
     jump $I10
   rx476_done:
     rx476_cur."!cursor_fail"()
-    rx476_cur."!cursor_debug"("FAIL  ", "term:sym<lambda>")
+    rx476_cur."!cursor_debug"("FAIL  ", "term:sym<statement_prefix>")
     .return (rx476_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<lambda>"  :subid("117_1275600007.84296") :method
+.sub "!PREFIX__term:sym<statement_prefix>"  :subid("115_1275811487.95429") :method
 .annotate 'line', 4
-    new $P478, "ResizablePMCArray"
-    push $P478, ""
-    .return ($P478)
+    $P478 = self."!PREFIX__!subrule"("statement_prefix", "")
+    new $P479, "ResizablePMCArray"
+    push $P479, $P478
+    .return ($P479)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "fatarrow"  :subid("118_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "term:sym<lambda>"  :subid("116_1275811487.95429") :method :outer("11_1275811487.95429")
 .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 ", "fatarrow")
-    .lex unicode:"$\x{a2}", rx481_cur
+    .local string rx482_tgt
+    .local int rx482_pos
+    .local int rx482_off
+    .local int rx482_eos
+    .local int rx482_rep
+    .local pmc rx482_cur
+    (rx482_cur, rx482_pos, rx482_tgt) = self."!cursor_start"()
+    rx482_cur."!cursor_debug"("START ", "term:sym<lambda>")
+    .lex unicode:"$\x{a2}", rx482_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:
+    length rx482_eos, rx482_tgt
+    gt rx482_pos, rx482_eos, rx482_done
+    set rx482_off, 0
+    lt rx482_pos, 2, rx482_start
+    sub rx482_off, rx482_pos, 1
+    substr rx482_tgt, rx482_tgt, rx482_off
+  rx482_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan485_done
     goto rxscan485_scan
   rxscan485_loop:
-    ($P10) = rx481_cur."from"()
+    ($P10) = rx482_cur."from"()
     inc $P10
-    set rx481_pos, $P10
-    ge rx481_pos, rx481_eos, rxscan485_done
+    set rx482_pos, $P10
+    ge rx482_pos, rx482_eos, rxscan485_done
   rxscan485_scan:
     set_addr $I10, rxscan485_loop
-    rx481_cur."!mark_push"(0, rx481_pos, $I10)
+    rx482_cur."!mark_push"(0, rx482_pos, $I10)
   rxscan485_done:
+.annotate 'line', 233
+  # rx subrule "lambda" subtype=zerowidth negate=
+    rx482_cur."!cursor_pos"(rx482_pos)
+    $P10 = rx482_cur."lambda"()
+    unless $P10, rx482_fail
+  # rx subrule "pblock" subtype=capture negate=
+    rx482_cur."!cursor_pos"(rx482_pos)
+    $P10 = rx482_cur."pblock"()
+    unless $P10, rx482_fail
+    rx482_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("pblock")
+    rx482_pos = $P10."pos"()
+  # rx pass
+    rx482_cur."!cursor_pass"(rx482_pos, "term:sym<lambda>")
+    rx482_cur."!cursor_debug"("PASS  ", "term:sym<lambda>", " at pos=", rx482_pos)
+    .return (rx482_cur)
+  rx482_fail:
+.annotate 'line', 4
+    (rx482_rep, rx482_pos, $I10, $P10) = rx482_cur."!mark_fail"(0)
+    lt rx482_pos, -1, rx482_done
+    eq rx482_pos, -1, rx482_fail
+    jump $I10
+  rx482_done:
+    rx482_cur."!cursor_fail"()
+    rx482_cur."!cursor_debug"("FAIL  ", "term:sym<lambda>")
+    .return (rx482_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__term:sym<lambda>"  :subid("117_1275811487.95429") :method
+.annotate 'line', 4
+    new $P484, "ResizablePMCArray"
+    push $P484, ""
+    .return ($P484)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "fatarrow"  :subid("118_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 4
+    .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 ", "fatarrow")
+    .lex unicode:"$\x{a2}", rx487_cur
+    .local pmc match
+    .lex "$/", match
+    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, rxscan491_done
+    goto rxscan491_scan
+  rxscan491_loop:
+    ($P10) = rx487_cur."from"()
+    inc $P10
+    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', 236
   # rx subrule "identifier" subtype=capture negate=
-    rx481_cur."!cursor_pos"(rx481_pos)
-    $P10 = rx481_cur."identifier"()
-    unless $P10, rx481_fail
-    rx481_cur."!mark_push"(0, -1, 0, $P10)
+    rx487_cur."!cursor_pos"(rx487_pos)
+    $P10 = rx487_cur."identifier"()
+    unless $P10, rx487_fail
+    rx487_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("key")
-    rx481_pos = $P10."pos"()
-  # rx rxquantr486 ** 0..*
-    set_addr $I487, rxquantr486_done
-    rx481_cur."!mark_push"(0, rx481_pos, $I487)
-  rxquantr486_loop:
+    rx487_pos = $P10."pos"()
+  # rx rxquantr492 ** 0..*
+    set_addr $I493, rxquantr492_done
+    rx487_cur."!mark_push"(0, rx487_pos, $I493)
+  rxquantr492_loop:
   # rx enumcharlist negate=0 
-    ge rx481_pos, rx481_eos, rx481_fail
-    sub $I10, rx481_pos, rx481_off
-    substr $S10, rx481_tgt, $I10, 1
+    ge rx487_pos, rx487_eos, rx487_fail
+    sub $I10, rx487_pos, rx487_off
+    substr $S10, rx487_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, rx481_fail
-    inc rx481_pos
-    (rx481_rep) = rx481_cur."!mark_commit"($I487)
-    rx481_cur."!mark_push"(rx481_rep, rx481_pos, $I487)
-    goto rxquantr486_loop
-  rxquantr486_done:
+    lt $I11, 0, rx487_fail
+    inc rx487_pos
+    (rx487_rep) = rx487_cur."!mark_commit"($I493)
+    rx487_cur."!mark_push"(rx487_rep, rx487_pos, $I493)
+    goto rxquantr492_loop
+  rxquantr492_done:
   # rx literal  "=>"
-    add $I11, rx481_pos, 2
-    gt $I11, rx481_eos, rx481_fail
-    sub $I11, rx481_pos, rx481_off
-    substr $S10, rx481_tgt, $I11, 2
-    ne $S10, "=>", rx481_fail
-    add rx481_pos, 2
-  # rx subrule "ws" subtype=method negate=
-    rx481_cur."!cursor_pos"(rx481_pos)
-    $P10 = rx481_cur."ws"()
-    unless $P10, rx481_fail
-    rx481_pos = $P10."pos"()
+    add $I11, rx487_pos, 2
+    gt $I11, rx487_eos, rx487_fail
+    sub $I11, rx487_pos, rx487_off
+    substr $S10, rx487_tgt, $I11, 2
+    ne $S10, "=>", rx487_fail
+    add rx487_pos, 2
+  # rx subrule "ws" subtype=method negate=
+    rx487_cur."!cursor_pos"(rx487_pos)
+    $P10 = rx487_cur."ws"()
+    unless $P10, rx487_fail
+    rx487_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx481_cur."!cursor_pos"(rx481_pos)
-    $P10 = rx481_cur."EXPR"("i=")
-    unless $P10, rx481_fail
-    rx481_cur."!mark_push"(0, -1, 0, $P10)
+    rx487_cur."!cursor_pos"(rx487_pos)
+    $P10 = rx487_cur."EXPR"("i=")
+    unless $P10, rx487_fail
+    rx487_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("val")
-    rx481_pos = $P10."pos"()
+    rx487_pos = $P10."pos"()
 .annotate 'line', 235
   # rx pass
-    rx481_cur."!cursor_pass"(rx481_pos, "fatarrow")
-    rx481_cur."!cursor_debug"("PASS  ", "fatarrow", " at pos=", rx481_pos)
-    .return (rx481_cur)
-  rx481_fail:
+    rx487_cur."!cursor_pass"(rx487_pos, "fatarrow")
+    rx487_cur."!cursor_debug"("PASS  ", "fatarrow", " at pos=", rx487_pos)
+    .return (rx487_cur)
+  rx487_fail:
 .annotate 'line', 4
-    (rx481_rep, rx481_pos, $I10, $P10) = rx481_cur."!mark_fail"(0)
-    lt rx481_pos, -1, rx481_done
-    eq rx481_pos, -1, rx481_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
-  rx481_done:
-    rx481_cur."!cursor_fail"()
-    rx481_cur."!cursor_debug"("FAIL  ", "fatarrow")
-    .return (rx481_cur)
+  rx487_done:
+    rx487_cur."!cursor_fail"()
+    rx487_cur."!cursor_debug"("FAIL  ", "fatarrow")
+    .return (rx487_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__fatarrow"  :subid("119_1275600007.84296") :method
+.sub "!PREFIX__fatarrow"  :subid("119_1275811487.95429") :method
 .annotate 'line', 4
-    $P483 = self."!PREFIX__!subrule"("key", "")
-    new $P484, "ResizablePMCArray"
-    push $P484, $P483
-    .return ($P484)
+    $P489 = self."!PREFIX__!subrule"("identifier", "")
+    new $P490, "ResizablePMCArray"
+    push $P490, $P489
+    .return ($P490)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "colonpair"  :subid("120_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "colonpair"  :subid("120_1275811487.95429") :method :outer("11_1275811487.95429")
 .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 ", "colonpair")
-    rx489_cur."!cursor_caparray"("circumfix")
-    .lex unicode:"$\x{a2}", rx489_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:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan495_done
-    goto rxscan495_scan
-  rxscan495_loop:
-    ($P10) = rx489_cur."from"()
-    inc $P10
-    set rx489_pos, $P10
-    ge rx489_pos, rx489_eos, rxscan495_done
-  rxscan495_scan:
-    set_addr $I10, rxscan495_loop
-    rx489_cur."!mark_push"(0, rx489_pos, $I10)
-  rxscan495_done:
+    .local string rx495_tgt
+    .local int rx495_pos
+    .local int rx495_off
+    .local int rx495_eos
+    .local int rx495_rep
+    .local pmc rx495_cur
+    (rx495_cur, rx495_pos, rx495_tgt) = self."!cursor_start"()
+    rx495_cur."!cursor_debug"("START ", "colonpair")
+    rx495_cur."!cursor_caparray"("circumfix")
+    .lex unicode:"$\x{a2}", rx495_cur
+    .local pmc match
+    .lex "$/", match
+    length rx495_eos, rx495_tgt
+    gt rx495_pos, rx495_eos, rx495_done
+    set rx495_off, 0
+    lt rx495_pos, 2, rx495_start
+    sub rx495_off, rx495_pos, 1
+    substr rx495_tgt, rx495_tgt, rx495_off
+  rx495_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan501_done
+    goto rxscan501_scan
+  rxscan501_loop:
+    ($P10) = rx495_cur."from"()
+    inc $P10
+    set rx495_pos, $P10
+    ge rx495_pos, rx495_eos, rxscan501_done
+  rxscan501_scan:
+    set_addr $I10, rxscan501_loop
+    rx495_cur."!mark_push"(0, rx495_pos, $I10)
+  rxscan501_done:
 .annotate 'line', 240
   # rx literal  ":"
-    add $I11, rx489_pos, 1
-    gt $I11, rx489_eos, rx489_fail
-    sub $I11, rx489_pos, rx489_off
-    substr $S10, rx489_tgt, $I11, 1
-    ne $S10, ":", rx489_fail
-    add rx489_pos, 1
-  alt496_0:
+    add $I11, rx495_pos, 1
+    gt $I11, rx495_eos, rx495_fail
+    sub $I11, rx495_pos, rx495_off
+    substr $S10, rx495_tgt, $I11, 1
+    ne $S10, ":", rx495_fail
+    add rx495_pos, 1
+  alt502_0:
 .annotate 'line', 241
-    set_addr $I10, alt496_1
-    rx489_cur."!mark_push"(0, rx489_pos, $I10)
+    set_addr $I10, alt502_1
+    rx495_cur."!mark_push"(0, rx495_pos, $I10)
 .annotate 'line', 242
   # rx subcapture "not"
-    set_addr $I10, rxcap_497_fail
-    rx489_cur."!mark_push"(0, rx489_pos, $I10)
+    set_addr $I10, rxcap_503_fail
+    rx495_cur."!mark_push"(0, rx495_pos, $I10)
   # rx literal  "!"
-    add $I11, rx489_pos, 1
-    gt $I11, rx489_eos, rx489_fail
-    sub $I11, rx489_pos, rx489_off
-    substr $S10, rx489_tgt, $I11, 1
-    ne $S10, "!", rx489_fail
-    add rx489_pos, 1
-    set_addr $I10, rxcap_497_fail
-    ($I12, $I11) = rx489_cur."!mark_peek"($I10)
-    rx489_cur."!cursor_pos"($I11)
-    ($P10) = rx489_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx489_pos, "")
-    rx489_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx495_pos, 1
+    gt $I11, rx495_eos, rx495_fail
+    sub $I11, rx495_pos, rx495_off
+    substr $S10, rx495_tgt, $I11, 1
+    ne $S10, "!", rx495_fail
+    add rx495_pos, 1
+    set_addr $I10, rxcap_503_fail
+    ($I12, $I11) = rx495_cur."!mark_peek"($I10)
+    rx495_cur."!cursor_pos"($I11)
+    ($P10) = rx495_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx495_pos, "")
+    rx495_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("not")
-    goto rxcap_497_done
-  rxcap_497_fail:
-    goto rx489_fail
-  rxcap_497_done:
+    goto rxcap_503_done
+  rxcap_503_fail:
+    goto rx495_fail
+  rxcap_503_done:
   # 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)
+    rx495_cur."!cursor_pos"(rx495_pos)
+    $P10 = rx495_cur."identifier"()
+    unless $P10, rx495_fail
+    rx495_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx489_pos = $P10."pos"()
-    goto alt496_end
-  alt496_1:
-    set_addr $I10, alt496_2
-    rx489_cur."!mark_push"(0, rx489_pos, $I10)
+    rx495_pos = $P10."pos"()
+    goto alt502_end
+  alt502_1:
+    set_addr $I10, alt502_2
+    rx495_cur."!mark_push"(0, rx495_pos, $I10)
 .annotate 'line', 243
   # 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)
+    rx495_cur."!cursor_pos"(rx495_pos)
+    $P10 = rx495_cur."identifier"()
+    unless $P10, rx495_fail
+    rx495_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx489_pos = $P10."pos"()
-  # rx rxquantr498 ** 0..1
-    set_addr $I499, rxquantr498_done
-    rx489_cur."!mark_push"(0, rx489_pos, $I499)
-  rxquantr498_loop:
+    rx495_pos = $P10."pos"()
+  # rx rxquantr504 ** 0..1
+    set_addr $I505, rxquantr504_done
+    rx495_cur."!mark_push"(0, rx495_pos, $I505)
+  rxquantr504_loop:
   # rx subrule "circumfix" subtype=capture negate=
-    rx489_cur."!cursor_pos"(rx489_pos)
-    $P10 = rx489_cur."circumfix"()
-    unless $P10, rx489_fail
-    rx489_cur."!mark_push"(0, -1, 0, $P10)
+    rx495_cur."!cursor_pos"(rx495_pos)
+    $P10 = rx495_cur."circumfix"()
+    unless $P10, rx495_fail
+    rx495_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("circumfix")
-    rx489_pos = $P10."pos"()
-    (rx489_rep) = rx489_cur."!mark_commit"($I499)
-  rxquantr498_done:
-    goto alt496_end
-  alt496_2:
+    rx495_pos = $P10."pos"()
+    (rx495_rep) = rx495_cur."!mark_commit"($I505)
+  rxquantr504_done:
+    goto alt502_end
+  alt502_2:
 .annotate 'line', 244
   # rx subrule "circumfix" subtype=capture negate=
-    rx489_cur."!cursor_pos"(rx489_pos)
-    $P10 = rx489_cur."circumfix"()
-    unless $P10, rx489_fail
-    rx489_cur."!mark_push"(0, -1, 0, $P10)
+    rx495_cur."!cursor_pos"(rx495_pos)
+    $P10 = rx495_cur."circumfix"()
+    unless $P10, rx495_fail
+    rx495_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("circumfix")
-    rx489_pos = $P10."pos"()
-  alt496_end:
+    rx495_pos = $P10."pos"()
+  alt502_end:
 .annotate 'line', 239
   # rx pass
-    rx489_cur."!cursor_pass"(rx489_pos, "colonpair")
-    rx489_cur."!cursor_debug"("PASS  ", "colonpair", " at pos=", rx489_pos)
-    .return (rx489_cur)
-  rx489_fail:
+    rx495_cur."!cursor_pass"(rx495_pos, "colonpair")
+    rx495_cur."!cursor_debug"("PASS  ", "colonpair", " at pos=", rx495_pos)
+    .return (rx495_cur)
+  rx495_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
+    (rx495_rep, rx495_pos, $I10, $P10) = rx495_cur."!mark_fail"(0)
+    lt rx495_pos, -1, rx495_done
+    eq rx495_pos, -1, rx495_fail
     jump $I10
-  rx489_done:
-    rx489_cur."!cursor_fail"()
-    rx489_cur."!cursor_debug"("FAIL  ", "colonpair")
-    .return (rx489_cur)
+  rx495_done:
+    rx495_cur."!cursor_fail"()
+    rx495_cur."!cursor_debug"("FAIL  ", "colonpair")
+    .return (rx495_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__colonpair"  :subid("121_1275600007.84296") :method
+.sub "!PREFIX__colonpair"  :subid("121_1275811487.95429") :method
 .annotate 'line', 4
-    $P491 = self."!PREFIX__!subrule"("circumfix", ":")
-    $P492 = self."!PREFIX__!subrule"("identifier", ":")
-    $P493 = self."!PREFIX__!subrule"("identifier", ":!")
-    new $P494, "ResizablePMCArray"
-    push $P494, $P491
-    push $P494, $P492
-    push $P494, $P493
-    .return ($P494)
+    $P497 = self."!PREFIX__!subrule"("circumfix", ":")
+    $P498 = self."!PREFIX__!subrule"("identifier", ":")
+    $P499 = self."!PREFIX__!subrule"("identifier", ":!")
+    new $P500, "ResizablePMCArray"
+    push $P500, $P497
+    push $P500, $P498
+    push $P500, $P499
+    .return ($P500)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable"  :subid("122_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "variable"  :subid("122_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx501_tgt
-    .local int rx501_pos
-    .local int rx501_off
-    .local int rx501_eos
-    .local int rx501_rep
-    .local pmc rx501_cur
-    (rx501_cur, rx501_pos, rx501_tgt) = self."!cursor_start"()
-    rx501_cur."!cursor_debug"("START ", "variable")
-    rx501_cur."!cursor_caparray"("twigil")
-    .lex unicode:"$\x{a2}", rx501_cur
-    .local pmc match
-    .lex "$/", match
-    length rx501_eos, rx501_tgt
-    gt rx501_pos, rx501_eos, rx501_done
-    set rx501_off, 0
-    lt rx501_pos, 2, rx501_start
-    sub rx501_off, rx501_pos, 1
-    substr rx501_tgt, rx501_tgt, rx501_off
-  rx501_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan506_done
-    goto rxscan506_scan
-  rxscan506_loop:
-    ($P10) = rx501_cur."from"()
-    inc $P10
-    set rx501_pos, $P10
-    ge rx501_pos, rx501_eos, rxscan506_done
-  rxscan506_scan:
-    set_addr $I10, rxscan506_loop
-    rx501_cur."!mark_push"(0, rx501_pos, $I10)
-  rxscan506_done:
-  alt507_0:
+    .local string rx507_tgt
+    .local int rx507_pos
+    .local int rx507_off
+    .local int rx507_eos
+    .local int rx507_rep
+    .local pmc rx507_cur
+    (rx507_cur, rx507_pos, rx507_tgt) = self."!cursor_start"()
+    rx507_cur."!cursor_debug"("START ", "variable")
+    rx507_cur."!cursor_caparray"("twigil")
+    .lex unicode:"$\x{a2}", rx507_cur
+    .local pmc match
+    .lex "$/", match
+    length rx507_eos, rx507_tgt
+    gt rx507_pos, rx507_eos, rx507_done
+    set rx507_off, 0
+    lt rx507_pos, 2, rx507_start
+    sub rx507_off, rx507_pos, 1
+    substr rx507_tgt, rx507_tgt, rx507_off
+  rx507_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan512_done
+    goto rxscan512_scan
+  rxscan512_loop:
+    ($P10) = rx507_cur."from"()
+    inc $P10
+    set rx507_pos, $P10
+    ge rx507_pos, rx507_eos, rxscan512_done
+  rxscan512_scan:
+    set_addr $I10, rxscan512_loop
+    rx507_cur."!mark_push"(0, rx507_pos, $I10)
+  rxscan512_done:
+  alt513_0:
 .annotate 'line', 248
-    set_addr $I10, alt507_1
-    rx501_cur."!mark_push"(0, rx501_pos, $I10)
+    set_addr $I10, alt513_1
+    rx507_cur."!mark_push"(0, rx507_pos, $I10)
 .annotate 'line', 249
   # rx subrule "sigil" subtype=capture negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."sigil"()
-    unless $P10, rx501_fail
-    rx501_cur."!mark_push"(0, -1, 0, $P10)
+    rx507_cur."!cursor_pos"(rx507_pos)
+    $P10 = rx507_cur."sigil"()
+    unless $P10, rx507_fail
+    rx507_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx501_pos = $P10."pos"()
-  # rx rxquantr508 ** 0..1
-    set_addr $I509, rxquantr508_done
-    rx501_cur."!mark_push"(0, rx501_pos, $I509)
-  rxquantr508_loop:
+    rx507_pos = $P10."pos"()
+  # rx rxquantr514 ** 0..1
+    set_addr $I515, rxquantr514_done
+    rx507_cur."!mark_push"(0, rx507_pos, $I515)
+  rxquantr514_loop:
   # rx subrule "twigil" subtype=capture negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."twigil"()
-    unless $P10, rx501_fail
-    rx501_cur."!mark_push"(0, -1, 0, $P10)
+    rx507_cur."!cursor_pos"(rx507_pos)
+    $P10 = rx507_cur."twigil"()
+    unless $P10, rx507_fail
+    rx507_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("twigil")
-    rx501_pos = $P10."pos"()
-    (rx501_rep) = rx501_cur."!mark_commit"($I509)
-  rxquantr508_done:
+    rx507_pos = $P10."pos"()
+    (rx507_rep) = rx507_cur."!mark_commit"($I515)
+  rxquantr514_done:
   # rx subrule "name" subtype=capture negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."name"()
-    unless $P10, rx501_fail
-    rx501_cur."!mark_push"(0, -1, 0, $P10)
+    rx507_cur."!cursor_pos"(rx507_pos)
+    $P10 = rx507_cur."name"()
+    unless $P10, rx507_fail
+    rx507_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("desigilname")
-    rx501_pos = $P10."pos"()
-    goto alt507_end
-  alt507_1:
-    set_addr $I10, alt507_2
-    rx501_cur."!mark_push"(0, rx501_pos, $I10)
+    rx507_pos = $P10."pos"()
+    goto alt513_end
+  alt513_1:
+    set_addr $I10, alt513_2
+    rx507_cur."!mark_push"(0, rx507_pos, $I10)
 .annotate 'line', 250
   # rx subrule "sigil" subtype=capture negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."sigil"()
-    unless $P10, rx501_fail
-    rx501_cur."!mark_push"(0, -1, 0, $P10)
+    rx507_cur."!cursor_pos"(rx507_pos)
+    $P10 = rx507_cur."sigil"()
+    unless $P10, rx507_fail
+    rx507_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx501_pos = $P10."pos"()
+    rx507_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx501_pos, rx501_eos, rx501_fail
-    sub $I10, rx501_pos, rx501_off
-    substr $S10, rx501_tgt, $I10, 1
+    ge rx507_pos, rx507_eos, rx507_fail
+    sub $I10, rx507_pos, rx507_off
+    substr $S10, rx507_tgt, $I10, 1
     index $I11, "<[", $S10
-    lt $I11, 0, rx501_fail
+    lt $I11, 0, rx507_fail
   # rx subrule "postcircumfix" subtype=capture negate=
-    rx501_cur."!cursor_pos"(rx501_pos)
-    $P10 = rx501_cur."postcircumfix"()
-    unless $P10, rx501_fail
-    rx501_cur."!mark_push"(0, -1, 0, $P10)
+    rx507_cur."!cursor_pos"(rx507_pos)
+    $P10 = rx507_cur."postcircumfix"()
+    unless $P10, rx507_fail
+    rx507_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("postcircumfix")
-    rx501_pos = $P10."pos"()
-    goto alt507_end
-  alt507_2:
+    rx507_pos = $P10."pos"()
+    goto alt513_end
+  alt513_2:
 .annotate 'line', 251
   # rx subcapture "sigil"
-    set_addr $I10, rxcap_510_fail
-    rx501_cur."!mark_push"(0, rx501_pos, $I10)
+    set_addr $I10, rxcap_516_fail
+    rx507_cur."!mark_push"(0, rx507_pos, $I10)
   # rx literal  "$"
-    add $I11, rx501_pos, 1
-    gt $I11, rx501_eos, rx501_fail
-    sub $I11, rx501_pos, rx501_off
-    substr $S10, rx501_tgt, $I11, 1
-    ne $S10, "$", rx501_fail
-    add rx501_pos, 1
-    set_addr $I10, rxcap_510_fail
-    ($I12, $I11) = rx501_cur."!mark_peek"($I10)
-    rx501_cur."!cursor_pos"($I11)
-    ($P10) = rx501_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx501_pos, "")
-    rx501_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx507_pos, 1
+    gt $I11, rx507_eos, rx507_fail
+    sub $I11, rx507_pos, rx507_off
+    substr $S10, rx507_tgt, $I11, 1
+    ne $S10, "$", rx507_fail
+    add rx507_pos, 1
+    set_addr $I10, rxcap_516_fail
+    ($I12, $I11) = rx507_cur."!mark_peek"($I10)
+    rx507_cur."!cursor_pos"($I11)
+    ($P10) = rx507_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx507_pos, "")
+    rx507_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    goto rxcap_510_done
-  rxcap_510_fail:
-    goto rx501_fail
-  rxcap_510_done:
+    goto rxcap_516_done
+  rxcap_516_fail:
+    goto rx507_fail
+  rxcap_516_done:
   # rx subcapture "desigilname"
-    set_addr $I10, rxcap_511_fail
-    rx501_cur."!mark_push"(0, rx501_pos, $I10)
+    set_addr $I10, rxcap_517_fail
+    rx507_cur."!mark_push"(0, rx507_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx501_pos, rx501_eos, rx501_fail
-    sub $I10, rx501_pos, rx501_off
-    substr $S10, rx501_tgt, $I10, 1
+    ge rx507_pos, rx507_eos, rx507_fail
+    sub $I10, rx507_pos, rx507_off
+    substr $S10, rx507_tgt, $I10, 1
     index $I11, "/_!", $S10
-    lt $I11, 0, rx501_fail
-    inc rx501_pos
-    set_addr $I10, rxcap_511_fail
-    ($I12, $I11) = rx501_cur."!mark_peek"($I10)
-    rx501_cur."!cursor_pos"($I11)
-    ($P10) = rx501_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx501_pos, "")
-    rx501_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx507_fail
+    inc rx507_pos
+    set_addr $I10, rxcap_517_fail
+    ($I12, $I11) = rx507_cur."!mark_peek"($I10)
+    rx507_cur."!cursor_pos"($I11)
+    ($P10) = rx507_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx507_pos, "")
+    rx507_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("desigilname")
-    goto rxcap_511_done
-  rxcap_511_fail:
-    goto rx501_fail
-  rxcap_511_done:
-  alt507_end:
+    goto rxcap_517_done
+  rxcap_517_fail:
+    goto rx507_fail
+  rxcap_517_done:
+  alt513_end:
 .annotate 'line', 248
   # rx pass
-    rx501_cur."!cursor_pass"(rx501_pos, "variable")
-    rx501_cur."!cursor_debug"("PASS  ", "variable", " at pos=", rx501_pos)
-    .return (rx501_cur)
-  rx501_fail:
+    rx507_cur."!cursor_pass"(rx507_pos, "variable")
+    rx507_cur."!cursor_debug"("PASS  ", "variable", " at pos=", rx507_pos)
+    .return (rx507_cur)
+  rx507_fail:
 .annotate 'line', 4
-    (rx501_rep, rx501_pos, $I10, $P10) = rx501_cur."!mark_fail"(0)
-    lt rx501_pos, -1, rx501_done
-    eq rx501_pos, -1, rx501_fail
+    (rx507_rep, rx507_pos, $I10, $P10) = rx507_cur."!mark_fail"(0)
+    lt rx507_pos, -1, rx507_done
+    eq rx507_pos, -1, rx507_fail
     jump $I10
-  rx501_done:
-    rx501_cur."!cursor_fail"()
-    rx501_cur."!cursor_debug"("FAIL  ", "variable")
-    .return (rx501_cur)
+  rx507_done:
+    rx507_cur."!cursor_fail"()
+    rx507_cur."!cursor_debug"("FAIL  ", "variable")
+    .return (rx507_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable"  :subid("123_1275600007.84296") :method
+.sub "!PREFIX__variable"  :subid("123_1275811487.95429") :method
 .annotate 'line', 4
-    $P503 = self."!PREFIX__!subrule"("sigil", "")
-    $P504 = self."!PREFIX__!subrule"("sigil", "")
-    new $P505, "ResizablePMCArray"
-    push $P505, "$!"
-    push $P505, "$_"
-    push $P505, "$/"
-    push $P505, $P503
-    push $P505, $P504
-    .return ($P505)
+    $P509 = self."!PREFIX__!subrule"("sigil", "")
+    $P510 = self."!PREFIX__!subrule"("sigil", "")
+    new $P511, "ResizablePMCArray"
+    push $P511, "$!"
+    push $P511, "$_"
+    push $P511, "$/"
+    push $P511, $P509
+    push $P511, $P510
+    .return ($P511)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "sigil"  :subid("124_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "sigil"  :subid("124_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx513_tgt
-    .local int rx513_pos
-    .local int rx513_off
-    .local int rx513_eos
-    .local int rx513_rep
-    .local pmc rx513_cur
-    (rx513_cur, rx513_pos, rx513_tgt) = self."!cursor_start"()
-    rx513_cur."!cursor_debug"("START ", "sigil")
-    .lex unicode:"$\x{a2}", rx513_cur
-    .local pmc match
-    .lex "$/", match
-    length rx513_eos, rx513_tgt
-    gt rx513_pos, rx513_eos, rx513_done
-    set rx513_off, 0
-    lt rx513_pos, 2, rx513_start
-    sub rx513_off, rx513_pos, 1
-    substr rx513_tgt, rx513_tgt, rx513_off
-  rx513_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan516_done
-    goto rxscan516_scan
-  rxscan516_loop:
-    ($P10) = rx513_cur."from"()
-    inc $P10
-    set rx513_pos, $P10
-    ge rx513_pos, rx513_eos, rxscan516_done
-  rxscan516_scan:
-    set_addr $I10, rxscan516_loop
-    rx513_cur."!mark_push"(0, rx513_pos, $I10)
-  rxscan516_done:
+    .local string rx519_tgt
+    .local int rx519_pos
+    .local int rx519_off
+    .local int rx519_eos
+    .local int rx519_rep
+    .local pmc rx519_cur
+    (rx519_cur, rx519_pos, rx519_tgt) = self."!cursor_start"()
+    rx519_cur."!cursor_debug"("START ", "sigil")
+    .lex unicode:"$\x{a2}", rx519_cur
+    .local pmc match
+    .lex "$/", match
+    length rx519_eos, rx519_tgt
+    gt rx519_pos, rx519_eos, rx519_done
+    set rx519_off, 0
+    lt rx519_pos, 2, rx519_start
+    sub rx519_off, rx519_pos, 1
+    substr rx519_tgt, rx519_tgt, rx519_off
+  rx519_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan522_done
+    goto rxscan522_scan
+  rxscan522_loop:
+    ($P10) = rx519_cur."from"()
+    inc $P10
+    set rx519_pos, $P10
+    ge rx519_pos, rx519_eos, rxscan522_done
+  rxscan522_scan:
+    set_addr $I10, rxscan522_loop
+    rx519_cur."!mark_push"(0, rx519_pos, $I10)
+  rxscan522_done:
 .annotate 'line', 254
   # rx enumcharlist negate=0 
-    ge rx513_pos, rx513_eos, rx513_fail
-    sub $I10, rx513_pos, rx513_off
-    substr $S10, rx513_tgt, $I10, 1
+    ge rx519_pos, rx519_eos, rx519_fail
+    sub $I10, rx519_pos, rx519_off
+    substr $S10, rx519_tgt, $I10, 1
     index $I11, "$@%&", $S10
-    lt $I11, 0, rx513_fail
-    inc rx513_pos
+    lt $I11, 0, rx519_fail
+    inc rx519_pos
   # rx pass
-    rx513_cur."!cursor_pass"(rx513_pos, "sigil")
-    rx513_cur."!cursor_debug"("PASS  ", "sigil", " at pos=", rx513_pos)
-    .return (rx513_cur)
-  rx513_fail:
+    rx519_cur."!cursor_pass"(rx519_pos, "sigil")
+    rx519_cur."!cursor_debug"("PASS  ", "sigil", " at pos=", rx519_pos)
+    .return (rx519_cur)
+  rx519_fail:
 .annotate 'line', 4
-    (rx513_rep, rx513_pos, $I10, $P10) = rx513_cur."!mark_fail"(0)
-    lt rx513_pos, -1, rx513_done
-    eq rx513_pos, -1, rx513_fail
+    (rx519_rep, rx519_pos, $I10, $P10) = rx519_cur."!mark_fail"(0)
+    lt rx519_pos, -1, rx519_done
+    eq rx519_pos, -1, rx519_fail
     jump $I10
-  rx513_done:
-    rx513_cur."!cursor_fail"()
-    rx513_cur."!cursor_debug"("FAIL  ", "sigil")
-    .return (rx513_cur)
+  rx519_done:
+    rx519_cur."!cursor_fail"()
+    rx519_cur."!cursor_debug"("FAIL  ", "sigil")
+    .return (rx519_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__sigil"  :subid("125_1275600007.84296") :method
+.sub "!PREFIX__sigil"  :subid("125_1275811487.95429") :method
 .annotate 'line', 4
-    new $P515, "ResizablePMCArray"
-    push $P515, "&"
-    push $P515, "%"
-    push $P515, "@"
-    push $P515, "$"
-    .return ($P515)
+    new $P521, "ResizablePMCArray"
+    push $P521, "&"
+    push $P521, "%"
+    push $P521, "@"
+    push $P521, "$"
+    .return ($P521)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "twigil"  :subid("126_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "twigil"  :subid("126_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx518_tgt
-    .local int rx518_pos
-    .local int rx518_off
-    .local int rx518_eos
-    .local int rx518_rep
-    .local pmc rx518_cur
-    (rx518_cur, rx518_pos, rx518_tgt) = self."!cursor_start"()
-    rx518_cur."!cursor_debug"("START ", "twigil")
-    .lex unicode:"$\x{a2}", rx518_cur
+    .local string rx524_tgt
+    .local int rx524_pos
+    .local int rx524_off
+    .local int rx524_eos
+    .local int rx524_rep
+    .local pmc rx524_cur
+    (rx524_cur, rx524_pos, rx524_tgt) = self."!cursor_start"()
+    rx524_cur."!cursor_debug"("START ", "twigil")
+    .lex unicode:"$\x{a2}", rx524_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:
+    length rx524_eos, rx524_tgt
+    gt rx524_pos, rx524_eos, rx524_done
+    set rx524_off, 0
+    lt rx524_pos, 2, rx524_start
+    sub rx524_off, rx524_pos, 1
+    substr rx524_tgt, rx524_tgt, rx524_off
+  rx524_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan521_done
-    goto rxscan521_scan
-  rxscan521_loop:
-    ($P10) = rx518_cur."from"()
+    ne $I10, -1, rxscan527_done
+    goto rxscan527_scan
+  rxscan527_loop:
+    ($P10) = rx524_cur."from"()
     inc $P10
-    set rx518_pos, $P10
-    ge rx518_pos, rx518_eos, rxscan521_done
-  rxscan521_scan:
-    set_addr $I10, rxscan521_loop
-    rx518_cur."!mark_push"(0, rx518_pos, $I10)
-  rxscan521_done:
+    set rx524_pos, $P10
+    ge rx524_pos, rx524_eos, rxscan527_done
+  rxscan527_scan:
+    set_addr $I10, rxscan527_loop
+    rx524_cur."!mark_push"(0, rx524_pos, $I10)
+  rxscan527_done:
 .annotate 'line', 256
   # rx enumcharlist negate=0 
-    ge rx518_pos, rx518_eos, rx518_fail
-    sub $I10, rx518_pos, rx518_off
-    substr $S10, rx518_tgt, $I10, 1
+    ge rx524_pos, rx524_eos, rx524_fail
+    sub $I10, rx524_pos, rx524_off
+    substr $S10, rx524_tgt, $I10, 1
     index $I11, "*!?", $S10
-    lt $I11, 0, rx518_fail
-    inc rx518_pos
+    lt $I11, 0, rx524_fail
+    inc rx524_pos
   # rx pass
-    rx518_cur."!cursor_pass"(rx518_pos, "twigil")
-    rx518_cur."!cursor_debug"("PASS  ", "twigil", " at pos=", rx518_pos)
-    .return (rx518_cur)
-  rx518_fail:
+    rx524_cur."!cursor_pass"(rx524_pos, "twigil")
+    rx524_cur."!cursor_debug"("PASS  ", "twigil", " at pos=", rx524_pos)
+    .return (rx524_cur)
+  rx524_fail:
 .annotate 'line', 4
-    (rx518_rep, rx518_pos, $I10, $P10) = rx518_cur."!mark_fail"(0)
-    lt rx518_pos, -1, rx518_done
-    eq rx518_pos, -1, rx518_fail
+    (rx524_rep, rx524_pos, $I10, $P10) = rx524_cur."!mark_fail"(0)
+    lt rx524_pos, -1, rx524_done
+    eq rx524_pos, -1, rx524_fail
     jump $I10
-  rx518_done:
-    rx518_cur."!cursor_fail"()
-    rx518_cur."!cursor_debug"("FAIL  ", "twigil")
-    .return (rx518_cur)
+  rx524_done:
+    rx524_cur."!cursor_fail"()
+    rx524_cur."!cursor_debug"("FAIL  ", "twigil")
+    .return (rx524_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__twigil"  :subid("127_1275600007.84296") :method
+.sub "!PREFIX__twigil"  :subid("127_1275811487.95429") :method
 .annotate 'line', 4
-    new $P520, "ResizablePMCArray"
-    push $P520, "?"
-    push $P520, "!"
-    push $P520, "*"
-    .return ($P520)
+    new $P526, "ResizablePMCArray"
+    push $P526, "?"
+    push $P526, "!"
+    push $P526, "*"
+    .return ($P526)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator"  :subid("128_1275600007.84296") :method
+.sub "package_declarator"  :subid("128_1275811487.95429") :method
 .annotate 'line', 258
-    $P523 = self."!protoregex"("package_declarator")
-    .return ($P523)
+    $P529 = self."!protoregex"("package_declarator")
+    .return ($P529)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator"  :subid("129_1275600007.84296") :method
+.sub "!PREFIX__package_declarator"  :subid("129_1275811487.95429") :method
 .annotate 'line', 258
-    $P525 = self."!PREFIX__!protoregex"("package_declarator")
-    .return ($P525)
+    $P531 = self."!PREFIX__!protoregex"("package_declarator")
+    .return ($P531)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<module>"  :subid("130_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "package_declarator:sym<module>"  :subid("130_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx527_tgt
-    .local int rx527_pos
-    .local int rx527_off
-    .local int rx527_eos
-    .local int rx527_rep
-    .local pmc rx527_cur
-    (rx527_cur, rx527_pos, rx527_tgt) = self."!cursor_start"()
-    rx527_cur."!cursor_debug"("START ", "package_declarator:sym<module>")
-    .lex unicode:"$\x{a2}", rx527_cur
-    .local pmc match
-    .lex "$/", match
-    length rx527_eos, rx527_tgt
-    gt rx527_pos, rx527_eos, rx527_done
-    set rx527_off, 0
-    lt rx527_pos, 2, rx527_start
-    sub rx527_off, rx527_pos, 1
-    substr rx527_tgt, rx527_tgt, rx527_off
-  rx527_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan531_done
-    goto rxscan531_scan
-  rxscan531_loop:
-    ($P10) = rx527_cur."from"()
-    inc $P10
-    set rx527_pos, $P10
-    ge rx527_pos, rx527_eos, rxscan531_done
-  rxscan531_scan:
-    set_addr $I10, rxscan531_loop
-    rx527_cur."!mark_push"(0, rx527_pos, $I10)
-  rxscan531_done:
+    .local string rx533_tgt
+    .local int rx533_pos
+    .local int rx533_off
+    .local int rx533_eos
+    .local int rx533_rep
+    .local pmc rx533_cur
+    (rx533_cur, rx533_pos, rx533_tgt) = self."!cursor_start"()
+    rx533_cur."!cursor_debug"("START ", "package_declarator:sym<module>")
+    .lex unicode:"$\x{a2}", rx533_cur
+    .local pmc match
+    .lex "$/", match
+    length rx533_eos, rx533_tgt
+    gt rx533_pos, rx533_eos, rx533_done
+    set rx533_off, 0
+    lt rx533_pos, 2, rx533_start
+    sub rx533_off, rx533_pos, 1
+    substr rx533_tgt, rx533_tgt, rx533_off
+  rx533_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan537_done
+    goto rxscan537_scan
+  rxscan537_loop:
+    ($P10) = rx533_cur."from"()
+    inc $P10
+    set rx533_pos, $P10
+    ge rx533_pos, rx533_eos, rxscan537_done
+  rxscan537_scan:
+    set_addr $I10, rxscan537_loop
+    rx533_cur."!mark_push"(0, rx533_pos, $I10)
+  rxscan537_done:
 .annotate 'line', 259
   # rx subcapture "sym"
-    set_addr $I10, rxcap_532_fail
-    rx527_cur."!mark_push"(0, rx527_pos, $I10)
+    set_addr $I10, rxcap_538_fail
+    rx533_cur."!mark_push"(0, rx533_pos, $I10)
   # rx literal  "module"
-    add $I11, rx527_pos, 6
-    gt $I11, rx527_eos, rx527_fail
-    sub $I11, rx527_pos, rx527_off
-    substr $S10, rx527_tgt, $I11, 6
-    ne $S10, "module", rx527_fail
-    add rx527_pos, 6
-    set_addr $I10, rxcap_532_fail
-    ($I12, $I11) = rx527_cur."!mark_peek"($I10)
-    rx527_cur."!cursor_pos"($I11)
-    ($P10) = rx527_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx527_pos, "")
-    rx527_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx533_pos, 6
+    gt $I11, rx533_eos, rx533_fail
+    sub $I11, rx533_pos, rx533_off
+    substr $S10, rx533_tgt, $I11, 6
+    ne $S10, "module", rx533_fail
+    add rx533_pos, 6
+    set_addr $I10, rxcap_538_fail
+    ($I12, $I11) = rx533_cur."!mark_peek"($I10)
+    rx533_cur."!cursor_pos"($I11)
+    ($P10) = rx533_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx533_pos, "")
+    rx533_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_532_done
-  rxcap_532_fail:
-    goto rx527_fail
-  rxcap_532_done:
+    goto rxcap_538_done
+  rxcap_538_fail:
+    goto rx533_fail
+  rxcap_538_done:
   # rx subrule "package_def" subtype=capture negate=
-    rx527_cur."!cursor_pos"(rx527_pos)
-    $P10 = rx527_cur."package_def"()
-    unless $P10, rx527_fail
-    rx527_cur."!mark_push"(0, -1, 0, $P10)
+    rx533_cur."!cursor_pos"(rx533_pos)
+    $P10 = rx533_cur."package_def"()
+    unless $P10, rx533_fail
+    rx533_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_def")
-    rx527_pos = $P10."pos"()
+    rx533_pos = $P10."pos"()
   # rx pass
-    rx527_cur."!cursor_pass"(rx527_pos, "package_declarator:sym<module>")
-    rx527_cur."!cursor_debug"("PASS  ", "package_declarator:sym<module>", " at pos=", rx527_pos)
-    .return (rx527_cur)
-  rx527_fail:
+    rx533_cur."!cursor_pass"(rx533_pos, "package_declarator:sym<module>")
+    rx533_cur."!cursor_debug"("PASS  ", "package_declarator:sym<module>", " at pos=", rx533_pos)
+    .return (rx533_cur)
+  rx533_fail:
 .annotate 'line', 4
-    (rx527_rep, rx527_pos, $I10, $P10) = rx527_cur."!mark_fail"(0)
-    lt rx527_pos, -1, rx527_done
-    eq rx527_pos, -1, rx527_fail
+    (rx533_rep, rx533_pos, $I10, $P10) = rx533_cur."!mark_fail"(0)
+    lt rx533_pos, -1, rx533_done
+    eq rx533_pos, -1, rx533_fail
     jump $I10
-  rx527_done:
-    rx527_cur."!cursor_fail"()
-    rx527_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<module>")
-    .return (rx527_cur)
+  rx533_done:
+    rx533_cur."!cursor_fail"()
+    rx533_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<module>")
+    .return (rx533_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<module>"  :subid("131_1275600007.84296") :method
+.sub "!PREFIX__package_declarator:sym<module>"  :subid("131_1275811487.95429") :method
 .annotate 'line', 4
-    $P529 = self."!PREFIX__!subrule"("package_def", "module")
-    new $P530, "ResizablePMCArray"
-    push $P530, $P529
-    .return ($P530)
+    $P535 = self."!PREFIX__!subrule"("package_def", "module")
+    new $P536, "ResizablePMCArray"
+    push $P536, $P535
+    .return ($P536)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<class>"  :subid("132_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "package_declarator:sym<class>"  :subid("132_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx534_tgt
-    .local int rx534_pos
-    .local int rx534_off
-    .local int rx534_eos
-    .local int rx534_rep
-    .local pmc rx534_cur
-    (rx534_cur, rx534_pos, rx534_tgt) = self."!cursor_start"()
-    rx534_cur."!cursor_debug"("START ", "package_declarator:sym<class>")
-    .lex unicode:"$\x{a2}", rx534_cur
+    .local string rx540_tgt
+    .local int rx540_pos
+    .local int rx540_off
+    .local int rx540_eos
+    .local int rx540_rep
+    .local pmc rx540_cur
+    (rx540_cur, rx540_pos, rx540_tgt) = self."!cursor_start"()
+    rx540_cur."!cursor_debug"("START ", "package_declarator:sym<class>")
+    .lex unicode:"$\x{a2}", rx540_cur
     .local pmc match
     .lex "$/", match
-    length rx534_eos, rx534_tgt
-    gt rx534_pos, rx534_eos, rx534_done
-    set rx534_off, 0
-    lt rx534_pos, 2, rx534_start
-    sub rx534_off, rx534_pos, 1
-    substr rx534_tgt, rx534_tgt, rx534_off
-  rx534_start:
+    length rx540_eos, rx540_tgt
+    gt rx540_pos, rx540_eos, rx540_done
+    set rx540_off, 0
+    lt rx540_pos, 2, rx540_start
+    sub rx540_off, rx540_pos, 1
+    substr rx540_tgt, rx540_tgt, rx540_off
+  rx540_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan539_done
-    goto rxscan539_scan
-  rxscan539_loop:
-    ($P10) = rx534_cur."from"()
+    ne $I10, -1, rxscan545_done
+    goto rxscan545_scan
+  rxscan545_loop:
+    ($P10) = rx540_cur."from"()
     inc $P10
-    set rx534_pos, $P10
-    ge rx534_pos, rx534_eos, rxscan539_done
-  rxscan539_scan:
-    set_addr $I10, rxscan539_loop
-    rx534_cur."!mark_push"(0, rx534_pos, $I10)
-  rxscan539_done:
+    set rx540_pos, $P10
+    ge rx540_pos, rx540_eos, rxscan545_done
+  rxscan545_scan:
+    set_addr $I10, rxscan545_loop
+    rx540_cur."!mark_push"(0, rx540_pos, $I10)
+  rxscan545_done:
 .annotate 'line', 260
   # rx subcapture "sym"
-    set_addr $I10, rxcap_541_fail
-    rx534_cur."!mark_push"(0, rx534_pos, $I10)
-  alt540_0:
-    set_addr $I10, alt540_1
-    rx534_cur."!mark_push"(0, rx534_pos, $I10)
+    set_addr $I10, rxcap_547_fail
+    rx540_cur."!mark_push"(0, rx540_pos, $I10)
+  alt546_0:
+    set_addr $I10, alt546_1
+    rx540_cur."!mark_push"(0, rx540_pos, $I10)
   # rx literal  "class"
-    add $I11, rx534_pos, 5
-    gt $I11, rx534_eos, rx534_fail
-    sub $I11, rx534_pos, rx534_off
-    substr $S10, rx534_tgt, $I11, 5
-    ne $S10, "class", rx534_fail
-    add rx534_pos, 5
-    goto alt540_end
-  alt540_1:
+    add $I11, rx540_pos, 5
+    gt $I11, rx540_eos, rx540_fail
+    sub $I11, rx540_pos, rx540_off
+    substr $S10, rx540_tgt, $I11, 5
+    ne $S10, "class", rx540_fail
+    add rx540_pos, 5
+    goto alt546_end
+  alt546_1:
   # rx literal  "grammar"
-    add $I11, rx534_pos, 7
-    gt $I11, rx534_eos, rx534_fail
-    sub $I11, rx534_pos, rx534_off
-    substr $S10, rx534_tgt, $I11, 7
-    ne $S10, "grammar", rx534_fail
-    add rx534_pos, 7
-  alt540_end:
-    set_addr $I10, rxcap_541_fail
-    ($I12, $I11) = rx534_cur."!mark_peek"($I10)
-    rx534_cur."!cursor_pos"($I11)
-    ($P10) = rx534_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx534_pos, "")
-    rx534_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx540_pos, 7
+    gt $I11, rx540_eos, rx540_fail
+    sub $I11, rx540_pos, rx540_off
+    substr $S10, rx540_tgt, $I11, 7
+    ne $S10, "grammar", rx540_fail
+    add rx540_pos, 7
+  alt546_end:
+    set_addr $I10, rxcap_547_fail
+    ($I12, $I11) = rx540_cur."!mark_peek"($I10)
+    rx540_cur."!cursor_pos"($I11)
+    ($P10) = rx540_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx540_pos, "")
+    rx540_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_541_done
-  rxcap_541_fail:
-    goto rx534_fail
-  rxcap_541_done:
+    goto rxcap_547_done
+  rxcap_547_fail:
+    goto rx540_fail
+  rxcap_547_done:
   # rx subrule "package_def" subtype=capture negate=
-    rx534_cur."!cursor_pos"(rx534_pos)
-    $P10 = rx534_cur."package_def"()
-    unless $P10, rx534_fail
-    rx534_cur."!mark_push"(0, -1, 0, $P10)
+    rx540_cur."!cursor_pos"(rx540_pos)
+    $P10 = rx540_cur."package_def"()
+    unless $P10, rx540_fail
+    rx540_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("package_def")
-    rx534_pos = $P10."pos"()
+    rx540_pos = $P10."pos"()
   # rx pass
-    rx534_cur."!cursor_pass"(rx534_pos, "package_declarator:sym<class>")
-    rx534_cur."!cursor_debug"("PASS  ", "package_declarator:sym<class>", " at pos=", rx534_pos)
-    .return (rx534_cur)
-  rx534_fail:
+    rx540_cur."!cursor_pass"(rx540_pos, "package_declarator:sym<class>")
+    rx540_cur."!cursor_debug"("PASS  ", "package_declarator:sym<class>", " at pos=", rx540_pos)
+    .return (rx540_cur)
+  rx540_fail:
 .annotate 'line', 4
-    (rx534_rep, rx534_pos, $I10, $P10) = rx534_cur."!mark_fail"(0)
-    lt rx534_pos, -1, rx534_done
-    eq rx534_pos, -1, rx534_fail
+    (rx540_rep, rx540_pos, $I10, $P10) = rx540_cur."!mark_fail"(0)
+    lt rx540_pos, -1, rx540_done
+    eq rx540_pos, -1, rx540_fail
     jump $I10
-  rx534_done:
-    rx534_cur."!cursor_fail"()
-    rx534_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<class>")
-    .return (rx534_cur)
+  rx540_done:
+    rx540_cur."!cursor_fail"()
+    rx540_cur."!cursor_debug"("FAIL  ", "package_declarator:sym<class>")
+    .return (rx540_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<class>"  :subid("133_1275600007.84296") :method
+.sub "!PREFIX__package_declarator:sym<class>"  :subid("133_1275811487.95429") :method
 .annotate 'line', 4
-    $P536 = self."!PREFIX__!subrule"("package_def", "grammar")
-    $P537 = self."!PREFIX__!subrule"("package_def", "class")
-    new $P538, "ResizablePMCArray"
-    push $P538, $P536
-    push $P538, $P537
-    .return ($P538)
+    $P542 = self."!PREFIX__!subrule"("package_def", "grammar")
+    $P543 = self."!PREFIX__!subrule"("package_def", "class")
+    new $P544, "ResizablePMCArray"
+    push $P544, $P542
+    push $P544, $P543
+    .return ($P544)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_def"  :subid("134_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "package_def"  :subid("134_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx543_tgt
-    .local int rx543_pos
-    .local int rx543_off
-    .local int rx543_eos
-    .local int rx543_rep
-    .local pmc rx543_cur
-    (rx543_cur, rx543_pos, rx543_tgt) = self."!cursor_start"()
-    rx543_cur."!cursor_debug"("START ", "package_def")
-    rx543_cur."!cursor_caparray"("parent")
-    .lex unicode:"$\x{a2}", rx543_cur
+    .local string rx549_tgt
+    .local int rx549_pos
+    .local int rx549_off
+    .local int rx549_eos
+    .local int rx549_rep
+    .local pmc rx549_cur
+    (rx549_cur, rx549_pos, rx549_tgt) = self."!cursor_start"()
+    rx549_cur."!cursor_debug"("START ", "package_def")
+    rx549_cur."!cursor_caparray"("parent")
+    .lex unicode:"$\x{a2}", rx549_cur
     .local pmc match
     .lex "$/", match
-    length rx543_eos, rx543_tgt
-    gt rx543_pos, rx543_eos, rx543_done
-    set rx543_off, 0
-    lt rx543_pos, 2, rx543_start
-    sub rx543_off, rx543_pos, 1
-    substr rx543_tgt, rx543_tgt, rx543_off
-  rx543_start:
+    length rx549_eos, rx549_tgt
+    gt rx549_pos, rx549_eos, rx549_done
+    set rx549_off, 0
+    lt rx549_pos, 2, rx549_start
+    sub rx549_off, rx549_pos, 1
+    substr rx549_tgt, rx549_tgt, rx549_off
+  rx549_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan546_done
-    goto rxscan546_scan
-  rxscan546_loop:
-    ($P10) = rx543_cur."from"()
+    ne $I10, -1, rxscan553_done
+    goto rxscan553_scan
+  rxscan553_loop:
+    ($P10) = rx549_cur."from"()
     inc $P10
-    set rx543_pos, $P10
-    ge rx543_pos, rx543_eos, rxscan546_done
-  rxscan546_scan:
-    set_addr $I10, rxscan546_loop
-    rx543_cur."!mark_push"(0, rx543_pos, $I10)
-  rxscan546_done:
+    set rx549_pos, $P10
+    ge rx549_pos, rx549_eos, rxscan553_done
+  rxscan553_scan:
+    set_addr $I10, rxscan553_loop
+    rx549_cur."!mark_push"(0, rx549_pos, $I10)
+  rxscan553_done:
 .annotate 'line', 262
   # rx subrule "ws" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."ws"()
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."ws"()
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
 .annotate 'line', 263
   # rx subrule "name" subtype=capture negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."name"()
-    unless $P10, rx543_fail
-    rx543_cur."!mark_push"(0, -1, 0, $P10)
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."name"()
+    unless $P10, rx549_fail
+    rx549_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx543_pos = $P10."pos"()
+    rx549_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."ws"()
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."ws"()
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
 .annotate 'line', 264
-  # rx rxquantr549 ** 0..1
-    set_addr $I553, rxquantr549_done
-    rx543_cur."!mark_push"(0, rx543_pos, $I553)
-  rxquantr549_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."ws"()
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
+  # rx rxquantr556 ** 0..1
+    set_addr $I560, rxquantr556_done
+    rx549_cur."!mark_push"(0, rx549_pos, $I560)
+  rxquantr556_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."ws"()
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
   # rx literal  "is"
-    add $I11, rx543_pos, 2
-    gt $I11, rx543_eos, rx543_fail
-    sub $I11, rx543_pos, rx543_off
-    substr $S10, rx543_tgt, $I11, 2
-    ne $S10, "is", rx543_fail
-    add rx543_pos, 2
-  # rx subrule "ws" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."ws"()
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
+    add $I11, rx549_pos, 2
+    gt $I11, rx549_eos, rx549_fail
+    sub $I11, rx549_pos, rx549_off
+    substr $S10, rx549_tgt, $I11, 2
+    ne $S10, "is", rx549_fail
+    add rx549_pos, 2
+  # rx subrule "ws" subtype=method negate=
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."ws"()
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
   # rx subrule "name" subtype=capture negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."name"()
-    unless $P10, rx543_fail
-    rx543_cur."!mark_push"(0, -1, 0, $P10)
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."name"()
+    unless $P10, rx549_fail
+    rx549_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("parent")
-    rx543_pos = $P10."pos"()
+    rx549_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."ws"()
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
-    (rx543_rep) = rx543_cur."!mark_commit"($I553)
-  rxquantr549_done:
-  # rx subrule "ws" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."ws"()
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
-  alt555_0:
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."ws"()
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
+    (rx549_rep) = rx549_cur."!mark_commit"($I560)
+  rxquantr556_done:
+  # rx subrule "ws" subtype=method negate=
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."ws"()
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
+  alt562_0:
 .annotate 'line', 265
-    set_addr $I10, alt555_1
-    rx543_cur."!mark_push"(0, rx543_pos, $I10)
+    set_addr $I10, alt562_1
+    rx549_cur."!mark_push"(0, rx549_pos, $I10)
 .annotate 'line', 266
   # rx subrule "ws" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."ws"()
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."ws"()
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
   # rx literal  ";"
-    add $I11, rx543_pos, 1
-    gt $I11, rx543_eos, rx543_fail
-    sub $I11, rx543_pos, rx543_off
-    substr $S10, rx543_tgt, $I11, 1
-    ne $S10, ";", rx543_fail
-    add rx543_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."ws"()
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
+    add $I11, rx549_pos, 1
+    gt $I11, rx549_eos, rx549_fail
+    sub $I11, rx549_pos, rx549_off
+    substr $S10, rx549_tgt, $I11, 1
+    ne $S10, ";", rx549_fail
+    add rx549_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."ws"()
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
   # rx subrule "comp_unit" subtype=capture negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."comp_unit"()
-    unless $P10, rx543_fail
-    rx543_cur."!mark_push"(0, -1, 0, $P10)
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."comp_unit"()
+    unless $P10, rx549_fail
+    rx549_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("comp_unit")
-    rx543_pos = $P10."pos"()
+    rx549_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."ws"()
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
-    goto alt555_end
-  alt555_1:
-    set_addr $I10, alt555_2
-    rx543_cur."!mark_push"(0, rx543_pos, $I10)
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."ws"()
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
+    goto alt562_end
+  alt562_1:
+    set_addr $I10, alt562_2
+    rx549_cur."!mark_push"(0, rx549_pos, $I10)
 .annotate 'line', 267
   # rx subrule "ws" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."ws"()
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."ws"()
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx543_pos, rx543_eos, rx543_fail
-    sub $I10, rx543_pos, rx543_off
-    substr $S10, rx543_tgt, $I10, 1
+    ge rx549_pos, rx549_eos, rx549_fail
+    sub $I10, rx549_pos, rx549_off
+    substr $S10, rx549_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx543_fail
+    lt $I11, 0, rx549_fail
   # rx subrule "ws" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."ws"()
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."ws"()
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
   # rx subrule "block" subtype=capture negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."block"()
-    unless $P10, rx543_fail
-    rx543_cur."!mark_push"(0, -1, 0, $P10)
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."block"()
+    unless $P10, rx549_fail
+    rx549_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx543_pos = $P10."pos"()
+    rx549_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."ws"()
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
-    goto alt555_end
-  alt555_2:
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."ws"()
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
+    goto alt562_end
+  alt562_2:
 .annotate 'line', 268
   # rx subrule "ws" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."ws"()
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."ws"()
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."panic"("Malformed package declaration")
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."ws"()
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
-  alt555_end:
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."panic"("Malformed package declaration")
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."ws"()
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
+  alt562_end:
 .annotate 'line', 269
   # rx subrule "ws" subtype=method negate=
-    rx543_cur."!cursor_pos"(rx543_pos)
-    $P10 = rx543_cur."ws"()
-    unless $P10, rx543_fail
-    rx543_pos = $P10."pos"()
+    rx549_cur."!cursor_pos"(rx549_pos)
+    $P10 = rx549_cur."ws"()
+    unless $P10, rx549_fail
+    rx549_pos = $P10."pos"()
 .annotate 'line', 262
   # rx pass
-    rx543_cur."!cursor_pass"(rx543_pos, "package_def")
-    rx543_cur."!cursor_debug"("PASS  ", "package_def", " at pos=", rx543_pos)
-    .return (rx543_cur)
-  rx543_fail:
+    rx549_cur."!cursor_pass"(rx549_pos, "package_def")
+    rx549_cur."!cursor_debug"("PASS  ", "package_def", " at pos=", rx549_pos)
+    .return (rx549_cur)
+  rx549_fail:
 .annotate 'line', 4
-    (rx543_rep, rx543_pos, $I10, $P10) = rx543_cur."!mark_fail"(0)
-    lt rx543_pos, -1, rx543_done
-    eq rx543_pos, -1, rx543_fail
+    (rx549_rep, rx549_pos, $I10, $P10) = rx549_cur."!mark_fail"(0)
+    lt rx549_pos, -1, rx549_done
+    eq rx549_pos, -1, rx549_fail
     jump $I10
-  rx543_done:
-    rx543_cur."!cursor_fail"()
-    rx543_cur."!cursor_debug"("FAIL  ", "package_def")
-    .return (rx543_cur)
+  rx549_done:
+    rx549_cur."!cursor_fail"()
+    rx549_cur."!cursor_debug"("FAIL  ", "package_def")
+    .return (rx549_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_def"  :subid("135_1275600007.84296") :method
+.sub "!PREFIX__package_def"  :subid("135_1275811487.95429") :method
 .annotate 'line', 4
-    new $P545, "ResizablePMCArray"
-    push $P545, ""
-    .return ($P545)
+    $P551 = self."!PREFIX__!subrule"("ws", "")
+    new $P552, "ResizablePMCArray"
+    push $P552, $P551
+    .return ($P552)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator"  :subid("136_1275600007.84296") :method
+.sub "scope_declarator"  :subid("136_1275811487.95429") :method
 .annotate 'line', 272
-    $P566 = self."!protoregex"("scope_declarator")
-    .return ($P566)
+    $P573 = self."!protoregex"("scope_declarator")
+    .return ($P573)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator"  :subid("137_1275600007.84296") :method
+.sub "!PREFIX__scope_declarator"  :subid("137_1275811487.95429") :method
 .annotate 'line', 272
-    $P568 = self."!PREFIX__!protoregex"("scope_declarator")
-    .return ($P568)
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<my>"  :subid("138_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 4
-    .local string rx570_tgt
-    .local int rx570_pos
-    .local int rx570_off
-    .local int rx570_eos
-    .local int rx570_rep
-    .local pmc rx570_cur
-    (rx570_cur, rx570_pos, rx570_tgt) = self."!cursor_start"()
-    rx570_cur."!cursor_debug"("START ", "scope_declarator:sym<my>")
-    .lex unicode:"$\x{a2}", rx570_cur
-    .local pmc match
-    .lex "$/", match
-    length rx570_eos, rx570_tgt
-    gt rx570_pos, rx570_eos, rx570_done
-    set rx570_off, 0
-    lt rx570_pos, 2, rx570_start
-    sub rx570_off, rx570_pos, 1
-    substr rx570_tgt, rx570_tgt, rx570_off
-  rx570_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan574_done
-    goto rxscan574_scan
-  rxscan574_loop:
-    ($P10) = rx570_cur."from"()
-    inc $P10
-    set rx570_pos, $P10
-    ge rx570_pos, rx570_eos, rxscan574_done
-  rxscan574_scan:
-    set_addr $I10, rxscan574_loop
-    rx570_cur."!mark_push"(0, rx570_pos, $I10)
-  rxscan574_done:
-.annotate 'line', 273
-  # rx subcapture "sym"
-    set_addr $I10, rxcap_575_fail
-    rx570_cur."!mark_push"(0, rx570_pos, $I10)
-  # rx literal  "my"
-    add $I11, rx570_pos, 2
-    gt $I11, rx570_eos, rx570_fail
-    sub $I11, rx570_pos, rx570_off
-    substr $S10, rx570_tgt, $I11, 2
-    ne $S10, "my", rx570_fail
-    add rx570_pos, 2
-    set_addr $I10, rxcap_575_fail
-    ($I12, $I11) = rx570_cur."!mark_peek"($I10)
-    rx570_cur."!cursor_pos"($I11)
-    ($P10) = rx570_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx570_pos, "")
-    rx570_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("sym")
-    goto rxcap_575_done
-  rxcap_575_fail:
-    goto rx570_fail
-  rxcap_575_done:
-  # rx subrule "scoped" subtype=capture negate=
-    rx570_cur."!cursor_pos"(rx570_pos)
-    $P10 = rx570_cur."scoped"("my")
-    unless $P10, rx570_fail
-    rx570_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("scoped")
-    rx570_pos = $P10."pos"()
-  # rx pass
-    rx570_cur."!cursor_pass"(rx570_pos, "scope_declarator:sym<my>")
-    rx570_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<my>", " at pos=", rx570_pos)
-    .return (rx570_cur)
-  rx570_fail:
-.annotate 'line', 4
-    (rx570_rep, rx570_pos, $I10, $P10) = rx570_cur."!mark_fail"(0)
-    lt rx570_pos, -1, rx570_done
-    eq rx570_pos, -1, rx570_fail
-    jump $I10
-  rx570_done:
-    rx570_cur."!cursor_fail"()
-    rx570_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<my>")
-    .return (rx570_cur)
-    .return ()
-.end
-
-
-.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<my>"  :subid("139_1275600007.84296") :method
-.annotate 'line', 4
-    $P572 = self."!PREFIX__!subrule"("scoped", "my")
-    new $P573, "ResizablePMCArray"
-    push $P573, $P572
-    .return ($P573)
+    $P575 = self."!PREFIX__!protoregex"("scope_declarator")
+    .return ($P575)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<our>"  :subid("140_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "scope_declarator:sym<my>"  :subid("138_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx577_tgt
     .local int rx577_pos
@@ -7051,7 +6969,7 @@
     .local int rx577_rep
     .local pmc rx577_cur
     (rx577_cur, rx577_pos, rx577_tgt) = self."!cursor_start"()
-    rx577_cur."!cursor_debug"("START ", "scope_declarator:sym<our>")
+    rx577_cur."!cursor_debug"("START ", "scope_declarator:sym<my>")
     .lex unicode:"$\x{a2}", rx577_cur
     .local pmc match
     .lex "$/", match
@@ -7074,17 +6992,17 @@
     set_addr $I10, rxscan581_loop
     rx577_cur."!mark_push"(0, rx577_pos, $I10)
   rxscan581_done:
-.annotate 'line', 274
+.annotate 'line', 273
   # rx subcapture "sym"
     set_addr $I10, rxcap_582_fail
     rx577_cur."!mark_push"(0, rx577_pos, $I10)
-  # rx literal  "our"
-    add $I11, rx577_pos, 3
+  # rx literal  "my"
+    add $I11, rx577_pos, 2
     gt $I11, rx577_eos, rx577_fail
     sub $I11, rx577_pos, rx577_off
-    substr $S10, rx577_tgt, $I11, 3
-    ne $S10, "our", rx577_fail
-    add rx577_pos, 3
+    substr $S10, rx577_tgt, $I11, 2
+    ne $S10, "my", rx577_fail
+    add rx577_pos, 2
     set_addr $I10, rxcap_582_fail
     ($I12, $I11) = rx577_cur."!mark_peek"($I10)
     rx577_cur."!cursor_pos"($I11)
@@ -7098,14 +7016,14 @@
   rxcap_582_done:
   # rx subrule "scoped" subtype=capture negate=
     rx577_cur."!cursor_pos"(rx577_pos)
-    $P10 = rx577_cur."scoped"("our")
+    $P10 = rx577_cur."scoped"("my")
     unless $P10, rx577_fail
     rx577_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
     rx577_pos = $P10."pos"()
   # rx pass
-    rx577_cur."!cursor_pass"(rx577_pos, "scope_declarator:sym<our>")
-    rx577_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<our>", " at pos=", rx577_pos)
+    rx577_cur."!cursor_pass"(rx577_pos, "scope_declarator:sym<my>")
+    rx577_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<my>", " at pos=", rx577_pos)
     .return (rx577_cur)
   rx577_fail:
 .annotate 'line', 4
@@ -7115,16 +7033,16 @@
     jump $I10
   rx577_done:
     rx577_cur."!cursor_fail"()
-    rx577_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<our>")
+    rx577_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<my>")
     .return (rx577_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<our>"  :subid("141_1275600007.84296") :method
+.sub "!PREFIX__scope_declarator:sym<my>"  :subid("139_1275811487.95429") :method
 .annotate 'line', 4
-    $P579 = self."!PREFIX__!subrule"("scoped", "our")
+    $P579 = self."!PREFIX__!subrule"("scoped", "my")
     new $P580, "ResizablePMCArray"
     push $P580, $P579
     .return ($P580)
@@ -7132,7 +7050,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<has>"  :subid("142_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "scope_declarator:sym<our>"  :subid("140_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
     .local string rx584_tgt
     .local int rx584_pos
@@ -7141,7 +7059,7 @@
     .local int rx584_rep
     .local pmc rx584_cur
     (rx584_cur, rx584_pos, rx584_tgt) = self."!cursor_start"()
-    rx584_cur."!cursor_debug"("START ", "scope_declarator:sym<has>")
+    rx584_cur."!cursor_debug"("START ", "scope_declarator:sym<our>")
     .lex unicode:"$\x{a2}", rx584_cur
     .local pmc match
     .lex "$/", match
@@ -7164,16 +7082,16 @@
     set_addr $I10, rxscan588_loop
     rx584_cur."!mark_push"(0, rx584_pos, $I10)
   rxscan588_done:
-.annotate 'line', 275
+.annotate 'line', 274
   # rx subcapture "sym"
     set_addr $I10, rxcap_589_fail
     rx584_cur."!mark_push"(0, rx584_pos, $I10)
-  # rx literal  "has"
+  # rx literal  "our"
     add $I11, rx584_pos, 3
     gt $I11, rx584_eos, rx584_fail
     sub $I11, rx584_pos, rx584_off
     substr $S10, rx584_tgt, $I11, 3
-    ne $S10, "has", rx584_fail
+    ne $S10, "our", rx584_fail
     add rx584_pos, 3
     set_addr $I10, rxcap_589_fail
     ($I12, $I11) = rx584_cur."!mark_peek"($I10)
@@ -7188,14 +7106,14 @@
   rxcap_589_done:
   # rx subrule "scoped" subtype=capture negate=
     rx584_cur."!cursor_pos"(rx584_pos)
-    $P10 = rx584_cur."scoped"("has")
+    $P10 = rx584_cur."scoped"("our")
     unless $P10, rx584_fail
     rx584_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("scoped")
     rx584_pos = $P10."pos"()
   # rx pass
-    rx584_cur."!cursor_pass"(rx584_pos, "scope_declarator:sym<has>")
-    rx584_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<has>", " at pos=", rx584_pos)
+    rx584_cur."!cursor_pass"(rx584_pos, "scope_declarator:sym<our>")
+    rx584_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<our>", " at pos=", rx584_pos)
     .return (rx584_cur)
   rx584_fail:
 .annotate 'line', 4
@@ -7205,16 +7123,16 @@
     jump $I10
   rx584_done:
     rx584_cur."!cursor_fail"()
-    rx584_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<has>")
+    rx584_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<our>")
     .return (rx584_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<has>"  :subid("143_1275600007.84296") :method
+.sub "!PREFIX__scope_declarator:sym<our>"  :subid("141_1275811487.95429") :method
 .annotate 'line', 4
-    $P586 = self."!PREFIX__!subrule"("scoped", "has")
+    $P586 = self."!PREFIX__!subrule"("scoped", "our")
     new $P587, "ResizablePMCArray"
     push $P587, $P586
     .return ($P587)
@@ -7222,10200 +7140,10300 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scoped"  :subid("144_1275600007.84296") :method :outer("11_1275600007.84296")
-    .param pmc param_591
-.annotate 'line', 277
-    .lex "$*SCOPE", param_591
+.sub "scope_declarator:sym<has>"  :subid("142_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx592_tgt
-    .local int rx592_pos
-    .local int rx592_off
-    .local int rx592_eos
-    .local int rx592_rep
-    .local pmc rx592_cur
-    (rx592_cur, rx592_pos, rx592_tgt) = self."!cursor_start"()
-    rx592_cur."!cursor_debug"("START ", "scoped")
-    .lex unicode:"$\x{a2}", rx592_cur
-    .local pmc match
-    .lex "$/", match
-    length rx592_eos, rx592_tgt
-    gt rx592_pos, rx592_eos, rx592_done
-    set rx592_off, 0
-    lt rx592_pos, 2, rx592_start
-    sub rx592_off, rx592_pos, 1
-    substr rx592_tgt, rx592_tgt, rx592_off
-  rx592_start:
+    .local string rx591_tgt
+    .local int rx591_pos
+    .local int rx591_off
+    .local int rx591_eos
+    .local int rx591_rep
+    .local pmc rx591_cur
+    (rx591_cur, rx591_pos, rx591_tgt) = self."!cursor_start"()
+    rx591_cur."!cursor_debug"("START ", "scope_declarator:sym<has>")
+    .lex unicode:"$\x{a2}", rx591_cur
+    .local pmc match
+    .lex "$/", match
+    length rx591_eos, rx591_tgt
+    gt rx591_pos, rx591_eos, rx591_done
+    set rx591_off, 0
+    lt rx591_pos, 2, rx591_start
+    sub rx591_off, rx591_pos, 1
+    substr rx591_tgt, rx591_tgt, rx591_off
+  rx591_start:
     $I10 = self.'from'()
     ne $I10, -1, rxscan595_done
     goto rxscan595_scan
   rxscan595_loop:
-    ($P10) = rx592_cur."from"()
+    ($P10) = rx591_cur."from"()
     inc $P10
-    set rx592_pos, $P10
-    ge rx592_pos, rx592_eos, rxscan595_done
+    set rx591_pos, $P10
+    ge rx591_pos, rx591_eos, rxscan595_done
   rxscan595_scan:
     set_addr $I10, rxscan595_loop
-    rx592_cur."!mark_push"(0, rx592_pos, $I10)
+    rx591_cur."!mark_push"(0, rx591_pos, $I10)
   rxscan595_done:
-  alt596_0:
-.annotate 'line', 277
-    set_addr $I10, alt596_1
-    rx592_cur."!mark_push"(0, rx592_pos, $I10)
-.annotate 'line', 278
-  # rx subrule "ws" subtype=method negate=
-    rx592_cur."!cursor_pos"(rx592_pos)
-    $P10 = rx592_cur."ws"()
-    unless $P10, rx592_fail
-    rx592_pos = $P10."pos"()
-  # rx subrule "declarator" subtype=capture negate=
-    rx592_cur."!cursor_pos"(rx592_pos)
-    $P10 = rx592_cur."declarator"()
-    unless $P10, rx592_fail
-    rx592_cur."!mark_push"(0, -1, 0, $P10)
-    $P10."!cursor_names"("declarator")
-    rx592_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx592_cur."!cursor_pos"(rx592_pos)
-    $P10 = rx592_cur."ws"()
-    unless $P10, rx592_fail
-    rx592_pos = $P10."pos"()
-    goto alt596_end
-  alt596_1:
-.annotate 'line', 279
+.annotate 'line', 275
+  # rx subcapture "sym"
+    set_addr $I10, rxcap_596_fail
+    rx591_cur."!mark_push"(0, rx591_pos, $I10)
+  # rx literal  "has"
+    add $I11, rx591_pos, 3
+    gt $I11, rx591_eos, rx591_fail
+    sub $I11, rx591_pos, rx591_off
+    substr $S10, rx591_tgt, $I11, 3
+    ne $S10, "has", rx591_fail
+    add rx591_pos, 3
+    set_addr $I10, rxcap_596_fail
+    ($I12, $I11) = rx591_cur."!mark_peek"($I10)
+    rx591_cur."!cursor_pos"($I11)
+    ($P10) = rx591_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx591_pos, "")
+    rx591_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("sym")
+    goto rxcap_596_done
+  rxcap_596_fail:
+    goto rx591_fail
+  rxcap_596_done:
+  # rx subrule "scoped" subtype=capture negate=
+    rx591_cur."!cursor_pos"(rx591_pos)
+    $P10 = rx591_cur."scoped"("has")
+    unless $P10, rx591_fail
+    rx591_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("scoped")
+    rx591_pos = $P10."pos"()
+  # rx pass
+    rx591_cur."!cursor_pass"(rx591_pos, "scope_declarator:sym<has>")
+    rx591_cur."!cursor_debug"("PASS  ", "scope_declarator:sym<has>", " at pos=", rx591_pos)
+    .return (rx591_cur)
+  rx591_fail:
+.annotate 'line', 4
+    (rx591_rep, rx591_pos, $I10, $P10) = rx591_cur."!mark_fail"(0)
+    lt rx591_pos, -1, rx591_done
+    eq rx591_pos, -1, rx591_fail
+    jump $I10
+  rx591_done:
+    rx591_cur."!cursor_fail"()
+    rx591_cur."!cursor_debug"("FAIL  ", "scope_declarator:sym<has>")
+    .return (rx591_cur)
+    .return ()
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "!PREFIX__scope_declarator:sym<has>"  :subid("143_1275811487.95429") :method
+.annotate 'line', 4
+    $P593 = self."!PREFIX__!subrule"("scoped", "has")
+    new $P594, "ResizablePMCArray"
+    push $P594, $P593
+    .return ($P594)
+.end
+
+
+.namespace ["NQP";"Grammar"]
+.sub "scoped"  :subid("144_1275811487.95429") :method :outer("11_1275811487.95429")
+    .param pmc param_598
+.annotate 'line', 277
+    .lex "$*SCOPE", param_598
+.annotate 'line', 4
+    .local string rx599_tgt
+    .local int rx599_pos
+    .local int rx599_off
+    .local int rx599_eos
+    .local int rx599_rep
+    .local pmc rx599_cur
+    (rx599_cur, rx599_pos, rx599_tgt) = self."!cursor_start"()
+    rx599_cur."!cursor_debug"("START ", "scoped")
+    .lex unicode:"$\x{a2}", rx599_cur
+    .local pmc match
+    .lex "$/", match
+    length rx599_eos, rx599_tgt
+    gt rx599_pos, rx599_eos, rx599_done
+    set rx599_off, 0
+    lt rx599_pos, 2, rx599_start
+    sub rx599_off, rx599_pos, 1
+    substr rx599_tgt, rx599_tgt, rx599_off
+  rx599_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan604_done
+    goto rxscan604_scan
+  rxscan604_loop:
+    ($P10) = rx599_cur."from"()
+    inc $P10
+    set rx599_pos, $P10
+    ge rx599_pos, rx599_eos, rxscan604_done
+  rxscan604_scan:
+    set_addr $I10, rxscan604_loop
+    rx599_cur."!mark_push"(0, rx599_pos, $I10)
+  rxscan604_done:
+  alt605_0:
+.annotate 'line', 277
+    set_addr $I10, alt605_1
+    rx599_cur."!mark_push"(0, rx599_pos, $I10)
+.annotate 'line', 278
+  # rx subrule "ws" subtype=method negate=
+    rx599_cur."!cursor_pos"(rx599_pos)
+    $P10 = rx599_cur."ws"()
+    unless $P10, rx599_fail
+    rx599_pos = $P10."pos"()
+  # rx subrule "declarator" subtype=capture negate=
+    rx599_cur."!cursor_pos"(rx599_pos)
+    $P10 = rx599_cur."declarator"()
+    unless $P10, rx599_fail
+    rx599_cur."!mark_push"(0, -1, 0, $P10)
+    $P10."!cursor_names"("declarator")
+    rx599_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx592_cur."!cursor_pos"(rx592_pos)
-    $P10 = rx592_cur."ws"()
-    unless $P10, rx592_fail
-    rx592_pos = $P10."pos"()
+    rx599_cur."!cursor_pos"(rx599_pos)
+    $P10 = rx599_cur."ws"()
+    unless $P10, rx599_fail
+    rx599_pos = $P10."pos"()
+    goto alt605_end
+  alt605_1:
+.annotate 'line', 279
+  # rx subrule "ws" subtype=method negate=
+    rx599_cur."!cursor_pos"(rx599_pos)
+    $P10 = rx599_cur."ws"()
+    unless $P10, rx599_fail
+    rx599_pos = $P10."pos"()
   # rx subrule "multi_declarator" subtype=capture negate=
-    rx592_cur."!cursor_pos"(rx592_pos)
-    $P10 = rx592_cur."multi_declarator"()
-    unless $P10, rx592_fail
-    rx592_cur."!mark_push"(0, -1, 0, $P10)
+    rx599_cur."!cursor_pos"(rx599_pos)
+    $P10 = rx599_cur."multi_declarator"()
+    unless $P10, rx599_fail
+    rx599_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("multi_declarator")
-    rx592_pos = $P10."pos"()
+    rx599_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx592_cur."!cursor_pos"(rx592_pos)
-    $P10 = rx592_cur."ws"()
-    unless $P10, rx592_fail
-    rx592_pos = $P10."pos"()
-  alt596_end:
+    rx599_cur."!cursor_pos"(rx599_pos)
+    $P10 = rx599_cur."ws"()
+    unless $P10, rx599_fail
+    rx599_pos = $P10."pos"()
+  alt605_end:
 .annotate 'line', 277
   # rx pass
-    rx592_cur."!cursor_pass"(rx592_pos, "scoped")
-    rx592_cur."!cursor_debug"("PASS  ", "scoped", " at pos=", rx592_pos)
-    .return (rx592_cur)
-  rx592_fail:
+    rx599_cur."!cursor_pass"(rx599_pos, "scoped")
+    rx599_cur."!cursor_debug"("PASS  ", "scoped", " at pos=", rx599_pos)
+    .return (rx599_cur)
+  rx599_fail:
 .annotate 'line', 4
-    (rx592_rep, rx592_pos, $I10, $P10) = rx592_cur."!mark_fail"(0)
-    lt rx592_pos, -1, rx592_done
-    eq rx592_pos, -1, rx592_fail
+    (rx599_rep, rx599_pos, $I10, $P10) = rx599_cur."!mark_fail"(0)
+    lt rx599_pos, -1, rx599_done
+    eq rx599_pos, -1, rx599_fail
     jump $I10
-  rx592_done:
-    rx592_cur."!cursor_fail"()
-    rx592_cur."!cursor_debug"("FAIL  ", "scoped")
-    .return (rx592_cur)
+  rx599_done:
+    rx599_cur."!cursor_fail"()
+    rx599_cur."!cursor_debug"("FAIL  ", "scoped")
+    .return (rx599_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scoped"  :subid("145_1275600007.84296") :method
+.sub "!PREFIX__scoped"  :subid("145_1275811487.95429") :method
 .annotate 'line', 4
-    new $P594, "ResizablePMCArray"
-    push $P594, ""
-    push $P594, ""
-    .return ($P594)
+    $P601 = self."!PREFIX__!subrule"("ws", "")
+    $P602 = self."!PREFIX__!subrule"("ws", "")
+    new $P603, "ResizablePMCArray"
+    push $P603, $P601
+    push $P603, $P602
+    .return ($P603)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "typename"  :subid("146_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "typename"  :subid("146_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx602_tgt
-    .local int rx602_pos
-    .local int rx602_off
-    .local int rx602_eos
-    .local int rx602_rep
-    .local pmc rx602_cur
-    (rx602_cur, rx602_pos, rx602_tgt) = self."!cursor_start"()
-    rx602_cur."!cursor_debug"("START ", "typename")
-    .lex unicode:"$\x{a2}", rx602_cur
-    .local pmc match
-    .lex "$/", match
-    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, rxscan606_done
-    goto rxscan606_scan
-  rxscan606_loop:
-    ($P10) = rx602_cur."from"()
-    inc $P10
-    set rx602_pos, $P10
-    ge rx602_pos, rx602_eos, rxscan606_done
-  rxscan606_scan:
-    set_addr $I10, rxscan606_loop
-    rx602_cur."!mark_push"(0, rx602_pos, $I10)
-  rxscan606_done:
+    .local string rx611_tgt
+    .local int rx611_pos
+    .local int rx611_off
+    .local int rx611_eos
+    .local int rx611_rep
+    .local pmc rx611_cur
+    (rx611_cur, rx611_pos, rx611_tgt) = self."!cursor_start"()
+    rx611_cur."!cursor_debug"("START ", "typename")
+    .lex unicode:"$\x{a2}", rx611_cur
+    .local pmc match
+    .lex "$/", match
+    length rx611_eos, rx611_tgt
+    gt rx611_pos, rx611_eos, rx611_done
+    set rx611_off, 0
+    lt rx611_pos, 2, rx611_start
+    sub rx611_off, rx611_pos, 1
+    substr rx611_tgt, rx611_tgt, rx611_off
+  rx611_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan615_done
+    goto rxscan615_scan
+  rxscan615_loop:
+    ($P10) = rx611_cur."from"()
+    inc $P10
+    set rx611_pos, $P10
+    ge rx611_pos, rx611_eos, rxscan615_done
+  rxscan615_scan:
+    set_addr $I10, rxscan615_loop
+    rx611_cur."!mark_push"(0, rx611_pos, $I10)
+  rxscan615_done:
 .annotate 'line', 282
   # rx subrule "name" subtype=capture negate=
-    rx602_cur."!cursor_pos"(rx602_pos)
-    $P10 = rx602_cur."name"()
-    unless $P10, rx602_fail
-    rx602_cur."!mark_push"(0, -1, 0, $P10)
+    rx611_cur."!cursor_pos"(rx611_pos)
+    $P10 = rx611_cur."name"()
+    unless $P10, rx611_fail
+    rx611_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx602_pos = $P10."pos"()
+    rx611_pos = $P10."pos"()
   # rx pass
-    rx602_cur."!cursor_pass"(rx602_pos, "typename")
-    rx602_cur."!cursor_debug"("PASS  ", "typename", " at pos=", rx602_pos)
-    .return (rx602_cur)
-  rx602_fail:
+    rx611_cur."!cursor_pass"(rx611_pos, "typename")
+    rx611_cur."!cursor_debug"("PASS  ", "typename", " at pos=", rx611_pos)
+    .return (rx611_cur)
+  rx611_fail:
 .annotate 'line', 4
-    (rx602_rep, rx602_pos, $I10, $P10) = rx602_cur."!mark_fail"(0)
-    lt rx602_pos, -1, rx602_done
-    eq rx602_pos, -1, rx602_fail
+    (rx611_rep, rx611_pos, $I10, $P10) = rx611_cur."!mark_fail"(0)
+    lt rx611_pos, -1, rx611_done
+    eq rx611_pos, -1, rx611_fail
     jump $I10
-  rx602_done:
-    rx602_cur."!cursor_fail"()
-    rx602_cur."!cursor_debug"("FAIL  ", "typename")
-    .return (rx602_cur)
+  rx611_done:
+    rx611_cur."!cursor_fail"()
+    rx611_cur."!cursor_debug"("FAIL  ", "typename")
+    .return (rx611_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__typename"  :subid("147_1275600007.84296") :method
+.sub "!PREFIX__typename"  :subid("147_1275811487.95429") :method
 .annotate 'line', 4
-    $P604 = self."!PREFIX__!subrule"("name", "")
-    new $P605, "ResizablePMCArray"
-    push $P605, $P604
-    .return ($P605)
+    $P613 = self."!PREFIX__!subrule"("name", "")
+    new $P614, "ResizablePMCArray"
+    push $P614, $P613
+    .return ($P614)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "declarator"  :subid("148_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "declarator"  :subid("148_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx608_tgt
-    .local int rx608_pos
-    .local int rx608_off
-    .local int rx608_eos
-    .local int rx608_rep
-    .local pmc rx608_cur
-    (rx608_cur, rx608_pos, rx608_tgt) = self."!cursor_start"()
-    rx608_cur."!cursor_debug"("START ", "declarator")
-    .lex unicode:"$\x{a2}", rx608_cur
-    .local pmc match
-    .lex "$/", match
-    length rx608_eos, rx608_tgt
-    gt rx608_pos, rx608_eos, rx608_done
-    set rx608_off, 0
-    lt rx608_pos, 2, rx608_start
-    sub rx608_off, rx608_pos, 1
-    substr rx608_tgt, rx608_tgt, rx608_off
-  rx608_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan613_done
-    goto rxscan613_scan
-  rxscan613_loop:
-    ($P10) = rx608_cur."from"()
-    inc $P10
-    set rx608_pos, $P10
-    ge rx608_pos, rx608_eos, rxscan613_done
-  rxscan613_scan:
-    set_addr $I10, rxscan613_loop
-    rx608_cur."!mark_push"(0, rx608_pos, $I10)
-  rxscan613_done:
-  alt614_0:
+    .local string rx617_tgt
+    .local int rx617_pos
+    .local int rx617_off
+    .local int rx617_eos
+    .local int rx617_rep
+    .local pmc rx617_cur
+    (rx617_cur, rx617_pos, rx617_tgt) = self."!cursor_start"()
+    rx617_cur."!cursor_debug"("START ", "declarator")
+    .lex unicode:"$\x{a2}", rx617_cur
+    .local pmc match
+    .lex "$/", match
+    length rx617_eos, rx617_tgt
+    gt rx617_pos, rx617_eos, rx617_done
+    set rx617_off, 0
+    lt rx617_pos, 2, rx617_start
+    sub rx617_off, rx617_pos, 1
+    substr rx617_tgt, rx617_tgt, rx617_off
+  rx617_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan622_done
+    goto rxscan622_scan
+  rxscan622_loop:
+    ($P10) = rx617_cur."from"()
+    inc $P10
+    set rx617_pos, $P10
+    ge rx617_pos, rx617_eos, rxscan622_done
+  rxscan622_scan:
+    set_addr $I10, rxscan622_loop
+    rx617_cur."!mark_push"(0, rx617_pos, $I10)
+  rxscan622_done:
+  alt623_0:
 .annotate 'line', 284
-    set_addr $I10, alt614_1
-    rx608_cur."!mark_push"(0, rx608_pos, $I10)
+    set_addr $I10, alt623_1
+    rx617_cur."!mark_push"(0, rx617_pos, $I10)
 .annotate 'line', 285
   # rx subrule "variable_declarator" subtype=capture negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."variable_declarator"()
-    unless $P10, rx608_fail
-    rx608_cur."!mark_push"(0, -1, 0, $P10)
+    rx617_cur."!cursor_pos"(rx617_pos)
+    $P10 = rx617_cur."variable_declarator"()
+    unless $P10, rx617_fail
+    rx617_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable_declarator")
-    rx608_pos = $P10."pos"()
-    goto alt614_end
-  alt614_1:
+    rx617_pos = $P10."pos"()
+    goto alt623_end
+  alt623_1:
 .annotate 'line', 286
   # rx subrule "routine_declarator" subtype=capture negate=
-    rx608_cur."!cursor_pos"(rx608_pos)
-    $P10 = rx608_cur."routine_declarator"()
-    unless $P10, rx608_fail
-    rx608_cur."!mark_push"(0, -1, 0, $P10)
+    rx617_cur."!cursor_pos"(rx617_pos)
+    $P10 = rx617_cur."routine_declarator"()
+    unless $P10, rx617_fail
+    rx617_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_declarator")
-    rx608_pos = $P10."pos"()
-  alt614_end:
+    rx617_pos = $P10."pos"()
+  alt623_end:
 .annotate 'line', 284
   # rx pass
-    rx608_cur."!cursor_pass"(rx608_pos, "declarator")
-    rx608_cur."!cursor_debug"("PASS  ", "declarator", " at pos=", rx608_pos)
-    .return (rx608_cur)
-  rx608_fail:
+    rx617_cur."!cursor_pass"(rx617_pos, "declarator")
+    rx617_cur."!cursor_debug"("PASS  ", "declarator", " at pos=", rx617_pos)
+    .return (rx617_cur)
+  rx617_fail:
 .annotate 'line', 4
-    (rx608_rep, rx608_pos, $I10, $P10) = rx608_cur."!mark_fail"(0)
-    lt rx608_pos, -1, rx608_done
-    eq rx608_pos, -1, rx608_fail
+    (rx617_rep, rx617_pos, $I10, $P10) = rx617_cur."!mark_fail"(0)
+    lt rx617_pos, -1, rx617_done
+    eq rx617_pos, -1, rx617_fail
     jump $I10
-  rx608_done:
-    rx608_cur."!cursor_fail"()
-    rx608_cur."!cursor_debug"("FAIL  ", "declarator")
-    .return (rx608_cur)
+  rx617_done:
+    rx617_cur."!cursor_fail"()
+    rx617_cur."!cursor_debug"("FAIL  ", "declarator")
+    .return (rx617_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__declarator"  :subid("149_1275600007.84296") :method
+.sub "!PREFIX__declarator"  :subid("149_1275811487.95429") :method
 .annotate 'line', 4
-    $P610 = self."!PREFIX__!subrule"("routine_declarator", "")
-    $P611 = self."!PREFIX__!subrule"("variable_declarator", "")
-    new $P612, "ResizablePMCArray"
-    push $P612, $P610
-    push $P612, $P611
-    .return ($P612)
+    $P619 = self."!PREFIX__!subrule"("routine_declarator", "")
+    $P620 = self."!PREFIX__!subrule"("variable_declarator", "")
+    new $P621, "ResizablePMCArray"
+    push $P621, $P619
+    push $P621, $P620
+    .return ($P621)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable_declarator"  :subid("150_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "variable_declarator"  :subid("150_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx616_tgt
-    .local int rx616_pos
-    .local int rx616_off
-    .local int rx616_eos
-    .local int rx616_rep
-    .local pmc rx616_cur
-    (rx616_cur, rx616_pos, rx616_tgt) = self."!cursor_start"()
-    rx616_cur."!cursor_debug"("START ", "variable_declarator")
-    .lex unicode:"$\x{a2}", rx616_cur
+    .local string rx625_tgt
+    .local int rx625_pos
+    .local int rx625_off
+    .local int rx625_eos
+    .local int rx625_rep
+    .local pmc rx625_cur
+    (rx625_cur, rx625_pos, rx625_tgt) = self."!cursor_start"()
+    rx625_cur."!cursor_debug"("START ", "variable_declarator")
+    .lex unicode:"$\x{a2}", rx625_cur
     .local pmc match
     .lex "$/", match
-    length rx616_eos, rx616_tgt
-    gt rx616_pos, rx616_eos, rx616_done
-    set rx616_off, 0
-    lt rx616_pos, 2, rx616_start
-    sub rx616_off, rx616_pos, 1
-    substr rx616_tgt, rx616_tgt, rx616_off
-  rx616_start:
+    length rx625_eos, rx625_tgt
+    gt rx625_pos, rx625_eos, rx625_done
+    set rx625_off, 0
+    lt rx625_pos, 2, rx625_start
+    sub rx625_off, rx625_pos, 1
+    substr rx625_tgt, rx625_tgt, rx625_off
+  rx625_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan620_done
-    goto rxscan620_scan
-  rxscan620_loop:
-    ($P10) = rx616_cur."from"()
+    ne $I10, -1, rxscan629_done
+    goto rxscan629_scan
+  rxscan629_loop:
+    ($P10) = rx625_cur."from"()
     inc $P10
-    set rx616_pos, $P10
-    ge rx616_pos, rx616_eos, rxscan620_done
-  rxscan620_scan:
-    set_addr $I10, rxscan620_loop
-    rx616_cur."!mark_push"(0, rx616_pos, $I10)
-  rxscan620_done:
+    set rx625_pos, $P10
+    ge rx625_pos, rx625_eos, rxscan629_done
+  rxscan629_scan:
+    set_addr $I10, rxscan629_loop
+    rx625_cur."!mark_push"(0, rx625_pos, $I10)
+  rxscan629_done:
 .annotate 'line', 289
   # rx subrule "variable" subtype=capture negate=
-    rx616_cur."!cursor_pos"(rx616_pos)
-    $P10 = rx616_cur."variable"()
-    unless $P10, rx616_fail
-    rx616_cur."!mark_push"(0, -1, 0, $P10)
+    rx625_cur."!cursor_pos"(rx625_pos)
+    $P10 = rx625_cur."variable"()
+    unless $P10, rx625_fail
+    rx625_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable")
-    rx616_pos = $P10."pos"()
+    rx625_pos = $P10."pos"()
   # rx pass
-    rx616_cur."!cursor_pass"(rx616_pos, "variable_declarator")
-    rx616_cur."!cursor_debug"("PASS  ", "variable_declarator", " at pos=", rx616_pos)
-    .return (rx616_cur)
-  rx616_fail:
+    rx625_cur."!cursor_pass"(rx625_pos, "variable_declarator")
+    rx625_cur."!cursor_debug"("PASS  ", "variable_declarator", " at pos=", rx625_pos)
+    .return (rx625_cur)
+  rx625_fail:
 .annotate 'line', 4
-    (rx616_rep, rx616_pos, $I10, $P10) = rx616_cur."!mark_fail"(0)
-    lt rx616_pos, -1, rx616_done
-    eq rx616_pos, -1, rx616_fail
+    (rx625_rep, rx625_pos, $I10, $P10) = rx625_cur."!mark_fail"(0)
+    lt rx625_pos, -1, rx625_done
+    eq rx625_pos, -1, rx625_fail
     jump $I10
-  rx616_done:
-    rx616_cur."!cursor_fail"()
-    rx616_cur."!cursor_debug"("FAIL  ", "variable_declarator")
-    .return (rx616_cur)
+  rx625_done:
+    rx625_cur."!cursor_fail"()
+    rx625_cur."!cursor_debug"("FAIL  ", "variable_declarator")
+    .return (rx625_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable_declarator"  :subid("151_1275600007.84296") :method
+.sub "!PREFIX__variable_declarator"  :subid("151_1275811487.95429") :method
 .annotate 'line', 4
-    $P618 = self."!PREFIX__!subrule"("variable", "")
-    new $P619, "ResizablePMCArray"
-    push $P619, $P618
-    .return ($P619)
+    $P627 = self."!PREFIX__!subrule"("variable", "")
+    new $P628, "ResizablePMCArray"
+    push $P628, $P627
+    .return ($P628)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator"  :subid("152_1275600007.84296") :method
+.sub "routine_declarator"  :subid("152_1275811487.95429") :method
 .annotate 'line', 291
-    $P622 = self."!protoregex"("routine_declarator")
-    .return ($P622)
+    $P631 = self."!protoregex"("routine_declarator")
+    .return ($P631)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator"  :subid("153_1275600007.84296") :method
+.sub "!PREFIX__routine_declarator"  :subid("153_1275811487.95429") :method
 .annotate 'line', 291
-    $P624 = self."!PREFIX__!protoregex"("routine_declarator")
-    .return ($P624)
+    $P633 = self."!PREFIX__!protoregex"("routine_declarator")
+    .return ($P633)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<sub>"  :subid("154_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "routine_declarator:sym<sub>"  :subid("154_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx626_tgt
-    .local int rx626_pos
-    .local int rx626_off
-    .local int rx626_eos
-    .local int rx626_rep
-    .local pmc rx626_cur
-    (rx626_cur, rx626_pos, rx626_tgt) = self."!cursor_start"()
-    rx626_cur."!cursor_debug"("START ", "routine_declarator:sym<sub>")
-    .lex unicode:"$\x{a2}", rx626_cur
-    .local pmc match
-    .lex "$/", match
-    length rx626_eos, rx626_tgt
-    gt rx626_pos, rx626_eos, rx626_done
-    set rx626_off, 0
-    lt rx626_pos, 2, rx626_start
-    sub rx626_off, rx626_pos, 1
-    substr rx626_tgt, rx626_tgt, rx626_off
-  rx626_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan630_done
-    goto rxscan630_scan
-  rxscan630_loop:
-    ($P10) = rx626_cur."from"()
-    inc $P10
-    set rx626_pos, $P10
-    ge rx626_pos, rx626_eos, rxscan630_done
-  rxscan630_scan:
-    set_addr $I10, rxscan630_loop
-    rx626_cur."!mark_push"(0, rx626_pos, $I10)
-  rxscan630_done:
+    .local string rx635_tgt
+    .local int rx635_pos
+    .local int rx635_off
+    .local int rx635_eos
+    .local int rx635_rep
+    .local pmc rx635_cur
+    (rx635_cur, rx635_pos, rx635_tgt) = self."!cursor_start"()
+    rx635_cur."!cursor_debug"("START ", "routine_declarator:sym<sub>")
+    .lex unicode:"$\x{a2}", rx635_cur
+    .local pmc match
+    .lex "$/", match
+    length rx635_eos, rx635_tgt
+    gt rx635_pos, rx635_eos, rx635_done
+    set rx635_off, 0
+    lt rx635_pos, 2, rx635_start
+    sub rx635_off, rx635_pos, 1
+    substr rx635_tgt, rx635_tgt, rx635_off
+  rx635_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan639_done
+    goto rxscan639_scan
+  rxscan639_loop:
+    ($P10) = rx635_cur."from"()
+    inc $P10
+    set rx635_pos, $P10
+    ge rx635_pos, rx635_eos, rxscan639_done
+  rxscan639_scan:
+    set_addr $I10, rxscan639_loop
+    rx635_cur."!mark_push"(0, rx635_pos, $I10)
+  rxscan639_done:
 .annotate 'line', 292
   # rx subcapture "sym"
-    set_addr $I10, rxcap_631_fail
-    rx626_cur."!mark_push"(0, rx626_pos, $I10)
+    set_addr $I10, rxcap_640_fail
+    rx635_cur."!mark_push"(0, rx635_pos, $I10)
   # rx literal  "sub"
-    add $I11, rx626_pos, 3
-    gt $I11, rx626_eos, rx626_fail
-    sub $I11, rx626_pos, rx626_off
-    substr $S10, rx626_tgt, $I11, 3
-    ne $S10, "sub", rx626_fail
-    add rx626_pos, 3
-    set_addr $I10, rxcap_631_fail
-    ($I12, $I11) = rx626_cur."!mark_peek"($I10)
-    rx626_cur."!cursor_pos"($I11)
-    ($P10) = rx626_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx626_pos, "")
-    rx626_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx635_pos, 3
+    gt $I11, rx635_eos, rx635_fail
+    sub $I11, rx635_pos, rx635_off
+    substr $S10, rx635_tgt, $I11, 3
+    ne $S10, "sub", rx635_fail
+    add rx635_pos, 3
+    set_addr $I10, rxcap_640_fail
+    ($I12, $I11) = rx635_cur."!mark_peek"($I10)
+    rx635_cur."!cursor_pos"($I11)
+    ($P10) = rx635_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx635_pos, "")
+    rx635_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_631_done
-  rxcap_631_fail:
-    goto rx626_fail
-  rxcap_631_done:
+    goto rxcap_640_done
+  rxcap_640_fail:
+    goto rx635_fail
+  rxcap_640_done:
   # rx subrule "routine_def" subtype=capture negate=
-    rx626_cur."!cursor_pos"(rx626_pos)
-    $P10 = rx626_cur."routine_def"()
-    unless $P10, rx626_fail
-    rx626_cur."!mark_push"(0, -1, 0, $P10)
+    rx635_cur."!cursor_pos"(rx635_pos)
+    $P10 = rx635_cur."routine_def"()
+    unless $P10, rx635_fail
+    rx635_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_def")
-    rx626_pos = $P10."pos"()
+    rx635_pos = $P10."pos"()
   # rx pass
-    rx626_cur."!cursor_pass"(rx626_pos, "routine_declarator:sym<sub>")
-    rx626_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<sub>", " at pos=", rx626_pos)
-    .return (rx626_cur)
-  rx626_fail:
+    rx635_cur."!cursor_pass"(rx635_pos, "routine_declarator:sym<sub>")
+    rx635_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<sub>", " at pos=", rx635_pos)
+    .return (rx635_cur)
+  rx635_fail:
 .annotate 'line', 4
-    (rx626_rep, rx626_pos, $I10, $P10) = rx626_cur."!mark_fail"(0)
-    lt rx626_pos, -1, rx626_done
-    eq rx626_pos, -1, rx626_fail
+    (rx635_rep, rx635_pos, $I10, $P10) = rx635_cur."!mark_fail"(0)
+    lt rx635_pos, -1, rx635_done
+    eq rx635_pos, -1, rx635_fail
     jump $I10
-  rx626_done:
-    rx626_cur."!cursor_fail"()
-    rx626_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<sub>")
-    .return (rx626_cur)
+  rx635_done:
+    rx635_cur."!cursor_fail"()
+    rx635_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<sub>")
+    .return (rx635_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("155_1275600007.84296") :method
+.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("155_1275811487.95429") :method
 .annotate 'line', 4
-    $P628 = self."!PREFIX__!subrule"("routine_def", "sub")
-    new $P629, "ResizablePMCArray"
-    push $P629, $P628
-    .return ($P629)
+    $P637 = self."!PREFIX__!subrule"("routine_def", "sub")
+    new $P638, "ResizablePMCArray"
+    push $P638, $P637
+    .return ($P638)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<method>"  :subid("156_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "routine_declarator:sym<method>"  :subid("156_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx633_tgt
-    .local int rx633_pos
-    .local int rx633_off
-    .local int rx633_eos
-    .local int rx633_rep
-    .local pmc rx633_cur
-    (rx633_cur, rx633_pos, rx633_tgt) = self."!cursor_start"()
-    rx633_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
-    .lex unicode:"$\x{a2}", rx633_cur
+    .local string rx642_tgt
+    .local int rx642_pos
+    .local int rx642_off
+    .local int rx642_eos
+    .local int rx642_rep
+    .local pmc rx642_cur
+    (rx642_cur, rx642_pos, rx642_tgt) = self."!cursor_start"()
+    rx642_cur."!cursor_debug"("START ", "routine_declarator:sym<method>")
+    .lex unicode:"$\x{a2}", rx642_cur
     .local pmc match
     .lex "$/", match
-    length rx633_eos, rx633_tgt
-    gt rx633_pos, rx633_eos, rx633_done
-    set rx633_off, 0
-    lt rx633_pos, 2, rx633_start
-    sub rx633_off, rx633_pos, 1
-    substr rx633_tgt, rx633_tgt, rx633_off
-  rx633_start:
+    length rx642_eos, rx642_tgt
+    gt rx642_pos, rx642_eos, rx642_done
+    set rx642_off, 0
+    lt rx642_pos, 2, rx642_start
+    sub rx642_off, rx642_pos, 1
+    substr rx642_tgt, rx642_tgt, rx642_off
+  rx642_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan637_done
-    goto rxscan637_scan
-  rxscan637_loop:
-    ($P10) = rx633_cur."from"()
+    ne $I10, -1, rxscan646_done
+    goto rxscan646_scan
+  rxscan646_loop:
+    ($P10) = rx642_cur."from"()
     inc $P10
-    set rx633_pos, $P10
-    ge rx633_pos, rx633_eos, rxscan637_done
-  rxscan637_scan:
-    set_addr $I10, rxscan637_loop
-    rx633_cur."!mark_push"(0, rx633_pos, $I10)
-  rxscan637_done:
+    set rx642_pos, $P10
+    ge rx642_pos, rx642_eos, rxscan646_done
+  rxscan646_scan:
+    set_addr $I10, rxscan646_loop
+    rx642_cur."!mark_push"(0, rx642_pos, $I10)
+  rxscan646_done:
 .annotate 'line', 293
   # rx subcapture "sym"
-    set_addr $I10, rxcap_638_fail
-    rx633_cur."!mark_push"(0, rx633_pos, $I10)
+    set_addr $I10, rxcap_647_fail
+    rx642_cur."!mark_push"(0, rx642_pos, $I10)
   # rx literal  "method"
-    add $I11, rx633_pos, 6
-    gt $I11, rx633_eos, rx633_fail
-    sub $I11, rx633_pos, rx633_off
-    substr $S10, rx633_tgt, $I11, 6
-    ne $S10, "method", rx633_fail
-    add rx633_pos, 6
-    set_addr $I10, rxcap_638_fail
-    ($I12, $I11) = rx633_cur."!mark_peek"($I10)
-    rx633_cur."!cursor_pos"($I11)
-    ($P10) = rx633_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx633_pos, "")
-    rx633_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx642_pos, 6
+    gt $I11, rx642_eos, rx642_fail
+    sub $I11, rx642_pos, rx642_off
+    substr $S10, rx642_tgt, $I11, 6
+    ne $S10, "method", rx642_fail
+    add rx642_pos, 6
+    set_addr $I10, rxcap_647_fail
+    ($I12, $I11) = rx642_cur."!mark_peek"($I10)
+    rx642_cur."!cursor_pos"($I11)
+    ($P10) = rx642_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx642_pos, "")
+    rx642_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_638_done
-  rxcap_638_fail:
-    goto rx633_fail
-  rxcap_638_done:
+    goto rxcap_647_done
+  rxcap_647_fail:
+    goto rx642_fail
+  rxcap_647_done:
   # rx subrule "method_def" subtype=capture negate=
-    rx633_cur."!cursor_pos"(rx633_pos)
-    $P10 = rx633_cur."method_def"()
-    unless $P10, rx633_fail
-    rx633_cur."!mark_push"(0, -1, 0, $P10)
+    rx642_cur."!cursor_pos"(rx642_pos)
+    $P10 = rx642_cur."method_def"()
+    unless $P10, rx642_fail
+    rx642_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("method_def")
-    rx633_pos = $P10."pos"()
+    rx642_pos = $P10."pos"()
   # rx pass
-    rx633_cur."!cursor_pass"(rx633_pos, "routine_declarator:sym<method>")
-    rx633_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<method>", " at pos=", rx633_pos)
-    .return (rx633_cur)
-  rx633_fail:
+    rx642_cur."!cursor_pass"(rx642_pos, "routine_declarator:sym<method>")
+    rx642_cur."!cursor_debug"("PASS  ", "routine_declarator:sym<method>", " at pos=", rx642_pos)
+    .return (rx642_cur)
+  rx642_fail:
 .annotate 'line', 4
-    (rx633_rep, rx633_pos, $I10, $P10) = rx633_cur."!mark_fail"(0)
-    lt rx633_pos, -1, rx633_done
-    eq rx633_pos, -1, rx633_fail
+    (rx642_rep, rx642_pos, $I10, $P10) = rx642_cur."!mark_fail"(0)
+    lt rx642_pos, -1, rx642_done
+    eq rx642_pos, -1, rx642_fail
     jump $I10
-  rx633_done:
-    rx633_cur."!cursor_fail"()
-    rx633_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<method>")
-    .return (rx633_cur)
+  rx642_done:
+    rx642_cur."!cursor_fail"()
+    rx642_cur."!cursor_debug"("FAIL  ", "routine_declarator:sym<method>")
+    .return (rx642_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<method>"  :subid("157_1275600007.84296") :method
+.sub "!PREFIX__routine_declarator:sym<method>"  :subid("157_1275811487.95429") :method
 .annotate 'line', 4
-    $P635 = self."!PREFIX__!subrule"("method_def", "method")
-    new $P636, "ResizablePMCArray"
-    push $P636, $P635
-    .return ($P636)
+    $P644 = self."!PREFIX__!subrule"("method_def", "method")
+    new $P645, "ResizablePMCArray"
+    push $P645, $P644
+    .return ($P645)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_def"  :subid("158_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "routine_def"  :subid("158_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx640_tgt
-    .local int rx640_pos
-    .local int rx640_off
-    .local int rx640_eos
-    .local int rx640_rep
-    .local pmc rx640_cur
-    (rx640_cur, rx640_pos, rx640_tgt) = self."!cursor_start"()
-    rx640_cur."!cursor_debug"("START ", "routine_def")
-    rx640_cur."!cursor_caparray"("deflongname", "sigil")
-    .lex unicode:"$\x{a2}", rx640_cur
+    .local string rx649_tgt
+    .local int rx649_pos
+    .local int rx649_off
+    .local int rx649_eos
+    .local int rx649_rep
+    .local pmc rx649_cur
+    (rx649_cur, rx649_pos, rx649_tgt) = self."!cursor_start"()
+    rx649_cur."!cursor_debug"("START ", "routine_def")
+    rx649_cur."!cursor_caparray"("deflongname", "sigil")
+    .lex unicode:"$\x{a2}", rx649_cur
     .local pmc match
     .lex "$/", match
-    length rx640_eos, rx640_tgt
-    gt rx640_pos, rx640_eos, rx640_done
-    set rx640_off, 0
-    lt rx640_pos, 2, rx640_start
-    sub rx640_off, rx640_pos, 1
-    substr rx640_tgt, rx640_tgt, rx640_off
-  rx640_start:
+    length rx649_eos, rx649_tgt
+    gt rx649_pos, rx649_eos, rx649_done
+    set rx649_off, 0
+    lt rx649_pos, 2, rx649_start
+    sub rx649_off, rx649_pos, 1
+    substr rx649_tgt, rx649_tgt, rx649_off
+  rx649_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan643_done
-    goto rxscan643_scan
-  rxscan643_loop:
-    ($P10) = rx640_cur."from"()
+    ne $I10, -1, rxscan653_done
+    goto rxscan653_scan
+  rxscan653_loop:
+    ($P10) = rx649_cur."from"()
     inc $P10
-    set rx640_pos, $P10
-    ge rx640_pos, rx640_eos, rxscan643_done
-  rxscan643_scan:
-    set_addr $I10, rxscan643_loop
-    rx640_cur."!mark_push"(0, rx640_pos, $I10)
-  rxscan643_done:
+    set rx649_pos, $P10
+    ge rx649_pos, rx649_eos, rxscan653_done
+  rxscan653_scan:
+    set_addr $I10, rxscan653_loop
+    rx649_cur."!mark_push"(0, rx649_pos, $I10)
+  rxscan653_done:
 .annotate 'line', 295
   # rx subrule "ws" subtype=method negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."ws"()
-    unless $P10, rx640_fail
-    rx640_pos = $P10."pos"()
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."ws"()
+    unless $P10, rx649_fail
+    rx649_pos = $P10."pos"()
 .annotate 'line', 296
-  # rx rxquantr645 ** 0..1
-    set_addr $I651, rxquantr645_done
-    rx640_cur."!mark_push"(0, rx640_pos, $I651)
-  rxquantr645_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."ws"()
-    unless $P10, rx640_fail
-    rx640_pos = $P10."pos"()
+  # rx rxquantr655 ** 0..1
+    set_addr $I661, rxquantr655_done
+    rx649_cur."!mark_push"(0, rx649_pos, $I661)
+  rxquantr655_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."ws"()
+    unless $P10, rx649_fail
+    rx649_pos = $P10."pos"()
   # rx subcapture "sigil"
-    set_addr $I10, rxcap_649_fail
-    rx640_cur."!mark_push"(0, rx640_pos, $I10)
-  # rx rxquantr647 ** 0..1
-    set_addr $I648, rxquantr647_done
-    rx640_cur."!mark_push"(0, rx640_pos, $I648)
-  rxquantr647_loop:
+    set_addr $I10, rxcap_659_fail
+    rx649_cur."!mark_push"(0, rx649_pos, $I10)
+  # rx rxquantr657 ** 0..1
+    set_addr $I658, rxquantr657_done
+    rx649_cur."!mark_push"(0, rx649_pos, $I658)
+  rxquantr657_loop:
   # rx literal  "&"
-    add $I11, rx640_pos, 1
-    gt $I11, rx640_eos, rx640_fail
-    sub $I11, rx640_pos, rx640_off
-    substr $S10, rx640_tgt, $I11, 1
-    ne $S10, "&", rx640_fail
-    add rx640_pos, 1
-    (rx640_rep) = rx640_cur."!mark_commit"($I648)
-  rxquantr647_done:
-    set_addr $I10, rxcap_649_fail
-    ($I12, $I11) = rx640_cur."!mark_peek"($I10)
-    rx640_cur."!cursor_pos"($I11)
-    ($P10) = rx640_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx640_pos, "")
-    rx640_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx649_pos, 1
+    gt $I11, rx649_eos, rx649_fail
+    sub $I11, rx649_pos, rx649_off
+    substr $S10, rx649_tgt, $I11, 1
+    ne $S10, "&", rx649_fail
+    add rx649_pos, 1
+    (rx649_rep) = rx649_cur."!mark_commit"($I658)
+  rxquantr657_done:
+    set_addr $I10, rxcap_659_fail
+    ($I12, $I11) = rx649_cur."!mark_peek"($I10)
+    rx649_cur."!cursor_pos"($I11)
+    ($P10) = rx649_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx649_pos, "")
+    rx649_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    goto rxcap_649_done
-  rxcap_649_fail:
-    goto rx640_fail
-  rxcap_649_done:
+    goto rxcap_659_done
+  rxcap_659_fail:
+    goto rx649_fail
+  rxcap_659_done:
   # rx subrule "deflongname" subtype=capture negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."deflongname"()
-    unless $P10, rx640_fail
-    rx640_cur."!mark_push"(0, -1, 0, $P10)
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."deflongname"()
+    unless $P10, rx649_fail
+    rx649_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx640_pos = $P10."pos"()
+    rx649_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."ws"()
-    unless $P10, rx640_fail
-    rx640_pos = $P10."pos"()
-    (rx640_rep) = rx640_cur."!mark_commit"($I651)
-  rxquantr645_done:
-  # rx subrule "ws" subtype=method negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."ws"()
-    unless $P10, rx640_fail
-    rx640_pos = $P10."pos"()
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."ws"()
+    unless $P10, rx649_fail
+    rx649_pos = $P10."pos"()
+    (rx649_rep) = rx649_cur."!mark_commit"($I661)
+  rxquantr655_done:
+  # rx subrule "ws" subtype=method negate=
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."ws"()
+    unless $P10, rx649_fail
+    rx649_pos = $P10."pos"()
 .annotate 'line', 297
   # rx subrule "newpad" subtype=method negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."newpad"()
-    unless $P10, rx640_fail
-    rx640_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."ws"()
-    unless $P10, rx640_fail
-    rx640_pos = $P10."pos"()
-  alt654_0:
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."newpad"()
+    unless $P10, rx649_fail
+    rx649_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."ws"()
+    unless $P10, rx649_fail
+    rx649_pos = $P10."pos"()
+  alt664_0:
 .annotate 'line', 298
-    set_addr $I10, alt654_1
-    rx640_cur."!mark_push"(0, rx640_pos, $I10)
+    set_addr $I10, alt664_1
+    rx649_cur."!mark_push"(0, rx649_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."ws"()
-    unless $P10, rx640_fail
-    rx640_pos = $P10."pos"()
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."ws"()
+    unless $P10, rx649_fail
+    rx649_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx640_pos, 1
-    gt $I11, rx640_eos, rx640_fail
-    sub $I11, rx640_pos, rx640_off
-    substr $S10, rx640_tgt, $I11, 1
-    ne $S10, "(", rx640_fail
-    add rx640_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."ws"()
-    unless $P10, rx640_fail
-    rx640_pos = $P10."pos"()
+    add $I11, rx649_pos, 1
+    gt $I11, rx649_eos, rx649_fail
+    sub $I11, rx649_pos, rx649_off
+    substr $S10, rx649_tgt, $I11, 1
+    ne $S10, "(", rx649_fail
+    add rx649_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."ws"()
+    unless $P10, rx649_fail
+    rx649_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."signature"()
-    unless $P10, rx640_fail
-    rx640_cur."!mark_push"(0, -1, 0, $P10)
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."signature"()
+    unless $P10, rx649_fail
+    rx649_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx640_pos = $P10."pos"()
+    rx649_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."ws"()
-    unless $P10, rx640_fail
-    rx640_pos = $P10."pos"()
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."ws"()
+    unless $P10, rx649_fail
+    rx649_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx640_pos, 1
-    gt $I11, rx640_eos, rx640_fail
-    sub $I11, rx640_pos, rx640_off
-    substr $S10, rx640_tgt, $I11, 1
-    ne $S10, ")", rx640_fail
-    add rx640_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."ws"()
-    unless $P10, rx640_fail
-    rx640_pos = $P10."pos"()
-    goto alt654_end
-  alt654_1:
+    add $I11, rx649_pos, 1
+    gt $I11, rx649_eos, rx649_fail
+    sub $I11, rx649_pos, rx649_off
+    substr $S10, rx649_tgt, $I11, 1
+    ne $S10, ")", rx649_fail
+    add rx649_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."ws"()
+    unless $P10, rx649_fail
+    rx649_pos = $P10."pos"()
+    goto alt664_end
+  alt664_1:
 .annotate 'line', 299
   # rx subrule "ws" subtype=method negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."ws"()
-    unless $P10, rx640_fail
-    rx640_pos = $P10."pos"()
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."ws"()
+    unless $P10, rx649_fail
+    rx649_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."panic"("Routine declaration requires a signature")
-    unless $P10, rx640_fail
-    rx640_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."ws"()
-    unless $P10, rx640_fail
-    rx640_pos = $P10."pos"()
-  alt654_end:
-  # rx subrule "ws" subtype=method negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."ws"()
-    unless $P10, rx640_fail
-    rx640_pos = $P10."pos"()
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."panic"("Routine declaration requires a signature")
+    unless $P10, rx649_fail
+    rx649_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."ws"()
+    unless $P10, rx649_fail
+    rx649_pos = $P10."pos"()
+  alt664_end:
+  # rx subrule "ws" subtype=method negate=
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."ws"()
+    unless $P10, rx649_fail
+    rx649_pos = $P10."pos"()
 .annotate 'line', 300
   # rx subrule "blockoid" subtype=capture negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."blockoid"()
-    unless $P10, rx640_fail
-    rx640_cur."!mark_push"(0, -1, 0, $P10)
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."blockoid"()
+    unless $P10, rx649_fail
+    rx649_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx640_pos = $P10."pos"()
+    rx649_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx640_cur."!cursor_pos"(rx640_pos)
-    $P10 = rx640_cur."ws"()
-    unless $P10, rx640_fail
-    rx640_pos = $P10."pos"()
+    rx649_cur."!cursor_pos"(rx649_pos)
+    $P10 = rx649_cur."ws"()
+    unless $P10, rx649_fail
+    rx649_pos = $P10."pos"()
 .annotate 'line', 295
   # rx pass
-    rx640_cur."!cursor_pass"(rx640_pos, "routine_def")
-    rx640_cur."!cursor_debug"("PASS  ", "routine_def", " at pos=", rx640_pos)
-    .return (rx640_cur)
-  rx640_fail:
+    rx649_cur."!cursor_pass"(rx649_pos, "routine_def")
+    rx649_cur."!cursor_debug"("PASS  ", "routine_def", " at pos=", rx649_pos)
+    .return (rx649_cur)
+  rx649_fail:
 .annotate 'line', 4
-    (rx640_rep, rx640_pos, $I10, $P10) = rx640_cur."!mark_fail"(0)
-    lt rx640_pos, -1, rx640_done
-    eq rx640_pos, -1, rx640_fail
+    (rx649_rep, rx649_pos, $I10, $P10) = rx649_cur."!mark_fail"(0)
+    lt rx649_pos, -1, rx649_done
+    eq rx649_pos, -1, rx649_fail
     jump $I10
-  rx640_done:
-    rx640_cur."!cursor_fail"()
-    rx640_cur."!cursor_debug"("FAIL  ", "routine_def")
-    .return (rx640_cur)
+  rx649_done:
+    rx649_cur."!cursor_fail"()
+    rx649_cur."!cursor_debug"("FAIL  ", "routine_def")
+    .return (rx649_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_def"  :subid("159_1275600007.84296") :method
+.sub "!PREFIX__routine_def"  :subid("159_1275811487.95429") :method
 .annotate 'line', 4
-    new $P642, "ResizablePMCArray"
-    push $P642, ""
-    .return ($P642)
+    $P651 = self."!PREFIX__!subrule"("ws", "")
+    new $P652, "ResizablePMCArray"
+    push $P652, $P651
+    .return ($P652)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "method_def"  :subid("160_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "method_def"  :subid("160_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx664_tgt
-    .local int rx664_pos
-    .local int rx664_off
-    .local int rx664_eos
-    .local int rx664_rep
-    .local pmc rx664_cur
-    (rx664_cur, rx664_pos, rx664_tgt) = self."!cursor_start"()
-    rx664_cur."!cursor_debug"("START ", "method_def")
-    rx664_cur."!cursor_caparray"("deflongname")
-    .lex unicode:"$\x{a2}", rx664_cur
-    .local pmc match
-    .lex "$/", match
-    length rx664_eos, rx664_tgt
-    gt rx664_pos, rx664_eos, rx664_done
-    set rx664_off, 0
-    lt rx664_pos, 2, rx664_start
-    sub rx664_off, rx664_pos, 1
-    substr rx664_tgt, rx664_tgt, rx664_off
-  rx664_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan667_done
-    goto rxscan667_scan
-  rxscan667_loop:
-    ($P10) = rx664_cur."from"()
-    inc $P10
-    set rx664_pos, $P10
-    ge rx664_pos, rx664_eos, rxscan667_done
-  rxscan667_scan:
-    set_addr $I10, rxscan667_loop
-    rx664_cur."!mark_push"(0, rx664_pos, $I10)
-  rxscan667_done:
+    .local string rx674_tgt
+    .local int rx674_pos
+    .local int rx674_off
+    .local int rx674_eos
+    .local int rx674_rep
+    .local pmc rx674_cur
+    (rx674_cur, rx674_pos, rx674_tgt) = self."!cursor_start"()
+    rx674_cur."!cursor_debug"("START ", "method_def")
+    rx674_cur."!cursor_caparray"("deflongname")
+    .lex unicode:"$\x{a2}", rx674_cur
+    .local pmc match
+    .lex "$/", match
+    length rx674_eos, rx674_tgt
+    gt rx674_pos, rx674_eos, rx674_done
+    set rx674_off, 0
+    lt rx674_pos, 2, rx674_start
+    sub rx674_off, rx674_pos, 1
+    substr rx674_tgt, rx674_tgt, rx674_off
+  rx674_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan678_done
+    goto rxscan678_scan
+  rxscan678_loop:
+    ($P10) = rx674_cur."from"()
+    inc $P10
+    set rx674_pos, $P10
+    ge rx674_pos, rx674_eos, rxscan678_done
+  rxscan678_scan:
+    set_addr $I10, rxscan678_loop
+    rx674_cur."!mark_push"(0, rx674_pos, $I10)
+  rxscan678_done:
 .annotate 'line', 303
   # rx subrule "ws" subtype=method negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."ws"()
-    unless $P10, rx664_fail
-    rx664_pos = $P10."pos"()
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."ws"()
+    unless $P10, rx674_fail
+    rx674_pos = $P10."pos"()
 .annotate 'line', 304
-  # rx rxquantr669 ** 0..1
-    set_addr $I670, rxquantr669_done
-    rx664_cur."!mark_push"(0, rx664_pos, $I670)
-  rxquantr669_loop:
+  # rx rxquantr680 ** 0..1
+    set_addr $I681, rxquantr680_done
+    rx674_cur."!mark_push"(0, rx674_pos, $I681)
+  rxquantr680_loop:
   # rx subrule "deflongname" subtype=capture negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."deflongname"()
-    unless $P10, rx664_fail
-    rx664_cur."!mark_push"(0, -1, 0, $P10)
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."deflongname"()
+    unless $P10, rx674_fail
+    rx674_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx664_pos = $P10."pos"()
-    (rx664_rep) = rx664_cur."!mark_commit"($I670)
-  rxquantr669_done:
-  # rx subrule "ws" subtype=method negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."ws"()
-    unless $P10, rx664_fail
-    rx664_pos = $P10."pos"()
+    rx674_pos = $P10."pos"()
+    (rx674_rep) = rx674_cur."!mark_commit"($I681)
+  rxquantr680_done:
+  # rx subrule "ws" subtype=method negate=
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."ws"()
+    unless $P10, rx674_fail
+    rx674_pos = $P10."pos"()
 .annotate 'line', 305
   # rx subrule "newpad" subtype=method negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."newpad"()
-    unless $P10, rx664_fail
-    rx664_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."ws"()
-    unless $P10, rx664_fail
-    rx664_pos = $P10."pos"()
-  alt673_0:
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."newpad"()
+    unless $P10, rx674_fail
+    rx674_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."ws"()
+    unless $P10, rx674_fail
+    rx674_pos = $P10."pos"()
+  alt684_0:
 .annotate 'line', 306
-    set_addr $I10, alt673_1
-    rx664_cur."!mark_push"(0, rx664_pos, $I10)
+    set_addr $I10, alt684_1
+    rx674_cur."!mark_push"(0, rx674_pos, $I10)
   # rx subrule "ws" subtype=method negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."ws"()
-    unless $P10, rx664_fail
-    rx664_pos = $P10."pos"()
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."ws"()
+    unless $P10, rx674_fail
+    rx674_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx664_pos, 1
-    gt $I11, rx664_eos, rx664_fail
-    sub $I11, rx664_pos, rx664_off
-    substr $S10, rx664_tgt, $I11, 1
-    ne $S10, "(", rx664_fail
-    add rx664_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."ws"()
-    unless $P10, rx664_fail
-    rx664_pos = $P10."pos"()
+    add $I11, rx674_pos, 1
+    gt $I11, rx674_eos, rx674_fail
+    sub $I11, rx674_pos, rx674_off
+    substr $S10, rx674_tgt, $I11, 1
+    ne $S10, "(", rx674_fail
+    add rx674_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."ws"()
+    unless $P10, rx674_fail
+    rx674_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."signature"()
-    unless $P10, rx664_fail
-    rx664_cur."!mark_push"(0, -1, 0, $P10)
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."signature"()
+    unless $P10, rx674_fail
+    rx674_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx664_pos = $P10."pos"()
+    rx674_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."ws"()
-    unless $P10, rx664_fail
-    rx664_pos = $P10."pos"()
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."ws"()
+    unless $P10, rx674_fail
+    rx674_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx664_pos, 1
-    gt $I11, rx664_eos, rx664_fail
-    sub $I11, rx664_pos, rx664_off
-    substr $S10, rx664_tgt, $I11, 1
-    ne $S10, ")", rx664_fail
-    add rx664_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."ws"()
-    unless $P10, rx664_fail
-    rx664_pos = $P10."pos"()
-    goto alt673_end
-  alt673_1:
+    add $I11, rx674_pos, 1
+    gt $I11, rx674_eos, rx674_fail
+    sub $I11, rx674_pos, rx674_off
+    substr $S10, rx674_tgt, $I11, 1
+    ne $S10, ")", rx674_fail
+    add rx674_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."ws"()
+    unless $P10, rx674_fail
+    rx674_pos = $P10."pos"()
+    goto alt684_end
+  alt684_1:
 .annotate 'line', 307
   # rx subrule "ws" subtype=method negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."ws"()
-    unless $P10, rx664_fail
-    rx664_pos = $P10."pos"()
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."ws"()
+    unless $P10, rx674_fail
+    rx674_pos = $P10."pos"()
   # rx subrule "panic" subtype=method negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."panic"("Routine declaration requires a signature")
-    unless $P10, rx664_fail
-    rx664_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."ws"()
-    unless $P10, rx664_fail
-    rx664_pos = $P10."pos"()
-  alt673_end:
-  # rx subrule "ws" subtype=method negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."ws"()
-    unless $P10, rx664_fail
-    rx664_pos = $P10."pos"()
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."panic"("Routine declaration requires a signature")
+    unless $P10, rx674_fail
+    rx674_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."ws"()
+    unless $P10, rx674_fail
+    rx674_pos = $P10."pos"()
+  alt684_end:
+  # rx subrule "ws" subtype=method negate=
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."ws"()
+    unless $P10, rx674_fail
+    rx674_pos = $P10."pos"()
 .annotate 'line', 308
   # rx subrule "blockoid" subtype=capture negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."blockoid"()
-    unless $P10, rx664_fail
-    rx664_cur."!mark_push"(0, -1, 0, $P10)
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."blockoid"()
+    unless $P10, rx674_fail
+    rx674_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("blockoid")
-    rx664_pos = $P10."pos"()
+    rx674_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx664_cur."!cursor_pos"(rx664_pos)
-    $P10 = rx664_cur."ws"()
-    unless $P10, rx664_fail
-    rx664_pos = $P10."pos"()
+    rx674_cur."!cursor_pos"(rx674_pos)
+    $P10 = rx674_cur."ws"()
+    unless $P10, rx674_fail
+    rx674_pos = $P10."pos"()
 .annotate 'line', 303
   # rx pass
-    rx664_cur."!cursor_pass"(rx664_pos, "method_def")
-    rx664_cur."!cursor_debug"("PASS  ", "method_def", " at pos=", rx664_pos)
-    .return (rx664_cur)
-  rx664_fail:
+    rx674_cur."!cursor_pass"(rx674_pos, "method_def")
+    rx674_cur."!cursor_debug"("PASS  ", "method_def", " at pos=", rx674_pos)
+    .return (rx674_cur)
+  rx674_fail:
 .annotate 'line', 4
-    (rx664_rep, rx664_pos, $I10, $P10) = rx664_cur."!mark_fail"(0)
-    lt rx664_pos, -1, rx664_done
-    eq rx664_pos, -1, rx664_fail
+    (rx674_rep, rx674_pos, $I10, $P10) = rx674_cur."!mark_fail"(0)
+    lt rx674_pos, -1, rx674_done
+    eq rx674_pos, -1, rx674_fail
     jump $I10
-  rx664_done:
-    rx664_cur."!cursor_fail"()
-    rx664_cur."!cursor_debug"("FAIL  ", "method_def")
-    .return (rx664_cur)
+  rx674_done:
+    rx674_cur."!cursor_fail"()
+    rx674_cur."!cursor_debug"("FAIL  ", "method_def")
+    .return (rx674_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__method_def"  :subid("161_1275600007.84296") :method
+.sub "!PREFIX__method_def"  :subid("161_1275811487.95429") :method
 .annotate 'line', 4
-    new $P666, "ResizablePMCArray"
-    push $P666, ""
-    .return ($P666)
+    $P676 = self."!PREFIX__!subrule"("ws", "")
+    new $P677, "ResizablePMCArray"
+    push $P677, $P676
+    .return ($P677)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "multi_declarator"  :subid("162_1275600007.84296") :method
+.sub "multi_declarator"  :subid("162_1275811487.95429") :method
 .annotate 'line', 311
-    $P683 = self."!protoregex"("multi_declarator")
-    .return ($P683)
+    $P694 = self."!protoregex"("multi_declarator")
+    .return ($P694)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__multi_declarator"  :subid("163_1275600007.84296") :method
+.sub "!PREFIX__multi_declarator"  :subid("163_1275811487.95429") :method
 .annotate 'line', 311
-    $P685 = self."!PREFIX__!protoregex"("multi_declarator")
-    .return ($P685)
+    $P696 = self."!PREFIX__!protoregex"("multi_declarator")
+    .return ($P696)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "multi_declarator:sym<multi>"  :subid("164_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "multi_declarator:sym<multi>"  :subid("164_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 313
-    new $P687, "Undef"
-    .lex "$*MULTINESS", $P687
+    new $P698, "Undef"
+    .lex "$*MULTINESS", $P698
 .annotate 'line', 4
-    .local string rx688_tgt
-    .local int rx688_pos
-    .local int rx688_off
-    .local int rx688_eos
-    .local int rx688_rep
-    .local pmc rx688_cur
-    (rx688_cur, rx688_pos, rx688_tgt) = self."!cursor_start"()
-    rx688_cur."!cursor_debug"("START ", "multi_declarator:sym<multi>")
-    .lex unicode:"$\x{a2}", rx688_cur
-    .local pmc match
-    .lex "$/", match
-    length rx688_eos, rx688_tgt
-    gt rx688_pos, rx688_eos, rx688_done
-    set rx688_off, 0
-    lt rx688_pos, 2, rx688_start
-    sub rx688_off, rx688_pos, 1
-    substr rx688_tgt, rx688_tgt, rx688_off
-  rx688_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan691_done
-    goto rxscan691_scan
-  rxscan691_loop:
-    ($P10) = rx688_cur."from"()
-    inc $P10
-    set rx688_pos, $P10
-    ge rx688_pos, rx688_eos, rxscan691_done
-  rxscan691_scan:
-    set_addr $I10, rxscan691_loop
-    rx688_cur."!mark_push"(0, rx688_pos, $I10)
-  rxscan691_done:
+    .local string rx699_tgt
+    .local int rx699_pos
+    .local int rx699_off
+    .local int rx699_eos
+    .local int rx699_rep
+    .local pmc rx699_cur
+    (rx699_cur, rx699_pos, rx699_tgt) = self."!cursor_start"()
+    rx699_cur."!cursor_debug"("START ", "multi_declarator:sym<multi>")
+    .lex unicode:"$\x{a2}", rx699_cur
+    .local pmc match
+    .lex "$/", match
+    length rx699_eos, rx699_tgt
+    gt rx699_pos, rx699_eos, rx699_done
+    set rx699_off, 0
+    lt rx699_pos, 2, rx699_start
+    sub rx699_off, rx699_pos, 1
+    substr rx699_tgt, rx699_tgt, rx699_off
+  rx699_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan703_done
+    goto rxscan703_scan
+  rxscan703_loop:
+    ($P10) = rx699_cur."from"()
+    inc $P10
+    set rx699_pos, $P10
+    ge rx699_pos, rx699_eos, rxscan703_done
+  rxscan703_scan:
+    set_addr $I10, rxscan703_loop
+    rx699_cur."!mark_push"(0, rx699_pos, $I10)
+  rxscan703_done:
 .annotate 'line', 313
+    rx699_cur."!cursor_pos"(rx699_pos)
+    new $P704, "String"
+    assign $P704, "multi"
+    store_lex "$*MULTINESS", $P704
+.annotate 'line', 314
   # rx subcapture "sym"
-    set_addr $I10, rxcap_692_fail
-    rx688_cur."!mark_push"(0, rx688_pos, $I10)
+    set_addr $I10, rxcap_705_fail
+    rx699_cur."!mark_push"(0, rx699_pos, $I10)
   # rx literal  "multi"
-    add $I11, rx688_pos, 5
-    gt $I11, rx688_eos, rx688_fail
-    sub $I11, rx688_pos, rx688_off
-    substr $S10, rx688_tgt, $I11, 5
-    ne $S10, "multi", rx688_fail
-    add rx688_pos, 5
-    set_addr $I10, rxcap_692_fail
-    ($I12, $I11) = rx688_cur."!mark_peek"($I10)
-    rx688_cur."!cursor_pos"($I11)
-    ($P10) = rx688_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx688_pos, "")
-    rx688_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx699_pos, 5
+    gt $I11, rx699_eos, rx699_fail
+    sub $I11, rx699_pos, rx699_off
+    substr $S10, rx699_tgt, $I11, 5
+    ne $S10, "multi", rx699_fail
+    add rx699_pos, 5
+    set_addr $I10, rxcap_705_fail
+    ($I12, $I11) = rx699_cur."!mark_peek"($I10)
+    rx699_cur."!cursor_pos"($I11)
+    ($P10) = rx699_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx699_pos, "")
+    rx699_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_692_done
-  rxcap_692_fail:
-    goto rx688_fail
-  rxcap_692_done:
-    rx688_cur."!cursor_pos"(rx688_pos)
-    new $P693, "String"
-    assign $P693, "multi"
-    store_lex "$*MULTINESS", $P693
-.annotate 'line', 314
+    goto rxcap_705_done
+  rxcap_705_fail:
+    goto rx699_fail
+  rxcap_705_done:
+.annotate 'line', 315
   # rx subrule "ws" subtype=method negate=
-    rx688_cur."!cursor_pos"(rx688_pos)
-    $P10 = rx688_cur."ws"()
-    unless $P10, rx688_fail
-    rx688_pos = $P10."pos"()
-  alt694_0:
-    set_addr $I10, alt694_1
-    rx688_cur."!mark_push"(0, rx688_pos, $I10)
+    rx699_cur."!cursor_pos"(rx699_pos)
+    $P10 = rx699_cur."ws"()
+    unless $P10, rx699_fail
+    rx699_pos = $P10."pos"()
+  alt706_0:
+    set_addr $I10, alt706_1
+    rx699_cur."!mark_push"(0, rx699_pos, $I10)
   # rx subrule "declarator" subtype=capture negate=
-    rx688_cur."!cursor_pos"(rx688_pos)
-    $P10 = rx688_cur."declarator"()
-    unless $P10, rx688_fail
-    rx688_cur."!mark_push"(0, -1, 0, $P10)
+    rx699_cur."!cursor_pos"(rx699_pos)
+    $P10 = rx699_cur."declarator"()
+    unless $P10, rx699_fail
+    rx699_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("declarator")
-    rx688_pos = $P10."pos"()
-    goto alt694_end
-  alt694_1:
-    set_addr $I10, alt694_2
-    rx688_cur."!mark_push"(0, rx688_pos, $I10)
+    rx699_pos = $P10."pos"()
+    goto alt706_end
+  alt706_1:
+    set_addr $I10, alt706_2
+    rx699_cur."!mark_push"(0, rx699_pos, $I10)
   # rx subrule "routine_def" subtype=capture negate=
-    rx688_cur."!cursor_pos"(rx688_pos)
-    $P10 = rx688_cur."routine_def"()
-    unless $P10, rx688_fail
-    rx688_cur."!mark_push"(0, -1, 0, $P10)
+    rx699_cur."!cursor_pos"(rx699_pos)
+    $P10 = rx699_cur."routine_def"()
+    unless $P10, rx699_fail
+    rx699_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("routine_def")
-    rx688_pos = $P10."pos"()
-    goto alt694_end
-  alt694_2:
+    rx699_pos = $P10."pos"()
+    goto alt706_end
+  alt706_2:
   # rx subrule "panic" subtype=method negate=
-    rx688_cur."!cursor_pos"(rx688_pos)
-    $P10 = rx688_cur."panic"("Malformed multi")
-    unless $P10, rx688_fail
-    rx688_pos = $P10."pos"()
-  alt694_end:
+    rx699_cur."!cursor_pos"(rx699_pos)
+    $P10 = rx699_cur."panic"("Malformed multi")
+    unless $P10, rx699_fail
+    rx699_pos = $P10."pos"()
+  alt706_end:
 .annotate 'line', 312
   # rx pass
-    rx688_cur."!cursor_pass"(rx688_pos, "multi_declarator:sym<multi>")
-    rx688_cur."!cursor_debug"("PASS  ", "multi_declarator:sym<multi>", " at pos=", rx688_pos)
-    .return (rx688_cur)
-  rx688_fail:
+    rx699_cur."!cursor_pass"(rx699_pos, "multi_declarator:sym<multi>")
+    rx699_cur."!cursor_debug"("PASS  ", "multi_declarator:sym<multi>", " at pos=", rx699_pos)
+    .return (rx699_cur)
+  rx699_fail:
 .annotate 'line', 4
-    (rx688_rep, rx688_pos, $I10, $P10) = rx688_cur."!mark_fail"(0)
-    lt rx688_pos, -1, rx688_done
-    eq rx688_pos, -1, rx688_fail
+    (rx699_rep, rx699_pos, $I10, $P10) = rx699_cur."!mark_fail"(0)
+    lt rx699_pos, -1, rx699_done
+    eq rx699_pos, -1, rx699_fail
     jump $I10
-  rx688_done:
-    rx688_cur."!cursor_fail"()
-    rx688_cur."!cursor_debug"("FAIL  ", "multi_declarator:sym<multi>")
-    .return (rx688_cur)
+  rx699_done:
+    rx699_cur."!cursor_fail"()
+    rx699_cur."!cursor_debug"("FAIL  ", "multi_declarator:sym<multi>")
+    .return (rx699_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__multi_declarator:sym<multi>"  :subid("165_1275600007.84296") :method
+.sub "!PREFIX__multi_declarator:sym<multi>"  :subid("165_1275811487.95429") :method
 .annotate 'line', 4
-    new $P690, "ResizablePMCArray"
-    push $P690, "multi"
-    .return ($P690)
+    $P701 = self."!PREFIX__!subrule"("ws", "multi")
+    new $P702, "ResizablePMCArray"
+    push $P702, $P701
+    .return ($P702)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "multi_declarator:sym<null>"  :subid("166_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 317
-    new $P696, "Undef"
-    .lex "$*MULTINESS", $P696
+.sub "multi_declarator:sym<null>"  :subid("166_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 318
+    new $P708, "Undef"
+    .lex "$*MULTINESS", $P708
 .annotate 'line', 4
-    .local string rx697_tgt
-    .local int rx697_pos
-    .local int rx697_off
-    .local int rx697_eos
-    .local int rx697_rep
-    .local pmc rx697_cur
-    (rx697_cur, rx697_pos, rx697_tgt) = self."!cursor_start"()
-    rx697_cur."!cursor_debug"("START ", "multi_declarator:sym<null>")
-    .lex unicode:"$\x{a2}", rx697_cur
-    .local pmc match
-    .lex "$/", match
-    length rx697_eos, rx697_tgt
-    gt rx697_pos, rx697_eos, rx697_done
-    set rx697_off, 0
-    lt rx697_pos, 2, rx697_start
-    sub rx697_off, rx697_pos, 1
-    substr rx697_tgt, rx697_tgt, rx697_off
-  rx697_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan700_done
-    goto rxscan700_scan
-  rxscan700_loop:
-    ($P10) = rx697_cur."from"()
-    inc $P10
-    set rx697_pos, $P10
-    ge rx697_pos, rx697_eos, rxscan700_done
-  rxscan700_scan:
-    set_addr $I10, rxscan700_loop
-    rx697_cur."!mark_push"(0, rx697_pos, $I10)
-  rxscan700_done:
-.annotate 'line', 316
-    rx697_cur."!cursor_pos"(rx697_pos)
-.annotate 'line', 317
-    new $P701, "String"
-    assign $P701, ""
-    store_lex "$*MULTINESS", $P701
+    .local string rx709_tgt
+    .local int rx709_pos
+    .local int rx709_off
+    .local int rx709_eos
+    .local int rx709_rep
+    .local pmc rx709_cur
+    (rx709_cur, rx709_pos, rx709_tgt) = self."!cursor_start"()
+    rx709_cur."!cursor_debug"("START ", "multi_declarator:sym<null>")
+    .lex unicode:"$\x{a2}", rx709_cur
+    .local pmc match
+    .lex "$/", match
+    length rx709_eos, rx709_tgt
+    gt rx709_pos, rx709_eos, rx709_done
+    set rx709_off, 0
+    lt rx709_pos, 2, rx709_start
+    sub rx709_off, rx709_pos, 1
+    substr rx709_tgt, rx709_tgt, rx709_off
+  rx709_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan713_done
+    goto rxscan713_scan
+  rxscan713_loop:
+    ($P10) = rx709_cur."from"()
+    inc $P10
+    set rx709_pos, $P10
+    ge rx709_pos, rx709_eos, rxscan713_done
+  rxscan713_scan:
+    set_addr $I10, rxscan713_loop
+    rx709_cur."!mark_push"(0, rx709_pos, $I10)
+  rxscan713_done:
 .annotate 'line', 318
+    rx709_cur."!cursor_pos"(rx709_pos)
+    new $P714, "String"
+    assign $P714, ""
+    store_lex "$*MULTINESS", $P714
+.annotate 'line', 319
   # rx subrule "declarator" subtype=capture negate=
-    rx697_cur."!cursor_pos"(rx697_pos)
-    $P10 = rx697_cur."declarator"()
-    unless $P10, rx697_fail
-    rx697_cur."!mark_push"(0, -1, 0, $P10)
+    rx709_cur."!cursor_pos"(rx709_pos)
+    $P10 = rx709_cur."declarator"()
+    unless $P10, rx709_fail
+    rx709_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("declarator")
-    rx697_pos = $P10."pos"()
-.annotate 'line', 316
+    rx709_pos = $P10."pos"()
+.annotate 'line', 317
   # rx pass
-    rx697_cur."!cursor_pass"(rx697_pos, "multi_declarator:sym<null>")
-    rx697_cur."!cursor_debug"("PASS  ", "multi_declarator:sym<null>", " at pos=", rx697_pos)
-    .return (rx697_cur)
-  rx697_fail:
+    rx709_cur."!cursor_pass"(rx709_pos, "multi_declarator:sym<null>")
+    rx709_cur."!cursor_debug"("PASS  ", "multi_declarator:sym<null>", " at pos=", rx709_pos)
+    .return (rx709_cur)
+  rx709_fail:
 .annotate 'line', 4
-    (rx697_rep, rx697_pos, $I10, $P10) = rx697_cur."!mark_fail"(0)
-    lt rx697_pos, -1, rx697_done
-    eq rx697_pos, -1, rx697_fail
+    (rx709_rep, rx709_pos, $I10, $P10) = rx709_cur."!mark_fail"(0)
+    lt rx709_pos, -1, rx709_done
+    eq rx709_pos, -1, rx709_fail
     jump $I10
-  rx697_done:
-    rx697_cur."!cursor_fail"()
-    rx697_cur."!cursor_debug"("FAIL  ", "multi_declarator:sym<null>")
-    .return (rx697_cur)
+  rx709_done:
+    rx709_cur."!cursor_fail"()
+    rx709_cur."!cursor_debug"("FAIL  ", "multi_declarator:sym<null>")
+    .return (rx709_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__multi_declarator:sym<null>"  :subid("167_1275600007.84296") :method
+.sub "!PREFIX__multi_declarator:sym<null>"  :subid("167_1275811487.95429") :method
 .annotate 'line', 4
-    new $P699, "ResizablePMCArray"
-    push $P699, ""
-    .return ($P699)
+    $P711 = self."!PREFIX__!subrule"("declarator", "")
+    new $P712, "ResizablePMCArray"
+    push $P712, $P711
+    .return ($P712)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "signature"  :subid("168_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "signature"  :subid("168_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx703_tgt
-    .local int rx703_pos
-    .local int rx703_off
-    .local int rx703_eos
-    .local int rx703_rep
-    .local pmc rx703_cur
-    (rx703_cur, rx703_pos, rx703_tgt) = self."!cursor_start"()
-    rx703_cur."!cursor_debug"("START ", "signature")
-    rx703_cur."!cursor_caparray"("parameter")
-    .lex unicode:"$\x{a2}", rx703_cur
+    .local string rx716_tgt
+    .local int rx716_pos
+    .local int rx716_off
+    .local int rx716_eos
+    .local int rx716_rep
+    .local pmc rx716_cur
+    (rx716_cur, rx716_pos, rx716_tgt) = self."!cursor_start"()
+    rx716_cur."!cursor_debug"("START ", "signature")
+    rx716_cur."!cursor_caparray"("parameter")
+    .lex unicode:"$\x{a2}", rx716_cur
     .local pmc match
     .lex "$/", match
-    length rx703_eos, rx703_tgt
-    gt rx703_pos, rx703_eos, rx703_done
-    set rx703_off, 0
-    lt rx703_pos, 2, rx703_start
-    sub rx703_off, rx703_pos, 1
-    substr rx703_tgt, rx703_tgt, rx703_off
-  rx703_start:
+    length rx716_eos, rx716_tgt
+    gt rx716_pos, rx716_eos, rx716_done
+    set rx716_off, 0
+    lt rx716_pos, 2, rx716_start
+    sub rx716_off, rx716_pos, 1
+    substr rx716_tgt, rx716_tgt, rx716_off
+  rx716_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan706_done
-    goto rxscan706_scan
-  rxscan706_loop:
-    ($P10) = rx703_cur."from"()
+    ne $I10, -1, rxscan719_done
+    goto rxscan719_scan
+  rxscan719_loop:
+    ($P10) = rx716_cur."from"()
     inc $P10
-    set rx703_pos, $P10
-    ge rx703_pos, rx703_eos, rxscan706_done
-  rxscan706_scan:
-    set_addr $I10, rxscan706_loop
-    rx703_cur."!mark_push"(0, rx703_pos, $I10)
-  rxscan706_done:
-.annotate 'line', 321
-  # rx rxquantr707 ** 0..1
-    set_addr $I710, rxquantr707_done
-    rx703_cur."!mark_push"(0, rx703_pos, $I710)
-  rxquantr707_loop:
-  # rx rxquantr708 ** 1..*
-    set_addr $I709, rxquantr708_done
-    rx703_cur."!mark_push"(0, -1, $I709)
-  rxquantr708_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx703_cur."!cursor_pos"(rx703_pos)
-    $P10 = rx703_cur."ws"()
-    unless $P10, rx703_fail
-    rx703_pos = $P10."pos"()
+    set rx716_pos, $P10
+    ge rx716_pos, rx716_eos, rxscan719_done
+  rxscan719_scan:
+    set_addr $I10, rxscan719_loop
+    rx716_cur."!mark_push"(0, rx716_pos, $I10)
+  rxscan719_done:
+.annotate 'line', 322
+  # rx rxquantr720 ** 0..1
+    set_addr $I723, rxquantr720_done
+    rx716_cur."!mark_push"(0, rx716_pos, $I723)
+  rxquantr720_loop:
+  # rx rxquantr721 ** 1..*
+    set_addr $I722, rxquantr721_done
+    rx716_cur."!mark_push"(0, -1, $I722)
+  rxquantr721_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx716_cur."!cursor_pos"(rx716_pos)
+    $P10 = rx716_cur."ws"()
+    unless $P10, rx716_fail
+    rx716_pos = $P10."pos"()
   # rx subrule "parameter" subtype=capture negate=
-    rx703_cur."!cursor_pos"(rx703_pos)
-    $P10 = rx703_cur."parameter"()
-    unless $P10, rx703_fail
-    rx703_cur."!mark_push"(0, -1, 0, $P10)
+    rx716_cur."!cursor_pos"(rx716_pos)
+    $P10 = rx716_cur."parameter"()
+    unless $P10, rx716_fail
+    rx716_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("parameter")
-    rx703_pos = $P10."pos"()
+    rx716_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx703_cur."!cursor_pos"(rx703_pos)
-    $P10 = rx703_cur."ws"()
-    unless $P10, rx703_fail
-    rx703_pos = $P10."pos"()
-    (rx703_rep) = rx703_cur."!mark_commit"($I709)
-    rx703_cur."!mark_push"(rx703_rep, rx703_pos, $I709)
+    rx716_cur."!cursor_pos"(rx716_pos)
+    $P10 = rx716_cur."ws"()
+    unless $P10, rx716_fail
+    rx716_pos = $P10."pos"()
+    (rx716_rep) = rx716_cur."!mark_commit"($I722)
+    rx716_cur."!mark_push"(rx716_rep, rx716_pos, $I722)
   # rx literal  ","
-    add $I11, rx703_pos, 1
-    gt $I11, rx703_eos, rx703_fail
-    sub $I11, rx703_pos, rx703_off
-    substr $S10, rx703_tgt, $I11, 1
-    ne $S10, ",", rx703_fail
-    add rx703_pos, 1
-    goto rxquantr708_loop
-  rxquantr708_done:
-    (rx703_rep) = rx703_cur."!mark_commit"($I710)
-  rxquantr707_done:
+    add $I11, rx716_pos, 1
+    gt $I11, rx716_eos, rx716_fail
+    sub $I11, rx716_pos, rx716_off
+    substr $S10, rx716_tgt, $I11, 1
+    ne $S10, ",", rx716_fail
+    add rx716_pos, 1
+    goto rxquantr721_loop
+  rxquantr721_done:
+    (rx716_rep) = rx716_cur."!mark_commit"($I723)
+  rxquantr720_done:
   # rx pass
-    rx703_cur."!cursor_pass"(rx703_pos, "signature")
-    rx703_cur."!cursor_debug"("PASS  ", "signature", " at pos=", rx703_pos)
-    .return (rx703_cur)
-  rx703_fail:
+    rx716_cur."!cursor_pass"(rx716_pos, "signature")
+    rx716_cur."!cursor_debug"("PASS  ", "signature", " at pos=", rx716_pos)
+    .return (rx716_cur)
+  rx716_fail:
 .annotate 'line', 4
-    (rx703_rep, rx703_pos, $I10, $P10) = rx703_cur."!mark_fail"(0)
-    lt rx703_pos, -1, rx703_done
-    eq rx703_pos, -1, rx703_fail
+    (rx716_rep, rx716_pos, $I10, $P10) = rx716_cur."!mark_fail"(0)
+    lt rx716_pos, -1, rx716_done
+    eq rx716_pos, -1, rx716_fail
     jump $I10
-  rx703_done:
-    rx703_cur."!cursor_fail"()
-    rx703_cur."!cursor_debug"("FAIL  ", "signature")
-    .return (rx703_cur)
+  rx716_done:
+    rx716_cur."!cursor_fail"()
+    rx716_cur."!cursor_debug"("FAIL  ", "signature")
+    .return (rx716_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__signature"  :subid("169_1275600007.84296") :method
+.sub "!PREFIX__signature"  :subid("169_1275811487.95429") :method
 .annotate 'line', 4
-    new $P705, "ResizablePMCArray"
-    push $P705, ""
-    .return ($P705)
+    new $P718, "ResizablePMCArray"
+    push $P718, ""
+    .return ($P718)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "parameter"  :subid("170_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "parameter"  :subid("170_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx712_tgt
-    .local int rx712_pos
-    .local int rx712_off
-    .local int rx712_eos
-    .local int rx712_rep
-    .local pmc rx712_cur
-    (rx712_cur, rx712_pos, rx712_tgt) = self."!cursor_start"()
-    rx712_cur."!cursor_debug"("START ", "parameter")
-    rx712_cur."!cursor_caparray"("default_value", "typename")
-    .lex unicode:"$\x{a2}", rx712_cur
-    .local pmc match
-    .lex "$/", match
-    length rx712_eos, rx712_tgt
-    gt rx712_pos, rx712_eos, rx712_done
-    set rx712_off, 0
-    lt rx712_pos, 2, rx712_start
-    sub rx712_off, rx712_pos, 1
-    substr rx712_tgt, rx712_tgt, rx712_off
-  rx712_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan715_done
-    goto rxscan715_scan
-  rxscan715_loop:
-    ($P10) = rx712_cur."from"()
-    inc $P10
-    set rx712_pos, $P10
-    ge rx712_pos, rx712_eos, rxscan715_done
-  rxscan715_scan:
-    set_addr $I10, rxscan715_loop
-    rx712_cur."!mark_push"(0, rx712_pos, $I10)
-  rxscan715_done:
-.annotate 'line', 324
-  # rx rxquantr716 ** 0..*
-    set_addr $I717, rxquantr716_done
-    rx712_cur."!mark_push"(0, rx712_pos, $I717)
-  rxquantr716_loop:
+    .local string rx725_tgt
+    .local int rx725_pos
+    .local int rx725_off
+    .local int rx725_eos
+    .local int rx725_rep
+    .local pmc rx725_cur
+    (rx725_cur, rx725_pos, rx725_tgt) = self."!cursor_start"()
+    rx725_cur."!cursor_debug"("START ", "parameter")
+    rx725_cur."!cursor_caparray"("default_value", "typename")
+    .lex unicode:"$\x{a2}", rx725_cur
+    .local pmc match
+    .lex "$/", match
+    length rx725_eos, rx725_tgt
+    gt rx725_pos, rx725_eos, rx725_done
+    set rx725_off, 0
+    lt rx725_pos, 2, rx725_start
+    sub rx725_off, rx725_pos, 1
+    substr rx725_tgt, rx725_tgt, rx725_off
+  rx725_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan728_done
+    goto rxscan728_scan
+  rxscan728_loop:
+    ($P10) = rx725_cur."from"()
+    inc $P10
+    set rx725_pos, $P10
+    ge rx725_pos, rx725_eos, rxscan728_done
+  rxscan728_scan:
+    set_addr $I10, rxscan728_loop
+    rx725_cur."!mark_push"(0, rx725_pos, $I10)
+  rxscan728_done:
+.annotate 'line', 325
+  # rx rxquantr729 ** 0..*
+    set_addr $I730, rxquantr729_done
+    rx725_cur."!mark_push"(0, rx725_pos, $I730)
+  rxquantr729_loop:
   # rx subrule "typename" subtype=capture negate=
-    rx712_cur."!cursor_pos"(rx712_pos)
-    $P10 = rx712_cur."typename"()
-    unless $P10, rx712_fail
-    rx712_cur."!mark_push"(0, -1, 0, $P10)
+    rx725_cur."!cursor_pos"(rx725_pos)
+    $P10 = rx725_cur."typename"()
+    unless $P10, rx725_fail
+    rx725_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("typename")
-    rx712_pos = $P10."pos"()
+    rx725_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx712_cur."!cursor_pos"(rx712_pos)
-    $P10 = rx712_cur."ws"()
-    unless $P10, rx712_fail
-    rx712_pos = $P10."pos"()
-    (rx712_rep) = rx712_cur."!mark_commit"($I717)
-    rx712_cur."!mark_push"(rx712_rep, rx712_pos, $I717)
-    goto rxquantr716_loop
-  rxquantr716_done:
-  alt718_0:
-.annotate 'line', 325
-    set_addr $I10, alt718_1
-    rx712_cur."!mark_push"(0, rx712_pos, $I10)
+    rx725_cur."!cursor_pos"(rx725_pos)
+    $P10 = rx725_cur."ws"()
+    unless $P10, rx725_fail
+    rx725_pos = $P10."pos"()
+    (rx725_rep) = rx725_cur."!mark_commit"($I730)
+    rx725_cur."!mark_push"(rx725_rep, rx725_pos, $I730)
+    goto rxquantr729_loop
+  rxquantr729_done:
+  alt731_0:
 .annotate 'line', 326
+    set_addr $I10, alt731_1
+    rx725_cur."!mark_push"(0, rx725_pos, $I10)
+.annotate 'line', 327
   # rx subcapture "quant"
-    set_addr $I10, rxcap_719_fail
-    rx712_cur."!mark_push"(0, rx712_pos, $I10)
+    set_addr $I10, rxcap_732_fail
+    rx725_cur."!mark_push"(0, rx725_pos, $I10)
   # rx literal  "*"
-    add $I11, rx712_pos, 1
-    gt $I11, rx712_eos, rx712_fail
-    sub $I11, rx712_pos, rx712_off
-    substr $S10, rx712_tgt, $I11, 1
-    ne $S10, "*", rx712_fail
-    add rx712_pos, 1
-    set_addr $I10, rxcap_719_fail
-    ($I12, $I11) = rx712_cur."!mark_peek"($I10)
-    rx712_cur."!cursor_pos"($I11)
-    ($P10) = rx712_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx712_pos, "")
-    rx712_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx725_pos, 1
+    gt $I11, rx725_eos, rx725_fail
+    sub $I11, rx725_pos, rx725_off
+    substr $S10, rx725_tgt, $I11, 1
+    ne $S10, "*", rx725_fail
+    add rx725_pos, 1
+    set_addr $I10, rxcap_732_fail
+    ($I12, $I11) = rx725_cur."!mark_peek"($I10)
+    rx725_cur."!cursor_pos"($I11)
+    ($P10) = rx725_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx725_pos, "")
+    rx725_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quant")
-    goto rxcap_719_done
-  rxcap_719_fail:
-    goto rx712_fail
-  rxcap_719_done:
+    goto rxcap_732_done
+  rxcap_732_fail:
+    goto rx725_fail
+  rxcap_732_done:
   # rx subrule "param_var" subtype=capture negate=
-    rx712_cur."!cursor_pos"(rx712_pos)
-    $P10 = rx712_cur."param_var"()
-    unless $P10, rx712_fail
-    rx712_cur."!mark_push"(0, -1, 0, $P10)
+    rx725_cur."!cursor_pos"(rx725_pos)
+    $P10 = rx725_cur."param_var"()
+    unless $P10, rx725_fail
+    rx725_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx712_pos = $P10."pos"()
-    goto alt718_end
-  alt718_1:
-  alt720_0:
-.annotate 'line', 327
-    set_addr $I10, alt720_1
-    rx712_cur."!mark_push"(0, rx712_pos, $I10)
+    rx725_pos = $P10."pos"()
+    goto alt731_end
+  alt731_1:
+  alt733_0:
+.annotate 'line', 328
+    set_addr $I10, alt733_1
+    rx725_cur."!mark_push"(0, rx725_pos, $I10)
   # rx subrule "param_var" subtype=capture negate=
-    rx712_cur."!cursor_pos"(rx712_pos)
-    $P10 = rx712_cur."param_var"()
-    unless $P10, rx712_fail
-    rx712_cur."!mark_push"(0, -1, 0, $P10)
+    rx725_cur."!cursor_pos"(rx725_pos)
+    $P10 = rx725_cur."param_var"()
+    unless $P10, rx725_fail
+    rx725_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx712_pos = $P10."pos"()
-    goto alt720_end
-  alt720_1:
+    rx725_pos = $P10."pos"()
+    goto alt733_end
+  alt733_1:
   # rx subrule "named_param" subtype=capture negate=
-    rx712_cur."!cursor_pos"(rx712_pos)
-    $P10 = rx712_cur."named_param"()
-    unless $P10, rx712_fail
-    rx712_cur."!mark_push"(0, -1, 0, $P10)
+    rx725_cur."!cursor_pos"(rx725_pos)
+    $P10 = rx725_cur."named_param"()
+    unless $P10, rx725_fail
+    rx725_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("named_param")
-    rx712_pos = $P10."pos"()
-  alt720_end:
+    rx725_pos = $P10."pos"()
+  alt733_end:
   # rx subcapture "quant"
-    set_addr $I10, rxcap_722_fail
-    rx712_cur."!mark_push"(0, rx712_pos, $I10)
-  alt721_0:
-    set_addr $I10, alt721_1
-    rx712_cur."!mark_push"(0, rx712_pos, $I10)
+    set_addr $I10, rxcap_735_fail
+    rx725_cur."!mark_push"(0, rx725_pos, $I10)
+  alt734_0:
+    set_addr $I10, alt734_1
+    rx725_cur."!mark_push"(0, rx725_pos, $I10)
   # rx literal  "?"
-    add $I11, rx712_pos, 1
-    gt $I11, rx712_eos, rx712_fail
-    sub $I11, rx712_pos, rx712_off
-    substr $S10, rx712_tgt, $I11, 1
-    ne $S10, "?", rx712_fail
-    add rx712_pos, 1
-    goto alt721_end
-  alt721_1:
-    set_addr $I10, alt721_2
-    rx712_cur."!mark_push"(0, rx712_pos, $I10)
+    add $I11, rx725_pos, 1
+    gt $I11, rx725_eos, rx725_fail
+    sub $I11, rx725_pos, rx725_off
+    substr $S10, rx725_tgt, $I11, 1
+    ne $S10, "?", rx725_fail
+    add rx725_pos, 1
+    goto alt734_end
+  alt734_1:
+    set_addr $I10, alt734_2
+    rx725_cur."!mark_push"(0, rx725_pos, $I10)
   # rx literal  "!"
-    add $I11, rx712_pos, 1
-    gt $I11, rx712_eos, rx712_fail
-    sub $I11, rx712_pos, rx712_off
-    substr $S10, rx712_tgt, $I11, 1
-    ne $S10, "!", rx712_fail
-    add rx712_pos, 1
-    goto alt721_end
-  alt721_2:
-  alt721_end:
-    set_addr $I10, rxcap_722_fail
-    ($I12, $I11) = rx712_cur."!mark_peek"($I10)
-    rx712_cur."!cursor_pos"($I11)
-    ($P10) = rx712_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx712_pos, "")
-    rx712_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx725_pos, 1
+    gt $I11, rx725_eos, rx725_fail
+    sub $I11, rx725_pos, rx725_off
+    substr $S10, rx725_tgt, $I11, 1
+    ne $S10, "!", rx725_fail
+    add rx725_pos, 1
+    goto alt734_end
+  alt734_2:
+  alt734_end:
+    set_addr $I10, rxcap_735_fail
+    ($I12, $I11) = rx725_cur."!mark_peek"($I10)
+    rx725_cur."!cursor_pos"($I11)
+    ($P10) = rx725_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx725_pos, "")
+    rx725_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quant")
-    goto rxcap_722_done
-  rxcap_722_fail:
-    goto rx712_fail
-  rxcap_722_done:
-  alt718_end:
-.annotate 'line', 329
-  # rx rxquantr723 ** 0..1
-    set_addr $I724, rxquantr723_done
-    rx712_cur."!mark_push"(0, rx712_pos, $I724)
-  rxquantr723_loop:
+    goto rxcap_735_done
+  rxcap_735_fail:
+    goto rx725_fail
+  rxcap_735_done:
+  alt731_end:
+.annotate 'line', 330
+  # rx rxquantr736 ** 0..1
+    set_addr $I737, rxquantr736_done
+    rx725_cur."!mark_push"(0, rx725_pos, $I737)
+  rxquantr736_loop:
   # rx subrule "default_value" subtype=capture negate=
-    rx712_cur."!cursor_pos"(rx712_pos)
-    $P10 = rx712_cur."default_value"()
-    unless $P10, rx712_fail
-    rx712_cur."!mark_push"(0, -1, 0, $P10)
+    rx725_cur."!cursor_pos"(rx725_pos)
+    $P10 = rx725_cur."default_value"()
+    unless $P10, rx725_fail
+    rx725_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("default_value")
-    rx712_pos = $P10."pos"()
-    (rx712_rep) = rx712_cur."!mark_commit"($I724)
-  rxquantr723_done:
-.annotate 'line', 323
+    rx725_pos = $P10."pos"()
+    (rx725_rep) = rx725_cur."!mark_commit"($I737)
+  rxquantr736_done:
+.annotate 'line', 324
   # rx pass
-    rx712_cur."!cursor_pass"(rx712_pos, "parameter")
-    rx712_cur."!cursor_debug"("PASS  ", "parameter", " at pos=", rx712_pos)
-    .return (rx712_cur)
-  rx712_fail:
+    rx725_cur."!cursor_pass"(rx725_pos, "parameter")
+    rx725_cur."!cursor_debug"("PASS  ", "parameter", " at pos=", rx725_pos)
+    .return (rx725_cur)
+  rx725_fail:
 .annotate 'line', 4
-    (rx712_rep, rx712_pos, $I10, $P10) = rx712_cur."!mark_fail"(0)
-    lt rx712_pos, -1, rx712_done
-    eq rx712_pos, -1, rx712_fail
+    (rx725_rep, rx725_pos, $I10, $P10) = rx725_cur."!mark_fail"(0)
+    lt rx725_pos, -1, rx725_done
+    eq rx725_pos, -1, rx725_fail
     jump $I10
-  rx712_done:
-    rx712_cur."!cursor_fail"()
-    rx712_cur."!cursor_debug"("FAIL  ", "parameter")
-    .return (rx712_cur)
+  rx725_done:
+    rx725_cur."!cursor_fail"()
+    rx725_cur."!cursor_debug"("FAIL  ", "parameter")
+    .return (rx725_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__parameter"  :subid("171_1275600007.84296") :method
+.sub "!PREFIX__parameter"  :subid("171_1275811487.95429") :method
 .annotate 'line', 4
-    new $P714, "ResizablePMCArray"
-    push $P714, ""
-    .return ($P714)
+    new $P727, "ResizablePMCArray"
+    push $P727, ""
+    .return ($P727)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "param_var"  :subid("172_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "param_var"  :subid("172_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx726_tgt
-    .local int rx726_pos
-    .local int rx726_off
-    .local int rx726_eos
-    .local int rx726_rep
-    .local pmc rx726_cur
-    (rx726_cur, rx726_pos, rx726_tgt) = self."!cursor_start"()
-    rx726_cur."!cursor_debug"("START ", "param_var")
-    rx726_cur."!cursor_caparray"("twigil")
-    .lex unicode:"$\x{a2}", rx726_cur
-    .local pmc match
-    .lex "$/", match
-    length rx726_eos, rx726_tgt
-    gt rx726_pos, rx726_eos, rx726_done
-    set rx726_off, 0
-    lt rx726_pos, 2, rx726_start
-    sub rx726_off, rx726_pos, 1
-    substr rx726_tgt, rx726_tgt, rx726_off
-  rx726_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan730_done
-    goto rxscan730_scan
-  rxscan730_loop:
-    ($P10) = rx726_cur."from"()
-    inc $P10
-    set rx726_pos, $P10
-    ge rx726_pos, rx726_eos, rxscan730_done
-  rxscan730_scan:
-    set_addr $I10, rxscan730_loop
-    rx726_cur."!mark_push"(0, rx726_pos, $I10)
-  rxscan730_done:
-.annotate 'line', 333
+    .local string rx739_tgt
+    .local int rx739_pos
+    .local int rx739_off
+    .local int rx739_eos
+    .local int rx739_rep
+    .local pmc rx739_cur
+    (rx739_cur, rx739_pos, rx739_tgt) = self."!cursor_start"()
+    rx739_cur."!cursor_debug"("START ", "param_var")
+    rx739_cur."!cursor_caparray"("twigil")
+    .lex unicode:"$\x{a2}", rx739_cur
+    .local pmc match
+    .lex "$/", match
+    length rx739_eos, rx739_tgt
+    gt rx739_pos, rx739_eos, rx739_done
+    set rx739_off, 0
+    lt rx739_pos, 2, rx739_start
+    sub rx739_off, rx739_pos, 1
+    substr rx739_tgt, rx739_tgt, rx739_off
+  rx739_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan743_done
+    goto rxscan743_scan
+  rxscan743_loop:
+    ($P10) = rx739_cur."from"()
+    inc $P10
+    set rx739_pos, $P10
+    ge rx739_pos, rx739_eos, rxscan743_done
+  rxscan743_scan:
+    set_addr $I10, rxscan743_loop
+    rx739_cur."!mark_push"(0, rx739_pos, $I10)
+  rxscan743_done:
+.annotate 'line', 334
   # rx subrule "sigil" subtype=capture negate=
-    rx726_cur."!cursor_pos"(rx726_pos)
-    $P10 = rx726_cur."sigil"()
-    unless $P10, rx726_fail
-    rx726_cur."!mark_push"(0, -1, 0, $P10)
+    rx739_cur."!cursor_pos"(rx739_pos)
+    $P10 = rx739_cur."sigil"()
+    unless $P10, rx739_fail
+    rx739_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx726_pos = $P10."pos"()
-  # rx rxquantr731 ** 0..1
-    set_addr $I732, rxquantr731_done
-    rx726_cur."!mark_push"(0, rx726_pos, $I732)
-  rxquantr731_loop:
+    rx739_pos = $P10."pos"()
+  # rx rxquantr744 ** 0..1
+    set_addr $I745, rxquantr744_done
+    rx739_cur."!mark_push"(0, rx739_pos, $I745)
+  rxquantr744_loop:
   # rx subrule "twigil" subtype=capture negate=
-    rx726_cur."!cursor_pos"(rx726_pos)
-    $P10 = rx726_cur."twigil"()
-    unless $P10, rx726_fail
-    rx726_cur."!mark_push"(0, -1, 0, $P10)
+    rx739_cur."!cursor_pos"(rx739_pos)
+    $P10 = rx739_cur."twigil"()
+    unless $P10, rx739_fail
+    rx739_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("twigil")
-    rx726_pos = $P10."pos"()
-    (rx726_rep) = rx726_cur."!mark_commit"($I732)
-  rxquantr731_done:
-  alt733_0:
-.annotate 'line', 334
-    set_addr $I10, alt733_1
-    rx726_cur."!mark_push"(0, rx726_pos, $I10)
+    rx739_pos = $P10."pos"()
+    (rx739_rep) = rx739_cur."!mark_commit"($I745)
+  rxquantr744_done:
+  alt746_0:
+.annotate 'line', 335
+    set_addr $I10, alt746_1
+    rx739_cur."!mark_push"(0, rx739_pos, $I10)
   # rx subrule "ident" subtype=capture negate=
-    rx726_cur."!cursor_pos"(rx726_pos)
-    $P10 = rx726_cur."ident"()
-    unless $P10, rx726_fail
-    rx726_cur."!mark_push"(0, -1, 0, $P10)
+    rx739_cur."!cursor_pos"(rx739_pos)
+    $P10 = rx739_cur."ident"()
+    unless $P10, rx739_fail
+    rx739_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx726_pos = $P10."pos"()
-    goto alt733_end
-  alt733_1:
+    rx739_pos = $P10."pos"()
+    goto alt746_end
+  alt746_1:
   # rx subcapture "name"
-    set_addr $I10, rxcap_734_fail
-    rx726_cur."!mark_push"(0, rx726_pos, $I10)
+    set_addr $I10, rxcap_747_fail
+    rx739_cur."!mark_push"(0, rx739_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx726_pos, rx726_eos, rx726_fail
-    sub $I10, rx726_pos, rx726_off
-    substr $S10, rx726_tgt, $I10, 1
+    ge rx739_pos, rx739_eos, rx739_fail
+    sub $I10, rx739_pos, rx739_off
+    substr $S10, rx739_tgt, $I10, 1
     index $I11, "/!", $S10
-    lt $I11, 0, rx726_fail
-    inc rx726_pos
-    set_addr $I10, rxcap_734_fail
-    ($I12, $I11) = rx726_cur."!mark_peek"($I10)
-    rx726_cur."!cursor_pos"($I11)
-    ($P10) = rx726_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx726_pos, "")
-    rx726_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx739_fail
+    inc rx739_pos
+    set_addr $I10, rxcap_747_fail
+    ($I12, $I11) = rx739_cur."!mark_peek"($I10)
+    rx739_cur."!cursor_pos"($I11)
+    ($P10) = rx739_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx739_pos, "")
+    rx739_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    goto rxcap_734_done
-  rxcap_734_fail:
-    goto rx726_fail
-  rxcap_734_done:
-  alt733_end:
-.annotate 'line', 332
+    goto rxcap_747_done
+  rxcap_747_fail:
+    goto rx739_fail
+  rxcap_747_done:
+  alt746_end:
+.annotate 'line', 333
   # rx pass
-    rx726_cur."!cursor_pass"(rx726_pos, "param_var")
-    rx726_cur."!cursor_debug"("PASS  ", "param_var", " at pos=", rx726_pos)
-    .return (rx726_cur)
-  rx726_fail:
+    rx739_cur."!cursor_pass"(rx739_pos, "param_var")
+    rx739_cur."!cursor_debug"("PASS  ", "param_var", " at pos=", rx739_pos)
+    .return (rx739_cur)
+  rx739_fail:
 .annotate 'line', 4
-    (rx726_rep, rx726_pos, $I10, $P10) = rx726_cur."!mark_fail"(0)
-    lt rx726_pos, -1, rx726_done
-    eq rx726_pos, -1, rx726_fail
+    (rx739_rep, rx739_pos, $I10, $P10) = rx739_cur."!mark_fail"(0)
+    lt rx739_pos, -1, rx739_done
+    eq rx739_pos, -1, rx739_fail
     jump $I10
-  rx726_done:
-    rx726_cur."!cursor_fail"()
-    rx726_cur."!cursor_debug"("FAIL  ", "param_var")
-    .return (rx726_cur)
+  rx739_done:
+    rx739_cur."!cursor_fail"()
+    rx739_cur."!cursor_debug"("FAIL  ", "param_var")
+    .return (rx739_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__param_var"  :subid("173_1275600007.84296") :method
+.sub "!PREFIX__param_var"  :subid("173_1275811487.95429") :method
 .annotate 'line', 4
-    $P728 = self."!PREFIX__!subrule"("sigil", "")
-    new $P729, "ResizablePMCArray"
-    push $P729, $P728
-    .return ($P729)
+    $P741 = self."!PREFIX__!subrule"("sigil", "")
+    new $P742, "ResizablePMCArray"
+    push $P742, $P741
+    .return ($P742)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "named_param"  :subid("174_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "named_param"  :subid("174_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .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 ", "named_param")
-    .lex unicode:"$\x{a2}", rx736_cur
+    .local string rx749_tgt
+    .local int rx749_pos
+    .local int rx749_off
+    .local int rx749_eos
+    .local int rx749_rep
+    .local pmc rx749_cur
+    (rx749_cur, rx749_pos, rx749_tgt) = self."!cursor_start"()
+    rx749_cur."!cursor_debug"("START ", "named_param")
+    .lex unicode:"$\x{a2}", rx749_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:
+    length rx749_eos, rx749_tgt
+    gt rx749_pos, rx749_eos, rx749_done
+    set rx749_off, 0
+    lt rx749_pos, 2, rx749_start
+    sub rx749_off, rx749_pos, 1
+    substr rx749_tgt, rx749_tgt, rx749_off
+  rx749_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan740_done
-    goto rxscan740_scan
-  rxscan740_loop:
-    ($P10) = rx736_cur."from"()
+    ne $I10, -1, rxscan753_done
+    goto rxscan753_scan
+  rxscan753_loop:
+    ($P10) = rx749_cur."from"()
     inc $P10
-    set rx736_pos, $P10
-    ge rx736_pos, rx736_eos, rxscan740_done
-  rxscan740_scan:
-    set_addr $I10, rxscan740_loop
-    rx736_cur."!mark_push"(0, rx736_pos, $I10)
-  rxscan740_done:
-.annotate 'line', 338
+    set rx749_pos, $P10
+    ge rx749_pos, rx749_eos, rxscan753_done
+  rxscan753_scan:
+    set_addr $I10, rxscan753_loop
+    rx749_cur."!mark_push"(0, rx749_pos, $I10)
+  rxscan753_done:
+.annotate 'line', 339
   # 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
+    add $I11, rx749_pos, 1
+    gt $I11, rx749_eos, rx749_fail
+    sub $I11, rx749_pos, rx749_off
+    substr $S10, rx749_tgt, $I11, 1
+    ne $S10, ":", rx749_fail
+    add rx749_pos, 1
   # 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)
+    rx749_cur."!cursor_pos"(rx749_pos)
+    $P10 = rx749_cur."param_var"()
+    unless $P10, rx749_fail
+    rx749_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("param_var")
-    rx736_pos = $P10."pos"()
-.annotate 'line', 337
+    rx749_pos = $P10."pos"()
+.annotate 'line', 338
   # rx pass
-    rx736_cur."!cursor_pass"(rx736_pos, "named_param")
-    rx736_cur."!cursor_debug"("PASS  ", "named_param", " at pos=", rx736_pos)
-    .return (rx736_cur)
-  rx736_fail:
+    rx749_cur."!cursor_pass"(rx749_pos, "named_param")
+    rx749_cur."!cursor_debug"("PASS  ", "named_param", " at pos=", rx749_pos)
+    .return (rx749_cur)
+  rx749_fail:
 .annotate 'line', 4
-    (rx736_rep, rx736_pos, $I10, $P10) = rx736_cur."!mark_fail"(0)
-    lt rx736_pos, -1, rx736_done
-    eq rx736_pos, -1, rx736_fail
+    (rx749_rep, rx749_pos, $I10, $P10) = rx749_cur."!mark_fail"(0)
+    lt rx749_pos, -1, rx749_done
+    eq rx749_pos, -1, rx749_fail
     jump $I10
-  rx736_done:
-    rx736_cur."!cursor_fail"()
-    rx736_cur."!cursor_debug"("FAIL  ", "named_param")
-    .return (rx736_cur)
+  rx749_done:
+    rx749_cur."!cursor_fail"()
+    rx749_cur."!cursor_debug"("FAIL  ", "named_param")
+    .return (rx749_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__named_param"  :subid("175_1275600007.84296") :method
+.sub "!PREFIX__named_param"  :subid("175_1275811487.95429") :method
 .annotate 'line', 4
-    $P738 = self."!PREFIX__!subrule"("param_var", ":")
-    new $P739, "ResizablePMCArray"
-    push $P739, $P738
-    .return ($P739)
+    $P751 = self."!PREFIX__!subrule"("param_var", ":")
+    new $P752, "ResizablePMCArray"
+    push $P752, $P751
+    .return ($P752)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "default_value"  :subid("176_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "default_value"  :subid("176_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx742_tgt
-    .local int rx742_pos
-    .local int rx742_off
-    .local int rx742_eos
-    .local int rx742_rep
-    .local pmc rx742_cur
-    (rx742_cur, rx742_pos, rx742_tgt) = self."!cursor_start"()
-    rx742_cur."!cursor_debug"("START ", "default_value")
-    .lex unicode:"$\x{a2}", rx742_cur
-    .local pmc match
-    .lex "$/", match
-    length rx742_eos, rx742_tgt
-    gt rx742_pos, rx742_eos, rx742_done
-    set rx742_off, 0
-    lt rx742_pos, 2, rx742_start
-    sub rx742_off, rx742_pos, 1
-    substr rx742_tgt, rx742_tgt, rx742_off
-  rx742_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan745_done
-    goto rxscan745_scan
-  rxscan745_loop:
-    ($P10) = rx742_cur."from"()
-    inc $P10
-    set rx742_pos, $P10
-    ge rx742_pos, rx742_eos, rxscan745_done
-  rxscan745_scan:
-    set_addr $I10, rxscan745_loop
-    rx742_cur."!mark_push"(0, rx742_pos, $I10)
-  rxscan745_done:
-.annotate 'line', 341
-  # rx subrule "ws" subtype=method negate=
-    rx742_cur."!cursor_pos"(rx742_pos)
-    $P10 = rx742_cur."ws"()
-    unless $P10, rx742_fail
-    rx742_pos = $P10."pos"()
+    .local string rx755_tgt
+    .local int rx755_pos
+    .local int rx755_off
+    .local int rx755_eos
+    .local int rx755_rep
+    .local pmc rx755_cur
+    (rx755_cur, rx755_pos, rx755_tgt) = self."!cursor_start"()
+    rx755_cur."!cursor_debug"("START ", "default_value")
+    .lex unicode:"$\x{a2}", rx755_cur
+    .local pmc match
+    .lex "$/", match
+    length rx755_eos, rx755_tgt
+    gt rx755_pos, rx755_eos, rx755_done
+    set rx755_off, 0
+    lt rx755_pos, 2, rx755_start
+    sub rx755_off, rx755_pos, 1
+    substr rx755_tgt, rx755_tgt, rx755_off
+  rx755_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan759_done
+    goto rxscan759_scan
+  rxscan759_loop:
+    ($P10) = rx755_cur."from"()
+    inc $P10
+    set rx755_pos, $P10
+    ge rx755_pos, rx755_eos, rxscan759_done
+  rxscan759_scan:
+    set_addr $I10, rxscan759_loop
+    rx755_cur."!mark_push"(0, rx755_pos, $I10)
+  rxscan759_done:
+.annotate 'line', 342
+  # rx subrule "ws" subtype=method negate=
+    rx755_cur."!cursor_pos"(rx755_pos)
+    $P10 = rx755_cur."ws"()
+    unless $P10, rx755_fail
+    rx755_pos = $P10."pos"()
   # rx literal  "="
-    add $I11, rx742_pos, 1
-    gt $I11, rx742_eos, rx742_fail
-    sub $I11, rx742_pos, rx742_off
-    substr $S10, rx742_tgt, $I11, 1
-    ne $S10, "=", rx742_fail
-    add rx742_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx742_cur."!cursor_pos"(rx742_pos)
-    $P10 = rx742_cur."ws"()
-    unless $P10, rx742_fail
-    rx742_pos = $P10."pos"()
+    add $I11, rx755_pos, 1
+    gt $I11, rx755_eos, rx755_fail
+    sub $I11, rx755_pos, rx755_off
+    substr $S10, rx755_tgt, $I11, 1
+    ne $S10, "=", rx755_fail
+    add rx755_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx755_cur."!cursor_pos"(rx755_pos)
+    $P10 = rx755_cur."ws"()
+    unless $P10, rx755_fail
+    rx755_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx742_cur."!cursor_pos"(rx742_pos)
-    $P10 = rx742_cur."EXPR"("i=")
-    unless $P10, rx742_fail
-    rx742_cur."!mark_push"(0, -1, 0, $P10)
+    rx755_cur."!cursor_pos"(rx755_pos)
+    $P10 = rx755_cur."EXPR"("i=")
+    unless $P10, rx755_fail
+    rx755_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx742_pos = $P10."pos"()
+    rx755_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx742_cur."!cursor_pos"(rx742_pos)
-    $P10 = rx742_cur."ws"()
-    unless $P10, rx742_fail
-    rx742_pos = $P10."pos"()
+    rx755_cur."!cursor_pos"(rx755_pos)
+    $P10 = rx755_cur."ws"()
+    unless $P10, rx755_fail
+    rx755_pos = $P10."pos"()
   # rx pass
-    rx742_cur."!cursor_pass"(rx742_pos, "default_value")
-    rx742_cur."!cursor_debug"("PASS  ", "default_value", " at pos=", rx742_pos)
-    .return (rx742_cur)
-  rx742_fail:
+    rx755_cur."!cursor_pass"(rx755_pos, "default_value")
+    rx755_cur."!cursor_debug"("PASS  ", "default_value", " at pos=", rx755_pos)
+    .return (rx755_cur)
+  rx755_fail:
 .annotate 'line', 4
-    (rx742_rep, rx742_pos, $I10, $P10) = rx742_cur."!mark_fail"(0)
-    lt rx742_pos, -1, rx742_done
-    eq rx742_pos, -1, rx742_fail
+    (rx755_rep, rx755_pos, $I10, $P10) = rx755_cur."!mark_fail"(0)
+    lt rx755_pos, -1, rx755_done
+    eq rx755_pos, -1, rx755_fail
     jump $I10
-  rx742_done:
-    rx742_cur."!cursor_fail"()
-    rx742_cur."!cursor_debug"("FAIL  ", "default_value")
-    .return (rx742_cur)
+  rx755_done:
+    rx755_cur."!cursor_fail"()
+    rx755_cur."!cursor_debug"("FAIL  ", "default_value")
+    .return (rx755_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__default_value"  :subid("177_1275600007.84296") :method
+.sub "!PREFIX__default_value"  :subid("177_1275811487.95429") :method
 .annotate 'line', 4
-    new $P744, "ResizablePMCArray"
-    push $P744, ""
-    .return ($P744)
+    $P757 = self."!PREFIX__!subrule"("ws", "")
+    new $P758, "ResizablePMCArray"
+    push $P758, $P757
+    .return ($P758)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "regex_declarator"  :subid("178_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "regex_declarator"  :subid("178_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx750_tgt
-    .local int rx750_pos
-    .local int rx750_off
-    .local int rx750_eos
-    .local int rx750_rep
-    .local pmc rx750_cur
-    (rx750_cur, rx750_pos, rx750_tgt) = self."!cursor_start"()
-    rx750_cur."!cursor_debug"("START ", "regex_declarator")
-    rx750_cur."!cursor_caparray"("signature")
-    .lex unicode:"$\x{a2}", rx750_cur
+    .local string rx764_tgt
+    .local int rx764_pos
+    .local int rx764_off
+    .local int rx764_eos
+    .local int rx764_rep
+    .local pmc rx764_cur
+    (rx764_cur, rx764_pos, rx764_tgt) = self."!cursor_start"()
+    rx764_cur."!cursor_debug"("START ", "regex_declarator")
+    rx764_cur."!cursor_caparray"("signature")
+    .lex unicode:"$\x{a2}", rx764_cur
     .local pmc match
     .lex "$/", match
-    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:
+    length rx764_eos, rx764_tgt
+    gt rx764_pos, rx764_eos, rx764_done
+    set rx764_off, 0
+    lt rx764_pos, 2, rx764_start
+    sub rx764_off, rx764_pos, 1
+    substr rx764_tgt, rx764_tgt, rx764_off
+  rx764_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan753_done
-    goto rxscan753_scan
-  rxscan753_loop:
-    ($P10) = rx750_cur."from"()
+    ne $I10, -1, rxscan768_done
+    goto rxscan768_scan
+  rxscan768_loop:
+    ($P10) = rx764_cur."from"()
     inc $P10
-    set rx750_pos, $P10
-    ge rx750_pos, rx750_eos, rxscan753_done
-  rxscan753_scan:
-    set_addr $I10, rxscan753_loop
-    rx750_cur."!mark_push"(0, rx750_pos, $I10)
-  rxscan753_done:
-.annotate 'line', 343
-  # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-  alt755_0:
+    set rx764_pos, $P10
+    ge rx764_pos, rx764_eos, rxscan768_done
+  rxscan768_scan:
+    set_addr $I10, rxscan768_loop
+    rx764_cur."!mark_push"(0, rx764_pos, $I10)
+  rxscan768_done:
 .annotate 'line', 344
-    set_addr $I10, alt755_1
-    rx750_cur."!mark_push"(0, rx750_pos, $I10)
+  # rx subrule "ws" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+  alt770_0:
 .annotate 'line', 345
+    set_addr $I10, alt770_1
+    rx764_cur."!mark_push"(0, rx764_pos, $I10)
+.annotate 'line', 346
   # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
   # rx subcapture "proto"
-    set_addr $I10, rxcap_757_fail
-    rx750_cur."!mark_push"(0, rx750_pos, $I10)
+    set_addr $I10, rxcap_772_fail
+    rx764_cur."!mark_push"(0, rx764_pos, $I10)
   # rx literal  "proto"
-    add $I11, rx750_pos, 5
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 5
-    ne $S10, "proto", rx750_fail
-    add rx750_pos, 5
-    set_addr $I10, rxcap_757_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)
+    add $I11, rx764_pos, 5
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 5
+    ne $S10, "proto", rx764_fail
+    add rx764_pos, 5
+    set_addr $I10, rxcap_772_fail
+    ($I12, $I11) = rx764_cur."!mark_peek"($I10)
+    rx764_cur."!cursor_pos"($I11)
+    ($P10) = rx764_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx764_pos, "")
+    rx764_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("proto")
-    goto rxcap_757_done
-  rxcap_757_fail:
-    goto rx750_fail
-  rxcap_757_done:
-  # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-  alt759_0:
-    set_addr $I10, alt759_1
-    rx750_cur."!mark_push"(0, rx750_pos, $I10)
+    goto rxcap_772_done
+  rxcap_772_fail:
+    goto rx764_fail
+  rxcap_772_done:
+  # rx subrule "ws" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+  alt774_0:
+    set_addr $I10, alt774_1
+    rx764_cur."!mark_push"(0, rx764_pos, $I10)
   # rx literal  "regex"
-    add $I11, rx750_pos, 5
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 5
-    ne $S10, "regex", rx750_fail
-    add rx750_pos, 5
-    goto alt759_end
-  alt759_1:
-    set_addr $I10, alt759_2
-    rx750_cur."!mark_push"(0, rx750_pos, $I10)
+    add $I11, rx764_pos, 5
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 5
+    ne $S10, "regex", rx764_fail
+    add rx764_pos, 5
+    goto alt774_end
+  alt774_1:
+    set_addr $I10, alt774_2
+    rx764_cur."!mark_push"(0, rx764_pos, $I10)
   # rx literal  "token"
-    add $I11, rx750_pos, 5
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 5
-    ne $S10, "token", rx750_fail
-    add rx750_pos, 5
-    goto alt759_end
-  alt759_2:
+    add $I11, rx764_pos, 5
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 5
+    ne $S10, "token", rx764_fail
+    add rx764_pos, 5
+    goto alt774_end
+  alt774_2:
   # rx literal  "rule"
-    add $I11, rx750_pos, 4
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 4
-    ne $S10, "rule", rx750_fail
-    add rx750_pos, 4
-  alt759_end:
-  # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-.annotate 'line', 346
+    add $I11, rx764_pos, 4
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 4
+    ne $S10, "rule", rx764_fail
+    add rx764_pos, 4
+  alt774_end:
+  # rx subrule "ws" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+.annotate 'line', 347
   # rx subrule "deflongname" subtype=capture negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."deflongname"()
-    unless $P10, rx750_fail
-    rx750_cur."!mark_push"(0, -1, 0, $P10)
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."deflongname"()
+    unless $P10, rx764_fail
+    rx764_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx750_pos = $P10."pos"()
+    rx764_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-  alt762_0:
-.annotate 'line', 347
-    set_addr $I10, alt762_1
-    rx750_cur."!mark_push"(0, rx750_pos, $I10)
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+  alt777_0:
 .annotate 'line', 348
+    set_addr $I10, alt777_1
+    rx764_cur."!mark_push"(0, rx764_pos, $I10)
+.annotate 'line', 349
   # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
   # rx literal  "{"
-    add $I11, rx750_pos, 1
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 1
-    ne $S10, "{", rx750_fail
-    add rx750_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
+    add $I11, rx764_pos, 1
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 1
+    ne $S10, "{", rx764_fail
+    add rx764_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
   # rx literal  "<...>"
-    add $I11, rx750_pos, 5
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 5
-    ne $S10, "<...>", rx750_fail
-    add rx750_pos, 5
-  # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
+    add $I11, rx764_pos, 5
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 5
+    ne $S10, "<...>", rx764_fail
+    add rx764_pos, 5
+  # rx subrule "ws" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx750_pos, 1
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 1
-    ne $S10, "}", rx750_fail
-    add rx750_pos, 1
+    add $I11, rx764_pos, 1
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 1
+    ne $S10, "}", rx764_fail
+    add rx764_pos, 1
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ENDSTMT"()
-    unless $P10, rx750_fail
-  # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-    goto alt762_end
-  alt762_1:
-.annotate 'line', 349
-  # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-  # rx subrule "panic" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."panic"("Proto regex body must be <...>")
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-  alt762_end:
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ENDSTMT"()
+    unless $P10, rx764_fail
+  # rx subrule "ws" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+    goto alt777_end
+  alt777_1:
 .annotate 'line', 350
   # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-.annotate 'line', 345
-    goto alt755_end
-  alt755_1:
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+  # rx subrule "panic" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."panic"("Proto regex body must be <...>")
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+  alt777_end:
 .annotate 'line', 351
   # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+.annotate 'line', 346
+    goto alt770_end
+  alt770_1:
+.annotate 'line', 352
+  # rx subrule "ws" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
   # rx subcapture "sym"
-    set_addr $I10, rxcap_772_fail
-    rx750_cur."!mark_push"(0, rx750_pos, $I10)
-  alt771_0:
-    set_addr $I10, alt771_1
-    rx750_cur."!mark_push"(0, rx750_pos, $I10)
+    set_addr $I10, rxcap_787_fail
+    rx764_cur."!mark_push"(0, rx764_pos, $I10)
+  alt786_0:
+    set_addr $I10, alt786_1
+    rx764_cur."!mark_push"(0, rx764_pos, $I10)
   # rx literal  "regex"
-    add $I11, rx750_pos, 5
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 5
-    ne $S10, "regex", rx750_fail
-    add rx750_pos, 5
-    goto alt771_end
-  alt771_1:
-    set_addr $I10, alt771_2
-    rx750_cur."!mark_push"(0, rx750_pos, $I10)
+    add $I11, rx764_pos, 5
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 5
+    ne $S10, "regex", rx764_fail
+    add rx764_pos, 5
+    goto alt786_end
+  alt786_1:
+    set_addr $I10, alt786_2
+    rx764_cur."!mark_push"(0, rx764_pos, $I10)
   # rx literal  "token"
-    add $I11, rx750_pos, 5
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 5
-    ne $S10, "token", rx750_fail
-    add rx750_pos, 5
-    goto alt771_end
-  alt771_2:
+    add $I11, rx764_pos, 5
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 5
+    ne $S10, "token", rx764_fail
+    add rx764_pos, 5
+    goto alt786_end
+  alt786_2:
   # rx literal  "rule"
-    add $I11, rx750_pos, 4
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 4
-    ne $S10, "rule", rx750_fail
-    add rx750_pos, 4
-  alt771_end:
-    set_addr $I10, rxcap_772_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)
+    add $I11, rx764_pos, 4
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 4
+    ne $S10, "rule", rx764_fail
+    add rx764_pos, 4
+  alt786_end:
+    set_addr $I10, rxcap_787_fail
+    ($I12, $I11) = rx764_cur."!mark_peek"($I10)
+    rx764_cur."!cursor_pos"($I11)
+    ($P10) = rx764_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx764_pos, "")
+    rx764_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_772_done
-  rxcap_772_fail:
-    goto rx750_fail
-  rxcap_772_done:
-  # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-.annotate 'line', 352
+    goto rxcap_787_done
+  rxcap_787_fail:
+    goto rx764_fail
+  rxcap_787_done:
+  # rx subrule "ws" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+.annotate 'line', 353
   # rx subrule "deflongname" subtype=capture negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."deflongname"()
-    unless $P10, rx750_fail
-    rx750_cur."!mark_push"(0, -1, 0, $P10)
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."deflongname"()
+    unless $P10, rx764_fail
+    rx764_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("deflongname")
-    rx750_pos = $P10."pos"()
+    rx764_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-.annotate 'line', 353
-  # rx subrule "newpad" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."newpad"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-  # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
 .annotate 'line', 354
-  # rx rxquantr776 ** 0..1
-    set_addr $I781, rxquantr776_done
-    rx750_cur."!mark_push"(0, rx750_pos, $I781)
-  rxquantr776_loop:
-  # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
+  # rx subrule "newpad" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."newpad"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+  # rx subrule "ws" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+.annotate 'line', 355
+  # rx rxquantr791 ** 0..1
+    set_addr $I796, rxquantr791_done
+    rx764_cur."!mark_push"(0, rx764_pos, $I796)
+  rxquantr791_loop:
+  # rx subrule "ws" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx750_pos, 1
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 1
-    ne $S10, "(", rx750_fail
-    add rx750_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
+    add $I11, rx764_pos, 1
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 1
+    ne $S10, "(", rx764_fail
+    add rx764_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
   # rx subrule "signature" subtype=capture negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."signature"()
-    unless $P10, rx750_fail
-    rx750_cur."!mark_push"(0, -1, 0, $P10)
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."signature"()
+    unless $P10, rx764_fail
+    rx764_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("signature")
-    rx750_pos = $P10."pos"()
+    rx764_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx750_pos, 1
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 1
-    ne $S10, ")", rx750_fail
-    add rx750_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-    (rx750_rep) = rx750_cur."!mark_commit"($I781)
-  rxquantr776_done:
-  # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-.annotate 'line', 355
+    add $I11, rx764_pos, 1
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 1
+    ne $S10, ")", rx764_fail
+    add rx764_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+    (rx764_rep) = rx764_cur."!mark_commit"($I796)
+  rxquantr791_done:
+  # rx subrule "ws" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+.annotate 'line', 356
   # rx reduce name="regex_declarator" key="open"
-    rx750_cur."!cursor_pos"(rx750_pos)
-    rx750_cur."!reduce"("regex_declarator", "open")
+    rx764_cur."!cursor_pos"(rx764_pos)
+    rx764_cur."!reduce"("regex_declarator", "open")
   # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-.annotate 'line', 356
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+.annotate 'line', 357
   # rx literal  "{"
-    add $I11, rx750_pos, 1
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 1
-    ne $S10, "{", rx750_fail
-    add rx750_pos, 1
+    add $I11, rx764_pos, 1
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 1
+    ne $S10, "{", rx764_fail
+    add rx764_pos, 1
   # rx subrule "LANG" subtype=capture negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."LANG"("Regex", "nibbler")
-    unless $P10, rx750_fail
-    rx750_cur."!mark_push"(0, -1, 0, $P10)
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."LANG"("Regex", "nibbler")
+    unless $P10, rx764_fail
+    rx764_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("p6regex")
-    rx750_pos = $P10."pos"()
+    rx764_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx750_pos, 1
-    gt $I11, rx750_eos, rx750_fail
-    sub $I11, rx750_pos, rx750_off
-    substr $S10, rx750_tgt, $I11, 1
-    ne $S10, "}", rx750_fail
-    add rx750_pos, 1
+    add $I11, rx764_pos, 1
+    gt $I11, rx764_eos, rx764_fail
+    sub $I11, rx764_pos, rx764_off
+    substr $S10, rx764_tgt, $I11, 1
+    ne $S10, "}", rx764_fail
+    add rx764_pos, 1
   # rx subrule "ENDSTMT" subtype=zerowidth negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ENDSTMT"()
-    unless $P10, rx750_fail
-  # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-  alt755_end:
-.annotate 'line', 357
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ENDSTMT"()
+    unless $P10, rx764_fail
+  # rx subrule "ws" subtype=method negate=
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+  alt770_end:
+.annotate 'line', 358
   # rx subrule "ws" subtype=method negate=
-    rx750_cur."!cursor_pos"(rx750_pos)
-    $P10 = rx750_cur."ws"()
-    unless $P10, rx750_fail
-    rx750_pos = $P10."pos"()
-.annotate 'line', 343
+    rx764_cur."!cursor_pos"(rx764_pos)
+    $P10 = rx764_cur."ws"()
+    unless $P10, rx764_fail
+    rx764_pos = $P10."pos"()
+.annotate 'line', 344
   # rx pass
-    rx750_cur."!cursor_pass"(rx750_pos, "regex_declarator")
-    rx750_cur."!cursor_debug"("PASS  ", "regex_declarator", " at pos=", rx750_pos)
-    .return (rx750_cur)
-  rx750_fail:
+    rx764_cur."!cursor_pass"(rx764_pos, "regex_declarator")
+    rx764_cur."!cursor_debug"("PASS  ", "regex_declarator", " at pos=", rx764_pos)
+    .return (rx764_cur)
+  rx764_fail:
 .annotate 'line', 4
-    (rx750_rep, rx750_pos, $I10, $P10) = rx750_cur."!mark_fail"(0)
-    lt rx750_pos, -1, rx750_done
-    eq rx750_pos, -1, rx750_fail
+    (rx764_rep, rx764_pos, $I10, $P10) = rx764_cur."!mark_fail"(0)
+    lt rx764_pos, -1, rx764_done
+    eq rx764_pos, -1, rx764_fail
     jump $I10
-  rx750_done:
-    rx750_cur."!cursor_fail"()
-    rx750_cur."!cursor_debug"("FAIL  ", "regex_declarator")
-    .return (rx750_cur)
+  rx764_done:
+    rx764_cur."!cursor_fail"()
+    rx764_cur."!cursor_debug"("FAIL  ", "regex_declarator")
+    .return (rx764_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__regex_declarator"  :subid("179_1275600007.84296") :method
+.sub "!PREFIX__regex_declarator"  :subid("179_1275811487.95429") :method
 .annotate 'line', 4
-    new $P752, "ResizablePMCArray"
-    push $P752, ""
-    .return ($P752)
+    $P766 = self."!PREFIX__!subrule"("ws", "")
+    new $P767, "ResizablePMCArray"
+    push $P767, $P766
+    .return ($P767)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "dotty"  :subid("180_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "dotty"  :subid("180_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx787_tgt
-    .local int rx787_pos
-    .local int rx787_off
-    .local int rx787_eos
-    .local int rx787_rep
-    .local pmc rx787_cur
-    (rx787_cur, rx787_pos, rx787_tgt) = self."!cursor_start"()
-    rx787_cur."!cursor_debug"("START ", "dotty")
-    rx787_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx787_cur
-    .local pmc match
-    .lex "$/", match
-    length rx787_eos, rx787_tgt
-    gt rx787_pos, rx787_eos, rx787_done
-    set rx787_off, 0
-    lt rx787_pos, 2, rx787_start
-    sub rx787_off, rx787_pos, 1
-    substr rx787_tgt, rx787_tgt, rx787_off
-  rx787_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan791_done
-    goto rxscan791_scan
-  rxscan791_loop:
-    ($P10) = rx787_cur."from"()
-    inc $P10
-    set rx787_pos, $P10
-    ge rx787_pos, rx787_eos, rxscan791_done
-  rxscan791_scan:
-    set_addr $I10, rxscan791_loop
-    rx787_cur."!mark_push"(0, rx787_pos, $I10)
-  rxscan791_done:
-.annotate 'line', 361
-  # rx literal  "."
-    add $I11, rx787_pos, 1
-    gt $I11, rx787_eos, rx787_fail
-    sub $I11, rx787_pos, rx787_off
-    substr $S10, rx787_tgt, $I11, 1
-    ne $S10, ".", rx787_fail
-    add rx787_pos, 1
-  alt792_0:
+    .local string rx802_tgt
+    .local int rx802_pos
+    .local int rx802_off
+    .local int rx802_eos
+    .local int rx802_rep
+    .local pmc rx802_cur
+    (rx802_cur, rx802_pos, rx802_tgt) = self."!cursor_start"()
+    rx802_cur."!cursor_debug"("START ", "dotty")
+    rx802_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx802_cur
+    .local pmc match
+    .lex "$/", match
+    length rx802_eos, rx802_tgt
+    gt rx802_pos, rx802_eos, rx802_done
+    set rx802_off, 0
+    lt rx802_pos, 2, rx802_start
+    sub rx802_off, rx802_pos, 1
+    substr rx802_tgt, rx802_tgt, rx802_off
+  rx802_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan806_done
+    goto rxscan806_scan
+  rxscan806_loop:
+    ($P10) = rx802_cur."from"()
+    inc $P10
+    set rx802_pos, $P10
+    ge rx802_pos, rx802_eos, rxscan806_done
+  rxscan806_scan:
+    set_addr $I10, rxscan806_loop
+    rx802_cur."!mark_push"(0, rx802_pos, $I10)
+  rxscan806_done:
 .annotate 'line', 362
-    set_addr $I10, alt792_1
-    rx787_cur."!mark_push"(0, rx787_pos, $I10)
+  # rx literal  "."
+    add $I11, rx802_pos, 1
+    gt $I11, rx802_eos, rx802_fail
+    sub $I11, rx802_pos, rx802_off
+    substr $S10, rx802_tgt, $I11, 1
+    ne $S10, ".", rx802_fail
+    add rx802_pos, 1
+  alt807_0:
+.annotate 'line', 363
+    set_addr $I10, alt807_1
+    rx802_cur."!mark_push"(0, rx802_pos, $I10)
   # rx subrule "identifier" subtype=capture negate=
-    rx787_cur."!cursor_pos"(rx787_pos)
-    $P10 = rx787_cur."identifier"()
-    unless $P10, rx787_fail
-    rx787_cur."!mark_push"(0, -1, 0, $P10)
+    rx802_cur."!cursor_pos"(rx802_pos)
+    $P10 = rx802_cur."identifier"()
+    unless $P10, rx802_fail
+    rx802_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("longname=identifier")
-    rx787_pos = $P10."pos"()
-    goto alt792_end
-  alt792_1:
-.annotate 'line', 363
+    rx802_pos = $P10."pos"()
+    goto alt807_end
+  alt807_1:
+.annotate 'line', 364
   # rx enumcharlist negate=0 zerowidth
-    ge rx787_pos, rx787_eos, rx787_fail
-    sub $I10, rx787_pos, rx787_off
-    substr $S10, rx787_tgt, $I10, 1
+    ge rx802_pos, rx802_eos, rx802_fail
+    sub $I10, rx802_pos, rx802_off
+    substr $S10, rx802_tgt, $I10, 1
     index $I11, "'\"", $S10
-    lt $I11, 0, rx787_fail
+    lt $I11, 0, rx802_fail
   # rx subrule "quote" subtype=capture negate=
-    rx787_cur."!cursor_pos"(rx787_pos)
-    $P10 = rx787_cur."quote"()
-    unless $P10, rx787_fail
-    rx787_cur."!mark_push"(0, -1, 0, $P10)
+    rx802_cur."!cursor_pos"(rx802_pos)
+    $P10 = rx802_cur."quote"()
+    unless $P10, rx802_fail
+    rx802_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote")
-    rx787_pos = $P10."pos"()
-  alt793_0:
-.annotate 'line', 364
-    set_addr $I10, alt793_1
-    rx787_cur."!mark_push"(0, rx787_pos, $I10)
+    rx802_pos = $P10."pos"()
+  alt808_0:
+.annotate 'line', 365
+    set_addr $I10, alt808_1
+    rx802_cur."!mark_push"(0, rx802_pos, $I10)
   # rx enumcharlist negate=0 zerowidth
-    ge rx787_pos, rx787_eos, rx787_fail
-    sub $I10, rx787_pos, rx787_off
-    substr $S10, rx787_tgt, $I10, 1
+    ge rx802_pos, rx802_eos, rx802_fail
+    sub $I10, rx802_pos, rx802_off
+    substr $S10, rx802_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx787_fail
-    goto alt793_end
-  alt793_1:
+    lt $I11, 0, rx802_fail
+    goto alt808_end
+  alt808_1:
   # rx subrule "panic" subtype=method negate=
-    rx787_cur."!cursor_pos"(rx787_pos)
-    $P10 = rx787_cur."panic"("Quoted method name requires parenthesized arguments")
-    unless $P10, rx787_fail
-    rx787_pos = $P10."pos"()
-  alt793_end:
-  alt792_end:
-.annotate 'line', 370
-  # rx rxquantr794 ** 0..1
-    set_addr $I796, rxquantr794_done
-    rx787_cur."!mark_push"(0, rx787_pos, $I796)
-  rxquantr794_loop:
-  alt795_0:
-.annotate 'line', 367
-    set_addr $I10, alt795_1
-    rx787_cur."!mark_push"(0, rx787_pos, $I10)
+    rx802_cur."!cursor_pos"(rx802_pos)
+    $P10 = rx802_cur."panic"("Quoted method name requires parenthesized arguments")
+    unless $P10, rx802_fail
+    rx802_pos = $P10."pos"()
+  alt808_end:
+  alt807_end:
+.annotate 'line', 371
+  # rx rxquantr809 ** 0..1
+    set_addr $I811, rxquantr809_done
+    rx802_cur."!mark_push"(0, rx802_pos, $I811)
+  rxquantr809_loop:
+  alt810_0:
 .annotate 'line', 368
+    set_addr $I10, alt810_1
+    rx802_cur."!mark_push"(0, rx802_pos, $I10)
+.annotate 'line', 369
   # rx enumcharlist negate=0 zerowidth
-    ge rx787_pos, rx787_eos, rx787_fail
-    sub $I10, rx787_pos, rx787_off
-    substr $S10, rx787_tgt, $I10, 1
+    ge rx802_pos, rx802_eos, rx802_fail
+    sub $I10, rx802_pos, rx802_off
+    substr $S10, rx802_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx787_fail
+    lt $I11, 0, rx802_fail
   # rx subrule "args" subtype=capture negate=
-    rx787_cur."!cursor_pos"(rx787_pos)
-    $P10 = rx787_cur."args"()
-    unless $P10, rx787_fail
-    rx787_cur."!mark_push"(0, -1, 0, $P10)
+    rx802_cur."!cursor_pos"(rx802_pos)
+    $P10 = rx802_cur."args"()
+    unless $P10, rx802_fail
+    rx802_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx787_pos = $P10."pos"()
-    goto alt795_end
-  alt795_1:
-.annotate 'line', 369
+    rx802_pos = $P10."pos"()
+    goto alt810_end
+  alt810_1:
+.annotate 'line', 370
   # rx literal  ":"
-    add $I11, rx787_pos, 1
-    gt $I11, rx787_eos, rx787_fail
-    sub $I11, rx787_pos, rx787_off
-    substr $S10, rx787_tgt, $I11, 1
-    ne $S10, ":", rx787_fail
-    add rx787_pos, 1
+    add $I11, rx802_pos, 1
+    gt $I11, rx802_eos, rx802_fail
+    sub $I11, rx802_pos, rx802_off
+    substr $S10, rx802_tgt, $I11, 1
+    ne $S10, ":", rx802_fail
+    add rx802_pos, 1
   # rx charclass s
-    ge rx787_pos, rx787_eos, rx787_fail
-    sub $I10, rx787_pos, rx787_off
-    is_cclass $I11, 32, rx787_tgt, $I10
-    unless $I11, rx787_fail
-    inc rx787_pos
+    ge rx802_pos, rx802_eos, rx802_fail
+    sub $I10, rx802_pos, rx802_off
+    is_cclass $I11, 32, rx802_tgt, $I10
+    unless $I11, rx802_fail
+    inc rx802_pos
   # rx subrule "arglist" subtype=capture negate=
-    rx787_cur."!cursor_pos"(rx787_pos)
-    $P10 = rx787_cur."arglist"()
-    unless $P10, rx787_fail
-    rx787_cur."!mark_push"(0, -1, 0, $P10)
+    rx802_cur."!cursor_pos"(rx802_pos)
+    $P10 = rx802_cur."arglist"()
+    unless $P10, rx802_fail
+    rx802_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx787_pos = $P10."pos"()
-  alt795_end:
-.annotate 'line', 370
-    (rx787_rep) = rx787_cur."!mark_commit"($I796)
-  rxquantr794_done:
-.annotate 'line', 360
+    rx802_pos = $P10."pos"()
+  alt810_end:
+.annotate 'line', 371
+    (rx802_rep) = rx802_cur."!mark_commit"($I811)
+  rxquantr809_done:
+.annotate 'line', 361
   # rx pass
-    rx787_cur."!cursor_pass"(rx787_pos, "dotty")
-    rx787_cur."!cursor_debug"("PASS  ", "dotty", " at pos=", rx787_pos)
-    .return (rx787_cur)
-  rx787_fail:
+    rx802_cur."!cursor_pass"(rx802_pos, "dotty")
+    rx802_cur."!cursor_debug"("PASS  ", "dotty", " at pos=", rx802_pos)
+    .return (rx802_cur)
+  rx802_fail:
 .annotate 'line', 4
-    (rx787_rep, rx787_pos, $I10, $P10) = rx787_cur."!mark_fail"(0)
-    lt rx787_pos, -1, rx787_done
-    eq rx787_pos, -1, rx787_fail
+    (rx802_rep, rx802_pos, $I10, $P10) = rx802_cur."!mark_fail"(0)
+    lt rx802_pos, -1, rx802_done
+    eq rx802_pos, -1, rx802_fail
     jump $I10
-  rx787_done:
-    rx787_cur."!cursor_fail"()
-    rx787_cur."!cursor_debug"("FAIL  ", "dotty")
-    .return (rx787_cur)
+  rx802_done:
+    rx802_cur."!cursor_fail"()
+    rx802_cur."!cursor_debug"("FAIL  ", "dotty")
+    .return (rx802_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__dotty"  :subid("181_1275600007.84296") :method
+.sub "!PREFIX__dotty"  :subid("181_1275811487.95429") :method
 .annotate 'line', 4
-    $P789 = self."!PREFIX__!subrule"("longname=identifier", ".")
-    new $P790, "ResizablePMCArray"
-    push $P790, "'"
-    push $P790, "\""
-    push $P790, $P789
-    .return ($P790)
+    $P804 = self."!PREFIX__!subrule"("identifier", ".")
+    new $P805, "ResizablePMCArray"
+    push $P805, "'"
+    push $P805, "\""
+    push $P805, $P804
+    .return ($P805)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term"  :subid("182_1275600007.84296") :method
-.annotate 'line', 374
-    $P798 = self."!protoregex"("term")
-    .return ($P798)
+.sub "term"  :subid("182_1275811487.95429") :method
+.annotate 'line', 375
+    $P813 = self."!protoregex"("term")
+    .return ($P813)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term"  :subid("183_1275600007.84296") :method
-.annotate 'line', 374
-    $P800 = self."!PREFIX__!protoregex"("term")
-    .return ($P800)
+.sub "!PREFIX__term"  :subid("183_1275811487.95429") :method
+.annotate 'line', 375
+    $P815 = self."!PREFIX__!protoregex"("term")
+    .return ($P815)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<self>"  :subid("184_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "term:sym<self>"  :subid("184_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx802_tgt
-    .local int rx802_pos
-    .local int rx802_off
-    .local int rx802_eos
-    .local int rx802_rep
-    .local pmc rx802_cur
-    (rx802_cur, rx802_pos, rx802_tgt) = self."!cursor_start"()
-    rx802_cur."!cursor_debug"("START ", "term:sym<self>")
-    .lex unicode:"$\x{a2}", rx802_cur
+    .local string rx817_tgt
+    .local int rx817_pos
+    .local int rx817_off
+    .local int rx817_eos
+    .local int rx817_rep
+    .local pmc rx817_cur
+    (rx817_cur, rx817_pos, rx817_tgt) = self."!cursor_start"()
+    rx817_cur."!cursor_debug"("START ", "term:sym<self>")
+    .lex unicode:"$\x{a2}", rx817_cur
     .local pmc match
     .lex "$/", match
-    length rx802_eos, rx802_tgt
-    gt rx802_pos, rx802_eos, rx802_done
-    set rx802_off, 0
-    lt rx802_pos, 2, rx802_start
-    sub rx802_off, rx802_pos, 1
-    substr rx802_tgt, rx802_tgt, rx802_off
-  rx802_start:
+    length rx817_eos, rx817_tgt
+    gt rx817_pos, rx817_eos, rx817_done
+    set rx817_off, 0
+    lt rx817_pos, 2, rx817_start
+    sub rx817_off, rx817_pos, 1
+    substr rx817_tgt, rx817_tgt, rx817_off
+  rx817_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan805_done
-    goto rxscan805_scan
-  rxscan805_loop:
-    ($P10) = rx802_cur."from"()
+    ne $I10, -1, rxscan820_done
+    goto rxscan820_scan
+  rxscan820_loop:
+    ($P10) = rx817_cur."from"()
     inc $P10
-    set rx802_pos, $P10
-    ge rx802_pos, rx802_eos, rxscan805_done
-  rxscan805_scan:
-    set_addr $I10, rxscan805_loop
-    rx802_cur."!mark_push"(0, rx802_pos, $I10)
-  rxscan805_done:
-.annotate 'line', 376
+    set rx817_pos, $P10
+    ge rx817_pos, rx817_eos, rxscan820_done
+  rxscan820_scan:
+    set_addr $I10, rxscan820_loop
+    rx817_cur."!mark_push"(0, rx817_pos, $I10)
+  rxscan820_done:
+.annotate 'line', 377
   # rx subcapture "sym"
-    set_addr $I10, rxcap_806_fail
-    rx802_cur."!mark_push"(0, rx802_pos, $I10)
+    set_addr $I10, rxcap_821_fail
+    rx817_cur."!mark_push"(0, rx817_pos, $I10)
   # rx literal  "self"
-    add $I11, rx802_pos, 4
-    gt $I11, rx802_eos, rx802_fail
-    sub $I11, rx802_pos, rx802_off
-    substr $S10, rx802_tgt, $I11, 4
-    ne $S10, "self", rx802_fail
-    add rx802_pos, 4
-    set_addr $I10, rxcap_806_fail
-    ($I12, $I11) = rx802_cur."!mark_peek"($I10)
-    rx802_cur."!cursor_pos"($I11)
-    ($P10) = rx802_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx802_pos, "")
-    rx802_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx817_pos, 4
+    gt $I11, rx817_eos, rx817_fail
+    sub $I11, rx817_pos, rx817_off
+    substr $S10, rx817_tgt, $I11, 4
+    ne $S10, "self", rx817_fail
+    add rx817_pos, 4
+    set_addr $I10, rxcap_821_fail
+    ($I12, $I11) = rx817_cur."!mark_peek"($I10)
+    rx817_cur."!cursor_pos"($I11)
+    ($P10) = rx817_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx817_pos, "")
+    rx817_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_806_done
-  rxcap_806_fail:
-    goto rx802_fail
-  rxcap_806_done:
+    goto rxcap_821_done
+  rxcap_821_fail:
+    goto rx817_fail
+  rxcap_821_done:
   # rxanchor rwb
-    le rx802_pos, 0, rx802_fail
-    sub $I10, rx802_pos, rx802_off
-    is_cclass $I11, 8192, rx802_tgt, $I10
-    if $I11, rx802_fail
+    le rx817_pos, 0, rx817_fail
+    sub $I10, rx817_pos, rx817_off
+    is_cclass $I11, 8192, rx817_tgt, $I10
+    if $I11, rx817_fail
     dec $I10
-    is_cclass $I11, 8192, rx802_tgt, $I10
-    unless $I11, rx802_fail
+    is_cclass $I11, 8192, rx817_tgt, $I10
+    unless $I11, rx817_fail
   # rx pass
-    rx802_cur."!cursor_pass"(rx802_pos, "term:sym<self>")
-    rx802_cur."!cursor_debug"("PASS  ", "term:sym<self>", " at pos=", rx802_pos)
-    .return (rx802_cur)
-  rx802_fail:
+    rx817_cur."!cursor_pass"(rx817_pos, "term:sym<self>")
+    rx817_cur."!cursor_debug"("PASS  ", "term:sym<self>", " at pos=", rx817_pos)
+    .return (rx817_cur)
+  rx817_fail:
 .annotate 'line', 4
-    (rx802_rep, rx802_pos, $I10, $P10) = rx802_cur."!mark_fail"(0)
-    lt rx802_pos, -1, rx802_done
-    eq rx802_pos, -1, rx802_fail
+    (rx817_rep, rx817_pos, $I10, $P10) = rx817_cur."!mark_fail"(0)
+    lt rx817_pos, -1, rx817_done
+    eq rx817_pos, -1, rx817_fail
     jump $I10
-  rx802_done:
-    rx802_cur."!cursor_fail"()
-    rx802_cur."!cursor_debug"("FAIL  ", "term:sym<self>")
-    .return (rx802_cur)
+  rx817_done:
+    rx817_cur."!cursor_fail"()
+    rx817_cur."!cursor_debug"("FAIL  ", "term:sym<self>")
+    .return (rx817_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<self>"  :subid("185_1275600007.84296") :method
+.sub "!PREFIX__term:sym<self>"  :subid("185_1275811487.95429") :method
 .annotate 'line', 4
-    new $P804, "ResizablePMCArray"
-    push $P804, "self"
-    .return ($P804)
+    new $P819, "ResizablePMCArray"
+    push $P819, "self"
+    .return ($P819)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<identifier>"  :subid("186_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 4
-    .local string rx808_tgt
-    .local int rx808_pos
-    .local int rx808_off
-    .local int rx808_eos
-    .local int rx808_rep
-    .local pmc rx808_cur
-    (rx808_cur, rx808_pos, rx808_tgt) = self."!cursor_start"()
-    rx808_cur."!cursor_debug"("START ", "term:sym<identifier>")
-    .lex unicode:"$\x{a2}", rx808_cur
-    .local pmc match
-    .lex "$/", match
-    length rx808_eos, rx808_tgt
-    gt rx808_pos, rx808_eos, rx808_done
-    set rx808_off, 0
-    lt rx808_pos, 2, rx808_start
-    sub rx808_off, rx808_pos, 1
-    substr rx808_tgt, rx808_tgt, rx808_off
-  rx808_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan812_done
-    goto rxscan812_scan
-  rxscan812_loop:
-    ($P10) = rx808_cur."from"()
-    inc $P10
-    set rx808_pos, $P10
-    ge rx808_pos, rx808_eos, rxscan812_done
-  rxscan812_scan:
-    set_addr $I10, rxscan812_loop
-    rx808_cur."!mark_push"(0, rx808_pos, $I10)
-  rxscan812_done:
-.annotate 'line', 379
+.sub "term:sym<identifier>"  :subid("186_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 4
+    .local string rx823_tgt
+    .local int rx823_pos
+    .local int rx823_off
+    .local int rx823_eos
+    .local int rx823_rep
+    .local pmc rx823_cur
+    (rx823_cur, rx823_pos, rx823_tgt) = self."!cursor_start"()
+    rx823_cur."!cursor_debug"("START ", "term:sym<identifier>")
+    .lex unicode:"$\x{a2}", rx823_cur
+    .local pmc match
+    .lex "$/", match
+    length rx823_eos, rx823_tgt
+    gt rx823_pos, rx823_eos, rx823_done
+    set rx823_off, 0
+    lt rx823_pos, 2, rx823_start
+    sub rx823_off, rx823_pos, 1
+    substr rx823_tgt, rx823_tgt, rx823_off
+  rx823_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan827_done
+    goto rxscan827_scan
+  rxscan827_loop:
+    ($P10) = rx823_cur."from"()
+    inc $P10
+    set rx823_pos, $P10
+    ge rx823_pos, rx823_eos, rxscan827_done
+  rxscan827_scan:
+    set_addr $I10, rxscan827_loop
+    rx823_cur."!mark_push"(0, rx823_pos, $I10)
+  rxscan827_done:
+.annotate 'line', 380
   # rx subrule "identifier" subtype=capture negate=
-    rx808_cur."!cursor_pos"(rx808_pos)
-    $P10 = rx808_cur."identifier"()
-    unless $P10, rx808_fail
-    rx808_cur."!mark_push"(0, -1, 0, $P10)
+    rx823_cur."!cursor_pos"(rx823_pos)
+    $P10 = rx823_cur."identifier"()
+    unless $P10, rx823_fail
+    rx823_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("identifier")
-    rx808_pos = $P10."pos"()
+    rx823_pos = $P10."pos"()
   # rx enumcharlist negate=0 zerowidth
-    ge rx808_pos, rx808_eos, rx808_fail
-    sub $I10, rx808_pos, rx808_off
-    substr $S10, rx808_tgt, $I10, 1
+    ge rx823_pos, rx823_eos, rx823_fail
+    sub $I10, rx823_pos, rx823_off
+    substr $S10, rx823_tgt, $I10, 1
     index $I11, "(", $S10
-    lt $I11, 0, rx808_fail
+    lt $I11, 0, rx823_fail
   # rx subrule "args" subtype=capture negate=
-    rx808_cur."!cursor_pos"(rx808_pos)
-    $P10 = rx808_cur."args"()
-    unless $P10, rx808_fail
-    rx808_cur."!mark_push"(0, -1, 0, $P10)
+    rx823_cur."!cursor_pos"(rx823_pos)
+    $P10 = rx823_cur."args"()
+    unless $P10, rx823_fail
+    rx823_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx808_pos = $P10."pos"()
-.annotate 'line', 378
+    rx823_pos = $P10."pos"()
+.annotate 'line', 379
   # rx pass
-    rx808_cur."!cursor_pass"(rx808_pos, "term:sym<identifier>")
-    rx808_cur."!cursor_debug"("PASS  ", "term:sym<identifier>", " at pos=", rx808_pos)
-    .return (rx808_cur)
-  rx808_fail:
+    rx823_cur."!cursor_pass"(rx823_pos, "term:sym<identifier>")
+    rx823_cur."!cursor_debug"("PASS  ", "term:sym<identifier>", " at pos=", rx823_pos)
+    .return (rx823_cur)
+  rx823_fail:
 .annotate 'line', 4
-    (rx808_rep, rx808_pos, $I10, $P10) = rx808_cur."!mark_fail"(0)
-    lt rx808_pos, -1, rx808_done
-    eq rx808_pos, -1, rx808_fail
+    (rx823_rep, rx823_pos, $I10, $P10) = rx823_cur."!mark_fail"(0)
+    lt rx823_pos, -1, rx823_done
+    eq rx823_pos, -1, rx823_fail
     jump $I10
-  rx808_done:
-    rx808_cur."!cursor_fail"()
-    rx808_cur."!cursor_debug"("FAIL  ", "term:sym<identifier>")
-    .return (rx808_cur)
+  rx823_done:
+    rx823_cur."!cursor_fail"()
+    rx823_cur."!cursor_debug"("FAIL  ", "term:sym<identifier>")
+    .return (rx823_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<identifier>"  :subid("187_1275600007.84296") :method
+.sub "!PREFIX__term:sym<identifier>"  :subid("187_1275811487.95429") :method
 .annotate 'line', 4
-    $P810 = self."!PREFIX__!subrule"("identifier", "")
-    new $P811, "ResizablePMCArray"
-    push $P811, $P810
-    .return ($P811)
+    $P825 = self."!PREFIX__!subrule"("identifier", "")
+    new $P826, "ResizablePMCArray"
+    push $P826, $P825
+    .return ($P826)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<name>"  :subid("188_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "term:sym<name>"  :subid("188_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx814_tgt
-    .local int rx814_pos
-    .local int rx814_off
-    .local int rx814_eos
-    .local int rx814_rep
-    .local pmc rx814_cur
-    (rx814_cur, rx814_pos, rx814_tgt) = self."!cursor_start"()
-    rx814_cur."!cursor_debug"("START ", "term:sym<name>")
-    rx814_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx814_cur
-    .local pmc match
-    .lex "$/", match
-    length rx814_eos, rx814_tgt
-    gt rx814_pos, rx814_eos, rx814_done
-    set rx814_off, 0
-    lt rx814_pos, 2, rx814_start
-    sub rx814_off, rx814_pos, 1
-    substr rx814_tgt, rx814_tgt, rx814_off
-  rx814_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan818_done
-    goto rxscan818_scan
-  rxscan818_loop:
-    ($P10) = rx814_cur."from"()
-    inc $P10
-    set rx814_pos, $P10
-    ge rx814_pos, rx814_eos, rxscan818_done
-  rxscan818_scan:
-    set_addr $I10, rxscan818_loop
-    rx814_cur."!mark_push"(0, rx814_pos, $I10)
-  rxscan818_done:
-.annotate 'line', 383
+    .local string rx829_tgt
+    .local int rx829_pos
+    .local int rx829_off
+    .local int rx829_eos
+    .local int rx829_rep
+    .local pmc rx829_cur
+    (rx829_cur, rx829_pos, rx829_tgt) = self."!cursor_start"()
+    rx829_cur."!cursor_debug"("START ", "term:sym<name>")
+    rx829_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx829_cur
+    .local pmc match
+    .lex "$/", match
+    length rx829_eos, rx829_tgt
+    gt rx829_pos, rx829_eos, rx829_done
+    set rx829_off, 0
+    lt rx829_pos, 2, rx829_start
+    sub rx829_off, rx829_pos, 1
+    substr rx829_tgt, rx829_tgt, rx829_off
+  rx829_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan833_done
+    goto rxscan833_scan
+  rxscan833_loop:
+    ($P10) = rx829_cur."from"()
+    inc $P10
+    set rx829_pos, $P10
+    ge rx829_pos, rx829_eos, rxscan833_done
+  rxscan833_scan:
+    set_addr $I10, rxscan833_loop
+    rx829_cur."!mark_push"(0, rx829_pos, $I10)
+  rxscan833_done:
+.annotate 'line', 384
   # rx subrule "name" subtype=capture negate=
-    rx814_cur."!cursor_pos"(rx814_pos)
-    $P10 = rx814_cur."name"()
-    unless $P10, rx814_fail
-    rx814_cur."!mark_push"(0, -1, 0, $P10)
+    rx829_cur."!cursor_pos"(rx829_pos)
+    $P10 = rx829_cur."name"()
+    unless $P10, rx829_fail
+    rx829_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    rx814_pos = $P10."pos"()
-  # rx rxquantr819 ** 0..1
-    set_addr $I820, rxquantr819_done
-    rx814_cur."!mark_push"(0, rx814_pos, $I820)
-  rxquantr819_loop:
+    rx829_pos = $P10."pos"()
+  # rx rxquantr834 ** 0..1
+    set_addr $I835, rxquantr834_done
+    rx829_cur."!mark_push"(0, rx829_pos, $I835)
+  rxquantr834_loop:
   # rx subrule "args" subtype=capture negate=
-    rx814_cur."!cursor_pos"(rx814_pos)
-    $P10 = rx814_cur."args"()
-    unless $P10, rx814_fail
-    rx814_cur."!mark_push"(0, -1, 0, $P10)
+    rx829_cur."!cursor_pos"(rx829_pos)
+    $P10 = rx829_cur."args"()
+    unless $P10, rx829_fail
+    rx829_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx814_pos = $P10."pos"()
-    (rx814_rep) = rx814_cur."!mark_commit"($I820)
-  rxquantr819_done:
-.annotate 'line', 382
+    rx829_pos = $P10."pos"()
+    (rx829_rep) = rx829_cur."!mark_commit"($I835)
+  rxquantr834_done:
+.annotate 'line', 383
   # rx pass
-    rx814_cur."!cursor_pass"(rx814_pos, "term:sym<name>")
-    rx814_cur."!cursor_debug"("PASS  ", "term:sym<name>", " at pos=", rx814_pos)
-    .return (rx814_cur)
-  rx814_fail:
+    rx829_cur."!cursor_pass"(rx829_pos, "term:sym<name>")
+    rx829_cur."!cursor_debug"("PASS  ", "term:sym<name>", " at pos=", rx829_pos)
+    .return (rx829_cur)
+  rx829_fail:
 .annotate 'line', 4
-    (rx814_rep, rx814_pos, $I10, $P10) = rx814_cur."!mark_fail"(0)
-    lt rx814_pos, -1, rx814_done
-    eq rx814_pos, -1, rx814_fail
+    (rx829_rep, rx829_pos, $I10, $P10) = rx829_cur."!mark_fail"(0)
+    lt rx829_pos, -1, rx829_done
+    eq rx829_pos, -1, rx829_fail
     jump $I10
-  rx814_done:
-    rx814_cur."!cursor_fail"()
-    rx814_cur."!cursor_debug"("FAIL  ", "term:sym<name>")
-    .return (rx814_cur)
+  rx829_done:
+    rx829_cur."!cursor_fail"()
+    rx829_cur."!cursor_debug"("FAIL  ", "term:sym<name>")
+    .return (rx829_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<name>"  :subid("189_1275600007.84296") :method
+.sub "!PREFIX__term:sym<name>"  :subid("189_1275811487.95429") :method
 .annotate 'line', 4
-    $P816 = self."!PREFIX__!subrule"("name", "")
-    new $P817, "ResizablePMCArray"
-    push $P817, $P816
-    .return ($P817)
+    $P831 = self."!PREFIX__!subrule"("name", "")
+    new $P832, "ResizablePMCArray"
+    push $P832, $P831
+    .return ($P832)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<pir::op>"  :subid("190_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "term:sym<pir::op>"  :subid("190_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx822_tgt
-    .local int rx822_pos
-    .local int rx822_off
-    .local int rx822_eos
-    .local int rx822_rep
-    .local pmc rx822_cur
-    (rx822_cur, rx822_pos, rx822_tgt) = self."!cursor_start"()
-    rx822_cur."!cursor_debug"("START ", "term:sym<pir::op>")
-    rx822_cur."!cursor_caparray"("args")
-    .lex unicode:"$\x{a2}", rx822_cur
+    .local string rx837_tgt
+    .local int rx837_pos
+    .local int rx837_off
+    .local int rx837_eos
+    .local int rx837_rep
+    .local pmc rx837_cur
+    (rx837_cur, rx837_pos, rx837_tgt) = self."!cursor_start"()
+    rx837_cur."!cursor_debug"("START ", "term:sym<pir::op>")
+    rx837_cur."!cursor_caparray"("args")
+    .lex unicode:"$\x{a2}", rx837_cur
     .local pmc match
     .lex "$/", match
-    length rx822_eos, rx822_tgt
-    gt rx822_pos, rx822_eos, rx822_done
-    set rx822_off, 0
-    lt rx822_pos, 2, rx822_start
-    sub rx822_off, rx822_pos, 1
-    substr rx822_tgt, rx822_tgt, rx822_off
-  rx822_start:
+    length rx837_eos, rx837_tgt
+    gt rx837_pos, rx837_eos, rx837_done
+    set rx837_off, 0
+    lt rx837_pos, 2, rx837_start
+    sub rx837_off, rx837_pos, 1
+    substr rx837_tgt, rx837_tgt, rx837_off
+  rx837_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan825_done
-    goto rxscan825_scan
-  rxscan825_loop:
-    ($P10) = rx822_cur."from"()
+    ne $I10, -1, rxscan840_done
+    goto rxscan840_scan
+  rxscan840_loop:
+    ($P10) = rx837_cur."from"()
     inc $P10
-    set rx822_pos, $P10
-    ge rx822_pos, rx822_eos, rxscan825_done
-  rxscan825_scan:
-    set_addr $I10, rxscan825_loop
-    rx822_cur."!mark_push"(0, rx822_pos, $I10)
-  rxscan825_done:
-.annotate 'line', 387
+    set rx837_pos, $P10
+    ge rx837_pos, rx837_eos, rxscan840_done
+  rxscan840_scan:
+    set_addr $I10, rxscan840_loop
+    rx837_cur."!mark_push"(0, rx837_pos, $I10)
+  rxscan840_done:
+.annotate 'line', 388
   # rx literal  "pir::"
-    add $I11, rx822_pos, 5
-    gt $I11, rx822_eos, rx822_fail
-    sub $I11, rx822_pos, rx822_off
-    substr $S10, rx822_tgt, $I11, 5
-    ne $S10, "pir::", rx822_fail
-    add rx822_pos, 5
+    add $I11, rx837_pos, 5
+    gt $I11, rx837_eos, rx837_fail
+    sub $I11, rx837_pos, rx837_off
+    substr $S10, rx837_tgt, $I11, 5
+    ne $S10, "pir::", rx837_fail
+    add rx837_pos, 5
   # rx subcapture "op"
-    set_addr $I10, rxcap_826_fail
-    rx822_cur."!mark_push"(0, rx822_pos, $I10)
+    set_addr $I10, rxcap_841_fail
+    rx837_cur."!mark_push"(0, rx837_pos, $I10)
   # rx charclass_q w r 1..-1
-    sub $I10, rx822_pos, rx822_off
-    find_not_cclass $I11, 8192, rx822_tgt, $I10, rx822_eos
+    sub $I10, rx837_pos, rx837_off
+    find_not_cclass $I11, 8192, rx837_tgt, $I10, rx837_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx822_fail
-    add rx822_pos, rx822_off, $I11
-    set_addr $I10, rxcap_826_fail
-    ($I12, $I11) = rx822_cur."!mark_peek"($I10)
-    rx822_cur."!cursor_pos"($I11)
-    ($P10) = rx822_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx822_pos, "")
-    rx822_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx837_fail
+    add rx837_pos, rx837_off, $I11
+    set_addr $I10, rxcap_841_fail
+    ($I12, $I11) = rx837_cur."!mark_peek"($I10)
+    rx837_cur."!cursor_pos"($I11)
+    ($P10) = rx837_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx837_pos, "")
+    rx837_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("op")
-    goto rxcap_826_done
-  rxcap_826_fail:
-    goto rx822_fail
-  rxcap_826_done:
-  # rx rxquantr827 ** 0..1
-    set_addr $I828, rxquantr827_done
-    rx822_cur."!mark_push"(0, rx822_pos, $I828)
-  rxquantr827_loop:
+    goto rxcap_841_done
+  rxcap_841_fail:
+    goto rx837_fail
+  rxcap_841_done:
+  # rx rxquantr842 ** 0..1
+    set_addr $I843, rxquantr842_done
+    rx837_cur."!mark_push"(0, rx837_pos, $I843)
+  rxquantr842_loop:
   # rx subrule "args" subtype=capture negate=
-    rx822_cur."!cursor_pos"(rx822_pos)
-    $P10 = rx822_cur."args"()
-    unless $P10, rx822_fail
-    rx822_cur."!mark_push"(0, -1, 0, $P10)
+    rx837_cur."!cursor_pos"(rx837_pos)
+    $P10 = rx837_cur."args"()
+    unless $P10, rx837_fail
+    rx837_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("args")
-    rx822_pos = $P10."pos"()
-    (rx822_rep) = rx822_cur."!mark_commit"($I828)
-  rxquantr827_done:
-.annotate 'line', 386
+    rx837_pos = $P10."pos"()
+    (rx837_rep) = rx837_cur."!mark_commit"($I843)
+  rxquantr842_done:
+.annotate 'line', 387
   # rx pass
-    rx822_cur."!cursor_pass"(rx822_pos, "term:sym<pir::op>")
-    rx822_cur."!cursor_debug"("PASS  ", "term:sym<pir::op>", " at pos=", rx822_pos)
-    .return (rx822_cur)
-  rx822_fail:
+    rx837_cur."!cursor_pass"(rx837_pos, "term:sym<pir::op>")
+    rx837_cur."!cursor_debug"("PASS  ", "term:sym<pir::op>", " at pos=", rx837_pos)
+    .return (rx837_cur)
+  rx837_fail:
 .annotate 'line', 4
-    (rx822_rep, rx822_pos, $I10, $P10) = rx822_cur."!mark_fail"(0)
-    lt rx822_pos, -1, rx822_done
-    eq rx822_pos, -1, rx822_fail
+    (rx837_rep, rx837_pos, $I10, $P10) = rx837_cur."!mark_fail"(0)
+    lt rx837_pos, -1, rx837_done
+    eq rx837_pos, -1, rx837_fail
     jump $I10
-  rx822_done:
-    rx822_cur."!cursor_fail"()
-    rx822_cur."!cursor_debug"("FAIL  ", "term:sym<pir::op>")
-    .return (rx822_cur)
+  rx837_done:
+    rx837_cur."!cursor_fail"()
+    rx837_cur."!cursor_debug"("FAIL  ", "term:sym<pir::op>")
+    .return (rx837_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<pir::op>"  :subid("191_1275600007.84296") :method
+.sub "!PREFIX__term:sym<pir::op>"  :subid("191_1275811487.95429") :method
 .annotate 'line', 4
-    new $P824, "ResizablePMCArray"
-    push $P824, "pir::"
-    .return ($P824)
+    new $P839, "ResizablePMCArray"
+    push $P839, "pir::"
+    .return ($P839)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "args"  :subid("192_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "args"  :subid("192_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx830_tgt
-    .local int rx830_pos
-    .local int rx830_off
-    .local int rx830_eos
-    .local int rx830_rep
-    .local pmc rx830_cur
-    (rx830_cur, rx830_pos, rx830_tgt) = self."!cursor_start"()
-    rx830_cur."!cursor_debug"("START ", "args")
-    .lex unicode:"$\x{a2}", rx830_cur
-    .local pmc match
-    .lex "$/", match
-    length rx830_eos, rx830_tgt
-    gt rx830_pos, rx830_eos, rx830_done
-    set rx830_off, 0
-    lt rx830_pos, 2, rx830_start
-    sub rx830_off, rx830_pos, 1
-    substr rx830_tgt, rx830_tgt, rx830_off
-  rx830_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan834_done
-    goto rxscan834_scan
-  rxscan834_loop:
-    ($P10) = rx830_cur."from"()
-    inc $P10
-    set rx830_pos, $P10
-    ge rx830_pos, rx830_eos, rxscan834_done
-  rxscan834_scan:
-    set_addr $I10, rxscan834_loop
-    rx830_cur."!mark_push"(0, rx830_pos, $I10)
-  rxscan834_done:
-.annotate 'line', 391
+    .local string rx845_tgt
+    .local int rx845_pos
+    .local int rx845_off
+    .local int rx845_eos
+    .local int rx845_rep
+    .local pmc rx845_cur
+    (rx845_cur, rx845_pos, rx845_tgt) = self."!cursor_start"()
+    rx845_cur."!cursor_debug"("START ", "args")
+    .lex unicode:"$\x{a2}", rx845_cur
+    .local pmc match
+    .lex "$/", match
+    length rx845_eos, rx845_tgt
+    gt rx845_pos, rx845_eos, rx845_done
+    set rx845_off, 0
+    lt rx845_pos, 2, rx845_start
+    sub rx845_off, rx845_pos, 1
+    substr rx845_tgt, rx845_tgt, rx845_off
+  rx845_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan849_done
+    goto rxscan849_scan
+  rxscan849_loop:
+    ($P10) = rx845_cur."from"()
+    inc $P10
+    set rx845_pos, $P10
+    ge rx845_pos, rx845_eos, rxscan849_done
+  rxscan849_scan:
+    set_addr $I10, rxscan849_loop
+    rx845_cur."!mark_push"(0, rx845_pos, $I10)
+  rxscan849_done:
+.annotate 'line', 392
   # rx literal  "("
-    add $I11, rx830_pos, 1
-    gt $I11, rx830_eos, rx830_fail
-    sub $I11, rx830_pos, rx830_off
-    substr $S10, rx830_tgt, $I11, 1
-    ne $S10, "(", rx830_fail
-    add rx830_pos, 1
+    add $I11, rx845_pos, 1
+    gt $I11, rx845_eos, rx845_fail
+    sub $I11, rx845_pos, rx845_off
+    substr $S10, rx845_tgt, $I11, 1
+    ne $S10, "(", rx845_fail
+    add rx845_pos, 1
   # rx subrule "arglist" subtype=capture negate=
-    rx830_cur."!cursor_pos"(rx830_pos)
-    $P10 = rx830_cur."arglist"()
-    unless $P10, rx830_fail
-    rx830_cur."!mark_push"(0, -1, 0, $P10)
+    rx845_cur."!cursor_pos"(rx845_pos)
+    $P10 = rx845_cur."arglist"()
+    unless $P10, rx845_fail
+    rx845_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx830_pos = $P10."pos"()
+    rx845_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx830_pos, 1
-    gt $I11, rx830_eos, rx830_fail
-    sub $I11, rx830_pos, rx830_off
-    substr $S10, rx830_tgt, $I11, 1
-    ne $S10, ")", rx830_fail
-    add rx830_pos, 1
+    add $I11, rx845_pos, 1
+    gt $I11, rx845_eos, rx845_fail
+    sub $I11, rx845_pos, rx845_off
+    substr $S10, rx845_tgt, $I11, 1
+    ne $S10, ")", rx845_fail
+    add rx845_pos, 1
   # rx pass
-    rx830_cur."!cursor_pass"(rx830_pos, "args")
-    rx830_cur."!cursor_debug"("PASS  ", "args", " at pos=", rx830_pos)
-    .return (rx830_cur)
-  rx830_fail:
+    rx845_cur."!cursor_pass"(rx845_pos, "args")
+    rx845_cur."!cursor_debug"("PASS  ", "args", " at pos=", rx845_pos)
+    .return (rx845_cur)
+  rx845_fail:
 .annotate 'line', 4
-    (rx830_rep, rx830_pos, $I10, $P10) = rx830_cur."!mark_fail"(0)
-    lt rx830_pos, -1, rx830_done
-    eq rx830_pos, -1, rx830_fail
+    (rx845_rep, rx845_pos, $I10, $P10) = rx845_cur."!mark_fail"(0)
+    lt rx845_pos, -1, rx845_done
+    eq rx845_pos, -1, rx845_fail
     jump $I10
-  rx830_done:
-    rx830_cur."!cursor_fail"()
-    rx830_cur."!cursor_debug"("FAIL  ", "args")
-    .return (rx830_cur)
+  rx845_done:
+    rx845_cur."!cursor_fail"()
+    rx845_cur."!cursor_debug"("FAIL  ", "args")
+    .return (rx845_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__args"  :subid("193_1275600007.84296") :method
+.sub "!PREFIX__args"  :subid("193_1275811487.95429") :method
 .annotate 'line', 4
-    $P832 = self."!PREFIX__!subrule"("arglist", "(")
-    new $P833, "ResizablePMCArray"
-    push $P833, $P832
-    .return ($P833)
+    $P847 = self."!PREFIX__!subrule"("arglist", "(")
+    new $P848, "ResizablePMCArray"
+    push $P848, $P847
+    .return ($P848)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "arglist"  :subid("194_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "arglist"  :subid("194_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx836_tgt
-    .local int rx836_pos
-    .local int rx836_off
-    .local int rx836_eos
-    .local int rx836_rep
-    .local pmc rx836_cur
-    (rx836_cur, rx836_pos, rx836_tgt) = self."!cursor_start"()
-    rx836_cur."!cursor_debug"("START ", "arglist")
-    .lex unicode:"$\x{a2}", rx836_cur
+    .local string rx851_tgt
+    .local int rx851_pos
+    .local int rx851_off
+    .local int rx851_eos
+    .local int rx851_rep
+    .local pmc rx851_cur
+    (rx851_cur, rx851_pos, rx851_tgt) = self."!cursor_start"()
+    rx851_cur."!cursor_debug"("START ", "arglist")
+    .lex unicode:"$\x{a2}", rx851_cur
     .local pmc match
     .lex "$/", match
-    length rx836_eos, rx836_tgt
-    gt rx836_pos, rx836_eos, rx836_done
-    set rx836_off, 0
-    lt rx836_pos, 2, rx836_start
-    sub rx836_off, rx836_pos, 1
-    substr rx836_tgt, rx836_tgt, rx836_off
-  rx836_start:
+    length rx851_eos, rx851_tgt
+    gt rx851_pos, rx851_eos, rx851_done
+    set rx851_off, 0
+    lt rx851_pos, 2, rx851_start
+    sub rx851_off, rx851_pos, 1
+    substr rx851_tgt, rx851_tgt, rx851_off
+  rx851_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan840_done
-    goto rxscan840_scan
-  rxscan840_loop:
-    ($P10) = rx836_cur."from"()
+    ne $I10, -1, rxscan855_done
+    goto rxscan855_scan
+  rxscan855_loop:
+    ($P10) = rx851_cur."from"()
     inc $P10
-    set rx836_pos, $P10
-    ge rx836_pos, rx836_eos, rxscan840_done
-  rxscan840_scan:
-    set_addr $I10, rxscan840_loop
-    rx836_cur."!mark_push"(0, rx836_pos, $I10)
-  rxscan840_done:
-.annotate 'line', 395
-  # rx subrule "ws" subtype=method negate=
-    rx836_cur."!cursor_pos"(rx836_pos)
-    $P10 = rx836_cur."ws"()
-    unless $P10, rx836_fail
-    rx836_pos = $P10."pos"()
-  alt841_0:
+    set rx851_pos, $P10
+    ge rx851_pos, rx851_eos, rxscan855_done
+  rxscan855_scan:
+    set_addr $I10, rxscan855_loop
+    rx851_cur."!mark_push"(0, rx851_pos, $I10)
+  rxscan855_done:
 .annotate 'line', 396
-    set_addr $I10, alt841_1
-    rx836_cur."!mark_push"(0, rx836_pos, $I10)
+  # rx subrule "ws" subtype=method negate=
+    rx851_cur."!cursor_pos"(rx851_pos)
+    $P10 = rx851_cur."ws"()
+    unless $P10, rx851_fail
+    rx851_pos = $P10."pos"()
+  alt856_0:
 .annotate 'line', 397
+    set_addr $I10, alt856_1
+    rx851_cur."!mark_push"(0, rx851_pos, $I10)
+.annotate 'line', 398
   # rx subrule "EXPR" subtype=capture negate=
-    rx836_cur."!cursor_pos"(rx836_pos)
-    $P10 = rx836_cur."EXPR"("f=")
-    unless $P10, rx836_fail
-    rx836_cur."!mark_push"(0, -1, 0, $P10)
+    rx851_cur."!cursor_pos"(rx851_pos)
+    $P10 = rx851_cur."EXPR"("f=")
+    unless $P10, rx851_fail
+    rx851_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx836_pos = $P10."pos"()
-    goto alt841_end
-  alt841_1:
-  alt841_end:
-.annotate 'line', 394
+    rx851_pos = $P10."pos"()
+    goto alt856_end
+  alt856_1:
+  alt856_end:
+.annotate 'line', 395
   # rx pass
-    rx836_cur."!cursor_pass"(rx836_pos, "arglist")
-    rx836_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx836_pos)
-    .return (rx836_cur)
-  rx836_fail:
+    rx851_cur."!cursor_pass"(rx851_pos, "arglist")
+    rx851_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx851_pos)
+    .return (rx851_cur)
+  rx851_fail:
 .annotate 'line', 4
-    (rx836_rep, rx836_pos, $I10, $P10) = rx836_cur."!mark_fail"(0)
-    lt rx836_pos, -1, rx836_done
-    eq rx836_pos, -1, rx836_fail
+    (rx851_rep, rx851_pos, $I10, $P10) = rx851_cur."!mark_fail"(0)
+    lt rx851_pos, -1, rx851_done
+    eq rx851_pos, -1, rx851_fail
     jump $I10
-  rx836_done:
-    rx836_cur."!cursor_fail"()
-    rx836_cur."!cursor_debug"("FAIL  ", "arglist")
-    .return (rx836_cur)
+  rx851_done:
+    rx851_cur."!cursor_fail"()
+    rx851_cur."!cursor_debug"("FAIL  ", "arglist")
+    .return (rx851_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("195_1275600007.84296") :method
+.sub "!PREFIX__arglist"  :subid("195_1275811487.95429") :method
 .annotate 'line', 4
-    $P838 = self."!PREFIX__!subrule"("", "")
-    new $P839, "ResizablePMCArray"
-    push $P839, $P838
-    .return ($P839)
+    $P853 = self."!PREFIX__!subrule"("ws", "")
+    new $P854, "ResizablePMCArray"
+    push $P854, $P853
+    .return ($P854)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<value>"  :subid("196_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "term:sym<value>"  :subid("196_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx843_tgt
-    .local int rx843_pos
-    .local int rx843_off
-    .local int rx843_eos
-    .local int rx843_rep
-    .local pmc rx843_cur
-    (rx843_cur, rx843_pos, rx843_tgt) = self."!cursor_start"()
-    rx843_cur."!cursor_debug"("START ", "term:sym<value>")
-    .lex unicode:"$\x{a2}", rx843_cur
-    .local pmc match
-    .lex "$/", match
-    length rx843_eos, rx843_tgt
-    gt rx843_pos, rx843_eos, rx843_done
-    set rx843_off, 0
-    lt rx843_pos, 2, rx843_start
-    sub rx843_off, rx843_pos, 1
-    substr rx843_tgt, rx843_tgt, rx843_off
-  rx843_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan847_done
-    goto rxscan847_scan
-  rxscan847_loop:
-    ($P10) = rx843_cur."from"()
-    inc $P10
-    set rx843_pos, $P10
-    ge rx843_pos, rx843_eos, rxscan847_done
-  rxscan847_scan:
-    set_addr $I10, rxscan847_loop
-    rx843_cur."!mark_push"(0, rx843_pos, $I10)
-  rxscan847_done:
-.annotate 'line', 403
+    .local string rx858_tgt
+    .local int rx858_pos
+    .local int rx858_off
+    .local int rx858_eos
+    .local int rx858_rep
+    .local pmc rx858_cur
+    (rx858_cur, rx858_pos, rx858_tgt) = self."!cursor_start"()
+    rx858_cur."!cursor_debug"("START ", "term:sym<value>")
+    .lex unicode:"$\x{a2}", rx858_cur
+    .local pmc match
+    .lex "$/", match
+    length rx858_eos, rx858_tgt
+    gt rx858_pos, rx858_eos, rx858_done
+    set rx858_off, 0
+    lt rx858_pos, 2, rx858_start
+    sub rx858_off, rx858_pos, 1
+    substr rx858_tgt, rx858_tgt, rx858_off
+  rx858_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan862_done
+    goto rxscan862_scan
+  rxscan862_loop:
+    ($P10) = rx858_cur."from"()
+    inc $P10
+    set rx858_pos, $P10
+    ge rx858_pos, rx858_eos, rxscan862_done
+  rxscan862_scan:
+    set_addr $I10, rxscan862_loop
+    rx858_cur."!mark_push"(0, rx858_pos, $I10)
+  rxscan862_done:
+.annotate 'line', 404
   # rx subrule "value" subtype=capture negate=
-    rx843_cur."!cursor_pos"(rx843_pos)
-    $P10 = rx843_cur."value"()
-    unless $P10, rx843_fail
-    rx843_cur."!mark_push"(0, -1, 0, $P10)
+    rx858_cur."!cursor_pos"(rx858_pos)
+    $P10 = rx858_cur."value"()
+    unless $P10, rx858_fail
+    rx858_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("value")
-    rx843_pos = $P10."pos"()
+    rx858_pos = $P10."pos"()
   # rx pass
-    rx843_cur."!cursor_pass"(rx843_pos, "term:sym<value>")
-    rx843_cur."!cursor_debug"("PASS  ", "term:sym<value>", " at pos=", rx843_pos)
-    .return (rx843_cur)
-  rx843_fail:
+    rx858_cur."!cursor_pass"(rx858_pos, "term:sym<value>")
+    rx858_cur."!cursor_debug"("PASS  ", "term:sym<value>", " at pos=", rx858_pos)
+    .return (rx858_cur)
+  rx858_fail:
 .annotate 'line', 4
-    (rx843_rep, rx843_pos, $I10, $P10) = rx843_cur."!mark_fail"(0)
-    lt rx843_pos, -1, rx843_done
-    eq rx843_pos, -1, rx843_fail
+    (rx858_rep, rx858_pos, $I10, $P10) = rx858_cur."!mark_fail"(0)
+    lt rx858_pos, -1, rx858_done
+    eq rx858_pos, -1, rx858_fail
     jump $I10
-  rx843_done:
-    rx843_cur."!cursor_fail"()
-    rx843_cur."!cursor_debug"("FAIL  ", "term:sym<value>")
-    .return (rx843_cur)
+  rx858_done:
+    rx858_cur."!cursor_fail"()
+    rx858_cur."!cursor_debug"("FAIL  ", "term:sym<value>")
+    .return (rx858_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<value>"  :subid("197_1275600007.84296") :method
+.sub "!PREFIX__term:sym<value>"  :subid("197_1275811487.95429") :method
 .annotate 'line', 4
-    $P845 = self."!PREFIX__!subrule"("value", "")
-    new $P846, "ResizablePMCArray"
-    push $P846, $P845
-    .return ($P846)
+    $P860 = self."!PREFIX__!subrule"("value", "")
+    new $P861, "ResizablePMCArray"
+    push $P861, $P860
+    .return ($P861)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "value"  :subid("198_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "value"  :subid("198_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx849_tgt
-    .local int rx849_pos
-    .local int rx849_off
-    .local int rx849_eos
-    .local int rx849_rep
-    .local pmc rx849_cur
-    (rx849_cur, rx849_pos, rx849_tgt) = self."!cursor_start"()
-    rx849_cur."!cursor_debug"("START ", "value")
-    .lex unicode:"$\x{a2}", rx849_cur
+    .local string rx864_tgt
+    .local int rx864_pos
+    .local int rx864_off
+    .local int rx864_eos
+    .local int rx864_rep
+    .local pmc rx864_cur
+    (rx864_cur, rx864_pos, rx864_tgt) = self."!cursor_start"()
+    rx864_cur."!cursor_debug"("START ", "value")
+    .lex unicode:"$\x{a2}", rx864_cur
     .local pmc match
     .lex "$/", match
-    length rx849_eos, rx849_tgt
-    gt rx849_pos, rx849_eos, rx849_done
-    set rx849_off, 0
-    lt rx849_pos, 2, rx849_start
-    sub rx849_off, rx849_pos, 1
-    substr rx849_tgt, rx849_tgt, rx849_off
-  rx849_start:
+    length rx864_eos, rx864_tgt
+    gt rx864_pos, rx864_eos, rx864_done
+    set rx864_off, 0
+    lt rx864_pos, 2, rx864_start
+    sub rx864_off, rx864_pos, 1
+    substr rx864_tgt, rx864_tgt, rx864_off
+  rx864_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan854_done
-    goto rxscan854_scan
-  rxscan854_loop:
-    ($P10) = rx849_cur."from"()
+    ne $I10, -1, rxscan869_done
+    goto rxscan869_scan
+  rxscan869_loop:
+    ($P10) = rx864_cur."from"()
     inc $P10
-    set rx849_pos, $P10
-    ge rx849_pos, rx849_eos, rxscan854_done
-  rxscan854_scan:
-    set_addr $I10, rxscan854_loop
-    rx849_cur."!mark_push"(0, rx849_pos, $I10)
-  rxscan854_done:
-  alt855_0:
-.annotate 'line', 405
-    set_addr $I10, alt855_1
-    rx849_cur."!mark_push"(0, rx849_pos, $I10)
+    set rx864_pos, $P10
+    ge rx864_pos, rx864_eos, rxscan869_done
+  rxscan869_scan:
+    set_addr $I10, rxscan869_loop
+    rx864_cur."!mark_push"(0, rx864_pos, $I10)
+  rxscan869_done:
+  alt870_0:
 .annotate 'line', 406
+    set_addr $I10, alt870_1
+    rx864_cur."!mark_push"(0, rx864_pos, $I10)
+.annotate 'line', 407
   # rx subrule "quote" subtype=capture negate=
-    rx849_cur."!cursor_pos"(rx849_pos)
-    $P10 = rx849_cur."quote"()
-    unless $P10, rx849_fail
-    rx849_cur."!mark_push"(0, -1, 0, $P10)
+    rx864_cur."!cursor_pos"(rx864_pos)
+    $P10 = rx864_cur."quote"()
+    unless $P10, rx864_fail
+    rx864_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote")
-    rx849_pos = $P10."pos"()
-    goto alt855_end
-  alt855_1:
-.annotate 'line', 407
+    rx864_pos = $P10."pos"()
+    goto alt870_end
+  alt870_1:
+.annotate 'line', 408
   # rx subrule "number" subtype=capture negate=
-    rx849_cur."!cursor_pos"(rx849_pos)
-    $P10 = rx849_cur."number"()
-    unless $P10, rx849_fail
-    rx849_cur."!mark_push"(0, -1, 0, $P10)
+    rx864_cur."!cursor_pos"(rx864_pos)
+    $P10 = rx864_cur."number"()
+    unless $P10, rx864_fail
+    rx864_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("number")
-    rx849_pos = $P10."pos"()
-  alt855_end:
-.annotate 'line', 405
+    rx864_pos = $P10."pos"()
+  alt870_end:
+.annotate 'line', 406
   # rx pass
-    rx849_cur."!cursor_pass"(rx849_pos, "value")
-    rx849_cur."!cursor_debug"("PASS  ", "value", " at pos=", rx849_pos)
-    .return (rx849_cur)
-  rx849_fail:
+    rx864_cur."!cursor_pass"(rx864_pos, "value")
+    rx864_cur."!cursor_debug"("PASS  ", "value", " at pos=", rx864_pos)
+    .return (rx864_cur)
+  rx864_fail:
 .annotate 'line', 4
-    (rx849_rep, rx849_pos, $I10, $P10) = rx849_cur."!mark_fail"(0)
-    lt rx849_pos, -1, rx849_done
-    eq rx849_pos, -1, rx849_fail
+    (rx864_rep, rx864_pos, $I10, $P10) = rx864_cur."!mark_fail"(0)
+    lt rx864_pos, -1, rx864_done
+    eq rx864_pos, -1, rx864_fail
     jump $I10
-  rx849_done:
-    rx849_cur."!cursor_fail"()
-    rx849_cur."!cursor_debug"("FAIL  ", "value")
-    .return (rx849_cur)
+  rx864_done:
+    rx864_cur."!cursor_fail"()
+    rx864_cur."!cursor_debug"("FAIL  ", "value")
+    .return (rx864_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__value"  :subid("199_1275600007.84296") :method
+.sub "!PREFIX__value"  :subid("199_1275811487.95429") :method
 .annotate 'line', 4
-    $P851 = self."!PREFIX__!subrule"("number", "")
-    $P852 = self."!PREFIX__!subrule"("quote", "")
-    new $P853, "ResizablePMCArray"
-    push $P853, $P851
-    push $P853, $P852
-    .return ($P853)
+    $P866 = self."!PREFIX__!subrule"("number", "")
+    $P867 = self."!PREFIX__!subrule"("quote", "")
+    new $P868, "ResizablePMCArray"
+    push $P868, $P866
+    push $P868, $P867
+    .return ($P868)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "number"  :subid("200_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "number"  :subid("200_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx857_tgt
-    .local int rx857_pos
-    .local int rx857_off
-    .local int rx857_eos
-    .local int rx857_rep
-    .local pmc rx857_cur
-    (rx857_cur, rx857_pos, rx857_tgt) = self."!cursor_start"()
-    rx857_cur."!cursor_debug"("START ", "number")
-    .lex unicode:"$\x{a2}", rx857_cur
-    .local pmc match
-    .lex "$/", match
-    length rx857_eos, rx857_tgt
-    gt rx857_pos, rx857_eos, rx857_done
-    set rx857_off, 0
-    lt rx857_pos, 2, rx857_start
-    sub rx857_off, rx857_pos, 1
-    substr rx857_tgt, rx857_tgt, rx857_off
-  rx857_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan860_done
-    goto rxscan860_scan
-  rxscan860_loop:
-    ($P10) = rx857_cur."from"()
-    inc $P10
-    set rx857_pos, $P10
-    ge rx857_pos, rx857_eos, rxscan860_done
-  rxscan860_scan:
-    set_addr $I10, rxscan860_loop
-    rx857_cur."!mark_push"(0, rx857_pos, $I10)
-  rxscan860_done:
-.annotate 'line', 411
+    .local string rx872_tgt
+    .local int rx872_pos
+    .local int rx872_off
+    .local int rx872_eos
+    .local int rx872_rep
+    .local pmc rx872_cur
+    (rx872_cur, rx872_pos, rx872_tgt) = self."!cursor_start"()
+    rx872_cur."!cursor_debug"("START ", "number")
+    .lex unicode:"$\x{a2}", rx872_cur
+    .local pmc match
+    .lex "$/", match
+    length rx872_eos, rx872_tgt
+    gt rx872_pos, rx872_eos, rx872_done
+    set rx872_off, 0
+    lt rx872_pos, 2, rx872_start
+    sub rx872_off, rx872_pos, 1
+    substr rx872_tgt, rx872_tgt, rx872_off
+  rx872_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan875_done
+    goto rxscan875_scan
+  rxscan875_loop:
+    ($P10) = rx872_cur."from"()
+    inc $P10
+    set rx872_pos, $P10
+    ge rx872_pos, rx872_eos, rxscan875_done
+  rxscan875_scan:
+    set_addr $I10, rxscan875_loop
+    rx872_cur."!mark_push"(0, rx872_pos, $I10)
+  rxscan875_done:
+.annotate 'line', 412
   # rx subcapture "sign"
-    set_addr $I10, rxcap_863_fail
-    rx857_cur."!mark_push"(0, rx857_pos, $I10)
-  # rx rxquantr861 ** 0..1
-    set_addr $I862, rxquantr861_done
-    rx857_cur."!mark_push"(0, rx857_pos, $I862)
-  rxquantr861_loop:
+    set_addr $I10, rxcap_878_fail
+    rx872_cur."!mark_push"(0, rx872_pos, $I10)
+  # rx rxquantr876 ** 0..1
+    set_addr $I877, rxquantr876_done
+    rx872_cur."!mark_push"(0, rx872_pos, $I877)
+  rxquantr876_loop:
   # rx enumcharlist negate=0 
-    ge rx857_pos, rx857_eos, rx857_fail
-    sub $I10, rx857_pos, rx857_off
-    substr $S10, rx857_tgt, $I10, 1
+    ge rx872_pos, rx872_eos, rx872_fail
+    sub $I10, rx872_pos, rx872_off
+    substr $S10, rx872_tgt, $I10, 1
     index $I11, "+-", $S10
-    lt $I11, 0, rx857_fail
-    inc rx857_pos
-    (rx857_rep) = rx857_cur."!mark_commit"($I862)
-  rxquantr861_done:
-    set_addr $I10, rxcap_863_fail
-    ($I12, $I11) = rx857_cur."!mark_peek"($I10)
-    rx857_cur."!cursor_pos"($I11)
-    ($P10) = rx857_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx857_pos, "")
-    rx857_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx872_fail
+    inc rx872_pos
+    (rx872_rep) = rx872_cur."!mark_commit"($I877)
+  rxquantr876_done:
+    set_addr $I10, rxcap_878_fail
+    ($I12, $I11) = rx872_cur."!mark_peek"($I10)
+    rx872_cur."!cursor_pos"($I11)
+    ($P10) = rx872_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx872_pos, "")
+    rx872_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sign")
-    goto rxcap_863_done
-  rxcap_863_fail:
-    goto rx857_fail
-  rxcap_863_done:
-  alt864_0:
-.annotate 'line', 412
-    set_addr $I10, alt864_1
-    rx857_cur."!mark_push"(0, rx857_pos, $I10)
+    goto rxcap_878_done
+  rxcap_878_fail:
+    goto rx872_fail
+  rxcap_878_done:
+  alt879_0:
+.annotate 'line', 413
+    set_addr $I10, alt879_1
+    rx872_cur."!mark_push"(0, rx872_pos, $I10)
   # rx subrule "dec_number" subtype=capture negate=
-    rx857_cur."!cursor_pos"(rx857_pos)
-    $P10 = rx857_cur."dec_number"()
-    unless $P10, rx857_fail
-    rx857_cur."!mark_push"(0, -1, 0, $P10)
+    rx872_cur."!cursor_pos"(rx872_pos)
+    $P10 = rx872_cur."dec_number"()
+    unless $P10, rx872_fail
+    rx872_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("dec_number")
-    rx857_pos = $P10."pos"()
-    goto alt864_end
-  alt864_1:
+    rx872_pos = $P10."pos"()
+    goto alt879_end
+  alt879_1:
   # rx subrule "integer" subtype=capture negate=
-    rx857_cur."!cursor_pos"(rx857_pos)
-    $P10 = rx857_cur."integer"()
-    unless $P10, rx857_fail
-    rx857_cur."!mark_push"(0, -1, 0, $P10)
+    rx872_cur."!cursor_pos"(rx872_pos)
+    $P10 = rx872_cur."integer"()
+    unless $P10, rx872_fail
+    rx872_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("integer")
-    rx857_pos = $P10."pos"()
-  alt864_end:
-.annotate 'line', 410
+    rx872_pos = $P10."pos"()
+  alt879_end:
+.annotate 'line', 411
   # rx pass
-    rx857_cur."!cursor_pass"(rx857_pos, "number")
-    rx857_cur."!cursor_debug"("PASS  ", "number", " at pos=", rx857_pos)
-    .return (rx857_cur)
-  rx857_fail:
+    rx872_cur."!cursor_pass"(rx872_pos, "number")
+    rx872_cur."!cursor_debug"("PASS  ", "number", " at pos=", rx872_pos)
+    .return (rx872_cur)
+  rx872_fail:
 .annotate 'line', 4
-    (rx857_rep, rx857_pos, $I10, $P10) = rx857_cur."!mark_fail"(0)
-    lt rx857_pos, -1, rx857_done
-    eq rx857_pos, -1, rx857_fail
+    (rx872_rep, rx872_pos, $I10, $P10) = rx872_cur."!mark_fail"(0)
+    lt rx872_pos, -1, rx872_done
+    eq rx872_pos, -1, rx872_fail
     jump $I10
-  rx857_done:
-    rx857_cur."!cursor_fail"()
-    rx857_cur."!cursor_debug"("FAIL  ", "number")
-    .return (rx857_cur)
+  rx872_done:
+    rx872_cur."!cursor_fail"()
+    rx872_cur."!cursor_debug"("FAIL  ", "number")
+    .return (rx872_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__number"  :subid("201_1275600007.84296") :method
+.sub "!PREFIX__number"  :subid("201_1275811487.95429") :method
 .annotate 'line', 4
-    new $P859, "ResizablePMCArray"
-    push $P859, ""
-    .return ($P859)
+    new $P874, "ResizablePMCArray"
+    push $P874, ""
+    .return ($P874)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote"  :subid("202_1275600007.84296") :method
-.annotate 'line', 415
-    $P866 = self."!protoregex"("quote")
-    .return ($P866)
+.sub "quote"  :subid("202_1275811487.95429") :method
+.annotate 'line', 416
+    $P881 = self."!protoregex"("quote")
+    .return ($P881)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote"  :subid("203_1275600007.84296") :method
-.annotate 'line', 415
-    $P868 = self."!PREFIX__!protoregex"("quote")
-    .return ($P868)
+.sub "!PREFIX__quote"  :subid("203_1275811487.95429") :method
+.annotate 'line', 416
+    $P883 = self."!PREFIX__!protoregex"("quote")
+    .return ($P883)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<apos>"  :subid("204_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "quote:sym<apos>"  :subid("204_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx870_tgt
-    .local int rx870_pos
-    .local int rx870_off
-    .local int rx870_eos
-    .local int rx870_rep
-    .local pmc rx870_cur
-    (rx870_cur, rx870_pos, rx870_tgt) = self."!cursor_start"()
-    rx870_cur."!cursor_debug"("START ", "quote:sym<apos>")
-    .lex unicode:"$\x{a2}", rx870_cur
-    .local pmc match
-    .lex "$/", match
-    length rx870_eos, rx870_tgt
-    gt rx870_pos, rx870_eos, rx870_done
-    set rx870_off, 0
-    lt rx870_pos, 2, rx870_start
-    sub rx870_off, rx870_pos, 1
-    substr rx870_tgt, rx870_tgt, rx870_off
-  rx870_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan873_done
-    goto rxscan873_scan
-  rxscan873_loop:
-    ($P10) = rx870_cur."from"()
-    inc $P10
-    set rx870_pos, $P10
-    ge rx870_pos, rx870_eos, rxscan873_done
-  rxscan873_scan:
-    set_addr $I10, rxscan873_loop
-    rx870_cur."!mark_push"(0, rx870_pos, $I10)
-  rxscan873_done:
-.annotate 'line', 416
+    .local string rx885_tgt
+    .local int rx885_pos
+    .local int rx885_off
+    .local int rx885_eos
+    .local int rx885_rep
+    .local pmc rx885_cur
+    (rx885_cur, rx885_pos, rx885_tgt) = self."!cursor_start"()
+    rx885_cur."!cursor_debug"("START ", "quote:sym<apos>")
+    .lex unicode:"$\x{a2}", rx885_cur
+    .local pmc match
+    .lex "$/", match
+    length rx885_eos, rx885_tgt
+    gt rx885_pos, rx885_eos, rx885_done
+    set rx885_off, 0
+    lt rx885_pos, 2, rx885_start
+    sub rx885_off, rx885_pos, 1
+    substr rx885_tgt, rx885_tgt, rx885_off
+  rx885_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan888_done
+    goto rxscan888_scan
+  rxscan888_loop:
+    ($P10) = rx885_cur."from"()
+    inc $P10
+    set rx885_pos, $P10
+    ge rx885_pos, rx885_eos, rxscan888_done
+  rxscan888_scan:
+    set_addr $I10, rxscan888_loop
+    rx885_cur."!mark_push"(0, rx885_pos, $I10)
+  rxscan888_done:
+.annotate 'line', 417
   # rx enumcharlist negate=0 zerowidth
-    ge rx870_pos, rx870_eos, rx870_fail
-    sub $I10, rx870_pos, rx870_off
-    substr $S10, rx870_tgt, $I10, 1
+    ge rx885_pos, rx885_eos, rx885_fail
+    sub $I10, rx885_pos, rx885_off
+    substr $S10, rx885_tgt, $I10, 1
     index $I11, "'", $S10
-    lt $I11, 0, rx870_fail
+    lt $I11, 0, rx885_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx870_cur."!cursor_pos"(rx870_pos)
-    $P10 = rx870_cur."quote_EXPR"(":q")
-    unless $P10, rx870_fail
-    rx870_cur."!mark_push"(0, -1, 0, $P10)
+    rx885_cur."!cursor_pos"(rx885_pos)
+    $P10 = rx885_cur."quote_EXPR"(":q")
+    unless $P10, rx885_fail
+    rx885_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx870_pos = $P10."pos"()
+    rx885_pos = $P10."pos"()
   # rx pass
-    rx870_cur."!cursor_pass"(rx870_pos, "quote:sym<apos>")
-    rx870_cur."!cursor_debug"("PASS  ", "quote:sym<apos>", " at pos=", rx870_pos)
-    .return (rx870_cur)
-  rx870_fail:
+    rx885_cur."!cursor_pass"(rx885_pos, "quote:sym<apos>")
+    rx885_cur."!cursor_debug"("PASS  ", "quote:sym<apos>", " at pos=", rx885_pos)
+    .return (rx885_cur)
+  rx885_fail:
 .annotate 'line', 4
-    (rx870_rep, rx870_pos, $I10, $P10) = rx870_cur."!mark_fail"(0)
-    lt rx870_pos, -1, rx870_done
-    eq rx870_pos, -1, rx870_fail
+    (rx885_rep, rx885_pos, $I10, $P10) = rx885_cur."!mark_fail"(0)
+    lt rx885_pos, -1, rx885_done
+    eq rx885_pos, -1, rx885_fail
     jump $I10
-  rx870_done:
-    rx870_cur."!cursor_fail"()
-    rx870_cur."!cursor_debug"("FAIL  ", "quote:sym<apos>")
-    .return (rx870_cur)
+  rx885_done:
+    rx885_cur."!cursor_fail"()
+    rx885_cur."!cursor_debug"("FAIL  ", "quote:sym<apos>")
+    .return (rx885_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<apos>"  :subid("205_1275600007.84296") :method
+.sub "!PREFIX__quote:sym<apos>"  :subid("205_1275811487.95429") :method
 .annotate 'line', 4
-    new $P872, "ResizablePMCArray"
-    push $P872, "'"
-    .return ($P872)
+    new $P887, "ResizablePMCArray"
+    push $P887, "'"
+    .return ($P887)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<dblq>"  :subid("206_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "quote:sym<dblq>"  :subid("206_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx875_tgt
-    .local int rx875_pos
-    .local int rx875_off
-    .local int rx875_eos
-    .local int rx875_rep
-    .local pmc rx875_cur
-    (rx875_cur, rx875_pos, rx875_tgt) = self."!cursor_start"()
-    rx875_cur."!cursor_debug"("START ", "quote:sym<dblq>")
-    .lex unicode:"$\x{a2}", rx875_cur
+    .local string rx890_tgt
+    .local int rx890_pos
+    .local int rx890_off
+    .local int rx890_eos
+    .local int rx890_rep
+    .local pmc rx890_cur
+    (rx890_cur, rx890_pos, rx890_tgt) = self."!cursor_start"()
+    rx890_cur."!cursor_debug"("START ", "quote:sym<dblq>")
+    .lex unicode:"$\x{a2}", rx890_cur
     .local pmc match
     .lex "$/", match
-    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:
+    length rx890_eos, rx890_tgt
+    gt rx890_pos, rx890_eos, rx890_done
+    set rx890_off, 0
+    lt rx890_pos, 2, rx890_start
+    sub rx890_off, rx890_pos, 1
+    substr rx890_tgt, rx890_tgt, rx890_off
+  rx890_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan878_done
-    goto rxscan878_scan
-  rxscan878_loop:
-    ($P10) = rx875_cur."from"()
+    ne $I10, -1, rxscan893_done
+    goto rxscan893_scan
+  rxscan893_loop:
+    ($P10) = rx890_cur."from"()
     inc $P10
-    set rx875_pos, $P10
-    ge rx875_pos, rx875_eos, rxscan878_done
-  rxscan878_scan:
-    set_addr $I10, rxscan878_loop
-    rx875_cur."!mark_push"(0, rx875_pos, $I10)
-  rxscan878_done:
-.annotate 'line', 417
+    set rx890_pos, $P10
+    ge rx890_pos, rx890_eos, rxscan893_done
+  rxscan893_scan:
+    set_addr $I10, rxscan893_loop
+    rx890_cur."!mark_push"(0, rx890_pos, $I10)
+  rxscan893_done:
+.annotate 'line', 418
   # rx enumcharlist negate=0 zerowidth
-    ge rx875_pos, rx875_eos, rx875_fail
-    sub $I10, rx875_pos, rx875_off
-    substr $S10, rx875_tgt, $I10, 1
+    ge rx890_pos, rx890_eos, rx890_fail
+    sub $I10, rx890_pos, rx890_off
+    substr $S10, rx890_tgt, $I10, 1
     index $I11, "\"", $S10
-    lt $I11, 0, rx875_fail
+    lt $I11, 0, rx890_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx875_cur."!cursor_pos"(rx875_pos)
-    $P10 = rx875_cur."quote_EXPR"(":qq")
-    unless $P10, rx875_fail
-    rx875_cur."!mark_push"(0, -1, 0, $P10)
+    rx890_cur."!cursor_pos"(rx890_pos)
+    $P10 = rx890_cur."quote_EXPR"(":qq")
+    unless $P10, rx890_fail
+    rx890_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx875_pos = $P10."pos"()
+    rx890_pos = $P10."pos"()
   # rx pass
-    rx875_cur."!cursor_pass"(rx875_pos, "quote:sym<dblq>")
-    rx875_cur."!cursor_debug"("PASS  ", "quote:sym<dblq>", " at pos=", rx875_pos)
-    .return (rx875_cur)
-  rx875_fail:
+    rx890_cur."!cursor_pass"(rx890_pos, "quote:sym<dblq>")
+    rx890_cur."!cursor_debug"("PASS  ", "quote:sym<dblq>", " at pos=", rx890_pos)
+    .return (rx890_cur)
+  rx890_fail:
 .annotate 'line', 4
-    (rx875_rep, rx875_pos, $I10, $P10) = rx875_cur."!mark_fail"(0)
-    lt rx875_pos, -1, rx875_done
-    eq rx875_pos, -1, rx875_fail
+    (rx890_rep, rx890_pos, $I10, $P10) = rx890_cur."!mark_fail"(0)
+    lt rx890_pos, -1, rx890_done
+    eq rx890_pos, -1, rx890_fail
     jump $I10
-  rx875_done:
-    rx875_cur."!cursor_fail"()
-    rx875_cur."!cursor_debug"("FAIL  ", "quote:sym<dblq>")
-    .return (rx875_cur)
+  rx890_done:
+    rx890_cur."!cursor_fail"()
+    rx890_cur."!cursor_debug"("FAIL  ", "quote:sym<dblq>")
+    .return (rx890_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<dblq>"  :subid("207_1275600007.84296") :method
+.sub "!PREFIX__quote:sym<dblq>"  :subid("207_1275811487.95429") :method
 .annotate 'line', 4
-    new $P877, "ResizablePMCArray"
-    push $P877, "\""
-    .return ($P877)
+    new $P892, "ResizablePMCArray"
+    push $P892, "\""
+    .return ($P892)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<q>"  :subid("208_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "quote:sym<q>"  :subid("208_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx880_tgt
-    .local int rx880_pos
-    .local int rx880_off
-    .local int rx880_eos
-    .local int rx880_rep
-    .local pmc rx880_cur
-    (rx880_cur, rx880_pos, rx880_tgt) = self."!cursor_start"()
-    rx880_cur."!cursor_debug"("START ", "quote:sym<q>")
-    .lex unicode:"$\x{a2}", rx880_cur
+    .local string rx895_tgt
+    .local int rx895_pos
+    .local int rx895_off
+    .local int rx895_eos
+    .local int rx895_rep
+    .local pmc rx895_cur
+    (rx895_cur, rx895_pos, rx895_tgt) = self."!cursor_start"()
+    rx895_cur."!cursor_debug"("START ", "quote:sym<q>")
+    .lex unicode:"$\x{a2}", rx895_cur
     .local pmc match
     .lex "$/", match
-    length rx880_eos, rx880_tgt
-    gt rx880_pos, rx880_eos, rx880_done
-    set rx880_off, 0
-    lt rx880_pos, 2, rx880_start
-    sub rx880_off, rx880_pos, 1
-    substr rx880_tgt, rx880_tgt, rx880_off
-  rx880_start:
+    length rx895_eos, rx895_tgt
+    gt rx895_pos, rx895_eos, rx895_done
+    set rx895_off, 0
+    lt rx895_pos, 2, rx895_start
+    sub rx895_off, rx895_pos, 1
+    substr rx895_tgt, rx895_tgt, rx895_off
+  rx895_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan884_done
-    goto rxscan884_scan
-  rxscan884_loop:
-    ($P10) = rx880_cur."from"()
+    ne $I10, -1, rxscan899_done
+    goto rxscan899_scan
+  rxscan899_loop:
+    ($P10) = rx895_cur."from"()
     inc $P10
-    set rx880_pos, $P10
-    ge rx880_pos, rx880_eos, rxscan884_done
-  rxscan884_scan:
-    set_addr $I10, rxscan884_loop
-    rx880_cur."!mark_push"(0, rx880_pos, $I10)
-  rxscan884_done:
-.annotate 'line', 418
+    set rx895_pos, $P10
+    ge rx895_pos, rx895_eos, rxscan899_done
+  rxscan899_scan:
+    set_addr $I10, rxscan899_loop
+    rx895_cur."!mark_push"(0, rx895_pos, $I10)
+  rxscan899_done:
+.annotate 'line', 419
   # rx literal  "q"
-    add $I11, rx880_pos, 1
-    gt $I11, rx880_eos, rx880_fail
-    sub $I11, rx880_pos, rx880_off
-    substr $S10, rx880_tgt, $I11, 1
-    ne $S10, "q", rx880_fail
-    add rx880_pos, 1
+    add $I11, rx895_pos, 1
+    gt $I11, rx895_eos, rx895_fail
+    sub $I11, rx895_pos, rx895_off
+    substr $S10, rx895_tgt, $I11, 1
+    ne $S10, "q", rx895_fail
+    add rx895_pos, 1
   # rxanchor rwb
-    le rx880_pos, 0, rx880_fail
-    sub $I10, rx880_pos, rx880_off
-    is_cclass $I11, 8192, rx880_tgt, $I10
-    if $I11, rx880_fail
+    le rx895_pos, 0, rx895_fail
+    sub $I10, rx895_pos, rx895_off
+    is_cclass $I11, 8192, rx895_tgt, $I10
+    if $I11, rx895_fail
     dec $I10
-    is_cclass $I11, 8192, rx880_tgt, $I10
-    unless $I11, rx880_fail
+    is_cclass $I11, 8192, rx895_tgt, $I10
+    unless $I11, rx895_fail
   # rx enumcharlist negate=1 zerowidth
-    ge rx880_pos, rx880_eos, rx880_fail
-    sub $I10, rx880_pos, rx880_off
-    substr $S10, rx880_tgt, $I10, 1
+    ge rx895_pos, rx895_eos, rx895_fail
+    sub $I10, rx895_pos, rx895_off
+    substr $S10, rx895_tgt, $I10, 1
     index $I11, "(", $S10
-    ge $I11, 0, rx880_fail
+    ge $I11, 0, rx895_fail
   # rx subrule "ws" subtype=method negate=
-    rx880_cur."!cursor_pos"(rx880_pos)
-    $P10 = rx880_cur."ws"()
-    unless $P10, rx880_fail
-    rx880_pos = $P10."pos"()
+    rx895_cur."!cursor_pos"(rx895_pos)
+    $P10 = rx895_cur."ws"()
+    unless $P10, rx895_fail
+    rx895_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx880_cur."!cursor_pos"(rx880_pos)
-    $P10 = rx880_cur."quote_EXPR"(":q")
-    unless $P10, rx880_fail
-    rx880_cur."!mark_push"(0, -1, 0, $P10)
+    rx895_cur."!cursor_pos"(rx895_pos)
+    $P10 = rx895_cur."quote_EXPR"(":q")
+    unless $P10, rx895_fail
+    rx895_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx880_pos = $P10."pos"()
+    rx895_pos = $P10."pos"()
   # rx pass
-    rx880_cur."!cursor_pass"(rx880_pos, "quote:sym<q>")
-    rx880_cur."!cursor_debug"("PASS  ", "quote:sym<q>", " at pos=", rx880_pos)
-    .return (rx880_cur)
-  rx880_fail:
+    rx895_cur."!cursor_pass"(rx895_pos, "quote:sym<q>")
+    rx895_cur."!cursor_debug"("PASS  ", "quote:sym<q>", " at pos=", rx895_pos)
+    .return (rx895_cur)
+  rx895_fail:
 .annotate 'line', 4
-    (rx880_rep, rx880_pos, $I10, $P10) = rx880_cur."!mark_fail"(0)
-    lt rx880_pos, -1, rx880_done
-    eq rx880_pos, -1, rx880_fail
+    (rx895_rep, rx895_pos, $I10, $P10) = rx895_cur."!mark_fail"(0)
+    lt rx895_pos, -1, rx895_done
+    eq rx895_pos, -1, rx895_fail
     jump $I10
-  rx880_done:
-    rx880_cur."!cursor_fail"()
-    rx880_cur."!cursor_debug"("FAIL  ", "quote:sym<q>")
-    .return (rx880_cur)
+  rx895_done:
+    rx895_cur."!cursor_fail"()
+    rx895_cur."!cursor_debug"("FAIL  ", "quote:sym<q>")
+    .return (rx895_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<q>"  :subid("209_1275600007.84296") :method
+.sub "!PREFIX__quote:sym<q>"  :subid("209_1275811487.95429") :method
 .annotate 'line', 4
-    $P882 = self."!PREFIX__!subrule"("", "q")
-    new $P883, "ResizablePMCArray"
-    push $P883, $P882
-    .return ($P883)
+    $P897 = self."!PREFIX__!subrule"("ws", "q")
+    new $P898, "ResizablePMCArray"
+    push $P898, $P897
+    .return ($P898)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<qq>"  :subid("210_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "quote:sym<qq>"  :subid("210_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx886_tgt
-    .local int rx886_pos
-    .local int rx886_off
-    .local int rx886_eos
-    .local int rx886_rep
-    .local pmc rx886_cur
-    (rx886_cur, rx886_pos, rx886_tgt) = self."!cursor_start"()
-    rx886_cur."!cursor_debug"("START ", "quote:sym<qq>")
-    .lex unicode:"$\x{a2}", rx886_cur
-    .local pmc match
-    .lex "$/", match
-    length rx886_eos, rx886_tgt
-    gt rx886_pos, rx886_eos, rx886_done
-    set rx886_off, 0
-    lt rx886_pos, 2, rx886_start
-    sub rx886_off, rx886_pos, 1
-    substr rx886_tgt, rx886_tgt, rx886_off
-  rx886_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan890_done
-    goto rxscan890_scan
-  rxscan890_loop:
-    ($P10) = rx886_cur."from"()
-    inc $P10
-    set rx886_pos, $P10
-    ge rx886_pos, rx886_eos, rxscan890_done
-  rxscan890_scan:
-    set_addr $I10, rxscan890_loop
-    rx886_cur."!mark_push"(0, rx886_pos, $I10)
-  rxscan890_done:
-.annotate 'line', 419
+    .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<qq>")
+    .lex unicode:"$\x{a2}", rx901_cur
+    .local pmc match
+    .lex "$/", match
+    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, rxscan905_done
+    goto rxscan905_scan
+  rxscan905_loop:
+    ($P10) = rx901_cur."from"()
+    inc $P10
+    set rx901_pos, $P10
+    ge rx901_pos, rx901_eos, rxscan905_done
+  rxscan905_scan:
+    set_addr $I10, rxscan905_loop
+    rx901_cur."!mark_push"(0, rx901_pos, $I10)
+  rxscan905_done:
+.annotate 'line', 420
   # rx literal  "qq"
-    add $I11, rx886_pos, 2
-    gt $I11, rx886_eos, rx886_fail
-    sub $I11, rx886_pos, rx886_off
-    substr $S10, rx886_tgt, $I11, 2
-    ne $S10, "qq", rx886_fail
-    add rx886_pos, 2
+    add $I11, rx901_pos, 2
+    gt $I11, rx901_eos, rx901_fail
+    sub $I11, rx901_pos, rx901_off
+    substr $S10, rx901_tgt, $I11, 2
+    ne $S10, "qq", rx901_fail
+    add rx901_pos, 2
   # rxanchor rwb
-    le rx886_pos, 0, rx886_fail
-    sub $I10, rx886_pos, rx886_off
-    is_cclass $I11, 8192, rx886_tgt, $I10
-    if $I11, rx886_fail
+    le rx901_pos, 0, rx901_fail
+    sub $I10, rx901_pos, rx901_off
+    is_cclass $I11, 8192, rx901_tgt, $I10
+    if $I11, rx901_fail
     dec $I10
-    is_cclass $I11, 8192, rx886_tgt, $I10
-    unless $I11, rx886_fail
+    is_cclass $I11, 8192, rx901_tgt, $I10
+    unless $I11, rx901_fail
   # rx enumcharlist negate=1 zerowidth
-    ge rx886_pos, rx886_eos, rx886_fail
-    sub $I10, rx886_pos, rx886_off
-    substr $S10, rx886_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
-    ge $I11, 0, rx886_fail
+    ge $I11, 0, rx901_fail
   # rx subrule "ws" subtype=method negate=
-    rx886_cur."!cursor_pos"(rx886_pos)
-    $P10 = rx886_cur."ws"()
-    unless $P10, rx886_fail
-    rx886_pos = $P10."pos"()
+    rx901_cur."!cursor_pos"(rx901_pos)
+    $P10 = rx901_cur."ws"()
+    unless $P10, rx901_fail
+    rx901_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx886_cur."!cursor_pos"(rx886_pos)
-    $P10 = rx886_cur."quote_EXPR"(":qq")
-    unless $P10, rx886_fail
-    rx886_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")
-    rx886_pos = $P10."pos"()
+    rx901_pos = $P10."pos"()
   # rx pass
-    rx886_cur."!cursor_pass"(rx886_pos, "quote:sym<qq>")
-    rx886_cur."!cursor_debug"("PASS  ", "quote:sym<qq>", " at pos=", rx886_pos)
-    .return (rx886_cur)
-  rx886_fail:
+    rx901_cur."!cursor_pass"(rx901_pos, "quote:sym<qq>")
+    rx901_cur."!cursor_debug"("PASS  ", "quote:sym<qq>", " at pos=", rx901_pos)
+    .return (rx901_cur)
+  rx901_fail:
 .annotate 'line', 4
-    (rx886_rep, rx886_pos, $I10, $P10) = rx886_cur."!mark_fail"(0)
-    lt rx886_pos, -1, rx886_done
-    eq rx886_pos, -1, rx886_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
-  rx886_done:
-    rx886_cur."!cursor_fail"()
-    rx886_cur."!cursor_debug"("FAIL  ", "quote:sym<qq>")
-    .return (rx886_cur)
+  rx901_done:
+    rx901_cur."!cursor_fail"()
+    rx901_cur."!cursor_debug"("FAIL  ", "quote:sym<qq>")
+    .return (rx901_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<qq>"  :subid("211_1275600007.84296") :method
+.sub "!PREFIX__quote:sym<qq>"  :subid("211_1275811487.95429") :method
 .annotate 'line', 4
-    $P888 = self."!PREFIX__!subrule"("", "qq")
-    new $P889, "ResizablePMCArray"
-    push $P889, $P888
-    .return ($P889)
+    $P903 = self."!PREFIX__!subrule"("ws", "qq")
+    new $P904, "ResizablePMCArray"
+    push $P904, $P903
+    .return ($P904)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q>"  :subid("212_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "quote:sym<Q>"  :subid("212_1275811487.95429") :method :outer("11_1275811487.95429")
 .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<Q>")
-    .lex unicode:"$\x{a2}", rx892_cur
+    .local string rx907_tgt
+    .local int rx907_pos
+    .local int rx907_off
+    .local int rx907_eos
+    .local int rx907_rep
+    .local pmc rx907_cur
+    (rx907_cur, rx907_pos, rx907_tgt) = self."!cursor_start"()
+    rx907_cur."!cursor_debug"("START ", "quote:sym<Q>")
+    .lex unicode:"$\x{a2}", rx907_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 rx907_eos, rx907_tgt
+    gt rx907_pos, rx907_eos, rx907_done
+    set rx907_off, 0
+    lt rx907_pos, 2, rx907_start
+    sub rx907_off, rx907_pos, 1
+    substr rx907_tgt, rx907_tgt, rx907_off
+  rx907_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan896_done
-    goto rxscan896_scan
-  rxscan896_loop:
-    ($P10) = rx892_cur."from"()
+    ne $I10, -1, rxscan911_done
+    goto rxscan911_scan
+  rxscan911_loop:
+    ($P10) = rx907_cur."from"()
     inc $P10
-    set rx892_pos, $P10
-    ge rx892_pos, rx892_eos, rxscan896_done
-  rxscan896_scan:
-    set_addr $I10, rxscan896_loop
-    rx892_cur."!mark_push"(0, rx892_pos, $I10)
-  rxscan896_done:
-.annotate 'line', 420
+    set rx907_pos, $P10
+    ge rx907_pos, rx907_eos, rxscan911_done
+  rxscan911_scan:
+    set_addr $I10, rxscan911_loop
+    rx907_cur."!mark_push"(0, rx907_pos, $I10)
+  rxscan911_done:
+.annotate 'line', 421
   # rx literal  "Q"
-    add $I11, rx892_pos, 1
-    gt $I11, rx892_eos, rx892_fail
-    sub $I11, rx892_pos, rx892_off
-    substr $S10, rx892_tgt, $I11, 1
-    ne $S10, "Q", rx892_fail
-    add rx892_pos, 1
+    add $I11, rx907_pos, 1
+    gt $I11, rx907_eos, rx907_fail
+    sub $I11, rx907_pos, rx907_off
+    substr $S10, rx907_tgt, $I11, 1
+    ne $S10, "Q", rx907_fail
+    add rx907_pos, 1
   # rxanchor rwb
-    le rx892_pos, 0, rx892_fail
-    sub $I10, rx892_pos, rx892_off
-    is_cclass $I11, 8192, rx892_tgt, $I10
-    if $I11, rx892_fail
+    le rx907_pos, 0, rx907_fail
+    sub $I10, rx907_pos, rx907_off
+    is_cclass $I11, 8192, rx907_tgt, $I10
+    if $I11, rx907_fail
     dec $I10
-    is_cclass $I11, 8192, rx892_tgt, $I10
-    unless $I11, rx892_fail
+    is_cclass $I11, 8192, rx907_tgt, $I10
+    unless $I11, rx907_fail
   # rx enumcharlist negate=1 zerowidth
-    ge rx892_pos, rx892_eos, rx892_fail
-    sub $I10, rx892_pos, rx892_off
-    substr $S10, rx892_tgt, $I10, 1
+    ge rx907_pos, rx907_eos, rx907_fail
+    sub $I10, rx907_pos, rx907_off
+    substr $S10, rx907_tgt, $I10, 1
     index $I11, "(", $S10
-    ge $I11, 0, rx892_fail
+    ge $I11, 0, rx907_fail
   # rx subrule "ws" subtype=method negate=
-    rx892_cur."!cursor_pos"(rx892_pos)
-    $P10 = rx892_cur."ws"()
-    unless $P10, rx892_fail
-    rx892_pos = $P10."pos"()
+    rx907_cur."!cursor_pos"(rx907_pos)
+    $P10 = rx907_cur."ws"()
+    unless $P10, rx907_fail
+    rx907_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx892_cur."!cursor_pos"(rx892_pos)
-    $P10 = rx892_cur."quote_EXPR"()
-    unless $P10, rx892_fail
-    rx892_cur."!mark_push"(0, -1, 0, $P10)
+    rx907_cur."!cursor_pos"(rx907_pos)
+    $P10 = rx907_cur."quote_EXPR"()
+    unless $P10, rx907_fail
+    rx907_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx892_pos = $P10."pos"()
+    rx907_pos = $P10."pos"()
   # rx pass
-    rx892_cur."!cursor_pass"(rx892_pos, "quote:sym<Q>")
-    rx892_cur."!cursor_debug"("PASS  ", "quote:sym<Q>", " at pos=", rx892_pos)
-    .return (rx892_cur)
-  rx892_fail:
+    rx907_cur."!cursor_pass"(rx907_pos, "quote:sym<Q>")
+    rx907_cur."!cursor_debug"("PASS  ", "quote:sym<Q>", " at pos=", rx907_pos)
+    .return (rx907_cur)
+  rx907_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
+    (rx907_rep, rx907_pos, $I10, $P10) = rx907_cur."!mark_fail"(0)
+    lt rx907_pos, -1, rx907_done
+    eq rx907_pos, -1, rx907_fail
     jump $I10
-  rx892_done:
-    rx892_cur."!cursor_fail"()
-    rx892_cur."!cursor_debug"("FAIL  ", "quote:sym<Q>")
-    .return (rx892_cur)
+  rx907_done:
+    rx907_cur."!cursor_fail"()
+    rx907_cur."!cursor_debug"("FAIL  ", "quote:sym<Q>")
+    .return (rx907_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q>"  :subid("213_1275600007.84296") :method
+.sub "!PREFIX__quote:sym<Q>"  :subid("213_1275811487.95429") :method
 .annotate 'line', 4
-    $P894 = self."!PREFIX__!subrule"("", "Q")
-    new $P895, "ResizablePMCArray"
-    push $P895, $P894
-    .return ($P895)
+    $P909 = self."!PREFIX__!subrule"("ws", "Q")
+    new $P910, "ResizablePMCArray"
+    push $P910, $P909
+    .return ($P910)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q:PIR>"  :subid("214_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "quote:sym<Q:PIR>"  :subid("214_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx898_tgt
-    .local int rx898_pos
-    .local int rx898_off
-    .local int rx898_eos
-    .local int rx898_rep
-    .local pmc rx898_cur
-    (rx898_cur, rx898_pos, rx898_tgt) = self."!cursor_start"()
-    rx898_cur."!cursor_debug"("START ", "quote:sym<Q:PIR>")
-    .lex unicode:"$\x{a2}", rx898_cur
+    .local string rx913_tgt
+    .local int rx913_pos
+    .local int rx913_off
+    .local int rx913_eos
+    .local int rx913_rep
+    .local pmc rx913_cur
+    (rx913_cur, rx913_pos, rx913_tgt) = self."!cursor_start"()
+    rx913_cur."!cursor_debug"("START ", "quote:sym<Q:PIR>")
+    .lex unicode:"$\x{a2}", rx913_cur
     .local pmc match
     .lex "$/", match
-    length rx898_eos, rx898_tgt
-    gt rx898_pos, rx898_eos, rx898_done
-    set rx898_off, 0
-    lt rx898_pos, 2, rx898_start
-    sub rx898_off, rx898_pos, 1
-    substr rx898_tgt, rx898_tgt, rx898_off
-  rx898_start:
+    length rx913_eos, rx913_tgt
+    gt rx913_pos, rx913_eos, rx913_done
+    set rx913_off, 0
+    lt rx913_pos, 2, rx913_start
+    sub rx913_off, rx913_pos, 1
+    substr rx913_tgt, rx913_tgt, rx913_off
+  rx913_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan902_done
-    goto rxscan902_scan
-  rxscan902_loop:
-    ($P10) = rx898_cur."from"()
+    ne $I10, -1, rxscan917_done
+    goto rxscan917_scan
+  rxscan917_loop:
+    ($P10) = rx913_cur."from"()
     inc $P10
-    set rx898_pos, $P10
-    ge rx898_pos, rx898_eos, rxscan902_done
-  rxscan902_scan:
-    set_addr $I10, rxscan902_loop
-    rx898_cur."!mark_push"(0, rx898_pos, $I10)
-  rxscan902_done:
-.annotate 'line', 421
+    set rx913_pos, $P10
+    ge rx913_pos, rx913_eos, rxscan917_done
+  rxscan917_scan:
+    set_addr $I10, rxscan917_loop
+    rx913_cur."!mark_push"(0, rx913_pos, $I10)
+  rxscan917_done:
+.annotate 'line', 422
   # rx literal  "Q:PIR"
-    add $I11, rx898_pos, 5
-    gt $I11, rx898_eos, rx898_fail
-    sub $I11, rx898_pos, rx898_off
-    substr $S10, rx898_tgt, $I11, 5
-    ne $S10, "Q:PIR", rx898_fail
-    add rx898_pos, 5
-  # rx subrule "ws" subtype=method negate=
-    rx898_cur."!cursor_pos"(rx898_pos)
-    $P10 = rx898_cur."ws"()
-    unless $P10, rx898_fail
-    rx898_pos = $P10."pos"()
+    add $I11, rx913_pos, 5
+    gt $I11, rx913_eos, rx913_fail
+    sub $I11, rx913_pos, rx913_off
+    substr $S10, rx913_tgt, $I11, 5
+    ne $S10, "Q:PIR", rx913_fail
+    add rx913_pos, 5
+  # rx subrule "ws" subtype=method negate=
+    rx913_cur."!cursor_pos"(rx913_pos)
+    $P10 = rx913_cur."ws"()
+    unless $P10, rx913_fail
+    rx913_pos = $P10."pos"()
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx898_cur."!cursor_pos"(rx898_pos)
-    $P10 = rx898_cur."quote_EXPR"()
-    unless $P10, rx898_fail
-    rx898_cur."!mark_push"(0, -1, 0, $P10)
+    rx913_cur."!cursor_pos"(rx913_pos)
+    $P10 = rx913_cur."quote_EXPR"()
+    unless $P10, rx913_fail
+    rx913_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx898_pos = $P10."pos"()
+    rx913_pos = $P10."pos"()
   # rx pass
-    rx898_cur."!cursor_pass"(rx898_pos, "quote:sym<Q:PIR>")
-    rx898_cur."!cursor_debug"("PASS  ", "quote:sym<Q:PIR>", " at pos=", rx898_pos)
-    .return (rx898_cur)
-  rx898_fail:
+    rx913_cur."!cursor_pass"(rx913_pos, "quote:sym<Q:PIR>")
+    rx913_cur."!cursor_debug"("PASS  ", "quote:sym<Q:PIR>", " at pos=", rx913_pos)
+    .return (rx913_cur)
+  rx913_fail:
 .annotate 'line', 4
-    (rx898_rep, rx898_pos, $I10, $P10) = rx898_cur."!mark_fail"(0)
-    lt rx898_pos, -1, rx898_done
-    eq rx898_pos, -1, rx898_fail
+    (rx913_rep, rx913_pos, $I10, $P10) = rx913_cur."!mark_fail"(0)
+    lt rx913_pos, -1, rx913_done
+    eq rx913_pos, -1, rx913_fail
     jump $I10
-  rx898_done:
-    rx898_cur."!cursor_fail"()
-    rx898_cur."!cursor_debug"("FAIL  ", "quote:sym<Q:PIR>")
-    .return (rx898_cur)
+  rx913_done:
+    rx913_cur."!cursor_fail"()
+    rx913_cur."!cursor_debug"("FAIL  ", "quote:sym<Q:PIR>")
+    .return (rx913_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("215_1275600007.84296") :method
+.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("215_1275811487.95429") :method
 .annotate 'line', 4
-    $P900 = self."!PREFIX__!subrule"("", "Q:PIR")
-    new $P901, "ResizablePMCArray"
-    push $P901, $P900
-    .return ($P901)
+    $P915 = self."!PREFIX__!subrule"("ws", "Q:PIR")
+    new $P916, "ResizablePMCArray"
+    push $P916, $P915
+    .return ($P916)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym</ />"  :subid("216_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "quote:sym</ />"  :subid("216_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx904_tgt
-    .local int rx904_pos
-    .local int rx904_off
-    .local int rx904_eos
-    .local int rx904_rep
-    .local pmc rx904_cur
-    (rx904_cur, rx904_pos, rx904_tgt) = self."!cursor_start"()
-    rx904_cur."!cursor_debug"("START ", "quote:sym</ />")
-    .lex unicode:"$\x{a2}", rx904_cur
+    .local string rx919_tgt
+    .local int rx919_pos
+    .local int rx919_off
+    .local int rx919_eos
+    .local int rx919_rep
+    .local pmc rx919_cur
+    (rx919_cur, rx919_pos, rx919_tgt) = self."!cursor_start"()
+    rx919_cur."!cursor_debug"("START ", "quote:sym</ />")
+    .lex unicode:"$\x{a2}", rx919_cur
     .local pmc match
     .lex "$/", match
-    length rx904_eos, rx904_tgt
-    gt rx904_pos, rx904_eos, rx904_done
-    set rx904_off, 0
-    lt rx904_pos, 2, rx904_start
-    sub rx904_off, rx904_pos, 1
-    substr rx904_tgt, rx904_tgt, rx904_off
-  rx904_start:
+    length rx919_eos, rx919_tgt
+    gt rx919_pos, rx919_eos, rx919_done
+    set rx919_off, 0
+    lt rx919_pos, 2, rx919_start
+    sub rx919_off, rx919_pos, 1
+    substr rx919_tgt, rx919_tgt, rx919_off
+  rx919_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan908_done
-    goto rxscan908_scan
-  rxscan908_loop:
-    ($P10) = rx904_cur."from"()
+    ne $I10, -1, rxscan923_done
+    goto rxscan923_scan
+  rxscan923_loop:
+    ($P10) = rx919_cur."from"()
     inc $P10
-    set rx904_pos, $P10
-    ge rx904_pos, rx904_eos, rxscan908_done
-  rxscan908_scan:
-    set_addr $I10, rxscan908_loop
-    rx904_cur."!mark_push"(0, rx904_pos, $I10)
-  rxscan908_done:
-.annotate 'line', 423
-  # rx literal  "/"
-    add $I11, rx904_pos, 1
-    gt $I11, rx904_eos, rx904_fail
-    sub $I11, rx904_pos, rx904_off
-    substr $S10, rx904_tgt, $I11, 1
-    ne $S10, "/", rx904_fail
-    add rx904_pos, 1
+    set rx919_pos, $P10
+    ge rx919_pos, rx919_eos, rxscan923_done
+  rxscan923_scan:
+    set_addr $I10, rxscan923_loop
+    rx919_cur."!mark_push"(0, rx919_pos, $I10)
+  rxscan923_done:
 .annotate 'line', 424
-  # rx subrule "newpad" subtype=method negate=
-    rx904_cur."!cursor_pos"(rx904_pos)
-    $P10 = rx904_cur."newpad"()
-    unless $P10, rx904_fail
-    rx904_pos = $P10."pos"()
+  # rx literal  "/"
+    add $I11, rx919_pos, 1
+    gt $I11, rx919_eos, rx919_fail
+    sub $I11, rx919_pos, rx919_off
+    substr $S10, rx919_tgt, $I11, 1
+    ne $S10, "/", rx919_fail
+    add rx919_pos, 1
 .annotate 'line', 425
-  # rx reduce name="quote:sym</ />" key="open"
-    rx904_cur."!cursor_pos"(rx904_pos)
-    rx904_cur."!reduce"("quote:sym</ />", "open")
+  # rx subrule "newpad" subtype=method negate=
+    rx919_cur."!cursor_pos"(rx919_pos)
+    $P10 = rx919_cur."newpad"()
+    unless $P10, rx919_fail
+    rx919_pos = $P10."pos"()
 .annotate 'line', 426
+  # rx reduce name="quote:sym</ />" key="open"
+    rx919_cur."!cursor_pos"(rx919_pos)
+    rx919_cur."!reduce"("quote:sym</ />", "open")
+.annotate 'line', 427
   # rx subrule "LANG" subtype=capture negate=
-    rx904_cur."!cursor_pos"(rx904_pos)
-    $P10 = rx904_cur."LANG"("Regex", "nibbler")
-    unless $P10, rx904_fail
-    rx904_cur."!mark_push"(0, -1, 0, $P10)
+    rx919_cur."!cursor_pos"(rx919_pos)
+    $P10 = rx919_cur."LANG"("Regex", "nibbler")
+    unless $P10, rx919_fail
+    rx919_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("p6regex")
-    rx904_pos = $P10."pos"()
-.annotate 'line', 427
+    rx919_pos = $P10."pos"()
+.annotate 'line', 428
   # rx literal  "/"
-    add $I11, rx904_pos, 1
-    gt $I11, rx904_eos, rx904_fail
-    sub $I11, rx904_pos, rx904_off
-    substr $S10, rx904_tgt, $I11, 1
-    ne $S10, "/", rx904_fail
-    add rx904_pos, 1
-.annotate 'line', 422
+    add $I11, rx919_pos, 1
+    gt $I11, rx919_eos, rx919_fail
+    sub $I11, rx919_pos, rx919_off
+    substr $S10, rx919_tgt, $I11, 1
+    ne $S10, "/", rx919_fail
+    add rx919_pos, 1
+.annotate 'line', 423
   # rx pass
-    rx904_cur."!cursor_pass"(rx904_pos, "quote:sym</ />")
-    rx904_cur."!cursor_debug"("PASS  ", "quote:sym</ />", " at pos=", rx904_pos)
-    .return (rx904_cur)
-  rx904_fail:
+    rx919_cur."!cursor_pass"(rx919_pos, "quote:sym</ />")
+    rx919_cur."!cursor_debug"("PASS  ", "quote:sym</ />", " at pos=", rx919_pos)
+    .return (rx919_cur)
+  rx919_fail:
 .annotate 'line', 4
-    (rx904_rep, rx904_pos, $I10, $P10) = rx904_cur."!mark_fail"(0)
-    lt rx904_pos, -1, rx904_done
-    eq rx904_pos, -1, rx904_fail
+    (rx919_rep, rx919_pos, $I10, $P10) = rx919_cur."!mark_fail"(0)
+    lt rx919_pos, -1, rx919_done
+    eq rx919_pos, -1, rx919_fail
     jump $I10
-  rx904_done:
-    rx904_cur."!cursor_fail"()
-    rx904_cur."!cursor_debug"("FAIL  ", "quote:sym</ />")
-    .return (rx904_cur)
+  rx919_done:
+    rx919_cur."!cursor_fail"()
+    rx919_cur."!cursor_debug"("FAIL  ", "quote:sym</ />")
+    .return (rx919_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym</ />"  :subid("217_1275600007.84296") :method
+.sub "!PREFIX__quote:sym</ />"  :subid("217_1275811487.95429") :method
 .annotate 'line', 4
-    $P906 = self."!PREFIX__!subrule"("", "/")
-    new $P907, "ResizablePMCArray"
-    push $P907, $P906
-    .return ($P907)
+    $P921 = self."!PREFIX__!subrule"("newpad", "/")
+    new $P922, "ResizablePMCArray"
+    push $P922, $P921
+    .return ($P922)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<$>"  :subid("218_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "quote_escape:sym<$>"  :subid("218_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx910_tgt
-    .local int rx910_pos
-    .local int rx910_off
-    .local int rx910_eos
-    .local int rx910_rep
-    .local pmc rx910_cur
-    (rx910_cur, rx910_pos, rx910_tgt) = self."!cursor_start"()
-    rx910_cur."!cursor_debug"("START ", "quote_escape:sym<$>")
-    .lex unicode:"$\x{a2}", rx910_cur
+    .local string rx925_tgt
+    .local int rx925_pos
+    .local int rx925_off
+    .local int rx925_eos
+    .local int rx925_rep
+    .local pmc rx925_cur
+    (rx925_cur, rx925_pos, rx925_tgt) = self."!cursor_start"()
+    rx925_cur."!cursor_debug"("START ", "quote_escape:sym<$>")
+    .lex unicode:"$\x{a2}", rx925_cur
     .local pmc match
     .lex "$/", match
-    length rx910_eos, rx910_tgt
-    gt rx910_pos, rx910_eos, rx910_done
-    set rx910_off, 0
-    lt rx910_pos, 2, rx910_start
-    sub rx910_off, rx910_pos, 1
-    substr rx910_tgt, rx910_tgt, rx910_off
-  rx910_start:
+    length rx925_eos, rx925_tgt
+    gt rx925_pos, rx925_eos, rx925_done
+    set rx925_off, 0
+    lt rx925_pos, 2, rx925_start
+    sub rx925_off, rx925_pos, 1
+    substr rx925_tgt, rx925_tgt, rx925_off
+  rx925_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan913_done
-    goto rxscan913_scan
-  rxscan913_loop:
-    ($P10) = rx910_cur."from"()
+    ne $I10, -1, rxscan928_done
+    goto rxscan928_scan
+  rxscan928_loop:
+    ($P10) = rx925_cur."from"()
     inc $P10
-    set rx910_pos, $P10
-    ge rx910_pos, rx910_eos, rxscan913_done
-  rxscan913_scan:
-    set_addr $I10, rxscan913_loop
-    rx910_cur."!mark_push"(0, rx910_pos, $I10)
-  rxscan913_done:
-.annotate 'line', 430
+    set rx925_pos, $P10
+    ge rx925_pos, rx925_eos, rxscan928_done
+  rxscan928_scan:
+    set_addr $I10, rxscan928_loop
+    rx925_cur."!mark_push"(0, rx925_pos, $I10)
+  rxscan928_done:
+.annotate 'line', 431
   # rx enumcharlist negate=0 zerowidth
-    ge rx910_pos, rx910_eos, rx910_fail
-    sub $I10, rx910_pos, rx910_off
-    substr $S10, rx910_tgt, $I10, 1
+    ge rx925_pos, rx925_eos, rx925_fail
+    sub $I10, rx925_pos, rx925_off
+    substr $S10, rx925_tgt, $I10, 1
     index $I11, "$", $S10
-    lt $I11, 0, rx910_fail
+    lt $I11, 0, rx925_fail
   # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx910_cur."!cursor_pos"(rx910_pos)
-    $P10 = rx910_cur."quotemod_check"("s")
-    unless $P10, rx910_fail
+    rx925_cur."!cursor_pos"(rx925_pos)
+    $P10 = rx925_cur."quotemod_check"("s")
+    unless $P10, rx925_fail
   # rx subrule "variable" subtype=capture negate=
-    rx910_cur."!cursor_pos"(rx910_pos)
-    $P10 = rx910_cur."variable"()
-    unless $P10, rx910_fail
-    rx910_cur."!mark_push"(0, -1, 0, $P10)
+    rx925_cur."!cursor_pos"(rx925_pos)
+    $P10 = rx925_cur."variable"()
+    unless $P10, rx925_fail
+    rx925_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("variable")
-    rx910_pos = $P10."pos"()
+    rx925_pos = $P10."pos"()
   # rx pass
-    rx910_cur."!cursor_pass"(rx910_pos, "quote_escape:sym<$>")
-    rx910_cur."!cursor_debug"("PASS  ", "quote_escape:sym<$>", " at pos=", rx910_pos)
-    .return (rx910_cur)
-  rx910_fail:
+    rx925_cur."!cursor_pass"(rx925_pos, "quote_escape:sym<$>")
+    rx925_cur."!cursor_debug"("PASS  ", "quote_escape:sym<$>", " at pos=", rx925_pos)
+    .return (rx925_cur)
+  rx925_fail:
 .annotate 'line', 4
-    (rx910_rep, rx910_pos, $I10, $P10) = rx910_cur."!mark_fail"(0)
-    lt rx910_pos, -1, rx910_done
-    eq rx910_pos, -1, rx910_fail
+    (rx925_rep, rx925_pos, $I10, $P10) = rx925_cur."!mark_fail"(0)
+    lt rx925_pos, -1, rx925_done
+    eq rx925_pos, -1, rx925_fail
     jump $I10
-  rx910_done:
-    rx910_cur."!cursor_fail"()
-    rx910_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<$>")
-    .return (rx910_cur)
+  rx925_done:
+    rx925_cur."!cursor_fail"()
+    rx925_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<$>")
+    .return (rx925_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<$>"  :subid("219_1275600007.84296") :method
+.sub "!PREFIX__quote_escape:sym<$>"  :subid("219_1275811487.95429") :method
 .annotate 'line', 4
-    new $P912, "ResizablePMCArray"
-    push $P912, "$"
-    .return ($P912)
+    new $P927, "ResizablePMCArray"
+    push $P927, "$"
+    .return ($P927)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<{ }>"  :subid("220_1275600007.84296") :method :outer("11_1275600007.84296")
-.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_escape:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx915_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:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan918_done
-    goto rxscan918_scan
-  rxscan918_loop:
-    ($P10) = rx915_cur."from"()
-    inc $P10
-    set rx915_pos, $P10
-    ge rx915_pos, rx915_eos, rxscan918_done
-  rxscan918_scan:
-    set_addr $I10, rxscan918_loop
-    rx915_cur."!mark_push"(0, rx915_pos, $I10)
-  rxscan918_done:
-.annotate 'line', 431
+.sub "quote_escape:sym<{ }>"  :subid("220_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 4
+    .local string rx930_tgt
+    .local int rx930_pos
+    .local int rx930_off
+    .local int rx930_eos
+    .local int rx930_rep
+    .local pmc rx930_cur
+    (rx930_cur, rx930_pos, rx930_tgt) = self."!cursor_start"()
+    rx930_cur."!cursor_debug"("START ", "quote_escape:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx930_cur
+    .local pmc match
+    .lex "$/", match
+    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, rxscan933_done
+    goto rxscan933_scan
+  rxscan933_loop:
+    ($P10) = rx930_cur."from"()
+    inc $P10
+    set rx930_pos, $P10
+    ge rx930_pos, rx930_eos, rxscan933_done
+  rxscan933_scan:
+    set_addr $I10, rxscan933_loop
+    rx930_cur."!mark_push"(0, rx930_pos, $I10)
+  rxscan933_done:
+.annotate 'line', 432
   # rx enumcharlist negate=0 zerowidth
-    ge rx915_pos, rx915_eos, rx915_fail
-    sub $I10, rx915_pos, rx915_off
-    substr $S10, rx915_tgt, $I10, 1
+    ge rx930_pos, rx930_eos, rx930_fail
+    sub $I10, rx930_pos, rx930_off
+    substr $S10, rx930_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx915_fail
+    lt $I11, 0, rx930_fail
   # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx915_cur."!cursor_pos"(rx915_pos)
-    $P10 = rx915_cur."quotemod_check"("c")
-    unless $P10, rx915_fail
+    rx930_cur."!cursor_pos"(rx930_pos)
+    $P10 = rx930_cur."quotemod_check"("c")
+    unless $P10, rx930_fail
   # rx subrule "block" subtype=capture negate=
-    rx915_cur."!cursor_pos"(rx915_pos)
-    $P10 = rx915_cur."block"()
-    unless $P10, rx915_fail
-    rx915_cur."!mark_push"(0, -1, 0, $P10)
+    rx930_cur."!cursor_pos"(rx930_pos)
+    $P10 = rx930_cur."block"()
+    unless $P10, rx930_fail
+    rx930_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx915_pos = $P10."pos"()
+    rx930_pos = $P10."pos"()
   # rx pass
-    rx915_cur."!cursor_pass"(rx915_pos, "quote_escape:sym<{ }>")
-    rx915_cur."!cursor_debug"("PASS  ", "quote_escape:sym<{ }>", " at pos=", rx915_pos)
-    .return (rx915_cur)
-  rx915_fail:
+    rx930_cur."!cursor_pass"(rx930_pos, "quote_escape:sym<{ }>")
+    rx930_cur."!cursor_debug"("PASS  ", "quote_escape:sym<{ }>", " at pos=", rx930_pos)
+    .return (rx930_cur)
+  rx930_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
+    (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
-  rx915_done:
-    rx915_cur."!cursor_fail"()
-    rx915_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<{ }>")
-    .return (rx915_cur)
+  rx930_done:
+    rx930_cur."!cursor_fail"()
+    rx930_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<{ }>")
+    .return (rx930_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("221_1275600007.84296") :method
+.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("221_1275811487.95429") :method
 .annotate 'line', 4
-    new $P917, "ResizablePMCArray"
-    push $P917, "{"
-    .return ($P917)
+    new $P932, "ResizablePMCArray"
+    push $P932, "{"
+    .return ($P932)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<esc>"  :subid("222_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "quote_escape:sym<esc>"  :subid("222_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx920_tgt
-    .local int rx920_pos
-    .local int rx920_off
-    .local int rx920_eos
-    .local int rx920_rep
-    .local pmc rx920_cur
-    (rx920_cur, rx920_pos, rx920_tgt) = self."!cursor_start"()
-    rx920_cur."!cursor_debug"("START ", "quote_escape:sym<esc>")
-    .lex unicode:"$\x{a2}", rx920_cur
+    .local string rx935_tgt
+    .local int rx935_pos
+    .local int rx935_off
+    .local int rx935_eos
+    .local int rx935_rep
+    .local pmc rx935_cur
+    (rx935_cur, rx935_pos, rx935_tgt) = self."!cursor_start"()
+    rx935_cur."!cursor_debug"("START ", "quote_escape:sym<esc>")
+    .lex unicode:"$\x{a2}", rx935_cur
     .local pmc match
     .lex "$/", match
-    length rx920_eos, rx920_tgt
-    gt rx920_pos, rx920_eos, rx920_done
-    set rx920_off, 0
-    lt rx920_pos, 2, rx920_start
-    sub rx920_off, rx920_pos, 1
-    substr rx920_tgt, rx920_tgt, rx920_off
-  rx920_start:
+    length rx935_eos, rx935_tgt
+    gt rx935_pos, rx935_eos, rx935_done
+    set rx935_off, 0
+    lt rx935_pos, 2, rx935_start
+    sub rx935_off, rx935_pos, 1
+    substr rx935_tgt, rx935_tgt, rx935_off
+  rx935_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan923_done
-    goto rxscan923_scan
-  rxscan923_loop:
-    ($P10) = rx920_cur."from"()
+    ne $I10, -1, rxscan938_done
+    goto rxscan938_scan
+  rxscan938_loop:
+    ($P10) = rx935_cur."from"()
     inc $P10
-    set rx920_pos, $P10
-    ge rx920_pos, rx920_eos, rxscan923_done
-  rxscan923_scan:
-    set_addr $I10, rxscan923_loop
-    rx920_cur."!mark_push"(0, rx920_pos, $I10)
-  rxscan923_done:
-.annotate 'line', 432
+    set rx935_pos, $P10
+    ge rx935_pos, rx935_eos, rxscan938_done
+  rxscan938_scan:
+    set_addr $I10, rxscan938_loop
+    rx935_cur."!mark_push"(0, rx935_pos, $I10)
+  rxscan938_done:
+.annotate 'line', 433
   # rx literal  "\\e"
-    add $I11, rx920_pos, 2
-    gt $I11, rx920_eos, rx920_fail
-    sub $I11, rx920_pos, rx920_off
-    substr $S10, rx920_tgt, $I11, 2
-    ne $S10, "\\e", rx920_fail
-    add rx920_pos, 2
+    add $I11, rx935_pos, 2
+    gt $I11, rx935_eos, rx935_fail
+    sub $I11, rx935_pos, rx935_off
+    substr $S10, rx935_tgt, $I11, 2
+    ne $S10, "\\e", rx935_fail
+    add rx935_pos, 2
   # rx subrule "quotemod_check" subtype=zerowidth negate=
-    rx920_cur."!cursor_pos"(rx920_pos)
-    $P10 = rx920_cur."quotemod_check"("b")
-    unless $P10, rx920_fail
+    rx935_cur."!cursor_pos"(rx935_pos)
+    $P10 = rx935_cur."quotemod_check"("b")
+    unless $P10, rx935_fail
   # rx pass
-    rx920_cur."!cursor_pass"(rx920_pos, "quote_escape:sym<esc>")
-    rx920_cur."!cursor_debug"("PASS  ", "quote_escape:sym<esc>", " at pos=", rx920_pos)
-    .return (rx920_cur)
-  rx920_fail:
+    rx935_cur."!cursor_pass"(rx935_pos, "quote_escape:sym<esc>")
+    rx935_cur."!cursor_debug"("PASS  ", "quote_escape:sym<esc>", " at pos=", rx935_pos)
+    .return (rx935_cur)
+  rx935_fail:
 .annotate 'line', 4
-    (rx920_rep, rx920_pos, $I10, $P10) = rx920_cur."!mark_fail"(0)
-    lt rx920_pos, -1, rx920_done
-    eq rx920_pos, -1, rx920_fail
+    (rx935_rep, rx935_pos, $I10, $P10) = rx935_cur."!mark_fail"(0)
+    lt rx935_pos, -1, rx935_done
+    eq rx935_pos, -1, rx935_fail
     jump $I10
-  rx920_done:
-    rx920_cur."!cursor_fail"()
-    rx920_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<esc>")
-    .return (rx920_cur)
+  rx935_done:
+    rx935_cur."!cursor_fail"()
+    rx935_cur."!cursor_debug"("FAIL  ", "quote_escape:sym<esc>")
+    .return (rx935_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>"  :subid("223_1275600007.84296") :method
+.sub "!PREFIX__quote_escape:sym<esc>"  :subid("223_1275811487.95429") :method
 .annotate 'line', 4
-    new $P922, "ResizablePMCArray"
-    push $P922, "\\e"
-    .return ($P922)
+    new $P937, "ResizablePMCArray"
+    push $P937, "\\e"
+    .return ($P937)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<( )>"  :subid("224_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "circumfix:sym<( )>"  :subid("224_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx925_tgt
-    .local int rx925_pos
-    .local int rx925_off
-    .local int rx925_eos
-    .local int rx925_rep
-    .local pmc rx925_cur
-    (rx925_cur, rx925_pos, rx925_tgt) = self."!cursor_start"()
-    rx925_cur."!cursor_debug"("START ", "circumfix:sym<( )>")
-    rx925_cur."!cursor_caparray"("EXPR")
-    .lex unicode:"$\x{a2}", rx925_cur
+    .local string rx940_tgt
+    .local int rx940_pos
+    .local int rx940_off
+    .local int rx940_eos
+    .local int rx940_rep
+    .local pmc rx940_cur
+    (rx940_cur, rx940_pos, rx940_tgt) = self."!cursor_start"()
+    rx940_cur."!cursor_debug"("START ", "circumfix:sym<( )>")
+    rx940_cur."!cursor_caparray"("EXPR")
+    .lex unicode:"$\x{a2}", rx940_cur
     .local pmc match
     .lex "$/", match
-    length rx925_eos, rx925_tgt
-    gt rx925_pos, rx925_eos, rx925_done
-    set rx925_off, 0
-    lt rx925_pos, 2, rx925_start
-    sub rx925_off, rx925_pos, 1
-    substr rx925_tgt, rx925_tgt, rx925_off
-  rx925_start:
+    length rx940_eos, rx940_tgt
+    gt rx940_pos, rx940_eos, rx940_done
+    set rx940_off, 0
+    lt rx940_pos, 2, rx940_start
+    sub rx940_off, rx940_pos, 1
+    substr rx940_tgt, rx940_tgt, rx940_off
+  rx940_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan929_done
-    goto rxscan929_scan
-  rxscan929_loop:
-    ($P10) = rx925_cur."from"()
+    ne $I10, -1, rxscan944_done
+    goto rxscan944_scan
+  rxscan944_loop:
+    ($P10) = rx940_cur."from"()
     inc $P10
-    set rx925_pos, $P10
-    ge rx925_pos, rx925_eos, rxscan929_done
-  rxscan929_scan:
-    set_addr $I10, rxscan929_loop
-    rx925_cur."!mark_push"(0, rx925_pos, $I10)
-  rxscan929_done:
-.annotate 'line', 434
+    set rx940_pos, $P10
+    ge rx940_pos, rx940_eos, rxscan944_done
+  rxscan944_scan:
+    set_addr $I10, rxscan944_loop
+    rx940_cur."!mark_push"(0, rx940_pos, $I10)
+  rxscan944_done:
+.annotate 'line', 435
   # rx literal  "("
-    add $I11, rx925_pos, 1
-    gt $I11, rx925_eos, rx925_fail
-    sub $I11, rx925_pos, rx925_off
-    substr $S10, rx925_tgt, $I11, 1
-    ne $S10, "(", rx925_fail
-    add rx925_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx925_cur."!cursor_pos"(rx925_pos)
-    $P10 = rx925_cur."ws"()
-    unless $P10, rx925_fail
-    rx925_pos = $P10."pos"()
-  # rx rxquantr930 ** 0..1
-    set_addr $I931, rxquantr930_done
-    rx925_cur."!mark_push"(0, rx925_pos, $I931)
-  rxquantr930_loop:
+    add $I11, rx940_pos, 1
+    gt $I11, rx940_eos, rx940_fail
+    sub $I11, rx940_pos, rx940_off
+    substr $S10, rx940_tgt, $I11, 1
+    ne $S10, "(", rx940_fail
+    add rx940_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx940_cur."!cursor_pos"(rx940_pos)
+    $P10 = rx940_cur."ws"()
+    unless $P10, rx940_fail
+    rx940_pos = $P10."pos"()
+  # rx rxquantr945 ** 0..1
+    set_addr $I946, rxquantr945_done
+    rx940_cur."!mark_push"(0, rx940_pos, $I946)
+  rxquantr945_loop:
   # rx subrule "EXPR" subtype=capture negate=
-    rx925_cur."!cursor_pos"(rx925_pos)
-    $P10 = rx925_cur."EXPR"()
-    unless $P10, rx925_fail
-    rx925_cur."!mark_push"(0, -1, 0, $P10)
+    rx940_cur."!cursor_pos"(rx940_pos)
+    $P10 = rx940_cur."EXPR"()
+    unless $P10, rx940_fail
+    rx940_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx925_pos = $P10."pos"()
-    (rx925_rep) = rx925_cur."!mark_commit"($I931)
-  rxquantr930_done:
+    rx940_pos = $P10."pos"()
+    (rx940_rep) = rx940_cur."!mark_commit"($I946)
+  rxquantr945_done:
   # rx literal  ")"
-    add $I11, rx925_pos, 1
-    gt $I11, rx925_eos, rx925_fail
-    sub $I11, rx925_pos, rx925_off
-    substr $S10, rx925_tgt, $I11, 1
-    ne $S10, ")", rx925_fail
-    add rx925_pos, 1
+    add $I11, rx940_pos, 1
+    gt $I11, rx940_eos, rx940_fail
+    sub $I11, rx940_pos, rx940_off
+    substr $S10, rx940_tgt, $I11, 1
+    ne $S10, ")", rx940_fail
+    add rx940_pos, 1
   # rx pass
-    rx925_cur."!cursor_pass"(rx925_pos, "circumfix:sym<( )>")
-    rx925_cur."!cursor_debug"("PASS  ", "circumfix:sym<( )>", " at pos=", rx925_pos)
-    .return (rx925_cur)
-  rx925_fail:
+    rx940_cur."!cursor_pass"(rx940_pos, "circumfix:sym<( )>")
+    rx940_cur."!cursor_debug"("PASS  ", "circumfix:sym<( )>", " at pos=", rx940_pos)
+    .return (rx940_cur)
+  rx940_fail:
 .annotate 'line', 4
-    (rx925_rep, rx925_pos, $I10, $P10) = rx925_cur."!mark_fail"(0)
-    lt rx925_pos, -1, rx925_done
-    eq rx925_pos, -1, rx925_fail
+    (rx940_rep, rx940_pos, $I10, $P10) = rx940_cur."!mark_fail"(0)
+    lt rx940_pos, -1, rx940_done
+    eq rx940_pos, -1, rx940_fail
     jump $I10
-  rx925_done:
-    rx925_cur."!cursor_fail"()
-    rx925_cur."!cursor_debug"("FAIL  ", "circumfix:sym<( )>")
-    .return (rx925_cur)
+  rx940_done:
+    rx940_cur."!cursor_fail"()
+    rx940_cur."!cursor_debug"("FAIL  ", "circumfix:sym<( )>")
+    .return (rx940_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<( )>"  :subid("225_1275600007.84296") :method
+.sub "!PREFIX__circumfix:sym<( )>"  :subid("225_1275811487.95429") :method
 .annotate 'line', 4
-    $P927 = self."!PREFIX__!subrule"("", "(")
-    new $P928, "ResizablePMCArray"
-    push $P928, $P927
-    .return ($P928)
+    $P942 = self."!PREFIX__!subrule"("ws", "(")
+    new $P943, "ResizablePMCArray"
+    push $P943, $P942
+    .return ($P943)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<[ ]>"  :subid("226_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 4
-    .local string rx933_tgt
-    .local int rx933_pos
-    .local int rx933_off
-    .local int rx933_eos
-    .local int rx933_rep
-    .local pmc rx933_cur
-    (rx933_cur, rx933_pos, rx933_tgt) = self."!cursor_start"()
-    rx933_cur."!cursor_debug"("START ", "circumfix:sym<[ ]>")
-    rx933_cur."!cursor_caparray"("EXPR")
-    .lex unicode:"$\x{a2}", rx933_cur
-    .local pmc match
-    .lex "$/", match
-    length rx933_eos, rx933_tgt
-    gt rx933_pos, rx933_eos, rx933_done
-    set rx933_off, 0
-    lt rx933_pos, 2, rx933_start
-    sub rx933_off, rx933_pos, 1
-    substr rx933_tgt, rx933_tgt, rx933_off
-  rx933_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan937_done
-    goto rxscan937_scan
-  rxscan937_loop:
-    ($P10) = rx933_cur."from"()
-    inc $P10
-    set rx933_pos, $P10
-    ge rx933_pos, rx933_eos, rxscan937_done
-  rxscan937_scan:
-    set_addr $I10, rxscan937_loop
-    rx933_cur."!mark_push"(0, rx933_pos, $I10)
-  rxscan937_done:
-.annotate 'line', 435
+.sub "circumfix:sym<[ ]>"  :subid("226_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 4
+    .local string rx948_tgt
+    .local int rx948_pos
+    .local int rx948_off
+    .local int rx948_eos
+    .local int rx948_rep
+    .local pmc rx948_cur
+    (rx948_cur, rx948_pos, rx948_tgt) = self."!cursor_start"()
+    rx948_cur."!cursor_debug"("START ", "circumfix:sym<[ ]>")
+    rx948_cur."!cursor_caparray"("EXPR")
+    .lex unicode:"$\x{a2}", rx948_cur
+    .local pmc match
+    .lex "$/", match
+    length rx948_eos, rx948_tgt
+    gt rx948_pos, rx948_eos, rx948_done
+    set rx948_off, 0
+    lt rx948_pos, 2, rx948_start
+    sub rx948_off, rx948_pos, 1
+    substr rx948_tgt, rx948_tgt, rx948_off
+  rx948_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan952_done
+    goto rxscan952_scan
+  rxscan952_loop:
+    ($P10) = rx948_cur."from"()
+    inc $P10
+    set rx948_pos, $P10
+    ge rx948_pos, rx948_eos, rxscan952_done
+  rxscan952_scan:
+    set_addr $I10, rxscan952_loop
+    rx948_cur."!mark_push"(0, rx948_pos, $I10)
+  rxscan952_done:
+.annotate 'line', 436
   # rx literal  "["
-    add $I11, rx933_pos, 1
-    gt $I11, rx933_eos, rx933_fail
-    sub $I11, rx933_pos, rx933_off
-    substr $S10, rx933_tgt, $I11, 1
-    ne $S10, "[", rx933_fail
-    add rx933_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx933_cur."!cursor_pos"(rx933_pos)
-    $P10 = rx933_cur."ws"()
-    unless $P10, rx933_fail
-    rx933_pos = $P10."pos"()
-  # rx rxquantr938 ** 0..1
-    set_addr $I939, rxquantr938_done
-    rx933_cur."!mark_push"(0, rx933_pos, $I939)
-  rxquantr938_loop:
+    add $I11, rx948_pos, 1
+    gt $I11, rx948_eos, rx948_fail
+    sub $I11, rx948_pos, rx948_off
+    substr $S10, rx948_tgt, $I11, 1
+    ne $S10, "[", rx948_fail
+    add rx948_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx948_cur."!cursor_pos"(rx948_pos)
+    $P10 = rx948_cur."ws"()
+    unless $P10, rx948_fail
+    rx948_pos = $P10."pos"()
+  # rx rxquantr953 ** 0..1
+    set_addr $I954, rxquantr953_done
+    rx948_cur."!mark_push"(0, rx948_pos, $I954)
+  rxquantr953_loop:
   # rx subrule "EXPR" subtype=capture negate=
-    rx933_cur."!cursor_pos"(rx933_pos)
-    $P10 = rx933_cur."EXPR"()
-    unless $P10, rx933_fail
-    rx933_cur."!mark_push"(0, -1, 0, $P10)
+    rx948_cur."!cursor_pos"(rx948_pos)
+    $P10 = rx948_cur."EXPR"()
+    unless $P10, rx948_fail
+    rx948_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx933_pos = $P10."pos"()
-    (rx933_rep) = rx933_cur."!mark_commit"($I939)
-  rxquantr938_done:
+    rx948_pos = $P10."pos"()
+    (rx948_rep) = rx948_cur."!mark_commit"($I954)
+  rxquantr953_done:
   # rx literal  "]"
-    add $I11, rx933_pos, 1
-    gt $I11, rx933_eos, rx933_fail
-    sub $I11, rx933_pos, rx933_off
-    substr $S10, rx933_tgt, $I11, 1
-    ne $S10, "]", rx933_fail
-    add rx933_pos, 1
+    add $I11, rx948_pos, 1
+    gt $I11, rx948_eos, rx948_fail
+    sub $I11, rx948_pos, rx948_off
+    substr $S10, rx948_tgt, $I11, 1
+    ne $S10, "]", rx948_fail
+    add rx948_pos, 1
   # rx pass
-    rx933_cur."!cursor_pass"(rx933_pos, "circumfix:sym<[ ]>")
-    rx933_cur."!cursor_debug"("PASS  ", "circumfix:sym<[ ]>", " at pos=", rx933_pos)
-    .return (rx933_cur)
-  rx933_fail:
+    rx948_cur."!cursor_pass"(rx948_pos, "circumfix:sym<[ ]>")
+    rx948_cur."!cursor_debug"("PASS  ", "circumfix:sym<[ ]>", " at pos=", rx948_pos)
+    .return (rx948_cur)
+  rx948_fail:
 .annotate 'line', 4
-    (rx933_rep, rx933_pos, $I10, $P10) = rx933_cur."!mark_fail"(0)
-    lt rx933_pos, -1, rx933_done
-    eq rx933_pos, -1, rx933_fail
+    (rx948_rep, rx948_pos, $I10, $P10) = rx948_cur."!mark_fail"(0)
+    lt rx948_pos, -1, rx948_done
+    eq rx948_pos, -1, rx948_fail
     jump $I10
-  rx933_done:
-    rx933_cur."!cursor_fail"()
-    rx933_cur."!cursor_debug"("FAIL  ", "circumfix:sym<[ ]>")
-    .return (rx933_cur)
+  rx948_done:
+    rx948_cur."!cursor_fail"()
+    rx948_cur."!cursor_debug"("FAIL  ", "circumfix:sym<[ ]>")
+    .return (rx948_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("227_1275600007.84296") :method
+.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("227_1275811487.95429") :method
 .annotate 'line', 4
-    $P935 = self."!PREFIX__!subrule"("", "[")
-    new $P936, "ResizablePMCArray"
-    push $P936, $P935
-    .return ($P936)
+    $P950 = self."!PREFIX__!subrule"("ws", "[")
+    new $P951, "ResizablePMCArray"
+    push $P951, $P950
+    .return ($P951)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<ang>"  :subid("228_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "circumfix:sym<ang>"  :subid("228_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .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 ", "circumfix:sym<ang>")
-    .lex unicode:"$\x{a2}", rx941_cur
+    .local string rx956_tgt
+    .local int rx956_pos
+    .local int rx956_off
+    .local int rx956_eos
+    .local int rx956_rep
+    .local pmc rx956_cur
+    (rx956_cur, rx956_pos, rx956_tgt) = self."!cursor_start"()
+    rx956_cur."!cursor_debug"("START ", "circumfix:sym<ang>")
+    .lex unicode:"$\x{a2}", rx956_cur
     .local pmc match
     .lex "$/", match
-    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:
+    length rx956_eos, rx956_tgt
+    gt rx956_pos, rx956_eos, rx956_done
+    set rx956_off, 0
+    lt rx956_pos, 2, rx956_start
+    sub rx956_off, rx956_pos, 1
+    substr rx956_tgt, rx956_tgt, rx956_off
+  rx956_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan944_done
-    goto rxscan944_scan
-  rxscan944_loop:
-    ($P10) = rx941_cur."from"()
+    ne $I10, -1, rxscan959_done
+    goto rxscan959_scan
+  rxscan959_loop:
+    ($P10) = rx956_cur."from"()
     inc $P10
-    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', 436
+    set rx956_pos, $P10
+    ge rx956_pos, rx956_eos, rxscan959_done
+  rxscan959_scan:
+    set_addr $I10, rxscan959_loop
+    rx956_cur."!mark_push"(0, rx956_pos, $I10)
+  rxscan959_done:
+.annotate 'line', 437
   # rx enumcharlist negate=0 zerowidth
-    ge rx941_pos, rx941_eos, rx941_fail
-    sub $I10, rx941_pos, rx941_off
-    substr $S10, rx941_tgt, $I10, 1
+    ge rx956_pos, rx956_eos, rx956_fail
+    sub $I10, rx956_pos, rx956_off
+    substr $S10, rx956_tgt, $I10, 1
     index $I11, "<", $S10
-    lt $I11, 0, rx941_fail
+    lt $I11, 0, rx956_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx941_cur."!cursor_pos"(rx941_pos)
-    $P10 = rx941_cur."quote_EXPR"(":q", ":w")
-    unless $P10, rx941_fail
-    rx941_cur."!mark_push"(0, -1, 0, $P10)
+    rx956_cur."!cursor_pos"(rx956_pos)
+    $P10 = rx956_cur."quote_EXPR"(":q", ":w")
+    unless $P10, rx956_fail
+    rx956_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx941_pos = $P10."pos"()
+    rx956_pos = $P10."pos"()
   # rx pass
-    rx941_cur."!cursor_pass"(rx941_pos, "circumfix:sym<ang>")
-    rx941_cur."!cursor_debug"("PASS  ", "circumfix:sym<ang>", " at pos=", rx941_pos)
-    .return (rx941_cur)
-  rx941_fail:
+    rx956_cur."!cursor_pass"(rx956_pos, "circumfix:sym<ang>")
+    rx956_cur."!cursor_debug"("PASS  ", "circumfix:sym<ang>", " at pos=", rx956_pos)
+    .return (rx956_cur)
+  rx956_fail:
 .annotate 'line', 4
-    (rx941_rep, rx941_pos, $I10, $P10) = rx941_cur."!mark_fail"(0)
-    lt rx941_pos, -1, rx941_done
-    eq rx941_pos, -1, rx941_fail
+    (rx956_rep, rx956_pos, $I10, $P10) = rx956_cur."!mark_fail"(0)
+    lt rx956_pos, -1, rx956_done
+    eq rx956_pos, -1, rx956_fail
     jump $I10
-  rx941_done:
-    rx941_cur."!cursor_fail"()
-    rx941_cur."!cursor_debug"("FAIL  ", "circumfix:sym<ang>")
-    .return (rx941_cur)
+  rx956_done:
+    rx956_cur."!cursor_fail"()
+    rx956_cur."!cursor_debug"("FAIL  ", "circumfix:sym<ang>")
+    .return (rx956_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<ang>"  :subid("229_1275600007.84296") :method
+.sub "!PREFIX__circumfix:sym<ang>"  :subid("229_1275811487.95429") :method
 .annotate 'line', 4
-    new $P943, "ResizablePMCArray"
-    push $P943, "<"
-    .return ($P943)
+    new $P958, "ResizablePMCArray"
+    push $P958, "<"
+    .return ($P958)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("230_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("230_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .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 ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
-    .lex unicode:"$\x{a2}", rx946_cur
-    .local pmc match
-    .lex "$/", match
-    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, rxscan949_done
-    goto rxscan949_scan
-  rxscan949_loop:
-    ($P10) = rx946_cur."from"()
-    inc $P10
-    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', 437
+    .local string rx961_tgt
+    .local int rx961_pos
+    .local int rx961_off
+    .local int rx961_eos
+    .local int rx961_rep
+    .local pmc rx961_cur
+    (rx961_cur, rx961_pos, rx961_tgt) = self."!cursor_start"()
+    rx961_cur."!cursor_debug"("START ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
+    .lex unicode:"$\x{a2}", rx961_cur
+    .local pmc match
+    .lex "$/", match
+    length rx961_eos, rx961_tgt
+    gt rx961_pos, rx961_eos, rx961_done
+    set rx961_off, 0
+    lt rx961_pos, 2, rx961_start
+    sub rx961_off, rx961_pos, 1
+    substr rx961_tgt, rx961_tgt, rx961_off
+  rx961_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan964_done
+    goto rxscan964_scan
+  rxscan964_loop:
+    ($P10) = rx961_cur."from"()
+    inc $P10
+    set rx961_pos, $P10
+    ge rx961_pos, rx961_eos, rxscan964_done
+  rxscan964_scan:
+    set_addr $I10, rxscan964_loop
+    rx961_cur."!mark_push"(0, rx961_pos, $I10)
+  rxscan964_done:
+.annotate 'line', 438
   # rx enumcharlist negate=0 zerowidth
-    ge rx946_pos, rx946_eos, rx946_fail
-    sub $I10, rx946_pos, rx946_off
-    substr $S10, rx946_tgt, $I10, 1
+    ge rx961_pos, rx961_eos, rx961_fail
+    sub $I10, rx961_pos, rx961_off
+    substr $S10, rx961_tgt, $I10, 1
     index $I11, unicode:"\x{ab}", $S10
-    lt $I11, 0, rx946_fail
+    lt $I11, 0, rx961_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx946_cur."!cursor_pos"(rx946_pos)
-    $P10 = rx946_cur."quote_EXPR"(":qq", ":w")
-    unless $P10, rx946_fail
-    rx946_cur."!mark_push"(0, -1, 0, $P10)
+    rx961_cur."!cursor_pos"(rx961_pos)
+    $P10 = rx961_cur."quote_EXPR"(":qq", ":w")
+    unless $P10, rx961_fail
+    rx961_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx946_pos = $P10."pos"()
+    rx961_pos = $P10."pos"()
   # rx pass
-    rx946_cur."!cursor_pass"(rx946_pos, unicode:"circumfix:sym<\x{ab} \x{bb}>")
-    rx946_cur."!cursor_debug"("PASS  ", unicode:"circumfix:sym<\x{ab} \x{bb}>", " at pos=", rx946_pos)
-    .return (rx946_cur)
-  rx946_fail:
+    rx961_cur."!cursor_pass"(rx961_pos, unicode:"circumfix:sym<\x{ab} \x{bb}>")
+    rx961_cur."!cursor_debug"("PASS  ", unicode:"circumfix:sym<\x{ab} \x{bb}>", " at pos=", rx961_pos)
+    .return (rx961_cur)
+  rx961_fail:
 .annotate 'line', 4
-    (rx946_rep, rx946_pos, $I10, $P10) = rx946_cur."!mark_fail"(0)
-    lt rx946_pos, -1, rx946_done
-    eq rx946_pos, -1, rx946_fail
+    (rx961_rep, rx961_pos, $I10, $P10) = rx961_cur."!mark_fail"(0)
+    lt rx961_pos, -1, rx961_done
+    eq rx961_pos, -1, rx961_fail
     jump $I10
-  rx946_done:
-    rx946_cur."!cursor_fail"()
-    rx946_cur."!cursor_debug"("FAIL  ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
-    .return (rx946_cur)
+  rx961_done:
+    rx961_cur."!cursor_fail"()
+    rx961_cur."!cursor_debug"("FAIL  ", unicode:"circumfix:sym<\x{ab} \x{bb}>")
+    .return (rx961_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("231_1275600007.84296") :method
+.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("231_1275811487.95429") :method
 .annotate 'line', 4
-    new $P948, "ResizablePMCArray"
-    push $P948, unicode:"\x{ab}"
-    .return ($P948)
+    new $P963, "ResizablePMCArray"
+    push $P963, unicode:"\x{ab}"
+    .return ($P963)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<{ }>"  :subid("232_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "circumfix:sym<{ }>"  :subid("232_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .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<{ }>")
-    .lex unicode:"$\x{a2}", rx951_cur
+    .local string rx966_tgt
+    .local int rx966_pos
+    .local int rx966_off
+    .local int rx966_eos
+    .local int rx966_rep
+    .local pmc rx966_cur
+    (rx966_cur, rx966_pos, rx966_tgt) = self."!cursor_start"()
+    rx966_cur."!cursor_debug"("START ", "circumfix:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx966_cur
     .local pmc match
     .lex "$/", match
-    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:
+    length rx966_eos, rx966_tgt
+    gt rx966_pos, rx966_eos, rx966_done
+    set rx966_off, 0
+    lt rx966_pos, 2, rx966_start
+    sub rx966_off, rx966_pos, 1
+    substr rx966_tgt, rx966_tgt, rx966_off
+  rx966_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan954_done
-    goto rxscan954_scan
-  rxscan954_loop:
-    ($P10) = rx951_cur."from"()
+    ne $I10, -1, rxscan969_done
+    goto rxscan969_scan
+  rxscan969_loop:
+    ($P10) = rx966_cur."from"()
     inc $P10
-    set rx951_pos, $P10
-    ge rx951_pos, rx951_eos, rxscan954_done
-  rxscan954_scan:
-    set_addr $I10, rxscan954_loop
-    rx951_cur."!mark_push"(0, rx951_pos, $I10)
-  rxscan954_done:
-.annotate 'line', 438
+    set rx966_pos, $P10
+    ge rx966_pos, rx966_eos, rxscan969_done
+  rxscan969_scan:
+    set_addr $I10, rxscan969_loop
+    rx966_cur."!mark_push"(0, rx966_pos, $I10)
+  rxscan969_done:
+.annotate 'line', 439
   # rx enumcharlist negate=0 zerowidth
-    ge rx951_pos, rx951_eos, rx951_fail
-    sub $I10, rx951_pos, rx951_off
-    substr $S10, rx951_tgt, $I10, 1
+    ge rx966_pos, rx966_eos, rx966_fail
+    sub $I10, rx966_pos, rx966_off
+    substr $S10, rx966_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx951_fail
+    lt $I11, 0, rx966_fail
   # rx subrule "pblock" subtype=capture negate=
-    rx951_cur."!cursor_pos"(rx951_pos)
-    $P10 = rx951_cur."pblock"()
-    unless $P10, rx951_fail
-    rx951_cur."!mark_push"(0, -1, 0, $P10)
+    rx966_cur."!cursor_pos"(rx966_pos)
+    $P10 = rx966_cur."pblock"()
+    unless $P10, rx966_fail
+    rx966_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pblock")
-    rx951_pos = $P10."pos"()
+    rx966_pos = $P10."pos"()
   # rx pass
-    rx951_cur."!cursor_pass"(rx951_pos, "circumfix:sym<{ }>")
-    rx951_cur."!cursor_debug"("PASS  ", "circumfix:sym<{ }>", " at pos=", rx951_pos)
-    .return (rx951_cur)
-  rx951_fail:
+    rx966_cur."!cursor_pass"(rx966_pos, "circumfix:sym<{ }>")
+    rx966_cur."!cursor_debug"("PASS  ", "circumfix:sym<{ }>", " at pos=", rx966_pos)
+    .return (rx966_cur)
+  rx966_fail:
 .annotate 'line', 4
-    (rx951_rep, rx951_pos, $I10, $P10) = rx951_cur."!mark_fail"(0)
-    lt rx951_pos, -1, rx951_done
-    eq rx951_pos, -1, rx951_fail
+    (rx966_rep, rx966_pos, $I10, $P10) = rx966_cur."!mark_fail"(0)
+    lt rx966_pos, -1, rx966_done
+    eq rx966_pos, -1, rx966_fail
     jump $I10
-  rx951_done:
-    rx951_cur."!cursor_fail"()
-    rx951_cur."!cursor_debug"("FAIL  ", "circumfix:sym<{ }>")
-    .return (rx951_cur)
+  rx966_done:
+    rx966_cur."!cursor_fail"()
+    rx966_cur."!cursor_debug"("FAIL  ", "circumfix:sym<{ }>")
+    .return (rx966_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<{ }>"  :subid("233_1275600007.84296") :method
+.sub "!PREFIX__circumfix:sym<{ }>"  :subid("233_1275811487.95429") :method
 .annotate 'line', 4
-    new $P953, "ResizablePMCArray"
-    push $P953, "{"
-    .return ($P953)
+    new $P968, "ResizablePMCArray"
+    push $P968, "{"
+    .return ($P968)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<sigil>"  :subid("234_1275600007.84296") :method :outer("11_1275600007.84296")
+.sub "circumfix:sym<sigil>"  :subid("234_1275811487.95429") :method :outer("11_1275811487.95429")
 .annotate 'line', 4
-    .local string rx956_tgt
-    .local int rx956_pos
-    .local int rx956_off
-    .local int rx956_eos
-    .local int rx956_rep
-    .local pmc rx956_cur
-    (rx956_cur, rx956_pos, rx956_tgt) = self."!cursor_start"()
-    rx956_cur."!cursor_debug"("START ", "circumfix:sym<sigil>")
-    .lex unicode:"$\x{a2}", rx956_cur
+    .local string rx971_tgt
+    .local int rx971_pos
+    .local int rx971_off
+    .local int rx971_eos
+    .local int rx971_rep
+    .local pmc rx971_cur
+    (rx971_cur, rx971_pos, rx971_tgt) = self."!cursor_start"()
+    rx971_cur."!cursor_debug"("START ", "circumfix:sym<sigil>")
+    .lex unicode:"$\x{a2}", rx971_cur
     .local pmc match
     .lex "$/", match
-    length rx956_eos, rx956_tgt
-    gt rx956_pos, rx956_eos, rx956_done
-    set rx956_off, 0
-    lt rx956_pos, 2, rx956_start
-    sub rx956_off, rx956_pos, 1
-    substr rx956_tgt, rx956_tgt, rx956_off
-  rx956_start:
+    length rx971_eos, rx971_tgt
+    gt rx971_pos, rx971_eos, rx971_done
+    set rx971_off, 0
+    lt rx971_pos, 2, rx971_start
+    sub rx971_off, rx971_pos, 1
+    substr rx971_tgt, rx971_tgt, rx971_off
+  rx971_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan960_done
-    goto rxscan960_scan
-  rxscan960_loop:
-    ($P10) = rx956_cur."from"()
+    ne $I10, -1, rxscan975_done
+    goto rxscan975_scan
+  rxscan975_loop:
+    ($P10) = rx971_cur."from"()
     inc $P10
-    set rx956_pos, $P10
-    ge rx956_pos, rx956_eos, rxscan960_done
-  rxscan960_scan:
-    set_addr $I10, rxscan960_loop
-    rx956_cur."!mark_push"(0, rx956_pos, $I10)
-  rxscan960_done:
-.annotate 'line', 439
+    set rx971_pos, $P10
+    ge rx971_pos, rx971_eos, rxscan975_done
+  rxscan975_scan:
+    set_addr $I10, rxscan975_loop
+    rx971_cur."!mark_push"(0, rx971_pos, $I10)
+  rxscan975_done:
+.annotate 'line', 440
   # rx subrule "sigil" subtype=capture negate=
-    rx956_cur."!cursor_pos"(rx956_pos)
-    $P10 = rx956_cur."sigil"()
-    unless $P10, rx956_fail
-    rx956_cur."!mark_push"(0, -1, 0, $P10)
+    rx971_cur."!cursor_pos"(rx971_pos)
+    $P10 = rx971_cur."sigil"()
+    unless $P10, rx971_fail
+    rx971_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sigil")
-    rx956_pos = $P10."pos"()
+    rx971_pos = $P10."pos"()
   # rx literal  "("
-    add $I11, rx956_pos, 1
-    gt $I11, rx956_eos, rx956_fail
-    sub $I11, rx956_pos, rx956_off
-    substr $S10, rx956_tgt, $I11, 1
-    ne $S10, "(", rx956_fail
-    add rx956_pos, 1
+    add $I11, rx971_pos, 1
+    gt $I11, rx971_eos, rx971_fail
+    sub $I11, rx971_pos, rx971_off
+    substr $S10, rx971_tgt, $I11, 1
+    ne $S10, "(", rx971_fail
+    add rx971_pos, 1
   # rx subrule "semilist" subtype=capture negate=
-    rx956_cur."!cursor_pos"(rx956_pos)
-    $P10 = rx956_cur."semilist"()
-    unless $P10, rx956_fail
-    rx956_cur."!mark_push"(0, -1, 0, $P10)
+    rx971_cur."!cursor_pos"(rx971_pos)
+    $P10 = rx971_cur."semilist"()
+    unless $P10, rx971_fail
+    rx971_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("semilist")
-    rx956_pos = $P10."pos"()
-  alt961_0:
-    set_addr $I10, alt961_1
-    rx956_cur."!mark_push"(0, rx956_pos, $I10)
+    rx971_pos = $P10."pos"()
+  alt976_0:
+    set_addr $I10, alt976_1
+    rx971_cur."!mark_push"(0, rx971_pos, $I10)
   # rx literal  ")"
-    add $I11, rx956_pos, 1
-    gt $I11, rx956_eos, rx956_fail
-    sub $I11, rx956_pos, rx956_off
-    substr $S10, rx956_tgt, $I11, 1
-    ne $S10, ")", rx956_fail
-    add rx956_pos, 1
-    goto alt961_end
-  alt961_1:
+    add $I11, rx971_pos, 1
+    gt $I11, rx971_eos, rx971_fail
+    sub $I11, rx971_pos, rx971_off
+    substr $S10, rx971_tgt, $I11, 1
+    ne $S10, ")", rx971_fail
+    add rx971_pos, 1
+    goto alt976_end
+  alt976_1:
   # rx subrule "FAILGOAL" subtype=method negate=
-    rx956_cur."!cursor_pos"(rx956_pos)
-    $P10 = rx956_cur."FAILGOAL"("')'")
-    unless $P10, rx956_fail
-    rx956_pos = $P10."pos"()
-  alt961_end:
+    rx971_cur."!cursor_pos"(rx971_pos)
+    $P10 = rx971_cur."FAILGOAL"("')'")
+    unless $P10, rx971_fail
+    rx971_pos = $P10."pos"()
+  alt976_end:
   # rx pass
-    rx956_cur."!cursor_pass"(rx956_pos, "circumfix:sym<sigil>")
-    rx956_cur."!cursor_debug"("PASS  ", "circumfix:sym<sigil>", " at pos=", rx956_pos)
-    .return (rx956_cur)
-  rx956_fail:
+    rx971_cur."!cursor_pass"(rx971_pos, "circumfix:sym<sigil>")
+    rx971_cur."!cursor_debug"("PASS  ", "circumfix:sym<sigil>", " at pos=", rx971_pos)
+    .return (rx971_cur)
+  rx971_fail:
 .annotate 'line', 4
-    (rx956_rep, rx956_pos, $I10, $P10) = rx956_cur."!mark_fail"(0)
-    lt rx956_pos, -1, rx956_done
-    eq rx956_pos, -1, rx956_fail
+    (rx971_rep, rx971_pos, $I10, $P10) = rx971_cur."!mark_fail"(0)
+    lt rx971_pos, -1, rx971_done
+    eq rx971_pos, -1, rx971_fail
     jump $I10
-  rx956_done:
-    rx956_cur."!cursor_fail"()
-    rx956_cur."!cursor_debug"("FAIL  ", "circumfix:sym<sigil>")
-    .return (rx956_cur)
+  rx971_done:
+    rx971_cur."!cursor_fail"()
+    rx971_cur."!cursor_debug"("FAIL  ", "circumfix:sym<sigil>")
+    .return (rx971_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<sigil>"  :subid("235_1275600007.84296") :method
+.sub "!PREFIX__circumfix:sym<sigil>"  :subid("235_1275811487.95429") :method
 .annotate 'line', 4
-    $P958 = self."!PREFIX__!subrule"("sigil", "")
-    new $P959, "ResizablePMCArray"
-    push $P959, $P958
-    .return ($P959)
+    $P973 = self."!PREFIX__!subrule"("sigil", "")
+    new $P974, "ResizablePMCArray"
+    push $P974, $P973
+    .return ($P974)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "semilist"  :subid("236_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 4
-    .local string rx964_tgt
-    .local int rx964_pos
-    .local int rx964_off
-    .local int rx964_eos
-    .local int rx964_rep
-    .local pmc rx964_cur
-    (rx964_cur, rx964_pos, rx964_tgt) = self."!cursor_start"()
-    rx964_cur."!cursor_debug"("START ", "semilist")
-    .lex unicode:"$\x{a2}", rx964_cur
-    .local pmc match
-    .lex "$/", match
-    length rx964_eos, rx964_tgt
-    gt rx964_pos, rx964_eos, rx964_done
-    set rx964_off, 0
-    lt rx964_pos, 2, rx964_start
-    sub rx964_off, rx964_pos, 1
-    substr rx964_tgt, rx964_tgt, rx964_off
-  rx964_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan967_done
-    goto rxscan967_scan
-  rxscan967_loop:
-    ($P10) = rx964_cur."from"()
-    inc $P10
-    set rx964_pos, $P10
-    ge rx964_pos, rx964_eos, rxscan967_done
-  rxscan967_scan:
-    set_addr $I10, rxscan967_loop
-    rx964_cur."!mark_push"(0, rx964_pos, $I10)
-  rxscan967_done:
-.annotate 'line', 441
+.sub "semilist"  :subid("236_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 4
+    .local string rx979_tgt
+    .local int rx979_pos
+    .local int rx979_off
+    .local int rx979_eos
+    .local int rx979_rep
+    .local pmc rx979_cur
+    (rx979_cur, rx979_pos, rx979_tgt) = self."!cursor_start"()
+    rx979_cur."!cursor_debug"("START ", "semilist")
+    .lex unicode:"$\x{a2}", rx979_cur
+    .local pmc match
+    .lex "$/", match
+    length rx979_eos, rx979_tgt
+    gt rx979_pos, rx979_eos, rx979_done
+    set rx979_off, 0
+    lt rx979_pos, 2, rx979_start
+    sub rx979_off, rx979_pos, 1
+    substr rx979_tgt, rx979_tgt, rx979_off
+  rx979_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan983_done
+    goto rxscan983_scan
+  rxscan983_loop:
+    ($P10) = rx979_cur."from"()
+    inc $P10
+    set rx979_pos, $P10
+    ge rx979_pos, rx979_eos, rxscan983_done
+  rxscan983_scan:
+    set_addr $I10, rxscan983_loop
+    rx979_cur."!mark_push"(0, rx979_pos, $I10)
+  rxscan983_done:
+.annotate 'line', 442
   # rx subrule "ws" subtype=method negate=
-    rx964_cur."!cursor_pos"(rx964_pos)
-    $P10 = rx964_cur."ws"()
-    unless $P10, rx964_fail
-    rx964_pos = $P10."pos"()
+    rx979_cur."!cursor_pos"(rx979_pos)
+    $P10 = rx979_cur."ws"()
+    unless $P10, rx979_fail
+    rx979_pos = $P10."pos"()
   # rx subrule "statement" subtype=capture negate=
-    rx964_cur."!cursor_pos"(rx964_pos)
-    $P10 = rx964_cur."statement"()
-    unless $P10, rx964_fail
-    rx964_cur."!mark_push"(0, -1, 0, $P10)
+    rx979_cur."!cursor_pos"(rx979_pos)
+    $P10 = rx979_cur."statement"()
+    unless $P10, rx979_fail
+    rx979_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement")
-    rx964_pos = $P10."pos"()
+    rx979_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx964_cur."!cursor_pos"(rx964_pos)
-    $P10 = rx964_cur."ws"()
-    unless $P10, rx964_fail
-    rx964_pos = $P10."pos"()
+    rx979_cur."!cursor_pos"(rx979_pos)
+    $P10 = rx979_cur."ws"()
+    unless $P10, rx979_fail
+    rx979_pos = $P10."pos"()
   # rx pass
-    rx964_cur."!cursor_pass"(rx964_pos, "semilist")
-    rx964_cur."!cursor_debug"("PASS  ", "semilist", " at pos=", rx964_pos)
-    .return (rx964_cur)
-  rx964_fail:
+    rx979_cur."!cursor_pass"(rx979_pos, "semilist")
+    rx979_cur."!cursor_debug"("PASS  ", "semilist", " at pos=", rx979_pos)
+    .return (rx979_cur)
+  rx979_fail:
 .annotate 'line', 4
-    (rx964_rep, rx964_pos, $I10, $P10) = rx964_cur."!mark_fail"(0)
-    lt rx964_pos, -1, rx964_done
-    eq rx964_pos, -1, rx964_fail
+    (rx979_rep, rx979_pos, $I10, $P10) = rx979_cur."!mark_fail"(0)
+    lt rx979_pos, -1, rx979_done
+    eq rx979_pos, -1, rx979_fail
     jump $I10
-  rx964_done:
-    rx964_cur."!cursor_fail"()
-    rx964_cur."!cursor_debug"("FAIL  ", "semilist")
-    .return (rx964_cur)
+  rx979_done:
+    rx979_cur."!cursor_fail"()
+    rx979_cur."!cursor_debug"("FAIL  ", "semilist")
+    .return (rx979_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__semilist"  :subid("237_1275600007.84296") :method
+.sub "!PREFIX__semilist"  :subid("237_1275811487.95429") :method
 .annotate 'line', 4
-    new $P966, "ResizablePMCArray"
-    push $P966, ""
-    .return ($P966)
+    $P981 = self."!PREFIX__!subrule"("ws", "")
+    new $P982, "ResizablePMCArray"
+    push $P982, $P981
+    .return ($P982)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixish"  :subid("238_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx971_tgt
-    .local int rx971_pos
-    .local int rx971_off
-    .local int rx971_eos
-    .local int rx971_rep
-    .local pmc rx971_cur
-    (rx971_cur, rx971_pos, rx971_tgt) = self."!cursor_start"()
-    rx971_cur."!cursor_debug"("START ", "infixish")
-    .lex unicode:"$\x{a2}", rx971_cur
+.sub "infixish"  :subid("238_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx987_tgt
+    .local int rx987_pos
+    .local int rx987_off
+    .local int rx987_eos
+    .local int rx987_rep
+    .local pmc rx987_cur
+    (rx987_cur, rx987_pos, rx987_tgt) = self."!cursor_start"()
+    rx987_cur."!cursor_debug"("START ", "infixish")
+    .lex unicode:"$\x{a2}", rx987_cur
     .local pmc match
     .lex "$/", match
-    length rx971_eos, rx971_tgt
-    gt rx971_pos, rx971_eos, rx971_done
-    set rx971_off, 0
-    lt rx971_pos, 2, rx971_start
-    sub rx971_off, rx971_pos, 1
-    substr rx971_tgt, rx971_tgt, rx971_off
-  rx971_start:
+    length rx987_eos, rx987_tgt
+    gt rx987_pos, rx987_eos, rx987_done
+    set rx987_off, 0
+    lt rx987_pos, 2, rx987_start
+    sub rx987_off, rx987_pos, 1
+    substr rx987_tgt, rx987_tgt, rx987_off
+  rx987_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan974_done
-    goto rxscan974_scan
-  rxscan974_loop:
-    ($P10) = rx971_cur."from"()
+    ne $I10, -1, rxscan990_done
+    goto rxscan990_scan
+  rxscan990_loop:
+    ($P10) = rx987_cur."from"()
     inc $P10
-    set rx971_pos, $P10
-    ge rx971_pos, rx971_eos, rxscan974_done
-  rxscan974_scan:
-    set_addr $I10, rxscan974_loop
-    rx971_cur."!mark_push"(0, rx971_pos, $I10)
-  rxscan974_done:
-.annotate 'line', 464
+    set rx987_pos, $P10
+    ge rx987_pos, rx987_eos, rxscan990_done
+  rxscan990_scan:
+    set_addr $I10, rxscan990_loop
+    rx987_cur."!mark_push"(0, rx987_pos, $I10)
+  rxscan990_done:
+.annotate 'line', 465
   # rx subrule "infixstopper" subtype=zerowidth negate=1
-    rx971_cur."!cursor_pos"(rx971_pos)
-    $P10 = rx971_cur."infixstopper"()
-    if $P10, rx971_fail
+    rx987_cur."!cursor_pos"(rx987_pos)
+    $P10 = rx987_cur."infixstopper"()
+    if $P10, rx987_fail
   # rx subrule "infix" subtype=capture negate=
-    rx971_cur."!cursor_pos"(rx971_pos)
-    $P10 = rx971_cur."infix"()
-    unless $P10, rx971_fail
-    rx971_cur."!mark_push"(0, -1, 0, $P10)
+    rx987_cur."!cursor_pos"(rx987_pos)
+    $P10 = rx987_cur."infix"()
+    unless $P10, rx987_fail
+    rx987_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("OPER=infix")
-    rx971_pos = $P10."pos"()
+    rx987_pos = $P10."pos"()
   # rx pass
-    rx971_cur."!cursor_pass"(rx971_pos, "infixish")
-    rx971_cur."!cursor_debug"("PASS  ", "infixish", " at pos=", rx971_pos)
-    .return (rx971_cur)
-  rx971_fail:
-.annotate 'line', 445
-    (rx971_rep, rx971_pos, $I10, $P10) = rx971_cur."!mark_fail"(0)
-    lt rx971_pos, -1, rx971_done
-    eq rx971_pos, -1, rx971_fail
+    rx987_cur."!cursor_pass"(rx987_pos, "infixish")
+    rx987_cur."!cursor_debug"("PASS  ", "infixish", " at pos=", rx987_pos)
+    .return (rx987_cur)
+  rx987_fail:
+.annotate 'line', 446
+    (rx987_rep, rx987_pos, $I10, $P10) = rx987_cur."!mark_fail"(0)
+    lt rx987_pos, -1, rx987_done
+    eq rx987_pos, -1, rx987_fail
     jump $I10
-  rx971_done:
-    rx971_cur."!cursor_fail"()
-    rx971_cur."!cursor_debug"("FAIL  ", "infixish")
-    .return (rx971_cur)
+  rx987_done:
+    rx987_cur."!cursor_fail"()
+    rx987_cur."!cursor_debug"("FAIL  ", "infixish")
+    .return (rx987_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("239_1275600007.84296") :method
-.annotate 'line', 445
-    new $P973, "ResizablePMCArray"
-    push $P973, ""
-    .return ($P973)
+.sub "!PREFIX__infixish"  :subid("239_1275811487.95429") :method
+.annotate 'line', 446
+    new $P989, "ResizablePMCArray"
+    push $P989, ""
+    .return ($P989)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixstopper"  :subid("240_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx976_tgt
-    .local int rx976_pos
-    .local int rx976_off
-    .local int rx976_eos
-    .local int rx976_rep
-    .local pmc rx976_cur
-    (rx976_cur, rx976_pos, rx976_tgt) = self."!cursor_start"()
-    rx976_cur."!cursor_debug"("START ", "infixstopper")
-    .lex unicode:"$\x{a2}", rx976_cur
-    .local pmc match
-    .lex "$/", match
-    length rx976_eos, rx976_tgt
-    gt rx976_pos, rx976_eos, rx976_done
-    set rx976_off, 0
-    lt rx976_pos, 2, rx976_start
-    sub rx976_off, rx976_pos, 1
-    substr rx976_tgt, rx976_tgt, rx976_off
-  rx976_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan979_done
-    goto rxscan979_scan
-  rxscan979_loop:
-    ($P10) = rx976_cur."from"()
-    inc $P10
-    set rx976_pos, $P10
-    ge rx976_pos, rx976_eos, rxscan979_done
-  rxscan979_scan:
-    set_addr $I10, rxscan979_loop
-    rx976_cur."!mark_push"(0, rx976_pos, $I10)
-  rxscan979_done:
-.annotate 'line', 465
+.sub "infixstopper"  :subid("240_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx992_tgt
+    .local int rx992_pos
+    .local int rx992_off
+    .local int rx992_eos
+    .local int rx992_rep
+    .local pmc rx992_cur
+    (rx992_cur, rx992_pos, rx992_tgt) = self."!cursor_start"()
+    rx992_cur."!cursor_debug"("START ", "infixstopper")
+    .lex unicode:"$\x{a2}", rx992_cur
+    .local pmc match
+    .lex "$/", match
+    length rx992_eos, rx992_tgt
+    gt rx992_pos, rx992_eos, rx992_done
+    set rx992_off, 0
+    lt rx992_pos, 2, rx992_start
+    sub rx992_off, rx992_pos, 1
+    substr rx992_tgt, rx992_tgt, rx992_off
+  rx992_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan995_done
+    goto rxscan995_scan
+  rxscan995_loop:
+    ($P10) = rx992_cur."from"()
+    inc $P10
+    set rx992_pos, $P10
+    ge rx992_pos, rx992_eos, rxscan995_done
+  rxscan995_scan:
+    set_addr $I10, rxscan995_loop
+    rx992_cur."!mark_push"(0, rx992_pos, $I10)
+  rxscan995_done:
+.annotate 'line', 466
   # rx subrule "lambda" subtype=zerowidth negate=
-    rx976_cur."!cursor_pos"(rx976_pos)
-    $P10 = rx976_cur."lambda"()
-    unless $P10, rx976_fail
-  # rx pass
-    rx976_cur."!cursor_pass"(rx976_pos, "infixstopper")
-    rx976_cur."!cursor_debug"("PASS  ", "infixstopper", " at pos=", rx976_pos)
-    .return (rx976_cur)
-  rx976_fail:
-.annotate 'line', 445
-    (rx976_rep, rx976_pos, $I10, $P10) = rx976_cur."!mark_fail"(0)
-    lt rx976_pos, -1, rx976_done
-    eq rx976_pos, -1, rx976_fail
+    rx992_cur."!cursor_pos"(rx992_pos)
+    $P10 = rx992_cur."lambda"()
+    unless $P10, rx992_fail
+  # rx pass
+    rx992_cur."!cursor_pass"(rx992_pos, "infixstopper")
+    rx992_cur."!cursor_debug"("PASS  ", "infixstopper", " at pos=", rx992_pos)
+    .return (rx992_cur)
+  rx992_fail:
+.annotate 'line', 446
+    (rx992_rep, rx992_pos, $I10, $P10) = rx992_cur."!mark_fail"(0)
+    lt rx992_pos, -1, rx992_done
+    eq rx992_pos, -1, rx992_fail
     jump $I10
-  rx976_done:
-    rx976_cur."!cursor_fail"()
-    rx976_cur."!cursor_debug"("FAIL  ", "infixstopper")
-    .return (rx976_cur)
+  rx992_done:
+    rx992_cur."!cursor_fail"()
+    rx992_cur."!cursor_debug"("FAIL  ", "infixstopper")
+    .return (rx992_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixstopper"  :subid("241_1275600007.84296") :method
-.annotate 'line', 445
-    new $P978, "ResizablePMCArray"
-    push $P978, ""
-    .return ($P978)
+.sub "!PREFIX__infixstopper"  :subid("241_1275811487.95429") :method
+.annotate 'line', 446
+    new $P994, "ResizablePMCArray"
+    push $P994, ""
+    .return ($P994)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<[ ]>"  :subid("242_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .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 ", "postcircumfix:sym<[ ]>")
-    .lex unicode:"$\x{a2}", rx981_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:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan985_done
-    goto rxscan985_scan
-  rxscan985_loop:
-    ($P10) = rx981_cur."from"()
-    inc $P10
-    set rx981_pos, $P10
-    ge rx981_pos, rx981_eos, rxscan985_done
-  rxscan985_scan:
-    set_addr $I10, rxscan985_loop
-    rx981_cur."!mark_push"(0, rx981_pos, $I10)
-  rxscan985_done:
-.annotate 'line', 468
+.sub "postcircumfix:sym<[ ]>"  :subid("242_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx997_tgt
+    .local int rx997_pos
+    .local int rx997_off
+    .local int rx997_eos
+    .local int rx997_rep
+    .local pmc rx997_cur
+    (rx997_cur, rx997_pos, rx997_tgt) = self."!cursor_start"()
+    rx997_cur."!cursor_debug"("START ", "postcircumfix:sym<[ ]>")
+    .lex unicode:"$\x{a2}", rx997_cur
+    .local pmc match
+    .lex "$/", match
+    length rx997_eos, rx997_tgt
+    gt rx997_pos, rx997_eos, rx997_done
+    set rx997_off, 0
+    lt rx997_pos, 2, rx997_start
+    sub rx997_off, rx997_pos, 1
+    substr rx997_tgt, rx997_tgt, rx997_off
+  rx997_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1001_done
+    goto rxscan1001_scan
+  rxscan1001_loop:
+    ($P10) = rx997_cur."from"()
+    inc $P10
+    set rx997_pos, $P10
+    ge rx997_pos, rx997_eos, rxscan1001_done
+  rxscan1001_scan:
+    set_addr $I10, rxscan1001_loop
+    rx997_cur."!mark_push"(0, rx997_pos, $I10)
+  rxscan1001_done:
+.annotate 'line', 469
   # rx literal  "["
-    add $I11, rx981_pos, 1
-    gt $I11, rx981_eos, rx981_fail
-    sub $I11, rx981_pos, rx981_off
-    substr $S10, rx981_tgt, $I11, 1
-    ne $S10, "[", rx981_fail
-    add rx981_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx981_cur."!cursor_pos"(rx981_pos)
-    $P10 = rx981_cur."ws"()
-    unless $P10, rx981_fail
-    rx981_pos = $P10."pos"()
+    add $I11, rx997_pos, 1
+    gt $I11, rx997_eos, rx997_fail
+    sub $I11, rx997_pos, rx997_off
+    substr $S10, rx997_tgt, $I11, 1
+    ne $S10, "[", rx997_fail
+    add rx997_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx997_cur."!cursor_pos"(rx997_pos)
+    $P10 = rx997_cur."ws"()
+    unless $P10, rx997_fail
+    rx997_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx981_cur."!cursor_pos"(rx981_pos)
-    $P10 = rx981_cur."EXPR"()
-    unless $P10, rx981_fail
-    rx981_cur."!mark_push"(0, -1, 0, $P10)
+    rx997_cur."!cursor_pos"(rx997_pos)
+    $P10 = rx997_cur."EXPR"()
+    unless $P10, rx997_fail
+    rx997_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx981_pos = $P10."pos"()
+    rx997_pos = $P10."pos"()
   # rx literal  "]"
-    add $I11, rx981_pos, 1
-    gt $I11, rx981_eos, rx981_fail
-    sub $I11, rx981_pos, rx981_off
-    substr $S10, rx981_tgt, $I11, 1
-    ne $S10, "]", rx981_fail
-    add rx981_pos, 1
-.annotate 'line', 469
+    add $I11, rx997_pos, 1
+    gt $I11, rx997_eos, rx997_fail
+    sub $I11, rx997_pos, rx997_off
+    substr $S10, rx997_tgt, $I11, 1
+    ne $S10, "]", rx997_fail
+    add rx997_pos, 1
+.annotate 'line', 470
   # rx subrule "O" subtype=capture negate=
-    rx981_cur."!cursor_pos"(rx981_pos)
-    $P10 = rx981_cur."O"("%methodop")
-    unless $P10, rx981_fail
-    rx981_cur."!mark_push"(0, -1, 0, $P10)
+    rx997_cur."!cursor_pos"(rx997_pos)
+    $P10 = rx997_cur."O"("%methodop")
+    unless $P10, rx997_fail
+    rx997_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx981_pos = $P10."pos"()
-.annotate 'line', 467
+    rx997_pos = $P10."pos"()
+.annotate 'line', 468
   # rx pass
-    rx981_cur."!cursor_pass"(rx981_pos, "postcircumfix:sym<[ ]>")
-    rx981_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<[ ]>", " at pos=", rx981_pos)
-    .return (rx981_cur)
-  rx981_fail:
-.annotate 'line', 445
-    (rx981_rep, rx981_pos, $I10, $P10) = rx981_cur."!mark_fail"(0)
-    lt rx981_pos, -1, rx981_done
-    eq rx981_pos, -1, rx981_fail
+    rx997_cur."!cursor_pass"(rx997_pos, "postcircumfix:sym<[ ]>")
+    rx997_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<[ ]>", " at pos=", rx997_pos)
+    .return (rx997_cur)
+  rx997_fail:
+.annotate 'line', 446
+    (rx997_rep, rx997_pos, $I10, $P10) = rx997_cur."!mark_fail"(0)
+    lt rx997_pos, -1, rx997_done
+    eq rx997_pos, -1, rx997_fail
     jump $I10
-  rx981_done:
-    rx981_cur."!cursor_fail"()
-    rx981_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<[ ]>")
-    .return (rx981_cur)
+  rx997_done:
+    rx997_cur."!cursor_fail"()
+    rx997_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<[ ]>")
+    .return (rx997_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("243_1275600007.84296") :method
-.annotate 'line', 445
-    $P983 = self."!PREFIX__!subrule"("", "[")
-    new $P984, "ResizablePMCArray"
-    push $P984, $P983
-    .return ($P984)
+.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("243_1275811487.95429") :method
+.annotate 'line', 446
+    $P999 = self."!PREFIX__!subrule"("ws", "[")
+    new $P1000, "ResizablePMCArray"
+    push $P1000, $P999
+    .return ($P1000)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<{ }>"  :subid("244_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx987_tgt
-    .local int rx987_pos
-    .local int rx987_off
-    .local int rx987_eos
-    .local int rx987_rep
-    .local pmc rx987_cur
-    (rx987_cur, rx987_pos, rx987_tgt) = self."!cursor_start"()
-    rx987_cur."!cursor_debug"("START ", "postcircumfix:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx987_cur
-    .local pmc match
-    .lex "$/", match
-    length rx987_eos, rx987_tgt
-    gt rx987_pos, rx987_eos, rx987_done
-    set rx987_off, 0
-    lt rx987_pos, 2, rx987_start
-    sub rx987_off, rx987_pos, 1
-    substr rx987_tgt, rx987_tgt, rx987_off
-  rx987_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan991_done
-    goto rxscan991_scan
-  rxscan991_loop:
-    ($P10) = rx987_cur."from"()
-    inc $P10
-    set rx987_pos, $P10
-    ge rx987_pos, rx987_eos, rxscan991_done
-  rxscan991_scan:
-    set_addr $I10, rxscan991_loop
-    rx987_cur."!mark_push"(0, rx987_pos, $I10)
-  rxscan991_done:
-.annotate 'line', 473
+.sub "postcircumfix:sym<{ }>"  :subid("244_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .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 ", "postcircumfix:sym<{ }>")
+    .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, rxscan1007_done
+    goto rxscan1007_scan
+  rxscan1007_loop:
+    ($P10) = rx1003_cur."from"()
+    inc $P10
+    set rx1003_pos, $P10
+    ge rx1003_pos, rx1003_eos, rxscan1007_done
+  rxscan1007_scan:
+    set_addr $I10, rxscan1007_loop
+    rx1003_cur."!mark_push"(0, rx1003_pos, $I10)
+  rxscan1007_done:
+.annotate 'line', 474
   # rx literal  "{"
-    add $I11, rx987_pos, 1
-    gt $I11, rx987_eos, rx987_fail
-    sub $I11, rx987_pos, rx987_off
-    substr $S10, rx987_tgt, $I11, 1
-    ne $S10, "{", rx987_fail
-    add rx987_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx987_cur."!cursor_pos"(rx987_pos)
-    $P10 = rx987_cur."ws"()
-    unless $P10, rx987_fail
-    rx987_pos = $P10."pos"()
+    add $I11, rx1003_pos, 1
+    gt $I11, rx1003_eos, rx1003_fail
+    sub $I11, rx1003_pos, rx1003_off
+    substr $S10, rx1003_tgt, $I11, 1
+    ne $S10, "{", rx1003_fail
+    add rx1003_pos, 1
+  # rx subrule "ws" subtype=method negate=
+    rx1003_cur."!cursor_pos"(rx1003_pos)
+    $P10 = rx1003_cur."ws"()
+    unless $P10, rx1003_fail
+    rx1003_pos = $P10."pos"()
   # rx subrule "EXPR" subtype=capture negate=
-    rx987_cur."!cursor_pos"(rx987_pos)
-    $P10 = rx987_cur."EXPR"()
-    unless $P10, rx987_fail
-    rx987_cur."!mark_push"(0, -1, 0, $P10)
+    rx1003_cur."!cursor_pos"(rx1003_pos)
+    $P10 = rx1003_cur."EXPR"()
+    unless $P10, rx1003_fail
+    rx1003_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx987_pos = $P10."pos"()
+    rx1003_pos = $P10."pos"()
   # rx literal  "}"
-    add $I11, rx987_pos, 1
-    gt $I11, rx987_eos, rx987_fail
-    sub $I11, rx987_pos, rx987_off
-    substr $S10, rx987_tgt, $I11, 1
-    ne $S10, "}", rx987_fail
-    add rx987_pos, 1
-.annotate 'line', 474
+    add $I11, rx1003_pos, 1
+    gt $I11, rx1003_eos, rx1003_fail
+    sub $I11, rx1003_pos, rx1003_off
+    substr $S10, rx1003_tgt, $I11, 1
+    ne $S10, "}", rx1003_fail
+    add rx1003_pos, 1
+.annotate 'line', 475
   # rx subrule "O" subtype=capture negate=
-    rx987_cur."!cursor_pos"(rx987_pos)
-    $P10 = rx987_cur."O"("%methodop")
-    unless $P10, rx987_fail
-    rx987_cur."!mark_push"(0, -1, 0, $P10)
+    rx1003_cur."!cursor_pos"(rx1003_pos)
+    $P10 = rx1003_cur."O"("%methodop")
+    unless $P10, rx1003_fail
+    rx1003_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx987_pos = $P10."pos"()
-.annotate 'line', 472
+    rx1003_pos = $P10."pos"()
+.annotate 'line', 473
   # rx pass
-    rx987_cur."!cursor_pass"(rx987_pos, "postcircumfix:sym<{ }>")
-    rx987_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<{ }>", " at pos=", rx987_pos)
-    .return (rx987_cur)
-  rx987_fail:
-.annotate 'line', 445
-    (rx987_rep, rx987_pos, $I10, $P10) = rx987_cur."!mark_fail"(0)
-    lt rx987_pos, -1, rx987_done
-    eq rx987_pos, -1, rx987_fail
+    rx1003_cur."!cursor_pass"(rx1003_pos, "postcircumfix:sym<{ }>")
+    rx1003_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<{ }>", " at pos=", rx1003_pos)
+    .return (rx1003_cur)
+  rx1003_fail:
+.annotate 'line', 446
+    (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
-  rx987_done:
-    rx987_cur."!cursor_fail"()
-    rx987_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<{ }>")
-    .return (rx987_cur)
+  rx1003_done:
+    rx1003_cur."!cursor_fail"()
+    rx1003_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<{ }>")
+    .return (rx1003_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("245_1275600007.84296") :method
-.annotate 'line', 445
-    $P989 = self."!PREFIX__!subrule"("", "{")
-    new $P990, "ResizablePMCArray"
-    push $P990, $P989
-    .return ($P990)
+.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("245_1275811487.95429") :method
+.annotate 'line', 446
+    $P1005 = self."!PREFIX__!subrule"("ws", "{")
+    new $P1006, "ResizablePMCArray"
+    push $P1006, $P1005
+    .return ($P1006)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<ang>"  :subid("246_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx993_tgt
-    .local int rx993_pos
-    .local int rx993_off
-    .local int rx993_eos
-    .local int rx993_rep
-    .local pmc rx993_cur
-    (rx993_cur, rx993_pos, rx993_tgt) = self."!cursor_start"()
-    rx993_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
-    .lex unicode:"$\x{a2}", rx993_cur
-    .local pmc match
-    .lex "$/", match
-    length rx993_eos, rx993_tgt
-    gt rx993_pos, rx993_eos, rx993_done
-    set rx993_off, 0
-    lt rx993_pos, 2, rx993_start
-    sub rx993_off, rx993_pos, 1
-    substr rx993_tgt, rx993_tgt, rx993_off
-  rx993_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan996_done
-    goto rxscan996_scan
-  rxscan996_loop:
-    ($P10) = rx993_cur."from"()
-    inc $P10
-    set rx993_pos, $P10
-    ge rx993_pos, rx993_eos, rxscan996_done
-  rxscan996_scan:
-    set_addr $I10, rxscan996_loop
-    rx993_cur."!mark_push"(0, rx993_pos, $I10)
-  rxscan996_done:
-.annotate 'line', 478
+.sub "postcircumfix:sym<ang>"  :subid("246_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1009_tgt
+    .local int rx1009_pos
+    .local int rx1009_off
+    .local int rx1009_eos
+    .local int rx1009_rep
+    .local pmc rx1009_cur
+    (rx1009_cur, rx1009_pos, rx1009_tgt) = self."!cursor_start"()
+    rx1009_cur."!cursor_debug"("START ", "postcircumfix:sym<ang>")
+    .lex unicode:"$\x{a2}", rx1009_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1009_eos, rx1009_tgt
+    gt rx1009_pos, rx1009_eos, rx1009_done
+    set rx1009_off, 0
+    lt rx1009_pos, 2, rx1009_start
+    sub rx1009_off, rx1009_pos, 1
+    substr rx1009_tgt, rx1009_tgt, rx1009_off
+  rx1009_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1012_done
+    goto rxscan1012_scan
+  rxscan1012_loop:
+    ($P10) = rx1009_cur."from"()
+    inc $P10
+    set rx1009_pos, $P10
+    ge rx1009_pos, rx1009_eos, rxscan1012_done
+  rxscan1012_scan:
+    set_addr $I10, rxscan1012_loop
+    rx1009_cur."!mark_push"(0, rx1009_pos, $I10)
+  rxscan1012_done:
+.annotate 'line', 479
   # rx enumcharlist negate=0 zerowidth
-    ge rx993_pos, rx993_eos, rx993_fail
-    sub $I10, rx993_pos, rx993_off
-    substr $S10, rx993_tgt, $I10, 1
+    ge rx1009_pos, rx1009_eos, rx1009_fail
+    sub $I10, rx1009_pos, rx1009_off
+    substr $S10, rx1009_tgt, $I10, 1
     index $I11, "<", $S10
-    lt $I11, 0, rx993_fail
+    lt $I11, 0, rx1009_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx993_cur."!cursor_pos"(rx993_pos)
-    $P10 = rx993_cur."quote_EXPR"(":q")
-    unless $P10, rx993_fail
-    rx993_cur."!mark_push"(0, -1, 0, $P10)
+    rx1009_cur."!cursor_pos"(rx1009_pos)
+    $P10 = rx1009_cur."quote_EXPR"(":q")
+    unless $P10, rx1009_fail
+    rx1009_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx993_pos = $P10."pos"()
-.annotate 'line', 479
+    rx1009_pos = $P10."pos"()
+.annotate 'line', 480
   # rx subrule "O" subtype=capture negate=
-    rx993_cur."!cursor_pos"(rx993_pos)
-    $P10 = rx993_cur."O"("%methodop")
-    unless $P10, rx993_fail
-    rx993_cur."!mark_push"(0, -1, 0, $P10)
+    rx1009_cur."!cursor_pos"(rx1009_pos)
+    $P10 = rx1009_cur."O"("%methodop")
+    unless $P10, rx1009_fail
+    rx1009_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx993_pos = $P10."pos"()
-.annotate 'line', 477
+    rx1009_pos = $P10."pos"()
+.annotate 'line', 478
   # rx pass
-    rx993_cur."!cursor_pass"(rx993_pos, "postcircumfix:sym<ang>")
-    rx993_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<ang>", " at pos=", rx993_pos)
-    .return (rx993_cur)
-  rx993_fail:
-.annotate 'line', 445
-    (rx993_rep, rx993_pos, $I10, $P10) = rx993_cur."!mark_fail"(0)
-    lt rx993_pos, -1, rx993_done
-    eq rx993_pos, -1, rx993_fail
+    rx1009_cur."!cursor_pass"(rx1009_pos, "postcircumfix:sym<ang>")
+    rx1009_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<ang>", " at pos=", rx1009_pos)
+    .return (rx1009_cur)
+  rx1009_fail:
+.annotate 'line', 446
+    (rx1009_rep, rx1009_pos, $I10, $P10) = rx1009_cur."!mark_fail"(0)
+    lt rx1009_pos, -1, rx1009_done
+    eq rx1009_pos, -1, rx1009_fail
     jump $I10
-  rx993_done:
-    rx993_cur."!cursor_fail"()
-    rx993_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<ang>")
-    .return (rx993_cur)
+  rx1009_done:
+    rx1009_cur."!cursor_fail"()
+    rx1009_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<ang>")
+    .return (rx1009_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("247_1275600007.84296") :method
-.annotate 'line', 445
-    new $P995, "ResizablePMCArray"
-    push $P995, "<"
-    .return ($P995)
+.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("247_1275811487.95429") :method
+.annotate 'line', 446
+    new $P1011, "ResizablePMCArray"
+    push $P1011, "<"
+    .return ($P1011)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<( )>"  :subid("248_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .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 ", "postcircumfix:sym<( )>")
-    .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, rxscan1002_done
-    goto rxscan1002_scan
-  rxscan1002_loop:
-    ($P10) = rx998_cur."from"()
-    inc $P10
-    set rx998_pos, $P10
-    ge rx998_pos, rx998_eos, rxscan1002_done
-  rxscan1002_scan:
-    set_addr $I10, rxscan1002_loop
-    rx998_cur."!mark_push"(0, rx998_pos, $I10)
-  rxscan1002_done:
-.annotate 'line', 483
+.sub "postcircumfix:sym<( )>"  :subid("248_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .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', 484
   # rx literal  "("
-    add $I11, rx998_pos, 1
-    gt $I11, rx998_eos, rx998_fail
-    sub $I11, rx998_pos, rx998_off
-    substr $S10, rx998_tgt, $I11, 1
-    ne $S10, "(", rx998_fail
-    add rx998_pos, 1
-  # rx subrule "ws" subtype=method negate=
-    rx998_cur."!cursor_pos"(rx998_pos)
-    $P10 = rx998_cur."ws"()
-    unless $P10, rx998_fail
-    rx998_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 "arglist" subtype=capture negate=
-    rx998_cur."!cursor_pos"(rx998_pos)
-    $P10 = rx998_cur."arglist"()
-    unless $P10, rx998_fail
-    rx998_cur."!mark_push"(0, -1, 0, $P10)
+    rx1014_cur."!cursor_pos"(rx1014_pos)
+    $P10 = rx1014_cur."arglist"()
+    unless $P10, rx1014_fail
+    rx1014_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx998_pos = $P10."pos"()
+    rx1014_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx998_pos, 1
-    gt $I11, rx998_eos, rx998_fail
-    sub $I11, rx998_pos, rx998_off
-    substr $S10, rx998_tgt, $I11, 1
-    ne $S10, ")", rx998_fail
-    add rx998_pos, 1
-.annotate 'line', 484
+    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', 485
   # rx subrule "O" subtype=capture negate=
-    rx998_cur."!cursor_pos"(rx998_pos)
-    $P10 = rx998_cur."O"("%methodop")
-    unless $P10, rx998_fail
-    rx998_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")
-    rx998_pos = $P10."pos"()
-.annotate 'line', 482
+    rx1014_pos = $P10."pos"()
+.annotate 'line', 483
   # rx pass
-    rx998_cur."!cursor_pass"(rx998_pos, "postcircumfix:sym<( )>")
-    rx998_cur."!cursor_debug"("PASS  ", "postcircumfix:sym<( )>", " at pos=", rx998_pos)
-    .return (rx998_cur)
-  rx998_fail:
-.annotate 'line', 445
-    (rx998_rep, rx998_pos, $I10, $P10) = rx998_cur."!mark_fail"(0)
-    lt rx998_pos, -1, rx998_done
-    eq rx998_pos, -1, rx998_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', 446
+    (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
-  rx998_done:
-    rx998_cur."!cursor_fail"()
-    rx998_cur."!cursor_debug"("FAIL  ", "postcircumfix:sym<( )>")
-    .return (rx998_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("249_1275600007.84296") :method
-.annotate 'line', 445
-    $P1000 = self."!PREFIX__!subrule"("", "(")
-    new $P1001, "ResizablePMCArray"
-    push $P1001, $P1000
-    .return ($P1001)
+.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("249_1275811487.95429") :method
+.annotate 'line', 446
+    $P1016 = self."!PREFIX__!subrule"("ws", "(")
+    new $P1017, "ResizablePMCArray"
+    push $P1017, $P1016
+    .return ($P1017)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<.>"  :subid("250_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1004_tgt
-    .local int rx1004_pos
-    .local int rx1004_off
-    .local int rx1004_eos
-    .local int rx1004_rep
-    .local pmc rx1004_cur
-    (rx1004_cur, rx1004_pos, rx1004_tgt) = self."!cursor_start"()
-    rx1004_cur."!cursor_debug"("START ", "postfix:sym<.>")
-    .lex unicode:"$\x{a2}", rx1004_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1004_eos, rx1004_tgt
-    gt rx1004_pos, rx1004_eos, rx1004_done
-    set rx1004_off, 0
-    lt rx1004_pos, 2, rx1004_start
-    sub rx1004_off, rx1004_pos, 1
-    substr rx1004_tgt, rx1004_tgt, rx1004_off
-  rx1004_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1008_done
-    goto rxscan1008_scan
-  rxscan1008_loop:
-    ($P10) = rx1004_cur."from"()
-    inc $P10
-    set rx1004_pos, $P10
-    ge rx1004_pos, rx1004_eos, rxscan1008_done
-  rxscan1008_scan:
-    set_addr $I10, rxscan1008_loop
-    rx1004_cur."!mark_push"(0, rx1004_pos, $I10)
-  rxscan1008_done:
-.annotate 'line', 487
+.sub "postfix:sym<.>"  :subid("250_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .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 ", "postfix:sym<.>")
+    .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, rxscan1024_done
+    goto rxscan1024_scan
+  rxscan1024_loop:
+    ($P10) = rx1020_cur."from"()
+    inc $P10
+    set rx1020_pos, $P10
+    ge rx1020_pos, rx1020_eos, rxscan1024_done
+  rxscan1024_scan:
+    set_addr $I10, rxscan1024_loop
+    rx1020_cur."!mark_push"(0, rx1020_pos, $I10)
+  rxscan1024_done:
+.annotate 'line', 488
   # rx subrule "dotty" subtype=capture negate=
-    rx1004_cur."!cursor_pos"(rx1004_pos)
-    $P10 = rx1004_cur."dotty"()
-    unless $P10, rx1004_fail
-    rx1004_cur."!mark_push"(0, -1, 0, $P10)
+    rx1020_cur."!cursor_pos"(rx1020_pos)
+    $P10 = rx1020_cur."dotty"()
+    unless $P10, rx1020_fail
+    rx1020_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("dotty")
-    rx1004_pos = $P10."pos"()
+    rx1020_pos = $P10."pos"()
   # rx subrule "O" subtype=capture negate=
-    rx1004_cur."!cursor_pos"(rx1004_pos)
-    $P10 = rx1004_cur."O"("%methodop")
-    unless $P10, rx1004_fail
-    rx1004_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")
-    rx1004_pos = $P10."pos"()
+    rx1020_pos = $P10."pos"()
   # rx pass
-    rx1004_cur."!cursor_pass"(rx1004_pos, "postfix:sym<.>")
-    rx1004_cur."!cursor_debug"("PASS  ", "postfix:sym<.>", " at pos=", rx1004_pos)
-    .return (rx1004_cur)
-  rx1004_fail:
-.annotate 'line', 445
-    (rx1004_rep, rx1004_pos, $I10, $P10) = rx1004_cur."!mark_fail"(0)
-    lt rx1004_pos, -1, rx1004_done
-    eq rx1004_pos, -1, rx1004_fail
+    rx1020_cur."!cursor_pass"(rx1020_pos, "postfix:sym<.>")
+    rx1020_cur."!cursor_debug"("PASS  ", "postfix:sym<.>", " at pos=", rx1020_pos)
+    .return (rx1020_cur)
+  rx1020_fail:
+.annotate 'line', 446
+    (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
-  rx1004_done:
-    rx1004_cur."!cursor_fail"()
-    rx1004_cur."!cursor_debug"("FAIL  ", "postfix:sym<.>")
-    .return (rx1004_cur)
+  rx1020_done:
+    rx1020_cur."!cursor_fail"()
+    rx1020_cur."!cursor_debug"("FAIL  ", "postfix:sym<.>")
+    .return (rx1020_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<.>"  :subid("251_1275600007.84296") :method
-.annotate 'line', 445
-    $P1006 = self."!PREFIX__!subrule"("dotty", "")
-    new $P1007, "ResizablePMCArray"
-    push $P1007, $P1006
-    .return ($P1007)
+.sub "!PREFIX__postfix:sym<.>"  :subid("251_1275811487.95429") :method
+.annotate 'line', 446
+    $P1022 = self."!PREFIX__!subrule"("dotty", "")
+    new $P1023, "ResizablePMCArray"
+    push $P1023, $P1022
+    .return ($P1023)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<++>"  :subid("252_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1010_tgt
-    .local int rx1010_pos
-    .local int rx1010_off
-    .local int rx1010_eos
-    .local int rx1010_rep
-    .local pmc rx1010_cur
-    (rx1010_cur, rx1010_pos, rx1010_tgt) = self."!cursor_start"()
-    rx1010_cur."!cursor_debug"("START ", "prefix:sym<++>")
-    .lex unicode:"$\x{a2}", rx1010_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1010_eos, rx1010_tgt
-    gt rx1010_pos, rx1010_eos, rx1010_done
-    set rx1010_off, 0
-    lt rx1010_pos, 2, rx1010_start
-    sub rx1010_off, rx1010_pos, 1
-    substr rx1010_tgt, rx1010_tgt, rx1010_off
-  rx1010_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1014_done
-    goto rxscan1014_scan
-  rxscan1014_loop:
-    ($P10) = rx1010_cur."from"()
-    inc $P10
-    set rx1010_pos, $P10
-    ge rx1010_pos, rx1010_eos, rxscan1014_done
-  rxscan1014_scan:
-    set_addr $I10, rxscan1014_loop
-    rx1010_cur."!mark_push"(0, rx1010_pos, $I10)
-  rxscan1014_done:
-.annotate 'line', 489
+.sub "prefix:sym<++>"  :subid("252_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1026_tgt
+    .local int rx1026_pos
+    .local int rx1026_off
+    .local int rx1026_eos
+    .local int rx1026_rep
+    .local pmc rx1026_cur
+    (rx1026_cur, rx1026_pos, rx1026_tgt) = self."!cursor_start"()
+    rx1026_cur."!cursor_debug"("START ", "prefix:sym<++>")
+    .lex unicode:"$\x{a2}", rx1026_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1026_eos, rx1026_tgt
+    gt rx1026_pos, rx1026_eos, rx1026_done
+    set rx1026_off, 0
+    lt rx1026_pos, 2, rx1026_start
+    sub rx1026_off, rx1026_pos, 1
+    substr rx1026_tgt, rx1026_tgt, rx1026_off
+  rx1026_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1030_done
+    goto rxscan1030_scan
+  rxscan1030_loop:
+    ($P10) = rx1026_cur."from"()
+    inc $P10
+    set rx1026_pos, $P10
+    ge rx1026_pos, rx1026_eos, rxscan1030_done
+  rxscan1030_scan:
+    set_addr $I10, rxscan1030_loop
+    rx1026_cur."!mark_push"(0, rx1026_pos, $I10)
+  rxscan1030_done:
+.annotate 'line', 490
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1015_fail
-    rx1010_cur."!mark_push"(0, rx1010_pos, $I10)
+    set_addr $I10, rxcap_1031_fail
+    rx1026_cur."!mark_push"(0, rx1026_pos, $I10)
   # rx literal  "++"
-    add $I11, rx1010_pos, 2
-    gt $I11, rx1010_eos, rx1010_fail
-    sub $I11, rx1010_pos, rx1010_off
-    substr $S10, rx1010_tgt, $I11, 2
-    ne $S10, "++", rx1010_fail
-    add rx1010_pos, 2
-    set_addr $I10, rxcap_1015_fail
-    ($I12, $I11) = rx1010_cur."!mark_peek"($I10)
-    rx1010_cur."!cursor_pos"($I11)
-    ($P10) = rx1010_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1010_pos, "")
-    rx1010_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1026_pos, 2
+    gt $I11, rx1026_eos, rx1026_fail
+    sub $I11, rx1026_pos, rx1026_off
+    substr $S10, rx1026_tgt, $I11, 2
+    ne $S10, "++", rx1026_fail
+    add rx1026_pos, 2
+    set_addr $I10, rxcap_1031_fail
+    ($I12, $I11) = rx1026_cur."!mark_peek"($I10)
+    rx1026_cur."!cursor_pos"($I11)
+    ($P10) = rx1026_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1026_pos, "")
+    rx1026_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1015_done
-  rxcap_1015_fail:
-    goto rx1010_fail
-  rxcap_1015_done:
+    goto rxcap_1031_done
+  rxcap_1031_fail:
+    goto rx1026_fail
+  rxcap_1031_done:
   # rx subrule "O" subtype=capture negate=
-    rx1010_cur."!cursor_pos"(rx1010_pos)
-    $P10 = rx1010_cur."O"("%autoincrement, :pirop<inc>")
-    unless $P10, rx1010_fail
-    rx1010_cur."!mark_push"(0, -1, 0, $P10)
+    rx1026_cur."!cursor_pos"(rx1026_pos)
+    $P10 = rx1026_cur."O"("%autoincrement, :pirop<inc>")
+    unless $P10, rx1026_fail
+    rx1026_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1010_pos = $P10."pos"()
+    rx1026_pos = $P10."pos"()
   # rx pass
-    rx1010_cur."!cursor_pass"(rx1010_pos, "prefix:sym<++>")
-    rx1010_cur."!cursor_debug"("PASS  ", "prefix:sym<++>", " at pos=", rx1010_pos)
-    .return (rx1010_cur)
-  rx1010_fail:
-.annotate 'line', 445
-    (rx1010_rep, rx1010_pos, $I10, $P10) = rx1010_cur."!mark_fail"(0)
-    lt rx1010_pos, -1, rx1010_done
-    eq rx1010_pos, -1, rx1010_fail
+    rx1026_cur."!cursor_pass"(rx1026_pos, "prefix:sym<++>")
+    rx1026_cur."!cursor_debug"("PASS  ", "prefix:sym<++>", " at pos=", rx1026_pos)
+    .return (rx1026_cur)
+  rx1026_fail:
+.annotate 'line', 446
+    (rx1026_rep, rx1026_pos, $I10, $P10) = rx1026_cur."!mark_fail"(0)
+    lt rx1026_pos, -1, rx1026_done
+    eq rx1026_pos, -1, rx1026_fail
     jump $I10
-  rx1010_done:
-    rx1010_cur."!cursor_fail"()
-    rx1010_cur."!cursor_debug"("FAIL  ", "prefix:sym<++>")
-    .return (rx1010_cur)
+  rx1026_done:
+    rx1026_cur."!cursor_fail"()
+    rx1026_cur."!cursor_debug"("FAIL  ", "prefix:sym<++>")
+    .return (rx1026_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<++>"  :subid("253_1275600007.84296") :method
-.annotate 'line', 445
-    $P1012 = self."!PREFIX__!subrule"("O", "++")
-    new $P1013, "ResizablePMCArray"
-    push $P1013, $P1012
-    .return ($P1013)
+.sub "!PREFIX__prefix:sym<++>"  :subid("253_1275811487.95429") :method
+.annotate 'line', 446
+    $P1028 = self."!PREFIX__!subrule"("O", "++")
+    new $P1029, "ResizablePMCArray"
+    push $P1029, $P1028
+    .return ($P1029)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<-->"  :subid("254_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1017_tgt
-    .local int rx1017_pos
-    .local int rx1017_off
-    .local int rx1017_eos
-    .local int rx1017_rep
-    .local pmc rx1017_cur
-    (rx1017_cur, rx1017_pos, rx1017_tgt) = self."!cursor_start"()
-    rx1017_cur."!cursor_debug"("START ", "prefix:sym<-->")
-    .lex unicode:"$\x{a2}", rx1017_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1017_eos, rx1017_tgt
-    gt rx1017_pos, rx1017_eos, rx1017_done
-    set rx1017_off, 0
-    lt rx1017_pos, 2, rx1017_start
-    sub rx1017_off, rx1017_pos, 1
-    substr rx1017_tgt, rx1017_tgt, rx1017_off
-  rx1017_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1021_done
-    goto rxscan1021_scan
-  rxscan1021_loop:
-    ($P10) = rx1017_cur."from"()
-    inc $P10
-    set rx1017_pos, $P10
-    ge rx1017_pos, rx1017_eos, rxscan1021_done
-  rxscan1021_scan:
-    set_addr $I10, rxscan1021_loop
-    rx1017_cur."!mark_push"(0, rx1017_pos, $I10)
-  rxscan1021_done:
-.annotate 'line', 490
+.sub "prefix:sym<-->"  :subid("254_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1033_tgt
+    .local int rx1033_pos
+    .local int rx1033_off
+    .local int rx1033_eos
+    .local int rx1033_rep
+    .local pmc rx1033_cur
+    (rx1033_cur, rx1033_pos, rx1033_tgt) = self."!cursor_start"()
+    rx1033_cur."!cursor_debug"("START ", "prefix:sym<-->")
+    .lex unicode:"$\x{a2}", rx1033_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1033_eos, rx1033_tgt
+    gt rx1033_pos, rx1033_eos, rx1033_done
+    set rx1033_off, 0
+    lt rx1033_pos, 2, rx1033_start
+    sub rx1033_off, rx1033_pos, 1
+    substr rx1033_tgt, rx1033_tgt, rx1033_off
+  rx1033_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1037_done
+    goto rxscan1037_scan
+  rxscan1037_loop:
+    ($P10) = rx1033_cur."from"()
+    inc $P10
+    set rx1033_pos, $P10
+    ge rx1033_pos, rx1033_eos, rxscan1037_done
+  rxscan1037_scan:
+    set_addr $I10, rxscan1037_loop
+    rx1033_cur."!mark_push"(0, rx1033_pos, $I10)
+  rxscan1037_done:
+.annotate 'line', 491
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1022_fail
-    rx1017_cur."!mark_push"(0, rx1017_pos, $I10)
+    set_addr $I10, rxcap_1038_fail
+    rx1033_cur."!mark_push"(0, rx1033_pos, $I10)
   # rx literal  "--"
-    add $I11, rx1017_pos, 2
-    gt $I11, rx1017_eos, rx1017_fail
-    sub $I11, rx1017_pos, rx1017_off
-    substr $S10, rx1017_tgt, $I11, 2
-    ne $S10, "--", rx1017_fail
-    add rx1017_pos, 2
-    set_addr $I10, rxcap_1022_fail
-    ($I12, $I11) = rx1017_cur."!mark_peek"($I10)
-    rx1017_cur."!cursor_pos"($I11)
-    ($P10) = rx1017_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1017_pos, "")
-    rx1017_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1033_pos, 2
+    gt $I11, rx1033_eos, rx1033_fail
+    sub $I11, rx1033_pos, rx1033_off
+    substr $S10, rx1033_tgt, $I11, 2
+    ne $S10, "--", rx1033_fail
+    add rx1033_pos, 2
+    set_addr $I10, rxcap_1038_fail
+    ($I12, $I11) = rx1033_cur."!mark_peek"($I10)
+    rx1033_cur."!cursor_pos"($I11)
+    ($P10) = rx1033_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1033_pos, "")
+    rx1033_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1022_done
-  rxcap_1022_fail:
-    goto rx1017_fail
-  rxcap_1022_done:
+    goto rxcap_1038_done
+  rxcap_1038_fail:
+    goto rx1033_fail
+  rxcap_1038_done:
   # rx subrule "O" subtype=capture negate=
-    rx1017_cur."!cursor_pos"(rx1017_pos)
-    $P10 = rx1017_cur."O"("%autoincrement, :pirop<dec>")
-    unless $P10, rx1017_fail
-    rx1017_cur."!mark_push"(0, -1, 0, $P10)
+    rx1033_cur."!cursor_pos"(rx1033_pos)
+    $P10 = rx1033_cur."O"("%autoincrement, :pirop<dec>")
+    unless $P10, rx1033_fail
+    rx1033_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1017_pos = $P10."pos"()
+    rx1033_pos = $P10."pos"()
   # rx pass
-    rx1017_cur."!cursor_pass"(rx1017_pos, "prefix:sym<-->")
-    rx1017_cur."!cursor_debug"("PASS  ", "prefix:sym<-->", " at pos=", rx1017_pos)
-    .return (rx1017_cur)
-  rx1017_fail:
-.annotate 'line', 445
-    (rx1017_rep, rx1017_pos, $I10, $P10) = rx1017_cur."!mark_fail"(0)
-    lt rx1017_pos, -1, rx1017_done
-    eq rx1017_pos, -1, rx1017_fail
+    rx1033_cur."!cursor_pass"(rx1033_pos, "prefix:sym<-->")
+    rx1033_cur."!cursor_debug"("PASS  ", "prefix:sym<-->", " at pos=", rx1033_pos)
+    .return (rx1033_cur)
+  rx1033_fail:
+.annotate 'line', 446
+    (rx1033_rep, rx1033_pos, $I10, $P10) = rx1033_cur."!mark_fail"(0)
+    lt rx1033_pos, -1, rx1033_done
+    eq rx1033_pos, -1, rx1033_fail
     jump $I10
-  rx1017_done:
-    rx1017_cur."!cursor_fail"()
-    rx1017_cur."!cursor_debug"("FAIL  ", "prefix:sym<-->")
-    .return (rx1017_cur)
+  rx1033_done:
+    rx1033_cur."!cursor_fail"()
+    rx1033_cur."!cursor_debug"("FAIL  ", "prefix:sym<-->")
+    .return (rx1033_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<-->"  :subid("255_1275600007.84296") :method
-.annotate 'line', 445
-    $P1019 = self."!PREFIX__!subrule"("O", "--")
-    new $P1020, "ResizablePMCArray"
-    push $P1020, $P1019
-    .return ($P1020)
+.sub "!PREFIX__prefix:sym<-->"  :subid("255_1275811487.95429") :method
+.annotate 'line', 446
+    $P1035 = self."!PREFIX__!subrule"("O", "--")
+    new $P1036, "ResizablePMCArray"
+    push $P1036, $P1035
+    .return ($P1036)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<++>"  :subid("256_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1024_tgt
-    .local int rx1024_pos
-    .local int rx1024_off
-    .local int rx1024_eos
-    .local int rx1024_rep
-    .local pmc rx1024_cur
-    (rx1024_cur, rx1024_pos, rx1024_tgt) = self."!cursor_start"()
-    rx1024_cur."!cursor_debug"("START ", "postfix:sym<++>")
-    .lex unicode:"$\x{a2}", rx1024_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1024_eos, rx1024_tgt
-    gt rx1024_pos, rx1024_eos, rx1024_done
-    set rx1024_off, 0
-    lt rx1024_pos, 2, rx1024_start
-    sub rx1024_off, rx1024_pos, 1
-    substr rx1024_tgt, rx1024_tgt, rx1024_off
-  rx1024_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1028_done
-    goto rxscan1028_scan
-  rxscan1028_loop:
-    ($P10) = rx1024_cur."from"()
-    inc $P10
-    set rx1024_pos, $P10
-    ge rx1024_pos, rx1024_eos, rxscan1028_done
-  rxscan1028_scan:
-    set_addr $I10, rxscan1028_loop
-    rx1024_cur."!mark_push"(0, rx1024_pos, $I10)
-  rxscan1028_done:
-.annotate 'line', 493
+.sub "postfix:sym<++>"  :subid("256_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1040_tgt
+    .local int rx1040_pos
+    .local int rx1040_off
+    .local int rx1040_eos
+    .local int rx1040_rep
+    .local pmc rx1040_cur
+    (rx1040_cur, rx1040_pos, rx1040_tgt) = self."!cursor_start"()
+    rx1040_cur."!cursor_debug"("START ", "postfix:sym<++>")
+    .lex unicode:"$\x{a2}", rx1040_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1040_eos, rx1040_tgt
+    gt rx1040_pos, rx1040_eos, rx1040_done
+    set rx1040_off, 0
+    lt rx1040_pos, 2, rx1040_start
+    sub rx1040_off, rx1040_pos, 1
+    substr rx1040_tgt, rx1040_tgt, rx1040_off
+  rx1040_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1044_done
+    goto rxscan1044_scan
+  rxscan1044_loop:
+    ($P10) = rx1040_cur."from"()
+    inc $P10
+    set rx1040_pos, $P10
+    ge rx1040_pos, rx1040_eos, rxscan1044_done
+  rxscan1044_scan:
+    set_addr $I10, rxscan1044_loop
+    rx1040_cur."!mark_push"(0, rx1040_pos, $I10)
+  rxscan1044_done:
+.annotate 'line', 494
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1029_fail
-    rx1024_cur."!mark_push"(0, rx1024_pos, $I10)
+    set_addr $I10, rxcap_1045_fail
+    rx1040_cur."!mark_push"(0, rx1040_pos, $I10)
   # rx literal  "++"
-    add $I11, rx1024_pos, 2
-    gt $I11, rx1024_eos, rx1024_fail
-    sub $I11, rx1024_pos, rx1024_off
-    substr $S10, rx1024_tgt, $I11, 2
-    ne $S10, "++", rx1024_fail
-    add rx1024_pos, 2
-    set_addr $I10, rxcap_1029_fail
-    ($I12, $I11) = rx1024_cur."!mark_peek"($I10)
-    rx1024_cur."!cursor_pos"($I11)
-    ($P10) = rx1024_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1024_pos, "")
-    rx1024_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1040_pos, 2
+    gt $I11, rx1040_eos, rx1040_fail
+    sub $I11, rx1040_pos, rx1040_off
+    substr $S10, rx1040_tgt, $I11, 2
+    ne $S10, "++", rx1040_fail
+    add rx1040_pos, 2
+    set_addr $I10, rxcap_1045_fail
+    ($I12, $I11) = rx1040_cur."!mark_peek"($I10)
+    rx1040_cur."!cursor_pos"($I11)
+    ($P10) = rx1040_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1040_pos, "")
+    rx1040_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1029_done
-  rxcap_1029_fail:
-    goto rx1024_fail
-  rxcap_1029_done:
+    goto rxcap_1045_done
+  rxcap_1045_fail:
+    goto rx1040_fail
+  rxcap_1045_done:
   # rx subrule "O" subtype=capture negate=
-    rx1024_cur."!cursor_pos"(rx1024_pos)
-    $P10 = rx1024_cur."O"("%autoincrement")
-    unless $P10, rx1024_fail
-    rx1024_cur."!mark_push"(0, -1, 0, $P10)
+    rx1040_cur."!cursor_pos"(rx1040_pos)
+    $P10 = rx1040_cur."O"("%autoincrement")
+    unless $P10, rx1040_fail
+    rx1040_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1024_pos = $P10."pos"()
+    rx1040_pos = $P10."pos"()
   # rx pass
-    rx1024_cur."!cursor_pass"(rx1024_pos, "postfix:sym<++>")
-    rx1024_cur."!cursor_debug"("PASS  ", "postfix:sym<++>", " at pos=", rx1024_pos)
-    .return (rx1024_cur)
-  rx1024_fail:
-.annotate 'line', 445
-    (rx1024_rep, rx1024_pos, $I10, $P10) = rx1024_cur."!mark_fail"(0)
-    lt rx1024_pos, -1, rx1024_done
-    eq rx1024_pos, -1, rx1024_fail
+    rx1040_cur."!cursor_pass"(rx1040_pos, "postfix:sym<++>")
+    rx1040_cur."!cursor_debug"("PASS  ", "postfix:sym<++>", " at pos=", rx1040_pos)
+    .return (rx1040_cur)
+  rx1040_fail:
+.annotate 'line', 446
+    (rx1040_rep, rx1040_pos, $I10, $P10) = rx1040_cur."!mark_fail"(0)
+    lt rx1040_pos, -1, rx1040_done
+    eq rx1040_pos, -1, rx1040_fail
     jump $I10
-  rx1024_done:
-    rx1024_cur."!cursor_fail"()
-    rx1024_cur."!cursor_debug"("FAIL  ", "postfix:sym<++>")
-    .return (rx1024_cur)
+  rx1040_done:
+    rx1040_cur."!cursor_fail"()
+    rx1040_cur."!cursor_debug"("FAIL  ", "postfix:sym<++>")
+    .return (rx1040_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<++>"  :subid("257_1275600007.84296") :method
-.annotate 'line', 445
-    $P1026 = self."!PREFIX__!subrule"("O", "++")
-    new $P1027, "ResizablePMCArray"
-    push $P1027, $P1026
-    .return ($P1027)
+.sub "!PREFIX__postfix:sym<++>"  :subid("257_1275811487.95429") :method
+.annotate 'line', 446
+    $P1042 = self."!PREFIX__!subrule"("O", "++")
+    new $P1043, "ResizablePMCArray"
+    push $P1043, $P1042
+    .return ($P1043)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<-->"  :subid("258_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .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', 494
+.sub "postfix:sym<-->"  :subid("258_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1047_tgt
+    .local int rx1047_pos
+    .local int rx1047_off
+    .local int rx1047_eos
+    .local int rx1047_rep
+    .local pmc rx1047_cur
+    (rx1047_cur, rx1047_pos, rx1047_tgt) = self."!cursor_start"()
+    rx1047_cur."!cursor_debug"("START ", "postfix:sym<-->")
+    .lex unicode:"$\x{a2}", rx1047_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1047_eos, rx1047_tgt
+    gt rx1047_pos, rx1047_eos, rx1047_done
+    set rx1047_off, 0
+    lt rx1047_pos, 2, rx1047_start
+    sub rx1047_off, rx1047_pos, 1
+    substr rx1047_tgt, rx1047_tgt, rx1047_off
+  rx1047_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1051_done
+    goto rxscan1051_scan
+  rxscan1051_loop:
+    ($P10) = rx1047_cur."from"()
+    inc $P10
+    set rx1047_pos, $P10
+    ge rx1047_pos, rx1047_eos, rxscan1051_done
+  rxscan1051_scan:
+    set_addr $I10, rxscan1051_loop
+    rx1047_cur."!mark_push"(0, rx1047_pos, $I10)
+  rxscan1051_done:
+.annotate 'line', 495
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1036_fail
-    rx1031_cur."!mark_push"(0, rx1031_pos, $I10)
+    set_addr $I10, rxcap_1052_fail
+    rx1047_cur."!mark_push"(0, rx1047_pos, $I10)
   # rx literal  "--"
-    add $I11, rx1031_pos, 2
-    gt $I11, rx1031_eos, rx1031_fail
-    sub $I11, rx1031_pos, rx1031_off
-    substr $S10, rx1031_tgt, $I11, 2
-    ne $S10, "--", rx1031_fail
-    add rx1031_pos, 2
-    set_addr $I10, rxcap_1036_fail
-    ($I12, $I11) = rx1031_cur."!mark_peek"($I10)
-    rx1031_cur."!cursor_pos"($I11)
-    ($P10) = rx1031_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1031_pos, "")
-    rx1031_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1047_pos, 2
+    gt $I11, rx1047_eos, rx1047_fail
+    sub $I11, rx1047_pos, rx1047_off
+    substr $S10, rx1047_tgt, $I11, 2
+    ne $S10, "--", rx1047_fail
+    add rx1047_pos, 2
+    set_addr $I10, rxcap_1052_fail
+    ($I12, $I11) = rx1047_cur."!mark_peek"($I10)
+    rx1047_cur."!cursor_pos"($I11)
+    ($P10) = rx1047_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1047_pos, "")
+    rx1047_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1036_done
-  rxcap_1036_fail:
-    goto rx1031_fail
-  rxcap_1036_done:
+    goto rxcap_1052_done
+  rxcap_1052_fail:
+    goto rx1047_fail
+  rxcap_1052_done:
   # rx subrule "O" subtype=capture negate=
-    rx1031_cur."!cursor_pos"(rx1031_pos)
-    $P10 = rx1031_cur."O"("%autoincrement")
-    unless $P10, rx1031_fail
-    rx1031_cur."!mark_push"(0, -1, 0, $P10)
+    rx1047_cur."!cursor_pos"(rx1047_pos)
+    $P10 = rx1047_cur."O"("%autoincrement")
+    unless $P10, rx1047_fail
+    rx1047_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1031_pos = $P10."pos"()
+    rx1047_pos = $P10."pos"()
   # rx pass
-    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', 445
-    (rx1031_rep, rx1031_pos, $I10, $P10) = rx1031_cur."!mark_fail"(0)
-    lt rx1031_pos, -1, rx1031_done
-    eq rx1031_pos, -1, rx1031_fail
+    rx1047_cur."!cursor_pass"(rx1047_pos, "postfix:sym<-->")
+    rx1047_cur."!cursor_debug"("PASS  ", "postfix:sym<-->", " at pos=", rx1047_pos)
+    .return (rx1047_cur)
+  rx1047_fail:
+.annotate 'line', 446
+    (rx1047_rep, rx1047_pos, $I10, $P10) = rx1047_cur."!mark_fail"(0)
+    lt rx1047_pos, -1, rx1047_done
+    eq rx1047_pos, -1, rx1047_fail
     jump $I10
-  rx1031_done:
-    rx1031_cur."!cursor_fail"()
-    rx1031_cur."!cursor_debug"("FAIL  ", "postfix:sym<-->")
-    .return (rx1031_cur)
+  rx1047_done:
+    rx1047_cur."!cursor_fail"()
+    rx1047_cur."!cursor_debug"("FAIL  ", "postfix:sym<-->")
+    .return (rx1047_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<-->"  :subid("259_1275600007.84296") :method
-.annotate 'line', 445
-    $P1033 = self."!PREFIX__!subrule"("O", "--")
-    new $P1034, "ResizablePMCArray"
-    push $P1034, $P1033
-    .return ($P1034)
+.sub "!PREFIX__postfix:sym<-->"  :subid("259_1275811487.95429") :method
+.annotate 'line', 446
+    $P1049 = self."!PREFIX__!subrule"("O", "--")
+    new $P1050, "ResizablePMCArray"
+    push $P1050, $P1049
+    .return ($P1050)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<**>"  :subid("260_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1038_tgt
-    .local int rx1038_pos
-    .local int rx1038_off
-    .local int rx1038_eos
-    .local int rx1038_rep
-    .local pmc rx1038_cur
-    (rx1038_cur, rx1038_pos, rx1038_tgt) = self."!cursor_start"()
-    rx1038_cur."!cursor_debug"("START ", "infix:sym<**>")
-    .lex unicode:"$\x{a2}", rx1038_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1038_eos, rx1038_tgt
-    gt rx1038_pos, rx1038_eos, rx1038_done
-    set rx1038_off, 0
-    lt rx1038_pos, 2, rx1038_start
-    sub rx1038_off, rx1038_pos, 1
-    substr rx1038_tgt, rx1038_tgt, rx1038_off
-  rx1038_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1042_done
-    goto rxscan1042_scan
-  rxscan1042_loop:
-    ($P10) = rx1038_cur."from"()
-    inc $P10
-    set rx1038_pos, $P10
-    ge rx1038_pos, rx1038_eos, rxscan1042_done
-  rxscan1042_scan:
-    set_addr $I10, rxscan1042_loop
-    rx1038_cur."!mark_push"(0, rx1038_pos, $I10)
-  rxscan1042_done:
-.annotate 'line', 496
+.sub "infix:sym<**>"  :subid("260_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1054_tgt
+    .local int rx1054_pos
+    .local int rx1054_off
+    .local int rx1054_eos
+    .local int rx1054_rep
+    .local pmc rx1054_cur
+    (rx1054_cur, rx1054_pos, rx1054_tgt) = self."!cursor_start"()
+    rx1054_cur."!cursor_debug"("START ", "infix:sym<**>")
+    .lex unicode:"$\x{a2}", rx1054_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1054_eos, rx1054_tgt
+    gt rx1054_pos, rx1054_eos, rx1054_done
+    set rx1054_off, 0
+    lt rx1054_pos, 2, rx1054_start
+    sub rx1054_off, rx1054_pos, 1
+    substr rx1054_tgt, rx1054_tgt, rx1054_off
+  rx1054_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1058_done
+    goto rxscan1058_scan
+  rxscan1058_loop:
+    ($P10) = rx1054_cur."from"()
+    inc $P10
+    set rx1054_pos, $P10
+    ge rx1054_pos, rx1054_eos, rxscan1058_done
+  rxscan1058_scan:
+    set_addr $I10, rxscan1058_loop
+    rx1054_cur."!mark_push"(0, rx1054_pos, $I10)
+  rxscan1058_done:
+.annotate 'line', 497
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1043_fail
-    rx1038_cur."!mark_push"(0, rx1038_pos, $I10)
+    set_addr $I10, rxcap_1059_fail
+    rx1054_cur."!mark_push"(0, rx1054_pos, $I10)
   # rx literal  "**"
-    add $I11, rx1038_pos, 2
-    gt $I11, rx1038_eos, rx1038_fail
-    sub $I11, rx1038_pos, rx1038_off
-    substr $S10, rx1038_tgt, $I11, 2
-    ne $S10, "**", rx1038_fail
-    add rx1038_pos, 2
-    set_addr $I10, rxcap_1043_fail
-    ($I12, $I11) = rx1038_cur."!mark_peek"($I10)
-    rx1038_cur."!cursor_pos"($I11)
-    ($P10) = rx1038_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1038_pos, "")
-    rx1038_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1054_pos, 2
+    gt $I11, rx1054_eos, rx1054_fail
+    sub $I11, rx1054_pos, rx1054_off
+    substr $S10, rx1054_tgt, $I11, 2
+    ne $S10, "**", rx1054_fail
+    add rx1054_pos, 2
+    set_addr $I10, rxcap_1059_fail
+    ($I12, $I11) = rx1054_cur."!mark_peek"($I10)
+    rx1054_cur."!cursor_pos"($I11)
+    ($P10) = rx1054_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1054_pos, "")
+    rx1054_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1043_done
-  rxcap_1043_fail:
-    goto rx1038_fail
-  rxcap_1043_done:
+    goto rxcap_1059_done
+  rxcap_1059_fail:
+    goto rx1054_fail
+  rxcap_1059_done:
   # rx subrule "O" subtype=capture negate=
-    rx1038_cur."!cursor_pos"(rx1038_pos)
-    $P10 = rx1038_cur."O"("%exponentiation, :pirop<pow>")
-    unless $P10, rx1038_fail
-    rx1038_cur."!mark_push"(0, -1, 0, $P10)
+    rx1054_cur."!cursor_pos"(rx1054_pos)
+    $P10 = rx1054_cur."O"("%exponentiation, :pirop<pow>")
+    unless $P10, rx1054_fail
+    rx1054_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1038_pos = $P10."pos"()
+    rx1054_pos = $P10."pos"()
   # rx pass
-    rx1038_cur."!cursor_pass"(rx1038_pos, "infix:sym<**>")
-    rx1038_cur."!cursor_debug"("PASS  ", "infix:sym<**>", " at pos=", rx1038_pos)
-    .return (rx1038_cur)
-  rx1038_fail:
-.annotate 'line', 445
-    (rx1038_rep, rx1038_pos, $I10, $P10) = rx1038_cur."!mark_fail"(0)
-    lt rx1038_pos, -1, rx1038_done
-    eq rx1038_pos, -1, rx1038_fail
+    rx1054_cur."!cursor_pass"(rx1054_pos, "infix:sym<**>")
+    rx1054_cur."!cursor_debug"("PASS  ", "infix:sym<**>", " at pos=", rx1054_pos)
+    .return (rx1054_cur)
+  rx1054_fail:
+.annotate 'line', 446
+    (rx1054_rep, rx1054_pos, $I10, $P10) = rx1054_cur."!mark_fail"(0)
+    lt rx1054_pos, -1, rx1054_done
+    eq rx1054_pos, -1, rx1054_fail
     jump $I10
-  rx1038_done:
-    rx1038_cur."!cursor_fail"()
-    rx1038_cur."!cursor_debug"("FAIL  ", "infix:sym<**>")
-    .return (rx1038_cur)
+  rx1054_done:
+    rx1054_cur."!cursor_fail"()
+    rx1054_cur."!cursor_debug"("FAIL  ", "infix:sym<**>")
+    .return (rx1054_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<**>"  :subid("261_1275600007.84296") :method
-.annotate 'line', 445
-    $P1040 = self."!PREFIX__!subrule"("O", "**")
-    new $P1041, "ResizablePMCArray"
-    push $P1041, $P1040
-    .return ($P1041)
+.sub "!PREFIX__infix:sym<**>"  :subid("261_1275811487.95429") :method
+.annotate 'line', 446
+    $P1056 = self."!PREFIX__!subrule"("O", "**")
+    new $P1057, "ResizablePMCArray"
+    push $P1057, $P1056
+    .return ($P1057)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<+>"  :subid("262_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1045_tgt
-    .local int rx1045_pos
-    .local int rx1045_off
-    .local int rx1045_eos
-    .local int rx1045_rep
-    .local pmc rx1045_cur
-    (rx1045_cur, rx1045_pos, rx1045_tgt) = self."!cursor_start"()
-    rx1045_cur."!cursor_debug"("START ", "prefix:sym<+>")
-    .lex unicode:"$\x{a2}", rx1045_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1045_eos, rx1045_tgt
-    gt rx1045_pos, rx1045_eos, rx1045_done
-    set rx1045_off, 0
-    lt rx1045_pos, 2, rx1045_start
-    sub rx1045_off, rx1045_pos, 1
-    substr rx1045_tgt, rx1045_tgt, rx1045_off
-  rx1045_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1049_done
-    goto rxscan1049_scan
-  rxscan1049_loop:
-    ($P10) = rx1045_cur."from"()
-    inc $P10
-    set rx1045_pos, $P10
-    ge rx1045_pos, rx1045_eos, rxscan1049_done
-  rxscan1049_scan:
-    set_addr $I10, rxscan1049_loop
-    rx1045_cur."!mark_push"(0, rx1045_pos, $I10)
-  rxscan1049_done:
-.annotate 'line', 498
+.sub "prefix:sym<+>"  :subid("262_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1061_tgt
+    .local int rx1061_pos
+    .local int rx1061_off
+    .local int rx1061_eos
+    .local int rx1061_rep
+    .local pmc rx1061_cur
+    (rx1061_cur, rx1061_pos, rx1061_tgt) = self."!cursor_start"()
+    rx1061_cur."!cursor_debug"("START ", "prefix:sym<+>")
+    .lex unicode:"$\x{a2}", rx1061_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1061_eos, rx1061_tgt
+    gt rx1061_pos, rx1061_eos, rx1061_done
+    set rx1061_off, 0
+    lt rx1061_pos, 2, rx1061_start
+    sub rx1061_off, rx1061_pos, 1
+    substr rx1061_tgt, rx1061_tgt, rx1061_off
+  rx1061_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1065_done
+    goto rxscan1065_scan
+  rxscan1065_loop:
+    ($P10) = rx1061_cur."from"()
+    inc $P10
+    set rx1061_pos, $P10
+    ge rx1061_pos, rx1061_eos, rxscan1065_done
+  rxscan1065_scan:
+    set_addr $I10, rxscan1065_loop
+    rx1061_cur."!mark_push"(0, rx1061_pos, $I10)
+  rxscan1065_done:
+.annotate 'line', 499
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1050_fail
-    rx1045_cur."!mark_push"(0, rx1045_pos, $I10)
+    set_addr $I10, rxcap_1066_fail
+    rx1061_cur."!mark_push"(0, rx1061_pos, $I10)
   # rx literal  "+"
-    add $I11, rx1045_pos, 1
-    gt $I11, rx1045_eos, rx1045_fail
-    sub $I11, rx1045_pos, rx1045_off
-    substr $S10, rx1045_tgt, $I11, 1
-    ne $S10, "+", rx1045_fail
-    add rx1045_pos, 1
-    set_addr $I10, rxcap_1050_fail
-    ($I12, $I11) = rx1045_cur."!mark_peek"($I10)
-    rx1045_cur."!cursor_pos"($I11)
-    ($P10) = rx1045_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1045_pos, "")
-    rx1045_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1061_pos, 1
+    gt $I11, rx1061_eos, rx1061_fail
+    sub $I11, rx1061_pos, rx1061_off
+    substr $S10, rx1061_tgt, $I11, 1
+    ne $S10, "+", rx1061_fail
+    add rx1061_pos, 1
+    set_addr $I10, rxcap_1066_fail
+    ($I12, $I11) = rx1061_cur."!mark_peek"($I10)
+    rx1061_cur."!cursor_pos"($I11)
+    ($P10) = rx1061_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1061_pos, "")
+    rx1061_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1050_done
-  rxcap_1050_fail:
-    goto rx1045_fail
-  rxcap_1050_done:
+    goto rxcap_1066_done
+  rxcap_1066_fail:
+    goto rx1061_fail
+  rxcap_1066_done:
   # rx subrule "O" subtype=capture negate=
-    rx1045_cur."!cursor_pos"(rx1045_pos)
-    $P10 = rx1045_cur."O"("%symbolic_unary, :pirop<set N*>")
-    unless $P10, rx1045_fail
-    rx1045_cur."!mark_push"(0, -1, 0, $P10)
+    rx1061_cur."!cursor_pos"(rx1061_pos)
+    $P10 = rx1061_cur."O"("%symbolic_unary, :pirop<set N*>")
+    unless $P10, rx1061_fail
+    rx1061_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1045_pos = $P10."pos"()
+    rx1061_pos = $P10."pos"()
   # rx pass
-    rx1045_cur."!cursor_pass"(rx1045_pos, "prefix:sym<+>")
-    rx1045_cur."!cursor_debug"("PASS  ", "prefix:sym<+>", " at pos=", rx1045_pos)
-    .return (rx1045_cur)
-  rx1045_fail:
-.annotate 'line', 445
-    (rx1045_rep, rx1045_pos, $I10, $P10) = rx1045_cur."!mark_fail"(0)
-    lt rx1045_pos, -1, rx1045_done
-    eq rx1045_pos, -1, rx1045_fail
+    rx1061_cur."!cursor_pass"(rx1061_pos, "prefix:sym<+>")
+    rx1061_cur."!cursor_debug"("PASS  ", "prefix:sym<+>", " at pos=", rx1061_pos)
+    .return (rx1061_cur)
+  rx1061_fail:
+.annotate 'line', 446
+    (rx1061_rep, rx1061_pos, $I10, $P10) = rx1061_cur."!mark_fail"(0)
+    lt rx1061_pos, -1, rx1061_done
+    eq rx1061_pos, -1, rx1061_fail
     jump $I10
-  rx1045_done:
-    rx1045_cur."!cursor_fail"()
-    rx1045_cur."!cursor_debug"("FAIL  ", "prefix:sym<+>")
-    .return (rx1045_cur)
+  rx1061_done:
+    rx1061_cur."!cursor_fail"()
+    rx1061_cur."!cursor_debug"("FAIL  ", "prefix:sym<+>")
+    .return (rx1061_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<+>"  :subid("263_1275600007.84296") :method
-.annotate 'line', 445
-    $P1047 = self."!PREFIX__!subrule"("O", "+")
-    new $P1048, "ResizablePMCArray"
-    push $P1048, $P1047
-    .return ($P1048)
+.sub "!PREFIX__prefix:sym<+>"  :subid("263_1275811487.95429") :method
+.annotate 'line', 446
+    $P1063 = self."!PREFIX__!subrule"("O", "+")
+    new $P1064, "ResizablePMCArray"
+    push $P1064, $P1063
+    .return ($P1064)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<~>"  :subid("264_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1052_tgt
-    .local int rx1052_pos
-    .local int rx1052_off
-    .local int rx1052_eos
-    .local int rx1052_rep
-    .local pmc rx1052_cur
-    (rx1052_cur, rx1052_pos, rx1052_tgt) = self."!cursor_start"()
-    rx1052_cur."!cursor_debug"("START ", "prefix:sym<~>")
-    .lex unicode:"$\x{a2}", rx1052_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1052_eos, rx1052_tgt
-    gt rx1052_pos, rx1052_eos, rx1052_done
-    set rx1052_off, 0
-    lt rx1052_pos, 2, rx1052_start
-    sub rx1052_off, rx1052_pos, 1
-    substr rx1052_tgt, rx1052_tgt, rx1052_off
-  rx1052_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1056_done
-    goto rxscan1056_scan
-  rxscan1056_loop:
-    ($P10) = rx1052_cur."from"()
-    inc $P10
-    set rx1052_pos, $P10
-    ge rx1052_pos, rx1052_eos, rxscan1056_done
-  rxscan1056_scan:
-    set_addr $I10, rxscan1056_loop
-    rx1052_cur."!mark_push"(0, rx1052_pos, $I10)
-  rxscan1056_done:
-.annotate 'line', 499
+.sub "prefix:sym<~>"  :subid("264_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1068_tgt
+    .local int rx1068_pos
+    .local int rx1068_off
+    .local int rx1068_eos
+    .local int rx1068_rep
+    .local pmc rx1068_cur
+    (rx1068_cur, rx1068_pos, rx1068_tgt) = self."!cursor_start"()
+    rx1068_cur."!cursor_debug"("START ", "prefix:sym<~>")
+    .lex unicode:"$\x{a2}", rx1068_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1068_eos, rx1068_tgt
+    gt rx1068_pos, rx1068_eos, rx1068_done
+    set rx1068_off, 0
+    lt rx1068_pos, 2, rx1068_start
+    sub rx1068_off, rx1068_pos, 1
+    substr rx1068_tgt, rx1068_tgt, rx1068_off
+  rx1068_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1072_done
+    goto rxscan1072_scan
+  rxscan1072_loop:
+    ($P10) = rx1068_cur."from"()
+    inc $P10
+    set rx1068_pos, $P10
+    ge rx1068_pos, rx1068_eos, rxscan1072_done
+  rxscan1072_scan:
+    set_addr $I10, rxscan1072_loop
+    rx1068_cur."!mark_push"(0, rx1068_pos, $I10)
+  rxscan1072_done:
+.annotate 'line', 500
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1057_fail
-    rx1052_cur."!mark_push"(0, rx1052_pos, $I10)
+    set_addr $I10, rxcap_1073_fail
+    rx1068_cur."!mark_push"(0, rx1068_pos, $I10)
   # rx literal  "~"
-    add $I11, rx1052_pos, 1
-    gt $I11, rx1052_eos, rx1052_fail
-    sub $I11, rx1052_pos, rx1052_off
-    substr $S10, rx1052_tgt, $I11, 1
-    ne $S10, "~", rx1052_fail
-    add rx1052_pos, 1
-    set_addr $I10, rxcap_1057_fail
-    ($I12, $I11) = rx1052_cur."!mark_peek"($I10)
-    rx1052_cur."!cursor_pos"($I11)
-    ($P10) = rx1052_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1052_pos, "")
-    rx1052_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1068_pos, 1
+    gt $I11, rx1068_eos, rx1068_fail
+    sub $I11, rx1068_pos, rx1068_off
+    substr $S10, rx1068_tgt, $I11, 1
+    ne $S10, "~", rx1068_fail
+    add rx1068_pos, 1
+    set_addr $I10, rxcap_1073_fail
+    ($I12, $I11) = rx1068_cur."!mark_peek"($I10)
+    rx1068_cur."!cursor_pos"($I11)
+    ($P10) = rx1068_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1068_pos, "")
+    rx1068_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1057_done
-  rxcap_1057_fail:
-    goto rx1052_fail
-  rxcap_1057_done:
+    goto rxcap_1073_done
+  rxcap_1073_fail:
+    goto rx1068_fail
+  rxcap_1073_done:
   # rx subrule "O" subtype=capture negate=
-    rx1052_cur."!cursor_pos"(rx1052_pos)
-    $P10 = rx1052_cur."O"("%symbolic_unary, :pirop<set S*>")
-    unless $P10, rx1052_fail
-    rx1052_cur."!mark_push"(0, -1, 0, $P10)
+    rx1068_cur."!cursor_pos"(rx1068_pos)
+    $P10 = rx1068_cur."O"("%symbolic_unary, :pirop<set S*>")
+    unless $P10, rx1068_fail
+    rx1068_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1052_pos = $P10."pos"()
+    rx1068_pos = $P10."pos"()
   # rx pass
-    rx1052_cur."!cursor_pass"(rx1052_pos, "prefix:sym<~>")
-    rx1052_cur."!cursor_debug"("PASS  ", "prefix:sym<~>", " at pos=", rx1052_pos)
-    .return (rx1052_cur)
-  rx1052_fail:
-.annotate 'line', 445
-    (rx1052_rep, rx1052_pos, $I10, $P10) = rx1052_cur."!mark_fail"(0)
-    lt rx1052_pos, -1, rx1052_done
-    eq rx1052_pos, -1, rx1052_fail
+    rx1068_cur."!cursor_pass"(rx1068_pos, "prefix:sym<~>")
+    rx1068_cur."!cursor_debug"("PASS  ", "prefix:sym<~>", " at pos=", rx1068_pos)
+    .return (rx1068_cur)
+  rx1068_fail:
+.annotate 'line', 446
+    (rx1068_rep, rx1068_pos, $I10, $P10) = rx1068_cur."!mark_fail"(0)
+    lt rx1068_pos, -1, rx1068_done
+    eq rx1068_pos, -1, rx1068_fail
     jump $I10
-  rx1052_done:
-    rx1052_cur."!cursor_fail"()
-    rx1052_cur."!cursor_debug"("FAIL  ", "prefix:sym<~>")
-    .return (rx1052_cur)
+  rx1068_done:
+    rx1068_cur."!cursor_fail"()
+    rx1068_cur."!cursor_debug"("FAIL  ", "prefix:sym<~>")
+    .return (rx1068_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<~>"  :subid("265_1275600007.84296") :method
-.annotate 'line', 445
-    $P1054 = self."!PREFIX__!subrule"("O", "~")
-    new $P1055, "ResizablePMCArray"
-    push $P1055, $P1054
-    .return ($P1055)
+.sub "!PREFIX__prefix:sym<~>"  :subid("265_1275811487.95429") :method
+.annotate 'line', 446
+    $P1070 = self."!PREFIX__!subrule"("O", "~")
+    new $P1071, "ResizablePMCArray"
+    push $P1071, $P1070
+    .return ($P1071)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<->"  :subid("266_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1059_tgt
-    .local int rx1059_pos
-    .local int rx1059_off
-    .local int rx1059_eos
-    .local int rx1059_rep
-    .local pmc rx1059_cur
-    (rx1059_cur, rx1059_pos, rx1059_tgt) = self."!cursor_start"()
-    rx1059_cur."!cursor_debug"("START ", "prefix:sym<->")
-    .lex unicode:"$\x{a2}", rx1059_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1059_eos, rx1059_tgt
-    gt rx1059_pos, rx1059_eos, rx1059_done
-    set rx1059_off, 0
-    lt rx1059_pos, 2, rx1059_start
-    sub rx1059_off, rx1059_pos, 1
-    substr rx1059_tgt, rx1059_tgt, rx1059_off
-  rx1059_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1062_done
-    goto rxscan1062_scan
-  rxscan1062_loop:
-    ($P10) = rx1059_cur."from"()
-    inc $P10
-    set rx1059_pos, $P10
-    ge rx1059_pos, rx1059_eos, rxscan1062_done
-  rxscan1062_scan:
-    set_addr $I10, rxscan1062_loop
-    rx1059_cur."!mark_push"(0, rx1059_pos, $I10)
-  rxscan1062_done:
-.annotate 'line', 500
+.sub "prefix:sym<->"  :subid("266_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1075_tgt
+    .local int rx1075_pos
+    .local int rx1075_off
+    .local int rx1075_eos
+    .local int rx1075_rep
+    .local pmc rx1075_cur
+    (rx1075_cur, rx1075_pos, rx1075_tgt) = self."!cursor_start"()
+    rx1075_cur."!cursor_debug"("START ", "prefix:sym<->")
+    .lex unicode:"$\x{a2}", rx1075_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1075_eos, rx1075_tgt
+    gt rx1075_pos, rx1075_eos, rx1075_done
+    set rx1075_off, 0
+    lt rx1075_pos, 2, rx1075_start
+    sub rx1075_off, rx1075_pos, 1
+    substr rx1075_tgt, rx1075_tgt, rx1075_off
+  rx1075_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1078_done
+    goto rxscan1078_scan
+  rxscan1078_loop:
+    ($P10) = rx1075_cur."from"()
+    inc $P10
+    set rx1075_pos, $P10
+    ge rx1075_pos, rx1075_eos, rxscan1078_done
+  rxscan1078_scan:
+    set_addr $I10, rxscan1078_loop
+    rx1075_cur."!mark_push"(0, rx1075_pos, $I10)
+  rxscan1078_done:
+.annotate 'line', 501
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1063_fail
-    rx1059_cur."!mark_push"(0, rx1059_pos, $I10)
+    set_addr $I10, rxcap_1079_fail
+    rx1075_cur."!mark_push"(0, rx1075_pos, $I10)
   # rx literal  "-"
-    add $I11, rx1059_pos, 1
-    gt $I11, rx1059_eos, rx1059_fail
-    sub $I11, rx1059_pos, rx1059_off
-    substr $S10, rx1059_tgt, $I11, 1
-    ne $S10, "-", rx1059_fail
-    add rx1059_pos, 1
-    set_addr $I10, rxcap_1063_fail
-    ($I12, $I11) = rx1059_cur."!mark_peek"($I10)
-    rx1059_cur."!cursor_pos"($I11)
-    ($P10) = rx1059_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1059_pos, "")
-    rx1059_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1075_pos, 1
+    gt $I11, rx1075_eos, rx1075_fail
+    sub $I11, rx1075_pos, rx1075_off
+    substr $S10, rx1075_tgt, $I11, 1
+    ne $S10, "-", rx1075_fail
+    add rx1075_pos, 1
+    set_addr $I10, rxcap_1079_fail
+    ($I12, $I11) = rx1075_cur."!mark_peek"($I10)
+    rx1075_cur."!cursor_pos"($I11)
+    ($P10) = rx1075_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1075_pos, "")
+    rx1075_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1063_done
-  rxcap_1063_fail:
-    goto rx1059_fail
-  rxcap_1063_done:
+    goto rxcap_1079_done
+  rxcap_1079_fail:
+    goto rx1075_fail
+  rxcap_1079_done:
   # rx enumcharlist negate=1 zerowidth
-    ge rx1059_pos, rx1059_eos, rx1059_fail
-    sub $I10, rx1059_pos, rx1059_off
-    substr $S10, rx1059_tgt, $I10, 1
+    ge rx1075_pos, rx1075_eos, rx1075_fail
+    sub $I10, rx1075_pos, rx1075_off
+    substr $S10, rx1075_tgt, $I10, 1
     index $I11, ">", $S10
-    ge $I11, 0, rx1059_fail
+    ge $I11, 0, rx1075_fail
   # rx subrule "number" subtype=zerowidth negate=1
-    rx1059_cur."!cursor_pos"(rx1059_pos)
-    $P10 = rx1059_cur."number"()
-    if $P10, rx1059_fail
+    rx1075_cur."!cursor_pos"(rx1075_pos)
+    $P10 = rx1075_cur."number"()
+    if $P10, rx1075_fail
   # rx subrule "O" subtype=capture negate=
-    rx1059_cur."!cursor_pos"(rx1059_pos)
-    $P10 = rx1059_cur."O"("%symbolic_unary, :pirop<neg>")
-    unless $P10, rx1059_fail
-    rx1059_cur."!mark_push"(0, -1, 0, $P10)
+    rx1075_cur."!cursor_pos"(rx1075_pos)
+    $P10 = rx1075_cur."O"("%symbolic_unary, :pirop<neg>")
+    unless $P10, rx1075_fail
+    rx1075_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1059_pos = $P10."pos"()
+    rx1075_pos = $P10."pos"()
   # rx pass
-    rx1059_cur."!cursor_pass"(rx1059_pos, "prefix:sym<->")
-    rx1059_cur."!cursor_debug"("PASS  ", "prefix:sym<->", " at pos=", rx1059_pos)
-    .return (rx1059_cur)
-  rx1059_fail:
-.annotate 'line', 445
-    (rx1059_rep, rx1059_pos, $I10, $P10) = rx1059_cur."!mark_fail"(0)
-    lt rx1059_pos, -1, rx1059_done
-    eq rx1059_pos, -1, rx1059_fail
+    rx1075_cur."!cursor_pass"(rx1075_pos, "prefix:sym<->")
+    rx1075_cur."!cursor_debug"("PASS  ", "prefix:sym<->", " at pos=", rx1075_pos)
+    .return (rx1075_cur)
+  rx1075_fail:
+.annotate 'line', 446
+    (rx1075_rep, rx1075_pos, $I10, $P10) = rx1075_cur."!mark_fail"(0)
+    lt rx1075_pos, -1, rx1075_done
+    eq rx1075_pos, -1, rx1075_fail
     jump $I10
-  rx1059_done:
-    rx1059_cur."!cursor_fail"()
-    rx1059_cur."!cursor_debug"("FAIL  ", "prefix:sym<->")
-    .return (rx1059_cur)
+  rx1075_done:
+    rx1075_cur."!cursor_fail"()
+    rx1075_cur."!cursor_debug"("FAIL  ", "prefix:sym<->")
+    .return (rx1075_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<->"  :subid("267_1275600007.84296") :method
-.annotate 'line', 445
-    new $P1061, "ResizablePMCArray"
-    push $P1061, "-"
-    .return ($P1061)
+.sub "!PREFIX__prefix:sym<->"  :subid("267_1275811487.95429") :method
+.annotate 'line', 446
+    new $P1077, "ResizablePMCArray"
+    push $P1077, "-"
+    .return ($P1077)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<?>"  :subid("268_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .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 ", "prefix: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', 501
+.sub "prefix:sym<?>"  :subid("268_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1081_tgt
+    .local int rx1081_pos
+    .local int rx1081_off
+    .local int rx1081_eos
+    .local int rx1081_rep
+    .local pmc rx1081_cur
+    (rx1081_cur, rx1081_pos, rx1081_tgt) = self."!cursor_start"()
+    rx1081_cur."!cursor_debug"("START ", "prefix:sym<?>")
+    .lex unicode:"$\x{a2}", rx1081_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1081_eos, rx1081_tgt
+    gt rx1081_pos, rx1081_eos, rx1081_done
+    set rx1081_off, 0
+    lt rx1081_pos, 2, rx1081_start
+    sub rx1081_off, rx1081_pos, 1
+    substr rx1081_tgt, rx1081_tgt, rx1081_off
+  rx1081_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1085_done
+    goto rxscan1085_scan
+  rxscan1085_loop:
+    ($P10) = rx1081_cur."from"()
+    inc $P10
+    set rx1081_pos, $P10
+    ge rx1081_pos, rx1081_eos, rxscan1085_done
+  rxscan1085_scan:
+    set_addr $I10, rxscan1085_loop
+    rx1081_cur."!mark_push"(0, rx1081_pos, $I10)
+  rxscan1085_done:
+.annotate 'line', 502
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1070_fail
-    rx1065_cur."!mark_push"(0, rx1065_pos, $I10)
+    set_addr $I10, rxcap_1086_fail
+    rx1081_cur."!mark_push"(0, rx1081_pos, $I10)
   # rx literal  "?"
-    add $I11, rx1065_pos, 1
-    gt $I11, rx1065_eos, rx1065_fail
-    sub $I11, rx1065_pos, rx1065_off
-    substr $S10, rx1065_tgt, $I11, 1
-    ne $S10, "?", rx1065_fail
-    add rx1065_pos, 1
-    set_addr $I10, rxcap_1070_fail
-    ($I12, $I11) = rx1065_cur."!mark_peek"($I10)
-    rx1065_cur."!cursor_pos"($I11)
-    ($P10) = rx1065_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1065_pos, "")
-    rx1065_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1081_pos, 1
+    gt $I11, rx1081_eos, rx1081_fail
+    sub $I11, rx1081_pos, rx1081_off
+    substr $S10, rx1081_tgt, $I11, 1
+    ne $S10, "?", rx1081_fail
+    add rx1081_pos, 1
+    set_addr $I10, rxcap_1086_fail
+    ($I12, $I11) = rx1081_cur."!mark_peek"($I10)
+    rx1081_cur."!cursor_pos"($I11)
+    ($P10) = rx1081_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1081_pos, "")
+    rx1081_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1070_done
-  rxcap_1070_fail:
-    goto rx1065_fail
-  rxcap_1070_done:
+    goto rxcap_1086_done
+  rxcap_1086_fail:
+    goto rx1081_fail
+  rxcap_1086_done:
   # rx subrule "O" subtype=capture negate=
-    rx1065_cur."!cursor_pos"(rx1065_pos)
-    $P10 = rx1065_cur."O"("%symbolic_unary, :pirop<istrue>")
-    unless $P10, rx1065_fail
-    rx1065_cur."!mark_push"(0, -1, 0, $P10)
+    rx1081_cur."!cursor_pos"(rx1081_pos)
+    $P10 = rx1081_cur."O"("%symbolic_unary, :pirop<istrue>")
+    unless $P10, rx1081_fail
+    rx1081_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1065_pos = $P10."pos"()
+    rx1081_pos = $P10."pos"()
   # rx pass
-    rx1065_cur."!cursor_pass"(rx1065_pos, "prefix:sym<?>")
-    rx1065_cur."!cursor_debug"("PASS  ", "prefix:sym<?>", " at pos=", rx1065_pos)
-    .return (rx1065_cur)
-  rx1065_fail:
-.annotate 'line', 445
-    (rx1065_rep, rx1065_pos, $I10, $P10) = rx1065_cur."!mark_fail"(0)
-    lt rx1065_pos, -1, rx1065_done
-    eq rx1065_pos, -1, rx1065_fail
+    rx1081_cur."!cursor_pass"(rx1081_pos, "prefix:sym<?>")
+    rx1081_cur."!cursor_debug"("PASS  ", "prefix:sym<?>", " at pos=", rx1081_pos)
+    .return (rx1081_cur)
+  rx1081_fail:
+.annotate 'line', 446
+    (rx1081_rep, rx1081_pos, $I10, $P10) = rx1081_cur."!mark_fail"(0)
+    lt rx1081_pos, -1, rx1081_done
+    eq rx1081_pos, -1, rx1081_fail
     jump $I10
-  rx1065_done:
-    rx1065_cur."!cursor_fail"()
-    rx1065_cur."!cursor_debug"("FAIL  ", "prefix:sym<?>")
-    .return (rx1065_cur)
+  rx1081_done:
+    rx1081_cur."!cursor_fail"()
+    rx1081_cur."!cursor_debug"("FAIL  ", "prefix:sym<?>")
+    .return (rx1081_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<?>"  :subid("269_1275600007.84296") :method
-.annotate 'line', 445
-    $P1067 = self."!PREFIX__!subrule"("O", "?")
-    new $P1068, "ResizablePMCArray"
-    push $P1068, $P1067
-    .return ($P1068)
+.sub "!PREFIX__prefix:sym<?>"  :subid("269_1275811487.95429") :method
+.annotate 'line', 446
+    $P1083 = self."!PREFIX__!subrule"("O", "?")
+    new $P1084, "ResizablePMCArray"
+    push $P1084, $P1083
+    .return ($P1084)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<!>"  :subid("270_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .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', 502
+.sub "prefix:sym<!>"  :subid("270_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1088_tgt
+    .local int rx1088_pos
+    .local int rx1088_off
+    .local int rx1088_eos
+    .local int rx1088_rep
+    .local pmc rx1088_cur
+    (rx1088_cur, rx1088_pos, rx1088_tgt) = self."!cursor_start"()
+    rx1088_cur."!cursor_debug"("START ", "prefix:sym<!>")
+    .lex unicode:"$\x{a2}", rx1088_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1088_eos, rx1088_tgt
+    gt rx1088_pos, rx1088_eos, rx1088_done
+    set rx1088_off, 0
+    lt rx1088_pos, 2, rx1088_start
+    sub rx1088_off, rx1088_pos, 1
+    substr rx1088_tgt, rx1088_tgt, rx1088_off
+  rx1088_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1092_done
+    goto rxscan1092_scan
+  rxscan1092_loop:
+    ($P10) = rx1088_cur."from"()
+    inc $P10
+    set rx1088_pos, $P10
+    ge rx1088_pos, rx1088_eos, rxscan1092_done
+  rxscan1092_scan:
+    set_addr $I10, rxscan1092_loop
+    rx1088_cur."!mark_push"(0, rx1088_pos, $I10)
+  rxscan1092_done:
+.annotate 'line', 503
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1077_fail
-    rx1072_cur."!mark_push"(0, rx1072_pos, $I10)
+    set_addr $I10, rxcap_1093_fail
+    rx1088_cur."!mark_push"(0, rx1088_pos, $I10)
   # rx literal  "!"
-    add $I11, rx1072_pos, 1
-    gt $I11, rx1072_eos, rx1072_fail
-    sub $I11, rx1072_pos, rx1072_off
-    substr $S10, rx1072_tgt, $I11, 1
-    ne $S10, "!", rx1072_fail
-    add rx1072_pos, 1
-    set_addr $I10, rxcap_1077_fail
-    ($I12, $I11) = rx1072_cur."!mark_peek"($I10)
-    rx1072_cur."!cursor_pos"($I11)
-    ($P10) = rx1072_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1072_pos, "")
-    rx1072_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1088_pos, 1
+    gt $I11, rx1088_eos, rx1088_fail
+    sub $I11, rx1088_pos, rx1088_off
+    substr $S10, rx1088_tgt, $I11, 1
+    ne $S10, "!", rx1088_fail
+    add rx1088_pos, 1
+    set_addr $I10, rxcap_1093_fail
+    ($I12, $I11) = rx1088_cur."!mark_peek"($I10)
+    rx1088_cur."!cursor_pos"($I11)
+    ($P10) = rx1088_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1088_pos, "")
+    rx1088_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1077_done
-  rxcap_1077_fail:
-    goto rx1072_fail
-  rxcap_1077_done:
+    goto rxcap_1093_done
+  rxcap_1093_fail:
+    goto rx1088_fail
+  rxcap_1093_done:
   # rx subrule "O" subtype=capture negate=
-    rx1072_cur."!cursor_pos"(rx1072_pos)
-    $P10 = rx1072_cur."O"("%symbolic_unary, :pirop<isfalse>")
-    unless $P10, rx1072_fail
-    rx1072_cur."!mark_push"(0, -1, 0, $P10)
+    rx1088_cur."!cursor_pos"(rx1088_pos)
+    $P10 = rx1088_cur."O"("%symbolic_unary, :pirop<isfalse>")
+    unless $P10, rx1088_fail
+    rx1088_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1072_pos = $P10."pos"()
+    rx1088_pos = $P10."pos"()
   # rx pass
-    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', 445
-    (rx1072_rep, rx1072_pos, $I10, $P10) = rx1072_cur."!mark_fail"(0)
-    lt rx1072_pos, -1, rx1072_done
-    eq rx1072_pos, -1, rx1072_fail
+    rx1088_cur."!cursor_pass"(rx1088_pos, "prefix:sym<!>")
+    rx1088_cur."!cursor_debug"("PASS  ", "prefix:sym<!>", " at pos=", rx1088_pos)
+    .return (rx1088_cur)
+  rx1088_fail:
+.annotate 'line', 446
+    (rx1088_rep, rx1088_pos, $I10, $P10) = rx1088_cur."!mark_fail"(0)
+    lt rx1088_pos, -1, rx1088_done
+    eq rx1088_pos, -1, rx1088_fail
     jump $I10
-  rx1072_done:
-    rx1072_cur."!cursor_fail"()
-    rx1072_cur."!cursor_debug"("FAIL  ", "prefix:sym<!>")
-    .return (rx1072_cur)
+  rx1088_done:
+    rx1088_cur."!cursor_fail"()
+    rx1088_cur."!cursor_debug"("FAIL  ", "prefix:sym<!>")
+    .return (rx1088_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<!>"  :subid("271_1275600007.84296") :method
-.annotate 'line', 445
-    $P1074 = self."!PREFIX__!subrule"("O", "!")
-    new $P1075, "ResizablePMCArray"
-    push $P1075, $P1074
-    .return ($P1075)
+.sub "!PREFIX__prefix:sym<!>"  :subid("271_1275811487.95429") :method
+.annotate 'line', 446
+    $P1090 = self."!PREFIX__!subrule"("O", "!")
+    new $P1091, "ResizablePMCArray"
+    push $P1091, $P1090
+    .return ($P1091)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<|>"  :subid("272_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .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', 503
+.sub "prefix:sym<|>"  :subid("272_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1095_tgt
+    .local int rx1095_pos
+    .local int rx1095_off
+    .local int rx1095_eos
+    .local int rx1095_rep
+    .local pmc rx1095_cur
+    (rx1095_cur, rx1095_pos, rx1095_tgt) = self."!cursor_start"()
+    rx1095_cur."!cursor_debug"("START ", "prefix:sym<|>")
+    .lex unicode:"$\x{a2}", rx1095_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1095_eos, rx1095_tgt
+    gt rx1095_pos, rx1095_eos, rx1095_done
+    set rx1095_off, 0
+    lt rx1095_pos, 2, rx1095_start
+    sub rx1095_off, rx1095_pos, 1
+    substr rx1095_tgt, rx1095_tgt, rx1095_off
+  rx1095_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1099_done
+    goto rxscan1099_scan
+  rxscan1099_loop:
+    ($P10) = rx1095_cur."from"()
+    inc $P10
+    set rx1095_pos, $P10
+    ge rx1095_pos, rx1095_eos, rxscan1099_done
+  rxscan1099_scan:
+    set_addr $I10, rxscan1099_loop
+    rx1095_cur."!mark_push"(0, rx1095_pos, $I10)
+  rxscan1099_done:
+.annotate 'line', 504
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1084_fail
-    rx1079_cur."!mark_push"(0, rx1079_pos, $I10)
+    set_addr $I10, rxcap_1100_fail
+    rx1095_cur."!mark_push"(0, rx1095_pos, $I10)
   # rx literal  "|"
-    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)
+    add $I11, rx1095_pos, 1
+    gt $I11, rx1095_eos, rx1095_fail
+    sub $I11, rx1095_pos, rx1095_off
+    substr $S10, rx1095_tgt, $I11, 1
+    ne $S10, "|", rx1095_fail
+    add rx1095_pos, 1
+    set_addr $I10, rxcap_1100_fail
+    ($I12, $I11) = rx1095_cur."!mark_peek"($I10)
+    rx1095_cur."!cursor_pos"($I11)
+    ($P10) = rx1095_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1095_pos, "")
+    rx1095_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1084_done
-  rxcap_1084_fail:
-    goto rx1079_fail
-  rxcap_1084_done:
+    goto rxcap_1100_done
+  rxcap_1100_fail:
+    goto rx1095_fail
+  rxcap_1100_done:
   # rx subrule "O" subtype=capture negate=
-    rx1079_cur."!cursor_pos"(rx1079_pos)
-    $P10 = rx1079_cur."O"("%symbolic_unary")
-    unless $P10, rx1079_fail
-    rx1079_cur."!mark_push"(0, -1, 0, $P10)
+    rx1095_cur."!cursor_pos"(rx1095_pos)
+    $P10 = rx1095_cur."O"("%symbolic_unary")
+    unless $P10, rx1095_fail
+    rx1095_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1079_pos = $P10."pos"()
+    rx1095_pos = $P10."pos"()
   # rx pass
-    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', 445
-    (rx1079_rep, rx1079_pos, $I10, $P10) = rx1079_cur."!mark_fail"(0)
-    lt rx1079_pos, -1, rx1079_done
-    eq rx1079_pos, -1, rx1079_fail
+    rx1095_cur."!cursor_pass"(rx1095_pos, "prefix:sym<|>")
+    rx1095_cur."!cursor_debug"("PASS  ", "prefix:sym<|>", " at pos=", rx1095_pos)
+    .return (rx1095_cur)
+  rx1095_fail:
+.annotate 'line', 446
+    (rx1095_rep, rx1095_pos, $I10, $P10) = rx1095_cur."!mark_fail"(0)
+    lt rx1095_pos, -1, rx1095_done
+    eq rx1095_pos, -1, rx1095_fail
     jump $I10
-  rx1079_done:
-    rx1079_cur."!cursor_fail"()
-    rx1079_cur."!cursor_debug"("FAIL  ", "prefix:sym<|>")
-    .return (rx1079_cur)
+  rx1095_done:
+    rx1095_cur."!cursor_fail"()
+    rx1095_cur."!cursor_debug"("FAIL  ", "prefix:sym<|>")
+    .return (rx1095_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<|>"  :subid("273_1275600007.84296") :method
-.annotate 'line', 445
-    $P1081 = self."!PREFIX__!subrule"("O", "|")
-    new $P1082, "ResizablePMCArray"
-    push $P1082, $P1081
-    .return ($P1082)
+.sub "!PREFIX__prefix:sym<|>"  :subid("273_1275811487.95429") :method
+.annotate 'line', 446
+    $P1097 = self."!PREFIX__!subrule"("O", "|")
+    new $P1098, "ResizablePMCArray"
+    push $P1098, $P1097
+    .return ($P1098)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<*>"  :subid("274_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1086_tgt
-    .local int rx1086_pos
-    .local int rx1086_off
-    .local int rx1086_eos
-    .local int rx1086_rep
-    .local pmc rx1086_cur
-    (rx1086_cur, rx1086_pos, rx1086_tgt) = self."!cursor_start"()
-    rx1086_cur."!cursor_debug"("START ", "infix:sym<*>")
-    .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, rxscan1090_done
-    goto rxscan1090_scan
-  rxscan1090_loop:
-    ($P10) = rx1086_cur."from"()
-    inc $P10
-    set rx1086_pos, $P10
-    ge rx1086_pos, rx1086_eos, rxscan1090_done
-  rxscan1090_scan:
-    set_addr $I10, rxscan1090_loop
-    rx1086_cur."!mark_push"(0, rx1086_pos, $I10)
-  rxscan1090_done:
-.annotate 'line', 505
+.sub "infix:sym<*>"  :subid("274_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1102_tgt
+    .local int rx1102_pos
+    .local int rx1102_off
+    .local int rx1102_eos
+    .local int rx1102_rep
+    .local pmc rx1102_cur
+    (rx1102_cur, rx1102_pos, rx1102_tgt) = self."!cursor_start"()
+    rx1102_cur."!cursor_debug"("START ", "infix:sym<*>")
+    .lex unicode:"$\x{a2}", rx1102_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1102_eos, rx1102_tgt
+    gt rx1102_pos, rx1102_eos, rx1102_done
+    set rx1102_off, 0
+    lt rx1102_pos, 2, rx1102_start
+    sub rx1102_off, rx1102_pos, 1
+    substr rx1102_tgt, rx1102_tgt, rx1102_off
+  rx1102_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1106_done
+    goto rxscan1106_scan
+  rxscan1106_loop:
+    ($P10) = rx1102_cur."from"()
+    inc $P10
+    set rx1102_pos, $P10
+    ge rx1102_pos, rx1102_eos, rxscan1106_done
+  rxscan1106_scan:
+    set_addr $I10, rxscan1106_loop
+    rx1102_cur."!mark_push"(0, rx1102_pos, $I10)
+  rxscan1106_done:
+.annotate 'line', 506
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1091_fail
-    rx1086_cur."!mark_push"(0, rx1086_pos, $I10)
+    set_addr $I10, rxcap_1107_fail
+    rx1102_cur."!mark_push"(0, rx1102_pos, $I10)
   # rx literal  "*"
-    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_1091_fail
-    ($I12, $I11) = rx1086_cur."!mark_peek"($I10)
-    rx1086_cur."!cursor_pos"($I11)
-    ($P10) = rx1086_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1086_pos, "")
-    rx1086_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1102_pos, 1
+    gt $I11, rx1102_eos, rx1102_fail
+    sub $I11, rx1102_pos, rx1102_off
+    substr $S10, rx1102_tgt, $I11, 1
+    ne $S10, "*", rx1102_fail
+    add rx1102_pos, 1
+    set_addr $I10, rxcap_1107_fail
+    ($I12, $I11) = rx1102_cur."!mark_peek"($I10)
+    rx1102_cur."!cursor_pos"($I11)
+    ($P10) = rx1102_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1102_pos, "")
+    rx1102_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1091_done
-  rxcap_1091_fail:
-    goto rx1086_fail
-  rxcap_1091_done:
+    goto rxcap_1107_done
+  rxcap_1107_fail:
+    goto rx1102_fail
+  rxcap_1107_done:
   # rx subrule "O" subtype=capture negate=
-    rx1086_cur."!cursor_pos"(rx1086_pos)
-    $P10 = rx1086_cur."O"("%multiplicative, :pirop<mul>")
-    unless $P10, rx1086_fail
-    rx1086_cur."!mark_push"(0, -1, 0, $P10)
+    rx1102_cur."!cursor_pos"(rx1102_pos)
+    $P10 = rx1102_cur."O"("%multiplicative, :pirop<mul>")
+    unless $P10, rx1102_fail
+    rx1102_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1086_pos = $P10."pos"()
+    rx1102_pos = $P10."pos"()
   # rx pass
-    rx1086_cur."!cursor_pass"(rx1086_pos, "infix:sym<*>")
-    rx1086_cur."!cursor_debug"("PASS  ", "infix:sym<*>", " at pos=", rx1086_pos)
-    .return (rx1086_cur)
-  rx1086_fail:
-.annotate 'line', 445
-    (rx1086_rep, rx1086_pos, $I10, $P10) = rx1086_cur."!mark_fail"(0)
-    lt rx1086_pos, -1, rx1086_done
-    eq rx1086_pos, -1, rx1086_fail
+    rx1102_cur."!cursor_pass"(rx1102_pos, "infix:sym<*>")
+    rx1102_cur."!cursor_debug"("PASS  ", "infix:sym<*>", " at pos=", rx1102_pos)
+    .return (rx1102_cur)
+  rx1102_fail:
+.annotate 'line', 446
+    (rx1102_rep, rx1102_pos, $I10, $P10) = rx1102_cur."!mark_fail"(0)
+    lt rx1102_pos, -1, rx1102_done
+    eq rx1102_pos, -1, rx1102_fail
     jump $I10
-  rx1086_done:
-    rx1086_cur."!cursor_fail"()
-    rx1086_cur."!cursor_debug"("FAIL  ", "infix:sym<*>")
-    .return (rx1086_cur)
+  rx1102_done:
+    rx1102_cur."!cursor_fail"()
+    rx1102_cur."!cursor_debug"("FAIL  ", "infix:sym<*>")
+    .return (rx1102_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<*>"  :subid("275_1275600007.84296") :method
-.annotate 'line', 445
-    $P1088 = self."!PREFIX__!subrule"("O", "*")
-    new $P1089, "ResizablePMCArray"
-    push $P1089, $P1088
-    .return ($P1089)
+.sub "!PREFIX__infix:sym<*>"  :subid("275_1275811487.95429") :method
+.annotate 'line', 446
+    $P1104 = self."!PREFIX__!subrule"("O", "*")
+    new $P1105, "ResizablePMCArray"
+    push $P1105, $P1104
+    .return ($P1105)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym</>"  :subid("276_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1093_tgt
-    .local int rx1093_pos
-    .local int rx1093_off
-    .local int rx1093_eos
-    .local int rx1093_rep
-    .local pmc rx1093_cur
-    (rx1093_cur, rx1093_pos, rx1093_tgt) = self."!cursor_start"()
-    rx1093_cur."!cursor_debug"("START ", "infix:sym</>")
-    .lex unicode:"$\x{a2}", rx1093_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1093_eos, rx1093_tgt
-    gt rx1093_pos, rx1093_eos, rx1093_done
-    set rx1093_off, 0
-    lt rx1093_pos, 2, rx1093_start
-    sub rx1093_off, rx1093_pos, 1
-    substr rx1093_tgt, rx1093_tgt, rx1093_off
-  rx1093_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1097_done
-    goto rxscan1097_scan
-  rxscan1097_loop:
-    ($P10) = rx1093_cur."from"()
-    inc $P10
-    set rx1093_pos, $P10
-    ge rx1093_pos, rx1093_eos, rxscan1097_done
-  rxscan1097_scan:
-    set_addr $I10, rxscan1097_loop
-    rx1093_cur."!mark_push"(0, rx1093_pos, $I10)
-  rxscan1097_done:
-.annotate 'line', 506
+.sub "infix:sym</>"  :subid("276_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1109_tgt
+    .local int rx1109_pos
+    .local int rx1109_off
+    .local int rx1109_eos
+    .local int rx1109_rep
+    .local pmc rx1109_cur
+    (rx1109_cur, rx1109_pos, rx1109_tgt) = self."!cursor_start"()
+    rx1109_cur."!cursor_debug"("START ", "infix:sym</>")
+    .lex unicode:"$\x{a2}", rx1109_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1109_eos, rx1109_tgt
+    gt rx1109_pos, rx1109_eos, rx1109_done
+    set rx1109_off, 0
+    lt rx1109_pos, 2, rx1109_start
+    sub rx1109_off, rx1109_pos, 1
+    substr rx1109_tgt, rx1109_tgt, rx1109_off
+  rx1109_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1113_done
+    goto rxscan1113_scan
+  rxscan1113_loop:
+    ($P10) = rx1109_cur."from"()
+    inc $P10
+    set rx1109_pos, $P10
+    ge rx1109_pos, rx1109_eos, rxscan1113_done
+  rxscan1113_scan:
+    set_addr $I10, rxscan1113_loop
+    rx1109_cur."!mark_push"(0, rx1109_pos, $I10)
+  rxscan1113_done:
+.annotate 'line', 507
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1098_fail
-    rx1093_cur."!mark_push"(0, rx1093_pos, $I10)
+    set_addr $I10, rxcap_1114_fail
+    rx1109_cur."!mark_push"(0, rx1109_pos, $I10)
   # rx literal  "/"
-    add $I11, rx1093_pos, 1
-    gt $I11, rx1093_eos, rx1093_fail
-    sub $I11, rx1093_pos, rx1093_off
-    substr $S10, rx1093_tgt, $I11, 1
-    ne $S10, "/", rx1093_fail
-    add rx1093_pos, 1
-    set_addr $I10, rxcap_1098_fail
-    ($I12, $I11) = rx1093_cur."!mark_peek"($I10)
-    rx1093_cur."!cursor_pos"($I11)
-    ($P10) = rx1093_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1093_pos, "")
-    rx1093_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1109_pos, 1
+    gt $I11, rx1109_eos, rx1109_fail
+    sub $I11, rx1109_pos, rx1109_off
+    substr $S10, rx1109_tgt, $I11, 1
+    ne $S10, "/", rx1109_fail
+    add rx1109_pos, 1
+    set_addr $I10, rxcap_1114_fail
+    ($I12, $I11) = rx1109_cur."!mark_peek"($I10)
+    rx1109_cur."!cursor_pos"($I11)
+    ($P10) = rx1109_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1109_pos, "")
+    rx1109_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1098_done
-  rxcap_1098_fail:
-    goto rx1093_fail
-  rxcap_1098_done:
+    goto rxcap_1114_done
+  rxcap_1114_fail:
+    goto rx1109_fail
+  rxcap_1114_done:
   # rx subrule "O" subtype=capture negate=
-    rx1093_cur."!cursor_pos"(rx1093_pos)
-    $P10 = rx1093_cur."O"("%multiplicative, :pirop<div>")
-    unless $P10, rx1093_fail
-    rx1093_cur."!mark_push"(0, -1, 0, $P10)
+    rx1109_cur."!cursor_pos"(rx1109_pos)
+    $P10 = rx1109_cur."O"("%multiplicative, :pirop<div>")
+    unless $P10, rx1109_fail
+    rx1109_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1093_pos = $P10."pos"()
+    rx1109_pos = $P10."pos"()
   # rx pass
-    rx1093_cur."!cursor_pass"(rx1093_pos, "infix:sym</>")
-    rx1093_cur."!cursor_debug"("PASS  ", "infix:sym</>", " at pos=", rx1093_pos)
-    .return (rx1093_cur)
-  rx1093_fail:
-.annotate 'line', 445
-    (rx1093_rep, rx1093_pos, $I10, $P10) = rx1093_cur."!mark_fail"(0)
-    lt rx1093_pos, -1, rx1093_done
-    eq rx1093_pos, -1, rx1093_fail
+    rx1109_cur."!cursor_pass"(rx1109_pos, "infix:sym</>")
+    rx1109_cur."!cursor_debug"("PASS  ", "infix:sym</>", " at pos=", rx1109_pos)
+    .return (rx1109_cur)
+  rx1109_fail:
+.annotate 'line', 446
+    (rx1109_rep, rx1109_pos, $I10, $P10) = rx1109_cur."!mark_fail"(0)
+    lt rx1109_pos, -1, rx1109_done
+    eq rx1109_pos, -1, rx1109_fail
     jump $I10
-  rx1093_done:
-    rx1093_cur."!cursor_fail"()
-    rx1093_cur."!cursor_debug"("FAIL  ", "infix:sym</>")
-    .return (rx1093_cur)
+  rx1109_done:
+    rx1109_cur."!cursor_fail"()
+    rx1109_cur."!cursor_debug"("FAIL  ", "infix:sym</>")
+    .return (rx1109_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym</>"  :subid("277_1275600007.84296") :method
-.annotate 'line', 445
-    $P1095 = self."!PREFIX__!subrule"("O", "/")
-    new $P1096, "ResizablePMCArray"
-    push $P1096, $P1095
-    .return ($P1096)
+.sub "!PREFIX__infix:sym</>"  :subid("277_1275811487.95429") :method
+.annotate 'line', 446
+    $P1111 = self."!PREFIX__!subrule"("O", "/")
+    new $P1112, "ResizablePMCArray"
+    push $P1112, $P1111
+    .return ($P1112)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<%>"  :subid("278_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1100_tgt
-    .local int rx1100_pos
-    .local int rx1100_off
-    .local int rx1100_eos
-    .local int rx1100_rep
-    .local pmc rx1100_cur
-    (rx1100_cur, rx1100_pos, rx1100_tgt) = self."!cursor_start"()
-    rx1100_cur."!cursor_debug"("START ", "infix:sym<%>")
-    .lex unicode:"$\x{a2}", rx1100_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1100_eos, rx1100_tgt
-    gt rx1100_pos, rx1100_eos, rx1100_done
-    set rx1100_off, 0
-    lt rx1100_pos, 2, rx1100_start
-    sub rx1100_off, rx1100_pos, 1
-    substr rx1100_tgt, rx1100_tgt, rx1100_off
-  rx1100_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1104_done
-    goto rxscan1104_scan
-  rxscan1104_loop:
-    ($P10) = rx1100_cur."from"()
-    inc $P10
-    set rx1100_pos, $P10
-    ge rx1100_pos, rx1100_eos, rxscan1104_done
-  rxscan1104_scan:
-    set_addr $I10, rxscan1104_loop
-    rx1100_cur."!mark_push"(0, rx1100_pos, $I10)
-  rxscan1104_done:
-.annotate 'line', 507
+.sub "infix:sym<%>"  :subid("278_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1116_tgt
+    .local int rx1116_pos
+    .local int rx1116_off
+    .local int rx1116_eos
+    .local int rx1116_rep
+    .local pmc rx1116_cur
+    (rx1116_cur, rx1116_pos, rx1116_tgt) = self."!cursor_start"()
+    rx1116_cur."!cursor_debug"("START ", "infix:sym<%>")
+    .lex unicode:"$\x{a2}", rx1116_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1116_eos, rx1116_tgt
+    gt rx1116_pos, rx1116_eos, rx1116_done
+    set rx1116_off, 0
+    lt rx1116_pos, 2, rx1116_start
+    sub rx1116_off, rx1116_pos, 1
+    substr rx1116_tgt, rx1116_tgt, rx1116_off
+  rx1116_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1120_done
+    goto rxscan1120_scan
+  rxscan1120_loop:
+    ($P10) = rx1116_cur."from"()
+    inc $P10
+    set rx1116_pos, $P10
+    ge rx1116_pos, rx1116_eos, rxscan1120_done
+  rxscan1120_scan:
+    set_addr $I10, rxscan1120_loop
+    rx1116_cur."!mark_push"(0, rx1116_pos, $I10)
+  rxscan1120_done:
+.annotate 'line', 508
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1105_fail
-    rx1100_cur."!mark_push"(0, rx1100_pos, $I10)
+    set_addr $I10, rxcap_1121_fail
+    rx1116_cur."!mark_push"(0, rx1116_pos, $I10)
   # rx literal  "%"
-    add $I11, rx1100_pos, 1
-    gt $I11, rx1100_eos, rx1100_fail
-    sub $I11, rx1100_pos, rx1100_off
-    substr $S10, rx1100_tgt, $I11, 1
-    ne $S10, "%", rx1100_fail
-    add rx1100_pos, 1
-    set_addr $I10, rxcap_1105_fail
-    ($I12, $I11) = rx1100_cur."!mark_peek"($I10)
-    rx1100_cur."!cursor_pos"($I11)
-    ($P10) = rx1100_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1100_pos, "")
-    rx1100_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1116_pos, 1
+    gt $I11, rx1116_eos, rx1116_fail
+    sub $I11, rx1116_pos, rx1116_off
+    substr $S10, rx1116_tgt, $I11, 1
+    ne $S10, "%", rx1116_fail
+    add rx1116_pos, 1
+    set_addr $I10, rxcap_1121_fail
+    ($I12, $I11) = rx1116_cur."!mark_peek"($I10)
+    rx1116_cur."!cursor_pos"($I11)
+    ($P10) = rx1116_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1116_pos, "")
+    rx1116_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1105_done
-  rxcap_1105_fail:
-    goto rx1100_fail
-  rxcap_1105_done:
+    goto rxcap_1121_done
+  rxcap_1121_fail:
+    goto rx1116_fail
+  rxcap_1121_done:
   # rx subrule "O" subtype=capture negate=
-    rx1100_cur."!cursor_pos"(rx1100_pos)
-    $P10 = rx1100_cur."O"("%multiplicative, :pirop<mod>")
-    unless $P10, rx1100_fail
-    rx1100_cur."!mark_push"(0, -1, 0, $P10)
+    rx1116_cur."!cursor_pos"(rx1116_pos)
+    $P10 = rx1116_cur."O"("%multiplicative, :pirop<mod>")
+    unless $P10, rx1116_fail
+    rx1116_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1100_pos = $P10."pos"()
+    rx1116_pos = $P10."pos"()
   # rx pass
-    rx1100_cur."!cursor_pass"(rx1100_pos, "infix:sym<%>")
-    rx1100_cur."!cursor_debug"("PASS  ", "infix:sym<%>", " at pos=", rx1100_pos)
-    .return (rx1100_cur)
-  rx1100_fail:
-.annotate 'line', 445
-    (rx1100_rep, rx1100_pos, $I10, $P10) = rx1100_cur."!mark_fail"(0)
-    lt rx1100_pos, -1, rx1100_done
-    eq rx1100_pos, -1, rx1100_fail
+    rx1116_cur."!cursor_pass"(rx1116_pos, "infix:sym<%>")
+    rx1116_cur."!cursor_debug"("PASS  ", "infix:sym<%>", " at pos=", rx1116_pos)
+    .return (rx1116_cur)
+  rx1116_fail:
+.annotate 'line', 446
+    (rx1116_rep, rx1116_pos, $I10, $P10) = rx1116_cur."!mark_fail"(0)
+    lt rx1116_pos, -1, rx1116_done
+    eq rx1116_pos, -1, rx1116_fail
     jump $I10
-  rx1100_done:
-    rx1100_cur."!cursor_fail"()
-    rx1100_cur."!cursor_debug"("FAIL  ", "infix:sym<%>")
-    .return (rx1100_cur)
+  rx1116_done:
+    rx1116_cur."!cursor_fail"()
+    rx1116_cur."!cursor_debug"("FAIL  ", "infix:sym<%>")
+    .return (rx1116_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<%>"  :subid("279_1275600007.84296") :method
-.annotate 'line', 445
-    $P1102 = self."!PREFIX__!subrule"("O", "%")
-    new $P1103, "ResizablePMCArray"
-    push $P1103, $P1102
-    .return ($P1103)
+.sub "!PREFIX__infix:sym<%>"  :subid("279_1275811487.95429") :method
+.annotate 'line', 446
+    $P1118 = self."!PREFIX__!subrule"("O", "%")
+    new $P1119, "ResizablePMCArray"
+    push $P1119, $P1118
+    .return ($P1119)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<+>"  :subid("280_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1107_tgt
-    .local int rx1107_pos
-    .local int rx1107_off
-    .local int rx1107_eos
-    .local int rx1107_rep
-    .local pmc rx1107_cur
-    (rx1107_cur, rx1107_pos, rx1107_tgt) = self."!cursor_start"()
-    rx1107_cur."!cursor_debug"("START ", "infix:sym<+>")
-    .lex unicode:"$\x{a2}", rx1107_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1107_eos, rx1107_tgt
-    gt rx1107_pos, rx1107_eos, rx1107_done
-    set rx1107_off, 0
-    lt rx1107_pos, 2, rx1107_start
-    sub rx1107_off, rx1107_pos, 1
-    substr rx1107_tgt, rx1107_tgt, rx1107_off
-  rx1107_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1111_done
-    goto rxscan1111_scan
-  rxscan1111_loop:
-    ($P10) = rx1107_cur."from"()
-    inc $P10
-    set rx1107_pos, $P10
-    ge rx1107_pos, rx1107_eos, rxscan1111_done
-  rxscan1111_scan:
-    set_addr $I10, rxscan1111_loop
-    rx1107_cur."!mark_push"(0, rx1107_pos, $I10)
-  rxscan1111_done:
-.annotate 'line', 509
+.sub "infix:sym<+>"  :subid("280_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1123_tgt
+    .local int rx1123_pos
+    .local int rx1123_off
+    .local int rx1123_eos
+    .local int rx1123_rep
+    .local pmc rx1123_cur
+    (rx1123_cur, rx1123_pos, rx1123_tgt) = self."!cursor_start"()
+    rx1123_cur."!cursor_debug"("START ", "infix:sym<+>")
+    .lex unicode:"$\x{a2}", rx1123_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1123_eos, rx1123_tgt
+    gt rx1123_pos, rx1123_eos, rx1123_done
+    set rx1123_off, 0
+    lt rx1123_pos, 2, rx1123_start
+    sub rx1123_off, rx1123_pos, 1
+    substr rx1123_tgt, rx1123_tgt, rx1123_off
+  rx1123_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1127_done
+    goto rxscan1127_scan
+  rxscan1127_loop:
+    ($P10) = rx1123_cur."from"()
+    inc $P10
+    set rx1123_pos, $P10
+    ge rx1123_pos, rx1123_eos, rxscan1127_done
+  rxscan1127_scan:
+    set_addr $I10, rxscan1127_loop
+    rx1123_cur."!mark_push"(0, rx1123_pos, $I10)
+  rxscan1127_done:
+.annotate 'line', 510
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1112_fail
-    rx1107_cur."!mark_push"(0, rx1107_pos, $I10)
+    set_addr $I10, rxcap_1128_fail
+    rx1123_cur."!mark_push"(0, rx1123_pos, $I10)
   # rx literal  "+"
-    add $I11, rx1107_pos, 1
-    gt $I11, rx1107_eos, rx1107_fail
-    sub $I11, rx1107_pos, rx1107_off
-    substr $S10, rx1107_tgt, $I11, 1
-    ne $S10, "+", rx1107_fail
-    add rx1107_pos, 1
-    set_addr $I10, rxcap_1112_fail
-    ($I12, $I11) = rx1107_cur."!mark_peek"($I10)
-    rx1107_cur."!cursor_pos"($I11)
-    ($P10) = rx1107_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1107_pos, "")
-    rx1107_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1123_pos, 1
+    gt $I11, rx1123_eos, rx1123_fail
+    sub $I11, rx1123_pos, rx1123_off
+    substr $S10, rx1123_tgt, $I11, 1
+    ne $S10, "+", rx1123_fail
+    add rx1123_pos, 1
+    set_addr $I10, rxcap_1128_fail
+    ($I12, $I11) = rx1123_cur."!mark_peek"($I10)
+    rx1123_cur."!cursor_pos"($I11)
+    ($P10) = rx1123_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1123_pos, "")
+    rx1123_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1112_done
-  rxcap_1112_fail:
-    goto rx1107_fail
-  rxcap_1112_done:
+    goto rxcap_1128_done
+  rxcap_1128_fail:
+    goto rx1123_fail
+  rxcap_1128_done:
   # rx subrule "O" subtype=capture negate=
-    rx1107_cur."!cursor_pos"(rx1107_pos)
-    $P10 = rx1107_cur."O"("%additive, :pirop<add>")
-    unless $P10, rx1107_fail
-    rx1107_cur."!mark_push"(0, -1, 0, $P10)
+    rx1123_cur."!cursor_pos"(rx1123_pos)
+    $P10 = rx1123_cur."O"("%additive, :pirop<add>")
+    unless $P10, rx1123_fail
+    rx1123_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1107_pos = $P10."pos"()
+    rx1123_pos = $P10."pos"()
   # rx pass
-    rx1107_cur."!cursor_pass"(rx1107_pos, "infix:sym<+>")
-    rx1107_cur."!cursor_debug"("PASS  ", "infix:sym<+>", " at pos=", rx1107_pos)
-    .return (rx1107_cur)
-  rx1107_fail:
-.annotate 'line', 445
-    (rx1107_rep, rx1107_pos, $I10, $P10) = rx1107_cur."!mark_fail"(0)
-    lt rx1107_pos, -1, rx1107_done
-    eq rx1107_pos, -1, rx1107_fail
+    rx1123_cur."!cursor_pass"(rx1123_pos, "infix:sym<+>")
+    rx1123_cur."!cursor_debug"("PASS  ", "infix:sym<+>", " at pos=", rx1123_pos)
+    .return (rx1123_cur)
+  rx1123_fail:
+.annotate 'line', 446
+    (rx1123_rep, rx1123_pos, $I10, $P10) = rx1123_cur."!mark_fail"(0)
+    lt rx1123_pos, -1, rx1123_done
+    eq rx1123_pos, -1, rx1123_fail
     jump $I10
-  rx1107_done:
-    rx1107_cur."!cursor_fail"()
-    rx1107_cur."!cursor_debug"("FAIL  ", "infix:sym<+>")
-    .return (rx1107_cur)
+  rx1123_done:
+    rx1123_cur."!cursor_fail"()
+    rx1123_cur."!cursor_debug"("FAIL  ", "infix:sym<+>")
+    .return (rx1123_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+>"  :subid("281_1275600007.84296") :method
-.annotate 'line', 445
-    $P1109 = self."!PREFIX__!subrule"("O", "+")
-    new $P1110, "ResizablePMCArray"
-    push $P1110, $P1109
-    .return ($P1110)
+.sub "!PREFIX__infix:sym<+>"  :subid("281_1275811487.95429") :method
+.annotate 'line', 446
+    $P1125 = self."!PREFIX__!subrule"("O", "+")
+    new $P1126, "ResizablePMCArray"
+    push $P1126, $P1125
+    .return ($P1126)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<->"  :subid("282_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1114_tgt
-    .local int rx1114_pos
-    .local int rx1114_off
-    .local int rx1114_eos
-    .local int rx1114_rep
-    .local pmc rx1114_cur
-    (rx1114_cur, rx1114_pos, rx1114_tgt) = self."!cursor_start"()
-    rx1114_cur."!cursor_debug"("START ", "infix:sym<->")
-    .lex unicode:"$\x{a2}", rx1114_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1114_eos, rx1114_tgt
-    gt rx1114_pos, rx1114_eos, rx1114_done
-    set rx1114_off, 0
-    lt rx1114_pos, 2, rx1114_start
-    sub rx1114_off, rx1114_pos, 1
-    substr rx1114_tgt, rx1114_tgt, rx1114_off
-  rx1114_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1118_done
-    goto rxscan1118_scan
-  rxscan1118_loop:
-    ($P10) = rx1114_cur."from"()
-    inc $P10
-    set rx1114_pos, $P10
-    ge rx1114_pos, rx1114_eos, rxscan1118_done
-  rxscan1118_scan:
-    set_addr $I10, rxscan1118_loop
-    rx1114_cur."!mark_push"(0, rx1114_pos, $I10)
-  rxscan1118_done:
-.annotate 'line', 510
+.sub "infix:sym<->"  :subid("282_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1130_tgt
+    .local int rx1130_pos
+    .local int rx1130_off
+    .local int rx1130_eos
+    .local int rx1130_rep
+    .local pmc rx1130_cur
+    (rx1130_cur, rx1130_pos, rx1130_tgt) = self."!cursor_start"()
+    rx1130_cur."!cursor_debug"("START ", "infix:sym<->")
+    .lex unicode:"$\x{a2}", rx1130_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1130_eos, rx1130_tgt
+    gt rx1130_pos, rx1130_eos, rx1130_done
+    set rx1130_off, 0
+    lt rx1130_pos, 2, rx1130_start
+    sub rx1130_off, rx1130_pos, 1
+    substr rx1130_tgt, rx1130_tgt, rx1130_off
+  rx1130_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1134_done
+    goto rxscan1134_scan
+  rxscan1134_loop:
+    ($P10) = rx1130_cur."from"()
+    inc $P10
+    set rx1130_pos, $P10
+    ge rx1130_pos, rx1130_eos, rxscan1134_done
+  rxscan1134_scan:
+    set_addr $I10, rxscan1134_loop
+    rx1130_cur."!mark_push"(0, rx1130_pos, $I10)
+  rxscan1134_done:
+.annotate 'line', 511
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1119_fail
-    rx1114_cur."!mark_push"(0, rx1114_pos, $I10)
+    set_addr $I10, rxcap_1135_fail
+    rx1130_cur."!mark_push"(0, rx1130_pos, $I10)
   # rx literal  "-"
-    add $I11, rx1114_pos, 1
-    gt $I11, rx1114_eos, rx1114_fail
-    sub $I11, rx1114_pos, rx1114_off
-    substr $S10, rx1114_tgt, $I11, 1
-    ne $S10, "-", rx1114_fail
-    add rx1114_pos, 1
-    set_addr $I10, rxcap_1119_fail
-    ($I12, $I11) = rx1114_cur."!mark_peek"($I10)
-    rx1114_cur."!cursor_pos"($I11)
-    ($P10) = rx1114_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1114_pos, "")
-    rx1114_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1130_pos, 1
+    gt $I11, rx1130_eos, rx1130_fail
+    sub $I11, rx1130_pos, rx1130_off
+    substr $S10, rx1130_tgt, $I11, 1
+    ne $S10, "-", rx1130_fail
+    add rx1130_pos, 1
+    set_addr $I10, rxcap_1135_fail
+    ($I12, $I11) = rx1130_cur."!mark_peek"($I10)
+    rx1130_cur."!cursor_pos"($I11)
+    ($P10) = rx1130_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1130_pos, "")
+    rx1130_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1119_done
-  rxcap_1119_fail:
-    goto rx1114_fail
-  rxcap_1119_done:
+    goto rxcap_1135_done
+  rxcap_1135_fail:
+    goto rx1130_fail
+  rxcap_1135_done:
   # rx subrule "O" subtype=capture negate=
-    rx1114_cur."!cursor_pos"(rx1114_pos)
-    $P10 = rx1114_cur."O"("%additive, :pirop<sub>")
-    unless $P10, rx1114_fail
-    rx1114_cur."!mark_push"(0, -1, 0, $P10)
+    rx1130_cur."!cursor_pos"(rx1130_pos)
+    $P10 = rx1130_cur."O"("%additive, :pirop<sub>")
+    unless $P10, rx1130_fail
+    rx1130_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1114_pos = $P10."pos"()
+    rx1130_pos = $P10."pos"()
   # rx pass
-    rx1114_cur."!cursor_pass"(rx1114_pos, "infix:sym<->")
-    rx1114_cur."!cursor_debug"("PASS  ", "infix:sym<->", " at pos=", rx1114_pos)
-    .return (rx1114_cur)
-  rx1114_fail:
-.annotate 'line', 445
-    (rx1114_rep, rx1114_pos, $I10, $P10) = rx1114_cur."!mark_fail"(0)
-    lt rx1114_pos, -1, rx1114_done
-    eq rx1114_pos, -1, rx1114_fail
+    rx1130_cur."!cursor_pass"(rx1130_pos, "infix:sym<->")
+    rx1130_cur."!cursor_debug"("PASS  ", "infix:sym<->", " at pos=", rx1130_pos)
+    .return (rx1130_cur)
+  rx1130_fail:
+.annotate 'line', 446
+    (rx1130_rep, rx1130_pos, $I10, $P10) = rx1130_cur."!mark_fail"(0)
+    lt rx1130_pos, -1, rx1130_done
+    eq rx1130_pos, -1, rx1130_fail
     jump $I10
-  rx1114_done:
-    rx1114_cur."!cursor_fail"()
-    rx1114_cur."!cursor_debug"("FAIL  ", "infix:sym<->")
-    .return (rx1114_cur)
+  rx1130_done:
+    rx1130_cur."!cursor_fail"()
+    rx1130_cur."!cursor_debug"("FAIL  ", "infix:sym<->")
+    .return (rx1130_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<->"  :subid("283_1275600007.84296") :method
-.annotate 'line', 445
-    $P1116 = self."!PREFIX__!subrule"("O", "-")
-    new $P1117, "ResizablePMCArray"
-    push $P1117, $P1116
-    .return ($P1117)
+.sub "!PREFIX__infix:sym<->"  :subid("283_1275811487.95429") :method
+.annotate 'line', 446
+    $P1132 = self."!PREFIX__!subrule"("O", "-")
+    new $P1133, "ResizablePMCArray"
+    push $P1133, $P1132
+    .return ($P1133)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~>"  :subid("284_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1121_tgt
-    .local int rx1121_pos
-    .local int rx1121_off
-    .local int rx1121_eos
-    .local int rx1121_rep
-    .local pmc rx1121_cur
-    (rx1121_cur, rx1121_pos, rx1121_tgt) = self."!cursor_start"()
-    rx1121_cur."!cursor_debug"("START ", "infix:sym<~>")
-    .lex unicode:"$\x{a2}", rx1121_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1121_eos, rx1121_tgt
-    gt rx1121_pos, rx1121_eos, rx1121_done
-    set rx1121_off, 0
-    lt rx1121_pos, 2, rx1121_start
-    sub rx1121_off, rx1121_pos, 1
-    substr rx1121_tgt, rx1121_tgt, rx1121_off
-  rx1121_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1125_done
-    goto rxscan1125_scan
-  rxscan1125_loop:
-    ($P10) = rx1121_cur."from"()
-    inc $P10
-    set rx1121_pos, $P10
-    ge rx1121_pos, rx1121_eos, rxscan1125_done
-  rxscan1125_scan:
-    set_addr $I10, rxscan1125_loop
-    rx1121_cur."!mark_push"(0, rx1121_pos, $I10)
-  rxscan1125_done:
-.annotate 'line', 512
+.sub "infix:sym<~>"  :subid("284_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1137_tgt
+    .local int rx1137_pos
+    .local int rx1137_off
+    .local int rx1137_eos
+    .local int rx1137_rep
+    .local pmc rx1137_cur
+    (rx1137_cur, rx1137_pos, rx1137_tgt) = self."!cursor_start"()
+    rx1137_cur."!cursor_debug"("START ", "infix:sym<~>")
+    .lex unicode:"$\x{a2}", rx1137_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1137_eos, rx1137_tgt
+    gt rx1137_pos, rx1137_eos, rx1137_done
+    set rx1137_off, 0
+    lt rx1137_pos, 2, rx1137_start
+    sub rx1137_off, rx1137_pos, 1
+    substr rx1137_tgt, rx1137_tgt, rx1137_off
+  rx1137_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1141_done
+    goto rxscan1141_scan
+  rxscan1141_loop:
+    ($P10) = rx1137_cur."from"()
+    inc $P10
+    set rx1137_pos, $P10
+    ge rx1137_pos, rx1137_eos, rxscan1141_done
+  rxscan1141_scan:
+    set_addr $I10, rxscan1141_loop
+    rx1137_cur."!mark_push"(0, rx1137_pos, $I10)
+  rxscan1141_done:
+.annotate 'line', 513
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1126_fail
-    rx1121_cur."!mark_push"(0, rx1121_pos, $I10)
+    set_addr $I10, rxcap_1142_fail
+    rx1137_cur."!mark_push"(0, rx1137_pos, $I10)
   # rx literal  "~"
-    add $I11, rx1121_pos, 1
-    gt $I11, rx1121_eos, rx1121_fail
-    sub $I11, rx1121_pos, rx1121_off
-    substr $S10, rx1121_tgt, $I11, 1
-    ne $S10, "~", rx1121_fail
-    add rx1121_pos, 1
-    set_addr $I10, rxcap_1126_fail
-    ($I12, $I11) = rx1121_cur."!mark_peek"($I10)
-    rx1121_cur."!cursor_pos"($I11)
-    ($P10) = rx1121_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1121_pos, "")
-    rx1121_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1137_pos, 1
+    gt $I11, rx1137_eos, rx1137_fail
+    sub $I11, rx1137_pos, rx1137_off
+    substr $S10, rx1137_tgt, $I11, 1
+    ne $S10, "~", rx1137_fail
+    add rx1137_pos, 1
+    set_addr $I10, rxcap_1142_fail
+    ($I12, $I11) = rx1137_cur."!mark_peek"($I10)
+    rx1137_cur."!cursor_pos"($I11)
+    ($P10) = rx1137_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1137_pos, "")
+    rx1137_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1126_done
-  rxcap_1126_fail:
-    goto rx1121_fail
-  rxcap_1126_done:
+    goto rxcap_1142_done
+  rxcap_1142_fail:
+    goto rx1137_fail
+  rxcap_1142_done:
   # rx subrule "O" subtype=capture negate=
-    rx1121_cur."!cursor_pos"(rx1121_pos)
-    $P10 = rx1121_cur."O"("%concatenation , :pirop<concat>")
-    unless $P10, rx1121_fail
-    rx1121_cur."!mark_push"(0, -1, 0, $P10)
+    rx1137_cur."!cursor_pos"(rx1137_pos)
+    $P10 = rx1137_cur."O"("%concatenation , :pirop<concat>")
+    unless $P10, rx1137_fail
+    rx1137_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1121_pos = $P10."pos"()
+    rx1137_pos = $P10."pos"()
   # rx pass
-    rx1121_cur."!cursor_pass"(rx1121_pos, "infix:sym<~>")
-    rx1121_cur."!cursor_debug"("PASS  ", "infix:sym<~>", " at pos=", rx1121_pos)
-    .return (rx1121_cur)
-  rx1121_fail:
-.annotate 'line', 445
-    (rx1121_rep, rx1121_pos, $I10, $P10) = rx1121_cur."!mark_fail"(0)
-    lt rx1121_pos, -1, rx1121_done
-    eq rx1121_pos, -1, rx1121_fail
+    rx1137_cur."!cursor_pass"(rx1137_pos, "infix:sym<~>")
+    rx1137_cur."!cursor_debug"("PASS  ", "infix:sym<~>", " at pos=", rx1137_pos)
+    .return (rx1137_cur)
+  rx1137_fail:
+.annotate 'line', 446
+    (rx1137_rep, rx1137_pos, $I10, $P10) = rx1137_cur."!mark_fail"(0)
+    lt rx1137_pos, -1, rx1137_done
+    eq rx1137_pos, -1, rx1137_fail
     jump $I10
-  rx1121_done:
-    rx1121_cur."!cursor_fail"()
-    rx1121_cur."!cursor_debug"("FAIL  ", "infix:sym<~>")
-    .return (rx1121_cur)
+  rx1137_done:
+    rx1137_cur."!cursor_fail"()
+    rx1137_cur."!cursor_debug"("FAIL  ", "infix:sym<~>")
+    .return (rx1137_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~>"  :subid("285_1275600007.84296") :method
-.annotate 'line', 445
-    $P1123 = self."!PREFIX__!subrule"("O", "~")
-    new $P1124, "ResizablePMCArray"
-    push $P1124, $P1123
-    .return ($P1124)
+.sub "!PREFIX__infix:sym<~>"  :subid("285_1275811487.95429") :method
+.annotate 'line', 446
+    $P1139 = self."!PREFIX__!subrule"("O", "~")
+    new $P1140, "ResizablePMCArray"
+    push $P1140, $P1139
+    .return ($P1140)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<==>"  :subid("286_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1128_tgt
-    .local int rx1128_pos
-    .local int rx1128_off
-    .local int rx1128_eos
-    .local int rx1128_rep
-    .local pmc rx1128_cur
-    (rx1128_cur, rx1128_pos, rx1128_tgt) = self."!cursor_start"()
-    rx1128_cur."!cursor_debug"("START ", "infix:sym<==>")
-    .lex unicode:"$\x{a2}", rx1128_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1128_eos, rx1128_tgt
-    gt rx1128_pos, rx1128_eos, rx1128_done
-    set rx1128_off, 0
-    lt rx1128_pos, 2, rx1128_start
-    sub rx1128_off, rx1128_pos, 1
-    substr rx1128_tgt, rx1128_tgt, rx1128_off
-  rx1128_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1132_done
-    goto rxscan1132_scan
-  rxscan1132_loop:
-    ($P10) = rx1128_cur."from"()
-    inc $P10
-    set rx1128_pos, $P10
-    ge rx1128_pos, rx1128_eos, rxscan1132_done
-  rxscan1132_scan:
-    set_addr $I10, rxscan1132_loop
-    rx1128_cur."!mark_push"(0, rx1128_pos, $I10)
-  rxscan1132_done:
-.annotate 'line', 514
+.sub "infix:sym<==>"  :subid("286_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1144_tgt
+    .local int rx1144_pos
+    .local int rx1144_off
+    .local int rx1144_eos
+    .local int rx1144_rep
+    .local pmc rx1144_cur
+    (rx1144_cur, rx1144_pos, rx1144_tgt) = self."!cursor_start"()
+    rx1144_cur."!cursor_debug"("START ", "infix:sym<==>")
+    .lex unicode:"$\x{a2}", rx1144_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1144_eos, rx1144_tgt
+    gt rx1144_pos, rx1144_eos, rx1144_done
+    set rx1144_off, 0
+    lt rx1144_pos, 2, rx1144_start
+    sub rx1144_off, rx1144_pos, 1
+    substr rx1144_tgt, rx1144_tgt, rx1144_off
+  rx1144_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1148_done
+    goto rxscan1148_scan
+  rxscan1148_loop:
+    ($P10) = rx1144_cur."from"()
+    inc $P10
+    set rx1144_pos, $P10
+    ge rx1144_pos, rx1144_eos, rxscan1148_done
+  rxscan1148_scan:
+    set_addr $I10, rxscan1148_loop
+    rx1144_cur."!mark_push"(0, rx1144_pos, $I10)
+  rxscan1148_done:
+.annotate 'line', 515
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1133_fail
-    rx1128_cur."!mark_push"(0, rx1128_pos, $I10)
+    set_addr $I10, rxcap_1149_fail
+    rx1144_cur."!mark_push"(0, rx1144_pos, $I10)
   # rx literal  "=="
-    add $I11, rx1128_pos, 2
-    gt $I11, rx1128_eos, rx1128_fail
-    sub $I11, rx1128_pos, rx1128_off
-    substr $S10, rx1128_tgt, $I11, 2
-    ne $S10, "==", rx1128_fail
-    add rx1128_pos, 2
-    set_addr $I10, rxcap_1133_fail
-    ($I12, $I11) = rx1128_cur."!mark_peek"($I10)
-    rx1128_cur."!cursor_pos"($I11)
-    ($P10) = rx1128_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1128_pos, "")
-    rx1128_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1144_pos, 2
+    gt $I11, rx1144_eos, rx1144_fail
+    sub $I11, rx1144_pos, rx1144_off
+    substr $S10, rx1144_tgt, $I11, 2
+    ne $S10, "==", rx1144_fail
+    add rx1144_pos, 2
+    set_addr $I10, rxcap_1149_fail
+    ($I12, $I11) = rx1144_cur."!mark_peek"($I10)
+    rx1144_cur."!cursor_pos"($I11)
+    ($P10) = rx1144_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1144_pos, "")
+    rx1144_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1133_done
-  rxcap_1133_fail:
-    goto rx1128_fail
-  rxcap_1133_done:
+    goto rxcap_1149_done
+  rxcap_1149_fail:
+    goto rx1144_fail
+  rxcap_1149_done:
   # rx subrule "O" subtype=capture negate=
-    rx1128_cur."!cursor_pos"(rx1128_pos)
-    $P10 = rx1128_cur."O"("%relational, :pirop<iseq INn>")
-    unless $P10, rx1128_fail
-    rx1128_cur."!mark_push"(0, -1, 0, $P10)
+    rx1144_cur."!cursor_pos"(rx1144_pos)
+    $P10 = rx1144_cur."O"("%relational, :pirop<iseq INn>")
+    unless $P10, rx1144_fail
+    rx1144_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1128_pos = $P10."pos"()
+    rx1144_pos = $P10."pos"()
   # rx pass
-    rx1128_cur."!cursor_pass"(rx1128_pos, "infix:sym<==>")
-    rx1128_cur."!cursor_debug"("PASS  ", "infix:sym<==>", " at pos=", rx1128_pos)
-    .return (rx1128_cur)
-  rx1128_fail:
-.annotate 'line', 445
-    (rx1128_rep, rx1128_pos, $I10, $P10) = rx1128_cur."!mark_fail"(0)
-    lt rx1128_pos, -1, rx1128_done
-    eq rx1128_pos, -1, rx1128_fail
+    rx1144_cur."!cursor_pass"(rx1144_pos, "infix:sym<==>")
+    rx1144_cur."!cursor_debug"("PASS  ", "infix:sym<==>", " at pos=", rx1144_pos)
+    .return (rx1144_cur)
+  rx1144_fail:
+.annotate 'line', 446
+    (rx1144_rep, rx1144_pos, $I10, $P10) = rx1144_cur."!mark_fail"(0)
+    lt rx1144_pos, -1, rx1144_done
+    eq rx1144_pos, -1, rx1144_fail
     jump $I10
-  rx1128_done:
-    rx1128_cur."!cursor_fail"()
-    rx1128_cur."!cursor_debug"("FAIL  ", "infix:sym<==>")
-    .return (rx1128_cur)
+  rx1144_done:
+    rx1144_cur."!cursor_fail"()
+    rx1144_cur."!cursor_debug"("FAIL  ", "infix:sym<==>")
+    .return (rx1144_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<==>"  :subid("287_1275600007.84296") :method
-.annotate 'line', 445
-    $P1130 = self."!PREFIX__!subrule"("O", "==")
-    new $P1131, "ResizablePMCArray"
-    push $P1131, $P1130
-    .return ($P1131)
+.sub "!PREFIX__infix:sym<==>"  :subid("287_1275811487.95429") :method
+.annotate 'line', 446
+    $P1146 = self."!PREFIX__!subrule"("O", "==")
+    new $P1147, "ResizablePMCArray"
+    push $P1147, $P1146
+    .return ($P1147)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<!=>"  :subid("288_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1135_tgt
-    .local int rx1135_pos
-    .local int rx1135_off
-    .local int rx1135_eos
-    .local int rx1135_rep
-    .local pmc rx1135_cur
-    (rx1135_cur, rx1135_pos, rx1135_tgt) = self."!cursor_start"()
-    rx1135_cur."!cursor_debug"("START ", "infix:sym<!=>")
-    .lex unicode:"$\x{a2}", rx1135_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1135_eos, rx1135_tgt
-    gt rx1135_pos, rx1135_eos, rx1135_done
-    set rx1135_off, 0
-    lt rx1135_pos, 2, rx1135_start
-    sub rx1135_off, rx1135_pos, 1
-    substr rx1135_tgt, rx1135_tgt, rx1135_off
-  rx1135_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1139_done
-    goto rxscan1139_scan
-  rxscan1139_loop:
-    ($P10) = rx1135_cur."from"()
-    inc $P10
-    set rx1135_pos, $P10
-    ge rx1135_pos, rx1135_eos, rxscan1139_done
-  rxscan1139_scan:
-    set_addr $I10, rxscan1139_loop
-    rx1135_cur."!mark_push"(0, rx1135_pos, $I10)
-  rxscan1139_done:
-.annotate 'line', 515
+.sub "infix:sym<!=>"  :subid("288_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1151_tgt
+    .local int rx1151_pos
+    .local int rx1151_off
+    .local int rx1151_eos
+    .local int rx1151_rep
+    .local pmc rx1151_cur
+    (rx1151_cur, rx1151_pos, rx1151_tgt) = self."!cursor_start"()
+    rx1151_cur."!cursor_debug"("START ", "infix:sym<!=>")
+    .lex unicode:"$\x{a2}", rx1151_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1151_eos, rx1151_tgt
+    gt rx1151_pos, rx1151_eos, rx1151_done
+    set rx1151_off, 0
+    lt rx1151_pos, 2, rx1151_start
+    sub rx1151_off, rx1151_pos, 1
+    substr rx1151_tgt, rx1151_tgt, rx1151_off
+  rx1151_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1155_done
+    goto rxscan1155_scan
+  rxscan1155_loop:
+    ($P10) = rx1151_cur."from"()
+    inc $P10
+    set rx1151_pos, $P10
+    ge rx1151_pos, rx1151_eos, rxscan1155_done
+  rxscan1155_scan:
+    set_addr $I10, rxscan1155_loop
+    rx1151_cur."!mark_push"(0, rx1151_pos, $I10)
+  rxscan1155_done:
+.annotate 'line', 516
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1140_fail
-    rx1135_cur."!mark_push"(0, rx1135_pos, $I10)
+    set_addr $I10, rxcap_1156_fail
+    rx1151_cur."!mark_push"(0, rx1151_pos, $I10)
   # rx literal  "!="
-    add $I11, rx1135_pos, 2
-    gt $I11, rx1135_eos, rx1135_fail
-    sub $I11, rx1135_pos, rx1135_off
-    substr $S10, rx1135_tgt, $I11, 2
-    ne $S10, "!=", rx1135_fail
-    add rx1135_pos, 2
-    set_addr $I10, rxcap_1140_fail
-    ($I12, $I11) = rx1135_cur."!mark_peek"($I10)
-    rx1135_cur."!cursor_pos"($I11)
-    ($P10) = rx1135_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1135_pos, "")
-    rx1135_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1151_pos, 2
+    gt $I11, rx1151_eos, rx1151_fail
+    sub $I11, rx1151_pos, rx1151_off
+    substr $S10, rx1151_tgt, $I11, 2
+    ne $S10, "!=", rx1151_fail
+    add rx1151_pos, 2
+    set_addr $I10, rxcap_1156_fail
+    ($I12, $I11) = rx1151_cur."!mark_peek"($I10)
+    rx1151_cur."!cursor_pos"($I11)
+    ($P10) = rx1151_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1151_pos, "")
+    rx1151_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1140_done
-  rxcap_1140_fail:
-    goto rx1135_fail
-  rxcap_1140_done:
+    goto rxcap_1156_done
+  rxcap_1156_fail:
+    goto rx1151_fail
+  rxcap_1156_done:
   # rx subrule "O" subtype=capture negate=
-    rx1135_cur."!cursor_pos"(rx1135_pos)
-    $P10 = rx1135_cur."O"("%relational, :pirop<isne INn>")
-    unless $P10, rx1135_fail
-    rx1135_cur."!mark_push"(0, -1, 0, $P10)
+    rx1151_cur."!cursor_pos"(rx1151_pos)
+    $P10 = rx1151_cur."O"("%relational, :pirop<isne INn>")
+    unless $P10, rx1151_fail
+    rx1151_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1135_pos = $P10."pos"()
+    rx1151_pos = $P10."pos"()
   # rx pass
-    rx1135_cur."!cursor_pass"(rx1135_pos, "infix:sym<!=>")
-    rx1135_cur."!cursor_debug"("PASS  ", "infix:sym<!=>", " at pos=", rx1135_pos)
-    .return (rx1135_cur)
-  rx1135_fail:
-.annotate 'line', 445
-    (rx1135_rep, rx1135_pos, $I10, $P10) = rx1135_cur."!mark_fail"(0)
-    lt rx1135_pos, -1, rx1135_done
-    eq rx1135_pos, -1, rx1135_fail
+    rx1151_cur."!cursor_pass"(rx1151_pos, "infix:sym<!=>")
+    rx1151_cur."!cursor_debug"("PASS  ", "infix:sym<!=>", " at pos=", rx1151_pos)
+    .return (rx1151_cur)
+  rx1151_fail:
+.annotate 'line', 446
+    (rx1151_rep, rx1151_pos, $I10, $P10) = rx1151_cur."!mark_fail"(0)
+    lt rx1151_pos, -1, rx1151_done
+    eq rx1151_pos, -1, rx1151_fail
     jump $I10
-  rx1135_done:
-    rx1135_cur."!cursor_fail"()
-    rx1135_cur."!cursor_debug"("FAIL  ", "infix:sym<!=>")
-    .return (rx1135_cur)
+  rx1151_done:
+    rx1151_cur."!cursor_fail"()
+    rx1151_cur."!cursor_debug"("FAIL  ", "infix:sym<!=>")
+    .return (rx1151_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<!=>"  :subid("289_1275600007.84296") :method
-.annotate 'line', 445
-    $P1137 = self."!PREFIX__!subrule"("O", "!=")
-    new $P1138, "ResizablePMCArray"
-    push $P1138, $P1137
-    .return ($P1138)
+.sub "!PREFIX__infix:sym<!=>"  :subid("289_1275811487.95429") :method
+.annotate 'line', 446
+    $P1153 = self."!PREFIX__!subrule"("O", "!=")
+    new $P1154, "ResizablePMCArray"
+    push $P1154, $P1153
+    .return ($P1154)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<=>"  :subid("290_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1142_tgt
-    .local int rx1142_pos
-    .local int rx1142_off
-    .local int rx1142_eos
-    .local int rx1142_rep
-    .local pmc rx1142_cur
-    (rx1142_cur, rx1142_pos, rx1142_tgt) = self."!cursor_start"()
-    rx1142_cur."!cursor_debug"("START ", "infix:sym<<=>")
-    .lex unicode:"$\x{a2}", rx1142_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1142_eos, rx1142_tgt
-    gt rx1142_pos, rx1142_eos, rx1142_done
-    set rx1142_off, 0
-    lt rx1142_pos, 2, rx1142_start
-    sub rx1142_off, rx1142_pos, 1
-    substr rx1142_tgt, rx1142_tgt, rx1142_off
-  rx1142_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1146_done
-    goto rxscan1146_scan
-  rxscan1146_loop:
-    ($P10) = rx1142_cur."from"()
-    inc $P10
-    set rx1142_pos, $P10
-    ge rx1142_pos, rx1142_eos, rxscan1146_done
-  rxscan1146_scan:
-    set_addr $I10, rxscan1146_loop
-    rx1142_cur."!mark_push"(0, rx1142_pos, $I10)
-  rxscan1146_done:
-.annotate 'line', 516
+.sub "infix:sym<<=>"  :subid("290_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1158_tgt
+    .local int rx1158_pos
+    .local int rx1158_off
+    .local int rx1158_eos
+    .local int rx1158_rep
+    .local pmc rx1158_cur
+    (rx1158_cur, rx1158_pos, rx1158_tgt) = self."!cursor_start"()
+    rx1158_cur."!cursor_debug"("START ", "infix:sym<<=>")
+    .lex unicode:"$\x{a2}", rx1158_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1158_eos, rx1158_tgt
+    gt rx1158_pos, rx1158_eos, rx1158_done
+    set rx1158_off, 0
+    lt rx1158_pos, 2, rx1158_start
+    sub rx1158_off, rx1158_pos, 1
+    substr rx1158_tgt, rx1158_tgt, rx1158_off
+  rx1158_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1162_done
+    goto rxscan1162_scan
+  rxscan1162_loop:
+    ($P10) = rx1158_cur."from"()
+    inc $P10
+    set rx1158_pos, $P10
+    ge rx1158_pos, rx1158_eos, rxscan1162_done
+  rxscan1162_scan:
+    set_addr $I10, rxscan1162_loop
+    rx1158_cur."!mark_push"(0, rx1158_pos, $I10)
+  rxscan1162_done:
+.annotate 'line', 517
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1147_fail
-    rx1142_cur."!mark_push"(0, rx1142_pos, $I10)
+    set_addr $I10, rxcap_1163_fail
+    rx1158_cur."!mark_push"(0, rx1158_pos, $I10)
   # rx literal  "<="
-    add $I11, rx1142_pos, 2
-    gt $I11, rx1142_eos, rx1142_fail
-    sub $I11, rx1142_pos, rx1142_off
-    substr $S10, rx1142_tgt, $I11, 2
-    ne $S10, "<=", rx1142_fail
-    add rx1142_pos, 2
-    set_addr $I10, rxcap_1147_fail
-    ($I12, $I11) = rx1142_cur."!mark_peek"($I10)
-    rx1142_cur."!cursor_pos"($I11)
-    ($P10) = rx1142_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1142_pos, "")
-    rx1142_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1158_pos, 2
+    gt $I11, rx1158_eos, rx1158_fail
+    sub $I11, rx1158_pos, rx1158_off
+    substr $S10, rx1158_tgt, $I11, 2
+    ne $S10, "<=", rx1158_fail
+    add rx1158_pos, 2
+    set_addr $I10, rxcap_1163_fail
+    ($I12, $I11) = rx1158_cur."!mark_peek"($I10)
+    rx1158_cur."!cursor_pos"($I11)
+    ($P10) = rx1158_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1158_pos, "")
+    rx1158_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1147_done
-  rxcap_1147_fail:
-    goto rx1142_fail
-  rxcap_1147_done:
+    goto rxcap_1163_done
+  rxcap_1163_fail:
+    goto rx1158_fail
+  rxcap_1163_done:
   # rx subrule "O" subtype=capture negate=
-    rx1142_cur."!cursor_pos"(rx1142_pos)
-    $P10 = rx1142_cur."O"("%relational, :pirop<isle INn>")
-    unless $P10, rx1142_fail
-    rx1142_cur."!mark_push"(0, -1, 0, $P10)
+    rx1158_cur."!cursor_pos"(rx1158_pos)
+    $P10 = rx1158_cur."O"("%relational, :pirop<isle INn>")
+    unless $P10, rx1158_fail
+    rx1158_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1142_pos = $P10."pos"()
+    rx1158_pos = $P10."pos"()
   # rx pass
-    rx1142_cur."!cursor_pass"(rx1142_pos, "infix:sym<<=>")
-    rx1142_cur."!cursor_debug"("PASS  ", "infix:sym<<=>", " at pos=", rx1142_pos)
-    .return (rx1142_cur)
-  rx1142_fail:
-.annotate 'line', 445
-    (rx1142_rep, rx1142_pos, $I10, $P10) = rx1142_cur."!mark_fail"(0)
-    lt rx1142_pos, -1, rx1142_done
-    eq rx1142_pos, -1, rx1142_fail
+    rx1158_cur."!cursor_pass"(rx1158_pos, "infix:sym<<=>")
+    rx1158_cur."!cursor_debug"("PASS  ", "infix:sym<<=>", " at pos=", rx1158_pos)
+    .return (rx1158_cur)
+  rx1158_fail:
+.annotate 'line', 446
+    (rx1158_rep, rx1158_pos, $I10, $P10) = rx1158_cur."!mark_fail"(0)
+    lt rx1158_pos, -1, rx1158_done
+    eq rx1158_pos, -1, rx1158_fail
     jump $I10
-  rx1142_done:
-    rx1142_cur."!cursor_fail"()
-    rx1142_cur."!cursor_debug"("FAIL  ", "infix:sym<<=>")
-    .return (rx1142_cur)
+  rx1158_done:
+    rx1158_cur."!cursor_fail"()
+    rx1158_cur."!cursor_debug"("FAIL  ", "infix:sym<<=>")
+    .return (rx1158_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<=>"  :subid("291_1275600007.84296") :method
-.annotate 'line', 445
-    $P1144 = self."!PREFIX__!subrule"("O", "<=")
-    new $P1145, "ResizablePMCArray"
-    push $P1145, $P1144
-    .return ($P1145)
+.sub "!PREFIX__infix:sym<<=>"  :subid("291_1275811487.95429") :method
+.annotate 'line', 446
+    $P1160 = self."!PREFIX__!subrule"("O", "<=")
+    new $P1161, "ResizablePMCArray"
+    push $P1161, $P1160
+    .return ($P1161)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>=>"  :subid("292_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1149_tgt
-    .local int rx1149_pos
-    .local int rx1149_off
-    .local int rx1149_eos
-    .local int rx1149_rep
-    .local pmc rx1149_cur
-    (rx1149_cur, rx1149_pos, rx1149_tgt) = self."!cursor_start"()
-    rx1149_cur."!cursor_debug"("START ", "infix:sym<>=>")
-    .lex unicode:"$\x{a2}", rx1149_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1149_eos, rx1149_tgt
-    gt rx1149_pos, rx1149_eos, rx1149_done
-    set rx1149_off, 0
-    lt rx1149_pos, 2, rx1149_start
-    sub rx1149_off, rx1149_pos, 1
-    substr rx1149_tgt, rx1149_tgt, rx1149_off
-  rx1149_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1153_done
-    goto rxscan1153_scan
-  rxscan1153_loop:
-    ($P10) = rx1149_cur."from"()
-    inc $P10
-    set rx1149_pos, $P10
-    ge rx1149_pos, rx1149_eos, rxscan1153_done
-  rxscan1153_scan:
-    set_addr $I10, rxscan1153_loop
-    rx1149_cur."!mark_push"(0, rx1149_pos, $I10)
-  rxscan1153_done:
-.annotate 'line', 517
+.sub "infix:sym<>=>"  :subid("292_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1165_tgt
+    .local int rx1165_pos
+    .local int rx1165_off
+    .local int rx1165_eos
+    .local int rx1165_rep
+    .local pmc rx1165_cur
+    (rx1165_cur, rx1165_pos, rx1165_tgt) = self."!cursor_start"()
+    rx1165_cur."!cursor_debug"("START ", "infix:sym<>=>")
+    .lex unicode:"$\x{a2}", rx1165_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1165_eos, rx1165_tgt
+    gt rx1165_pos, rx1165_eos, rx1165_done
+    set rx1165_off, 0
+    lt rx1165_pos, 2, rx1165_start
+    sub rx1165_off, rx1165_pos, 1
+    substr rx1165_tgt, rx1165_tgt, rx1165_off
+  rx1165_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1169_done
+    goto rxscan1169_scan
+  rxscan1169_loop:
+    ($P10) = rx1165_cur."from"()
+    inc $P10
+    set rx1165_pos, $P10
+    ge rx1165_pos, rx1165_eos, rxscan1169_done
+  rxscan1169_scan:
+    set_addr $I10, rxscan1169_loop
+    rx1165_cur."!mark_push"(0, rx1165_pos, $I10)
+  rxscan1169_done:
+.annotate 'line', 518
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1154_fail
-    rx1149_cur."!mark_push"(0, rx1149_pos, $I10)
+    set_addr $I10, rxcap_1170_fail
+    rx1165_cur."!mark_push"(0, rx1165_pos, $I10)
   # rx literal  ">="
-    add $I11, rx1149_pos, 2
-    gt $I11, rx1149_eos, rx1149_fail
-    sub $I11, rx1149_pos, rx1149_off
-    substr $S10, rx1149_tgt, $I11, 2
-    ne $S10, ">=", rx1149_fail
-    add rx1149_pos, 2
-    set_addr $I10, rxcap_1154_fail
-    ($I12, $I11) = rx1149_cur."!mark_peek"($I10)
-    rx1149_cur."!cursor_pos"($I11)
-    ($P10) = rx1149_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1149_pos, "")
-    rx1149_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1165_pos, 2
+    gt $I11, rx1165_eos, rx1165_fail
+    sub $I11, rx1165_pos, rx1165_off
+    substr $S10, rx1165_tgt, $I11, 2
+    ne $S10, ">=", rx1165_fail
+    add rx1165_pos, 2
+    set_addr $I10, rxcap_1170_fail
+    ($I12, $I11) = rx1165_cur."!mark_peek"($I10)
+    rx1165_cur."!cursor_pos"($I11)
+    ($P10) = rx1165_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1165_pos, "")
+    rx1165_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1154_done
-  rxcap_1154_fail:
-    goto rx1149_fail
-  rxcap_1154_done:
+    goto rxcap_1170_done
+  rxcap_1170_fail:
+    goto rx1165_fail
+  rxcap_1170_done:
   # rx subrule "O" subtype=capture negate=
-    rx1149_cur."!cursor_pos"(rx1149_pos)
-    $P10 = rx1149_cur."O"("%relational, :pirop<isge INn>")
-    unless $P10, rx1149_fail
-    rx1149_cur."!mark_push"(0, -1, 0, $P10)
+    rx1165_cur."!cursor_pos"(rx1165_pos)
+    $P10 = rx1165_cur."O"("%relational, :pirop<isge INn>")
+    unless $P10, rx1165_fail
+    rx1165_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1149_pos = $P10."pos"()
+    rx1165_pos = $P10."pos"()
   # rx pass
-    rx1149_cur."!cursor_pass"(rx1149_pos, "infix:sym<>=>")
-    rx1149_cur."!cursor_debug"("PASS  ", "infix:sym<>=>", " at pos=", rx1149_pos)
-    .return (rx1149_cur)
-  rx1149_fail:
-.annotate 'line', 445
-    (rx1149_rep, rx1149_pos, $I10, $P10) = rx1149_cur."!mark_fail"(0)
-    lt rx1149_pos, -1, rx1149_done
-    eq rx1149_pos, -1, rx1149_fail
+    rx1165_cur."!cursor_pass"(rx1165_pos, "infix:sym<>=>")
+    rx1165_cur."!cursor_debug"("PASS  ", "infix:sym<>=>", " at pos=", rx1165_pos)
+    .return (rx1165_cur)
+  rx1165_fail:
+.annotate 'line', 446
+    (rx1165_rep, rx1165_pos, $I10, $P10) = rx1165_cur."!mark_fail"(0)
+    lt rx1165_pos, -1, rx1165_done
+    eq rx1165_pos, -1, rx1165_fail
     jump $I10
-  rx1149_done:
-    rx1149_cur."!cursor_fail"()
-    rx1149_cur."!cursor_debug"("FAIL  ", "infix:sym<>=>")
-    .return (rx1149_cur)
+  rx1165_done:
+    rx1165_cur."!cursor_fail"()
+    rx1165_cur."!cursor_debug"("FAIL  ", "infix:sym<>=>")
+    .return (rx1165_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>=>"  :subid("293_1275600007.84296") :method
-.annotate 'line', 445
-    $P1151 = self."!PREFIX__!subrule"("O", ">=")
-    new $P1152, "ResizablePMCArray"
-    push $P1152, $P1151
-    .return ($P1152)
+.sub "!PREFIX__infix:sym<>=>"  :subid("293_1275811487.95429") :method
+.annotate 'line', 446
+    $P1167 = self."!PREFIX__!subrule"("O", ">=")
+    new $P1168, "ResizablePMCArray"
+    push $P1168, $P1167
+    .return ($P1168)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<>"  :subid("294_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1156_tgt
-    .local int rx1156_pos
-    .local int rx1156_off
-    .local int rx1156_eos
-    .local int rx1156_rep
-    .local pmc rx1156_cur
-    (rx1156_cur, rx1156_pos, rx1156_tgt) = self."!cursor_start"()
-    rx1156_cur."!cursor_debug"("START ", "infix:sym<<>")
-    .lex unicode:"$\x{a2}", rx1156_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1156_eos, rx1156_tgt
-    gt rx1156_pos, rx1156_eos, rx1156_done
-    set rx1156_off, 0
-    lt rx1156_pos, 2, rx1156_start
-    sub rx1156_off, rx1156_pos, 1
-    substr rx1156_tgt, rx1156_tgt, rx1156_off
-  rx1156_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1160_done
-    goto rxscan1160_scan
-  rxscan1160_loop:
-    ($P10) = rx1156_cur."from"()
-    inc $P10
-    set rx1156_pos, $P10
-    ge rx1156_pos, rx1156_eos, rxscan1160_done
-  rxscan1160_scan:
-    set_addr $I10, rxscan1160_loop
-    rx1156_cur."!mark_push"(0, rx1156_pos, $I10)
-  rxscan1160_done:
-.annotate 'line', 518
+.sub "infix:sym<<>"  :subid("294_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1172_tgt
+    .local int rx1172_pos
+    .local int rx1172_off
+    .local int rx1172_eos
+    .local int rx1172_rep
+    .local pmc rx1172_cur
+    (rx1172_cur, rx1172_pos, rx1172_tgt) = self."!cursor_start"()
+    rx1172_cur."!cursor_debug"("START ", "infix:sym<<>")
+    .lex unicode:"$\x{a2}", rx1172_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1172_eos, rx1172_tgt
+    gt rx1172_pos, rx1172_eos, rx1172_done
+    set rx1172_off, 0
+    lt rx1172_pos, 2, rx1172_start
+    sub rx1172_off, rx1172_pos, 1
+    substr rx1172_tgt, rx1172_tgt, rx1172_off
+  rx1172_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1176_done
+    goto rxscan1176_scan
+  rxscan1176_loop:
+    ($P10) = rx1172_cur."from"()
+    inc $P10
+    set rx1172_pos, $P10
+    ge rx1172_pos, rx1172_eos, rxscan1176_done
+  rxscan1176_scan:
+    set_addr $I10, rxscan1176_loop
+    rx1172_cur."!mark_push"(0, rx1172_pos, $I10)
+  rxscan1176_done:
+.annotate 'line', 519
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1161_fail
-    rx1156_cur."!mark_push"(0, rx1156_pos, $I10)
+    set_addr $I10, rxcap_1177_fail
+    rx1172_cur."!mark_push"(0, rx1172_pos, $I10)
   # rx literal  "<"
-    add $I11, rx1156_pos, 1
-    gt $I11, rx1156_eos, rx1156_fail
-    sub $I11, rx1156_pos, rx1156_off
-    substr $S10, rx1156_tgt, $I11, 1
-    ne $S10, "<", rx1156_fail
-    add rx1156_pos, 1
-    set_addr $I10, rxcap_1161_fail
-    ($I12, $I11) = rx1156_cur."!mark_peek"($I10)
-    rx1156_cur."!cursor_pos"($I11)
-    ($P10) = rx1156_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1156_pos, "")
-    rx1156_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1172_pos, 1
+    gt $I11, rx1172_eos, rx1172_fail
+    sub $I11, rx1172_pos, rx1172_off
+    substr $S10, rx1172_tgt, $I11, 1
+    ne $S10, "<", rx1172_fail
+    add rx1172_pos, 1
+    set_addr $I10, rxcap_1177_fail
+    ($I12, $I11) = rx1172_cur."!mark_peek"($I10)
+    rx1172_cur."!cursor_pos"($I11)
+    ($P10) = rx1172_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1172_pos, "")
+    rx1172_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1161_done
-  rxcap_1161_fail:
-    goto rx1156_fail
-  rxcap_1161_done:
+    goto rxcap_1177_done
+  rxcap_1177_fail:
+    goto rx1172_fail
+  rxcap_1177_done:
   # rx subrule "O" subtype=capture negate=
-    rx1156_cur."!cursor_pos"(rx1156_pos)
-    $P10 = rx1156_cur."O"("%relational, :pirop<islt INn>")
-    unless $P10, rx1156_fail
-    rx1156_cur."!mark_push"(0, -1, 0, $P10)
+    rx1172_cur."!cursor_pos"(rx1172_pos)
+    $P10 = rx1172_cur."O"("%relational, :pirop<islt INn>")
+    unless $P10, rx1172_fail
+    rx1172_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1156_pos = $P10."pos"()
+    rx1172_pos = $P10."pos"()
   # rx pass
-    rx1156_cur."!cursor_pass"(rx1156_pos, "infix:sym<<>")
-    rx1156_cur."!cursor_debug"("PASS  ", "infix:sym<<>", " at pos=", rx1156_pos)
-    .return (rx1156_cur)
-  rx1156_fail:
-.annotate 'line', 445
-    (rx1156_rep, rx1156_pos, $I10, $P10) = rx1156_cur."!mark_fail"(0)
-    lt rx1156_pos, -1, rx1156_done
-    eq rx1156_pos, -1, rx1156_fail
+    rx1172_cur."!cursor_pass"(rx1172_pos, "infix:sym<<>")
+    rx1172_cur."!cursor_debug"("PASS  ", "infix:sym<<>", " at pos=", rx1172_pos)
+    .return (rx1172_cur)
+  rx1172_fail:
+.annotate 'line', 446
+    (rx1172_rep, rx1172_pos, $I10, $P10) = rx1172_cur."!mark_fail"(0)
+    lt rx1172_pos, -1, rx1172_done
+    eq rx1172_pos, -1, rx1172_fail
     jump $I10
-  rx1156_done:
-    rx1156_cur."!cursor_fail"()
-    rx1156_cur."!cursor_debug"("FAIL  ", "infix:sym<<>")
-    .return (rx1156_cur)
+  rx1172_done:
+    rx1172_cur."!cursor_fail"()
+    rx1172_cur."!cursor_debug"("FAIL  ", "infix:sym<<>")
+    .return (rx1172_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<>"  :subid("295_1275600007.84296") :method
-.annotate 'line', 445
-    $P1158 = self."!PREFIX__!subrule"("O", "<")
-    new $P1159, "ResizablePMCArray"
-    push $P1159, $P1158
-    .return ($P1159)
+.sub "!PREFIX__infix:sym<<>"  :subid("295_1275811487.95429") :method
+.annotate 'line', 446
+    $P1174 = self."!PREFIX__!subrule"("O", "<")
+    new $P1175, "ResizablePMCArray"
+    push $P1175, $P1174
+    .return ($P1175)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>>"  :subid("296_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1163_tgt
-    .local int rx1163_pos
-    .local int rx1163_off
-    .local int rx1163_eos
-    .local int rx1163_rep
-    .local pmc rx1163_cur
-    (rx1163_cur, rx1163_pos, rx1163_tgt) = self."!cursor_start"()
-    rx1163_cur."!cursor_debug"("START ", "infix:sym<>>")
-    .lex unicode:"$\x{a2}", rx1163_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1163_eos, rx1163_tgt
-    gt rx1163_pos, rx1163_eos, rx1163_done
-    set rx1163_off, 0
-    lt rx1163_pos, 2, rx1163_start
-    sub rx1163_off, rx1163_pos, 1
-    substr rx1163_tgt, rx1163_tgt, rx1163_off
-  rx1163_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1167_done
-    goto rxscan1167_scan
-  rxscan1167_loop:
-    ($P10) = rx1163_cur."from"()
-    inc $P10
-    set rx1163_pos, $P10
-    ge rx1163_pos, rx1163_eos, rxscan1167_done
-  rxscan1167_scan:
-    set_addr $I10, rxscan1167_loop
-    rx1163_cur."!mark_push"(0, rx1163_pos, $I10)
-  rxscan1167_done:
-.annotate 'line', 519
+.sub "infix:sym<>>"  :subid("296_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1179_tgt
+    .local int rx1179_pos
+    .local int rx1179_off
+    .local int rx1179_eos
+    .local int rx1179_rep
+    .local pmc rx1179_cur
+    (rx1179_cur, rx1179_pos, rx1179_tgt) = self."!cursor_start"()
+    rx1179_cur."!cursor_debug"("START ", "infix:sym<>>")
+    .lex unicode:"$\x{a2}", rx1179_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1179_eos, rx1179_tgt
+    gt rx1179_pos, rx1179_eos, rx1179_done
+    set rx1179_off, 0
+    lt rx1179_pos, 2, rx1179_start
+    sub rx1179_off, rx1179_pos, 1
+    substr rx1179_tgt, rx1179_tgt, rx1179_off
+  rx1179_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1183_done
+    goto rxscan1183_scan
+  rxscan1183_loop:
+    ($P10) = rx1179_cur."from"()
+    inc $P10
+    set rx1179_pos, $P10
+    ge rx1179_pos, rx1179_eos, rxscan1183_done
+  rxscan1183_scan:
+    set_addr $I10, rxscan1183_loop
+    rx1179_cur."!mark_push"(0, rx1179_pos, $I10)
+  rxscan1183_done:
+.annotate 'line', 520
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1168_fail
-    rx1163_cur."!mark_push"(0, rx1163_pos, $I10)
+    set_addr $I10, rxcap_1184_fail
+    rx1179_cur."!mark_push"(0, rx1179_pos, $I10)
   # rx literal  ">"
-    add $I11, rx1163_pos, 1
-    gt $I11, rx1163_eos, rx1163_fail
-    sub $I11, rx1163_pos, rx1163_off
-    substr $S10, rx1163_tgt, $I11, 1
-    ne $S10, ">", rx1163_fail
-    add rx1163_pos, 1
-    set_addr $I10, rxcap_1168_fail
-    ($I12, $I11) = rx1163_cur."!mark_peek"($I10)
-    rx1163_cur."!cursor_pos"($I11)
-    ($P10) = rx1163_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1163_pos, "")
-    rx1163_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1179_pos, 1
+    gt $I11, rx1179_eos, rx1179_fail
+    sub $I11, rx1179_pos, rx1179_off
+    substr $S10, rx1179_tgt, $I11, 1
+    ne $S10, ">", rx1179_fail
+    add rx1179_pos, 1
+    set_addr $I10, rxcap_1184_fail
+    ($I12, $I11) = rx1179_cur."!mark_peek"($I10)
+    rx1179_cur."!cursor_pos"($I11)
+    ($P10) = rx1179_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1179_pos, "")
+    rx1179_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1168_done
-  rxcap_1168_fail:
-    goto rx1163_fail
-  rxcap_1168_done:
+    goto rxcap_1184_done
+  rxcap_1184_fail:
+    goto rx1179_fail
+  rxcap_1184_done:
   # rx subrule "O" subtype=capture negate=
-    rx1163_cur."!cursor_pos"(rx1163_pos)
-    $P10 = rx1163_cur."O"("%relational, :pirop<isgt INn>")
-    unless $P10, rx1163_fail
-    rx1163_cur."!mark_push"(0, -1, 0, $P10)
+    rx1179_cur."!cursor_pos"(rx1179_pos)
+    $P10 = rx1179_cur."O"("%relational, :pirop<isgt INn>")
+    unless $P10, rx1179_fail
+    rx1179_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1163_pos = $P10."pos"()
+    rx1179_pos = $P10."pos"()
   # rx pass
-    rx1163_cur."!cursor_pass"(rx1163_pos, "infix:sym<>>")
-    rx1163_cur."!cursor_debug"("PASS  ", "infix:sym<>>", " at pos=", rx1163_pos)
-    .return (rx1163_cur)
-  rx1163_fail:
-.annotate 'line', 445
-    (rx1163_rep, rx1163_pos, $I10, $P10) = rx1163_cur."!mark_fail"(0)
-    lt rx1163_pos, -1, rx1163_done
-    eq rx1163_pos, -1, rx1163_fail
+    rx1179_cur."!cursor_pass"(rx1179_pos, "infix:sym<>>")
+    rx1179_cur."!cursor_debug"("PASS  ", "infix:sym<>>", " at pos=", rx1179_pos)
+    .return (rx1179_cur)
+  rx1179_fail:
+.annotate 'line', 446
+    (rx1179_rep, rx1179_pos, $I10, $P10) = rx1179_cur."!mark_fail"(0)
+    lt rx1179_pos, -1, rx1179_done
+    eq rx1179_pos, -1, rx1179_fail
     jump $I10
-  rx1163_done:
-    rx1163_cur."!cursor_fail"()
-    rx1163_cur."!cursor_debug"("FAIL  ", "infix:sym<>>")
-    .return (rx1163_cur)
+  rx1179_done:
+    rx1179_cur."!cursor_fail"()
+    rx1179_cur."!cursor_debug"("FAIL  ", "infix:sym<>>")
+    .return (rx1179_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>>"  :subid("297_1275600007.84296") :method
-.annotate 'line', 445
-    $P1165 = self."!PREFIX__!subrule"("O", ">")
-    new $P1166, "ResizablePMCArray"
-    push $P1166, $P1165
-    .return ($P1166)
+.sub "!PREFIX__infix:sym<>>"  :subid("297_1275811487.95429") :method
+.annotate 'line', 446
+    $P1181 = self."!PREFIX__!subrule"("O", ">")
+    new $P1182, "ResizablePMCArray"
+    push $P1182, $P1181
+    .return ($P1182)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<eq>"  :subid("298_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1170_tgt
-    .local int rx1170_pos
-    .local int rx1170_off
-    .local int rx1170_eos
-    .local int rx1170_rep
-    .local pmc rx1170_cur
-    (rx1170_cur, rx1170_pos, rx1170_tgt) = self."!cursor_start"()
-    rx1170_cur."!cursor_debug"("START ", "infix:sym<eq>")
-    .lex unicode:"$\x{a2}", rx1170_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1170_eos, rx1170_tgt
-    gt rx1170_pos, rx1170_eos, rx1170_done
-    set rx1170_off, 0
-    lt rx1170_pos, 2, rx1170_start
-    sub rx1170_off, rx1170_pos, 1
-    substr rx1170_tgt, rx1170_tgt, rx1170_off
-  rx1170_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1174_done
-    goto rxscan1174_scan
-  rxscan1174_loop:
-    ($P10) = rx1170_cur."from"()
-    inc $P10
-    set rx1170_pos, $P10
-    ge rx1170_pos, rx1170_eos, rxscan1174_done
-  rxscan1174_scan:
-    set_addr $I10, rxscan1174_loop
-    rx1170_cur."!mark_push"(0, rx1170_pos, $I10)
-  rxscan1174_done:
-.annotate 'line', 520
+.sub "infix:sym<eq>"  :subid("298_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1186_tgt
+    .local int rx1186_pos
+    .local int rx1186_off
+    .local int rx1186_eos
+    .local int rx1186_rep
+    .local pmc rx1186_cur
+    (rx1186_cur, rx1186_pos, rx1186_tgt) = self."!cursor_start"()
+    rx1186_cur."!cursor_debug"("START ", "infix:sym<eq>")
+    .lex unicode:"$\x{a2}", rx1186_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1186_eos, rx1186_tgt
+    gt rx1186_pos, rx1186_eos, rx1186_done
+    set rx1186_off, 0
+    lt rx1186_pos, 2, rx1186_start
+    sub rx1186_off, rx1186_pos, 1
+    substr rx1186_tgt, rx1186_tgt, rx1186_off
+  rx1186_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1190_done
+    goto rxscan1190_scan
+  rxscan1190_loop:
+    ($P10) = rx1186_cur."from"()
+    inc $P10
+    set rx1186_pos, $P10
+    ge rx1186_pos, rx1186_eos, rxscan1190_done
+  rxscan1190_scan:
+    set_addr $I10, rxscan1190_loop
+    rx1186_cur."!mark_push"(0, rx1186_pos, $I10)
+  rxscan1190_done:
+.annotate 'line', 521
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1175_fail
-    rx1170_cur."!mark_push"(0, rx1170_pos, $I10)
+    set_addr $I10, rxcap_1191_fail
+    rx1186_cur."!mark_push"(0, rx1186_pos, $I10)
   # rx literal  "eq"
-    add $I11, rx1170_pos, 2
-    gt $I11, rx1170_eos, rx1170_fail
-    sub $I11, rx1170_pos, rx1170_off
-    substr $S10, rx1170_tgt, $I11, 2
-    ne $S10, "eq", rx1170_fail
-    add rx1170_pos, 2
-    set_addr $I10, rxcap_1175_fail
-    ($I12, $I11) = rx1170_cur."!mark_peek"($I10)
-    rx1170_cur."!cursor_pos"($I11)
-    ($P10) = rx1170_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1170_pos, "")
-    rx1170_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1186_pos, 2
+    gt $I11, rx1186_eos, rx1186_fail
+    sub $I11, rx1186_pos, rx1186_off
+    substr $S10, rx1186_tgt, $I11, 2
+    ne $S10, "eq", rx1186_fail
+    add rx1186_pos, 2
+    set_addr $I10, rxcap_1191_fail
+    ($I12, $I11) = rx1186_cur."!mark_peek"($I10)
+    rx1186_cur."!cursor_pos"($I11)
+    ($P10) = rx1186_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1186_pos, "")
+    rx1186_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1175_done
-  rxcap_1175_fail:
-    goto rx1170_fail
-  rxcap_1175_done:
+    goto rxcap_1191_done
+  rxcap_1191_fail:
+    goto rx1186_fail
+  rxcap_1191_done:
   # rx subrule "O" subtype=capture negate=
-    rx1170_cur."!cursor_pos"(rx1170_pos)
-    $P10 = rx1170_cur."O"("%relational, :pirop<iseq ISs>")
-    unless $P10, rx1170_fail
-    rx1170_cur."!mark_push"(0, -1, 0, $P10)
+    rx1186_cur."!cursor_pos"(rx1186_pos)
+    $P10 = rx1186_cur."O"("%relational, :pirop<iseq ISs>")
+    unless $P10, rx1186_fail
+    rx1186_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1170_pos = $P10."pos"()
+    rx1186_pos = $P10."pos"()
   # rx pass
-    rx1170_cur."!cursor_pass"(rx1170_pos, "infix:sym<eq>")
-    rx1170_cur."!cursor_debug"("PASS  ", "infix:sym<eq>", " at pos=", rx1170_pos)
-    .return (rx1170_cur)
-  rx1170_fail:
-.annotate 'line', 445
-    (rx1170_rep, rx1170_pos, $I10, $P10) = rx1170_cur."!mark_fail"(0)
-    lt rx1170_pos, -1, rx1170_done
-    eq rx1170_pos, -1, rx1170_fail
+    rx1186_cur."!cursor_pass"(rx1186_pos, "infix:sym<eq>")
+    rx1186_cur."!cursor_debug"("PASS  ", "infix:sym<eq>", " at pos=", rx1186_pos)
+    .return (rx1186_cur)
+  rx1186_fail:
+.annotate 'line', 446
+    (rx1186_rep, rx1186_pos, $I10, $P10) = rx1186_cur."!mark_fail"(0)
+    lt rx1186_pos, -1, rx1186_done
+    eq rx1186_pos, -1, rx1186_fail
     jump $I10
-  rx1170_done:
-    rx1170_cur."!cursor_fail"()
-    rx1170_cur."!cursor_debug"("FAIL  ", "infix:sym<eq>")
-    .return (rx1170_cur)
+  rx1186_done:
+    rx1186_cur."!cursor_fail"()
+    rx1186_cur."!cursor_debug"("FAIL  ", "infix:sym<eq>")
+    .return (rx1186_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<eq>"  :subid("299_1275600007.84296") :method
-.annotate 'line', 445
-    $P1172 = self."!PREFIX__!subrule"("O", "eq")
-    new $P1173, "ResizablePMCArray"
-    push $P1173, $P1172
-    .return ($P1173)
+.sub "!PREFIX__infix:sym<eq>"  :subid("299_1275811487.95429") :method
+.annotate 'line', 446
+    $P1188 = self."!PREFIX__!subrule"("O", "eq")
+    new $P1189, "ResizablePMCArray"
+    push $P1189, $P1188
+    .return ($P1189)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ne>"  :subid("300_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1177_tgt
-    .local int rx1177_pos
-    .local int rx1177_off
-    .local int rx1177_eos
-    .local int rx1177_rep
-    .local pmc rx1177_cur
-    (rx1177_cur, rx1177_pos, rx1177_tgt) = self."!cursor_start"()
-    rx1177_cur."!cursor_debug"("START ", "infix:sym<ne>")
-    .lex unicode:"$\x{a2}", rx1177_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1177_eos, rx1177_tgt
-    gt rx1177_pos, rx1177_eos, rx1177_done
-    set rx1177_off, 0
-    lt rx1177_pos, 2, rx1177_start
-    sub rx1177_off, rx1177_pos, 1
-    substr rx1177_tgt, rx1177_tgt, rx1177_off
-  rx1177_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1181_done
-    goto rxscan1181_scan
-  rxscan1181_loop:
-    ($P10) = rx1177_cur."from"()
-    inc $P10
-    set rx1177_pos, $P10
-    ge rx1177_pos, rx1177_eos, rxscan1181_done
-  rxscan1181_scan:
-    set_addr $I10, rxscan1181_loop
-    rx1177_cur."!mark_push"(0, rx1177_pos, $I10)
-  rxscan1181_done:
-.annotate 'line', 521
+.sub "infix:sym<ne>"  :subid("300_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1193_tgt
+    .local int rx1193_pos
+    .local int rx1193_off
+    .local int rx1193_eos
+    .local int rx1193_rep
+    .local pmc rx1193_cur
+    (rx1193_cur, rx1193_pos, rx1193_tgt) = self."!cursor_start"()
+    rx1193_cur."!cursor_debug"("START ", "infix:sym<ne>")
+    .lex unicode:"$\x{a2}", rx1193_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1193_eos, rx1193_tgt
+    gt rx1193_pos, rx1193_eos, rx1193_done
+    set rx1193_off, 0
+    lt rx1193_pos, 2, rx1193_start
+    sub rx1193_off, rx1193_pos, 1
+    substr rx1193_tgt, rx1193_tgt, rx1193_off
+  rx1193_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1197_done
+    goto rxscan1197_scan
+  rxscan1197_loop:
+    ($P10) = rx1193_cur."from"()
+    inc $P10
+    set rx1193_pos, $P10
+    ge rx1193_pos, rx1193_eos, rxscan1197_done
+  rxscan1197_scan:
+    set_addr $I10, rxscan1197_loop
+    rx1193_cur."!mark_push"(0, rx1193_pos, $I10)
+  rxscan1197_done:
+.annotate 'line', 522
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1182_fail
-    rx1177_cur."!mark_push"(0, rx1177_pos, $I10)
+    set_addr $I10, rxcap_1198_fail
+    rx1193_cur."!mark_push"(0, rx1193_pos, $I10)
   # rx literal  "ne"
-    add $I11, rx1177_pos, 2
-    gt $I11, rx1177_eos, rx1177_fail
-    sub $I11, rx1177_pos, rx1177_off
-    substr $S10, rx1177_tgt, $I11, 2
-    ne $S10, "ne", rx1177_fail
-    add rx1177_pos, 2
-    set_addr $I10, rxcap_1182_fail
-    ($I12, $I11) = rx1177_cur."!mark_peek"($I10)
-    rx1177_cur."!cursor_pos"($I11)
-    ($P10) = rx1177_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1177_pos, "")
-    rx1177_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1193_pos, 2
+    gt $I11, rx1193_eos, rx1193_fail
+    sub $I11, rx1193_pos, rx1193_off
+    substr $S10, rx1193_tgt, $I11, 2
+    ne $S10, "ne", rx1193_fail
+    add rx1193_pos, 2
+    set_addr $I10, rxcap_1198_fail
+    ($I12, $I11) = rx1193_cur."!mark_peek"($I10)
+    rx1193_cur."!cursor_pos"($I11)
+    ($P10) = rx1193_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1193_pos, "")
+    rx1193_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1182_done
-  rxcap_1182_fail:
-    goto rx1177_fail
-  rxcap_1182_done:
+    goto rxcap_1198_done
+  rxcap_1198_fail:
+    goto rx1193_fail
+  rxcap_1198_done:
   # rx subrule "O" subtype=capture negate=
-    rx1177_cur."!cursor_pos"(rx1177_pos)
-    $P10 = rx1177_cur."O"("%relational, :pirop<isne ISs>")
-    unless $P10, rx1177_fail
-    rx1177_cur."!mark_push"(0, -1, 0, $P10)
+    rx1193_cur."!cursor_pos"(rx1193_pos)
+    $P10 = rx1193_cur."O"("%relational, :pirop<isne ISs>")
+    unless $P10, rx1193_fail
+    rx1193_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1177_pos = $P10."pos"()
+    rx1193_pos = $P10."pos"()
   # rx pass
-    rx1177_cur."!cursor_pass"(rx1177_pos, "infix:sym<ne>")
-    rx1177_cur."!cursor_debug"("PASS  ", "infix:sym<ne>", " at pos=", rx1177_pos)
-    .return (rx1177_cur)
-  rx1177_fail:
-.annotate 'line', 445
-    (rx1177_rep, rx1177_pos, $I10, $P10) = rx1177_cur."!mark_fail"(0)
-    lt rx1177_pos, -1, rx1177_done
-    eq rx1177_pos, -1, rx1177_fail
+    rx1193_cur."!cursor_pass"(rx1193_pos, "infix:sym<ne>")
+    rx1193_cur."!cursor_debug"("PASS  ", "infix:sym<ne>", " at pos=", rx1193_pos)
+    .return (rx1193_cur)
+  rx1193_fail:
+.annotate 'line', 446
+    (rx1193_rep, rx1193_pos, $I10, $P10) = rx1193_cur."!mark_fail"(0)
+    lt rx1193_pos, -1, rx1193_done
+    eq rx1193_pos, -1, rx1193_fail
     jump $I10
-  rx1177_done:
-    rx1177_cur."!cursor_fail"()
-    rx1177_cur."!cursor_debug"("FAIL  ", "infix:sym<ne>")
-    .return (rx1177_cur)
+  rx1193_done:
+    rx1193_cur."!cursor_fail"()
+    rx1193_cur."!cursor_debug"("FAIL  ", "infix:sym<ne>")
+    .return (rx1193_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ne>"  :subid("301_1275600007.84296") :method
-.annotate 'line', 445
-    $P1179 = self."!PREFIX__!subrule"("O", "ne")
-    new $P1180, "ResizablePMCArray"
-    push $P1180, $P1179
-    .return ($P1180)
+.sub "!PREFIX__infix:sym<ne>"  :subid("301_1275811487.95429") :method
+.annotate 'line', 446
+    $P1195 = self."!PREFIX__!subrule"("O", "ne")
+    new $P1196, "ResizablePMCArray"
+    push $P1196, $P1195
+    .return ($P1196)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<le>"  :subid("302_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1184_tgt
-    .local int rx1184_pos
-    .local int rx1184_off
-    .local int rx1184_eos
-    .local int rx1184_rep
-    .local pmc rx1184_cur
-    (rx1184_cur, rx1184_pos, rx1184_tgt) = self."!cursor_start"()
-    rx1184_cur."!cursor_debug"("START ", "infix:sym<le>")
-    .lex unicode:"$\x{a2}", rx1184_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1184_eos, rx1184_tgt
-    gt rx1184_pos, rx1184_eos, rx1184_done
-    set rx1184_off, 0
-    lt rx1184_pos, 2, rx1184_start
-    sub rx1184_off, rx1184_pos, 1
-    substr rx1184_tgt, rx1184_tgt, rx1184_off
-  rx1184_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1188_done
-    goto rxscan1188_scan
-  rxscan1188_loop:
-    ($P10) = rx1184_cur."from"()
-    inc $P10
-    set rx1184_pos, $P10
-    ge rx1184_pos, rx1184_eos, rxscan1188_done
-  rxscan1188_scan:
-    set_addr $I10, rxscan1188_loop
-    rx1184_cur."!mark_push"(0, rx1184_pos, $I10)
-  rxscan1188_done:
-.annotate 'line', 522
+.sub "infix:sym<le>"  :subid("302_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1200_tgt
+    .local int rx1200_pos
+    .local int rx1200_off
+    .local int rx1200_eos
+    .local int rx1200_rep
+    .local pmc rx1200_cur
+    (rx1200_cur, rx1200_pos, rx1200_tgt) = self."!cursor_start"()
+    rx1200_cur."!cursor_debug"("START ", "infix:sym<le>")
+    .lex unicode:"$\x{a2}", rx1200_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1200_eos, rx1200_tgt
+    gt rx1200_pos, rx1200_eos, rx1200_done
+    set rx1200_off, 0
+    lt rx1200_pos, 2, rx1200_start
+    sub rx1200_off, rx1200_pos, 1
+    substr rx1200_tgt, rx1200_tgt, rx1200_off
+  rx1200_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1204_done
+    goto rxscan1204_scan
+  rxscan1204_loop:
+    ($P10) = rx1200_cur."from"()
+    inc $P10
+    set rx1200_pos, $P10
+    ge rx1200_pos, rx1200_eos, rxscan1204_done
+  rxscan1204_scan:
+    set_addr $I10, rxscan1204_loop
+    rx1200_cur."!mark_push"(0, rx1200_pos, $I10)
+  rxscan1204_done:
+.annotate 'line', 523
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1189_fail
-    rx1184_cur."!mark_push"(0, rx1184_pos, $I10)
+    set_addr $I10, rxcap_1205_fail
+    rx1200_cur."!mark_push"(0, rx1200_pos, $I10)
   # rx literal  "le"
-    add $I11, rx1184_pos, 2
-    gt $I11, rx1184_eos, rx1184_fail
-    sub $I11, rx1184_pos, rx1184_off
-    substr $S10, rx1184_tgt, $I11, 2
-    ne $S10, "le", rx1184_fail
-    add rx1184_pos, 2
-    set_addr $I10, rxcap_1189_fail
-    ($I12, $I11) = rx1184_cur."!mark_peek"($I10)
-    rx1184_cur."!cursor_pos"($I11)
-    ($P10) = rx1184_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1184_pos, "")
-    rx1184_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1200_pos, 2
+    gt $I11, rx1200_eos, rx1200_fail
+    sub $I11, rx1200_pos, rx1200_off
+    substr $S10, rx1200_tgt, $I11, 2
+    ne $S10, "le", rx1200_fail
+    add rx1200_pos, 2
+    set_addr $I10, rxcap_1205_fail
+    ($I12, $I11) = rx1200_cur."!mark_peek"($I10)
+    rx1200_cur."!cursor_pos"($I11)
+    ($P10) = rx1200_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1200_pos, "")
+    rx1200_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1189_done
-  rxcap_1189_fail:
-    goto rx1184_fail
-  rxcap_1189_done:
+    goto rxcap_1205_done
+  rxcap_1205_fail:
+    goto rx1200_fail
+  rxcap_1205_done:
   # rx subrule "O" subtype=capture negate=
-    rx1184_cur."!cursor_pos"(rx1184_pos)
-    $P10 = rx1184_cur."O"("%relational, :pirop<isle ISs>")
-    unless $P10, rx1184_fail
-    rx1184_cur."!mark_push"(0, -1, 0, $P10)
+    rx1200_cur."!cursor_pos"(rx1200_pos)
+    $P10 = rx1200_cur."O"("%relational, :pirop<isle ISs>")
+    unless $P10, rx1200_fail
+    rx1200_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1184_pos = $P10."pos"()
+    rx1200_pos = $P10."pos"()
   # rx pass
-    rx1184_cur."!cursor_pass"(rx1184_pos, "infix:sym<le>")
-    rx1184_cur."!cursor_debug"("PASS  ", "infix:sym<le>", " at pos=", rx1184_pos)
-    .return (rx1184_cur)
-  rx1184_fail:
-.annotate 'line', 445
-    (rx1184_rep, rx1184_pos, $I10, $P10) = rx1184_cur."!mark_fail"(0)
-    lt rx1184_pos, -1, rx1184_done
-    eq rx1184_pos, -1, rx1184_fail
+    rx1200_cur."!cursor_pass"(rx1200_pos, "infix:sym<le>")
+    rx1200_cur."!cursor_debug"("PASS  ", "infix:sym<le>", " at pos=", rx1200_pos)
+    .return (rx1200_cur)
+  rx1200_fail:
+.annotate 'line', 446
+    (rx1200_rep, rx1200_pos, $I10, $P10) = rx1200_cur."!mark_fail"(0)
+    lt rx1200_pos, -1, rx1200_done
+    eq rx1200_pos, -1, rx1200_fail
     jump $I10
-  rx1184_done:
-    rx1184_cur."!cursor_fail"()
-    rx1184_cur."!cursor_debug"("FAIL  ", "infix:sym<le>")
-    .return (rx1184_cur)
+  rx1200_done:
+    rx1200_cur."!cursor_fail"()
+    rx1200_cur."!cursor_debug"("FAIL  ", "infix:sym<le>")
+    .return (rx1200_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<le>"  :subid("303_1275600007.84296") :method
-.annotate 'line', 445
-    $P1186 = self."!PREFIX__!subrule"("O", "le")
-    new $P1187, "ResizablePMCArray"
-    push $P1187, $P1186
-    .return ($P1187)
+.sub "!PREFIX__infix:sym<le>"  :subid("303_1275811487.95429") :method
+.annotate 'line', 446
+    $P1202 = self."!PREFIX__!subrule"("O", "le")
+    new $P1203, "ResizablePMCArray"
+    push $P1203, $P1202
+    .return ($P1203)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ge>"  :subid("304_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1191_tgt
-    .local int rx1191_pos
-    .local int rx1191_off
-    .local int rx1191_eos
-    .local int rx1191_rep
-    .local pmc rx1191_cur
-    (rx1191_cur, rx1191_pos, rx1191_tgt) = self."!cursor_start"()
-    rx1191_cur."!cursor_debug"("START ", "infix:sym<ge>")
-    .lex unicode:"$\x{a2}", rx1191_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1191_eos, rx1191_tgt
-    gt rx1191_pos, rx1191_eos, rx1191_done
-    set rx1191_off, 0
-    lt rx1191_pos, 2, rx1191_start
-    sub rx1191_off, rx1191_pos, 1
-    substr rx1191_tgt, rx1191_tgt, rx1191_off
-  rx1191_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1195_done
-    goto rxscan1195_scan
-  rxscan1195_loop:
-    ($P10) = rx1191_cur."from"()
-    inc $P10
-    set rx1191_pos, $P10
-    ge rx1191_pos, rx1191_eos, rxscan1195_done
-  rxscan1195_scan:
-    set_addr $I10, rxscan1195_loop
-    rx1191_cur."!mark_push"(0, rx1191_pos, $I10)
-  rxscan1195_done:
-.annotate 'line', 523
+.sub "infix:sym<ge>"  :subid("304_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1207_tgt
+    .local int rx1207_pos
+    .local int rx1207_off
+    .local int rx1207_eos
+    .local int rx1207_rep
+    .local pmc rx1207_cur
+    (rx1207_cur, rx1207_pos, rx1207_tgt) = self."!cursor_start"()
+    rx1207_cur."!cursor_debug"("START ", "infix:sym<ge>")
+    .lex unicode:"$\x{a2}", rx1207_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1207_eos, rx1207_tgt
+    gt rx1207_pos, rx1207_eos, rx1207_done
+    set rx1207_off, 0
+    lt rx1207_pos, 2, rx1207_start
+    sub rx1207_off, rx1207_pos, 1
+    substr rx1207_tgt, rx1207_tgt, rx1207_off
+  rx1207_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1211_done
+    goto rxscan1211_scan
+  rxscan1211_loop:
+    ($P10) = rx1207_cur."from"()
+    inc $P10
+    set rx1207_pos, $P10
+    ge rx1207_pos, rx1207_eos, rxscan1211_done
+  rxscan1211_scan:
+    set_addr $I10, rxscan1211_loop
+    rx1207_cur."!mark_push"(0, rx1207_pos, $I10)
+  rxscan1211_done:
+.annotate 'line', 524
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1196_fail
-    rx1191_cur."!mark_push"(0, rx1191_pos, $I10)
+    set_addr $I10, rxcap_1212_fail
+    rx1207_cur."!mark_push"(0, rx1207_pos, $I10)
   # rx literal  "ge"
-    add $I11, rx1191_pos, 2
-    gt $I11, rx1191_eos, rx1191_fail
-    sub $I11, rx1191_pos, rx1191_off
-    substr $S10, rx1191_tgt, $I11, 2
-    ne $S10, "ge", rx1191_fail
-    add rx1191_pos, 2
-    set_addr $I10, rxcap_1196_fail
-    ($I12, $I11) = rx1191_cur."!mark_peek"($I10)
-    rx1191_cur."!cursor_pos"($I11)
-    ($P10) = rx1191_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1191_pos, "")
-    rx1191_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1207_pos, 2
+    gt $I11, rx1207_eos, rx1207_fail
+    sub $I11, rx1207_pos, rx1207_off
+    substr $S10, rx1207_tgt, $I11, 2
+    ne $S10, "ge", rx1207_fail
+    add rx1207_pos, 2
+    set_addr $I10, rxcap_1212_fail
+    ($I12, $I11) = rx1207_cur."!mark_peek"($I10)
+    rx1207_cur."!cursor_pos"($I11)
+    ($P10) = rx1207_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1207_pos, "")
+    rx1207_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1196_done
-  rxcap_1196_fail:
-    goto rx1191_fail
-  rxcap_1196_done:
+    goto rxcap_1212_done
+  rxcap_1212_fail:
+    goto rx1207_fail
+  rxcap_1212_done:
   # rx subrule "O" subtype=capture negate=
-    rx1191_cur."!cursor_pos"(rx1191_pos)
-    $P10 = rx1191_cur."O"("%relational, :pirop<isge ISs>")
-    unless $P10, rx1191_fail
-    rx1191_cur."!mark_push"(0, -1, 0, $P10)
+    rx1207_cur."!cursor_pos"(rx1207_pos)
+    $P10 = rx1207_cur."O"("%relational, :pirop<isge ISs>")
+    unless $P10, rx1207_fail
+    rx1207_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1191_pos = $P10."pos"()
+    rx1207_pos = $P10."pos"()
   # rx pass
-    rx1191_cur."!cursor_pass"(rx1191_pos, "infix:sym<ge>")
-    rx1191_cur."!cursor_debug"("PASS  ", "infix:sym<ge>", " at pos=", rx1191_pos)
-    .return (rx1191_cur)
-  rx1191_fail:
-.annotate 'line', 445
-    (rx1191_rep, rx1191_pos, $I10, $P10) = rx1191_cur."!mark_fail"(0)
-    lt rx1191_pos, -1, rx1191_done
-    eq rx1191_pos, -1, rx1191_fail
+    rx1207_cur."!cursor_pass"(rx1207_pos, "infix:sym<ge>")
+    rx1207_cur."!cursor_debug"("PASS  ", "infix:sym<ge>", " at pos=", rx1207_pos)
+    .return (rx1207_cur)
+  rx1207_fail:
+.annotate 'line', 446
+    (rx1207_rep, rx1207_pos, $I10, $P10) = rx1207_cur."!mark_fail"(0)
+    lt rx1207_pos, -1, rx1207_done
+    eq rx1207_pos, -1, rx1207_fail
     jump $I10
-  rx1191_done:
-    rx1191_cur."!cursor_fail"()
-    rx1191_cur."!cursor_debug"("FAIL  ", "infix:sym<ge>")
-    .return (rx1191_cur)
+  rx1207_done:
+    rx1207_cur."!cursor_fail"()
+    rx1207_cur."!cursor_debug"("FAIL  ", "infix:sym<ge>")
+    .return (rx1207_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ge>"  :subid("305_1275600007.84296") :method
-.annotate 'line', 445
-    $P1193 = self."!PREFIX__!subrule"("O", "ge")
-    new $P1194, "ResizablePMCArray"
-    push $P1194, $P1193
-    .return ($P1194)
+.sub "!PREFIX__infix:sym<ge>"  :subid("305_1275811487.95429") :method
+.annotate 'line', 446
+    $P1209 = self."!PREFIX__!subrule"("O", "ge")
+    new $P1210, "ResizablePMCArray"
+    push $P1210, $P1209
+    .return ($P1210)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<lt>"  :subid("306_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1198_tgt
-    .local int rx1198_pos
-    .local int rx1198_off
-    .local int rx1198_eos
-    .local int rx1198_rep
-    .local pmc rx1198_cur
-    (rx1198_cur, rx1198_pos, rx1198_tgt) = self."!cursor_start"()
-    rx1198_cur."!cursor_debug"("START ", "infix:sym<lt>")
-    .lex unicode:"$\x{a2}", rx1198_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1198_eos, rx1198_tgt
-    gt rx1198_pos, rx1198_eos, rx1198_done
-    set rx1198_off, 0
-    lt rx1198_pos, 2, rx1198_start
-    sub rx1198_off, rx1198_pos, 1
-    substr rx1198_tgt, rx1198_tgt, rx1198_off
-  rx1198_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1202_done
-    goto rxscan1202_scan
-  rxscan1202_loop:
-    ($P10) = rx1198_cur."from"()
-    inc $P10
-    set rx1198_pos, $P10
-    ge rx1198_pos, rx1198_eos, rxscan1202_done
-  rxscan1202_scan:
-    set_addr $I10, rxscan1202_loop
-    rx1198_cur."!mark_push"(0, rx1198_pos, $I10)
-  rxscan1202_done:
-.annotate 'line', 524
+.sub "infix:sym<lt>"  :subid("306_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1214_tgt
+    .local int rx1214_pos
+    .local int rx1214_off
+    .local int rx1214_eos
+    .local int rx1214_rep
+    .local pmc rx1214_cur
+    (rx1214_cur, rx1214_pos, rx1214_tgt) = self."!cursor_start"()
+    rx1214_cur."!cursor_debug"("START ", "infix:sym<lt>")
+    .lex unicode:"$\x{a2}", rx1214_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1214_eos, rx1214_tgt
+    gt rx1214_pos, rx1214_eos, rx1214_done
+    set rx1214_off, 0
+    lt rx1214_pos, 2, rx1214_start
+    sub rx1214_off, rx1214_pos, 1
+    substr rx1214_tgt, rx1214_tgt, rx1214_off
+  rx1214_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1218_done
+    goto rxscan1218_scan
+  rxscan1218_loop:
+    ($P10) = rx1214_cur."from"()
+    inc $P10
+    set rx1214_pos, $P10
+    ge rx1214_pos, rx1214_eos, rxscan1218_done
+  rxscan1218_scan:
+    set_addr $I10, rxscan1218_loop
+    rx1214_cur."!mark_push"(0, rx1214_pos, $I10)
+  rxscan1218_done:
+.annotate 'line', 525
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1203_fail
-    rx1198_cur."!mark_push"(0, rx1198_pos, $I10)
+    set_addr $I10, rxcap_1219_fail
+    rx1214_cur."!mark_push"(0, rx1214_pos, $I10)
   # rx literal  "lt"
-    add $I11, rx1198_pos, 2
-    gt $I11, rx1198_eos, rx1198_fail
-    sub $I11, rx1198_pos, rx1198_off
-    substr $S10, rx1198_tgt, $I11, 2
-    ne $S10, "lt", rx1198_fail
-    add rx1198_pos, 2
-    set_addr $I10, rxcap_1203_fail
-    ($I12, $I11) = rx1198_cur."!mark_peek"($I10)
-    rx1198_cur."!cursor_pos"($I11)
-    ($P10) = rx1198_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1198_pos, "")
-    rx1198_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1214_pos, 2
+    gt $I11, rx1214_eos, rx1214_fail
+    sub $I11, rx1214_pos, rx1214_off
+    substr $S10, rx1214_tgt, $I11, 2
+    ne $S10, "lt", rx1214_fail
+    add rx1214_pos, 2
+    set_addr $I10, rxcap_1219_fail
+    ($I12, $I11) = rx1214_cur."!mark_peek"($I10)
+    rx1214_cur."!cursor_pos"($I11)
+    ($P10) = rx1214_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1214_pos, "")
+    rx1214_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1203_done
-  rxcap_1203_fail:
-    goto rx1198_fail
-  rxcap_1203_done:
+    goto rxcap_1219_done
+  rxcap_1219_fail:
+    goto rx1214_fail
+  rxcap_1219_done:
   # rx subrule "O" subtype=capture negate=
-    rx1198_cur."!cursor_pos"(rx1198_pos)
-    $P10 = rx1198_cur."O"("%relational, :pirop<islt ISs>")
-    unless $P10, rx1198_fail
-    rx1198_cur."!mark_push"(0, -1, 0, $P10)
+    rx1214_cur."!cursor_pos"(rx1214_pos)
+    $P10 = rx1214_cur."O"("%relational, :pirop<islt ISs>")
+    unless $P10, rx1214_fail
+    rx1214_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1198_pos = $P10."pos"()
+    rx1214_pos = $P10."pos"()
   # rx pass
-    rx1198_cur."!cursor_pass"(rx1198_pos, "infix:sym<lt>")
-    rx1198_cur."!cursor_debug"("PASS  ", "infix:sym<lt>", " at pos=", rx1198_pos)
-    .return (rx1198_cur)
-  rx1198_fail:
-.annotate 'line', 445
-    (rx1198_rep, rx1198_pos, $I10, $P10) = rx1198_cur."!mark_fail"(0)
-    lt rx1198_pos, -1, rx1198_done
-    eq rx1198_pos, -1, rx1198_fail
+    rx1214_cur."!cursor_pass"(rx1214_pos, "infix:sym<lt>")
+    rx1214_cur."!cursor_debug"("PASS  ", "infix:sym<lt>", " at pos=", rx1214_pos)
+    .return (rx1214_cur)
+  rx1214_fail:
+.annotate 'line', 446
+    (rx1214_rep, rx1214_pos, $I10, $P10) = rx1214_cur."!mark_fail"(0)
+    lt rx1214_pos, -1, rx1214_done
+    eq rx1214_pos, -1, rx1214_fail
     jump $I10
-  rx1198_done:
-    rx1198_cur."!cursor_fail"()
-    rx1198_cur."!cursor_debug"("FAIL  ", "infix:sym<lt>")
-    .return (rx1198_cur)
+  rx1214_done:
+    rx1214_cur."!cursor_fail"()
+    rx1214_cur."!cursor_debug"("FAIL  ", "infix:sym<lt>")
+    .return (rx1214_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<lt>"  :subid("307_1275600007.84296") :method
-.annotate 'line', 445
-    $P1200 = self."!PREFIX__!subrule"("O", "lt")
-    new $P1201, "ResizablePMCArray"
-    push $P1201, $P1200
-    .return ($P1201)
+.sub "!PREFIX__infix:sym<lt>"  :subid("307_1275811487.95429") :method
+.annotate 'line', 446
+    $P1216 = self."!PREFIX__!subrule"("O", "lt")
+    new $P1217, "ResizablePMCArray"
+    push $P1217, $P1216
+    .return ($P1217)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<gt>"  :subid("308_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1205_tgt
-    .local int rx1205_pos
-    .local int rx1205_off
-    .local int rx1205_eos
-    .local int rx1205_rep
-    .local pmc rx1205_cur
-    (rx1205_cur, rx1205_pos, rx1205_tgt) = self."!cursor_start"()
-    rx1205_cur."!cursor_debug"("START ", "infix:sym<gt>")
-    .lex unicode:"$\x{a2}", rx1205_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1205_eos, rx1205_tgt
-    gt rx1205_pos, rx1205_eos, rx1205_done
-    set rx1205_off, 0
-    lt rx1205_pos, 2, rx1205_start
-    sub rx1205_off, rx1205_pos, 1
-    substr rx1205_tgt, rx1205_tgt, rx1205_off
-  rx1205_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1209_done
-    goto rxscan1209_scan
-  rxscan1209_loop:
-    ($P10) = rx1205_cur."from"()
-    inc $P10
-    set rx1205_pos, $P10
-    ge rx1205_pos, rx1205_eos, rxscan1209_done
-  rxscan1209_scan:
-    set_addr $I10, rxscan1209_loop
-    rx1205_cur."!mark_push"(0, rx1205_pos, $I10)
-  rxscan1209_done:
-.annotate 'line', 525
+.sub "infix:sym<gt>"  :subid("308_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1221_tgt
+    .local int rx1221_pos
+    .local int rx1221_off
+    .local int rx1221_eos
+    .local int rx1221_rep
+    .local pmc rx1221_cur
+    (rx1221_cur, rx1221_pos, rx1221_tgt) = self."!cursor_start"()
+    rx1221_cur."!cursor_debug"("START ", "infix:sym<gt>")
+    .lex unicode:"$\x{a2}", rx1221_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1221_eos, rx1221_tgt
+    gt rx1221_pos, rx1221_eos, rx1221_done
+    set rx1221_off, 0
+    lt rx1221_pos, 2, rx1221_start
+    sub rx1221_off, rx1221_pos, 1
+    substr rx1221_tgt, rx1221_tgt, rx1221_off
+  rx1221_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1225_done
+    goto rxscan1225_scan
+  rxscan1225_loop:
+    ($P10) = rx1221_cur."from"()
+    inc $P10
+    set rx1221_pos, $P10
+    ge rx1221_pos, rx1221_eos, rxscan1225_done
+  rxscan1225_scan:
+    set_addr $I10, rxscan1225_loop
+    rx1221_cur."!mark_push"(0, rx1221_pos, $I10)
+  rxscan1225_done:
+.annotate 'line', 526
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1210_fail
-    rx1205_cur."!mark_push"(0, rx1205_pos, $I10)
+    set_addr $I10, rxcap_1226_fail
+    rx1221_cur."!mark_push"(0, rx1221_pos, $I10)
   # rx literal  "gt"
-    add $I11, rx1205_pos, 2
-    gt $I11, rx1205_eos, rx1205_fail
-    sub $I11, rx1205_pos, rx1205_off
-    substr $S10, rx1205_tgt, $I11, 2
-    ne $S10, "gt", rx1205_fail
-    add rx1205_pos, 2
-    set_addr $I10, rxcap_1210_fail
-    ($I12, $I11) = rx1205_cur."!mark_peek"($I10)
-    rx1205_cur."!cursor_pos"($I11)
-    ($P10) = rx1205_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1205_pos, "")
-    rx1205_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1221_pos, 2
+    gt $I11, rx1221_eos, rx1221_fail
+    sub $I11, rx1221_pos, rx1221_off
+    substr $S10, rx1221_tgt, $I11, 2
+    ne $S10, "gt", rx1221_fail
+    add rx1221_pos, 2
+    set_addr $I10, rxcap_1226_fail
+    ($I12, $I11) = rx1221_cur."!mark_peek"($I10)
+    rx1221_cur."!cursor_pos"($I11)
+    ($P10) = rx1221_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1221_pos, "")
+    rx1221_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1210_done
-  rxcap_1210_fail:
-    goto rx1205_fail
-  rxcap_1210_done:
+    goto rxcap_1226_done
+  rxcap_1226_fail:
+    goto rx1221_fail
+  rxcap_1226_done:
   # rx subrule "O" subtype=capture negate=
-    rx1205_cur."!cursor_pos"(rx1205_pos)
-    $P10 = rx1205_cur."O"("%relational, :pirop<isgt ISs>")
-    unless $P10, rx1205_fail
-    rx1205_cur."!mark_push"(0, -1, 0, $P10)
+    rx1221_cur."!cursor_pos"(rx1221_pos)
+    $P10 = rx1221_cur."O"("%relational, :pirop<isgt ISs>")
+    unless $P10, rx1221_fail
+    rx1221_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1205_pos = $P10."pos"()
+    rx1221_pos = $P10."pos"()
   # rx pass
-    rx1205_cur."!cursor_pass"(rx1205_pos, "infix:sym<gt>")
-    rx1205_cur."!cursor_debug"("PASS  ", "infix:sym<gt>", " at pos=", rx1205_pos)
-    .return (rx1205_cur)
-  rx1205_fail:
-.annotate 'line', 445
-    (rx1205_rep, rx1205_pos, $I10, $P10) = rx1205_cur."!mark_fail"(0)
-    lt rx1205_pos, -1, rx1205_done
-    eq rx1205_pos, -1, rx1205_fail
+    rx1221_cur."!cursor_pass"(rx1221_pos, "infix:sym<gt>")
+    rx1221_cur."!cursor_debug"("PASS  ", "infix:sym<gt>", " at pos=", rx1221_pos)
+    .return (rx1221_cur)
+  rx1221_fail:
+.annotate 'line', 446
+    (rx1221_rep, rx1221_pos, $I10, $P10) = rx1221_cur."!mark_fail"(0)
+    lt rx1221_pos, -1, rx1221_done
+    eq rx1221_pos, -1, rx1221_fail
     jump $I10
-  rx1205_done:
-    rx1205_cur."!cursor_fail"()
-    rx1205_cur."!cursor_debug"("FAIL  ", "infix:sym<gt>")
-    .return (rx1205_cur)
+  rx1221_done:
+    rx1221_cur."!cursor_fail"()
+    rx1221_cur."!cursor_debug"("FAIL  ", "infix:sym<gt>")
+    .return (rx1221_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<gt>"  :subid("309_1275600007.84296") :method
-.annotate 'line', 445
-    $P1207 = self."!PREFIX__!subrule"("O", "gt")
-    new $P1208, "ResizablePMCArray"
-    push $P1208, $P1207
-    .return ($P1208)
+.sub "!PREFIX__infix:sym<gt>"  :subid("309_1275811487.95429") :method
+.annotate 'line', 446
+    $P1223 = self."!PREFIX__!subrule"("O", "gt")
+    new $P1224, "ResizablePMCArray"
+    push $P1224, $P1223
+    .return ($P1224)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=:=>"  :subid("310_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1212_tgt
-    .local int rx1212_pos
-    .local int rx1212_off
-    .local int rx1212_eos
-    .local int rx1212_rep
-    .local pmc rx1212_cur
-    (rx1212_cur, rx1212_pos, rx1212_tgt) = self."!cursor_start"()
-    rx1212_cur."!cursor_debug"("START ", "infix:sym<=:=>")
-    .lex unicode:"$\x{a2}", rx1212_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1212_eos, rx1212_tgt
-    gt rx1212_pos, rx1212_eos, rx1212_done
-    set rx1212_off, 0
-    lt rx1212_pos, 2, rx1212_start
-    sub rx1212_off, rx1212_pos, 1
-    substr rx1212_tgt, rx1212_tgt, rx1212_off
-  rx1212_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1216_done
-    goto rxscan1216_scan
-  rxscan1216_loop:
-    ($P10) = rx1212_cur."from"()
-    inc $P10
-    set rx1212_pos, $P10
-    ge rx1212_pos, rx1212_eos, rxscan1216_done
-  rxscan1216_scan:
-    set_addr $I10, rxscan1216_loop
-    rx1212_cur."!mark_push"(0, rx1212_pos, $I10)
-  rxscan1216_done:
-.annotate 'line', 526
+.sub "infix:sym<=:=>"  :subid("310_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1228_tgt
+    .local int rx1228_pos
+    .local int rx1228_off
+    .local int rx1228_eos
+    .local int rx1228_rep
+    .local pmc rx1228_cur
+    (rx1228_cur, rx1228_pos, rx1228_tgt) = self."!cursor_start"()
+    rx1228_cur."!cursor_debug"("START ", "infix:sym<=:=>")
+    .lex unicode:"$\x{a2}", rx1228_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1228_eos, rx1228_tgt
+    gt rx1228_pos, rx1228_eos, rx1228_done
+    set rx1228_off, 0
+    lt rx1228_pos, 2, rx1228_start
+    sub rx1228_off, rx1228_pos, 1
+    substr rx1228_tgt, rx1228_tgt, rx1228_off
+  rx1228_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1232_done
+    goto rxscan1232_scan
+  rxscan1232_loop:
+    ($P10) = rx1228_cur."from"()
+    inc $P10
+    set rx1228_pos, $P10
+    ge rx1228_pos, rx1228_eos, rxscan1232_done
+  rxscan1232_scan:
+    set_addr $I10, rxscan1232_loop
+    rx1228_cur."!mark_push"(0, rx1228_pos, $I10)
+  rxscan1232_done:
+.annotate 'line', 527
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1217_fail
-    rx1212_cur."!mark_push"(0, rx1212_pos, $I10)
+    set_addr $I10, rxcap_1233_fail
+    rx1228_cur."!mark_push"(0, rx1228_pos, $I10)
   # rx literal  "=:="
-    add $I11, rx1212_pos, 3
-    gt $I11, rx1212_eos, rx1212_fail
-    sub $I11, rx1212_pos, rx1212_off
-    substr $S10, rx1212_tgt, $I11, 3
-    ne $S10, "=:=", rx1212_fail
-    add rx1212_pos, 3
-    set_addr $I10, rxcap_1217_fail
-    ($I12, $I11) = rx1212_cur."!mark_peek"($I10)
-    rx1212_cur."!cursor_pos"($I11)
-    ($P10) = rx1212_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1212_pos, "")
-    rx1212_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1228_pos, 3
+    gt $I11, rx1228_eos, rx1228_fail
+    sub $I11, rx1228_pos, rx1228_off
+    substr $S10, rx1228_tgt, $I11, 3
+    ne $S10, "=:=", rx1228_fail
+    add rx1228_pos, 3
+    set_addr $I10, rxcap_1233_fail
+    ($I12, $I11) = rx1228_cur."!mark_peek"($I10)
+    rx1228_cur."!cursor_pos"($I11)
+    ($P10) = rx1228_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1228_pos, "")
+    rx1228_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1217_done
-  rxcap_1217_fail:
-    goto rx1212_fail
-  rxcap_1217_done:
+    goto rxcap_1233_done
+  rxcap_1233_fail:
+    goto rx1228_fail
+  rxcap_1233_done:
   # rx subrule "O" subtype=capture negate=
-    rx1212_cur."!cursor_pos"(rx1212_pos)
-    $P10 = rx1212_cur."O"("%relational, :pirop<issame>")
-    unless $P10, rx1212_fail
-    rx1212_cur."!mark_push"(0, -1, 0, $P10)
+    rx1228_cur."!cursor_pos"(rx1228_pos)
+    $P10 = rx1228_cur."O"("%relational, :pirop<issame>")
+    unless $P10, rx1228_fail
+    rx1228_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1212_pos = $P10."pos"()
+    rx1228_pos = $P10."pos"()
   # rx pass
-    rx1212_cur."!cursor_pass"(rx1212_pos, "infix:sym<=:=>")
-    rx1212_cur."!cursor_debug"("PASS  ", "infix:sym<=:=>", " at pos=", rx1212_pos)
-    .return (rx1212_cur)
-  rx1212_fail:
-.annotate 'line', 445
-    (rx1212_rep, rx1212_pos, $I10, $P10) = rx1212_cur."!mark_fail"(0)
-    lt rx1212_pos, -1, rx1212_done
-    eq rx1212_pos, -1, rx1212_fail
+    rx1228_cur."!cursor_pass"(rx1228_pos, "infix:sym<=:=>")
+    rx1228_cur."!cursor_debug"("PASS  ", "infix:sym<=:=>", " at pos=", rx1228_pos)
+    .return (rx1228_cur)
+  rx1228_fail:
+.annotate 'line', 446
+    (rx1228_rep, rx1228_pos, $I10, $P10) = rx1228_cur."!mark_fail"(0)
+    lt rx1228_pos, -1, rx1228_done
+    eq rx1228_pos, -1, rx1228_fail
     jump $I10
-  rx1212_done:
-    rx1212_cur."!cursor_fail"()
-    rx1212_cur."!cursor_debug"("FAIL  ", "infix:sym<=:=>")
-    .return (rx1212_cur)
+  rx1228_done:
+    rx1228_cur."!cursor_fail"()
+    rx1228_cur."!cursor_debug"("FAIL  ", "infix:sym<=:=>")
+    .return (rx1228_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=:=>"  :subid("311_1275600007.84296") :method
-.annotate 'line', 445
-    $P1214 = self."!PREFIX__!subrule"("O", "=:=")
-    new $P1215, "ResizablePMCArray"
-    push $P1215, $P1214
-    .return ($P1215)
+.sub "!PREFIX__infix:sym<=:=>"  :subid("311_1275811487.95429") :method
+.annotate 'line', 446
+    $P1230 = self."!PREFIX__!subrule"("O", "=:=")
+    new $P1231, "ResizablePMCArray"
+    push $P1231, $P1230
+    .return ($P1231)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~~>"  :subid("312_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1219_tgt
-    .local int rx1219_pos
-    .local int rx1219_off
-    .local int rx1219_eos
-    .local int rx1219_rep
-    .local pmc rx1219_cur
-    (rx1219_cur, rx1219_pos, rx1219_tgt) = self."!cursor_start"()
-    rx1219_cur."!cursor_debug"("START ", "infix:sym<~~>")
-    .lex unicode:"$\x{a2}", rx1219_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1219_eos, rx1219_tgt
-    gt rx1219_pos, rx1219_eos, rx1219_done
-    set rx1219_off, 0
-    lt rx1219_pos, 2, rx1219_start
-    sub rx1219_off, rx1219_pos, 1
-    substr rx1219_tgt, rx1219_tgt, rx1219_off
-  rx1219_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1223_done
-    goto rxscan1223_scan
-  rxscan1223_loop:
-    ($P10) = rx1219_cur."from"()
-    inc $P10
-    set rx1219_pos, $P10
-    ge rx1219_pos, rx1219_eos, rxscan1223_done
-  rxscan1223_scan:
-    set_addr $I10, rxscan1223_loop
-    rx1219_cur."!mark_push"(0, rx1219_pos, $I10)
-  rxscan1223_done:
-.annotate 'line', 527
+.sub "infix:sym<~~>"  :subid("312_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1235_tgt
+    .local int rx1235_pos
+    .local int rx1235_off
+    .local int rx1235_eos
+    .local int rx1235_rep
+    .local pmc rx1235_cur
+    (rx1235_cur, rx1235_pos, rx1235_tgt) = self."!cursor_start"()
+    rx1235_cur."!cursor_debug"("START ", "infix:sym<~~>")
+    .lex unicode:"$\x{a2}", rx1235_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1235_eos, rx1235_tgt
+    gt rx1235_pos, rx1235_eos, rx1235_done
+    set rx1235_off, 0
+    lt rx1235_pos, 2, rx1235_start
+    sub rx1235_off, rx1235_pos, 1
+    substr rx1235_tgt, rx1235_tgt, rx1235_off
+  rx1235_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1239_done
+    goto rxscan1239_scan
+  rxscan1239_loop:
+    ($P10) = rx1235_cur."from"()
+    inc $P10
+    set rx1235_pos, $P10
+    ge rx1235_pos, rx1235_eos, rxscan1239_done
+  rxscan1239_scan:
+    set_addr $I10, rxscan1239_loop
+    rx1235_cur."!mark_push"(0, rx1235_pos, $I10)
+  rxscan1239_done:
+.annotate 'line', 528
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1224_fail
-    rx1219_cur."!mark_push"(0, rx1219_pos, $I10)
+    set_addr $I10, rxcap_1240_fail
+    rx1235_cur."!mark_push"(0, rx1235_pos, $I10)
   # rx literal  "~~"
-    add $I11, rx1219_pos, 2
-    gt $I11, rx1219_eos, rx1219_fail
-    sub $I11, rx1219_pos, rx1219_off
-    substr $S10, rx1219_tgt, $I11, 2
-    ne $S10, "~~", rx1219_fail
-    add rx1219_pos, 2
-    set_addr $I10, rxcap_1224_fail
-    ($I12, $I11) = rx1219_cur."!mark_peek"($I10)
-    rx1219_cur."!cursor_pos"($I11)
-    ($P10) = rx1219_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1219_pos, "")
-    rx1219_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1235_pos, 2
+    gt $I11, rx1235_eos, rx1235_fail
+    sub $I11, rx1235_pos, rx1235_off
+    substr $S10, rx1235_tgt, $I11, 2
+    ne $S10, "~~", rx1235_fail
+    add rx1235_pos, 2
+    set_addr $I10, rxcap_1240_fail
+    ($I12, $I11) = rx1235_cur."!mark_peek"($I10)
+    rx1235_cur."!cursor_pos"($I11)
+    ($P10) = rx1235_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1235_pos, "")
+    rx1235_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1224_done
-  rxcap_1224_fail:
-    goto rx1219_fail
-  rxcap_1224_done:
+    goto rxcap_1240_done
+  rxcap_1240_fail:
+    goto rx1235_fail
+  rxcap_1240_done:
   # rx subrule "O" subtype=capture negate=
-    rx1219_cur."!cursor_pos"(rx1219_pos)
-    $P10 = rx1219_cur."O"("%relational, :reducecheck<smartmatch>")
-    unless $P10, rx1219_fail
-    rx1219_cur."!mark_push"(0, -1, 0, $P10)
+    rx1235_cur."!cursor_pos"(rx1235_pos)
+    $P10 = rx1235_cur."O"("%relational, :reducecheck<smartmatch>")
+    unless $P10, rx1235_fail
+    rx1235_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1219_pos = $P10."pos"()
+    rx1235_pos = $P10."pos"()
   # rx pass
-    rx1219_cur."!cursor_pass"(rx1219_pos, "infix:sym<~~>")
-    rx1219_cur."!cursor_debug"("PASS  ", "infix:sym<~~>", " at pos=", rx1219_pos)
-    .return (rx1219_cur)
-  rx1219_fail:
-.annotate 'line', 445
-    (rx1219_rep, rx1219_pos, $I10, $P10) = rx1219_cur."!mark_fail"(0)
-    lt rx1219_pos, -1, rx1219_done
-    eq rx1219_pos, -1, rx1219_fail
+    rx1235_cur."!cursor_pass"(rx1235_pos, "infix:sym<~~>")
+    rx1235_cur."!cursor_debug"("PASS  ", "infix:sym<~~>", " at pos=", rx1235_pos)
+    .return (rx1235_cur)
+  rx1235_fail:
+.annotate 'line', 446
+    (rx1235_rep, rx1235_pos, $I10, $P10) = rx1235_cur."!mark_fail"(0)
+    lt rx1235_pos, -1, rx1235_done
+    eq rx1235_pos, -1, rx1235_fail
     jump $I10
-  rx1219_done:
-    rx1219_cur."!cursor_fail"()
-    rx1219_cur."!cursor_debug"("FAIL  ", "infix:sym<~~>")
-    .return (rx1219_cur)
+  rx1235_done:
+    rx1235_cur."!cursor_fail"()
+    rx1235_cur."!cursor_debug"("FAIL  ", "infix:sym<~~>")
+    .return (rx1235_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~~>"  :subid("313_1275600007.84296") :method
-.annotate 'line', 445
-    $P1221 = self."!PREFIX__!subrule"("O", "~~")
-    new $P1222, "ResizablePMCArray"
-    push $P1222, $P1221
-    .return ($P1222)
+.sub "!PREFIX__infix:sym<~~>"  :subid("313_1275811487.95429") :method
+.annotate 'line', 446
+    $P1237 = self."!PREFIX__!subrule"("O", "~~")
+    new $P1238, "ResizablePMCArray"
+    push $P1238, $P1237
+    .return ($P1238)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<&&>"  :subid("314_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1226_tgt
-    .local int rx1226_pos
-    .local int rx1226_off
-    .local int rx1226_eos
-    .local int rx1226_rep
-    .local pmc rx1226_cur
-    (rx1226_cur, rx1226_pos, rx1226_tgt) = self."!cursor_start"()
-    rx1226_cur."!cursor_debug"("START ", "infix:sym<&&>")
-    .lex unicode:"$\x{a2}", rx1226_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1226_eos, rx1226_tgt
-    gt rx1226_pos, rx1226_eos, rx1226_done
-    set rx1226_off, 0
-    lt rx1226_pos, 2, rx1226_start
-    sub rx1226_off, rx1226_pos, 1
-    substr rx1226_tgt, rx1226_tgt, rx1226_off
-  rx1226_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1230_done
-    goto rxscan1230_scan
-  rxscan1230_loop:
-    ($P10) = rx1226_cur."from"()
-    inc $P10
-    set rx1226_pos, $P10
-    ge rx1226_pos, rx1226_eos, rxscan1230_done
-  rxscan1230_scan:
-    set_addr $I10, rxscan1230_loop
-    rx1226_cur."!mark_push"(0, rx1226_pos, $I10)
-  rxscan1230_done:
-.annotate 'line', 529
+.sub "infix:sym<&&>"  :subid("314_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1242_tgt
+    .local int rx1242_pos
+    .local int rx1242_off
+    .local int rx1242_eos
+    .local int rx1242_rep
+    .local pmc rx1242_cur
+    (rx1242_cur, rx1242_pos, rx1242_tgt) = self."!cursor_start"()
+    rx1242_cur."!cursor_debug"("START ", "infix:sym<&&>")
+    .lex unicode:"$\x{a2}", rx1242_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1242_eos, rx1242_tgt
+    gt rx1242_pos, rx1242_eos, rx1242_done
+    set rx1242_off, 0
+    lt rx1242_pos, 2, rx1242_start
+    sub rx1242_off, rx1242_pos, 1
+    substr rx1242_tgt, rx1242_tgt, rx1242_off
+  rx1242_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1246_done
+    goto rxscan1246_scan
+  rxscan1246_loop:
+    ($P10) = rx1242_cur."from"()
+    inc $P10
+    set rx1242_pos, $P10
+    ge rx1242_pos, rx1242_eos, rxscan1246_done
+  rxscan1246_scan:
+    set_addr $I10, rxscan1246_loop
+    rx1242_cur."!mark_push"(0, rx1242_pos, $I10)
+  rxscan1246_done:
+.annotate 'line', 530
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1231_fail
-    rx1226_cur."!mark_push"(0, rx1226_pos, $I10)
+    set_addr $I10, rxcap_1247_fail
+    rx1242_cur."!mark_push"(0, rx1242_pos, $I10)
   # rx literal  "&&"
-    add $I11, rx1226_pos, 2
-    gt $I11, rx1226_eos, rx1226_fail
-    sub $I11, rx1226_pos, rx1226_off
-    substr $S10, rx1226_tgt, $I11, 2
-    ne $S10, "&&", rx1226_fail
-    add rx1226_pos, 2
-    set_addr $I10, rxcap_1231_fail
-    ($I12, $I11) = rx1226_cur."!mark_peek"($I10)
-    rx1226_cur."!cursor_pos"($I11)
-    ($P10) = rx1226_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1226_pos, "")
-    rx1226_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1242_pos, 2
+    gt $I11, rx1242_eos, rx1242_fail
+    sub $I11, rx1242_pos, rx1242_off
+    substr $S10, rx1242_tgt, $I11, 2
+    ne $S10, "&&", rx1242_fail
+    add rx1242_pos, 2
+    set_addr $I10, rxcap_1247_fail
+    ($I12, $I11) = rx1242_cur."!mark_peek"($I10)
+    rx1242_cur."!cursor_pos"($I11)
+    ($P10) = rx1242_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1242_pos, "")
+    rx1242_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1231_done
-  rxcap_1231_fail:
-    goto rx1226_fail
-  rxcap_1231_done:
+    goto rxcap_1247_done
+  rxcap_1247_fail:
+    goto rx1242_fail
+  rxcap_1247_done:
   # rx subrule "O" subtype=capture negate=
-    rx1226_cur."!cursor_pos"(rx1226_pos)
-    $P10 = rx1226_cur."O"("%tight_and, :pasttype<if>")
-    unless $P10, rx1226_fail
-    rx1226_cur."!mark_push"(0, -1, 0, $P10)
+    rx1242_cur."!cursor_pos"(rx1242_pos)
+    $P10 = rx1242_cur."O"("%tight_and, :pasttype<if>")
+    unless $P10, rx1242_fail
+    rx1242_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1226_pos = $P10."pos"()
+    rx1242_pos = $P10."pos"()
   # rx pass
-    rx1226_cur."!cursor_pass"(rx1226_pos, "infix:sym<&&>")
-    rx1226_cur."!cursor_debug"("PASS  ", "infix:sym<&&>", " at pos=", rx1226_pos)
-    .return (rx1226_cur)
-  rx1226_fail:
-.annotate 'line', 445
-    (rx1226_rep, rx1226_pos, $I10, $P10) = rx1226_cur."!mark_fail"(0)
-    lt rx1226_pos, -1, rx1226_done
-    eq rx1226_pos, -1, rx1226_fail
+    rx1242_cur."!cursor_pass"(rx1242_pos, "infix:sym<&&>")
+    rx1242_cur."!cursor_debug"("PASS  ", "infix:sym<&&>", " at pos=", rx1242_pos)
+    .return (rx1242_cur)
+  rx1242_fail:
+.annotate 'line', 446
+    (rx1242_rep, rx1242_pos, $I10, $P10) = rx1242_cur."!mark_fail"(0)
+    lt rx1242_pos, -1, rx1242_done
+    eq rx1242_pos, -1, rx1242_fail
     jump $I10
-  rx1226_done:
-    rx1226_cur."!cursor_fail"()
-    rx1226_cur."!cursor_debug"("FAIL  ", "infix:sym<&&>")
-    .return (rx1226_cur)
+  rx1242_done:
+    rx1242_cur."!cursor_fail"()
+    rx1242_cur."!cursor_debug"("FAIL  ", "infix:sym<&&>")
+    .return (rx1242_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<&&>"  :subid("315_1275600007.84296") :method
-.annotate 'line', 445
-    $P1228 = self."!PREFIX__!subrule"("O", "&&")
-    new $P1229, "ResizablePMCArray"
-    push $P1229, $P1228
-    .return ($P1229)
+.sub "!PREFIX__infix:sym<&&>"  :subid("315_1275811487.95429") :method
+.annotate 'line', 446
+    $P1244 = self."!PREFIX__!subrule"("O", "&&")
+    new $P1245, "ResizablePMCArray"
+    push $P1245, $P1244
+    .return ($P1245)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<||>"  :subid("316_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1233_tgt
-    .local int rx1233_pos
-    .local int rx1233_off
-    .local int rx1233_eos
-    .local int rx1233_rep
-    .local pmc rx1233_cur
-    (rx1233_cur, rx1233_pos, rx1233_tgt) = self."!cursor_start"()
-    rx1233_cur."!cursor_debug"("START ", "infix:sym<||>")
-    .lex unicode:"$\x{a2}", rx1233_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1233_eos, rx1233_tgt
-    gt rx1233_pos, rx1233_eos, rx1233_done
-    set rx1233_off, 0
-    lt rx1233_pos, 2, rx1233_start
-    sub rx1233_off, rx1233_pos, 1
-    substr rx1233_tgt, rx1233_tgt, rx1233_off
-  rx1233_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1237_done
-    goto rxscan1237_scan
-  rxscan1237_loop:
-    ($P10) = rx1233_cur."from"()
-    inc $P10
-    set rx1233_pos, $P10
-    ge rx1233_pos, rx1233_eos, rxscan1237_done
-  rxscan1237_scan:
-    set_addr $I10, rxscan1237_loop
-    rx1233_cur."!mark_push"(0, rx1233_pos, $I10)
-  rxscan1237_done:
-.annotate 'line', 531
+.sub "infix:sym<||>"  :subid("316_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1249_tgt
+    .local int rx1249_pos
+    .local int rx1249_off
+    .local int rx1249_eos
+    .local int rx1249_rep
+    .local pmc rx1249_cur
+    (rx1249_cur, rx1249_pos, rx1249_tgt) = self."!cursor_start"()
+    rx1249_cur."!cursor_debug"("START ", "infix:sym<||>")
+    .lex unicode:"$\x{a2}", rx1249_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1249_eos, rx1249_tgt
+    gt rx1249_pos, rx1249_eos, rx1249_done
+    set rx1249_off, 0
+    lt rx1249_pos, 2, rx1249_start
+    sub rx1249_off, rx1249_pos, 1
+    substr rx1249_tgt, rx1249_tgt, rx1249_off
+  rx1249_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1253_done
+    goto rxscan1253_scan
+  rxscan1253_loop:
+    ($P10) = rx1249_cur."from"()
+    inc $P10
+    set rx1249_pos, $P10
+    ge rx1249_pos, rx1249_eos, rxscan1253_done
+  rxscan1253_scan:
+    set_addr $I10, rxscan1253_loop
+    rx1249_cur."!mark_push"(0, rx1249_pos, $I10)
+  rxscan1253_done:
+.annotate 'line', 532
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1238_fail
-    rx1233_cur."!mark_push"(0, rx1233_pos, $I10)
+    set_addr $I10, rxcap_1254_fail
+    rx1249_cur."!mark_push"(0, rx1249_pos, $I10)
   # rx literal  "||"
-    add $I11, rx1233_pos, 2
-    gt $I11, rx1233_eos, rx1233_fail
-    sub $I11, rx1233_pos, rx1233_off
-    substr $S10, rx1233_tgt, $I11, 2
-    ne $S10, "||", rx1233_fail
-    add rx1233_pos, 2
-    set_addr $I10, rxcap_1238_fail
-    ($I12, $I11) = rx1233_cur."!mark_peek"($I10)
-    rx1233_cur."!cursor_pos"($I11)
-    ($P10) = rx1233_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1233_pos, "")
-    rx1233_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1249_pos, 2
+    gt $I11, rx1249_eos, rx1249_fail
+    sub $I11, rx1249_pos, rx1249_off
+    substr $S10, rx1249_tgt, $I11, 2
+    ne $S10, "||", rx1249_fail
+    add rx1249_pos, 2
+    set_addr $I10, rxcap_1254_fail
+    ($I12, $I11) = rx1249_cur."!mark_peek"($I10)
+    rx1249_cur."!cursor_pos"($I11)
+    ($P10) = rx1249_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1249_pos, "")
+    rx1249_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1238_done
-  rxcap_1238_fail:
-    goto rx1233_fail
-  rxcap_1238_done:
+    goto rxcap_1254_done
+  rxcap_1254_fail:
+    goto rx1249_fail
+  rxcap_1254_done:
   # rx subrule "O" subtype=capture negate=
-    rx1233_cur."!cursor_pos"(rx1233_pos)
-    $P10 = rx1233_cur."O"("%tight_or, :pasttype<unless>")
-    unless $P10, rx1233_fail
-    rx1233_cur."!mark_push"(0, -1, 0, $P10)
+    rx1249_cur."!cursor_pos"(rx1249_pos)
+    $P10 = rx1249_cur."O"("%tight_or, :pasttype<unless>")
+    unless $P10, rx1249_fail
+    rx1249_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1233_pos = $P10."pos"()
+    rx1249_pos = $P10."pos"()
   # rx pass
-    rx1233_cur."!cursor_pass"(rx1233_pos, "infix:sym<||>")
-    rx1233_cur."!cursor_debug"("PASS  ", "infix:sym<||>", " at pos=", rx1233_pos)
-    .return (rx1233_cur)
-  rx1233_fail:
-.annotate 'line', 445
-    (rx1233_rep, rx1233_pos, $I10, $P10) = rx1233_cur."!mark_fail"(0)
-    lt rx1233_pos, -1, rx1233_done
-    eq rx1233_pos, -1, rx1233_fail
+    rx1249_cur."!cursor_pass"(rx1249_pos, "infix:sym<||>")
+    rx1249_cur."!cursor_debug"("PASS  ", "infix:sym<||>", " at pos=", rx1249_pos)
+    .return (rx1249_cur)
+  rx1249_fail:
+.annotate 'line', 446
+    (rx1249_rep, rx1249_pos, $I10, $P10) = rx1249_cur."!mark_fail"(0)
+    lt rx1249_pos, -1, rx1249_done
+    eq rx1249_pos, -1, rx1249_fail
     jump $I10
-  rx1233_done:
-    rx1233_cur."!cursor_fail"()
-    rx1233_cur."!cursor_debug"("FAIL  ", "infix:sym<||>")
-    .return (rx1233_cur)
+  rx1249_done:
+    rx1249_cur."!cursor_fail"()
+    rx1249_cur."!cursor_debug"("FAIL  ", "infix:sym<||>")
+    .return (rx1249_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<||>"  :subid("317_1275600007.84296") :method
-.annotate 'line', 445
-    $P1235 = self."!PREFIX__!subrule"("O", "||")
-    new $P1236, "ResizablePMCArray"
-    push $P1236, $P1235
-    .return ($P1236)
+.sub "!PREFIX__infix:sym<||>"  :subid("317_1275811487.95429") :method
+.annotate 'line', 446
+    $P1251 = self."!PREFIX__!subrule"("O", "||")
+    new $P1252, "ResizablePMCArray"
+    push $P1252, $P1251
+    .return ($P1252)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<//>"  :subid("318_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1240_tgt
-    .local int rx1240_pos
-    .local int rx1240_off
-    .local int rx1240_eos
-    .local int rx1240_rep
-    .local pmc rx1240_cur
-    (rx1240_cur, rx1240_pos, rx1240_tgt) = self."!cursor_start"()
-    rx1240_cur."!cursor_debug"("START ", "infix:sym<//>")
-    .lex unicode:"$\x{a2}", rx1240_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1240_eos, rx1240_tgt
-    gt rx1240_pos, rx1240_eos, rx1240_done
-    set rx1240_off, 0
-    lt rx1240_pos, 2, rx1240_start
-    sub rx1240_off, rx1240_pos, 1
-    substr rx1240_tgt, rx1240_tgt, rx1240_off
-  rx1240_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1244_done
-    goto rxscan1244_scan
-  rxscan1244_loop:
-    ($P10) = rx1240_cur."from"()
-    inc $P10
-    set rx1240_pos, $P10
-    ge rx1240_pos, rx1240_eos, rxscan1244_done
-  rxscan1244_scan:
-    set_addr $I10, rxscan1244_loop
-    rx1240_cur."!mark_push"(0, rx1240_pos, $I10)
-  rxscan1244_done:
-.annotate 'line', 532
+.sub "infix:sym<//>"  :subid("318_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1256_tgt
+    .local int rx1256_pos
+    .local int rx1256_off
+    .local int rx1256_eos
+    .local int rx1256_rep
+    .local pmc rx1256_cur
+    (rx1256_cur, rx1256_pos, rx1256_tgt) = self."!cursor_start"()
+    rx1256_cur."!cursor_debug"("START ", "infix:sym<//>")
+    .lex unicode:"$\x{a2}", rx1256_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1256_eos, rx1256_tgt
+    gt rx1256_pos, rx1256_eos, rx1256_done
+    set rx1256_off, 0
+    lt rx1256_pos, 2, rx1256_start
+    sub rx1256_off, rx1256_pos, 1
+    substr rx1256_tgt, rx1256_tgt, rx1256_off
+  rx1256_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1260_done
+    goto rxscan1260_scan
+  rxscan1260_loop:
+    ($P10) = rx1256_cur."from"()
+    inc $P10
+    set rx1256_pos, $P10
+    ge rx1256_pos, rx1256_eos, rxscan1260_done
+  rxscan1260_scan:
+    set_addr $I10, rxscan1260_loop
+    rx1256_cur."!mark_push"(0, rx1256_pos, $I10)
+  rxscan1260_done:
+.annotate 'line', 533
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1245_fail
-    rx1240_cur."!mark_push"(0, rx1240_pos, $I10)
+    set_addr $I10, rxcap_1261_fail
+    rx1256_cur."!mark_push"(0, rx1256_pos, $I10)
   # rx literal  "//"
-    add $I11, rx1240_pos, 2
-    gt $I11, rx1240_eos, rx1240_fail
-    sub $I11, rx1240_pos, rx1240_off
-    substr $S10, rx1240_tgt, $I11, 2
-    ne $S10, "//", rx1240_fail
-    add rx1240_pos, 2
-    set_addr $I10, rxcap_1245_fail
-    ($I12, $I11) = rx1240_cur."!mark_peek"($I10)
-    rx1240_cur."!cursor_pos"($I11)
-    ($P10) = rx1240_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1240_pos, "")
-    rx1240_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1256_pos, 2
+    gt $I11, rx1256_eos, rx1256_fail
+    sub $I11, rx1256_pos, rx1256_off
+    substr $S10, rx1256_tgt, $I11, 2
+    ne $S10, "//", rx1256_fail
+    add rx1256_pos, 2
+    set_addr $I10, rxcap_1261_fail
+    ($I12, $I11) = rx1256_cur."!mark_peek"($I10)
+    rx1256_cur."!cursor_pos"($I11)
+    ($P10) = rx1256_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1256_pos, "")
+    rx1256_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1245_done
-  rxcap_1245_fail:
-    goto rx1240_fail
-  rxcap_1245_done:
+    goto rxcap_1261_done
+  rxcap_1261_fail:
+    goto rx1256_fail
+  rxcap_1261_done:
   # rx subrule "O" subtype=capture negate=
-    rx1240_cur."!cursor_pos"(rx1240_pos)
-    $P10 = rx1240_cur."O"("%tight_or, :pasttype<def_or>")
-    unless $P10, rx1240_fail
-    rx1240_cur."!mark_push"(0, -1, 0, $P10)
+    rx1256_cur."!cursor_pos"(rx1256_pos)
+    $P10 = rx1256_cur."O"("%tight_or, :pasttype<def_or>")
+    unless $P10, rx1256_fail
+    rx1256_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1240_pos = $P10."pos"()
+    rx1256_pos = $P10."pos"()
   # rx pass
-    rx1240_cur."!cursor_pass"(rx1240_pos, "infix:sym<//>")
-    rx1240_cur."!cursor_debug"("PASS  ", "infix:sym<//>", " at pos=", rx1240_pos)
-    .return (rx1240_cur)
-  rx1240_fail:
-.annotate 'line', 445
-    (rx1240_rep, rx1240_pos, $I10, $P10) = rx1240_cur."!mark_fail"(0)
-    lt rx1240_pos, -1, rx1240_done
-    eq rx1240_pos, -1, rx1240_fail
+    rx1256_cur."!cursor_pass"(rx1256_pos, "infix:sym<//>")
+    rx1256_cur."!cursor_debug"("PASS  ", "infix:sym<//>", " at pos=", rx1256_pos)
+    .return (rx1256_cur)
+  rx1256_fail:
+.annotate 'line', 446
+    (rx1256_rep, rx1256_pos, $I10, $P10) = rx1256_cur."!mark_fail"(0)
+    lt rx1256_pos, -1, rx1256_done
+    eq rx1256_pos, -1, rx1256_fail
     jump $I10
-  rx1240_done:
-    rx1240_cur."!cursor_fail"()
-    rx1240_cur."!cursor_debug"("FAIL  ", "infix:sym<//>")
-    .return (rx1240_cur)
+  rx1256_done:
+    rx1256_cur."!cursor_fail"()
+    rx1256_cur."!cursor_debug"("FAIL  ", "infix:sym<//>")
+    .return (rx1256_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<//>"  :subid("319_1275600007.84296") :method
-.annotate 'line', 445
-    $P1242 = self."!PREFIX__!subrule"("O", "//")
-    new $P1243, "ResizablePMCArray"
-    push $P1243, $P1242
-    .return ($P1243)
+.sub "!PREFIX__infix:sym<//>"  :subid("319_1275811487.95429") :method
+.annotate 'line', 446
+    $P1258 = self."!PREFIX__!subrule"("O", "//")
+    new $P1259, "ResizablePMCArray"
+    push $P1259, $P1258
+    .return ($P1259)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<?? !!>"  :subid("320_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1247_tgt
-    .local int rx1247_pos
-    .local int rx1247_off
-    .local int rx1247_eos
-    .local int rx1247_rep
-    .local pmc rx1247_cur
-    (rx1247_cur, rx1247_pos, rx1247_tgt) = self."!cursor_start"()
-    rx1247_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
-    .lex unicode:"$\x{a2}", rx1247_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1247_eos, rx1247_tgt
-    gt rx1247_pos, rx1247_eos, rx1247_done
-    set rx1247_off, 0
-    lt rx1247_pos, 2, rx1247_start
-    sub rx1247_off, rx1247_pos, 1
-    substr rx1247_tgt, rx1247_tgt, rx1247_off
-  rx1247_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1251_done
-    goto rxscan1251_scan
-  rxscan1251_loop:
-    ($P10) = rx1247_cur."from"()
-    inc $P10
-    set rx1247_pos, $P10
-    ge rx1247_pos, rx1247_eos, rxscan1251_done
-  rxscan1251_scan:
-    set_addr $I10, rxscan1251_loop
-    rx1247_cur."!mark_push"(0, rx1247_pos, $I10)
-  rxscan1251_done:
-.annotate 'line', 535
-  # rx literal  "??"
-    add $I11, rx1247_pos, 2
-    gt $I11, rx1247_eos, rx1247_fail
-    sub $I11, rx1247_pos, rx1247_off
-    substr $S10, rx1247_tgt, $I11, 2
-    ne $S10, "??", rx1247_fail
-    add rx1247_pos, 2
+.sub "infix:sym<?? !!>"  :subid("320_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1263_tgt
+    .local int rx1263_pos
+    .local int rx1263_off
+    .local int rx1263_eos
+    .local int rx1263_rep
+    .local pmc rx1263_cur
+    (rx1263_cur, rx1263_pos, rx1263_tgt) = self."!cursor_start"()
+    rx1263_cur."!cursor_debug"("START ", "infix:sym<?? !!>")
+    .lex unicode:"$\x{a2}", rx1263_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1263_eos, rx1263_tgt
+    gt rx1263_pos, rx1263_eos, rx1263_done
+    set rx1263_off, 0
+    lt rx1263_pos, 2, rx1263_start
+    sub rx1263_off, rx1263_pos, 1
+    substr rx1263_tgt, rx1263_tgt, rx1263_off
+  rx1263_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1267_done
+    goto rxscan1267_scan
+  rxscan1267_loop:
+    ($P10) = rx1263_cur."from"()
+    inc $P10
+    set rx1263_pos, $P10
+    ge rx1263_pos, rx1263_eos, rxscan1267_done
+  rxscan1267_scan:
+    set_addr $I10, rxscan1267_loop
+    rx1263_cur."!mark_push"(0, rx1263_pos, $I10)
+  rxscan1267_done:
 .annotate 'line', 536
-  # rx subrule "ws" subtype=method negate=
-    rx1247_cur."!cursor_pos"(rx1247_pos)
-    $P10 = rx1247_cur."ws"()
-    unless $P10, rx1247_fail
-    rx1247_pos = $P10."pos"()
+  # rx literal  "??"
+    add $I11, rx1263_pos, 2
+    gt $I11, rx1263_eos, rx1263_fail
+    sub $I11, rx1263_pos, rx1263_off
+    substr $S10, rx1263_tgt, $I11, 2
+    ne $S10, "??", rx1263_fail
+    add rx1263_pos, 2
 .annotate 'line', 537
+  # rx subrule "ws" subtype=method negate=
+    rx1263_cur."!cursor_pos"(rx1263_pos)
+    $P10 = rx1263_cur."ws"()
+    unless $P10, rx1263_fail
+    rx1263_pos = $P10."pos"()
+.annotate 'line', 538
   # rx subrule "EXPR" subtype=capture negate=
-    rx1247_cur."!cursor_pos"(rx1247_pos)
-    $P10 = rx1247_cur."EXPR"("i=")
-    unless $P10, rx1247_fail
-    rx1247_cur."!mark_push"(0, -1, 0, $P10)
+    rx1263_cur."!cursor_pos"(rx1263_pos)
+    $P10 = rx1263_cur."EXPR"("i=")
+    unless $P10, rx1263_fail
+    rx1263_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx1247_pos = $P10."pos"()
-.annotate 'line', 538
-  # rx literal  "!!"
-    add $I11, rx1247_pos, 2
-    gt $I11, rx1247_eos, rx1247_fail
-    sub $I11, rx1247_pos, rx1247_off
-    substr $S10, rx1247_tgt, $I11, 2
-    ne $S10, "!!", rx1247_fail
-    add rx1247_pos, 2
+    rx1263_pos = $P10."pos"()
 .annotate 'line', 539
+  # rx literal  "!!"
+    add $I11, rx1263_pos, 2
+    gt $I11, rx1263_eos, rx1263_fail
+    sub $I11, rx1263_pos, rx1263_off
+    substr $S10, rx1263_tgt, $I11, 2
+    ne $S10, "!!", rx1263_fail
+    add rx1263_pos, 2
+.annotate 'line', 540
   # rx subrule "O" subtype=capture negate=
-    rx1247_cur."!cursor_pos"(rx1247_pos)
-    $P10 = rx1247_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
-    unless $P10, rx1247_fail
-    rx1247_cur."!mark_push"(0, -1, 0, $P10)
+    rx1263_cur."!cursor_pos"(rx1263_pos)
+    $P10 = rx1263_cur."O"("%conditional, :reducecheck<ternary>, :pasttype<if>")
+    unless $P10, rx1263_fail
+    rx1263_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1247_pos = $P10."pos"()
-.annotate 'line', 534
+    rx1263_pos = $P10."pos"()
+.annotate 'line', 535
   # rx pass
-    rx1247_cur."!cursor_pass"(rx1247_pos, "infix:sym<?? !!>")
-    rx1247_cur."!cursor_debug"("PASS  ", "infix:sym<?? !!>", " at pos=", rx1247_pos)
-    .return (rx1247_cur)
-  rx1247_fail:
-.annotate 'line', 445
-    (rx1247_rep, rx1247_pos, $I10, $P10) = rx1247_cur."!mark_fail"(0)
-    lt rx1247_pos, -1, rx1247_done
-    eq rx1247_pos, -1, rx1247_fail
+    rx1263_cur."!cursor_pass"(rx1263_pos, "infix:sym<?? !!>")
+    rx1263_cur."!cursor_debug"("PASS  ", "infix:sym<?? !!>", " at pos=", rx1263_pos)
+    .return (rx1263_cur)
+  rx1263_fail:
+.annotate 'line', 446
+    (rx1263_rep, rx1263_pos, $I10, $P10) = rx1263_cur."!mark_fail"(0)
+    lt rx1263_pos, -1, rx1263_done
+    eq rx1263_pos, -1, rx1263_fail
     jump $I10
-  rx1247_done:
-    rx1247_cur."!cursor_fail"()
-    rx1247_cur."!cursor_debug"("FAIL  ", "infix:sym<?? !!>")
-    .return (rx1247_cur)
+  rx1263_done:
+    rx1263_cur."!cursor_fail"()
+    rx1263_cur."!cursor_debug"("FAIL  ", "infix:sym<?? !!>")
+    .return (rx1263_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<?? !!>"  :subid("321_1275600007.84296") :method
-.annotate 'line', 445
-    $P1249 = self."!PREFIX__!subrule"("", "??")
-    new $P1250, "ResizablePMCArray"
-    push $P1250, $P1249
-    .return ($P1250)
+.sub "!PREFIX__infix:sym<?? !!>"  :subid("321_1275811487.95429") :method
+.annotate 'line', 446
+    $P1265 = self."!PREFIX__!subrule"("ws", "??")
+    new $P1266, "ResizablePMCArray"
+    push $P1266, $P1265
+    .return ($P1266)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=>"  :subid("322_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .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<=>")
-    .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', 543
+.sub "infix:sym<=>"  :subid("322_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1269_tgt
+    .local int rx1269_pos
+    .local int rx1269_off
+    .local int rx1269_eos
+    .local int rx1269_rep
+    .local pmc rx1269_cur
+    (rx1269_cur, rx1269_pos, rx1269_tgt) = self."!cursor_start"()
+    rx1269_cur."!cursor_debug"("START ", "infix:sym<=>")
+    .lex unicode:"$\x{a2}", rx1269_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1269_eos, rx1269_tgt
+    gt rx1269_pos, rx1269_eos, rx1269_done
+    set rx1269_off, 0
+    lt rx1269_pos, 2, rx1269_start
+    sub rx1269_off, rx1269_pos, 1
+    substr rx1269_tgt, rx1269_tgt, rx1269_off
+  rx1269_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1273_done
+    goto rxscan1273_scan
+  rxscan1273_loop:
+    ($P10) = rx1269_cur."from"()
+    inc $P10
+    set rx1269_pos, $P10
+    ge rx1269_pos, rx1269_eos, rxscan1273_done
+  rxscan1273_scan:
+    set_addr $I10, rxscan1273_loop
+    rx1269_cur."!mark_push"(0, rx1269_pos, $I10)
+  rxscan1273_done:
+.annotate 'line', 544
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1258_fail
-    rx1253_cur."!mark_push"(0, rx1253_pos, $I10)
+    set_addr $I10, rxcap_1274_fail
+    rx1269_cur."!mark_push"(0, rx1269_pos, $I10)
   # rx literal  "="
-    add $I11, rx1253_pos, 1
-    gt $I11, rx1253_eos, rx1253_fail
-    sub $I11, rx1253_pos, rx1253_off
-    substr $S10, rx1253_tgt, $I11, 1
-    ne $S10, "=", rx1253_fail
-    add rx1253_pos, 1
-    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)
+    add $I11, rx1269_pos, 1
+    gt $I11, rx1269_eos, rx1269_fail
+    sub $I11, rx1269_pos, rx1269_off
+    substr $S10, rx1269_tgt, $I11, 1
+    ne $S10, "=", rx1269_fail
+    add rx1269_pos, 1
+    set_addr $I10, rxcap_1274_fail
+    ($I12, $I11) = rx1269_cur."!mark_peek"($I10)
+    rx1269_cur."!cursor_pos"($I11)
+    ($P10) = rx1269_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1269_pos, "")
+    rx1269_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1258_done
-  rxcap_1258_fail:
-    goto rx1253_fail
-  rxcap_1258_done:
+    goto rxcap_1274_done
+  rxcap_1274_fail:
+    goto rx1269_fail
+  rxcap_1274_done:
   # rx subrule "panic" subtype=method negate=
-    rx1253_cur."!cursor_pos"(rx1253_pos)
-    $P10 = rx1253_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead")
-    unless $P10, rx1253_fail
-    rx1253_pos = $P10."pos"()
-.annotate 'line', 542
-  # rx pass
-    rx1253_cur."!cursor_pass"(rx1253_pos, "infix:sym<=>")
-    rx1253_cur."!cursor_debug"("PASS  ", "infix:sym<=>", " at pos=", rx1253_pos)
-    .return (rx1253_cur)
-  rx1253_fail:
-.annotate 'line', 445
-    (rx1253_rep, rx1253_pos, $I10, $P10) = rx1253_cur."!mark_fail"(0)
-    lt rx1253_pos, -1, rx1253_done
-    eq rx1253_pos, -1, rx1253_fail
+    rx1269_cur."!cursor_pos"(rx1269_pos)
+    $P10 = rx1269_cur."panic"("Assignment (\"=\") not supported in NQP, use \":=\" instead")
+    unless $P10, rx1269_fail
+    rx1269_pos = $P10."pos"()
+.annotate 'line', 543
+  # rx pass
+    rx1269_cur."!cursor_pass"(rx1269_pos, "infix:sym<=>")
+    rx1269_cur."!cursor_debug"("PASS  ", "infix:sym<=>", " at pos=", rx1269_pos)
+    .return (rx1269_cur)
+  rx1269_fail:
+.annotate 'line', 446
+    (rx1269_rep, rx1269_pos, $I10, $P10) = rx1269_cur."!mark_fail"(0)
+    lt rx1269_pos, -1, rx1269_done
+    eq rx1269_pos, -1, rx1269_fail
     jump $I10
-  rx1253_done:
-    rx1253_cur."!cursor_fail"()
-    rx1253_cur."!cursor_debug"("FAIL  ", "infix:sym<=>")
-    .return (rx1253_cur)
+  rx1269_done:
+    rx1269_cur."!cursor_fail"()
+    rx1269_cur."!cursor_debug"("FAIL  ", "infix:sym<=>")
+    .return (rx1269_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=>"  :subid("323_1275600007.84296") :method
-.annotate 'line', 445
-    $P1255 = self."!PREFIX__!subrule"("", "=")
-    new $P1256, "ResizablePMCArray"
-    push $P1256, $P1255
-    .return ($P1256)
+.sub "!PREFIX__infix:sym<=>"  :subid("323_1275811487.95429") :method
+.annotate 'line', 446
+    $P1271 = self."!PREFIX__!subrule"("panic", "=")
+    new $P1272, "ResizablePMCArray"
+    push $P1272, $P1271
+    .return ($P1272)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<:=>"  :subid("324_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .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', 545
+.sub "infix:sym<:=>"  :subid("324_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1276_tgt
+    .local int rx1276_pos
+    .local int rx1276_off
+    .local int rx1276_eos
+    .local int rx1276_rep
+    .local pmc rx1276_cur
+    (rx1276_cur, rx1276_pos, rx1276_tgt) = self."!cursor_start"()
+    rx1276_cur."!cursor_debug"("START ", "infix:sym<:=>")
+    .lex unicode:"$\x{a2}", rx1276_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1276_eos, rx1276_tgt
+    gt rx1276_pos, rx1276_eos, rx1276_done
+    set rx1276_off, 0
+    lt rx1276_pos, 2, rx1276_start
+    sub rx1276_off, rx1276_pos, 1
+    substr rx1276_tgt, rx1276_tgt, rx1276_off
+  rx1276_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1280_done
+    goto rxscan1280_scan
+  rxscan1280_loop:
+    ($P10) = rx1276_cur."from"()
+    inc $P10
+    set rx1276_pos, $P10
+    ge rx1276_pos, rx1276_eos, rxscan1280_done
+  rxscan1280_scan:
+    set_addr $I10, rxscan1280_loop
+    rx1276_cur."!mark_push"(0, rx1276_pos, $I10)
+  rxscan1280_done:
+.annotate 'line', 546
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1265_fail
-    rx1260_cur."!mark_push"(0, rx1260_pos, $I10)
+    set_addr $I10, rxcap_1281_fail
+    rx1276_cur."!mark_push"(0, rx1276_pos, $I10)
   # rx literal  ":="
-    add $I11, rx1260_pos, 2
-    gt $I11, rx1260_eos, rx1260_fail
-    sub $I11, rx1260_pos, rx1260_off
-    substr $S10, rx1260_tgt, $I11, 2
-    ne $S10, ":=", rx1260_fail
-    add rx1260_pos, 2
-    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)
+    add $I11, rx1276_pos, 2
+    gt $I11, rx1276_eos, rx1276_fail
+    sub $I11, rx1276_pos, rx1276_off
+    substr $S10, rx1276_tgt, $I11, 2
+    ne $S10, ":=", rx1276_fail
+    add rx1276_pos, 2
+    set_addr $I10, rxcap_1281_fail
+    ($I12, $I11) = rx1276_cur."!mark_peek"($I10)
+    rx1276_cur."!cursor_pos"($I11)
+    ($P10) = rx1276_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1276_pos, "")
+    rx1276_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1265_done
-  rxcap_1265_fail:
-    goto rx1260_fail
-  rxcap_1265_done:
+    goto rxcap_1281_done
+  rxcap_1281_fail:
+    goto rx1276_fail
+  rxcap_1281_done:
   # rx subrule "O" subtype=capture negate=
-    rx1260_cur."!cursor_pos"(rx1260_pos)
-    $P10 = rx1260_cur."O"("%assignment, :pasttype<bind>")
-    unless $P10, rx1260_fail
-    rx1260_cur."!mark_push"(0, -1, 0, $P10)
+    rx1276_cur."!cursor_pos"(rx1276_pos)
+    $P10 = rx1276_cur."O"("%assignment, :pasttype<bind>")
+    unless $P10, rx1276_fail
+    rx1276_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1260_pos = $P10."pos"()
+    rx1276_pos = $P10."pos"()
   # rx pass
-    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', 445
-    (rx1260_rep, rx1260_pos, $I10, $P10) = rx1260_cur."!mark_fail"(0)
-    lt rx1260_pos, -1, rx1260_done
-    eq rx1260_pos, -1, rx1260_fail
+    rx1276_cur."!cursor_pass"(rx1276_pos, "infix:sym<:=>")
+    rx1276_cur."!cursor_debug"("PASS  ", "infix:sym<:=>", " at pos=", rx1276_pos)
+    .return (rx1276_cur)
+  rx1276_fail:
+.annotate 'line', 446
+    (rx1276_rep, rx1276_pos, $I10, $P10) = rx1276_cur."!mark_fail"(0)
+    lt rx1276_pos, -1, rx1276_done
+    eq rx1276_pos, -1, rx1276_fail
     jump $I10
-  rx1260_done:
-    rx1260_cur."!cursor_fail"()
-    rx1260_cur."!cursor_debug"("FAIL  ", "infix:sym<:=>")
-    .return (rx1260_cur)
+  rx1276_done:
+    rx1276_cur."!cursor_fail"()
+    rx1276_cur."!cursor_debug"("FAIL  ", "infix:sym<:=>")
+    .return (rx1276_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<:=>"  :subid("325_1275600007.84296") :method
-.annotate 'line', 445
-    $P1262 = self."!PREFIX__!subrule"("O", ":=")
-    new $P1263, "ResizablePMCArray"
-    push $P1263, $P1262
-    .return ($P1263)
+.sub "!PREFIX__infix:sym<:=>"  :subid("325_1275811487.95429") :method
+.annotate 'line', 446
+    $P1278 = self."!PREFIX__!subrule"("O", ":=")
+    new $P1279, "ResizablePMCArray"
+    push $P1279, $P1278
+    .return ($P1279)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<::=>"  :subid("326_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .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', 546
+.sub "infix:sym<::=>"  :subid("326_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1283_tgt
+    .local int rx1283_pos
+    .local int rx1283_off
+    .local int rx1283_eos
+    .local int rx1283_rep
+    .local pmc rx1283_cur
+    (rx1283_cur, rx1283_pos, rx1283_tgt) = self."!cursor_start"()
+    rx1283_cur."!cursor_debug"("START ", "infix:sym<::=>")
+    .lex unicode:"$\x{a2}", rx1283_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1283_eos, rx1283_tgt
+    gt rx1283_pos, rx1283_eos, rx1283_done
+    set rx1283_off, 0
+    lt rx1283_pos, 2, rx1283_start
+    sub rx1283_off, rx1283_pos, 1
+    substr rx1283_tgt, rx1283_tgt, rx1283_off
+  rx1283_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1287_done
+    goto rxscan1287_scan
+  rxscan1287_loop:
+    ($P10) = rx1283_cur."from"()
+    inc $P10
+    set rx1283_pos, $P10
+    ge rx1283_pos, rx1283_eos, rxscan1287_done
+  rxscan1287_scan:
+    set_addr $I10, rxscan1287_loop
+    rx1283_cur."!mark_push"(0, rx1283_pos, $I10)
+  rxscan1287_done:
+.annotate 'line', 547
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1272_fail
-    rx1267_cur."!mark_push"(0, rx1267_pos, $I10)
+    set_addr $I10, rxcap_1288_fail
+    rx1283_cur."!mark_push"(0, rx1283_pos, $I10)
   # rx literal  "::="
-    add $I11, rx1267_pos, 3
-    gt $I11, rx1267_eos, rx1267_fail
-    sub $I11, rx1267_pos, rx1267_off
-    substr $S10, rx1267_tgt, $I11, 3
-    ne $S10, "::=", rx1267_fail
-    add rx1267_pos, 3
-    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)
+    add $I11, rx1283_pos, 3
+    gt $I11, rx1283_eos, rx1283_fail
+    sub $I11, rx1283_pos, rx1283_off
+    substr $S10, rx1283_tgt, $I11, 3
+    ne $S10, "::=", rx1283_fail
+    add rx1283_pos, 3
+    set_addr $I10, rxcap_1288_fail
+    ($I12, $I11) = rx1283_cur."!mark_peek"($I10)
+    rx1283_cur."!cursor_pos"($I11)
+    ($P10) = rx1283_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1283_pos, "")
+    rx1283_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1272_done
-  rxcap_1272_fail:
-    goto rx1267_fail
-  rxcap_1272_done:
+    goto rxcap_1288_done
+  rxcap_1288_fail:
+    goto rx1283_fail
+  rxcap_1288_done:
   # rx subrule "O" subtype=capture negate=
-    rx1267_cur."!cursor_pos"(rx1267_pos)
-    $P10 = rx1267_cur."O"("%assignment, :pasttype<bind>")
-    unless $P10, rx1267_fail
-    rx1267_cur."!mark_push"(0, -1, 0, $P10)
+    rx1283_cur."!cursor_pos"(rx1283_pos)
+    $P10 = rx1283_cur."O"("%assignment, :pasttype<bind>")
+    unless $P10, rx1283_fail
+    rx1283_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1267_pos = $P10."pos"()
+    rx1283_pos = $P10."pos"()
   # rx pass
-    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', 445
-    (rx1267_rep, rx1267_pos, $I10, $P10) = rx1267_cur."!mark_fail"(0)
-    lt rx1267_pos, -1, rx1267_done
-    eq rx1267_pos, -1, rx1267_fail
+    rx1283_cur."!cursor_pass"(rx1283_pos, "infix:sym<::=>")
+    rx1283_cur."!cursor_debug"("PASS  ", "infix:sym<::=>", " at pos=", rx1283_pos)
+    .return (rx1283_cur)
+  rx1283_fail:
+.annotate 'line', 446
+    (rx1283_rep, rx1283_pos, $I10, $P10) = rx1283_cur."!mark_fail"(0)
+    lt rx1283_pos, -1, rx1283_done
+    eq rx1283_pos, -1, rx1283_fail
     jump $I10
-  rx1267_done:
-    rx1267_cur."!cursor_fail"()
-    rx1267_cur."!cursor_debug"("FAIL  ", "infix:sym<::=>")
-    .return (rx1267_cur)
+  rx1283_done:
+    rx1283_cur."!cursor_fail"()
+    rx1283_cur."!cursor_debug"("FAIL  ", "infix:sym<::=>")
+    .return (rx1283_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<::=>"  :subid("327_1275600007.84296") :method
-.annotate 'line', 445
-    $P1269 = self."!PREFIX__!subrule"("O", "::=")
-    new $P1270, "ResizablePMCArray"
-    push $P1270, $P1269
-    .return ($P1270)
+.sub "!PREFIX__infix:sym<::=>"  :subid("327_1275811487.95429") :method
+.annotate 'line', 446
+    $P1285 = self."!PREFIX__!subrule"("O", "::=")
+    new $P1286, "ResizablePMCArray"
+    push $P1286, $P1285
+    .return ($P1286)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<,>"  :subid("328_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .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', 548
+.sub "infix:sym<,>"  :subid("328_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1290_tgt
+    .local int rx1290_pos
+    .local int rx1290_off
+    .local int rx1290_eos
+    .local int rx1290_rep
+    .local pmc rx1290_cur
+    (rx1290_cur, rx1290_pos, rx1290_tgt) = self."!cursor_start"()
+    rx1290_cur."!cursor_debug"("START ", "infix:sym<,>")
+    .lex unicode:"$\x{a2}", rx1290_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1290_eos, rx1290_tgt
+    gt rx1290_pos, rx1290_eos, rx1290_done
+    set rx1290_off, 0
+    lt rx1290_pos, 2, rx1290_start
+    sub rx1290_off, rx1290_pos, 1
+    substr rx1290_tgt, rx1290_tgt, rx1290_off
+  rx1290_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1294_done
+    goto rxscan1294_scan
+  rxscan1294_loop:
+    ($P10) = rx1290_cur."from"()
+    inc $P10
+    set rx1290_pos, $P10
+    ge rx1290_pos, rx1290_eos, rxscan1294_done
+  rxscan1294_scan:
+    set_addr $I10, rxscan1294_loop
+    rx1290_cur."!mark_push"(0, rx1290_pos, $I10)
+  rxscan1294_done:
+.annotate 'line', 549
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1279_fail
-    rx1274_cur."!mark_push"(0, rx1274_pos, $I10)
+    set_addr $I10, rxcap_1295_fail
+    rx1290_cur."!mark_push"(0, rx1290_pos, $I10)
   # rx literal  ","
-    add $I11, rx1274_pos, 1
-    gt $I11, rx1274_eos, rx1274_fail
-    sub $I11, rx1274_pos, rx1274_off
-    substr $S10, rx1274_tgt, $I11, 1
-    ne $S10, ",", rx1274_fail
-    add rx1274_pos, 1
-    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)
+    add $I11, rx1290_pos, 1
+    gt $I11, rx1290_eos, rx1290_fail
+    sub $I11, rx1290_pos, rx1290_off
+    substr $S10, rx1290_tgt, $I11, 1
+    ne $S10, ",", rx1290_fail
+    add rx1290_pos, 1
+    set_addr $I10, rxcap_1295_fail
+    ($I12, $I11) = rx1290_cur."!mark_peek"($I10)
+    rx1290_cur."!cursor_pos"($I11)
+    ($P10) = rx1290_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1290_pos, "")
+    rx1290_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1279_done
-  rxcap_1279_fail:
-    goto rx1274_fail
-  rxcap_1279_done:
+    goto rxcap_1295_done
+  rxcap_1295_fail:
+    goto rx1290_fail
+  rxcap_1295_done:
   # rx subrule "O" subtype=capture negate=
-    rx1274_cur."!cursor_pos"(rx1274_pos)
-    $P10 = rx1274_cur."O"("%comma, :pasttype<list>")
-    unless $P10, rx1274_fail
-    rx1274_cur."!mark_push"(0, -1, 0, $P10)
+    rx1290_cur."!cursor_pos"(rx1290_pos)
+    $P10 = rx1290_cur."O"("%comma, :pasttype<list>")
+    unless $P10, rx1290_fail
+    rx1290_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1274_pos = $P10."pos"()
+    rx1290_pos = $P10."pos"()
   # rx pass
-    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', 445
-    (rx1274_rep, rx1274_pos, $I10, $P10) = rx1274_cur."!mark_fail"(0)
-    lt rx1274_pos, -1, rx1274_done
-    eq rx1274_pos, -1, rx1274_fail
+    rx1290_cur."!cursor_pass"(rx1290_pos, "infix:sym<,>")
+    rx1290_cur."!cursor_debug"("PASS  ", "infix:sym<,>", " at pos=", rx1290_pos)
+    .return (rx1290_cur)
+  rx1290_fail:
+.annotate 'line', 446
+    (rx1290_rep, rx1290_pos, $I10, $P10) = rx1290_cur."!mark_fail"(0)
+    lt rx1290_pos, -1, rx1290_done
+    eq rx1290_pos, -1, rx1290_fail
     jump $I10
-  rx1274_done:
-    rx1274_cur."!cursor_fail"()
-    rx1274_cur."!cursor_debug"("FAIL  ", "infix:sym<,>")
-    .return (rx1274_cur)
+  rx1290_done:
+    rx1290_cur."!cursor_fail"()
+    rx1290_cur."!cursor_debug"("FAIL  ", "infix:sym<,>")
+    .return (rx1290_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<,>"  :subid("329_1275600007.84296") :method
-.annotate 'line', 445
-    $P1276 = self."!PREFIX__!subrule"("O", ",")
-    new $P1277, "ResizablePMCArray"
-    push $P1277, $P1276
-    .return ($P1277)
+.sub "!PREFIX__infix:sym<,>"  :subid("329_1275811487.95429") :method
+.annotate 'line', 446
+    $P1292 = self."!PREFIX__!subrule"("O", ",")
+    new $P1293, "ResizablePMCArray"
+    push $P1293, $P1292
+    .return ($P1293)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<return>"  :subid("330_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .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 ", "prefix:sym<return>")
-    .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, rxscan1284_done
-    goto rxscan1284_scan
-  rxscan1284_loop:
-    ($P10) = rx1281_cur."from"()
-    inc $P10
-    set rx1281_pos, $P10
-    ge rx1281_pos, rx1281_eos, rxscan1284_done
-  rxscan1284_scan:
-    set_addr $I10, rxscan1284_loop
-    rx1281_cur."!mark_push"(0, rx1281_pos, $I10)
-  rxscan1284_done:
-.annotate 'line', 550
+.sub "prefix:sym<return>"  :subid("330_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1297_tgt
+    .local int rx1297_pos
+    .local int rx1297_off
+    .local int rx1297_eos
+    .local int rx1297_rep
+    .local pmc rx1297_cur
+    (rx1297_cur, rx1297_pos, rx1297_tgt) = self."!cursor_start"()
+    rx1297_cur."!cursor_debug"("START ", "prefix:sym<return>")
+    .lex unicode:"$\x{a2}", rx1297_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1297_eos, rx1297_tgt
+    gt rx1297_pos, rx1297_eos, rx1297_done
+    set rx1297_off, 0
+    lt rx1297_pos, 2, rx1297_start
+    sub rx1297_off, rx1297_pos, 1
+    substr rx1297_tgt, rx1297_tgt, rx1297_off
+  rx1297_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1300_done
+    goto rxscan1300_scan
+  rxscan1300_loop:
+    ($P10) = rx1297_cur."from"()
+    inc $P10
+    set rx1297_pos, $P10
+    ge rx1297_pos, rx1297_eos, rxscan1300_done
+  rxscan1300_scan:
+    set_addr $I10, rxscan1300_loop
+    rx1297_cur."!mark_push"(0, rx1297_pos, $I10)
+  rxscan1300_done:
+.annotate 'line', 551
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1285_fail
-    rx1281_cur."!mark_push"(0, rx1281_pos, $I10)
+    set_addr $I10, rxcap_1301_fail
+    rx1297_cur."!mark_push"(0, rx1297_pos, $I10)
   # rx literal  "return"
-    add $I11, rx1281_pos, 6
-    gt $I11, rx1281_eos, rx1281_fail
-    sub $I11, rx1281_pos, rx1281_off
-    substr $S10, rx1281_tgt, $I11, 6
-    ne $S10, "return", rx1281_fail
-    add rx1281_pos, 6
-    set_addr $I10, rxcap_1285_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)
+    add $I11, rx1297_pos, 6
+    gt $I11, rx1297_eos, rx1297_fail
+    sub $I11, rx1297_pos, rx1297_off
+    substr $S10, rx1297_tgt, $I11, 6
+    ne $S10, "return", rx1297_fail
+    add rx1297_pos, 6
+    set_addr $I10, rxcap_1301_fail
+    ($I12, $I11) = rx1297_cur."!mark_peek"($I10)
+    rx1297_cur."!cursor_pos"($I11)
+    ($P10) = rx1297_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1297_pos, "")
+    rx1297_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1285_done
-  rxcap_1285_fail:
-    goto rx1281_fail
-  rxcap_1285_done:
+    goto rxcap_1301_done
+  rxcap_1301_fail:
+    goto rx1297_fail
+  rxcap_1301_done:
   # rx charclass s
-    ge rx1281_pos, rx1281_eos, rx1281_fail
-    sub $I10, rx1281_pos, rx1281_off
-    is_cclass $I11, 32, rx1281_tgt, $I10
-    unless $I11, rx1281_fail
-    inc rx1281_pos
+    ge rx1297_pos, rx1297_eos, rx1297_fail
+    sub $I10, rx1297_pos, rx1297_off
+    is_cclass $I11, 32, rx1297_tgt, $I10
+    unless $I11, rx1297_fail
+    inc rx1297_pos
   # rx subrule "O" subtype=capture negate=
-    rx1281_cur."!cursor_pos"(rx1281_pos)
-    $P10 = rx1281_cur."O"("%list_prefix, :pasttype<return>")
-    unless $P10, rx1281_fail
-    rx1281_cur."!mark_push"(0, -1, 0, $P10)
+    rx1297_cur."!cursor_pos"(rx1297_pos)
+    $P10 = rx1297_cur."O"("%list_prefix, :pasttype<return>")
+    unless $P10, rx1297_fail
+    rx1297_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1281_pos = $P10."pos"()
+    rx1297_pos = $P10."pos"()
   # rx pass
-    rx1281_cur."!cursor_pass"(rx1281_pos, "prefix:sym<return>")
-    rx1281_cur."!cursor_debug"("PASS  ", "prefix:sym<return>", " at pos=", rx1281_pos)
-    .return (rx1281_cur)
-  rx1281_fail:
-.annotate 'line', 445
-    (rx1281_rep, rx1281_pos, $I10, $P10) = rx1281_cur."!mark_fail"(0)
-    lt rx1281_pos, -1, rx1281_done
-    eq rx1281_pos, -1, rx1281_fail
+    rx1297_cur."!cursor_pass"(rx1297_pos, "prefix:sym<return>")
+    rx1297_cur."!cursor_debug"("PASS  ", "prefix:sym<return>", " at pos=", rx1297_pos)
+    .return (rx1297_cur)
+  rx1297_fail:
+.annotate 'line', 446
+    (rx1297_rep, rx1297_pos, $I10, $P10) = rx1297_cur."!mark_fail"(0)
+    lt rx1297_pos, -1, rx1297_done
+    eq rx1297_pos, -1, rx1297_fail
     jump $I10
-  rx1281_done:
-    rx1281_cur."!cursor_fail"()
-    rx1281_cur."!cursor_debug"("FAIL  ", "prefix:sym<return>")
-    .return (rx1281_cur)
+  rx1297_done:
+    rx1297_cur."!cursor_fail"()
+    rx1297_cur."!cursor_debug"("FAIL  ", "prefix:sym<return>")
+    .return (rx1297_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<return>"  :subid("331_1275600007.84296") :method
-.annotate 'line', 445
-    new $P1283, "ResizablePMCArray"
-    push $P1283, "return"
-    .return ($P1283)
+.sub "!PREFIX__prefix:sym<return>"  :subid("331_1275811487.95429") :method
+.annotate 'line', 446
+    new $P1299, "ResizablePMCArray"
+    push $P1299, "return"
+    .return ($P1299)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<make>"  :subid("332_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1287_tgt
-    .local int rx1287_pos
-    .local int rx1287_off
-    .local int rx1287_eos
-    .local int rx1287_rep
-    .local pmc rx1287_cur
-    (rx1287_cur, rx1287_pos, rx1287_tgt) = self."!cursor_start"()
-    rx1287_cur."!cursor_debug"("START ", "prefix:sym<make>")
-    .lex unicode:"$\x{a2}", rx1287_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1287_eos, rx1287_tgt
-    gt rx1287_pos, rx1287_eos, rx1287_done
-    set rx1287_off, 0
-    lt rx1287_pos, 2, rx1287_start
-    sub rx1287_off, rx1287_pos, 1
-    substr rx1287_tgt, rx1287_tgt, rx1287_off
-  rx1287_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1290_done
-    goto rxscan1290_scan
-  rxscan1290_loop:
-    ($P10) = rx1287_cur."from"()
-    inc $P10
-    set rx1287_pos, $P10
-    ge rx1287_pos, rx1287_eos, rxscan1290_done
-  rxscan1290_scan:
-    set_addr $I10, rxscan1290_loop
-    rx1287_cur."!mark_push"(0, rx1287_pos, $I10)
-  rxscan1290_done:
-.annotate 'line', 551
+.sub "prefix:sym<make>"  :subid("332_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1303_tgt
+    .local int rx1303_pos
+    .local int rx1303_off
+    .local int rx1303_eos
+    .local int rx1303_rep
+    .local pmc rx1303_cur
+    (rx1303_cur, rx1303_pos, rx1303_tgt) = self."!cursor_start"()
+    rx1303_cur."!cursor_debug"("START ", "prefix:sym<make>")
+    .lex unicode:"$\x{a2}", rx1303_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1303_eos, rx1303_tgt
+    gt rx1303_pos, rx1303_eos, rx1303_done
+    set rx1303_off, 0
+    lt rx1303_pos, 2, rx1303_start
+    sub rx1303_off, rx1303_pos, 1
+    substr rx1303_tgt, rx1303_tgt, rx1303_off
+  rx1303_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1306_done
+    goto rxscan1306_scan
+  rxscan1306_loop:
+    ($P10) = rx1303_cur."from"()
+    inc $P10
+    set rx1303_pos, $P10
+    ge rx1303_pos, rx1303_eos, rxscan1306_done
+  rxscan1306_scan:
+    set_addr $I10, rxscan1306_loop
+    rx1303_cur."!mark_push"(0, rx1303_pos, $I10)
+  rxscan1306_done:
+.annotate 'line', 552
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1291_fail
-    rx1287_cur."!mark_push"(0, rx1287_pos, $I10)
+    set_addr $I10, rxcap_1307_fail
+    rx1303_cur."!mark_push"(0, rx1303_pos, $I10)
   # rx literal  "make"
-    add $I11, rx1287_pos, 4
-    gt $I11, rx1287_eos, rx1287_fail
-    sub $I11, rx1287_pos, rx1287_off
-    substr $S10, rx1287_tgt, $I11, 4
-    ne $S10, "make", rx1287_fail
-    add rx1287_pos, 4
-    set_addr $I10, rxcap_1291_fail
-    ($I12, $I11) = rx1287_cur."!mark_peek"($I10)
-    rx1287_cur."!cursor_pos"($I11)
-    ($P10) = rx1287_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1287_pos, "")
-    rx1287_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1303_pos, 4
+    gt $I11, rx1303_eos, rx1303_fail
+    sub $I11, rx1303_pos, rx1303_off
+    substr $S10, rx1303_tgt, $I11, 4
+    ne $S10, "make", rx1303_fail
+    add rx1303_pos, 4
+    set_addr $I10, rxcap_1307_fail
+    ($I12, $I11) = rx1303_cur."!mark_peek"($I10)
+    rx1303_cur."!cursor_pos"($I11)
+    ($P10) = rx1303_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1303_pos, "")
+    rx1303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1291_done
-  rxcap_1291_fail:
-    goto rx1287_fail
-  rxcap_1291_done:
+    goto rxcap_1307_done
+  rxcap_1307_fail:
+    goto rx1303_fail
+  rxcap_1307_done:
   # rx charclass s
-    ge rx1287_pos, rx1287_eos, rx1287_fail
-    sub $I10, rx1287_pos, rx1287_off
-    is_cclass $I11, 32, rx1287_tgt, $I10
-    unless $I11, rx1287_fail
-    inc rx1287_pos
+    ge rx1303_pos, rx1303_eos, rx1303_fail
+    sub $I10, rx1303_pos, rx1303_off
+    is_cclass $I11, 32, rx1303_tgt, $I10
+    unless $I11, rx1303_fail
+    inc rx1303_pos
   # rx subrule "O" subtype=capture negate=
-    rx1287_cur."!cursor_pos"(rx1287_pos)
-    $P10 = rx1287_cur."O"("%list_prefix")
-    unless $P10, rx1287_fail
-    rx1287_cur."!mark_push"(0, -1, 0, $P10)
+    rx1303_cur."!cursor_pos"(rx1303_pos)
+    $P10 = rx1303_cur."O"("%list_prefix")
+    unless $P10, rx1303_fail
+    rx1303_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("O")
-    rx1287_pos = $P10."pos"()
+    rx1303_pos = $P10."pos"()
   # rx pass
-    rx1287_cur."!cursor_pass"(rx1287_pos, "prefix:sym<make>")
-    rx1287_cur."!cursor_debug"("PASS  ", "prefix:sym<make>", " at pos=", rx1287_pos)
-    .return (rx1287_cur)
-  rx1287_fail:
-.annotate 'line', 445
-    (rx1287_rep, rx1287_pos, $I10, $P10) = rx1287_cur."!mark_fail"(0)
-    lt rx1287_pos, -1, rx1287_done
-    eq rx1287_pos, -1, rx1287_fail
+    rx1303_cur."!cursor_pass"(rx1303_pos, "prefix:sym<make>")
+    rx1303_cur."!cursor_debug"("PASS  ", "prefix:sym<make>", " at pos=", rx1303_pos)
+    .return (rx1303_cur)
+  rx1303_fail:
+.annotate 'line', 446
+    (rx1303_rep, rx1303_pos, $I10, $P10) = rx1303_cur."!mark_fail"(0)
+    lt rx1303_pos, -1, rx1303_done
+    eq rx1303_pos, -1, rx1303_fail
     jump $I10
-  rx1287_done:
-    rx1287_cur."!cursor_fail"()
-    rx1287_cur."!cursor_debug"("FAIL  ", "prefix:sym<make>")
-    .return (rx1287_cur)
+  rx1303_done:
+    rx1303_cur."!cursor_fail"()
+    rx1303_cur."!cursor_debug"("FAIL  ", "prefix:sym<make>")
+    .return (rx1303_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<make>"  :subid("333_1275600007.84296") :method
-.annotate 'line', 445
-    new $P1289, "ResizablePMCArray"
-    push $P1289, "make"
-    .return ($P1289)
+.sub "!PREFIX__prefix:sym<make>"  :subid("333_1275811487.95429") :method
+.annotate 'line', 446
+    new $P1305, "ResizablePMCArray"
+    push $P1305, "make"
+    .return ($P1305)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<last>"  :subid("334_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .local string rx1293_tgt
-    .local int rx1293_pos
-    .local int rx1293_off
-    .local int rx1293_eos
-    .local int rx1293_rep
-    .local pmc rx1293_cur
-    (rx1293_cur, rx1293_pos, rx1293_tgt) = self."!cursor_start"()
-    rx1293_cur."!cursor_debug"("START ", "term:sym<last>")
-    .lex unicode:"$\x{a2}", rx1293_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1293_eos, rx1293_tgt
-    gt rx1293_pos, rx1293_eos, rx1293_done
-    set rx1293_off, 0
-    lt rx1293_pos, 2, rx1293_start
-    sub rx1293_off, rx1293_pos, 1
-    substr rx1293_tgt, rx1293_tgt, rx1293_off
-  rx1293_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1296_done
-    goto rxscan1296_scan
-  rxscan1296_loop:
-    ($P10) = rx1293_cur."from"()
-    inc $P10
-    set rx1293_pos, $P10
-    ge rx1293_pos, rx1293_eos, rxscan1296_done
-  rxscan1296_scan:
-    set_addr $I10, rxscan1296_loop
-    rx1293_cur."!mark_push"(0, rx1293_pos, $I10)
-  rxscan1296_done:
-.annotate 'line', 552
+.sub "term:sym<last>"  :subid("334_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1309_tgt
+    .local int rx1309_pos
+    .local int rx1309_off
+    .local int rx1309_eos
+    .local int rx1309_rep
+    .local pmc rx1309_cur
+    (rx1309_cur, rx1309_pos, rx1309_tgt) = self."!cursor_start"()
+    rx1309_cur."!cursor_debug"("START ", "term:sym<last>")
+    .lex unicode:"$\x{a2}", rx1309_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1309_eos, rx1309_tgt
+    gt rx1309_pos, rx1309_eos, rx1309_done
+    set rx1309_off, 0
+    lt rx1309_pos, 2, rx1309_start
+    sub rx1309_off, rx1309_pos, 1
+    substr rx1309_tgt, rx1309_tgt, rx1309_off
+  rx1309_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1312_done
+    goto rxscan1312_scan
+  rxscan1312_loop:
+    ($P10) = rx1309_cur."from"()
+    inc $P10
+    set rx1309_pos, $P10
+    ge rx1309_pos, rx1309_eos, rxscan1312_done
+  rxscan1312_scan:
+    set_addr $I10, rxscan1312_loop
+    rx1309_cur."!mark_push"(0, rx1309_pos, $I10)
+  rxscan1312_done:
+.annotate 'line', 553
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1297_fail
-    rx1293_cur."!mark_push"(0, rx1293_pos, $I10)
+    set_addr $I10, rxcap_1313_fail
+    rx1309_cur."!mark_push"(0, rx1309_pos, $I10)
   # rx literal  "last"
-    add $I11, rx1293_pos, 4
-    gt $I11, rx1293_eos, rx1293_fail
-    sub $I11, rx1293_pos, rx1293_off
-    substr $S10, rx1293_tgt, $I11, 4
-    ne $S10, "last", rx1293_fail
-    add rx1293_pos, 4
-    set_addr $I10, rxcap_1297_fail
-    ($I12, $I11) = rx1293_cur."!mark_peek"($I10)
-    rx1293_cur."!cursor_pos"($I11)
-    ($P10) = rx1293_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1293_pos, "")
-    rx1293_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx1309_pos, 4
+    gt $I11, rx1309_eos, rx1309_fail
+    sub $I11, rx1309_pos, rx1309_off
+    substr $S10, rx1309_tgt, $I11, 4
+    ne $S10, "last", rx1309_fail
+    add rx1309_pos, 4
+    set_addr $I10, rxcap_1313_fail
+    ($I12, $I11) = rx1309_cur."!mark_peek"($I10)
+    rx1309_cur."!cursor_pos"($I11)
+    ($P10) = rx1309_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1309_pos, "")
+    rx1309_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1297_done
-  rxcap_1297_fail:
-    goto rx1293_fail
-  rxcap_1297_done:
-  # rx pass
-    rx1293_cur."!cursor_pass"(rx1293_pos, "term:sym<last>")
-    rx1293_cur."!cursor_debug"("PASS  ", "term:sym<last>", " at pos=", rx1293_pos)
-    .return (rx1293_cur)
-  rx1293_fail:
-.annotate 'line', 445
-    (rx1293_rep, rx1293_pos, $I10, $P10) = rx1293_cur."!mark_fail"(0)
-    lt rx1293_pos, -1, rx1293_done
-    eq rx1293_pos, -1, rx1293_fail
+    goto rxcap_1313_done
+  rxcap_1313_fail:
+    goto rx1309_fail
+  rxcap_1313_done:
+  # rx pass
+    rx1309_cur."!cursor_pass"(rx1309_pos, "term:sym<last>")
+    rx1309_cur."!cursor_debug"("PASS  ", "term:sym<last>", " at pos=", rx1309_pos)
+    .return (rx1309_cur)
+  rx1309_fail:
+.annotate 'line', 446
+    (rx1309_rep, rx1309_pos, $I10, $P10) = rx1309_cur."!mark_fail"(0)
+    lt rx1309_pos, -1, rx1309_done
+    eq rx1309_pos, -1, rx1309_fail
     jump $I10
-  rx1293_done:
-    rx1293_cur."!cursor_fail"()
-    rx1293_cur."!cursor_debug"("FAIL  ", "term:sym<last>")
-    .return (rx1293_cur)
+  rx1309_done:
+    rx1309_cur."!cursor_fail"()
+    rx1309_cur."!cursor_debug"("FAIL  ", "term:sym<last>")
+    .return (rx1309_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<last>"  :subid("335_1275600007.84296") :method
-.annotate 'line', 445
-    new $P1295, "ResizablePMCArray"
-    push $P1295, "last"
-    .return ($P1295)
+.sub "!PREFIX__term:sym<last>"  :subid("335_1275811487.95429") :method
+.annotate 'line', 446
+    new $P1311, "ResizablePMCArray"
+    push $P1311, "last"
+    .return ($P1311)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<next>"  :subid("336_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .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 ", "term:sym<next>")
-    .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', 553
+.sub "term:sym<next>"  :subid("336_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .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 ", "term:sym<next>")
+    .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, rxscan1318_done
+    goto rxscan1318_scan
+  rxscan1318_loop:
+    ($P10) = rx1315_cur."from"()
+    inc $P10
+    set rx1315_pos, $P10
+    ge rx1315_pos, rx1315_eos, rxscan1318_done
+  rxscan1318_scan:
+    set_addr $I10, rxscan1318_loop
+    rx1315_cur."!mark_push"(0, rx1315_pos, $I10)
+  rxscan1318_done:
+.annotate 'line', 554
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1303_fail
-    rx1299_cur."!mark_push"(0, rx1299_pos, $I10)
+    set_addr $I10, rxcap_1319_fail
+    rx1315_cur."!mark_push"(0, rx1315_pos, $I10)
   # rx literal  "next"
-    add $I11, rx1299_pos, 4
-    gt $I11, rx1299_eos, rx1299_fail
-    sub $I11, rx1299_pos, rx1299_off
-    substr $S10, rx1299_tgt, $I11, 4
-    ne $S10, "next", rx1299_fail
-    add rx1299_pos, 4
-    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, rx1315_pos, 4
+    gt $I11, rx1315_eos, rx1315_fail
+    sub $I11, rx1315_pos, rx1315_off
+    substr $S10, rx1315_tgt, $I11, 4
+    ne $S10, "next", rx1315_fail
+    add rx1315_pos, 4
+    set_addr $I10, rxcap_1319_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_1303_done
-  rxcap_1303_fail:
-    goto rx1299_fail
-  rxcap_1303_done:
-  # rx pass
-    rx1299_cur."!cursor_pass"(rx1299_pos, "term:sym<next>")
-    rx1299_cur."!cursor_debug"("PASS  ", "term:sym<next>", " at pos=", rx1299_pos)
-    .return (rx1299_cur)
-  rx1299_fail:
-.annotate 'line', 445
-    (rx1299_rep, rx1299_pos, $I10, $P10) = rx1299_cur."!mark_fail"(0)
-    lt rx1299_pos, -1, rx1299_done
-    eq rx1299_pos, -1, rx1299_fail
+    goto rxcap_1319_done
+  rxcap_1319_fail:
+    goto rx1315_fail
+  rxcap_1319_done:
+  # rx pass
+    rx1315_cur."!cursor_pass"(rx1315_pos, "term:sym<next>")
+    rx1315_cur."!cursor_debug"("PASS  ", "term:sym<next>", " at pos=", rx1315_pos)
+    .return (rx1315_cur)
+  rx1315_fail:
+.annotate 'line', 446
+    (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
-  rx1299_done:
-    rx1299_cur."!cursor_fail"()
-    rx1299_cur."!cursor_debug"("FAIL  ", "term:sym<next>")
-    .return (rx1299_cur)
+  rx1315_done:
+    rx1315_cur."!cursor_fail"()
+    rx1315_cur."!cursor_debug"("FAIL  ", "term:sym<next>")
+    .return (rx1315_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<next>"  :subid("337_1275600007.84296") :method
-.annotate 'line', 445
-    new $P1301, "ResizablePMCArray"
-    push $P1301, "next"
-    .return ($P1301)
+.sub "!PREFIX__term:sym<next>"  :subid("337_1275811487.95429") :method
+.annotate 'line', 446
+    new $P1317, "ResizablePMCArray"
+    push $P1317, "next"
+    .return ($P1317)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<redo>"  :subid("338_1275600007.84296") :method :outer("11_1275600007.84296")
-.annotate 'line', 445
-    .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 ", "term:sym<redo>")
-    .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', 554
+.sub "term:sym<redo>"  :subid("338_1275811487.95429") :method :outer("11_1275811487.95429")
+.annotate 'line', 446
+    .local string rx1321_tgt
+    .local int rx1321_pos
+    .local int rx1321_off
+    .local int rx1321_eos
+    .local int rx1321_rep
+    .local pmc rx1321_cur
+    (rx1321_cur, rx1321_pos, rx1321_tgt) = self."!cursor_start"()
+    rx1321_cur."!cursor_debug"("START ", "term:sym<redo>")
+    .lex unicode:"$\x{a2}", rx1321_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1321_eos, rx1321_tgt
+    gt rx1321_pos, rx1321_eos, rx1321_done
+    set rx1321_off, 0
+    lt rx1321_pos, 2, rx1321_start
+    sub rx1321_off, rx1321_pos, 1
+    substr rx1321_tgt, rx1321_tgt, rx1321_off
+  rx1321_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1324_done
+    goto rxscan1324_scan
+  rxscan1324_loop:
+    ($P10) = rx1321_cur."from"()
+    inc $P10
+    set rx1321_pos, $P10
+    ge rx1321_pos, rx1321_eos, rxscan1324_done
+  rxscan1324_scan:
+    set_addr $I10, rxscan1324_loop
+    rx1321_cur."!mark_push"(0, rx1321_pos, $I10)
+  rxscan1324_done:
+.annotate 'line', 555
   # rx subcapture "sym"
-    set_addr $I10, rxcap_1309_fail
-    rx1305_cur."!mark_push"(0, rx1305_pos, $I10)
+    set_addr $I10, rxcap_1325_fail
+    rx1321_cur."!mark_push"(0, rx1321_pos, $I10)
   # rx literal  "redo"
-    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, "redo", 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, rx1321_pos, 4
+    gt $I11, rx1321_eos, rx1321_fail
+    sub $I11, rx1321_pos, rx1321_off
+    substr $S10, rx1321_tgt, $I11, 4
+    ne $S10, "redo", rx1321_fail
+    add rx1321_pos, 4
+    set_addr $I10, rxcap_1325_fail
+    ($I12, $I11) = rx1321_cur."!mark_peek"($I10)
+    rx1321_cur."!cursor_pos"($I11)
+    ($P10) = rx1321_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1321_pos, "")
+    rx1321_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_1309_done
-  rxcap_1309_fail:
-    goto rx1305_fail
-  rxcap_1309_done:
-  # rx pass
-    rx1305_cur."!cursor_pass"(rx1305_pos, "term:sym<redo>")
-    rx1305_cur."!cursor_debug"("PASS  ", "term:sym<redo>", " at pos=", rx1305_pos)
-    .return (rx1305_cur)
-  rx1305_fail:
-.annotate 'line', 445
-    (rx1305_rep, rx1305_pos, $I10, $P10) = rx1305_cur."!mark_fail"(0)
-    lt rx1305_pos, -1, rx1305_done
-    eq rx1305_pos, -1, rx1305_fail
+    goto rxcap_1325_done
+  rxcap_1325_fail:
+    goto rx1321_fail
+  rxcap_1325_done:
+  # rx pass
+    rx1321_cur."!cursor_pass"(rx1321_pos, "term:sym<redo>")
+    rx1321_cur."!cursor_debug"("PASS  ", "term:sym<redo>", " at pos=", rx1321_pos)
+    .return (rx1321_cur)
+  rx1321_fail:
+.annotate 'line', 446
+    (rx1321_rep, rx1321_pos, $I10, $P10) = rx1321_cur."!mark_fail"(0)
+    lt rx1321_pos, -1, rx1321_done
+    eq rx1321_pos, -1, rx1321_fail
     jump $I10
-  rx1305_done:
-    rx1305_cur."!cursor_fail"()
-    rx1305_cur."!cursor_debug"("FAIL  ", "term:sym<redo>")
-    .return (rx1305_cur)
+  rx1321_done:
+    rx1321_cur."!cursor_fail"()
+    rx1321_cur."!cursor_debug"("FAIL  ", "term:sym<redo>")
+    .return (rx1321_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<redo>"  :subid("339_1275600007.84296") :method
-.annotate 'line', 445
-    new $P1307, "ResizablePMCArray"
-    push $P1307, "redo"
-    .return ($P1307)
+.sub "!PREFIX__term:sym<redo>"  :subid("339_1275811487.95429") :method
+.annotate 'line', 446
+    new $P1323, "ResizablePMCArray"
+    push $P1323, "redo"
+    .return ($P1323)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "smartmatch"  :subid("340_1275600007.84296") :method :outer("11_1275600007.84296")
-    .param pmc param_1313
-.annotate 'line', 556
-    new $P1312, 'ExceptionHandler'
-    set_addr $P1312, control_1311
-    $P1312."handle_types"(57)
-    push_eh $P1312
-    .lex "self", self
-    .lex "$/", param_1313
-.annotate 'line', 558
-    new $P1314, "Undef"
-    .lex "$t", $P1314
-    find_lex $P1315, "$/"
-    unless_null $P1315, vivify_376
-    $P1315 = root_new ['parrot';'ResizablePMCArray']
+.include "except_types.pasm"
+.sub "smartmatch"  :subid("340_1275811487.95429") :method :outer("11_1275811487.95429")
+    .param pmc param_1329
+.annotate 'line', 557
+    new $P1328, 'ExceptionHandler'
+    set_addr $P1328, control_1327
+    $P1328."handle_types"(.CONTROL_RETURN)
+    push_eh $P1328
+    .lex "self", self
+    .lex "$/", param_1329
+.annotate 'line', 559
+    new $P1330, "Undef"
+    .lex "$t", $P1330
+    find_lex $P1331, "$/"
+    unless_null $P1331, vivify_376
+    $P1331 = root_new ['parrot';'ResizablePMCArray']
   vivify_376:
-    set $P1316, $P1315[0]
-    unless_null $P1316, vivify_377
-    new $P1316, "Undef"
+    set $P1332, $P1331[0]
+    unless_null $P1332, vivify_377
+    new $P1332, "Undef"
   vivify_377:
-    store_lex "$t", $P1316
-    find_lex $P1317, "$/"
-    unless_null $P1317, vivify_378
-    $P1317 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$t", $P1332
+    find_lex $P1333, "$/"
+    unless_null $P1333, vivify_378
+    $P1333 = root_new ['parrot';'ResizablePMCArray']
   vivify_378:
-    set $P1318, $P1317[1]
-    unless_null $P1318, vivify_379
-    new $P1318, "Undef"
+    set $P1334, $P1333[1]
+    unless_null $P1334, vivify_379
+    new $P1334, "Undef"
   vivify_379:
-    find_lex $P1319, "$/"
-    unless_null $P1319, vivify_380
-    $P1319 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$/", $P1319
+    find_lex $P1335, "$/"
+    unless_null $P1335, vivify_380
+    $P1335 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$/", $P1335
   vivify_380:
-    set $P1319[0], $P1318
-    find_lex $P1320, "$t"
-    find_lex $P1321, "$/"
-    unless_null $P1321, vivify_381
-    $P1321 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$/", $P1321
+    set $P1335[0], $P1334
+    find_lex $P1336, "$t"
+    find_lex $P1337, "$/"
+    unless_null $P1337, vivify_381
+    $P1337 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$/", $P1337
   vivify_381:
-    set $P1321[1], $P1320
-.annotate 'line', 556
-    .return ($P1320)
-  control_1311:
+    set $P1337[1], $P1336
+.annotate 'line', 557
+    .return ($P1336)
+  control_1327:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1322, exception, "payload"
-    .return ($P1322)
+    getattribute $P1338, exception, "payload"
+    .return ($P1338)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1323"  :subid("341_1275600007.84296") :outer("11_1275600007.84296")
-.annotate 'line', 562
-    .const 'Sub' $P1381 = "360_1275600007.84296" 
-    capture_lex $P1381
-    .const 'Sub' $P1376 = "358_1275600007.84296" 
-    capture_lex $P1376
-    .const 'Sub' $P1363 = "355_1275600007.84296" 
-    capture_lex $P1363
-    .const 'Sub' $P1353 = "352_1275600007.84296" 
-    capture_lex $P1353
-    .const 'Sub' $P1348 = "350_1275600007.84296" 
-    capture_lex $P1348
-    .const 'Sub' $P1339 = "347_1275600007.84296" 
-    capture_lex $P1339
-    .const 'Sub' $P1334 = "345_1275600007.84296" 
-    capture_lex $P1334
-    .const 'Sub' $P1325 = "342_1275600007.84296" 
-    capture_lex $P1325
-    .const 'Sub' $P1381 = "360_1275600007.84296" 
-    capture_lex $P1381
-    .return ($P1381)
+.sub "_block1339"  :subid("341_1275811487.95429") :outer("11_1275811487.95429")
+.annotate 'line', 563
+    .const 'Sub' $P1397 = "360_1275811487.95429" 
+    capture_lex $P1397
+    .const 'Sub' $P1392 = "358_1275811487.95429" 
+    capture_lex $P1392
+    .const 'Sub' $P1379 = "355_1275811487.95429" 
+    capture_lex $P1379
+    .const 'Sub' $P1369 = "352_1275811487.95429" 
+    capture_lex $P1369
+    .const 'Sub' $P1364 = "350_1275811487.95429" 
+    capture_lex $P1364
+    .const 'Sub' $P1355 = "347_1275811487.95429" 
+    capture_lex $P1355
+    .const 'Sub' $P1350 = "345_1275811487.95429" 
+    capture_lex $P1350
+    .const 'Sub' $P1341 = "342_1275811487.95429" 
+    capture_lex $P1341
+    .const 'Sub' $P1397 = "360_1275811487.95429" 
+    capture_lex $P1397
+    .return ($P1397)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<:my>"  :subid("342_1275600007.84296") :method :outer("341_1275600007.84296")
-.annotate 'line', 562
-    .const 'Sub' $P1331 = "344_1275600007.84296" 
-    capture_lex $P1331
-    .local string rx1326_tgt
-    .local int rx1326_pos
-    .local int rx1326_off
-    .local int rx1326_eos
-    .local int rx1326_rep
-    .local pmc rx1326_cur
-    (rx1326_cur, rx1326_pos, rx1326_tgt) = self."!cursor_start"()
-    rx1326_cur."!cursor_debug"("START ", "metachar:sym<:my>")
-    .lex unicode:"$\x{a2}", rx1326_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1326_eos, rx1326_tgt
-    gt rx1326_pos, rx1326_eos, rx1326_done
-    set rx1326_off, 0
-    lt rx1326_pos, 2, rx1326_start
-    sub rx1326_off, rx1326_pos, 1
-    substr rx1326_tgt, rx1326_tgt, rx1326_off
-  rx1326_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1329_done
-    goto rxscan1329_scan
-  rxscan1329_loop:
-    ($P10) = rx1326_cur."from"()
-    inc $P10
-    set rx1326_pos, $P10
-    ge rx1326_pos, rx1326_eos, rxscan1329_done
-  rxscan1329_scan:
-    set_addr $I10, rxscan1329_loop
-    rx1326_cur."!mark_push"(0, rx1326_pos, $I10)
-  rxscan1329_done:
-.annotate 'line', 564
+.sub "metachar:sym<:my>"  :subid("342_1275811487.95429") :method :outer("341_1275811487.95429")
+.annotate 'line', 563
+    .const 'Sub' $P1347 = "344_1275811487.95429" 
+    capture_lex $P1347
+    .local string rx1342_tgt
+    .local int rx1342_pos
+    .local int rx1342_off
+    .local int rx1342_eos
+    .local int rx1342_rep
+    .local pmc rx1342_cur
+    (rx1342_cur, rx1342_pos, rx1342_tgt) = self."!cursor_start"()
+    rx1342_cur."!cursor_debug"("START ", "metachar:sym<:my>")
+    .lex unicode:"$\x{a2}", rx1342_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1342_eos, rx1342_tgt
+    gt rx1342_pos, rx1342_eos, rx1342_done
+    set rx1342_off, 0
+    lt rx1342_pos, 2, rx1342_start
+    sub rx1342_off, rx1342_pos, 1
+    substr rx1342_tgt, rx1342_tgt, rx1342_off
+  rx1342_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1345_done
+    goto rxscan1345_scan
+  rxscan1345_loop:
+    ($P10) = rx1342_cur."from"()
+    inc $P10
+    set rx1342_pos, $P10
+    ge rx1342_pos, rx1342_eos, rxscan1345_done
+  rxscan1345_scan:
+    set_addr $I10, rxscan1345_loop
+    rx1342_cur."!mark_push"(0, rx1342_pos, $I10)
+  rxscan1345_done:
+.annotate 'line', 565
   # rx literal  ":"
-    add $I11, rx1326_pos, 1
-    gt $I11, rx1326_eos, rx1326_fail
-    sub $I11, rx1326_pos, rx1326_off
-    substr $S10, rx1326_tgt, $I11, 1
-    ne $S10, ":", rx1326_fail
-    add rx1326_pos, 1
+    add $I11, rx1342_pos, 1
+    gt $I11, rx1342_eos, rx1342_fail
+    sub $I11, rx1342_pos, rx1342_off
+    substr $S10, rx1342_tgt, $I11, 1
+    ne $S10, ":", rx1342_fail
+    add rx1342_pos, 1
   # rx subrule "before" subtype=zerowidth negate=
-    rx1326_cur."!cursor_pos"(rx1326_pos)
-    .const 'Sub' $P1331 = "344_1275600007.84296" 
-    capture_lex $P1331
-    $P10 = rx1326_cur."before"($P1331)
-    unless $P10, rx1326_fail
+    rx1342_cur."!cursor_pos"(rx1342_pos)
+    .const 'Sub' $P1347 = "344_1275811487.95429" 
+    capture_lex $P1347
+    $P10 = rx1342_cur."before"($P1347)
+    unless $P10, rx1342_fail
   # rx subrule "LANG" subtype=capture negate=
-    rx1326_cur."!cursor_pos"(rx1326_pos)
-    $P10 = rx1326_cur."LANG"("MAIN", "statement")
-    unless $P10, rx1326_fail
-    rx1326_cur."!mark_push"(0, -1, 0, $P10)
+    rx1342_cur."!cursor_pos"(rx1342_pos)
+    $P10 = rx1342_cur."LANG"("MAIN", "statement")
+    unless $P10, rx1342_fail
+    rx1342_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("statement")
-    rx1326_pos = $P10."pos"()
+    rx1342_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx1326_cur."!cursor_pos"(rx1326_pos)
-    $P10 = rx1326_cur."ws"()
-    unless $P10, rx1326_fail
-    rx1326_pos = $P10."pos"()
+    rx1342_cur."!cursor_pos"(rx1342_pos)
+    $P10 = rx1342_cur."ws"()
+    unless $P10, rx1342_fail
+    rx1342_pos = $P10."pos"()
   # rx literal  ";"
-    add $I11, rx1326_pos, 1
-    gt $I11, rx1326_eos, rx1326_fail
-    sub $I11, rx1326_pos, rx1326_off
-    substr $S10, rx1326_tgt, $I11, 1
-    ne $S10, ";", rx1326_fail
-    add rx1326_pos, 1
-.annotate 'line', 563
+    add $I11, rx1342_pos, 1
+    gt $I11, rx1342_eos, rx1342_fail
+    sub $I11, rx1342_pos, rx1342_off
+    substr $S10, rx1342_tgt, $I11, 1
+    ne $S10, ";", rx1342_fail
+    add rx1342_pos, 1
+.annotate 'line', 564
   # rx pass
-    rx1326_cur."!cursor_pass"(rx1326_pos, "metachar:sym<:my>")
-    rx1326_cur."!cursor_debug"("PASS  ", "metachar:sym<:my>", " at pos=", rx1326_pos)
-    .return (rx1326_cur)
-  rx1326_fail:
-.annotate 'line', 562
-    (rx1326_rep, rx1326_pos, $I10, $P10) = rx1326_cur."!mark_fail"(0)
-    lt rx1326_pos, -1, rx1326_done
-    eq rx1326_pos, -1, rx1326_fail
-    jump $I10
-  rx1326_done:
-    rx1326_cur."!cursor_fail"()
-    rx1326_cur."!cursor_debug"("FAIL  ", "metachar:sym<:my>")
-    .return (rx1326_cur)
+    rx1342_cur."!cursor_pass"(rx1342_pos, "metachar:sym<:my>")
+    rx1342_cur."!cursor_debug"("PASS  ", "metachar:sym<:my>", " at pos=", rx1342_pos)
+    .return (rx1342_cur)
+  rx1342_fail:
+.annotate 'line', 563
+    (rx1342_rep, rx1342_pos, $I10, $P10) = rx1342_cur."!mark_fail"(0)
+    lt rx1342_pos, -1, rx1342_done
+    eq rx1342_pos, -1, rx1342_fail
+    jump $I10
+  rx1342_done:
+    rx1342_cur."!cursor_fail"()
+    rx1342_cur."!cursor_debug"("FAIL  ", "metachar:sym<:my>")
+    .return (rx1342_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<:my>"  :subid("343_1275600007.84296") :method
-.annotate 'line', 562
-    new $P1328, "ResizablePMCArray"
-    push $P1328, ":"
-    .return ($P1328)
+.sub "!PREFIX__metachar:sym<:my>"  :subid("343_1275811487.95429") :method
+.annotate 'line', 563
+    new $P1344, "ResizablePMCArray"
+    push $P1344, ":"
+    .return ($P1344)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1330"  :anon :subid("344_1275600007.84296") :method :outer("342_1275600007.84296")
-.annotate 'line', 564
-    .local string rx1332_tgt
-    .local int rx1332_pos
-    .local int rx1332_off
-    .local int rx1332_eos
-    .local int rx1332_rep
-    .local pmc rx1332_cur
-    (rx1332_cur, rx1332_pos, rx1332_tgt) = self."!cursor_start"()
-    rx1332_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1332_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1332_eos, rx1332_tgt
-    gt rx1332_pos, rx1332_eos, rx1332_done
-    set rx1332_off, 0
-    lt rx1332_pos, 2, rx1332_start
-    sub rx1332_off, rx1332_pos, 1
-    substr rx1332_tgt, rx1332_tgt, rx1332_off
-  rx1332_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1333_done
-    goto rxscan1333_scan
-  rxscan1333_loop:
-    ($P10) = rx1332_cur."from"()
-    inc $P10
-    set rx1332_pos, $P10
-    ge rx1332_pos, rx1332_eos, rxscan1333_done
-  rxscan1333_scan:
-    set_addr $I10, rxscan1333_loop
-    rx1332_cur."!mark_push"(0, rx1332_pos, $I10)
-  rxscan1333_done:
+.sub "_block1346"  :anon :subid("344_1275811487.95429") :method :outer("342_1275811487.95429")
+.annotate 'line', 565
+    .local string rx1348_tgt
+    .local int rx1348_pos
+    .local int rx1348_off
+    .local int rx1348_eos
+    .local int rx1348_rep
+    .local pmc rx1348_cur
+    (rx1348_cur, rx1348_pos, rx1348_tgt) = self."!cursor_start"()
+    rx1348_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1348_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1348_eos, rx1348_tgt
+    gt rx1348_pos, rx1348_eos, rx1348_done
+    set rx1348_off, 0
+    lt rx1348_pos, 2, rx1348_start
+    sub rx1348_off, rx1348_pos, 1
+    substr rx1348_tgt, rx1348_tgt, rx1348_off
+  rx1348_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1349_done
+    goto rxscan1349_scan
+  rxscan1349_loop:
+    ($P10) = rx1348_cur."from"()
+    inc $P10
+    set rx1348_pos, $P10
+    ge rx1348_pos, rx1348_eos, rxscan1349_done
+  rxscan1349_scan:
+    set_addr $I10, rxscan1349_loop
+    rx1348_cur."!mark_push"(0, rx1348_pos, $I10)
+  rxscan1349_done:
   # rx literal  "my"
-    add $I11, rx1332_pos, 2
-    gt $I11, rx1332_eos, rx1332_fail
-    sub $I11, rx1332_pos, rx1332_off
-    substr $S10, rx1332_tgt, $I11, 2
-    ne $S10, "my", rx1332_fail
-    add rx1332_pos, 2
-  # rx pass
-    rx1332_cur."!cursor_pass"(rx1332_pos, "")
-    rx1332_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1332_pos)
-    .return (rx1332_cur)
-  rx1332_fail:
-    (rx1332_rep, rx1332_pos, $I10, $P10) = rx1332_cur."!mark_fail"(0)
-    lt rx1332_pos, -1, rx1332_done
-    eq rx1332_pos, -1, rx1332_fail
-    jump $I10
-  rx1332_done:
-    rx1332_cur."!cursor_fail"()
-    rx1332_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1332_cur)
+    add $I11, rx1348_pos, 2
+    gt $I11, rx1348_eos, rx1348_fail
+    sub $I11, rx1348_pos, rx1348_off
+    substr $S10, rx1348_tgt, $I11, 2
+    ne $S10, "my", rx1348_fail
+    add rx1348_pos, 2
+  # rx pass
+    rx1348_cur."!cursor_pass"(rx1348_pos, "")
+    rx1348_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1348_pos)
+    .return (rx1348_cur)
+  rx1348_fail:
+    (rx1348_rep, rx1348_pos, $I10, $P10) = rx1348_cur."!mark_fail"(0)
+    lt rx1348_pos, -1, rx1348_done
+    eq rx1348_pos, -1, rx1348_fail
+    jump $I10
+  rx1348_done:
+    rx1348_cur."!cursor_fail"()
+    rx1348_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1348_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<{ }>"  :subid("345_1275600007.84296") :method :outer("341_1275600007.84296")
-.annotate 'line', 562
-    .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 ", "metachar:sym<{ }>")
-    .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', 568
+.sub "metachar:sym<{ }>"  :subid("345_1275811487.95429") :method :outer("341_1275811487.95429")
+.annotate 'line', 563
+    .local string rx1351_tgt
+    .local int rx1351_pos
+    .local int rx1351_off
+    .local int rx1351_eos
+    .local int rx1351_rep
+    .local pmc rx1351_cur
+    (rx1351_cur, rx1351_pos, rx1351_tgt) = self."!cursor_start"()
+    rx1351_cur."!cursor_debug"("START ", "metachar:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx1351_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1351_eos, rx1351_tgt
+    gt rx1351_pos, rx1351_eos, rx1351_done
+    set rx1351_off, 0
+    lt rx1351_pos, 2, rx1351_start
+    sub rx1351_off, rx1351_pos, 1
+    substr rx1351_tgt, rx1351_tgt, rx1351_off
+  rx1351_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1354_done
+    goto rxscan1354_scan
+  rxscan1354_loop:
+    ($P10) = rx1351_cur."from"()
+    inc $P10
+    set rx1351_pos, $P10
+    ge rx1351_pos, rx1351_eos, rxscan1354_done
+  rxscan1354_scan:
+    set_addr $I10, rxscan1354_loop
+    rx1351_cur."!mark_push"(0, rx1351_pos, $I10)
+  rxscan1354_done:
+.annotate 'line', 569
   # rx enumcharlist negate=0 zerowidth
-    ge rx1335_pos, rx1335_eos, rx1335_fail
-    sub $I10, rx1335_pos, rx1335_off
-    substr $S10, rx1335_tgt, $I10, 1
+    ge rx1351_pos, rx1351_eos, rx1351_fail
+    sub $I10, rx1351_pos, rx1351_off
+    substr $S10, rx1351_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx1335_fail
+    lt $I11, 0, rx1351_fail
   # rx subrule "codeblock" subtype=capture negate=
-    rx1335_cur."!cursor_pos"(rx1335_pos)
-    $P10 = rx1335_cur."codeblock"()
-    unless $P10, rx1335_fail
-    rx1335_cur."!mark_push"(0, -1, 0, $P10)
+    rx1351_cur."!cursor_pos"(rx1351_pos)
+    $P10 = rx1351_cur."codeblock"()
+    unless $P10, rx1351_fail
+    rx1351_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("codeblock")
-    rx1335_pos = $P10."pos"()
-.annotate 'line', 567
+    rx1351_pos = $P10."pos"()
+.annotate 'line', 568
   # rx pass
-    rx1335_cur."!cursor_pass"(rx1335_pos, "metachar:sym<{ }>")
-    rx1335_cur."!cursor_debug"("PASS  ", "metachar:sym<{ }>", " at pos=", rx1335_pos)
-    .return (rx1335_cur)
-  rx1335_fail:
-.annotate 'line', 562
-    (rx1335_rep, rx1335_pos, $I10, $P10) = rx1335_cur."!mark_fail"(0)
-    lt rx1335_pos, -1, rx1335_done
-    eq rx1335_pos, -1, rx1335_fail
-    jump $I10
-  rx1335_done:
-    rx1335_cur."!cursor_fail"()
-    rx1335_cur."!cursor_debug"("FAIL  ", "metachar:sym<{ }>")
-    .return (rx1335_cur)
+    rx1351_cur."!cursor_pass"(rx1351_pos, "metachar:sym<{ }>")
+    rx1351_cur."!cursor_debug"("PASS  ", "metachar:sym<{ }>", " at pos=", rx1351_pos)
+    .return (rx1351_cur)
+  rx1351_fail:
+.annotate 'line', 563
+    (rx1351_rep, rx1351_pos, $I10, $P10) = rx1351_cur."!mark_fail"(0)
+    lt rx1351_pos, -1, rx1351_done
+    eq rx1351_pos, -1, rx1351_fail
+    jump $I10
+  rx1351_done:
+    rx1351_cur."!cursor_fail"()
+    rx1351_cur."!cursor_debug"("FAIL  ", "metachar:sym<{ }>")
+    .return (rx1351_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<{ }>"  :subid("346_1275600007.84296") :method
-.annotate 'line', 562
-    new $P1337, "ResizablePMCArray"
-    push $P1337, "{"
-    .return ($P1337)
+.sub "!PREFIX__metachar:sym<{ }>"  :subid("346_1275811487.95429") :method
+.annotate 'line', 563
+    new $P1353, "ResizablePMCArray"
+    push $P1353, "{"
+    .return ($P1353)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<nqpvar>"  :subid("347_1275600007.84296") :method :outer("341_1275600007.84296")
-.annotate 'line', 562
-    .const 'Sub' $P1345 = "349_1275600007.84296" 
-    capture_lex $P1345
-    .local string rx1340_tgt
-    .local int rx1340_pos
-    .local int rx1340_off
-    .local int rx1340_eos
-    .local int rx1340_rep
-    .local pmc rx1340_cur
-    (rx1340_cur, rx1340_pos, rx1340_tgt) = self."!cursor_start"()
-    rx1340_cur."!cursor_debug"("START ", "metachar:sym<nqpvar>")
-    .lex unicode:"$\x{a2}", rx1340_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1340_eos, rx1340_tgt
-    gt rx1340_pos, rx1340_eos, rx1340_done
-    set rx1340_off, 0
-    lt rx1340_pos, 2, rx1340_start
-    sub rx1340_off, rx1340_pos, 1
-    substr rx1340_tgt, rx1340_tgt, rx1340_off
-  rx1340_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1343_done
-    goto rxscan1343_scan
-  rxscan1343_loop:
-    ($P10) = rx1340_cur."from"()
-    inc $P10
-    set rx1340_pos, $P10
-    ge rx1340_pos, rx1340_eos, rxscan1343_done
-  rxscan1343_scan:
-    set_addr $I10, rxscan1343_loop
-    rx1340_cur."!mark_push"(0, rx1340_pos, $I10)
-  rxscan1343_done:
-.annotate 'line', 572
+.sub "metachar:sym<nqpvar>"  :subid("347_1275811487.95429") :method :outer("341_1275811487.95429")
+.annotate 'line', 563
+    .const 'Sub' $P1361 = "349_1275811487.95429" 
+    capture_lex $P1361
+    .local string rx1356_tgt
+    .local int rx1356_pos
+    .local int rx1356_off
+    .local int rx1356_eos
+    .local int rx1356_rep
+    .local pmc rx1356_cur
+    (rx1356_cur, rx1356_pos, rx1356_tgt) = self."!cursor_start"()
+    rx1356_cur."!cursor_debug"("START ", "metachar:sym<nqpvar>")
+    .lex unicode:"$\x{a2}", rx1356_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1356_eos, rx1356_tgt
+    gt rx1356_pos, rx1356_eos, rx1356_done
+    set rx1356_off, 0
+    lt rx1356_pos, 2, rx1356_start
+    sub rx1356_off, rx1356_pos, 1
+    substr rx1356_tgt, rx1356_tgt, rx1356_off
+  rx1356_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1359_done
+    goto rxscan1359_scan
+  rxscan1359_loop:
+    ($P10) = rx1356_cur."from"()
+    inc $P10
+    set rx1356_pos, $P10
+    ge rx1356_pos, rx1356_eos, rxscan1359_done
+  rxscan1359_scan:
+    set_addr $I10, rxscan1359_loop
+    rx1356_cur."!mark_push"(0, rx1356_pos, $I10)
+  rxscan1359_done:
+.annotate 'line', 573
   # rx enumcharlist negate=0 zerowidth
-    ge rx1340_pos, rx1340_eos, rx1340_fail
-    sub $I10, rx1340_pos, rx1340_off
-    substr $S10, rx1340_tgt, $I10, 1
+    ge rx1356_pos, rx1356_eos, rx1356_fail
+    sub $I10, rx1356_pos, rx1356_off
+    substr $S10, rx1356_tgt, $I10, 1
     index $I11, "$@", $S10
-    lt $I11, 0, rx1340_fail
+    lt $I11, 0, rx1356_fail
   # rx subrule "before" subtype=zerowidth negate=
-    rx1340_cur."!cursor_pos"(rx1340_pos)
-    .const 'Sub' $P1345 = "349_1275600007.84296" 
-    capture_lex $P1345
-    $P10 = rx1340_cur."before"($P1345)
-    unless $P10, rx1340_fail
+    rx1356_cur."!cursor_pos"(rx1356_pos)
+    .const 'Sub' $P1361 = "349_1275811487.95429" 
+    capture_lex $P1361
+    $P10 = rx1356_cur."before"($P1361)
+    unless $P10, rx1356_fail
   # rx subrule "LANG" subtype=capture negate=
-    rx1340_cur."!cursor_pos"(rx1340_pos)
-    $P10 = rx1340_cur."LANG"("MAIN", "variable")
-    unless $P10, rx1340_fail
-    rx1340_cur."!mark_push"(0, -1, 0, $P10)
+    rx1356_cur."!cursor_pos"(rx1356_pos)
+    $P10 = rx1356_cur."LANG"("MAIN", "variable")
+    unless $P10, rx1356_fail
+    rx1356_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("var")
-    rx1340_pos = $P10."pos"()
-.annotate 'line', 571
+    rx1356_pos = $P10."pos"()
+.annotate 'line', 572
   # rx pass
-    rx1340_cur."!cursor_pass"(rx1340_pos, "metachar:sym<nqpvar>")
-    rx1340_cur."!cursor_debug"("PASS  ", "metachar:sym<nqpvar>", " at pos=", rx1340_pos)
-    .return (rx1340_cur)
-  rx1340_fail:
-.annotate 'line', 562
-    (rx1340_rep, rx1340_pos, $I10, $P10) = rx1340_cur."!mark_fail"(0)
-    lt rx1340_pos, -1, rx1340_done
-    eq rx1340_pos, -1, rx1340_fail
-    jump $I10
-  rx1340_done:
-    rx1340_cur."!cursor_fail"()
-    rx1340_cur."!cursor_debug"("FAIL  ", "metachar:sym<nqpvar>")
-    .return (rx1340_cur)
+    rx1356_cur."!cursor_pass"(rx1356_pos, "metachar:sym<nqpvar>")
+    rx1356_cur."!cursor_debug"("PASS  ", "metachar:sym<nqpvar>", " at pos=", rx1356_pos)
+    .return (rx1356_cur)
+  rx1356_fail:
+.annotate 'line', 563
+    (rx1356_rep, rx1356_pos, $I10, $P10) = rx1356_cur."!mark_fail"(0)
+    lt rx1356_pos, -1, rx1356_done
+    eq rx1356_pos, -1, rx1356_fail
+    jump $I10
+  rx1356_done:
+    rx1356_cur."!cursor_fail"()
+    rx1356_cur."!cursor_debug"("FAIL  ", "metachar:sym<nqpvar>")
+    .return (rx1356_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<nqpvar>"  :subid("348_1275600007.84296") :method
-.annotate 'line', 562
-    new $P1342, "ResizablePMCArray"
-    push $P1342, "$"
-    push $P1342, "@"
-    .return ($P1342)
+.sub "!PREFIX__metachar:sym<nqpvar>"  :subid("348_1275811487.95429") :method
+.annotate 'line', 563
+    new $P1358, "ResizablePMCArray"
+    push $P1358, "$"
+    push $P1358, "@"
+    .return ($P1358)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1344"  :anon :subid("349_1275600007.84296") :method :outer("347_1275600007.84296")
-.annotate 'line', 572
-    .local string rx1346_tgt
-    .local int rx1346_pos
-    .local int rx1346_off
-    .local int rx1346_eos
-    .local int rx1346_rep
-    .local pmc rx1346_cur
-    (rx1346_cur, rx1346_pos, rx1346_tgt) = self."!cursor_start"()
-    rx1346_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1346_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1346_eos, rx1346_tgt
-    gt rx1346_pos, rx1346_eos, rx1346_done
-    set rx1346_off, 0
-    lt rx1346_pos, 2, rx1346_start
-    sub rx1346_off, rx1346_pos, 1
-    substr rx1346_tgt, rx1346_tgt, rx1346_off
-  rx1346_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1347_done
-    goto rxscan1347_scan
-  rxscan1347_loop:
-    ($P10) = rx1346_cur."from"()
-    inc $P10
-    set rx1346_pos, $P10
-    ge rx1346_pos, rx1346_eos, rxscan1347_done
-  rxscan1347_scan:
-    set_addr $I10, rxscan1347_loop
-    rx1346_cur."!mark_push"(0, rx1346_pos, $I10)
-  rxscan1347_done:
+.sub "_block1360"  :anon :subid("349_1275811487.95429") :method :outer("347_1275811487.95429")
+.annotate 'line', 573
+    .local string rx1362_tgt
+    .local int rx1362_pos
+    .local int rx1362_off
+    .local int rx1362_eos
+    .local int rx1362_rep
+    .local pmc rx1362_cur
+    (rx1362_cur, rx1362_pos, rx1362_tgt) = self."!cursor_start"()
+    rx1362_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1362_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1362_eos, rx1362_tgt
+    gt rx1362_pos, rx1362_eos, rx1362_done
+    set rx1362_off, 0
+    lt rx1362_pos, 2, rx1362_start
+    sub rx1362_off, rx1362_pos, 1
+    substr rx1362_tgt, rx1362_tgt, rx1362_off
+  rx1362_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1363_done
+    goto rxscan1363_scan
+  rxscan1363_loop:
+    ($P10) = rx1362_cur."from"()
+    inc $P10
+    set rx1362_pos, $P10
+    ge rx1362_pos, rx1362_eos, rxscan1363_done
+  rxscan1363_scan:
+    set_addr $I10, rxscan1363_loop
+    rx1362_cur."!mark_push"(0, rx1362_pos, $I10)
+  rxscan1363_done:
   # rx charclass .
-    ge rx1346_pos, rx1346_eos, rx1346_fail
-    inc rx1346_pos
+    ge rx1362_pos, rx1362_eos, rx1362_fail
+    inc rx1362_pos
   # rx charclass w
-    ge rx1346_pos, rx1346_eos, rx1346_fail
-    sub $I10, rx1346_pos, rx1346_off
-    is_cclass $I11, 8192, rx1346_tgt, $I10
-    unless $I11, rx1346_fail
-    inc rx1346_pos
-  # rx pass
-    rx1346_cur."!cursor_pass"(rx1346_pos, "")
-    rx1346_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1346_pos)
-    .return (rx1346_cur)
-  rx1346_fail:
-    (rx1346_rep, rx1346_pos, $I10, $P10) = rx1346_cur."!mark_fail"(0)
-    lt rx1346_pos, -1, rx1346_done
-    eq rx1346_pos, -1, rx1346_fail
-    jump $I10
-  rx1346_done:
-    rx1346_cur."!cursor_fail"()
-    rx1346_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1346_cur)
+    ge rx1362_pos, rx1362_eos, rx1362_fail
+    sub $I10, rx1362_pos, rx1362_off
+    is_cclass $I11, 8192, rx1362_tgt, $I10
+    unless $I11, rx1362_fail
+    inc rx1362_pos
+  # rx pass
+    rx1362_cur."!cursor_pass"(rx1362_pos, "")
+    rx1362_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1362_pos)
+    .return (rx1362_cur)
+  rx1362_fail:
+    (rx1362_rep, rx1362_pos, $I10, $P10) = rx1362_cur."!mark_fail"(0)
+    lt rx1362_pos, -1, rx1362_done
+    eq rx1362_pos, -1, rx1362_fail
+    jump $I10
+  rx1362_done:
+    rx1362_cur."!cursor_fail"()
+    rx1362_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1362_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<{ }>"  :subid("350_1275600007.84296") :method :outer("341_1275600007.84296")
-.annotate 'line', 562
-    .local string rx1349_tgt
-    .local int rx1349_pos
-    .local int rx1349_off
-    .local int rx1349_eos
-    .local int rx1349_rep
-    .local pmc rx1349_cur
-    (rx1349_cur, rx1349_pos, rx1349_tgt) = self."!cursor_start"()
-    rx1349_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
-    .lex unicode:"$\x{a2}", rx1349_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1349_eos, rx1349_tgt
-    gt rx1349_pos, rx1349_eos, rx1349_done
-    set rx1349_off, 0
-    lt rx1349_pos, 2, rx1349_start
-    sub rx1349_off, rx1349_pos, 1
-    substr rx1349_tgt, rx1349_tgt, rx1349_off
-  rx1349_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1352_done
-    goto rxscan1352_scan
-  rxscan1352_loop:
-    ($P10) = rx1349_cur."from"()
-    inc $P10
-    set rx1349_pos, $P10
-    ge rx1349_pos, rx1349_eos, rxscan1352_done
-  rxscan1352_scan:
-    set_addr $I10, rxscan1352_loop
-    rx1349_cur."!mark_push"(0, rx1349_pos, $I10)
-  rxscan1352_done:
-.annotate 'line', 576
+.sub "assertion:sym<{ }>"  :subid("350_1275811487.95429") :method :outer("341_1275811487.95429")
+.annotate 'line', 563
+    .local string rx1365_tgt
+    .local int rx1365_pos
+    .local int rx1365_off
+    .local int rx1365_eos
+    .local int rx1365_rep
+    .local pmc rx1365_cur
+    (rx1365_cur, rx1365_pos, rx1365_tgt) = self."!cursor_start"()
+    rx1365_cur."!cursor_debug"("START ", "assertion:sym<{ }>")
+    .lex unicode:"$\x{a2}", rx1365_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1365_eos, rx1365_tgt
+    gt rx1365_pos, rx1365_eos, rx1365_done
+    set rx1365_off, 0
+    lt rx1365_pos, 2, rx1365_start
+    sub rx1365_off, rx1365_pos, 1
+    substr rx1365_tgt, rx1365_tgt, rx1365_off
+  rx1365_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1368_done
+    goto rxscan1368_scan
+  rxscan1368_loop:
+    ($P10) = rx1365_cur."from"()
+    inc $P10
+    set rx1365_pos, $P10
+    ge rx1365_pos, rx1365_eos, rxscan1368_done
+  rxscan1368_scan:
+    set_addr $I10, rxscan1368_loop
+    rx1365_cur."!mark_push"(0, rx1365_pos, $I10)
+  rxscan1368_done:
+.annotate 'line', 577
   # rx enumcharlist negate=0 zerowidth
-    ge rx1349_pos, rx1349_eos, rx1349_fail
-    sub $I10, rx1349_pos, rx1349_off
-    substr $S10, rx1349_tgt, $I10, 1
+    ge rx1365_pos, rx1365_eos, rx1365_fail
+    sub $I10, rx1365_pos, rx1365_off
+    substr $S10, rx1365_tgt, $I10, 1
     index $I11, "{", $S10
-    lt $I11, 0, rx1349_fail
+    lt $I11, 0, rx1365_fail
   # rx subrule "codeblock" subtype=capture negate=
-    rx1349_cur."!cursor_pos"(rx1349_pos)
-    $P10 = rx1349_cur."codeblock"()
-    unless $P10, rx1349_fail
-    rx1349_cur."!mark_push"(0, -1, 0, $P10)
+    rx1365_cur."!cursor_pos"(rx1365_pos)
+    $P10 = rx1365_cur."codeblock"()
+    unless $P10, rx1365_fail
+    rx1365_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("codeblock")
-    rx1349_pos = $P10."pos"()
-.annotate 'line', 575
+    rx1365_pos = $P10."pos"()
+.annotate 'line', 576
   # rx pass
-    rx1349_cur."!cursor_pass"(rx1349_pos, "assertion:sym<{ }>")
-    rx1349_cur."!cursor_debug"("PASS  ", "assertion:sym<{ }>", " at pos=", rx1349_pos)
-    .return (rx1349_cur)
-  rx1349_fail:
-.annotate 'line', 562
-    (rx1349_rep, rx1349_pos, $I10, $P10) = rx1349_cur."!mark_fail"(0)
-    lt rx1349_pos, -1, rx1349_done
-    eq rx1349_pos, -1, rx1349_fail
-    jump $I10
-  rx1349_done:
-    rx1349_cur."!cursor_fail"()
-    rx1349_cur."!cursor_debug"("FAIL  ", "assertion:sym<{ }>")
-    .return (rx1349_cur)
+    rx1365_cur."!cursor_pass"(rx1365_pos, "assertion:sym<{ }>")
+    rx1365_cur."!cursor_debug"("PASS  ", "assertion:sym<{ }>", " at pos=", rx1365_pos)
+    .return (rx1365_cur)
+  rx1365_fail:
+.annotate 'line', 563
+    (rx1365_rep, rx1365_pos, $I10, $P10) = rx1365_cur."!mark_fail"(0)
+    lt rx1365_pos, -1, rx1365_done
+    eq rx1365_pos, -1, rx1365_fail
+    jump $I10
+  rx1365_done:
+    rx1365_cur."!cursor_fail"()
+    rx1365_cur."!cursor_debug"("FAIL  ", "assertion:sym<{ }>")
+    .return (rx1365_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<{ }>"  :subid("351_1275600007.84296") :method
-.annotate 'line', 562
-    new $P1351, "ResizablePMCArray"
-    push $P1351, "{"
-    .return ($P1351)
+.sub "!PREFIX__assertion:sym<{ }>"  :subid("351_1275811487.95429") :method
+.annotate 'line', 563
+    new $P1367, "ResizablePMCArray"
+    push $P1367, "{"
+    .return ($P1367)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<?{ }>"  :subid("352_1275600007.84296") :method :outer("341_1275600007.84296")
-.annotate 'line', 562
-    .const 'Sub' $P1359 = "354_1275600007.84296" 
-    capture_lex $P1359
-    .local string rx1354_tgt
-    .local int rx1354_pos
-    .local int rx1354_off
-    .local int rx1354_eos
-    .local int rx1354_rep
-    .local pmc rx1354_cur
-    (rx1354_cur, rx1354_pos, rx1354_tgt) = self."!cursor_start"()
-    rx1354_cur."!cursor_debug"("START ", "assertion:sym<?{ }>")
-    .lex unicode:"$\x{a2}", rx1354_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1354_eos, rx1354_tgt
-    gt rx1354_pos, rx1354_eos, rx1354_done
-    set rx1354_off, 0
-    lt rx1354_pos, 2, rx1354_start
-    sub rx1354_off, rx1354_pos, 1
-    substr rx1354_tgt, rx1354_tgt, rx1354_off
-  rx1354_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1357_done
-    goto rxscan1357_scan
-  rxscan1357_loop:
-    ($P10) = rx1354_cur."from"()
-    inc $P10
-    set rx1354_pos, $P10
-    ge rx1354_pos, rx1354_eos, rxscan1357_done
-  rxscan1357_scan:
-    set_addr $I10, rxscan1357_loop
-    rx1354_cur."!mark_push"(0, rx1354_pos, $I10)
-  rxscan1357_done:
-.annotate 'line', 580
+.sub "assertion:sym<?{ }>"  :subid("352_1275811487.95429") :method :outer("341_1275811487.95429")
+.annotate 'line', 563
+    .const 'Sub' $P1375 = "354_1275811487.95429" 
+    capture_lex $P1375
+    .local string rx1370_tgt
+    .local int rx1370_pos
+    .local int rx1370_off
+    .local int rx1370_eos
+    .local int rx1370_rep
+    .local pmc rx1370_cur
+    (rx1370_cur, rx1370_pos, rx1370_tgt) = self."!cursor_start"()
+    rx1370_cur."!cursor_debug"("START ", "assertion:sym<?{ }>")
+    .lex unicode:"$\x{a2}", rx1370_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1370_eos, rx1370_tgt
+    gt rx1370_pos, rx1370_eos, rx1370_done
+    set rx1370_off, 0
+    lt rx1370_pos, 2, rx1370_start
+    sub rx1370_off, rx1370_pos, 1
+    substr rx1370_tgt, rx1370_tgt, rx1370_off
+  rx1370_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1373_done
+    goto rxscan1373_scan
+  rxscan1373_loop:
+    ($P10) = rx1370_cur."from"()
+    inc $P10
+    set rx1370_pos, $P10
+    ge rx1370_pos, rx1370_eos, rxscan1373_done
+  rxscan1373_scan:
+    set_addr $I10, rxscan1373_loop
+    rx1370_cur."!mark_push"(0, rx1370_pos, $I10)
+  rxscan1373_done:
+.annotate 'line', 581
   # rx subcapture "zw"
-    set_addr $I10, rxcap_1362_fail
-    rx1354_cur."!mark_push"(0, rx1354_pos, $I10)
+    set_addr $I10, rxcap_1378_fail
+    rx1370_cur."!mark_push"(0, rx1370_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx1354_pos, rx1354_eos, rx1354_fail
-    sub $I10, rx1354_pos, rx1354_off
-    substr $S10, rx1354_tgt, $I10, 1
+    ge rx1370_pos, rx1370_eos, rx1370_fail
+    sub $I10, rx1370_pos, rx1370_off
+    substr $S10, rx1370_tgt, $I10, 1
     index $I11, "?!", $S10
-    lt $I11, 0, rx1354_fail
-    inc rx1354_pos
+    lt $I11, 0, rx1370_fail
+    inc rx1370_pos
   # rx subrule "before" subtype=zerowidth negate=
-    rx1354_cur."!cursor_pos"(rx1354_pos)
-    .const 'Sub' $P1359 = "354_1275600007.84296" 
-    capture_lex $P1359
-    $P10 = rx1354_cur."before"($P1359)
-    unless $P10, rx1354_fail
-    set_addr $I10, rxcap_1362_fail
-    ($I12, $I11) = rx1354_cur."!mark_peek"($I10)
-    rx1354_cur."!cursor_pos"($I11)
-    ($P10) = rx1354_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1354_pos, "")
-    rx1354_cur."!mark_push"(0, -1, 0, $P10)
+    rx1370_cur."!cursor_pos"(rx1370_pos)
+    .const 'Sub' $P1375 = "354_1275811487.95429" 
+    capture_lex $P1375
+    $P10 = rx1370_cur."before"($P1375)
+    unless $P10, rx1370_fail
+    set_addr $I10, rxcap_1378_fail
+    ($I12, $I11) = rx1370_cur."!mark_peek"($I10)
+    rx1370_cur."!cursor_pos"($I11)
+    ($P10) = rx1370_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1370_pos, "")
+    rx1370_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("zw")
-    goto rxcap_1362_done
-  rxcap_1362_fail:
-    goto rx1354_fail
-  rxcap_1362_done:
+    goto rxcap_1378_done
+  rxcap_1378_fail:
+    goto rx1370_fail
+  rxcap_1378_done:
   # rx subrule "codeblock" subtype=capture negate=
-    rx1354_cur."!cursor_pos"(rx1354_pos)
-    $P10 = rx1354_cur."codeblock"()
-    unless $P10, rx1354_fail
-    rx1354_cur."!mark_push"(0, -1, 0, $P10)
+    rx1370_cur."!cursor_pos"(rx1370_pos)
+    $P10 = rx1370_cur."codeblock"()
+    unless $P10, rx1370_fail
+    rx1370_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("codeblock")
-    rx1354_pos = $P10."pos"()
-.annotate 'line', 579
+    rx1370_pos = $P10."pos"()
+.annotate 'line', 580
   # rx pass
-    rx1354_cur."!cursor_pass"(rx1354_pos, "assertion:sym<?{ }>")
-    rx1354_cur."!cursor_debug"("PASS  ", "assertion:sym<?{ }>", " at pos=", rx1354_pos)
-    .return (rx1354_cur)
-  rx1354_fail:
-.annotate 'line', 562
-    (rx1354_rep, rx1354_pos, $I10, $P10) = rx1354_cur."!mark_fail"(0)
-    lt rx1354_pos, -1, rx1354_done
-    eq rx1354_pos, -1, rx1354_fail
-    jump $I10
-  rx1354_done:
-    rx1354_cur."!cursor_fail"()
-    rx1354_cur."!cursor_debug"("FAIL  ", "assertion:sym<?{ }>")
-    .return (rx1354_cur)
+    rx1370_cur."!cursor_pass"(rx1370_pos, "assertion:sym<?{ }>")
+    rx1370_cur."!cursor_debug"("PASS  ", "assertion:sym<?{ }>", " at pos=", rx1370_pos)
+    .return (rx1370_cur)
+  rx1370_fail:
+.annotate 'line', 563
+    (rx1370_rep, rx1370_pos, $I10, $P10) = rx1370_cur."!mark_fail"(0)
+    lt rx1370_pos, -1, rx1370_done
+    eq rx1370_pos, -1, rx1370_fail
+    jump $I10
+  rx1370_done:
+    rx1370_cur."!cursor_fail"()
+    rx1370_cur."!cursor_debug"("FAIL  ", "assertion:sym<?{ }>")
+    .return (rx1370_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<?{ }>"  :subid("353_1275600007.84296") :method
-.annotate 'line', 562
-    new $P1356, "ResizablePMCArray"
-    push $P1356, "!"
-    push $P1356, "?"
-    .return ($P1356)
+.sub "!PREFIX__assertion:sym<?{ }>"  :subid("353_1275811487.95429") :method
+.annotate 'line', 563
+    new $P1372, "ResizablePMCArray"
+    push $P1372, "!"
+    push $P1372, "?"
+    .return ($P1372)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1358"  :anon :subid("354_1275600007.84296") :method :outer("352_1275600007.84296")
-.annotate 'line', 580
-    .local string rx1360_tgt
-    .local int rx1360_pos
-    .local int rx1360_off
-    .local int rx1360_eos
-    .local int rx1360_rep
-    .local pmc rx1360_cur
-    (rx1360_cur, rx1360_pos, rx1360_tgt) = self."!cursor_start"()
-    rx1360_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1360_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1360_eos, rx1360_tgt
-    gt rx1360_pos, rx1360_eos, rx1360_done
-    set rx1360_off, 0
-    lt rx1360_pos, 2, rx1360_start
-    sub rx1360_off, rx1360_pos, 1
-    substr rx1360_tgt, rx1360_tgt, rx1360_off
-  rx1360_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1361_done
-    goto rxscan1361_scan
-  rxscan1361_loop:
-    ($P10) = rx1360_cur."from"()
-    inc $P10
-    set rx1360_pos, $P10
-    ge rx1360_pos, rx1360_eos, rxscan1361_done
-  rxscan1361_scan:
-    set_addr $I10, rxscan1361_loop
-    rx1360_cur."!mark_push"(0, rx1360_pos, $I10)
-  rxscan1361_done:
+.sub "_block1374"  :anon :subid("354_1275811487.95429") :method :outer("352_1275811487.95429")
+.annotate 'line', 581
+    .local string rx1376_tgt
+    .local int rx1376_pos
+    .local int rx1376_off
+    .local int rx1376_eos
+    .local int rx1376_rep
+    .local pmc rx1376_cur
+    (rx1376_cur, rx1376_pos, rx1376_tgt) = self."!cursor_start"()
+    rx1376_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1376_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1376_eos, rx1376_tgt
+    gt rx1376_pos, rx1376_eos, rx1376_done
+    set rx1376_off, 0
+    lt rx1376_pos, 2, rx1376_start
+    sub rx1376_off, rx1376_pos, 1
+    substr rx1376_tgt, rx1376_tgt, rx1376_off
+  rx1376_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1377_done
+    goto rxscan1377_scan
+  rxscan1377_loop:
+    ($P10) = rx1376_cur."from"()
+    inc $P10
+    set rx1376_pos, $P10
+    ge rx1376_pos, rx1376_eos, rxscan1377_done
+  rxscan1377_scan:
+    set_addr $I10, rxscan1377_loop
+    rx1376_cur."!mark_push"(0, rx1376_pos, $I10)
+  rxscan1377_done:
   # rx literal  "{"
-    add $I11, rx1360_pos, 1
-    gt $I11, rx1360_eos, rx1360_fail
-    sub $I11, rx1360_pos, rx1360_off
-    substr $S10, rx1360_tgt, $I11, 1
-    ne $S10, "{", rx1360_fail
-    add rx1360_pos, 1
-  # rx pass
-    rx1360_cur."!cursor_pass"(rx1360_pos, "")
-    rx1360_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1360_pos)
-    .return (rx1360_cur)
-  rx1360_fail:
-    (rx1360_rep, rx1360_pos, $I10, $P10) = rx1360_cur."!mark_fail"(0)
-    lt rx1360_pos, -1, rx1360_done
-    eq rx1360_pos, -1, rx1360_fail
-    jump $I10
-  rx1360_done:
-    rx1360_cur."!cursor_fail"()
-    rx1360_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1360_cur)
+    add $I11, rx1376_pos, 1
+    gt $I11, rx1376_eos, rx1376_fail
+    sub $I11, rx1376_pos, rx1376_off
+    substr $S10, rx1376_tgt, $I11, 1
+    ne $S10, "{", rx1376_fail
+    add rx1376_pos, 1
+  # rx pass
+    rx1376_cur."!cursor_pass"(rx1376_pos, "")
+    rx1376_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1376_pos)
+    .return (rx1376_cur)
+  rx1376_fail:
+    (rx1376_rep, rx1376_pos, $I10, $P10) = rx1376_cur."!mark_fail"(0)
+    lt rx1376_pos, -1, rx1376_done
+    eq rx1376_pos, -1, rx1376_fail
+    jump $I10
+  rx1376_done:
+    rx1376_cur."!cursor_fail"()
+    rx1376_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1376_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<name>"  :subid("355_1275600007.84296") :method :outer("341_1275600007.84296")
-.annotate 'line', 562
-    .const 'Sub' $P1372 = "357_1275600007.84296" 
-    capture_lex $P1372
-    .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 ", "assertion:sym<name>")
-    rx1364_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
-    .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, rxscan1367_done
-    goto rxscan1367_scan
-  rxscan1367_loop:
-    ($P10) = rx1364_cur."from"()
-    inc $P10
-    set rx1364_pos, $P10
-    ge rx1364_pos, rx1364_eos, rxscan1367_done
-  rxscan1367_scan:
-    set_addr $I10, rxscan1367_loop
-    rx1364_cur."!mark_push"(0, rx1364_pos, $I10)
-  rxscan1367_done:
-.annotate 'line', 584
+.sub "assertion:sym<name>"  :subid("355_1275811487.95429") :method :outer("341_1275811487.95429")
+.annotate 'line', 563
+    .const 'Sub' $P1388 = "357_1275811487.95429" 
+    capture_lex $P1388
+    .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 ", "assertion:sym<name>")
+    rx1380_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
+    .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, rxscan1383_done
+    goto rxscan1383_scan
+  rxscan1383_loop:
+    ($P10) = rx1380_cur."from"()
+    inc $P10
+    set rx1380_pos, $P10
+    ge rx1380_pos, rx1380_eos, rxscan1383_done
+  rxscan1383_scan:
+    set_addr $I10, rxscan1383_loop
+    rx1380_cur."!mark_push"(0, rx1380_pos, $I10)
+  rxscan1383_done:
+.annotate 'line', 585
   # rx subcapture "longname"
-    set_addr $I10, rxcap_1368_fail
-    rx1364_cur."!mark_push"(0, rx1364_pos, $I10)
+    set_addr $I10, rxcap_1384_fail
+    rx1380_cur."!mark_push"(0, rx1380_pos, $I10)
   # rx charclass_q w r 1..-1
-    sub $I10, rx1364_pos, rx1364_off
-    find_not_cclass $I11, 8192, rx1364_tgt, $I10, rx1364_eos
+    sub $I10, rx1380_pos, rx1380_off
+    find_not_cclass $I11, 8192, rx1380_tgt, $I10, rx1380_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx1364_fail
-    add rx1364_pos, rx1364_off, $I11
-    set_addr $I10, rxcap_1368_fail
-    ($I12, $I11) = rx1364_cur."!mark_peek"($I10)
-    rx1364_cur."!cursor_pos"($I11)
-    ($P10) = rx1364_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx1364_pos, "")
-    rx1364_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx1380_fail
+    add rx1380_pos, rx1380_off, $I11
+    set_addr $I10, rxcap_1384_fail
+    ($I12, $I11) = rx1380_cur."!mark_peek"($I10)
+    rx1380_cur."!cursor_pos"($I11)
+    ($P10) = rx1380_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx1380_pos, "")
+    rx1380_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("longname")
-    goto rxcap_1368_done
-  rxcap_1368_fail:
-    goto rx1364_fail
-  rxcap_1368_done:
-.annotate 'line', 591
-  # rx rxquantr1369 ** 0..1
-    set_addr $I1375, rxquantr1369_done
-    rx1364_cur."!mark_push"(0, rx1364_pos, $I1375)
-  rxquantr1369_loop:
-  alt1370_0:
-.annotate 'line', 585
-    set_addr $I10, alt1370_1
-    rx1364_cur."!mark_push"(0, rx1364_pos, $I10)
+    goto rxcap_1384_done
+  rxcap_1384_fail:
+    goto rx1380_fail
+  rxcap_1384_done:
+.annotate 'line', 592
+  # rx rxquantr1385 ** 0..1
+    set_addr $I1391, rxquantr1385_done
+    rx1380_cur."!mark_push"(0, rx1380_pos, $I1391)
+  rxquantr1385_loop:
+  alt1386_0:
 .annotate 'line', 586
-  # rx subrule "before" subtype=zerowidth negate=
-    rx1364_cur."!cursor_pos"(rx1364_pos)
-    .const 'Sub' $P1372 = "357_1275600007.84296" 
-    capture_lex $P1372
-    $P10 = rx1364_cur."before"($P1372)
-    unless $P10, rx1364_fail
-    goto alt1370_end
-  alt1370_1:
-    set_addr $I10, alt1370_2
-    rx1364_cur."!mark_push"(0, rx1364_pos, $I10)
+    set_addr $I10, alt1386_1
+    rx1380_cur."!mark_push"(0, rx1380_pos, $I10)
 .annotate 'line', 587
+  # rx subrule "before" subtype=zerowidth negate=
+    rx1380_cur."!cursor_pos"(rx1380_pos)
+    .const 'Sub' $P1388 = "357_1275811487.95429" 
+    capture_lex $P1388
+    $P10 = rx1380_cur."before"($P1388)
+    unless $P10, rx1380_fail
+    goto alt1386_end
+  alt1386_1:
+    set_addr $I10, alt1386_2
+    rx1380_cur."!mark_push"(0, rx1380_pos, $I10)
+.annotate 'line', 588
   # rx literal  "="
-    add $I11, rx1364_pos, 1
-    gt $I11, rx1364_eos, rx1364_fail
-    sub $I11, rx1364_pos, rx1364_off
-    substr $S10, rx1364_tgt, $I11, 1
-    ne $S10, "=", rx1364_fail
-    add rx1364_pos, 1
+    add $I11, rx1380_pos, 1
+    gt $I11, rx1380_eos, rx1380_fail
+    sub $I11, rx1380_pos, rx1380_off
+    substr $S10, rx1380_tgt, $I11, 1
+    ne $S10, "=", rx1380_fail
+    add rx1380_pos, 1
   # rx subrule "assertion" subtype=capture negate=
-    rx1364_cur."!cursor_pos"(rx1364_pos)
-    $P10 = rx1364_cur."assertion"()
-    unless $P10, rx1364_fail
-    rx1364_cur."!mark_push"(0, -1, 0, $P10)
+    rx1380_cur."!cursor_pos"(rx1380_pos)
+    $P10 = rx1380_cur."assertion"()
+    unless $P10, rx1380_fail
+    rx1380_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx1364_pos = $P10."pos"()
-    goto alt1370_end
-  alt1370_2:
-    set_addr $I10, alt1370_3
-    rx1364_cur."!mark_push"(0, rx1364_pos, $I10)
-.annotate 'line', 588
+    rx1380_pos = $P10."pos"()
+    goto alt1386_end
+  alt1386_2:
+    set_addr $I10, alt1386_3
+    rx1380_cur."!mark_push"(0, rx1380_pos, $I10)
+.annotate 'line', 589
   # rx literal  ":"
-    add $I11, rx1364_pos, 1
-    gt $I11, rx1364_eos, rx1364_fail
-    sub $I11, rx1364_pos, rx1364_off
-    substr $S10, rx1364_tgt, $I11, 1
-    ne $S10, ":", rx1364_fail
-    add rx1364_pos, 1
+    add $I11, rx1380_pos, 1
+    gt $I11, rx1380_eos, rx1380_fail
+    sub $I11, rx1380_pos, rx1380_off
+    substr $S10, rx1380_tgt, $I11, 1
+    ne $S10, ":", rx1380_fail
+    add rx1380_pos, 1
   # rx subrule "arglist" subtype=capture negate=
-    rx1364_cur."!cursor_pos"(rx1364_pos)
-    $P10 = rx1364_cur."arglist"()
-    unless $P10, rx1364_fail
-    rx1364_cur."!mark_push"(0, -1, 0, $P10)
+    rx1380_cur."!cursor_pos"(rx1380_pos)
+    $P10 = rx1380_cur."arglist"()
+    unless $P10, rx1380_fail
+    rx1380_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx1364_pos = $P10."pos"()
-    goto alt1370_end
-  alt1370_3:
-    set_addr $I10, alt1370_4
-    rx1364_cur."!mark_push"(0, rx1364_pos, $I10)
-.annotate 'line', 589
+    rx1380_pos = $P10."pos"()
+    goto alt1386_end
+  alt1386_3:
+    set_addr $I10, alt1386_4
+    rx1380_cur."!mark_push"(0, rx1380_pos, $I10)
+.annotate 'line', 590
   # rx literal  "("
-    add $I11, rx1364_pos, 1
-    gt $I11, rx1364_eos, rx1364_fail
-    sub $I11, rx1364_pos, rx1364_off
-    substr $S10, rx1364_tgt, $I11, 1
-    ne $S10, "(", rx1364_fail
-    add rx1364_pos, 1
+    add $I11, rx1380_pos, 1
+    gt $I11, rx1380_eos, rx1380_fail
+    sub $I11, rx1380_pos, rx1380_off
+    substr $S10, rx1380_tgt, $I11, 1
+    ne $S10, "(", rx1380_fail
+    add rx1380_pos, 1
   # rx subrule "LANG" subtype=capture negate=
-    rx1364_cur."!cursor_pos"(rx1364_pos)
-    $P10 = rx1364_cur."LANG"("MAIN", "arglist")
-    unless $P10, rx1364_fail
-    rx1364_cur."!mark_push"(0, -1, 0, $P10)
+    rx1380_cur."!cursor_pos"(rx1380_pos)
+    $P10 = rx1380_cur."LANG"("MAIN", "arglist")
+    unless $P10, rx1380_fail
+    rx1380_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx1364_pos = $P10."pos"()
+    rx1380_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx1364_pos, 1
-    gt $I11, rx1364_eos, rx1364_fail
-    sub $I11, rx1364_pos, rx1364_off
-    substr $S10, rx1364_tgt, $I11, 1
-    ne $S10, ")", rx1364_fail
-    add rx1364_pos, 1
-    goto alt1370_end
-  alt1370_4:
-.annotate 'line', 590
+    add $I11, rx1380_pos, 1
+    gt $I11, rx1380_eos, rx1380_fail
+    sub $I11, rx1380_pos, rx1380_off
+    substr $S10, rx1380_tgt, $I11, 1
+    ne $S10, ")", rx1380_fail
+    add rx1380_pos, 1
+    goto alt1386_end
+  alt1386_4:
+.annotate 'line', 591
   # rx subrule "normspace" subtype=method negate=
-    rx1364_cur."!cursor_pos"(rx1364_pos)
-    $P10 = rx1364_cur."normspace"()
-    unless $P10, rx1364_fail
-    rx1364_pos = $P10."pos"()
+    rx1380_cur."!cursor_pos"(rx1380_pos)
+    $P10 = rx1380_cur."normspace"()
+    unless $P10, rx1380_fail
+    rx1380_pos = $P10."pos"()
   # rx subrule "nibbler" subtype=capture negate=
-    rx1364_cur."!cursor_pos"(rx1364_pos)
-    $P10 = rx1364_cur."nibbler"()
-    unless $P10, rx1364_fail
-    rx1364_cur."!mark_push"(0, -1, 0, $P10)
+    rx1380_cur."!cursor_pos"(rx1380_pos)
+    $P10 = rx1380_cur."nibbler"()
+    unless $P10, rx1380_fail
+    rx1380_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx1364_pos = $P10."pos"()
-  alt1370_end:
-.annotate 'line', 591
-    (rx1364_rep) = rx1364_cur."!mark_commit"($I1375)
-  rxquantr1369_done:
-.annotate 'line', 583
+    rx1380_pos = $P10."pos"()
+  alt1386_end:
+.annotate 'line', 592
+    (rx1380_rep) = rx1380_cur."!mark_commit"($I1391)
+  rxquantr1385_done:
+.annotate 'line', 584
   # rx pass
-    rx1364_cur."!cursor_pass"(rx1364_pos, "assertion:sym<name>")
-    rx1364_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx1364_pos)
-    .return (rx1364_cur)
-  rx1364_fail:
-.annotate 'line', 562
-    (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  ", "assertion:sym<name>")
-    .return (rx1364_cur)
+    rx1380_cur."!cursor_pass"(rx1380_pos, "assertion:sym<name>")
+    rx1380_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx1380_pos)
+    .return (rx1380_cur)
+  rx1380_fail:
+.annotate 'line', 563
+    (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  ", "assertion:sym<name>")
+    .return (rx1380_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("356_1275600007.84296") :method
-.annotate 'line', 562
-    new $P1366, "ResizablePMCArray"
-    push $P1366, ""
-    .return ($P1366)
+.sub "!PREFIX__assertion:sym<name>"  :subid("356_1275811487.95429") :method
+.annotate 'line', 563
+    new $P1382, "ResizablePMCArray"
+    push $P1382, ""
+    .return ($P1382)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1371"  :anon :subid("357_1275600007.84296") :method :outer("355_1275600007.84296")
-.annotate 'line', 586
-    .local string rx1373_tgt
-    .local int rx1373_pos
-    .local int rx1373_off
-    .local int rx1373_eos
-    .local int rx1373_rep
-    .local pmc rx1373_cur
-    (rx1373_cur, rx1373_pos, rx1373_tgt) = self."!cursor_start"()
-    rx1373_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx1373_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1373_eos, rx1373_tgt
-    gt rx1373_pos, rx1373_eos, rx1373_done
-    set rx1373_off, 0
-    lt rx1373_pos, 2, rx1373_start
-    sub rx1373_off, rx1373_pos, 1
-    substr rx1373_tgt, rx1373_tgt, rx1373_off
-  rx1373_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1374_done
-    goto rxscan1374_scan
-  rxscan1374_loop:
-    ($P10) = rx1373_cur."from"()
-    inc $P10
-    set rx1373_pos, $P10
-    ge rx1373_pos, rx1373_eos, rxscan1374_done
-  rxscan1374_scan:
-    set_addr $I10, rxscan1374_loop
-    rx1373_cur."!mark_push"(0, rx1373_pos, $I10)
-  rxscan1374_done:
+.sub "_block1387"  :anon :subid("357_1275811487.95429") :method :outer("355_1275811487.95429")
+.annotate 'line', 587
+    .local string rx1389_tgt
+    .local int rx1389_pos
+    .local int rx1389_off
+    .local int rx1389_eos
+    .local int rx1389_rep
+    .local pmc rx1389_cur
+    (rx1389_cur, rx1389_pos, rx1389_tgt) = self."!cursor_start"()
+    rx1389_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx1389_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1389_eos, rx1389_tgt
+    gt rx1389_pos, rx1389_eos, rx1389_done
+    set rx1389_off, 0
+    lt rx1389_pos, 2, rx1389_start
+    sub rx1389_off, rx1389_pos, 1
+    substr rx1389_tgt, rx1389_tgt, rx1389_off
+  rx1389_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1390_done
+    goto rxscan1390_scan
+  rxscan1390_loop:
+    ($P10) = rx1389_cur."from"()
+    inc $P10
+    set rx1389_pos, $P10
+    ge rx1389_pos, rx1389_eos, rxscan1390_done
+  rxscan1390_scan:
+    set_addr $I10, rxscan1390_loop
+    rx1389_cur."!mark_push"(0, rx1389_pos, $I10)
+  rxscan1390_done:
   # rx literal  ">"
-    add $I11, rx1373_pos, 1
-    gt $I11, rx1373_eos, rx1373_fail
-    sub $I11, rx1373_pos, rx1373_off
-    substr $S10, rx1373_tgt, $I11, 1
-    ne $S10, ">", rx1373_fail
-    add rx1373_pos, 1
-  # rx pass
-    rx1373_cur."!cursor_pass"(rx1373_pos, "")
-    rx1373_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1373_pos)
-    .return (rx1373_cur)
-  rx1373_fail:
-    (rx1373_rep, rx1373_pos, $I10, $P10) = rx1373_cur."!mark_fail"(0)
-    lt rx1373_pos, -1, rx1373_done
-    eq rx1373_pos, -1, rx1373_fail
-    jump $I10
-  rx1373_done:
-    rx1373_cur."!cursor_fail"()
-    rx1373_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx1373_cur)
+    add $I11, rx1389_pos, 1
+    gt $I11, rx1389_eos, rx1389_fail
+    sub $I11, rx1389_pos, rx1389_off
+    substr $S10, rx1389_tgt, $I11, 1
+    ne $S10, ">", rx1389_fail
+    add rx1389_pos, 1
+  # rx pass
+    rx1389_cur."!cursor_pass"(rx1389_pos, "")
+    rx1389_cur."!cursor_debug"("PASS  ", "", " at pos=", rx1389_pos)
+    .return (rx1389_cur)
+  rx1389_fail:
+    (rx1389_rep, rx1389_pos, $I10, $P10) = rx1389_cur."!mark_fail"(0)
+    lt rx1389_pos, -1, rx1389_done
+    eq rx1389_pos, -1, rx1389_fail
+    jump $I10
+  rx1389_done:
+    rx1389_cur."!cursor_fail"()
+    rx1389_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx1389_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<var>"  :subid("358_1275600007.84296") :method :outer("341_1275600007.84296")
-.annotate 'line', 562
-    .local string rx1377_tgt
-    .local int rx1377_pos
-    .local int rx1377_off
-    .local int rx1377_eos
-    .local int rx1377_rep
-    .local pmc rx1377_cur
-    (rx1377_cur, rx1377_pos, rx1377_tgt) = self."!cursor_start"()
-    rx1377_cur."!cursor_debug"("START ", "assertion:sym<var>")
-    .lex unicode:"$\x{a2}", rx1377_cur
-    .local pmc match
-    .lex "$/", match
-    length rx1377_eos, rx1377_tgt
-    gt rx1377_pos, rx1377_eos, rx1377_done
-    set rx1377_off, 0
-    lt rx1377_pos, 2, rx1377_start
-    sub rx1377_off, rx1377_pos, 1
-    substr rx1377_tgt, rx1377_tgt, rx1377_off
-  rx1377_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan1380_done
-    goto rxscan1380_scan
-  rxscan1380_loop:
-    ($P10) = rx1377_cur."from"()
-    inc $P10
-    set rx1377_pos, $P10
-    ge rx1377_pos, rx1377_eos, rxscan1380_done
-  rxscan1380_scan:
-    set_addr $I10, rxscan1380_loop
-    rx1377_cur."!mark_push"(0, rx1377_pos, $I10)
-  rxscan1380_done:
-.annotate 'line', 595
+.sub "assertion:sym<var>"  :subid("358_1275811487.95429") :method :outer("341_1275811487.95429")
+.annotate 'line', 563
+    .local string rx1393_tgt
+    .local int rx1393_pos
+    .local int rx1393_off
+    .local int rx1393_eos
+    .local int rx1393_rep
+    .local pmc rx1393_cur
+    (rx1393_cur, rx1393_pos, rx1393_tgt) = self."!cursor_start"()
+    rx1393_cur."!cursor_debug"("START ", "assertion:sym<var>")
+    .lex unicode:"$\x{a2}", rx1393_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1393_eos, rx1393_tgt
+    gt rx1393_pos, rx1393_eos, rx1393_done
+    set rx1393_off, 0
+    lt rx1393_pos, 2, rx1393_start
+    sub rx1393_off, rx1393_pos, 1
+    substr rx1393_tgt, rx1393_tgt, rx1393_off
+  rx1393_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1396_done
+    goto rxscan1396_scan
+  rxscan1396_loop:
+    ($P10) = rx1393_cur."from"()
+    inc $P10
+    set rx1393_pos, $P10
+    ge rx1393_pos, rx1393_eos, rxscan1396_done
+  rxscan1396_scan:
+    set_addr $I10, rxscan1396_loop
+    rx1393_cur."!mark_push"(0, rx1393_pos, $I10)
+  rxscan1396_done:
+.annotate 'line', 596
   # rx enumcharlist negate=0 zerowidth
-    ge rx1377_pos, rx1377_eos, rx1377_fail
-    sub $I10, rx1377_pos, rx1377_off
-    substr $S10, rx1377_tgt, $I10, 1
+    ge rx1393_pos, rx1393_eos, rx1393_fail
+    sub $I10, rx1393_pos, rx1393_off
+    substr $S10, rx1393_tgt, $I10, 1
     index $I11, "$@", $S10
-    lt $I11, 0, rx1377_fail
+    lt $I11, 0, rx1393_fail
   # rx subrule "LANG" subtype=capture negate=
-    rx1377_cur."!cursor_pos"(rx1377_pos)
-    $P10 = rx1377_cur."LANG"("MAIN", "variable")
-    unless $P10, rx1377_fail
-    rx1377_cur."!mark_push"(0, -1, 0, $P10)
+    rx1393_cur."!cursor_pos"(rx1393_pos)
+    $P10 = rx1393_cur."LANG"("MAIN", "variable")
+    unless $P10, rx1393_fail
+    rx1393_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("var")
-    rx1377_pos = $P10."pos"()
-.annotate 'line', 594
+    rx1393_pos = $P10."pos"()
+.annotate 'line', 595
   # rx pass
-    rx1377_cur."!cursor_pass"(rx1377_pos, "assertion:sym<var>")
-    rx1377_cur."!cursor_debug"("PASS  ", "assertion:sym<var>", " at pos=", rx1377_pos)
-    .return (rx1377_cur)
-  rx1377_fail:
-.annotate 'line', 562
-    (rx1377_rep, rx1377_pos, $I10, $P10) = rx1377_cur."!mark_fail"(0)
-    lt rx1377_pos, -1, rx1377_done
-    eq rx1377_pos, -1, rx1377_fail
-    jump $I10
-  rx1377_done:
-    rx1377_cur."!cursor_fail"()
-    rx1377_cur."!cursor_debug"("FAIL  ", "assertion:sym<var>")
-    .return (rx1377_cur)
+    rx1393_cur."!cursor_pass"(rx1393_pos, "assertion:sym<var>")
+    rx1393_cur."!cursor_debug"("PASS  ", "assertion:sym<var>", " at pos=", rx1393_pos)
+    .return (rx1393_cur)
+  rx1393_fail:
+.annotate 'line', 563
+    (rx1393_rep, rx1393_pos, $I10, $P10) = rx1393_cur."!mark_fail"(0)
+    lt rx1393_pos, -1, rx1393_done
+    eq rx1393_pos, -1, rx1393_fail
+    jump $I10
+  rx1393_done:
+    rx1393_cur."!cursor_fail"()
+    rx1393_cur."!cursor_debug"("FAIL  ", "assertion:sym<var>")
+    .return (rx1393_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<var>"  :subid("359_1275600007.84296") :method
-.annotate 'line', 562
-    new $P1379, "ResizablePMCArray"
-    push $P1379, "$"
-    push $P1379, "@"
-    .return ($P1379)
+.sub "!PREFIX__assertion:sym<var>"  :subid("359_1275811487.95429") :method
+.annotate 'line', 563
+    new $P1395, "ResizablePMCArray"
+    push $P1395, "$"
+    push $P1395, "@"
+    .return ($P1395)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "codeblock"  :subid("360_1275600007.84296") :method :outer("341_1275600007.84296")
-.annotate 'line', 562
-    .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 ", "codeblock")
-    .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', 599
+.sub "codeblock"  :subid("360_1275811487.95429") :method :outer("341_1275811487.95429")
+.annotate 'line', 563
+    .local string rx1398_tgt
+    .local int rx1398_pos
+    .local int rx1398_off
+    .local int rx1398_eos
+    .local int rx1398_rep
+    .local pmc rx1398_cur
+    (rx1398_cur, rx1398_pos, rx1398_tgt) = self."!cursor_start"()
+    rx1398_cur."!cursor_debug"("START ", "codeblock")
+    .lex unicode:"$\x{a2}", rx1398_cur
+    .local pmc match
+    .lex "$/", match
+    length rx1398_eos, rx1398_tgt
+    gt rx1398_pos, rx1398_eos, rx1398_done
+    set rx1398_off, 0
+    lt rx1398_pos, 2, rx1398_start
+    sub rx1398_off, rx1398_pos, 1
+    substr rx1398_tgt, rx1398_tgt, rx1398_off
+  rx1398_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan1402_done
+    goto rxscan1402_scan
+  rxscan1402_loop:
+    ($P10) = rx1398_cur."from"()
+    inc $P10
+    set rx1398_pos, $P10
+    ge rx1398_pos, rx1398_eos, rxscan1402_done
+  rxscan1402_scan:
+    set_addr $I10, rxscan1402_loop
+    rx1398_cur."!mark_push"(0, rx1398_pos, $I10)
+  rxscan1402_done:
+.annotate 'line', 600
   # rx subrule "LANG" subtype=capture negate=
-    rx1382_cur."!cursor_pos"(rx1382_pos)
-    $P10 = rx1382_cur."LANG"("MAIN", "pblock")
-    unless $P10, rx1382_fail
-    rx1382_cur."!mark_push"(0, -1, 0, $P10)
+    rx1398_cur."!cursor_pos"(rx1398_pos)
+    $P10 = rx1398_cur."LANG"("MAIN", "pblock")
+    unless $P10, rx1398_fail
+    rx1398_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("block")
-    rx1382_pos = $P10."pos"()
-.annotate 'line', 598
+    rx1398_pos = $P10."pos"()
+.annotate 'line', 599
   # rx pass
-    rx1382_cur."!cursor_pass"(rx1382_pos, "codeblock")
-    rx1382_cur."!cursor_debug"("PASS  ", "codeblock", " at pos=", rx1382_pos)
-    .return (rx1382_cur)
-  rx1382_fail:
-.annotate 'line', 562
-    (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  ", "codeblock")
-    .return (rx1382_cur)
+    rx1398_cur."!cursor_pass"(rx1398_pos, "codeblock")
+    rx1398_cur."!cursor_debug"("PASS  ", "codeblock", " at pos=", rx1398_pos)
+    .return (rx1398_cur)
+  rx1398_fail:
+.annotate 'line', 563
+    (rx1398_rep, rx1398_pos, $I10, $P10) = rx1398_cur."!mark_fail"(0)
+    lt rx1398_pos, -1, rx1398_done
+    eq rx1398_pos, -1, rx1398_fail
+    jump $I10
+  rx1398_done:
+    rx1398_cur."!cursor_fail"()
+    rx1398_cur."!cursor_debug"("FAIL  ", "codeblock")
+    .return (rx1398_cur)
     .return ()
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__codeblock"  :subid("361_1275600007.84296") :method
-.annotate 'line', 562
-    $P1384 = self."!PREFIX__!subrule"("block", "")
-    new $P1385, "ResizablePMCArray"
-    push $P1385, $P1384
-    .return ($P1385)
+.sub "!PREFIX__codeblock"  :subid("361_1275811487.95429") :method
+.annotate 'line', 563
+    $P1400 = self."!PREFIX__!subrule"("LANG", "")
+    new $P1401, "ResizablePMCArray"
+    push $P1401, $P1400
+    .return ($P1401)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block1388" :load :anon :subid("362_1275600007.84296")
+.sub "_block1404" :load :anon :subid("362_1275811487.95429")
 .annotate 'line', 4
-    .const 'Sub' $P1390 = "11_1275600007.84296" 
-    $P1391 = $P1390()
-    .return ($P1391)
+    .const 'Sub' $P1406 = "11_1275811487.95429" 
+    $P1407 = $P1406()
+    .return ($P1407)
 .end
 
 
 .namespace []
-.sub "_block1409" :load :anon :subid("363_1275600007.84296")
+.sub "_block1425" :load :anon :subid("363_1275811487.95429")
 .annotate 'line', 1
-    .const 'Sub' $P1411 = "10_1275600007.84296" 
-    $P1412 = $P1411()
-    .return ($P1412)
+    .const 'Sub' $P1427 = "10_1275811487.95429" 
+    $P1428 = $P1427()
+    .return ($P1428)
 .end
 
 ### .include 'gen/nqp-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1275600017.58296")
+.sub "_block11"  :anon :subid("10_1275811497.55064")
 .annotate 'line', 0
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     capture_lex $P14
@@ -17432,15 +17450,15 @@
     $P2424 = $P14()
 .annotate 'line', 1
     .return ($P2424)
-    .const 'Sub' $P2426 = "143_1275600017.58296" 
+    .const 'Sub' $P2426 = "143_1275811497.55064" 
     .return ($P2426)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post144") :outer("10_1275600017.58296")
+.sub "" :load :init :subid("post144") :outer("10_1275811497.55064")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1275600017.58296" 
+    .const 'Sub' $P12 = "10_1275811497.55064" 
     .local pmc block
     set block, $P12
     $P2429 = get_root_global ["parrot"], "P6metaclass"
@@ -17449,217 +17467,217 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block13"  :subid("11_1275600017.58296") :outer("10_1275600017.58296")
+.sub "_block13"  :subid("11_1275811497.55064") :outer("10_1275811497.55064")
 .annotate 'line', 3
-    .const 'Sub' $P2420 = "142_1275600017.58296" 
+    .const 'Sub' $P2420 = "142_1275811497.55064" 
     capture_lex $P2420
-    get_hll_global $P2304, ["NQP";"RegexActions"], "_block2303" 
-    capture_lex $P2304
-    .const 'Sub' $P2293 = "132_1275600017.58296" 
-    capture_lex $P2293
-    .const 'Sub' $P2286 = "131_1275600017.58296" 
-    capture_lex $P2286
-    .const 'Sub' $P2279 = "130_1275600017.58296" 
-    capture_lex $P2279
-    .const 'Sub' $P2272 = "129_1275600017.58296" 
-    capture_lex $P2272
-    .const 'Sub' $P2259 = "128_1275600017.58296" 
-    capture_lex $P2259
-    .const 'Sub' $P2249 = "127_1275600017.58296" 
-    capture_lex $P2249
-    .const 'Sub' $P2239 = "126_1275600017.58296" 
-    capture_lex $P2239
-    .const 'Sub' $P2229 = "125_1275600017.58296" 
-    capture_lex $P2229
-    .const 'Sub' $P2222 = "124_1275600017.58296" 
-    capture_lex $P2222
-    .const 'Sub' $P2208 = "123_1275600017.58296" 
-    capture_lex $P2208
-    .const 'Sub' $P2198 = "122_1275600017.58296" 
-    capture_lex $P2198
-    .const 'Sub' $P2161 = "121_1275600017.58296" 
-    capture_lex $P2161
-    .const 'Sub' $P2147 = "120_1275600017.58296" 
-    capture_lex $P2147
-    .const 'Sub' $P2137 = "119_1275600017.58296" 
-    capture_lex $P2137
-    .const 'Sub' $P2127 = "118_1275600017.58296" 
-    capture_lex $P2127
-    .const 'Sub' $P2117 = "117_1275600017.58296" 
-    capture_lex $P2117
-    .const 'Sub' $P2107 = "116_1275600017.58296" 
-    capture_lex $P2107
-    .const 'Sub' $P2097 = "115_1275600017.58296" 
-    capture_lex $P2097
-    .const 'Sub' $P2069 = "114_1275600017.58296" 
-    capture_lex $P2069
-    .const 'Sub' $P2052 = "113_1275600017.58296" 
-    capture_lex $P2052
-    .const 'Sub' $P2042 = "112_1275600017.58296" 
-    capture_lex $P2042
-    .const 'Sub' $P2029 = "111_1275600017.58296" 
-    capture_lex $P2029
-    .const 'Sub' $P2016 = "110_1275600017.58296" 
-    capture_lex $P2016
-    .const 'Sub' $P2003 = "109_1275600017.58296" 
-    capture_lex $P2003
-    .const 'Sub' $P1993 = "108_1275600017.58296" 
-    capture_lex $P1993
-    .const 'Sub' $P1964 = "107_1275600017.58296" 
-    capture_lex $P1964
-    .const 'Sub' $P1940 = "106_1275600017.58296" 
-    capture_lex $P1940
-    .const 'Sub' $P1930 = "105_1275600017.58296" 
-    capture_lex $P1930
-    .const 'Sub' $P1920 = "104_1275600017.58296" 
-    capture_lex $P1920
-    .const 'Sub' $P1893 = "103_1275600017.58296" 
-    capture_lex $P1893
-    .const 'Sub' $P1875 = "102_1275600017.58296" 
-    capture_lex $P1875
-    .const 'Sub' $P1865 = "101_1275600017.58296" 
-    capture_lex $P1865
-    .const 'Sub' $P1761 = "98_1275600017.58296" 
-    capture_lex $P1761
-    .const 'Sub' $P1751 = "97_1275600017.58296" 
-    capture_lex $P1751
-    .const 'Sub' $P1722 = "96_1275600017.58296" 
-    capture_lex $P1722
-    .const 'Sub' $P1680 = "95_1275600017.58296" 
-    capture_lex $P1680
-    .const 'Sub' $P1664 = "94_1275600017.58296" 
-    capture_lex $P1664
-    .const 'Sub' $P1655 = "93_1275600017.58296" 
-    capture_lex $P1655
-    .const 'Sub' $P1623 = "92_1275600017.58296" 
-    capture_lex $P1623
-    .const 'Sub' $P1524 = "89_1275600017.58296" 
-    capture_lex $P1524
-    .const 'Sub' $P1507 = "88_1275600017.58296" 
-    capture_lex $P1507
-    .const 'Sub' $P1487 = "87_1275600017.58296" 
-    capture_lex $P1487
-    .const 'Sub' $P1375 = "84_1275600017.58296" 
-    capture_lex $P1375
-    .const 'Sub' $P1318 = "80_1275600017.58296" 
-    capture_lex $P1318
-    .const 'Sub' $P1278 = "78_1275600017.58296" 
-    capture_lex $P1278
-    .const 'Sub' $P1228 = "76_1275600017.58296" 
-    capture_lex $P1228
-    .const 'Sub' $P1218 = "75_1275600017.58296" 
-    capture_lex $P1218
-    .const 'Sub' $P1208 = "74_1275600017.58296" 
-    capture_lex $P1208
-    .const 'Sub' $P1137 = "72_1275600017.58296" 
-    capture_lex $P1137
-    .const 'Sub' $P1127 = "71_1275600017.58296" 
-    capture_lex $P1127
-    .const 'Sub' $P1110 = "70_1275600017.58296" 
-    capture_lex $P1110
-    .const 'Sub' $P1093 = "69_1275600017.58296" 
-    capture_lex $P1093
-    .const 'Sub' $P1076 = "68_1275600017.58296" 
-    capture_lex $P1076
-    .const 'Sub' $P1066 = "67_1275600017.58296" 
-    capture_lex $P1066
-    .const 'Sub' $P1056 = "66_1275600017.58296" 
-    capture_lex $P1056
-    .const 'Sub' $P1046 = "65_1275600017.58296" 
-    capture_lex $P1046
-    .const 'Sub' $P1022 = "64_1275600017.58296" 
-    capture_lex $P1022
-    .const 'Sub' $P969 = "63_1275600017.58296" 
-    capture_lex $P969
-    .const 'Sub' $P959 = "62_1275600017.58296" 
-    capture_lex $P959
-    .const 'Sub' $P870 = "60_1275600017.58296" 
-    capture_lex $P870
-    .const 'Sub' $P844 = "59_1275600017.58296" 
-    capture_lex $P844
-    .const 'Sub' $P828 = "58_1275600017.58296" 
-    capture_lex $P828
-    .const 'Sub' $P818 = "57_1275600017.58296" 
-    capture_lex $P818
-    .const 'Sub' $P808 = "56_1275600017.58296" 
-    capture_lex $P808
-    .const 'Sub' $P798 = "55_1275600017.58296" 
-    capture_lex $P798
-    .const 'Sub' $P788 = "54_1275600017.58296" 
-    capture_lex $P788
-    .const 'Sub' $P778 = "53_1275600017.58296" 
-    capture_lex $P778
-    .const 'Sub' $P768 = "52_1275600017.58296" 
-    capture_lex $P768
-    .const 'Sub' $P758 = "51_1275600017.58296" 
-    capture_lex $P758
-    .const 'Sub' $P748 = "50_1275600017.58296" 
-    capture_lex $P748
-    .const 'Sub' $P738 = "49_1275600017.58296" 
-    capture_lex $P738
-    .const 'Sub' $P728 = "48_1275600017.58296" 
-    capture_lex $P728
-    .const 'Sub' $P718 = "47_1275600017.58296" 
-    capture_lex $P718
-    .const 'Sub' $P708 = "46_1275600017.58296" 
-    capture_lex $P708
-    .const 'Sub' $P698 = "45_1275600017.58296" 
-    capture_lex $P698
-    .const 'Sub' $P680 = "44_1275600017.58296" 
-    capture_lex $P680
-    .const 'Sub' $P645 = "43_1275600017.58296" 
-    capture_lex $P645
-    .const 'Sub' $P629 = "42_1275600017.58296" 
-    capture_lex $P629
-    .const 'Sub' $P608 = "41_1275600017.58296" 
-    capture_lex $P608
-    .const 'Sub' $P588 = "40_1275600017.58296" 
-    capture_lex $P588
-    .const 'Sub' $P575 = "39_1275600017.58296" 
-    capture_lex $P575
-    .const 'Sub' $P549 = "38_1275600017.58296" 
-    capture_lex $P549
-    .const 'Sub' $P513 = "37_1275600017.58296" 
-    capture_lex $P513
-    .const 'Sub' $P496 = "36_1275600017.58296" 
-    capture_lex $P496
-    .const 'Sub' $P482 = "35_1275600017.58296" 
-    capture_lex $P482
-    .const 'Sub' $P429 = "33_1275600017.58296" 
-    capture_lex $P429
-    .const 'Sub' $P418 = "32_1275600017.58296" 
-    capture_lex $P418
-    .const 'Sub' $P405 = "31_1275600017.58296" 
-    capture_lex $P405
-    .const 'Sub' $P385 = "30_1275600017.58296" 
-    capture_lex $P385
-    .const 'Sub' $P375 = "29_1275600017.58296" 
-    capture_lex $P375
-    .const 'Sub' $P365 = "28_1275600017.58296" 
-    capture_lex $P365
-    .const 'Sub' $P349 = "27_1275600017.58296" 
-    capture_lex $P349
-    .const 'Sub' $P289 = "25_1275600017.58296" 
-    capture_lex $P289
-    .const 'Sub' $P246 = "23_1275600017.58296" 
-    capture_lex $P246
-    .const 'Sub' $P214 = "22_1275600017.58296" 
-    capture_lex $P214
-    .const 'Sub' $P181 = "21_1275600017.58296" 
-    capture_lex $P181
-    .const 'Sub' $P171 = "20_1275600017.58296" 
-    capture_lex $P171
-    .const 'Sub' $P151 = "19_1275600017.58296" 
+    get_hll_global $P2303, ["NQP";"RegexActions"], "_block2302" 
+    capture_lex $P2303
+    .const 'Sub' $P2292 = "132_1275811497.55064" 
+    capture_lex $P2292
+    .const 'Sub' $P2285 = "131_1275811497.55064" 
+    capture_lex $P2285
+    .const 'Sub' $P2278 = "130_1275811497.55064" 
+    capture_lex $P2278
+    .const 'Sub' $P2271 = "129_1275811497.55064" 
+    capture_lex $P2271
+    .const 'Sub' $P2258 = "128_1275811497.55064" 
+    capture_lex $P2258
+    .const 'Sub' $P2248 = "127_1275811497.55064" 
+    capture_lex $P2248
+    .const 'Sub' $P2238 = "126_1275811497.55064" 
+    capture_lex $P2238
+    .const 'Sub' $P2228 = "125_1275811497.55064" 
+    capture_lex $P2228
+    .const 'Sub' $P2221 = "124_1275811497.55064" 
+    capture_lex $P2221
+    .const 'Sub' $P2207 = "123_1275811497.55064" 
+    capture_lex $P2207
+    .const 'Sub' $P2197 = "122_1275811497.55064" 
+    capture_lex $P2197
+    .const 'Sub' $P2160 = "121_1275811497.55064" 
+    capture_lex $P2160
+    .const 'Sub' $P2146 = "120_1275811497.55064" 
+    capture_lex $P2146
+    .const 'Sub' $P2136 = "119_1275811497.55064" 
+    capture_lex $P2136
+    .const 'Sub' $P2126 = "118_1275811497.55064" 
+    capture_lex $P2126
+    .const 'Sub' $P2116 = "117_1275811497.55064" 
+    capture_lex $P2116
+    .const 'Sub' $P2106 = "116_1275811497.55064" 
+    capture_lex $P2106
+    .const 'Sub' $P2096 = "115_1275811497.55064" 
+    capture_lex $P2096
+    .const 'Sub' $P2068 = "114_1275811497.55064" 
+    capture_lex $P2068
+    .const 'Sub' $P2051 = "113_1275811497.55064" 
+    capture_lex $P2051
+    .const 'Sub' $P2041 = "112_1275811497.55064" 
+    capture_lex $P2041
+    .const 'Sub' $P2028 = "111_1275811497.55064" 
+    capture_lex $P2028
+    .const 'Sub' $P2015 = "110_1275811497.55064" 
+    capture_lex $P2015
+    .const 'Sub' $P2002 = "109_1275811497.55064" 
+    capture_lex $P2002
+    .const 'Sub' $P1992 = "108_1275811497.55064" 
+    capture_lex $P1992
+    .const 'Sub' $P1963 = "107_1275811497.55064" 
+    capture_lex $P1963
+    .const 'Sub' $P1939 = "106_1275811497.55064" 
+    capture_lex $P1939
+    .const 'Sub' $P1929 = "105_1275811497.55064" 
+    capture_lex $P1929
+    .const 'Sub' $P1919 = "104_1275811497.55064" 
+    capture_lex $P1919
+    .const 'Sub' $P1892 = "103_1275811497.55064" 
+    capture_lex $P1892
+    .const 'Sub' $P1874 = "102_1275811497.55064" 
+    capture_lex $P1874
+    .const 'Sub' $P1864 = "101_1275811497.55064" 
+    capture_lex $P1864
+    .const 'Sub' $P1760 = "98_1275811497.55064" 
+    capture_lex $P1760
+    .const 'Sub' $P1750 = "97_1275811497.55064" 
+    capture_lex $P1750
+    .const 'Sub' $P1721 = "96_1275811497.55064" 
+    capture_lex $P1721
+    .const 'Sub' $P1679 = "95_1275811497.55064" 
+    capture_lex $P1679
+    .const 'Sub' $P1663 = "94_1275811497.55064" 
+    capture_lex $P1663
+    .const 'Sub' $P1654 = "93_1275811497.55064" 
+    capture_lex $P1654
+    .const 'Sub' $P1622 = "92_1275811497.55064" 
+    capture_lex $P1622
+    .const 'Sub' $P1523 = "89_1275811497.55064" 
+    capture_lex $P1523
+    .const 'Sub' $P1506 = "88_1275811497.55064" 
+    capture_lex $P1506
+    .const 'Sub' $P1486 = "87_1275811497.55064" 
+    capture_lex $P1486
+    .const 'Sub' $P1374 = "84_1275811497.55064" 
+    capture_lex $P1374
+    .const 'Sub' $P1317 = "80_1275811497.55064" 
+    capture_lex $P1317
+    .const 'Sub' $P1277 = "78_1275811497.55064" 
+    capture_lex $P1277
+    .const 'Sub' $P1227 = "76_1275811497.55064" 
+    capture_lex $P1227
+    .const 'Sub' $P1217 = "75_1275811497.55064" 
+    capture_lex $P1217
+    .const 'Sub' $P1207 = "74_1275811497.55064" 
+    capture_lex $P1207
+    .const 'Sub' $P1136 = "72_1275811497.55064" 
+    capture_lex $P1136
+    .const 'Sub' $P1126 = "71_1275811497.55064" 
+    capture_lex $P1126
+    .const 'Sub' $P1109 = "70_1275811497.55064" 
+    capture_lex $P1109
+    .const 'Sub' $P1092 = "69_1275811497.55064" 
+    capture_lex $P1092
+    .const 'Sub' $P1075 = "68_1275811497.55064" 
+    capture_lex $P1075
+    .const 'Sub' $P1065 = "67_1275811497.55064" 
+    capture_lex $P1065
+    .const 'Sub' $P1055 = "66_1275811497.55064" 
+    capture_lex $P1055
+    .const 'Sub' $P1045 = "65_1275811497.55064" 
+    capture_lex $P1045
+    .const 'Sub' $P1021 = "64_1275811497.55064" 
+    capture_lex $P1021
+    .const 'Sub' $P968 = "63_1275811497.55064" 
+    capture_lex $P968
+    .const 'Sub' $P958 = "62_1275811497.55064" 
+    capture_lex $P958
+    .const 'Sub' $P869 = "60_1275811497.55064" 
+    capture_lex $P869
+    .const 'Sub' $P843 = "59_1275811497.55064" 
+    capture_lex $P843
+    .const 'Sub' $P827 = "58_1275811497.55064" 
+    capture_lex $P827
+    .const 'Sub' $P817 = "57_1275811497.55064" 
+    capture_lex $P817
+    .const 'Sub' $P807 = "56_1275811497.55064" 
+    capture_lex $P807
+    .const 'Sub' $P797 = "55_1275811497.55064" 
+    capture_lex $P797
+    .const 'Sub' $P787 = "54_1275811497.55064" 
+    capture_lex $P787
+    .const 'Sub' $P777 = "53_1275811497.55064" 
+    capture_lex $P777
+    .const 'Sub' $P767 = "52_1275811497.55064" 
+    capture_lex $P767
+    .const 'Sub' $P757 = "51_1275811497.55064" 
+    capture_lex $P757
+    .const 'Sub' $P747 = "50_1275811497.55064" 
+    capture_lex $P747
+    .const 'Sub' $P737 = "49_1275811497.55064" 
+    capture_lex $P737
+    .const 'Sub' $P727 = "48_1275811497.55064" 
+    capture_lex $P727
+    .const 'Sub' $P717 = "47_1275811497.55064" 
+    capture_lex $P717
+    .const 'Sub' $P707 = "46_1275811497.55064" 
+    capture_lex $P707
+    .const 'Sub' $P697 = "45_1275811497.55064" 
+    capture_lex $P697
+    .const 'Sub' $P679 = "44_1275811497.55064" 
+    capture_lex $P679
+    .const 'Sub' $P644 = "43_1275811497.55064" 
+    capture_lex $P644
+    .const 'Sub' $P628 = "42_1275811497.55064" 
+    capture_lex $P628
+    .const 'Sub' $P607 = "41_1275811497.55064" 
+    capture_lex $P607
+    .const 'Sub' $P587 = "40_1275811497.55064" 
+    capture_lex $P587
+    .const 'Sub' $P574 = "39_1275811497.55064" 
+    capture_lex $P574
+    .const 'Sub' $P548 = "38_1275811497.55064" 
+    capture_lex $P548
+    .const 'Sub' $P512 = "37_1275811497.55064" 
+    capture_lex $P512
+    .const 'Sub' $P495 = "36_1275811497.55064" 
+    capture_lex $P495
+    .const 'Sub' $P481 = "35_1275811497.55064" 
+    capture_lex $P481
+    .const 'Sub' $P428 = "33_1275811497.55064" 
+    capture_lex $P428
+    .const 'Sub' $P417 = "32_1275811497.55064" 
+    capture_lex $P417
+    .const 'Sub' $P404 = "31_1275811497.55064" 
+    capture_lex $P404
+    .const 'Sub' $P384 = "30_1275811497.55064" 
+    capture_lex $P384
+    .const 'Sub' $P374 = "29_1275811497.55064" 
+    capture_lex $P374
+    .const 'Sub' $P364 = "28_1275811497.55064" 
+    capture_lex $P364
+    .const 'Sub' $P348 = "27_1275811497.55064" 
+    capture_lex $P348
+    .const 'Sub' $P288 = "25_1275811497.55064" 
+    capture_lex $P288
+    .const 'Sub' $P245 = "23_1275811497.55064" 
+    capture_lex $P245
+    .const 'Sub' $P213 = "22_1275811497.55064" 
+    capture_lex $P213
+    .const 'Sub' $P180 = "21_1275811497.55064" 
+    capture_lex $P180
+    .const 'Sub' $P170 = "20_1275811497.55064" 
+    capture_lex $P170
+    .const 'Sub' $P151 = "19_1275811497.55064" 
     capture_lex $P151
-    .const 'Sub' $P100 = "18_1275600017.58296" 
+    .const 'Sub' $P100 = "18_1275811497.55064" 
     capture_lex $P100
-    .const 'Sub' $P84 = "17_1275600017.58296" 
+    .const 'Sub' $P84 = "17_1275811497.55064" 
     capture_lex $P84
-    .const 'Sub' $P63 = "16_1275600017.58296" 
+    .const 'Sub' $P63 = "16_1275811497.55064" 
     capture_lex $P63
-    .const 'Sub' $P27 = "13_1275600017.58296" 
+    .const 'Sub' $P27 = "13_1275811497.55064" 
     capture_lex $P27
-    .const 'Sub' $P16 = "12_1275600017.58296" 
+    .const 'Sub' $P16 = "12_1275811497.55064" 
     capture_lex $P16
     get_global $P15, "@BLOCK"
     unless_null $P15, vivify_147
@@ -17667,29 +17685,29 @@
     set_global "@BLOCK", $P15
   vivify_147:
 .annotate 'line', 9
-    .const 'Sub' $P16 = "12_1275600017.58296" 
+    .const 'Sub' $P16 = "12_1275811497.55064" 
     newclosure $P26, $P16
     .lex "xblock_immediate", $P26
 .annotate 'line', 14
-    .const 'Sub' $P27 = "13_1275600017.58296" 
+    .const 'Sub' $P27 = "13_1275811497.55064" 
     newclosure $P62, $P27
     .lex "block_immediate", $P62
 .annotate 'line', 24
-    .const 'Sub' $P63 = "16_1275600017.58296" 
+    .const 'Sub' $P63 = "16_1275811497.55064" 
     newclosure $P83, $P63
     .lex "vivitype", $P83
 .annotate 'line', 43
-    .const 'Sub' $P84 = "17_1275600017.58296" 
+    .const 'Sub' $P84 = "17_1275811497.55064" 
     newclosure $P99, $P84
     .lex "colonpair_str", $P99
 .annotate 'line', 213
-    .const 'Sub' $P100 = "18_1275600017.58296" 
+    .const 'Sub' $P100 = "18_1275811497.55064" 
     newclosure $P150, $P100
     .lex "push_block_handler", $P150
 .annotate 'line', 822
-    .const 'Sub' $P151 = "19_1275600017.58296" 
-    newclosure $P166, $P151
-    .lex "control", $P166
+    .const 'Sub' $P151 = "19_1275811497.55064" 
+    newclosure $P165, $P151
+    .lex "control", $P165
 .annotate 'line', 3
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -17697,36 +17715,36 @@
     unless $I0 goto ctxsave_done
     $P0."ctxsave"()
   ctxsave_done:
-    get_global $P167, "@BLOCK"
+    get_global $P166, "@BLOCK"
 .annotate 'line', 5
-    find_lex $P168, "xblock_immediate"
-    find_lex $P169, "block_immediate"
-    find_lex $P170, "vivitype"
+    find_lex $P167, "xblock_immediate"
+    find_lex $P168, "block_immediate"
+    find_lex $P169, "vivitype"
 .annotate 'line', 35
-    find_lex $P213, "colonpair_str"
+    find_lex $P212, "colonpair_str"
 .annotate 'line', 206
-    find_lex $P628, "push_block_handler"
+    find_lex $P627, "push_block_handler"
 .annotate 'line', 813
-    find_lex $P2271, "control"
-.annotate 'line', 844
-    get_hll_global $P2304, ["NQP";"RegexActions"], "_block2303" 
-    capture_lex $P2304
-    $P2414 = $P2304()
+    find_lex $P2270, "control"
+.annotate 'line', 840
+    get_hll_global $P2303, ["NQP";"RegexActions"], "_block2302" 
+    capture_lex $P2303
+    $P2414 = $P2303()
 .annotate 'line', 3
     .return ($P2414)
-    .const 'Sub' $P2416 = "141_1275600017.58296" 
+    .const 'Sub' $P2416 = "141_1275811497.55064" 
     .return ($P2416)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "" :load :init :subid("post145") :outer("11_1275600017.58296")
+.sub "" :load :init :subid("post145") :outer("11_1275811497.55064")
 .annotate 'line', 3
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     .local pmc block
     set block, $P14
 .annotate 'line', 5
-    .const 'Sub' $P2420 = "142_1275600017.58296" 
+    .const 'Sub' $P2420 = "142_1275811497.55064" 
     capture_lex $P2420
     $P2420()
     $P2423 = get_root_global ["parrot"], "P6metaclass"
@@ -17735,7 +17753,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block2419"  :anon :subid("142_1275600017.58296") :outer("11_1275600017.58296")
+.sub "_block2419"  :anon :subid("142_1275811497.55064") :outer("11_1275811497.55064")
 .annotate 'line', 6
     get_global $P2421, "@BLOCK"
     unless_null $P2421, vivify_146
@@ -17750,12 +17768,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "xblock_immediate"  :subid("12_1275600017.58296") :outer("11_1275600017.58296")
+.include "except_types.pasm"
+.sub "xblock_immediate"  :subid("12_1275811497.55064") :outer("11_1275811497.55064")
     .param pmc param_19
 .annotate 'line', 9
     new $P18, 'ExceptionHandler'
     set_addr $P18, control_17
-    $P18."handle_types"(57)
+    $P18."handle_types"(.CONTROL_RETURN)
     push_eh $P18
     .lex "$xblock", param_19
 .annotate 'line', 10
@@ -17786,14 +17805,15 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "block_immediate"  :subid("13_1275600017.58296") :outer("11_1275600017.58296")
+.include "except_types.pasm"
+.sub "block_immediate"  :subid("13_1275811497.55064") :outer("11_1275811497.55064")
     .param pmc param_30
 .annotate 'line', 14
-    .const 'Sub' $P40 = "14_1275600017.58296" 
+    .const 'Sub' $P40 = "14_1275811497.55064" 
     capture_lex $P40
     new $P29, 'ExceptionHandler'
     set_addr $P29, control_28
-    $P29."handle_types"(57)
+    $P29."handle_types"(.CONTROL_RETURN)
     push_eh $P29
     .lex "$block", param_30
 .annotate 'line', 15
@@ -17811,7 +17831,7 @@
     set $P33, $P38
   unless_34_end:
     if $P33, unless_32_end
-    .const 'Sub' $P40 = "14_1275600017.58296" 
+    .const 'Sub' $P40 = "14_1275811497.55064" 
     capture_lex $P40
     $P40()
   unless_32_end:
@@ -17827,9 +17847,10 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block39"  :anon :subid("14_1275600017.58296") :outer("13_1275600017.58296")
+.include "except_types.pasm"
+.sub "_block39"  :anon :subid("14_1275811497.55064") :outer("13_1275811497.55064")
 .annotate 'line', 16
-    .const 'Sub' $P51 = "15_1275600017.58296" 
+    .const 'Sub' $P51 = "15_1275811497.55064" 
     capture_lex $P51
 .annotate 'line', 17
     new $P41, "Undef"
@@ -17846,13 +17867,13 @@
     iter $P45, $P47
     new $P57, 'ExceptionHandler'
     set_addr $P57, loop56_handler
-    $P57."handle_types"(64, 66, 65)
+    $P57."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P57
   loop56_test:
     unless $P45, loop56_done
     shift $P49, $P45
   loop56_redo:
-    .const 'Sub' $P51 = "15_1275600017.58296" 
+    .const 'Sub' $P51 = "15_1275811497.55064" 
     capture_lex $P51
     $P51($P49)
   loop56_next:
@@ -17861,8 +17882,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P58, exception, 'type'
-    eq $P58, 64, loop56_next
-    eq $P58, 66, loop56_redo
+    eq $P58, .CONTROL_LOOP_NEXT, loop56_next
+    eq $P58, .CONTROL_LOOP_REDO, loop56_redo
   loop56_done:
     pop_eh 
   for_undef_151:
@@ -17875,7 +17896,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block50"  :anon :subid("15_1275600017.58296") :outer("14_1275600017.58296")
+.sub "_block50"  :anon :subid("15_1275811497.55064") :outer("14_1275811497.55064")
     .param pmc param_52
 .annotate 'line', 18
     .lex "$_", param_52
@@ -17887,12 +17908,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "vivitype"  :subid("16_1275600017.58296") :outer("11_1275600017.58296")
+.include "except_types.pasm"
+.sub "vivitype"  :subid("16_1275811497.55064") :outer("11_1275811497.55064")
     .param pmc param_66
 .annotate 'line', 24
     new $P65, 'ExceptionHandler'
     set_addr $P65, control_64
-    $P65."handle_types"(57)
+    $P65."handle_types"(.CONTROL_RETURN)
     push_eh $P65
     .lex "$sigil", param_66
 .annotate 'line', 25
@@ -17935,12 +17957,13 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "colonpair_str"  :subid("17_1275600017.58296") :outer("11_1275600017.58296")
+.include "except_types.pasm"
+.sub "colonpair_str"  :subid("17_1275811497.55064") :outer("11_1275811497.55064")
     .param pmc param_87
 .annotate 'line', 43
     new $P86, 'ExceptionHandler'
     set_addr $P86, control_85
-    $P86."handle_types"(57)
+    $P86."handle_types"(.CONTROL_RETURN)
     push_eh $P86
     .lex "$ast", param_87
 .annotate 'line', 44
@@ -17973,13 +17996,14 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "push_block_handler"  :subid("18_1275600017.58296") :outer("11_1275600017.58296")
+.include "except_types.pasm"
+.sub "push_block_handler"  :subid("18_1275811497.55064") :outer("11_1275811497.55064")
     .param pmc param_103
     .param pmc param_104
 .annotate 'line', 213
     new $P102, 'ExceptionHandler'
     set_addr $P102, control_101
-    $P102."handle_types"(57)
+    $P102."handle_types"(.CONTROL_RETURN)
     push_eh $P102
     .lex "$/", param_103
     .lex "$block", param_104
@@ -18090,6327 +18114,6425 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "control"  :subid("19_1275600017.58296") :outer("11_1275600017.58296")
+.include "except_types.pasm"
+.sub "control"  :subid("19_1275811497.55064") :outer("11_1275811497.55064")
     .param pmc param_154
     .param pmc param_155
 .annotate 'line', 822
     new $P153, 'ExceptionHandler'
     set_addr $P153, control_152
-    $P153."handle_types"(57)
+    $P153."handle_types"(.CONTROL_RETURN)
     push_eh $P153
     .lex "$/", param_154
-    .lex "$id", param_155
+    .lex "$type", param_155
 .annotate 'line', 823
     find_lex $P156, "$/"
     get_hll_global $P157, ["PAST"], "Op"
     find_lex $P158, "$/"
-.annotate 'line', 829
-    new $P159, "String"
-    assign $P159, "    %r[\"type\"] = "
-    find_lex $P160, "$id"
-    concat $P161, $P159, $P160
-    new $P162, "ResizablePMCArray"
-    push $P162, ".include \"except_types.pasm\""
-    push $P162, "    %r = new \"Exception\""
-    push $P162, $P161
-    push $P162, "    throw %r"
-    $P163 = $P157."new"($P158 :named("node"), "inline" :named("pasttype"), $P162 :named("inline"))
+.annotate 'line', 827
+    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
-    $P164 = $P156."!make"($P163)
+    $P163 = $P156."!make"($P162)
 .annotate 'line', 822
-    .return ($P164)
+    .return ($P163)
   control_152:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P165, exception, "payload"
-    .return ($P165)
+    getattribute $P164, exception, "payload"
+    .return ($P164)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "TOP"  :subid("20_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_174
+.include "except_types.pasm"
+.sub "TOP"  :subid("20_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_173
 .annotate 'line', 33
-    new $P173, 'ExceptionHandler'
-    set_addr $P173, control_172
-    $P173."handle_types"(57)
-    push_eh $P173
+    new $P172, 'ExceptionHandler'
+    set_addr $P172, control_171
+    $P172."handle_types"(.CONTROL_RETURN)
+    push_eh $P172
     .lex "self", self
-    .lex "$/", param_174
+    .lex "$/", param_173
+    find_lex $P174, "$/"
     find_lex $P175, "$/"
-    find_lex $P176, "$/"
-    unless_null $P176, vivify_158
-    $P176 = root_new ['parrot';'Hash']
+    unless_null $P175, vivify_158
+    $P175 = root_new ['parrot';'Hash']
   vivify_158:
-    set $P177, $P176["comp_unit"]
-    unless_null $P177, vivify_159
-    new $P177, "Undef"
+    set $P176, $P175["comp_unit"]
+    unless_null $P176, vivify_159
+    new $P176, "Undef"
   vivify_159:
-    $P178 = $P177."ast"()
-    $P179 = $P175."!make"($P178)
-    .return ($P179)
-  control_172:
+    $P177 = $P176."ast"()
+    $P178 = $P174."!make"($P177)
+    .return ($P178)
+  control_171:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P180, exception, "payload"
-    .return ($P180)
+    getattribute $P179, exception, "payload"
+    .return ($P179)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "deflongname"  :subid("21_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_184
+.include "except_types.pasm"
+.sub "deflongname"  :subid("21_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_183
 .annotate 'line', 35
-    new $P183, 'ExceptionHandler'
-    set_addr $P183, control_182
-    $P183."handle_types"(57)
-    push_eh $P183
+    new $P182, 'ExceptionHandler'
+    set_addr $P182, control_181
+    $P182."handle_types"(.CONTROL_RETURN)
+    push_eh $P182
     .lex "self", self
-    .lex "$/", param_184
+    .lex "$/", param_183
 .annotate 'line', 36
-    find_lex $P185, "$/"
+    find_lex $P184, "$/"
 .annotate 'line', 37
-    find_lex $P188, "$/"
-    unless_null $P188, vivify_160
-    $P188 = root_new ['parrot';'Hash']
+    find_lex $P187, "$/"
+    unless_null $P187, vivify_160
+    $P187 = root_new ['parrot';'Hash']
   vivify_160:
-    set $P189, $P188["colonpair"]
-    unless_null $P189, vivify_161
-    new $P189, "Undef"
+    set $P188, $P187["colonpair"]
+    unless_null $P188, vivify_161
+    new $P188, "Undef"
   vivify_161:
-    if $P189, if_187
+    if $P188, if_186
 .annotate 'line', 39
-    find_lex $P209, "$/"
-    set $S210, $P209
-    new $P186, 'String'
-    set $P186, $S210
+    find_lex $P208, "$/"
+    set $S209, $P208
+    new $P185, 'String'
+    set $P185, $S209
 .annotate 'line', 37
-    goto if_187_end
-  if_187:
-    find_lex $P190, "$/"
-    unless_null $P190, vivify_162
-    $P190 = root_new ['parrot';'Hash']
+    goto if_186_end
+  if_186:
+    find_lex $P189, "$/"
+    unless_null $P189, vivify_162
+    $P189 = root_new ['parrot';'Hash']
   vivify_162:
-    set $P191, $P190["identifier"]
-    unless_null $P191, vivify_163
-    new $P191, "Undef"
+    set $P190, $P189["identifier"]
+    unless_null $P190, vivify_163
+    new $P190, "Undef"
   vivify_163:
-    set $S192, $P191
-    new $P193, 'String'
-    set $P193, $S192
-    concat $P194, $P193, ":"
-    find_lex $P195, "$/"
-    unless_null $P195, vivify_164
-    $P195 = root_new ['parrot';'Hash']
+    set $S191, $P190
+    new $P192, 'String'
+    set $P192, $S191
+    concat $P193, $P192, ":"
+    find_lex $P194, "$/"
+    unless_null $P194, vivify_164
+    $P194 = root_new ['parrot';'Hash']
   vivify_164:
-    set $P196, $P195["colonpair"]
-    unless_null $P196, vivify_165
-    $P196 = root_new ['parrot';'ResizablePMCArray']
+    set $P195, $P194["colonpair"]
+    unless_null $P195, vivify_165
+    $P195 = root_new ['parrot';'ResizablePMCArray']
   vivify_165:
-    set $P197, $P196[0]
-    unless_null $P197, vivify_166
-    new $P197, "Undef"
+    set $P196, $P195[0]
+    unless_null $P196, vivify_166
+    new $P196, "Undef"
   vivify_166:
-    $P198 = $P197."ast"()
-    $S199 = $P198."named"()
-    concat $P200, $P194, $S199
-    concat $P201, $P200, "<"
+    $P197 = $P196."ast"()
+    $S198 = $P197."named"()
+    concat $P199, $P193, $S198
+    concat $P200, $P199, "<"
 .annotate 'line', 38
-    find_lex $P202, "$/"
-    unless_null $P202, vivify_167
-    $P202 = root_new ['parrot';'Hash']
+    find_lex $P201, "$/"
+    unless_null $P201, vivify_167
+    $P201 = root_new ['parrot';'Hash']
   vivify_167:
-    set $P203, $P202["colonpair"]
-    unless_null $P203, vivify_168
-    $P203 = root_new ['parrot';'ResizablePMCArray']
+    set $P202, $P201["colonpair"]
+    unless_null $P202, vivify_168
+    $P202 = root_new ['parrot';'ResizablePMCArray']
   vivify_168:
-    set $P204, $P203[0]
-    unless_null $P204, vivify_169
-    new $P204, "Undef"
+    set $P203, $P202[0]
+    unless_null $P203, vivify_169
+    new $P203, "Undef"
   vivify_169:
-    $P205 = $P204."ast"()
-    $S206 = "colonpair_str"($P205)
-    concat $P207, $P201, $S206
-    concat $P208, $P207, ">"
-    set $P186, $P208
-  if_187_end:
+    $P204 = $P203."ast"()
+    $S205 = "colonpair_str"($P204)
+    concat $P206, $P200, $S205
+    concat $P207, $P206, ">"
+    set $P185, $P207
+  if_186_end:
 .annotate 'line', 37
-    $P211 = $P185."!make"($P186)
+    $P210 = $P184."!make"($P185)
 .annotate 'line', 35
-    .return ($P211)
-  control_182:
+    .return ($P210)
+  control_181:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P212, exception, "payload"
-    .return ($P212)
+    getattribute $P211, exception, "payload"
+    .return ($P211)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "comp_unit"  :subid("22_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_217
+.include "except_types.pasm"
+.sub "comp_unit"  :subid("22_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_216
 .annotate 'line', 49
-    new $P216, 'ExceptionHandler'
-    set_addr $P216, control_215
-    $P216."handle_types"(57)
-    push_eh $P216
+    new $P215, 'ExceptionHandler'
+    set_addr $P215, control_214
+    $P215."handle_types"(.CONTROL_RETURN)
+    push_eh $P215
     .lex "self", self
-    .lex "$/", param_217
+    .lex "$/", param_216
 .annotate 'line', 50
-    new $P218, "Undef"
-    .lex "$mainline", $P218
+    new $P217, "Undef"
+    .lex "$mainline", $P217
 .annotate 'line', 51
-    new $P219, "Undef"
-    .lex "$unit", $P219
+    new $P218, "Undef"
+    .lex "$unit", $P218
 .annotate 'line', 50
-    find_lex $P220, "$/"
-    unless_null $P220, vivify_170
-    $P220 = root_new ['parrot';'Hash']
+    find_lex $P219, "$/"
+    unless_null $P219, vivify_170
+    $P219 = root_new ['parrot';'Hash']
   vivify_170:
-    set $P221, $P220["statementlist"]
-    unless_null $P221, vivify_171
-    new $P221, "Undef"
+    set $P220, $P219["statementlist"]
+    unless_null $P220, vivify_171
+    new $P220, "Undef"
   vivify_171:
-    $P222 = $P221."ast"()
-    store_lex "$mainline", $P222
+    $P221 = $P220."ast"()
+    store_lex "$mainline", $P221
 .annotate 'line', 51
-    get_global $P223, "@BLOCK"
-    $P224 = $P223."shift"()
-    store_lex "$unit", $P224
+    get_global $P222, "@BLOCK"
+    $P223 = $P222."shift"()
+    store_lex "$unit", $P223
 .annotate 'line', 55
-    find_lex $P225, "$unit"
-    find_lex $P226, "self"
-    $P227 = $P226."CTXSAVE"()
-    $P225."push"($P227)
+    find_lex $P224, "$unit"
+    find_lex $P225, "self"
+    $P226 = $P225."CTXSAVE"()
+    $P224."push"($P226)
 .annotate 'line', 60
-    find_lex $P228, "$unit"
+    find_lex $P227, "$unit"
 .annotate 'line', 61
-    get_hll_global $P229, ["PAST"], "Op"
-    find_lex $P230, "$mainline"
-    $P231 = $P229."new"($P230, "return" :named("pirop"))
-    $P228."push"($P231)
+    get_hll_global $P228, ["PAST"], "Op"
+    find_lex $P229, "$mainline"
+    $P230 = $P228."new"($P229, "return" :named("pirop"))
+    $P227."push"($P230)
 .annotate 'line', 66
-    find_lex $P232, "$unit"
+    find_lex $P231, "$unit"
 .annotate 'line', 67
-    get_hll_global $P233, ["PAST"], "Block"
+    get_hll_global $P232, ["PAST"], "Block"
 .annotate 'line', 69
-    get_hll_global $P234, ["PAST"], "Op"
-    get_hll_global $P235, ["PAST"], "Val"
-    find_lex $P236, "$unit"
-    $P237 = $P235."new"($P236 :named("value"))
-    $P238 = $P234."new"($P237, "call" :named("pasttype"))
-    $P239 = $P233."new"($P238, ":load" :named("pirflags"), 0 :named("lexical"), "" :named("namespace"))
+    get_hll_global $P233, ["PAST"], "Op"
+    get_hll_global $P234, ["PAST"], "Val"
+    find_lex $P235, "$unit"
+    $P236 = $P234."new"($P235 :named("value"))
+    $P237 = $P233."new"($P236, "call" :named("pasttype"))
+    $P238 = $P232."new"($P237, ":load" :named("pirflags"), 0 :named("lexical"), "" :named("namespace"))
 .annotate 'line', 67
-    $P232."push"($P239)
+    $P231."push"($P238)
 .annotate 'line', 72
-    find_lex $P240, "$unit"
-    find_lex $P241, "$/"
-    $P240."node"($P241)
+    find_lex $P239, "$unit"
+    find_lex $P240, "$/"
+    $P239."node"($P240)
 .annotate 'line', 73
-    find_lex $P242, "$/"
-    find_lex $P243, "$unit"
-    $P244 = $P242."!make"($P243)
+    find_lex $P241, "$/"
+    find_lex $P242, "$unit"
+    $P243 = $P241."!make"($P242)
 .annotate 'line', 49
-    .return ($P244)
-  control_215:
+    .return ($P243)
+  control_214:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P245, exception, "payload"
-    .return ($P245)
+    getattribute $P244, exception, "payload"
+    .return ($P244)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statementlist"  :subid("23_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_249
+.include "except_types.pasm"
+.sub "statementlist"  :subid("23_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_248
 .annotate 'line', 76
-    .const 'Sub' $P263 = "24_1275600017.58296" 
-    capture_lex $P263
-    new $P248, 'ExceptionHandler'
-    set_addr $P248, control_247
-    $P248."handle_types"(57)
-    push_eh $P248
+    .const 'Sub' $P262 = "24_1275811497.55064" 
+    capture_lex $P262
+    new $P247, 'ExceptionHandler'
+    set_addr $P247, control_246
+    $P247."handle_types"(.CONTROL_RETURN)
+    push_eh $P247
     .lex "self", self
-    .lex "$/", param_249
+    .lex "$/", param_248
 .annotate 'line', 77
-    new $P250, "Undef"
-    .lex "$past", $P250
-    get_hll_global $P251, ["PAST"], "Stmts"
-    find_lex $P252, "$/"
-    $P253 = $P251."new"($P252 :named("node"))
-    store_lex "$past", $P253
+    new $P249, "Undef"
+    .lex "$past", $P249
+    get_hll_global $P250, ["PAST"], "Stmts"
+    find_lex $P251, "$/"
+    $P252 = $P250."new"($P251 :named("node"))
+    store_lex "$past", $P252
 .annotate 'line', 78
-    find_lex $P255, "$/"
-    unless_null $P255, vivify_172
-    $P255 = root_new ['parrot';'Hash']
+    find_lex $P254, "$/"
+    unless_null $P254, vivify_172
+    $P254 = root_new ['parrot';'Hash']
   vivify_172:
-    set $P256, $P255["statement"]
-    unless_null $P256, vivify_173
-    new $P256, "Undef"
+    set $P255, $P254["statement"]
+    unless_null $P255, vivify_173
+    new $P255, "Undef"
   vivify_173:
-    unless $P256, if_254_end
+    unless $P255, if_253_end
 .annotate 'line', 79
-    find_lex $P258, "$/"
-    unless_null $P258, vivify_174
-    $P258 = root_new ['parrot';'Hash']
+    find_lex $P257, "$/"
+    unless_null $P257, vivify_174
+    $P257 = root_new ['parrot';'Hash']
   vivify_174:
-    set $P259, $P258["statement"]
-    unless_null $P259, vivify_175
-    new $P259, "Undef"
+    set $P258, $P257["statement"]
+    unless_null $P258, vivify_175
+    new $P258, "Undef"
   vivify_175:
-    defined $I260, $P259
-    unless $I260, for_undef_176
-    iter $P257, $P259
-    new $P283, 'ExceptionHandler'
-    set_addr $P283, loop282_handler
-    $P283."handle_types"(64, 66, 65)
-    push_eh $P283
-  loop282_test:
-    unless $P257, loop282_done
-    shift $P261, $P257
-  loop282_redo:
-    .const 'Sub' $P263 = "24_1275600017.58296" 
-    capture_lex $P263
-    $P263($P261)
-  loop282_next:
-    goto loop282_test
-  loop282_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P284, exception, 'type'
-    eq $P284, 64, loop282_next
-    eq $P284, 66, loop282_redo
-  loop282_done:
+    defined $I259, $P258
+    unless $I259, for_undef_176
+    iter $P256, $P258
+    new $P282, 'ExceptionHandler'
+    set_addr $P282, loop281_handler
+    $P282."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P282
+  loop281_test:
+    unless $P256, loop281_done
+    shift $P260, $P256
+  loop281_redo:
+    .const 'Sub' $P262 = "24_1275811497.55064" 
+    capture_lex $P262
+    $P262($P260)
+  loop281_next:
+    goto loop281_test
+  loop281_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P283, exception, 'type'
+    eq $P283, .CONTROL_LOOP_NEXT, loop281_next
+    eq $P283, .CONTROL_LOOP_REDO, loop281_redo
+  loop281_done:
     pop_eh 
   for_undef_176:
-  if_254_end:
+  if_253_end:
 .annotate 'line', 86
-    find_lex $P285, "$/"
-    find_lex $P286, "$past"
-    $P287 = $P285."!make"($P286)
+    find_lex $P284, "$/"
+    find_lex $P285, "$past"
+    $P286 = $P284."!make"($P285)
 .annotate 'line', 76
-    .return ($P287)
-  control_247:
+    .return ($P286)
+  control_246:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P288, exception, "payload"
-    .return ($P288)
+    getattribute $P287, exception, "payload"
+    .return ($P287)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block262"  :anon :subid("24_1275600017.58296") :outer("23_1275600017.58296")
-    .param pmc param_265
+.sub "_block261"  :anon :subid("24_1275811497.55064") :outer("23_1275811497.55064")
+    .param pmc param_264
 .annotate 'line', 80
-    new $P264, "Undef"
-    .lex "$ast", $P264
-    .lex "$_", param_265
-    find_lex $P266, "$_"
-    $P267 = $P266."ast"()
-    store_lex "$ast", $P267
+    new $P263, "Undef"
+    .lex "$ast", $P263
+    .lex "$_", param_264
+    find_lex $P265, "$_"
+    $P266 = $P265."ast"()
+    store_lex "$ast", $P266
 .annotate 'line', 81
-    find_lex $P269, "$ast"
-    unless_null $P269, vivify_177
-    $P269 = root_new ['parrot';'Hash']
+    find_lex $P268, "$ast"
+    unless_null $P268, vivify_177
+    $P268 = root_new ['parrot';'Hash']
   vivify_177:
-    set $P270, $P269["sink"]
-    unless_null $P270, vivify_178
-    new $P270, "Undef"
+    set $P269, $P268["sink"]
+    unless_null $P269, vivify_178
+    new $P269, "Undef"
   vivify_178:
-    defined $I271, $P270
-    unless $I271, if_268_end
-    find_lex $P272, "$ast"
-    unless_null $P272, vivify_179
-    $P272 = root_new ['parrot';'Hash']
+    defined $I270, $P269
+    unless $I270, if_267_end
+    find_lex $P271, "$ast"
+    unless_null $P271, vivify_179
+    $P271 = root_new ['parrot';'Hash']
   vivify_179:
-    set $P273, $P272["sink"]
-    unless_null $P273, vivify_180
-    new $P273, "Undef"
+    set $P272, $P271["sink"]
+    unless_null $P272, vivify_180
+    new $P272, "Undef"
   vivify_180:
-    store_lex "$ast", $P273
-  if_268_end:
+    store_lex "$ast", $P272
+  if_267_end:
 .annotate 'line', 82
-    find_lex $P275, "$ast"
-    unless_null $P275, vivify_181
-    $P275 = root_new ['parrot';'Hash']
+    find_lex $P274, "$ast"
+    unless_null $P274, vivify_181
+    $P274 = root_new ['parrot';'Hash']
   vivify_181:
-    set $P276, $P275["bareblock"]
-    unless_null $P276, vivify_182
-    new $P276, "Undef"
+    set $P275, $P274["bareblock"]
+    unless_null $P275, vivify_182
+    new $P275, "Undef"
   vivify_182:
-    unless $P276, if_274_end
-    find_lex $P277, "$ast"
-    $P278 = "block_immediate"($P277)
-    store_lex "$ast", $P278
-  if_274_end:
+    unless $P275, if_273_end
+    find_lex $P276, "$ast"
+    $P277 = "block_immediate"($P276)
+    store_lex "$ast", $P277
+  if_273_end:
 .annotate 'line', 83
-    find_lex $P279, "$past"
-    find_lex $P280, "$ast"
-    $P281 = $P279."push"($P280)
+    find_lex $P278, "$past"
+    find_lex $P279, "$ast"
+    $P280 = $P278."push"($P279)
 .annotate 'line', 79
-    .return ($P281)
+    .return ($P280)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement"  :subid("25_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_292
-    .param pmc param_293 :optional
-    .param int has_param_293 :opt_flag
+.include "except_types.pasm"
+.sub "statement"  :subid("25_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_291
+    .param pmc param_292 :optional
+    .param int has_param_292 :opt_flag
 .annotate 'line', 89
-    .const 'Sub' $P301 = "26_1275600017.58296" 
-    capture_lex $P301
-    new $P291, 'ExceptionHandler'
-    set_addr $P291, control_290
-    $P291."handle_types"(57)
-    push_eh $P291
-    .lex "self", self
-    .lex "$/", param_292
-    if has_param_293, optparam_183
-    new $P294, "Undef"
-    set param_293, $P294
+    .const 'Sub' $P300 = "26_1275811497.55064" 
+    capture_lex $P300
+    new $P290, 'ExceptionHandler'
+    set_addr $P290, control_289
+    $P290."handle_types"(.CONTROL_RETURN)
+    push_eh $P290
+    .lex "self", self
+    .lex "$/", param_291
+    if has_param_292, optparam_183
+    new $P293, "Undef"
+    set param_292, $P293
   optparam_183:
-    .lex "$key", param_293
+    .lex "$key", param_292
 .annotate 'line', 90
-    new $P295, "Undef"
-    .lex "$past", $P295
+    new $P294, "Undef"
+    .lex "$past", $P294
 .annotate 'line', 89
-    find_lex $P296, "$past"
+    find_lex $P295, "$past"
 .annotate 'line', 91
-    find_lex $P298, "$/"
-    unless_null $P298, vivify_184
-    $P298 = root_new ['parrot';'Hash']
+    find_lex $P297, "$/"
+    unless_null $P297, vivify_184
+    $P297 = root_new ['parrot';'Hash']
   vivify_184:
-    set $P299, $P298["EXPR"]
-    unless_null $P299, vivify_185
-    new $P299, "Undef"
+    set $P298, $P297["EXPR"]
+    unless_null $P298, vivify_185
+    new $P298, "Undef"
   vivify_185:
-    if $P299, if_297
+    if $P298, if_296
 .annotate 'line', 102
-    find_lex $P339, "$/"
-    unless_null $P339, vivify_186
-    $P339 = root_new ['parrot';'Hash']
+    find_lex $P338, "$/"
+    unless_null $P338, vivify_186
+    $P338 = root_new ['parrot';'Hash']
   vivify_186:
-    set $P340, $P339["statement_control"]
-    unless_null $P340, vivify_187
-    new $P340, "Undef"
+    set $P339, $P338["statement_control"]
+    unless_null $P339, vivify_187
+    new $P339, "Undef"
   vivify_187:
-    if $P340, if_338
+    if $P339, if_337
 .annotate 'line', 103
-    new $P344, "Integer"
-    assign $P344, 0
-    store_lex "$past", $P344
-    goto if_338_end
-  if_338:
+    new $P343, "Integer"
+    assign $P343, 0
+    store_lex "$past", $P343
+    goto if_337_end
+  if_337:
 .annotate 'line', 102
-    find_lex $P341, "$/"
-    unless_null $P341, vivify_188
-    $P341 = root_new ['parrot';'Hash']
+    find_lex $P340, "$/"
+    unless_null $P340, vivify_188
+    $P340 = root_new ['parrot';'Hash']
   vivify_188:
-    set $P342, $P341["statement_control"]
-    unless_null $P342, vivify_189
-    new $P342, "Undef"
+    set $P341, $P340["statement_control"]
+    unless_null $P341, vivify_189
+    new $P341, "Undef"
   vivify_189:
-    $P343 = $P342."ast"()
-    store_lex "$past", $P343
-  if_338_end:
-    goto if_297_end
-  if_297:
+    $P342 = $P341."ast"()
+    store_lex "$past", $P342
+  if_337_end:
+    goto if_296_end
+  if_296:
 .annotate 'line', 91
-    .const 'Sub' $P301 = "26_1275600017.58296" 
-    capture_lex $P301
-    $P301()
-  if_297_end:
+    .const 'Sub' $P300 = "26_1275811497.55064" 
+    capture_lex $P300
+    $P300()
+  if_296_end:
 .annotate 'line', 104
-    find_lex $P345, "$/"
-    find_lex $P346, "$past"
-    $P347 = $P345."!make"($P346)
+    find_lex $P344, "$/"
+    find_lex $P345, "$past"
+    $P346 = $P344."!make"($P345)
 .annotate 'line', 89
-    .return ($P347)
-  control_290:
+    .return ($P346)
+  control_289:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P348, exception, "payload"
-    .return ($P348)
+    getattribute $P347, exception, "payload"
+    .return ($P347)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block300"  :anon :subid("26_1275600017.58296") :outer("25_1275600017.58296")
+.sub "_block299"  :anon :subid("26_1275811497.55064") :outer("25_1275811497.55064")
 .annotate 'line', 92
-    new $P302, "Undef"
-    .lex "$mc", $P302
+    new $P301, "Undef"
+    .lex "$mc", $P301
 .annotate 'line', 93
-    new $P303, "Undef"
-    .lex "$ml", $P303
+    new $P302, "Undef"
+    .lex "$ml", $P302
 .annotate 'line', 92
-    find_lex $P304, "$/"
-    unless_null $P304, vivify_190
-    $P304 = root_new ['parrot';'Hash']
+    find_lex $P303, "$/"
+    unless_null $P303, vivify_190
+    $P303 = root_new ['parrot';'Hash']
   vivify_190:
-    set $P305, $P304["statement_mod_cond"]
-    unless_null $P305, vivify_191
-    $P305 = root_new ['parrot';'ResizablePMCArray']
+    set $P304, $P303["statement_mod_cond"]
+    unless_null $P304, vivify_191
+    $P304 = root_new ['parrot';'ResizablePMCArray']
   vivify_191:
-    set $P306, $P305[0]
-    unless_null $P306, vivify_192
-    new $P306, "Undef"
+    set $P305, $P304[0]
+    unless_null $P305, vivify_192
+    new $P305, "Undef"
   vivify_192:
-    store_lex "$mc", $P306
+    store_lex "$mc", $P305
 .annotate 'line', 93
-    find_lex $P307, "$/"
-    unless_null $P307, vivify_193
-    $P307 = root_new ['parrot';'Hash']
+    find_lex $P306, "$/"
+    unless_null $P306, vivify_193
+    $P306 = root_new ['parrot';'Hash']
   vivify_193:
-    set $P308, $P307["statement_mod_loop"]
-    unless_null $P308, vivify_194
-    $P308 = root_new ['parrot';'ResizablePMCArray']
+    set $P307, $P306["statement_mod_loop"]
+    unless_null $P307, vivify_194
+    $P307 = root_new ['parrot';'ResizablePMCArray']
   vivify_194:
-    set $P309, $P308[0]
-    unless_null $P309, vivify_195
-    new $P309, "Undef"
+    set $P308, $P307[0]
+    unless_null $P308, vivify_195
+    new $P308, "Undef"
   vivify_195:
-    store_lex "$ml", $P309
+    store_lex "$ml", $P308
 .annotate 'line', 94
-    find_lex $P310, "$/"
-    unless_null $P310, vivify_196
-    $P310 = root_new ['parrot';'Hash']
+    find_lex $P309, "$/"
+    unless_null $P309, vivify_196
+    $P309 = root_new ['parrot';'Hash']
   vivify_196:
-    set $P311, $P310["EXPR"]
-    unless_null $P311, vivify_197
-    new $P311, "Undef"
+    set $P310, $P309["EXPR"]
+    unless_null $P310, vivify_197
+    new $P310, "Undef"
   vivify_197:
-    $P312 = $P311."ast"()
-    store_lex "$past", $P312
+    $P311 = $P310."ast"()
+    store_lex "$past", $P311
 .annotate 'line', 95
-    find_lex $P314, "$mc"
-    unless $P314, if_313_end
+    find_lex $P313, "$mc"
+    unless $P313, if_312_end
 .annotate 'line', 96
-    get_hll_global $P315, ["PAST"], "Op"
-    find_lex $P316, "$mc"
-    unless_null $P316, vivify_198
-    $P316 = root_new ['parrot';'Hash']
+    get_hll_global $P314, ["PAST"], "Op"
+    find_lex $P315, "$mc"
+    unless_null $P315, vivify_198
+    $P315 = root_new ['parrot';'Hash']
   vivify_198:
-    set $P317, $P316["cond"]
-    unless_null $P317, vivify_199
-    new $P317, "Undef"
+    set $P316, $P315["cond"]
+    unless_null $P316, vivify_199
+    new $P316, "Undef"
   vivify_199:
-    $P318 = $P317."ast"()
-    find_lex $P319, "$past"
-    find_lex $P320, "$mc"
-    unless_null $P320, vivify_200
-    $P320 = root_new ['parrot';'Hash']
+    $P317 = $P316."ast"()
+    find_lex $P318, "$past"
+    find_lex $P319, "$mc"
+    unless_null $P319, vivify_200
+    $P319 = root_new ['parrot';'Hash']
   vivify_200:
-    set $P321, $P320["sym"]
-    unless_null $P321, vivify_201
-    new $P321, "Undef"
+    set $P320, $P319["sym"]
+    unless_null $P320, vivify_201
+    new $P320, "Undef"
   vivify_201:
-    set $S322, $P321
-    find_lex $P323, "$/"
-    $P324 = $P315."new"($P318, $P319, $S322 :named("pasttype"), $P323 :named("node"))
-    store_lex "$past", $P324
-  if_313_end:
+    set $S321, $P320
+    find_lex $P322, "$/"
+    $P323 = $P314."new"($P317, $P318, $S321 :named("pasttype"), $P322 :named("node"))
+    store_lex "$past", $P323
+  if_312_end:
 .annotate 'line', 98
-    find_lex $P327, "$ml"
-    if $P327, if_326
-    set $P325, $P327
-    goto if_326_end
-  if_326:
+    find_lex $P326, "$ml"
+    if $P326, if_325
+    set $P324, $P326
+    goto if_325_end
+  if_325:
 .annotate 'line', 99
-    get_hll_global $P328, ["PAST"], "Op"
-    find_lex $P329, "$ml"
-    unless_null $P329, vivify_202
-    $P329 = root_new ['parrot';'Hash']
+    get_hll_global $P327, ["PAST"], "Op"
+    find_lex $P328, "$ml"
+    unless_null $P328, vivify_202
+    $P328 = root_new ['parrot';'Hash']
   vivify_202:
-    set $P330, $P329["cond"]
-    unless_null $P330, vivify_203
-    new $P330, "Undef"
+    set $P329, $P328["cond"]
+    unless_null $P329, vivify_203
+    new $P329, "Undef"
   vivify_203:
-    $P331 = $P330."ast"()
-    find_lex $P332, "$past"
-    find_lex $P333, "$ml"
-    unless_null $P333, vivify_204
-    $P333 = root_new ['parrot';'Hash']
+    $P330 = $P329."ast"()
+    find_lex $P331, "$past"
+    find_lex $P332, "$ml"
+    unless_null $P332, vivify_204
+    $P332 = root_new ['parrot';'Hash']
   vivify_204:
-    set $P334, $P333["sym"]
-    unless_null $P334, vivify_205
-    new $P334, "Undef"
+    set $P333, $P332["sym"]
+    unless_null $P333, vivify_205
+    new $P333, "Undef"
   vivify_205:
-    set $S335, $P334
-    find_lex $P336, "$/"
-    $P337 = $P328."new"($P331, $P332, $S335 :named("pasttype"), $P336 :named("node"))
-    store_lex "$past", $P337
+    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 $P325, $P337
-  if_326_end:
+    set $P324, $P336
+  if_325_end:
 .annotate 'line', 91
-    .return ($P325)
+    .return ($P324)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "xblock"  :subid("27_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_352
+.include "except_types.pasm"
+.sub "xblock"  :subid("27_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_351
 .annotate 'line', 107
-    new $P351, 'ExceptionHandler'
-    set_addr $P351, control_350
-    $P351."handle_types"(57)
-    push_eh $P351
+    new $P350, 'ExceptionHandler'
+    set_addr $P350, control_349
+    $P350."handle_types"(.CONTROL_RETURN)
+    push_eh $P350
     .lex "self", self
-    .lex "$/", param_352
+    .lex "$/", param_351
 .annotate 'line', 108
-    find_lex $P353, "$/"
-    get_hll_global $P354, ["PAST"], "Op"
-    find_lex $P355, "$/"
-    unless_null $P355, vivify_206
-    $P355 = root_new ['parrot';'Hash']
+    find_lex $P352, "$/"
+    get_hll_global $P353, ["PAST"], "Op"
+    find_lex $P354, "$/"
+    unless_null $P354, vivify_206
+    $P354 = root_new ['parrot';'Hash']
   vivify_206:
-    set $P356, $P355["EXPR"]
-    unless_null $P356, vivify_207
-    new $P356, "Undef"
+    set $P355, $P354["EXPR"]
+    unless_null $P355, vivify_207
+    new $P355, "Undef"
   vivify_207:
-    $P357 = $P356."ast"()
-    find_lex $P358, "$/"
-    unless_null $P358, vivify_208
-    $P358 = root_new ['parrot';'Hash']
+    $P356 = $P355."ast"()
+    find_lex $P357, "$/"
+    unless_null $P357, vivify_208
+    $P357 = root_new ['parrot';'Hash']
   vivify_208:
-    set $P359, $P358["pblock"]
-    unless_null $P359, vivify_209
-    new $P359, "Undef"
+    set $P358, $P357["pblock"]
+    unless_null $P358, vivify_209
+    new $P358, "Undef"
   vivify_209:
-    $P360 = $P359."ast"()
-    find_lex $P361, "$/"
-    $P362 = $P354."new"($P357, $P360, "if" :named("pasttype"), $P361 :named("node"))
-    $P363 = $P353."!make"($P362)
+    $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 ($P363)
-  control_350:
+    .return ($P362)
+  control_349:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P364, exception, "payload"
-    .return ($P364)
+    getattribute $P363, exception, "payload"
+    .return ($P363)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "pblock"  :subid("28_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_368
+.include "except_types.pasm"
+.sub "pblock"  :subid("28_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_367
 .annotate 'line', 111
-    new $P367, 'ExceptionHandler'
-    set_addr $P367, control_366
-    $P367."handle_types"(57)
-    push_eh $P367
+    new $P366, 'ExceptionHandler'
+    set_addr $P366, control_365
+    $P366."handle_types"(.CONTROL_RETURN)
+    push_eh $P366
     .lex "self", self
-    .lex "$/", param_368
+    .lex "$/", param_367
 .annotate 'line', 112
+    find_lex $P368, "$/"
     find_lex $P369, "$/"
-    find_lex $P370, "$/"
-    unless_null $P370, vivify_210
-    $P370 = root_new ['parrot';'Hash']
+    unless_null $P369, vivify_210
+    $P369 = root_new ['parrot';'Hash']
   vivify_210:
-    set $P371, $P370["blockoid"]
-    unless_null $P371, vivify_211
-    new $P371, "Undef"
+    set $P370, $P369["blockoid"]
+    unless_null $P370, vivify_211
+    new $P370, "Undef"
   vivify_211:
-    $P372 = $P371."ast"()
-    $P373 = $P369."!make"($P372)
+    $P371 = $P370."ast"()
+    $P372 = $P368."!make"($P371)
 .annotate 'line', 111
-    .return ($P373)
-  control_366:
+    .return ($P372)
+  control_365:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P374, exception, "payload"
-    .return ($P374)
+    getattribute $P373, exception, "payload"
+    .return ($P373)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "block"  :subid("29_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_378
+.include "except_types.pasm"
+.sub "block"  :subid("29_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_377
 .annotate 'line', 115
-    new $P377, 'ExceptionHandler'
-    set_addr $P377, control_376
-    $P377."handle_types"(57)
-    push_eh $P377
+    new $P376, 'ExceptionHandler'
+    set_addr $P376, control_375
+    $P376."handle_types"(.CONTROL_RETURN)
+    push_eh $P376
     .lex "self", self
-    .lex "$/", param_378
+    .lex "$/", param_377
 .annotate 'line', 116
+    find_lex $P378, "$/"
     find_lex $P379, "$/"
-    find_lex $P380, "$/"
-    unless_null $P380, vivify_212
-    $P380 = root_new ['parrot';'Hash']
+    unless_null $P379, vivify_212
+    $P379 = root_new ['parrot';'Hash']
   vivify_212:
-    set $P381, $P380["blockoid"]
-    unless_null $P381, vivify_213
-    new $P381, "Undef"
+    set $P380, $P379["blockoid"]
+    unless_null $P380, vivify_213
+    new $P380, "Undef"
   vivify_213:
-    $P382 = $P381."ast"()
-    $P383 = $P379."!make"($P382)
+    $P381 = $P380."ast"()
+    $P382 = $P378."!make"($P381)
 .annotate 'line', 115
-    .return ($P383)
-  control_376:
+    .return ($P382)
+  control_375:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P384, exception, "payload"
-    .return ($P384)
+    getattribute $P383, exception, "payload"
+    .return ($P383)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "blockoid"  :subid("30_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_388
+.include "except_types.pasm"
+.sub "blockoid"  :subid("30_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_387
 .annotate 'line', 119
-    new $P387, 'ExceptionHandler'
-    set_addr $P387, control_386
-    $P387."handle_types"(57)
-    push_eh $P387
+    new $P386, 'ExceptionHandler'
+    set_addr $P386, control_385
+    $P386."handle_types"(.CONTROL_RETURN)
+    push_eh $P386
     .lex "self", self
-    .lex "$/", param_388
+    .lex "$/", param_387
 .annotate 'line', 120
-    new $P389, "Undef"
-    .lex "$past", $P389
+    new $P388, "Undef"
+    .lex "$past", $P388
 .annotate 'line', 121
-    new $P390, "Undef"
-    .lex "$BLOCK", $P390
+    new $P389, "Undef"
+    .lex "$BLOCK", $P389
 .annotate 'line', 120
-    find_lex $P391, "$/"
-    unless_null $P391, vivify_214
-    $P391 = root_new ['parrot';'Hash']
+    find_lex $P390, "$/"
+    unless_null $P390, vivify_214
+    $P390 = root_new ['parrot';'Hash']
   vivify_214:
-    set $P392, $P391["statementlist"]
-    unless_null $P392, vivify_215
-    new $P392, "Undef"
+    set $P391, $P390["statementlist"]
+    unless_null $P391, vivify_215
+    new $P391, "Undef"
   vivify_215:
-    $P393 = $P392."ast"()
-    store_lex "$past", $P393
+    $P392 = $P391."ast"()
+    store_lex "$past", $P392
 .annotate 'line', 121
-    get_global $P394, "@BLOCK"
-    $P395 = $P394."shift"()
-    store_lex "$BLOCK", $P395
+    get_global $P393, "@BLOCK"
+    $P394 = $P393."shift"()
+    store_lex "$BLOCK", $P394
 .annotate 'line', 122
-    find_lex $P396, "$BLOCK"
-    find_lex $P397, "$past"
-    $P396."push"($P397)
+    find_lex $P395, "$BLOCK"
+    find_lex $P396, "$past"
+    $P395."push"($P396)
 .annotate 'line', 123
-    find_lex $P398, "$BLOCK"
-    find_lex $P399, "$/"
-    $P398."node"($P399)
+    find_lex $P397, "$BLOCK"
+    find_lex $P398, "$/"
+    $P397."node"($P398)
 .annotate 'line', 124
-    find_lex $P400, "$BLOCK"
-    $P400."closure"(1)
+    find_lex $P399, "$BLOCK"
+    $P399."closure"(1)
 .annotate 'line', 125
-    find_lex $P401, "$/"
-    find_lex $P402, "$BLOCK"
-    $P403 = $P401."!make"($P402)
+    find_lex $P400, "$/"
+    find_lex $P401, "$BLOCK"
+    $P402 = $P400."!make"($P401)
 .annotate 'line', 119
-    .return ($P403)
-  control_386:
+    .return ($P402)
+  control_385:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P404, exception, "payload"
-    .return ($P404)
+    getattribute $P403, exception, "payload"
+    .return ($P403)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "newpad"  :subid("31_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_408
+.include "except_types.pasm"
+.sub "newpad"  :subid("31_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_407
 .annotate 'line', 128
-    new $P407, 'ExceptionHandler'
-    set_addr $P407, control_406
-    $P407."handle_types"(57)
-    push_eh $P407
+    new $P406, 'ExceptionHandler'
+    set_addr $P406, control_405
+    $P406."handle_types"(.CONTROL_RETURN)
+    push_eh $P406
     .lex "self", self
-    .lex "$/", param_408
+    .lex "$/", param_407
 .annotate 'line', 129
-    get_global $P409, "@BLOCK"
-    unless_null $P409, vivify_216
-    $P409 = root_new ['parrot';'ResizablePMCArray']
-    set_global "@BLOCK", $P409
+    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 $P410, "@BLOCK"
+    get_global $P409, "@BLOCK"
 .annotate 'line', 130
-    get_global $P411, "@BLOCK"
-    get_hll_global $P412, ["PAST"], "Block"
-    get_hll_global $P413, ["PAST"], "Stmts"
-    $P414 = $P413."new"()
-    $P415 = $P412."new"($P414)
-    $P416 = $P411."unshift"($P415)
+    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 ($P416)
-  control_406:
+    .return ($P415)
+  control_405:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P417, exception, "payload"
-    .return ($P417)
+    getattribute $P416, exception, "payload"
+    .return ($P416)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "outerctx"  :subid("32_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_421
+.include "except_types.pasm"
+.sub "outerctx"  :subid("32_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_420
 .annotate 'line', 133
-    new $P420, 'ExceptionHandler'
-    set_addr $P420, control_419
-    $P420."handle_types"(57)
-    push_eh $P420
+    new $P419, 'ExceptionHandler'
+    set_addr $P419, control_418
+    $P419."handle_types"(.CONTROL_RETURN)
+    push_eh $P419
     .lex "self", self
-    .lex "$/", param_421
+    .lex "$/", param_420
 .annotate 'line', 134
-    get_global $P422, "@BLOCK"
-    unless_null $P422, vivify_217
-    $P422 = root_new ['parrot';'ResizablePMCArray']
-    set_global "@BLOCK", $P422
+    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 $P423, "@BLOCK"
+    get_global $P422, "@BLOCK"
 .annotate 'line', 135
-    find_lex $P424, "self"
-    get_global $P425, "@BLOCK"
-    unless_null $P425, vivify_218
-    $P425 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P423, "self"
+    get_global $P424, "@BLOCK"
+    unless_null $P424, vivify_218
+    $P424 = root_new ['parrot';'ResizablePMCArray']
   vivify_218:
-    set $P426, $P425[0]
-    unless_null $P426, vivify_219
-    new $P426, "Undef"
+    set $P425, $P424[0]
+    unless_null $P425, vivify_219
+    new $P425, "Undef"
   vivify_219:
-    $P427 = $P424."SET_BLOCK_OUTER_CTX"($P426)
+    $P426 = $P423."SET_BLOCK_OUTER_CTX"($P425)
 .annotate 'line', 133
-    .return ($P427)
-  control_419:
+    .return ($P426)
+  control_418:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P428, exception, "payload"
-    .return ($P428)
+    getattribute $P427, exception, "payload"
+    .return ($P427)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<if>"  :subid("33_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_432
+.include "except_types.pasm"
+.sub "statement_control:sym<if>"  :subid("33_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_431
 .annotate 'line', 140
-    .const 'Sub' $P460 = "34_1275600017.58296" 
-    capture_lex $P460
-    new $P431, 'ExceptionHandler'
-    set_addr $P431, control_430
-    $P431."handle_types"(57)
-    push_eh $P431
+    .const 'Sub' $P459 = "34_1275811497.55064" 
+    capture_lex $P459
+    new $P430, 'ExceptionHandler'
+    set_addr $P430, control_429
+    $P430."handle_types"(.CONTROL_RETURN)
+    push_eh $P430
     .lex "self", self
-    .lex "$/", param_432
+    .lex "$/", param_431
 .annotate 'line', 141
-    new $P433, "Undef"
-    .lex "$count", $P433
+    new $P432, "Undef"
+    .lex "$count", $P432
 .annotate 'line', 142
-    new $P434, "Undef"
-    .lex "$past", $P434
+    new $P433, "Undef"
+    .lex "$past", $P433
 .annotate 'line', 141
-    find_lex $P435, "$/"
-    unless_null $P435, vivify_220
-    $P435 = root_new ['parrot';'Hash']
+    find_lex $P434, "$/"
+    unless_null $P434, vivify_220
+    $P434 = root_new ['parrot';'Hash']
   vivify_220:
-    set $P436, $P435["xblock"]
-    unless_null $P436, vivify_221
-    new $P436, "Undef"
+    set $P435, $P434["xblock"]
+    unless_null $P435, vivify_221
+    new $P435, "Undef"
   vivify_221:
-    set $N437, $P436
-    new $P438, 'Float'
-    set $P438, $N437
-    sub $P439, $P438, 1
-    store_lex "$count", $P439
+    set $N436, $P435
+    new $P437, 'Float'
+    set $P437, $N436
+    sub $P438, $P437, 1
+    store_lex "$count", $P438
 .annotate 'line', 142
-    find_lex $P440, "$count"
-    set $I441, $P440
-    find_lex $P442, "$/"
-    unless_null $P442, vivify_222
-    $P442 = root_new ['parrot';'Hash']
+    find_lex $P439, "$count"
+    set $I440, $P439
+    find_lex $P441, "$/"
+    unless_null $P441, vivify_222
+    $P441 = root_new ['parrot';'Hash']
   vivify_222:
-    set $P443, $P442["xblock"]
-    unless_null $P443, vivify_223
-    $P443 = root_new ['parrot';'ResizablePMCArray']
+    set $P442, $P441["xblock"]
+    unless_null $P442, vivify_223
+    $P442 = root_new ['parrot';'ResizablePMCArray']
   vivify_223:
-    set $P444, $P443[$I441]
-    unless_null $P444, vivify_224
-    new $P444, "Undef"
+    set $P443, $P442[$I440]
+    unless_null $P443, vivify_224
+    new $P443, "Undef"
   vivify_224:
-    $P445 = $P444."ast"()
-    $P446 = "xblock_immediate"($P445)
-    store_lex "$past", $P446
+    $P444 = $P443."ast"()
+    $P445 = "xblock_immediate"($P444)
+    store_lex "$past", $P445
 .annotate 'line', 143
-    find_lex $P448, "$/"
-    unless_null $P448, vivify_225
-    $P448 = root_new ['parrot';'Hash']
+    find_lex $P447, "$/"
+    unless_null $P447, vivify_225
+    $P447 = root_new ['parrot';'Hash']
   vivify_225:
-    set $P449, $P448["else"]
-    unless_null $P449, vivify_226
-    new $P449, "Undef"
+    set $P448, $P447["else"]
+    unless_null $P448, vivify_226
+    new $P448, "Undef"
   vivify_226:
-    unless $P449, if_447_end
+    unless $P448, if_446_end
 .annotate 'line', 144
-    find_lex $P450, "$past"
-    find_lex $P451, "$/"
-    unless_null $P451, vivify_227
-    $P451 = root_new ['parrot';'Hash']
+    find_lex $P449, "$past"
+    find_lex $P450, "$/"
+    unless_null $P450, vivify_227
+    $P450 = root_new ['parrot';'Hash']
   vivify_227:
-    set $P452, $P451["else"]
-    unless_null $P452, vivify_228
-    $P452 = root_new ['parrot';'ResizablePMCArray']
+    set $P451, $P450["else"]
+    unless_null $P451, vivify_228
+    $P451 = root_new ['parrot';'ResizablePMCArray']
   vivify_228:
-    set $P453, $P452[0]
-    unless_null $P453, vivify_229
-    new $P453, "Undef"
+    set $P452, $P451[0]
+    unless_null $P452, vivify_229
+    new $P452, "Undef"
   vivify_229:
-    $P454 = $P453."ast"()
-    $P455 = "block_immediate"($P454)
-    $P450."push"($P455)
-  if_447_end:
+    $P453 = $P452."ast"()
+    $P454 = "block_immediate"($P453)
+    $P449."push"($P454)
+  if_446_end:
 .annotate 'line', 147
-    new $P476, 'ExceptionHandler'
-    set_addr $P476, loop475_handler
-    $P476."handle_types"(64, 66, 65)
-    push_eh $P476
-  loop475_test:
-    find_lex $P456, "$count"
-    set $N457, $P456
-    isgt $I458, $N457, 0.0
-    unless $I458, loop475_done
-  loop475_redo:
-    .const 'Sub' $P460 = "34_1275600017.58296" 
-    capture_lex $P460
-    $P460()
-  loop475_next:
-    goto loop475_test
-  loop475_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P477, exception, 'type'
-    eq $P477, 64, loop475_next
-    eq $P477, 66, loop475_redo
-  loop475_done:
+    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_1275811497.55064" 
+    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 $P478, "$/"
-    find_lex $P479, "$past"
-    $P480 = $P478."!make"($P479)
+    find_lex $P477, "$/"
+    find_lex $P478, "$past"
+    $P479 = $P477."!make"($P478)
 .annotate 'line', 140
-    .return ($P480)
-  control_430:
+    .return ($P479)
+  control_429:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P481, exception, "payload"
-    .return ($P481)
+    getattribute $P480, exception, "payload"
+    .return ($P480)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block459"  :anon :subid("34_1275600017.58296") :outer("33_1275600017.58296")
+.sub "_block458"  :anon :subid("34_1275811497.55064") :outer("33_1275811497.55064")
 .annotate 'line', 149
-    new $P461, "Undef"
-    .lex "$else", $P461
+    new $P460, "Undef"
+    .lex "$else", $P460
 .annotate 'line', 147
-    find_lex $P462, "$count"
-    clone $P463, $P462
-    dec $P462
+    find_lex $P461, "$count"
+    clone $P462, $P461
+    dec $P461
 .annotate 'line', 149
-    find_lex $P464, "$past"
-    store_lex "$else", $P464
+    find_lex $P463, "$past"
+    store_lex "$else", $P463
 .annotate 'line', 150
-    find_lex $P465, "$count"
-    set $I466, $P465
-    find_lex $P467, "$/"
-    unless_null $P467, vivify_230
-    $P467 = root_new ['parrot';'Hash']
+    find_lex $P464, "$count"
+    set $I465, $P464
+    find_lex $P466, "$/"
+    unless_null $P466, vivify_230
+    $P466 = root_new ['parrot';'Hash']
   vivify_230:
-    set $P468, $P467["xblock"]
-    unless_null $P468, vivify_231
-    $P468 = root_new ['parrot';'ResizablePMCArray']
+    set $P467, $P466["xblock"]
+    unless_null $P467, vivify_231
+    $P467 = root_new ['parrot';'ResizablePMCArray']
   vivify_231:
-    set $P469, $P468[$I466]
-    unless_null $P469, vivify_232
-    new $P469, "Undef"
+    set $P468, $P467[$I465]
+    unless_null $P468, vivify_232
+    new $P468, "Undef"
   vivify_232:
-    $P470 = $P469."ast"()
-    $P471 = "xblock_immediate"($P470)
-    store_lex "$past", $P471
+    $P469 = $P468."ast"()
+    $P470 = "xblock_immediate"($P469)
+    store_lex "$past", $P470
 .annotate 'line', 151
-    find_lex $P472, "$past"
-    find_lex $P473, "$else"
-    $P474 = $P472."push"($P473)
+    find_lex $P471, "$past"
+    find_lex $P472, "$else"
+    $P473 = $P471."push"($P472)
 .annotate 'line', 147
-    .return ($P474)
+    .return ($P473)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<unless>"  :subid("35_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_485
+.include "except_types.pasm"
+.sub "statement_control:sym<unless>"  :subid("35_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_484
 .annotate 'line', 156
-    new $P484, 'ExceptionHandler'
-    set_addr $P484, control_483
-    $P484."handle_types"(57)
-    push_eh $P484
+    new $P483, 'ExceptionHandler'
+    set_addr $P483, control_482
+    $P483."handle_types"(.CONTROL_RETURN)
+    push_eh $P483
     .lex "self", self
-    .lex "$/", param_485
+    .lex "$/", param_484
 .annotate 'line', 157
-    new $P486, "Undef"
-    .lex "$past", $P486
-    find_lex $P487, "$/"
-    unless_null $P487, vivify_233
-    $P487 = root_new ['parrot';'Hash']
+    new $P485, "Undef"
+    .lex "$past", $P485
+    find_lex $P486, "$/"
+    unless_null $P486, vivify_233
+    $P486 = root_new ['parrot';'Hash']
   vivify_233:
-    set $P488, $P487["xblock"]
-    unless_null $P488, vivify_234
-    new $P488, "Undef"
+    set $P487, $P486["xblock"]
+    unless_null $P487, vivify_234
+    new $P487, "Undef"
   vivify_234:
-    $P489 = $P488."ast"()
-    $P490 = "xblock_immediate"($P489)
-    store_lex "$past", $P490
+    $P488 = $P487."ast"()
+    $P489 = "xblock_immediate"($P488)
+    store_lex "$past", $P489
 .annotate 'line', 158
-    find_lex $P491, "$past"
-    $P491."pasttype"("unless")
+    find_lex $P490, "$past"
+    $P490."pasttype"("unless")
 .annotate 'line', 159
-    find_lex $P492, "$/"
-    find_lex $P493, "$past"
-    $P494 = $P492."!make"($P493)
+    find_lex $P491, "$/"
+    find_lex $P492, "$past"
+    $P493 = $P491."!make"($P492)
 .annotate 'line', 156
-    .return ($P494)
-  control_483:
+    .return ($P493)
+  control_482:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P495, exception, "payload"
-    .return ($P495)
+    getattribute $P494, exception, "payload"
+    .return ($P494)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<while>"  :subid("36_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_499
+.include "except_types.pasm"
+.sub "statement_control:sym<while>"  :subid("36_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_498
 .annotate 'line', 162
-    new $P498, 'ExceptionHandler'
-    set_addr $P498, control_497
-    $P498."handle_types"(57)
-    push_eh $P498
+    new $P497, 'ExceptionHandler'
+    set_addr $P497, control_496
+    $P497."handle_types"(.CONTROL_RETURN)
+    push_eh $P497
     .lex "self", self
-    .lex "$/", param_499
+    .lex "$/", param_498
 .annotate 'line', 163
-    new $P500, "Undef"
-    .lex "$past", $P500
-    find_lex $P501, "$/"
-    unless_null $P501, vivify_235
-    $P501 = root_new ['parrot';'Hash']
+    new $P499, "Undef"
+    .lex "$past", $P499
+    find_lex $P500, "$/"
+    unless_null $P500, vivify_235
+    $P500 = root_new ['parrot';'Hash']
   vivify_235:
-    set $P502, $P501["xblock"]
-    unless_null $P502, vivify_236
-    new $P502, "Undef"
+    set $P501, $P500["xblock"]
+    unless_null $P501, vivify_236
+    new $P501, "Undef"
   vivify_236:
-    $P503 = $P502."ast"()
-    $P504 = "xblock_immediate"($P503)
-    store_lex "$past", $P504
+    $P502 = $P501."ast"()
+    $P503 = "xblock_immediate"($P502)
+    store_lex "$past", $P503
 .annotate 'line', 164
-    find_lex $P505, "$past"
-    find_lex $P506, "$/"
-    unless_null $P506, vivify_237
-    $P506 = root_new ['parrot';'Hash']
+    find_lex $P504, "$past"
+    find_lex $P505, "$/"
+    unless_null $P505, vivify_237
+    $P505 = root_new ['parrot';'Hash']
   vivify_237:
-    set $P507, $P506["sym"]
-    unless_null $P507, vivify_238
-    new $P507, "Undef"
+    set $P506, $P505["sym"]
+    unless_null $P506, vivify_238
+    new $P506, "Undef"
   vivify_238:
-    set $S508, $P507
-    $P505."pasttype"($S508)
+    set $S507, $P506
+    $P504."pasttype"($S507)
 .annotate 'line', 165
-    find_lex $P509, "$/"
-    find_lex $P510, "$past"
-    $P511 = $P509."!make"($P510)
+    find_lex $P508, "$/"
+    find_lex $P509, "$past"
+    $P510 = $P508."!make"($P509)
 .annotate 'line', 162
-    .return ($P511)
-  control_497:
+    .return ($P510)
+  control_496:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P512, exception, "payload"
-    .return ($P512)
+    getattribute $P511, exception, "payload"
+    .return ($P511)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<repeat>"  :subid("37_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_516
+.include "except_types.pasm"
+.sub "statement_control:sym<repeat>"  :subid("37_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_515
 .annotate 'line', 168
-    new $P515, 'ExceptionHandler'
-    set_addr $P515, control_514
-    $P515."handle_types"(57)
-    push_eh $P515
+    new $P514, 'ExceptionHandler'
+    set_addr $P514, control_513
+    $P514."handle_types"(.CONTROL_RETURN)
+    push_eh $P514
     .lex "self", self
-    .lex "$/", param_516
+    .lex "$/", param_515
 .annotate 'line', 169
-    new $P517, "Undef"
-    .lex "$pasttype", $P517
+    new $P516, "Undef"
+    .lex "$pasttype", $P516
 .annotate 'line', 170
-    new $P518, "Undef"
-    .lex "$past", $P518
+    new $P517, "Undef"
+    .lex "$past", $P517
 .annotate 'line', 169
-    new $P519, "String"
-    assign $P519, "repeat_"
-    find_lex $P520, "$/"
-    unless_null $P520, vivify_239
-    $P520 = root_new ['parrot';'Hash']
+    new $P518, "String"
+    assign $P518, "repeat_"
+    find_lex $P519, "$/"
+    unless_null $P519, vivify_239
+    $P519 = root_new ['parrot';'Hash']
   vivify_239:
-    set $P521, $P520["wu"]
-    unless_null $P521, vivify_240
-    new $P521, "Undef"
+    set $P520, $P519["wu"]
+    unless_null $P520, vivify_240
+    new $P520, "Undef"
   vivify_240:
-    set $S522, $P521
-    concat $P523, $P519, $S522
-    store_lex "$pasttype", $P523
-    find_lex $P524, "$past"
+    set $S521, $P520
+    concat $P522, $P518, $S521
+    store_lex "$pasttype", $P522
+    find_lex $P523, "$past"
 .annotate 'line', 171
-    find_lex $P526, "$/"
-    unless_null $P526, vivify_241
-    $P526 = root_new ['parrot';'Hash']
+    find_lex $P525, "$/"
+    unless_null $P525, vivify_241
+    $P525 = root_new ['parrot';'Hash']
   vivify_241:
-    set $P527, $P526["xblock"]
-    unless_null $P527, vivify_242
-    new $P527, "Undef"
+    set $P526, $P525["xblock"]
+    unless_null $P526, vivify_242
+    new $P526, "Undef"
   vivify_242:
-    if $P527, if_525
+    if $P526, if_524
 .annotate 'line', 176
-    get_hll_global $P534, ["PAST"], "Op"
-    find_lex $P535, "$/"
-    unless_null $P535, vivify_243
-    $P535 = root_new ['parrot';'Hash']
+    get_hll_global $P533, ["PAST"], "Op"
+    find_lex $P534, "$/"
+    unless_null $P534, vivify_243
+    $P534 = root_new ['parrot';'Hash']
   vivify_243:
-    set $P536, $P535["EXPR"]
-    unless_null $P536, vivify_244
-    new $P536, "Undef"
+    set $P535, $P534["EXPR"]
+    unless_null $P535, vivify_244
+    new $P535, "Undef"
   vivify_244:
-    $P537 = $P536."ast"()
-    find_lex $P538, "$/"
-    unless_null $P538, vivify_245
-    $P538 = root_new ['parrot';'Hash']
+    $P536 = $P535."ast"()
+    find_lex $P537, "$/"
+    unless_null $P537, vivify_245
+    $P537 = root_new ['parrot';'Hash']
   vivify_245:
-    set $P539, $P538["pblock"]
-    unless_null $P539, vivify_246
-    new $P539, "Undef"
+    set $P538, $P537["pblock"]
+    unless_null $P538, vivify_246
+    new $P538, "Undef"
   vivify_246:
-    $P540 = $P539."ast"()
-    $P541 = "block_immediate"($P540)
-    find_lex $P542, "$pasttype"
-    find_lex $P543, "$/"
-    $P544 = $P534."new"($P537, $P541, $P542 :named("pasttype"), $P543 :named("node"))
-    store_lex "$past", $P544
+    $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
 .annotate 'line', 175
-    goto if_525_end
-  if_525:
+    goto if_524_end
+  if_524:
 .annotate 'line', 172
-    find_lex $P528, "$/"
-    unless_null $P528, vivify_247
-    $P528 = root_new ['parrot';'Hash']
+    find_lex $P527, "$/"
+    unless_null $P527, vivify_247
+    $P527 = root_new ['parrot';'Hash']
   vivify_247:
-    set $P529, $P528["xblock"]
-    unless_null $P529, vivify_248
-    new $P529, "Undef"
+    set $P528, $P527["xblock"]
+    unless_null $P528, vivify_248
+    new $P528, "Undef"
   vivify_248:
-    $P530 = $P529."ast"()
-    $P531 = "xblock_immediate"($P530)
-    store_lex "$past", $P531
+    $P529 = $P528."ast"()
+    $P530 = "xblock_immediate"($P529)
+    store_lex "$past", $P530
 .annotate 'line', 173
-    find_lex $P532, "$past"
-    find_lex $P533, "$pasttype"
-    $P532."pasttype"($P533)
-  if_525_end:
+    find_lex $P531, "$past"
+    find_lex $P532, "$pasttype"
+    $P531."pasttype"($P532)
+  if_524_end:
 .annotate 'line', 179
-    find_lex $P545, "$/"
-    find_lex $P546, "$past"
-    $P547 = $P545."!make"($P546)
+    find_lex $P544, "$/"
+    find_lex $P545, "$past"
+    $P546 = $P544."!make"($P545)
 .annotate 'line', 168
-    .return ($P547)
-  control_514:
+    .return ($P546)
+  control_513:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P548, exception, "payload"
-    .return ($P548)
+    getattribute $P547, exception, "payload"
+    .return ($P547)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<for>"  :subid("38_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_552
+.include "except_types.pasm"
+.sub "statement_control:sym<for>"  :subid("38_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_551
 .annotate 'line', 182
-    new $P551, 'ExceptionHandler'
-    set_addr $P551, control_550
-    $P551."handle_types"(57)
-    push_eh $P551
+    new $P550, 'ExceptionHandler'
+    set_addr $P550, control_549
+    $P550."handle_types"(.CONTROL_RETURN)
+    push_eh $P550
     .lex "self", self
-    .lex "$/", param_552
+    .lex "$/", param_551
 .annotate 'line', 183
-    new $P553, "Undef"
-    .lex "$past", $P553
+    new $P552, "Undef"
+    .lex "$past", $P552
 .annotate 'line', 185
-    new $P554, "Undef"
-    .lex "$block", $P554
+    new $P553, "Undef"
+    .lex "$block", $P553
 .annotate 'line', 183
-    find_lex $P555, "$/"
-    unless_null $P555, vivify_249
-    $P555 = root_new ['parrot';'Hash']
+    find_lex $P554, "$/"
+    unless_null $P554, vivify_249
+    $P554 = root_new ['parrot';'Hash']
   vivify_249:
-    set $P556, $P555["xblock"]
-    unless_null $P556, vivify_250
-    new $P556, "Undef"
+    set $P555, $P554["xblock"]
+    unless_null $P555, vivify_250
+    new $P555, "Undef"
   vivify_250:
-    $P557 = $P556."ast"()
-    store_lex "$past", $P557
+    $P556 = $P555."ast"()
+    store_lex "$past", $P556
 .annotate 'line', 184
-    find_lex $P558, "$past"
-    $P558."pasttype"("for")
+    find_lex $P557, "$past"
+    $P557."pasttype"("for")
 .annotate 'line', 185
-    find_lex $P559, "$past"
-    unless_null $P559, vivify_251
-    $P559 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P558, "$past"
+    unless_null $P558, vivify_251
+    $P558 = root_new ['parrot';'ResizablePMCArray']
   vivify_251:
-    set $P560, $P559[1]
-    unless_null $P560, vivify_252
-    new $P560, "Undef"
+    set $P559, $P558[1]
+    unless_null $P559, vivify_252
+    new $P559, "Undef"
   vivify_252:
-    store_lex "$block", $P560
+    store_lex "$block", $P559
 .annotate 'line', 186
-    find_lex $P562, "$block"
-    $P563 = $P562."arity"()
-    if $P563, unless_561_end
+    find_lex $P561, "$block"
+    $P562 = $P561."arity"()
+    if $P562, unless_560_end
 .annotate 'line', 187
-    find_lex $P564, "$block"
-    unless_null $P564, vivify_253
-    $P564 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P563, "$block"
+    unless_null $P563, vivify_253
+    $P563 = root_new ['parrot';'ResizablePMCArray']
   vivify_253:
-    set $P565, $P564[0]
-    unless_null $P565, vivify_254
-    new $P565, "Undef"
+    set $P564, $P563[0]
+    unless_null $P564, vivify_254
+    new $P564, "Undef"
   vivify_254:
-    get_hll_global $P566, ["PAST"], "Var"
-    $P567 = $P566."new"("$_" :named("name"), "parameter" :named("scope"))
-    $P565."push"($P567)
+    get_hll_global $P565, ["PAST"], "Var"
+    $P566 = $P565."new"("$_" :named("name"), "parameter" :named("scope"))
+    $P564."push"($P566)
 .annotate 'line', 188
-    find_lex $P568, "$block"
-    $P568."symbol"("$_", "lexical" :named("scope"))
+    find_lex $P567, "$block"
+    $P567."symbol"("$_", "lexical" :named("scope"))
 .annotate 'line', 189
-    find_lex $P569, "$block"
-    $P569."arity"(1)
-  unless_561_end:
+    find_lex $P568, "$block"
+    $P568."arity"(1)
+  unless_560_end:
 .annotate 'line', 191
-    find_lex $P570, "$block"
-    $P570."blocktype"("immediate")
+    find_lex $P569, "$block"
+    $P569."blocktype"("immediate")
 .annotate 'line', 192
-    find_lex $P571, "$/"
-    find_lex $P572, "$past"
-    $P573 = $P571."!make"($P572)
+    find_lex $P570, "$/"
+    find_lex $P571, "$past"
+    $P572 = $P570."!make"($P571)
 .annotate 'line', 182
-    .return ($P573)
-  control_550:
+    .return ($P572)
+  control_549:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P574, exception, "payload"
-    .return ($P574)
+    getattribute $P573, exception, "payload"
+    .return ($P573)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<return>"  :subid("39_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_578
+.include "except_types.pasm"
+.sub "statement_control:sym<return>"  :subid("39_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_577
 .annotate 'line', 195
-    new $P577, 'ExceptionHandler'
-    set_addr $P577, control_576
-    $P577."handle_types"(57)
-    push_eh $P577
+    new $P576, 'ExceptionHandler'
+    set_addr $P576, control_575
+    $P576."handle_types"(.CONTROL_RETURN)
+    push_eh $P576
     .lex "self", self
-    .lex "$/", param_578
+    .lex "$/", param_577
 .annotate 'line', 196
-    find_lex $P579, "$/"
-    get_hll_global $P580, ["PAST"], "Op"
-    find_lex $P581, "$/"
-    unless_null $P581, vivify_255
-    $P581 = root_new ['parrot';'Hash']
+    find_lex $P578, "$/"
+    get_hll_global $P579, ["PAST"], "Op"
+    find_lex $P580, "$/"
+    unless_null $P580, vivify_255
+    $P580 = root_new ['parrot';'Hash']
   vivify_255:
-    set $P582, $P581["EXPR"]
-    unless_null $P582, vivify_256
-    new $P582, "Undef"
+    set $P581, $P580["EXPR"]
+    unless_null $P581, vivify_256
+    new $P581, "Undef"
   vivify_256:
-    $P583 = $P582."ast"()
-    find_lex $P584, "$/"
-    $P585 = $P580."new"($P583, "return" :named("pasttype"), $P584 :named("node"))
-    $P586 = $P579."!make"($P585)
+    $P582 = $P581."ast"()
+    find_lex $P583, "$/"
+    $P584 = $P579."new"($P582, "return" :named("pasttype"), $P583 :named("node"))
+    $P585 = $P578."!make"($P584)
 .annotate 'line', 195
-    .return ($P586)
-  control_576:
+    .return ($P585)
+  control_575:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P587, exception, "payload"
-    .return ($P587)
+    getattribute $P586, exception, "payload"
+    .return ($P586)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CATCH>"  :subid("40_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_591
+.include "except_types.pasm"
+.sub "statement_control:sym<CATCH>"  :subid("40_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_590
 .annotate 'line', 199
-    new $P590, 'ExceptionHandler'
-    set_addr $P590, control_589
-    $P590."handle_types"(57)
-    push_eh $P590
+    new $P589, 'ExceptionHandler'
+    set_addr $P589, control_588
+    $P589."handle_types"(.CONTROL_RETURN)
+    push_eh $P589
     .lex "self", self
-    .lex "$/", param_591
+    .lex "$/", param_590
 .annotate 'line', 200
-    new $P592, "Undef"
-    .lex "$block", $P592
-    find_lex $P593, "$/"
-    unless_null $P593, vivify_257
-    $P593 = root_new ['parrot';'Hash']
+    new $P591, "Undef"
+    .lex "$block", $P591
+    find_lex $P592, "$/"
+    unless_null $P592, vivify_257
+    $P592 = root_new ['parrot';'Hash']
   vivify_257:
-    set $P594, $P593["block"]
-    unless_null $P594, vivify_258
-    new $P594, "Undef"
+    set $P593, $P592["block"]
+    unless_null $P593, vivify_258
+    new $P593, "Undef"
   vivify_258:
-    $P595 = $P594."ast"()
-    store_lex "$block", $P595
+    $P594 = $P593."ast"()
+    store_lex "$block", $P594
 .annotate 'line', 201
-    find_lex $P596, "$/"
-    find_lex $P597, "$block"
-    "push_block_handler"($P596, $P597)
+    find_lex $P595, "$/"
+    find_lex $P596, "$block"
+    "push_block_handler"($P595, $P596)
 .annotate 'line', 202
-    get_global $P598, "@BLOCK"
-    unless_null $P598, vivify_259
-    $P598 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P597, "@BLOCK"
+    unless_null $P597, vivify_259
+    $P597 = root_new ['parrot';'ResizablePMCArray']
   vivify_259:
-    set $P599, $P598[0]
-    unless_null $P599, vivify_260
-    new $P599, "Undef"
+    set $P598, $P597[0]
+    unless_null $P598, vivify_260
+    new $P598, "Undef"
   vivify_260:
-    $P600 = $P599."handlers"()
-    set $P601, $P600[0]
-    unless_null $P601, vivify_261
-    new $P601, "Undef"
+    $P599 = $P598."handlers"()
+    set $P600, $P599[0]
+    unless_null $P600, vivify_261
+    new $P600, "Undef"
   vivify_261:
-    $P601."handle_types_except"("CONTROL")
+    $P600."handle_types_except"("CONTROL")
 .annotate 'line', 203
-    find_lex $P602, "$/"
-    get_hll_global $P603, ["PAST"], "Stmts"
-    find_lex $P604, "$/"
-    $P605 = $P603."new"($P604 :named("node"))
-    $P606 = $P602."!make"($P605)
+    find_lex $P601, "$/"
+    get_hll_global $P602, ["PAST"], "Stmts"
+    find_lex $P603, "$/"
+    $P604 = $P602."new"($P603 :named("node"))
+    $P605 = $P601."!make"($P604)
 .annotate 'line', 199
-    .return ($P606)
-  control_589:
+    .return ($P605)
+  control_588:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P607, exception, "payload"
-    .return ($P607)
+    getattribute $P606, exception, "payload"
+    .return ($P606)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CONTROL>"  :subid("41_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_611
+.include "except_types.pasm"
+.sub "statement_control:sym<CONTROL>"  :subid("41_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_610
 .annotate 'line', 206
-    new $P610, 'ExceptionHandler'
-    set_addr $P610, control_609
-    $P610."handle_types"(57)
-    push_eh $P610
+    new $P609, 'ExceptionHandler'
+    set_addr $P609, control_608
+    $P609."handle_types"(.CONTROL_RETURN)
+    push_eh $P609
     .lex "self", self
-    .lex "$/", param_611
+    .lex "$/", param_610
 .annotate 'line', 207
-    new $P612, "Undef"
-    .lex "$block", $P612
-    find_lex $P613, "$/"
-    unless_null $P613, vivify_262
-    $P613 = root_new ['parrot';'Hash']
+    new $P611, "Undef"
+    .lex "$block", $P611
+    find_lex $P612, "$/"
+    unless_null $P612, vivify_262
+    $P612 = root_new ['parrot';'Hash']
   vivify_262:
-    set $P614, $P613["block"]
-    unless_null $P614, vivify_263
-    new $P614, "Undef"
+    set $P613, $P612["block"]
+    unless_null $P613, vivify_263
+    new $P613, "Undef"
   vivify_263:
-    $P615 = $P614."ast"()
-    store_lex "$block", $P615
+    $P614 = $P613."ast"()
+    store_lex "$block", $P614
 .annotate 'line', 208
-    find_lex $P616, "$/"
-    find_lex $P617, "$block"
-    "push_block_handler"($P616, $P617)
+    find_lex $P615, "$/"
+    find_lex $P616, "$block"
+    "push_block_handler"($P615, $P616)
 .annotate 'line', 209
-    get_global $P618, "@BLOCK"
-    unless_null $P618, vivify_264
-    $P618 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P617, "@BLOCK"
+    unless_null $P617, vivify_264
+    $P617 = root_new ['parrot';'ResizablePMCArray']
   vivify_264:
-    set $P619, $P618[0]
-    unless_null $P619, vivify_265
-    new $P619, "Undef"
+    set $P618, $P617[0]
+    unless_null $P618, vivify_265
+    new $P618, "Undef"
   vivify_265:
-    $P620 = $P619."handlers"()
-    set $P621, $P620[0]
-    unless_null $P621, vivify_266
-    new $P621, "Undef"
+    $P619 = $P618."handlers"()
+    set $P620, $P619[0]
+    unless_null $P620, vivify_266
+    new $P620, "Undef"
   vivify_266:
-    $P621."handle_types"("CONTROL")
+    $P620."handle_types"("CONTROL")
 .annotate 'line', 210
-    find_lex $P622, "$/"
-    get_hll_global $P623, ["PAST"], "Stmts"
-    find_lex $P624, "$/"
-    $P625 = $P623."new"($P624 :named("node"))
-    $P626 = $P622."!make"($P625)
+    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 ($P626)
-  control_609:
+    .return ($P625)
+  control_608:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P627, exception, "payload"
-    .return ($P627)
+    getattribute $P626, exception, "payload"
+    .return ($P626)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<INIT>"  :subid("42_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_632
+.include "except_types.pasm"
+.sub "statement_prefix:sym<INIT>"  :subid("42_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_631
 .annotate 'line', 250
-    new $P631, 'ExceptionHandler'
-    set_addr $P631, control_630
-    $P631."handle_types"(57)
-    push_eh $P631
+    new $P630, 'ExceptionHandler'
+    set_addr $P630, control_629
+    $P630."handle_types"(.CONTROL_RETURN)
+    push_eh $P630
     .lex "self", self
-    .lex "$/", param_632
+    .lex "$/", param_631
 .annotate 'line', 251
-    get_global $P633, "@BLOCK"
-    unless_null $P633, vivify_267
-    $P633 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P632, "@BLOCK"
+    unless_null $P632, vivify_267
+    $P632 = root_new ['parrot';'ResizablePMCArray']
   vivify_267:
-    set $P634, $P633[0]
-    unless_null $P634, vivify_268
-    new $P634, "Undef"
+    set $P633, $P632[0]
+    unless_null $P633, vivify_268
+    new $P633, "Undef"
   vivify_268:
-    $P635 = $P634."loadinit"()
-    find_lex $P636, "$/"
-    unless_null $P636, vivify_269
-    $P636 = root_new ['parrot';'Hash']
+    $P634 = $P633."loadinit"()
+    find_lex $P635, "$/"
+    unless_null $P635, vivify_269
+    $P635 = root_new ['parrot';'Hash']
   vivify_269:
-    set $P637, $P636["blorst"]
-    unless_null $P637, vivify_270
-    new $P637, "Undef"
+    set $P636, $P635["blorst"]
+    unless_null $P636, vivify_270
+    new $P636, "Undef"
   vivify_270:
-    $P638 = $P637."ast"()
-    $P635."push"($P638)
+    $P637 = $P636."ast"()
+    $P634."push"($P637)
 .annotate 'line', 252
-    find_lex $P639, "$/"
-    get_hll_global $P640, ["PAST"], "Stmts"
-    find_lex $P641, "$/"
-    $P642 = $P640."new"($P641 :named("node"))
-    $P643 = $P639."!make"($P642)
+    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 ($P643)
-  control_630:
+    .return ($P642)
+  control_629:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P644, exception, "payload"
-    .return ($P644)
+    getattribute $P643, exception, "payload"
+    .return ($P643)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<try>"  :subid("43_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_648
+.include "except_types.pasm"
+.sub "statement_prefix:sym<try>"  :subid("43_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_647
 .annotate 'line', 255
-    new $P647, 'ExceptionHandler'
-    set_addr $P647, control_646
-    $P647."handle_types"(57)
-    push_eh $P647
+    new $P646, 'ExceptionHandler'
+    set_addr $P646, control_645
+    $P646."handle_types"(.CONTROL_RETURN)
+    push_eh $P646
     .lex "self", self
-    .lex "$/", param_648
+    .lex "$/", param_647
 .annotate 'line', 256
-    new $P649, "Undef"
-    .lex "$past", $P649
-    find_lex $P650, "$/"
-    unless_null $P650, vivify_271
-    $P650 = root_new ['parrot';'Hash']
+    new $P648, "Undef"
+    .lex "$past", $P648
+    find_lex $P649, "$/"
+    unless_null $P649, vivify_271
+    $P649 = root_new ['parrot';'Hash']
   vivify_271:
-    set $P651, $P650["blorst"]
-    unless_null $P651, vivify_272
-    new $P651, "Undef"
+    set $P650, $P649["blorst"]
+    unless_null $P650, vivify_272
+    new $P650, "Undef"
   vivify_272:
-    $P652 = $P651."ast"()
-    store_lex "$past", $P652
+    $P651 = $P650."ast"()
+    store_lex "$past", $P651
 .annotate 'line', 257
-    find_lex $P654, "$past"
-    $S655 = $P654."WHAT"()
-    isne $I656, $S655, "PAST::Block()"
-    unless $I656, if_653_end
+    find_lex $P653, "$past"
+    $S654 = $P653."WHAT"()
+    isne $I655, $S654, "PAST::Block()"
+    unless $I655, if_652_end
 .annotate 'line', 258
-    get_hll_global $P657, ["PAST"], "Block"
-    find_lex $P658, "$past"
-    find_lex $P659, "$/"
-    $P660 = $P657."new"($P658, "immediate" :named("blocktype"), $P659 :named("node"))
-    store_lex "$past", $P660
-  if_653_end:
+    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 $P662, "$past"
-    $P663 = $P662."handlers"()
-    if $P663, unless_661_end
+    find_lex $P661, "$past"
+    $P662 = $P661."handlers"()
+    if $P662, unless_660_end
 .annotate 'line', 261
-    find_lex $P664, "$past"
-    get_hll_global $P665, ["PAST"], "Control"
+    find_lex $P663, "$past"
+    get_hll_global $P664, ["PAST"], "Control"
 .annotate 'line', 263
-    get_hll_global $P666, ["PAST"], "Stmts"
+    get_hll_global $P665, ["PAST"], "Stmts"
 .annotate 'line', 264
-    get_hll_global $P667, ["PAST"], "Op"
+    get_hll_global $P666, ["PAST"], "Op"
 .annotate 'line', 265
-    get_hll_global $P668, ["PAST"], "Var"
+    get_hll_global $P667, ["PAST"], "Var"
 .annotate 'line', 266
-    get_hll_global $P669, ["PAST"], "Var"
-    $P670 = $P669."new"("register" :named("scope"), "exception" :named("name"))
-    $P671 = $P668."new"($P670, "handled", "keyed" :named("scope"))
+    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
-    $P672 = $P667."new"($P671, 1, "bind" :named("pasttype"))
+    $P671 = $P666."new"($P670, 1, "bind" :named("pasttype"))
 .annotate 'line', 264
-    $P673 = $P666."new"($P672)
+    $P672 = $P665."new"($P671)
 .annotate 'line', 263
-    $P674 = $P665."new"($P673, "CONTROL" :named("handle_types_except"))
+    $P673 = $P664."new"($P672, "CONTROL" :named("handle_types_except"))
 .annotate 'line', 261
-    new $P675, "ResizablePMCArray"
-    push $P675, $P674
-    $P664."handlers"($P675)
-  unless_661_end:
+    new $P674, "ResizablePMCArray"
+    push $P674, $P673
+    $P663."handlers"($P674)
+  unless_660_end:
 .annotate 'line', 275
-    find_lex $P676, "$/"
-    find_lex $P677, "$past"
-    $P678 = $P676."!make"($P677)
+    find_lex $P675, "$/"
+    find_lex $P676, "$past"
+    $P677 = $P675."!make"($P676)
 .annotate 'line', 255
-    .return ($P678)
-  control_646:
+    .return ($P677)
+  control_645:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P679, exception, "payload"
-    .return ($P679)
+    getattribute $P678, exception, "payload"
+    .return ($P678)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "blorst"  :subid("44_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_683
+.include "except_types.pasm"
+.sub "blorst"  :subid("44_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_682
 .annotate 'line', 278
-    new $P682, 'ExceptionHandler'
-    set_addr $P682, control_681
-    $P682."handle_types"(57)
-    push_eh $P682
+    new $P681, 'ExceptionHandler'
+    set_addr $P681, control_680
+    $P681."handle_types"(.CONTROL_RETURN)
+    push_eh $P681
     .lex "self", self
-    .lex "$/", param_683
+    .lex "$/", param_682
 .annotate 'line', 279
-    find_lex $P684, "$/"
+    find_lex $P683, "$/"
 .annotate 'line', 280
-    find_lex $P687, "$/"
-    unless_null $P687, vivify_273
-    $P687 = root_new ['parrot';'Hash']
+    find_lex $P686, "$/"
+    unless_null $P686, vivify_273
+    $P686 = root_new ['parrot';'Hash']
   vivify_273:
-    set $P688, $P687["block"]
-    unless_null $P688, vivify_274
-    new $P688, "Undef"
+    set $P687, $P686["block"]
+    unless_null $P687, vivify_274
+    new $P687, "Undef"
   vivify_274:
-    if $P688, if_686
+    if $P687, if_685
 .annotate 'line', 281
-    find_lex $P693, "$/"
-    unless_null $P693, vivify_275
-    $P693 = root_new ['parrot';'Hash']
+    find_lex $P692, "$/"
+    unless_null $P692, vivify_275
+    $P692 = root_new ['parrot';'Hash']
   vivify_275:
-    set $P694, $P693["statement"]
-    unless_null $P694, vivify_276
-    new $P694, "Undef"
+    set $P693, $P692["statement"]
+    unless_null $P693, vivify_276
+    new $P693, "Undef"
   vivify_276:
-    $P695 = $P694."ast"()
-    set $P685, $P695
+    $P694 = $P693."ast"()
+    set $P684, $P694
 .annotate 'line', 280
-    goto if_686_end
-  if_686:
-    find_lex $P689, "$/"
-    unless_null $P689, vivify_277
-    $P689 = root_new ['parrot';'Hash']
+    goto if_685_end
+  if_685:
+    find_lex $P688, "$/"
+    unless_null $P688, vivify_277
+    $P688 = root_new ['parrot';'Hash']
   vivify_277:
-    set $P690, $P689["block"]
-    unless_null $P690, vivify_278
-    new $P690, "Undef"
+    set $P689, $P688["block"]
+    unless_null $P689, vivify_278
+    new $P689, "Undef"
   vivify_278:
-    $P691 = $P690."ast"()
-    $P692 = "block_immediate"($P691)
-    set $P685, $P692
-  if_686_end:
-    $P696 = $P684."!make"($P685)
+    $P690 = $P689."ast"()
+    $P691 = "block_immediate"($P690)
+    set $P684, $P691
+  if_685_end:
+    $P695 = $P683."!make"($P684)
 .annotate 'line', 278
-    .return ($P696)
-  control_681:
+    .return ($P695)
+  control_680:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P697, exception, "payload"
-    .return ($P697)
+    getattribute $P696, exception, "payload"
+    .return ($P696)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<if>"  :subid("45_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_701
+.include "except_types.pasm"
+.sub "statement_mod_cond:sym<if>"  :subid("45_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_700
 .annotate 'line', 286
-    new $P700, 'ExceptionHandler'
-    set_addr $P700, control_699
-    $P700."handle_types"(57)
-    push_eh $P700
+    new $P699, 'ExceptionHandler'
+    set_addr $P699, control_698
+    $P699."handle_types"(.CONTROL_RETURN)
+    push_eh $P699
     .lex "self", self
-    .lex "$/", param_701
+    .lex "$/", param_700
+    find_lex $P701, "$/"
     find_lex $P702, "$/"
-    find_lex $P703, "$/"
-    unless_null $P703, vivify_279
-    $P703 = root_new ['parrot';'Hash']
+    unless_null $P702, vivify_279
+    $P702 = root_new ['parrot';'Hash']
   vivify_279:
-    set $P704, $P703["cond"]
-    unless_null $P704, vivify_280
-    new $P704, "Undef"
+    set $P703, $P702["cond"]
+    unless_null $P703, vivify_280
+    new $P703, "Undef"
   vivify_280:
-    $P705 = $P704."ast"()
-    $P706 = $P702."!make"($P705)
-    .return ($P706)
-  control_699:
+    $P704 = $P703."ast"()
+    $P705 = $P701."!make"($P704)
+    .return ($P705)
+  control_698:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P707, exception, "payload"
-    .return ($P707)
+    getattribute $P706, exception, "payload"
+    .return ($P706)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<unless>"  :subid("46_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_711
+.include "except_types.pasm"
+.sub "statement_mod_cond:sym<unless>"  :subid("46_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_710
 .annotate 'line', 287
-    new $P710, 'ExceptionHandler'
-    set_addr $P710, control_709
-    $P710."handle_types"(57)
-    push_eh $P710
+    new $P709, 'ExceptionHandler'
+    set_addr $P709, control_708
+    $P709."handle_types"(.CONTROL_RETURN)
+    push_eh $P709
     .lex "self", self
-    .lex "$/", param_711
+    .lex "$/", param_710
+    find_lex $P711, "$/"
     find_lex $P712, "$/"
-    find_lex $P713, "$/"
-    unless_null $P713, vivify_281
-    $P713 = root_new ['parrot';'Hash']
+    unless_null $P712, vivify_281
+    $P712 = root_new ['parrot';'Hash']
   vivify_281:
-    set $P714, $P713["cond"]
-    unless_null $P714, vivify_282
-    new $P714, "Undef"
+    set $P713, $P712["cond"]
+    unless_null $P713, vivify_282
+    new $P713, "Undef"
   vivify_282:
-    $P715 = $P714."ast"()
-    $P716 = $P712."!make"($P715)
-    .return ($P716)
-  control_709:
+    $P714 = $P713."ast"()
+    $P715 = $P711."!make"($P714)
+    .return ($P715)
+  control_708:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P717, exception, "payload"
-    .return ($P717)
+    getattribute $P716, exception, "payload"
+    .return ($P716)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<while>"  :subid("47_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_721
+.include "except_types.pasm"
+.sub "statement_mod_loop:sym<while>"  :subid("47_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_720
 .annotate 'line', 289
-    new $P720, 'ExceptionHandler'
-    set_addr $P720, control_719
-    $P720."handle_types"(57)
-    push_eh $P720
+    new $P719, 'ExceptionHandler'
+    set_addr $P719, control_718
+    $P719."handle_types"(.CONTROL_RETURN)
+    push_eh $P719
     .lex "self", self
-    .lex "$/", param_721
+    .lex "$/", param_720
+    find_lex $P721, "$/"
     find_lex $P722, "$/"
-    find_lex $P723, "$/"
-    unless_null $P723, vivify_283
-    $P723 = root_new ['parrot';'Hash']
+    unless_null $P722, vivify_283
+    $P722 = root_new ['parrot';'Hash']
   vivify_283:
-    set $P724, $P723["cond"]
-    unless_null $P724, vivify_284
-    new $P724, "Undef"
+    set $P723, $P722["cond"]
+    unless_null $P723, vivify_284
+    new $P723, "Undef"
   vivify_284:
-    $P725 = $P724."ast"()
-    $P726 = $P722."!make"($P725)
-    .return ($P726)
-  control_719:
+    $P724 = $P723."ast"()
+    $P725 = $P721."!make"($P724)
+    .return ($P725)
+  control_718:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P727, exception, "payload"
-    .return ($P727)
+    getattribute $P726, exception, "payload"
+    .return ($P726)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<until>"  :subid("48_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_731
+.include "except_types.pasm"
+.sub "statement_mod_loop:sym<until>"  :subid("48_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_730
 .annotate 'line', 290
-    new $P730, 'ExceptionHandler'
-    set_addr $P730, control_729
-    $P730."handle_types"(57)
-    push_eh $P730
+    new $P729, 'ExceptionHandler'
+    set_addr $P729, control_728
+    $P729."handle_types"(.CONTROL_RETURN)
+    push_eh $P729
     .lex "self", self
-    .lex "$/", param_731
+    .lex "$/", param_730
+    find_lex $P731, "$/"
     find_lex $P732, "$/"
-    find_lex $P733, "$/"
-    unless_null $P733, vivify_285
-    $P733 = root_new ['parrot';'Hash']
+    unless_null $P732, vivify_285
+    $P732 = root_new ['parrot';'Hash']
   vivify_285:
-    set $P734, $P733["cond"]
-    unless_null $P734, vivify_286
-    new $P734, "Undef"
+    set $P733, $P732["cond"]
+    unless_null $P733, vivify_286
+    new $P733, "Undef"
   vivify_286:
-    $P735 = $P734."ast"()
-    $P736 = $P732."!make"($P735)
-    .return ($P736)
-  control_729:
+    $P734 = $P733."ast"()
+    $P735 = $P731."!make"($P734)
+    .return ($P735)
+  control_728:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P737, exception, "payload"
-    .return ($P737)
+    getattribute $P736, exception, "payload"
+    .return ($P736)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<fatarrow>"  :subid("49_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_741
+.include "except_types.pasm"
+.sub "term:sym<fatarrow>"  :subid("49_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_740
 .annotate 'line', 294
-    new $P740, 'ExceptionHandler'
-    set_addr $P740, control_739
-    $P740."handle_types"(57)
-    push_eh $P740
+    new $P739, 'ExceptionHandler'
+    set_addr $P739, control_738
+    $P739."handle_types"(.CONTROL_RETURN)
+    push_eh $P739
     .lex "self", self
-    .lex "$/", param_741
+    .lex "$/", param_740
+    find_lex $P741, "$/"
     find_lex $P742, "$/"
-    find_lex $P743, "$/"
-    unless_null $P743, vivify_287
-    $P743 = root_new ['parrot';'Hash']
+    unless_null $P742, vivify_287
+    $P742 = root_new ['parrot';'Hash']
   vivify_287:
-    set $P744, $P743["fatarrow"]
-    unless_null $P744, vivify_288
-    new $P744, "Undef"
+    set $P743, $P742["fatarrow"]
+    unless_null $P743, vivify_288
+    new $P743, "Undef"
   vivify_288:
-    $P745 = $P744."ast"()
-    $P746 = $P742."!make"($P745)
-    .return ($P746)
-  control_739:
+    $P744 = $P743."ast"()
+    $P745 = $P741."!make"($P744)
+    .return ($P745)
+  control_738:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P747, exception, "payload"
-    .return ($P747)
+    getattribute $P746, exception, "payload"
+    .return ($P746)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<colonpair>"  :subid("50_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_751
+.include "except_types.pasm"
+.sub "term:sym<colonpair>"  :subid("50_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_750
 .annotate 'line', 295
-    new $P750, 'ExceptionHandler'
-    set_addr $P750, control_749
-    $P750."handle_types"(57)
-    push_eh $P750
+    new $P749, 'ExceptionHandler'
+    set_addr $P749, control_748
+    $P749."handle_types"(.CONTROL_RETURN)
+    push_eh $P749
     .lex "self", self
-    .lex "$/", param_751
+    .lex "$/", param_750
+    find_lex $P751, "$/"
     find_lex $P752, "$/"
-    find_lex $P753, "$/"
-    unless_null $P753, vivify_289
-    $P753 = root_new ['parrot';'Hash']
+    unless_null $P752, vivify_289
+    $P752 = root_new ['parrot';'Hash']
   vivify_289:
-    set $P754, $P753["colonpair"]
-    unless_null $P754, vivify_290
-    new $P754, "Undef"
+    set $P753, $P752["colonpair"]
+    unless_null $P753, vivify_290
+    new $P753, "Undef"
   vivify_290:
-    $P755 = $P754."ast"()
-    $P756 = $P752."!make"($P755)
-    .return ($P756)
-  control_749:
+    $P754 = $P753."ast"()
+    $P755 = $P751."!make"($P754)
+    .return ($P755)
+  control_748:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P757, exception, "payload"
-    .return ($P757)
+    getattribute $P756, exception, "payload"
+    .return ($P756)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<variable>"  :subid("51_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_761
+.include "except_types.pasm"
+.sub "term:sym<variable>"  :subid("51_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_760
 .annotate 'line', 296
-    new $P760, 'ExceptionHandler'
-    set_addr $P760, control_759
-    $P760."handle_types"(57)
-    push_eh $P760
+    new $P759, 'ExceptionHandler'
+    set_addr $P759, control_758
+    $P759."handle_types"(.CONTROL_RETURN)
+    push_eh $P759
     .lex "self", self
-    .lex "$/", param_761
+    .lex "$/", param_760
+    find_lex $P761, "$/"
     find_lex $P762, "$/"
-    find_lex $P763, "$/"
-    unless_null $P763, vivify_291
-    $P763 = root_new ['parrot';'Hash']
+    unless_null $P762, vivify_291
+    $P762 = root_new ['parrot';'Hash']
   vivify_291:
-    set $P764, $P763["variable"]
-    unless_null $P764, vivify_292
-    new $P764, "Undef"
+    set $P763, $P762["variable"]
+    unless_null $P763, vivify_292
+    new $P763, "Undef"
   vivify_292:
-    $P765 = $P764."ast"()
-    $P766 = $P762."!make"($P765)
-    .return ($P766)
-  control_759:
+    $P764 = $P763."ast"()
+    $P765 = $P761."!make"($P764)
+    .return ($P765)
+  control_758:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P767, exception, "payload"
-    .return ($P767)
+    getattribute $P766, exception, "payload"
+    .return ($P766)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<package_declarator>"  :subid("52_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_771
+.include "except_types.pasm"
+.sub "term:sym<package_declarator>"  :subid("52_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_770
 .annotate 'line', 297
-    new $P770, 'ExceptionHandler'
-    set_addr $P770, control_769
-    $P770."handle_types"(57)
-    push_eh $P770
+    new $P769, 'ExceptionHandler'
+    set_addr $P769, control_768
+    $P769."handle_types"(.CONTROL_RETURN)
+    push_eh $P769
     .lex "self", self
-    .lex "$/", param_771
+    .lex "$/", param_770
+    find_lex $P771, "$/"
     find_lex $P772, "$/"
-    find_lex $P773, "$/"
-    unless_null $P773, vivify_293
-    $P773 = root_new ['parrot';'Hash']
+    unless_null $P772, vivify_293
+    $P772 = root_new ['parrot';'Hash']
   vivify_293:
-    set $P774, $P773["package_declarator"]
-    unless_null $P774, vivify_294
-    new $P774, "Undef"
+    set $P773, $P772["package_declarator"]
+    unless_null $P773, vivify_294
+    new $P773, "Undef"
   vivify_294:
-    $P775 = $P774."ast"()
-    $P776 = $P772."!make"($P775)
-    .return ($P776)
-  control_769:
+    $P774 = $P773."ast"()
+    $P775 = $P771."!make"($P774)
+    .return ($P775)
+  control_768:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P777, exception, "payload"
-    .return ($P777)
+    getattribute $P776, exception, "payload"
+    .return ($P776)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<scope_declarator>"  :subid("53_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_781
+.include "except_types.pasm"
+.sub "term:sym<scope_declarator>"  :subid("53_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_780
 .annotate 'line', 298
-    new $P780, 'ExceptionHandler'
-    set_addr $P780, control_779
-    $P780."handle_types"(57)
-    push_eh $P780
+    new $P779, 'ExceptionHandler'
+    set_addr $P779, control_778
+    $P779."handle_types"(.CONTROL_RETURN)
+    push_eh $P779
     .lex "self", self
-    .lex "$/", param_781
+    .lex "$/", param_780
+    find_lex $P781, "$/"
     find_lex $P782, "$/"
-    find_lex $P783, "$/"
-    unless_null $P783, vivify_295
-    $P783 = root_new ['parrot';'Hash']
+    unless_null $P782, vivify_295
+    $P782 = root_new ['parrot';'Hash']
   vivify_295:
-    set $P784, $P783["scope_declarator"]
-    unless_null $P784, vivify_296
-    new $P784, "Undef"
+    set $P783, $P782["scope_declarator"]
+    unless_null $P783, vivify_296
+    new $P783, "Undef"
   vivify_296:
-    $P785 = $P784."ast"()
-    $P786 = $P782."!make"($P785)
-    .return ($P786)
-  control_779:
+    $P784 = $P783."ast"()
+    $P785 = $P781."!make"($P784)
+    .return ($P785)
+  control_778:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P787, exception, "payload"
-    .return ($P787)
+    getattribute $P786, exception, "payload"
+    .return ($P786)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<routine_declarator>"  :subid("54_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_791
+.include "except_types.pasm"
+.sub "term:sym<routine_declarator>"  :subid("54_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_790
 .annotate 'line', 299
-    new $P790, 'ExceptionHandler'
-    set_addr $P790, control_789
-    $P790."handle_types"(57)
-    push_eh $P790
+    new $P789, 'ExceptionHandler'
+    set_addr $P789, control_788
+    $P789."handle_types"(.CONTROL_RETURN)
+    push_eh $P789
     .lex "self", self
-    .lex "$/", param_791
+    .lex "$/", param_790
+    find_lex $P791, "$/"
     find_lex $P792, "$/"
-    find_lex $P793, "$/"
-    unless_null $P793, vivify_297
-    $P793 = root_new ['parrot';'Hash']
+    unless_null $P792, vivify_297
+    $P792 = root_new ['parrot';'Hash']
   vivify_297:
-    set $P794, $P793["routine_declarator"]
-    unless_null $P794, vivify_298
-    new $P794, "Undef"
+    set $P793, $P792["routine_declarator"]
+    unless_null $P793, vivify_298
+    new $P793, "Undef"
   vivify_298:
-    $P795 = $P794."ast"()
-    $P796 = $P792."!make"($P795)
-    .return ($P796)
-  control_789:
+    $P794 = $P793."ast"()
+    $P795 = $P791."!make"($P794)
+    .return ($P795)
+  control_788:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P797, exception, "payload"
-    .return ($P797)
+    getattribute $P796, exception, "payload"
+    .return ($P796)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<regex_declarator>"  :subid("55_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_801
+.include "except_types.pasm"
+.sub "term:sym<regex_declarator>"  :subid("55_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_800
 .annotate 'line', 300
-    new $P800, 'ExceptionHandler'
-    set_addr $P800, control_799
-    $P800."handle_types"(57)
-    push_eh $P800
+    new $P799, 'ExceptionHandler'
+    set_addr $P799, control_798
+    $P799."handle_types"(.CONTROL_RETURN)
+    push_eh $P799
     .lex "self", self
-    .lex "$/", param_801
+    .lex "$/", param_800
+    find_lex $P801, "$/"
     find_lex $P802, "$/"
-    find_lex $P803, "$/"
-    unless_null $P803, vivify_299
-    $P803 = root_new ['parrot';'Hash']
+    unless_null $P802, vivify_299
+    $P802 = root_new ['parrot';'Hash']
   vivify_299:
-    set $P804, $P803["regex_declarator"]
-    unless_null $P804, vivify_300
-    new $P804, "Undef"
+    set $P803, $P802["regex_declarator"]
+    unless_null $P803, vivify_300
+    new $P803, "Undef"
   vivify_300:
-    $P805 = $P804."ast"()
-    $P806 = $P802."!make"($P805)
-    .return ($P806)
-  control_799:
+    $P804 = $P803."ast"()
+    $P805 = $P801."!make"($P804)
+    .return ($P805)
+  control_798:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P807, exception, "payload"
-    .return ($P807)
+    getattribute $P806, exception, "payload"
+    .return ($P806)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<statement_prefix>"  :subid("56_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_811
+.include "except_types.pasm"
+.sub "term:sym<statement_prefix>"  :subid("56_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_810
 .annotate 'line', 301
-    new $P810, 'ExceptionHandler'
-    set_addr $P810, control_809
-    $P810."handle_types"(57)
-    push_eh $P810
+    new $P809, 'ExceptionHandler'
+    set_addr $P809, control_808
+    $P809."handle_types"(.CONTROL_RETURN)
+    push_eh $P809
     .lex "self", self
-    .lex "$/", param_811
+    .lex "$/", param_810
+    find_lex $P811, "$/"
     find_lex $P812, "$/"
-    find_lex $P813, "$/"
-    unless_null $P813, vivify_301
-    $P813 = root_new ['parrot';'Hash']
+    unless_null $P812, vivify_301
+    $P812 = root_new ['parrot';'Hash']
   vivify_301:
-    set $P814, $P813["statement_prefix"]
-    unless_null $P814, vivify_302
-    new $P814, "Undef"
+    set $P813, $P812["statement_prefix"]
+    unless_null $P813, vivify_302
+    new $P813, "Undef"
   vivify_302:
-    $P815 = $P814."ast"()
-    $P816 = $P812."!make"($P815)
-    .return ($P816)
-  control_809:
+    $P814 = $P813."ast"()
+    $P815 = $P811."!make"($P814)
+    .return ($P815)
+  control_808:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P817, exception, "payload"
-    .return ($P817)
+    getattribute $P816, exception, "payload"
+    .return ($P816)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<lambda>"  :subid("57_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_821
+.include "except_types.pasm"
+.sub "term:sym<lambda>"  :subid("57_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_820
 .annotate 'line', 302
-    new $P820, 'ExceptionHandler'
-    set_addr $P820, control_819
-    $P820."handle_types"(57)
-    push_eh $P820
+    new $P819, 'ExceptionHandler'
+    set_addr $P819, control_818
+    $P819."handle_types"(.CONTROL_RETURN)
+    push_eh $P819
     .lex "self", self
-    .lex "$/", param_821
+    .lex "$/", param_820
+    find_lex $P821, "$/"
     find_lex $P822, "$/"
-    find_lex $P823, "$/"
-    unless_null $P823, vivify_303
-    $P823 = root_new ['parrot';'Hash']
+    unless_null $P822, vivify_303
+    $P822 = root_new ['parrot';'Hash']
   vivify_303:
-    set $P824, $P823["pblock"]
-    unless_null $P824, vivify_304
-    new $P824, "Undef"
+    set $P823, $P822["pblock"]
+    unless_null $P823, vivify_304
+    new $P823, "Undef"
   vivify_304:
-    $P825 = $P824."ast"()
-    $P826 = $P822."!make"($P825)
-    .return ($P826)
-  control_819:
+    $P824 = $P823."ast"()
+    $P825 = $P821."!make"($P824)
+    .return ($P825)
+  control_818:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P827, exception, "payload"
-    .return ($P827)
+    getattribute $P826, exception, "payload"
+    .return ($P826)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "fatarrow"  :subid("58_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_831
+.include "except_types.pasm"
+.sub "fatarrow"  :subid("58_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_830
 .annotate 'line', 304
-    new $P830, 'ExceptionHandler'
-    set_addr $P830, control_829
-    $P830."handle_types"(57)
-    push_eh $P830
+    new $P829, 'ExceptionHandler'
+    set_addr $P829, control_828
+    $P829."handle_types"(.CONTROL_RETURN)
+    push_eh $P829
     .lex "self", self
-    .lex "$/", param_831
+    .lex "$/", param_830
 .annotate 'line', 305
-    new $P832, "Undef"
-    .lex "$past", $P832
-    find_lex $P833, "$/"
-    unless_null $P833, vivify_305
-    $P833 = root_new ['parrot';'Hash']
+    new $P831, "Undef"
+    .lex "$past", $P831
+    find_lex $P832, "$/"
+    unless_null $P832, vivify_305
+    $P832 = root_new ['parrot';'Hash']
   vivify_305:
-    set $P834, $P833["val"]
-    unless_null $P834, vivify_306
-    new $P834, "Undef"
+    set $P833, $P832["val"]
+    unless_null $P833, vivify_306
+    new $P833, "Undef"
   vivify_306:
-    $P835 = $P834."ast"()
-    store_lex "$past", $P835
+    $P834 = $P833."ast"()
+    store_lex "$past", $P834
 .annotate 'line', 306
-    find_lex $P836, "$past"
-    find_lex $P837, "$/"
-    unless_null $P837, vivify_307
-    $P837 = root_new ['parrot';'Hash']
+    find_lex $P835, "$past"
+    find_lex $P836, "$/"
+    unless_null $P836, vivify_307
+    $P836 = root_new ['parrot';'Hash']
   vivify_307:
-    set $P838, $P837["key"]
-    unless_null $P838, vivify_308
-    new $P838, "Undef"
+    set $P837, $P836["key"]
+    unless_null $P837, vivify_308
+    new $P837, "Undef"
   vivify_308:
-    $P839 = $P838."Str"()
-    $P836."named"($P839)
+    $P838 = $P837."Str"()
+    $P835."named"($P838)
 .annotate 'line', 307
-    find_lex $P840, "$/"
-    find_lex $P841, "$past"
-    $P842 = $P840."!make"($P841)
+    find_lex $P839, "$/"
+    find_lex $P840, "$past"
+    $P841 = $P839."!make"($P840)
 .annotate 'line', 304
-    .return ($P842)
-  control_829:
+    .return ($P841)
+  control_828:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P843, exception, "payload"
-    .return ($P843)
+    getattribute $P842, exception, "payload"
+    .return ($P842)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "colonpair"  :subid("59_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_847
+.include "except_types.pasm"
+.sub "colonpair"  :subid("59_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_846
 .annotate 'line', 310
-    new $P846, 'ExceptionHandler'
-    set_addr $P846, control_845
-    $P846."handle_types"(57)
-    push_eh $P846
+    new $P845, 'ExceptionHandler'
+    set_addr $P845, control_844
+    $P845."handle_types"(.CONTROL_RETURN)
+    push_eh $P845
     .lex "self", self
-    .lex "$/", param_847
+    .lex "$/", param_846
 .annotate 'line', 311
-    new $P848, "Undef"
-    .lex "$past", $P848
+    new $P847, "Undef"
+    .lex "$past", $P847
 .annotate 'line', 312
-    find_lex $P851, "$/"
-    unless_null $P851, vivify_309
-    $P851 = root_new ['parrot';'Hash']
+    find_lex $P850, "$/"
+    unless_null $P850, vivify_309
+    $P850 = root_new ['parrot';'Hash']
   vivify_309:
-    set $P852, $P851["circumfix"]
-    unless_null $P852, vivify_310
-    new $P852, "Undef"
+    set $P851, $P850["circumfix"]
+    unless_null $P851, vivify_310
+    new $P851, "Undef"
   vivify_310:
-    if $P852, if_850
+    if $P851, if_849
 .annotate 'line', 313
-    get_hll_global $P857, ["PAST"], "Val"
-    find_lex $P858, "$/"
-    unless_null $P858, vivify_311
-    $P858 = root_new ['parrot';'Hash']
+    get_hll_global $P856, ["PAST"], "Val"
+    find_lex $P857, "$/"
+    unless_null $P857, vivify_311
+    $P857 = root_new ['parrot';'Hash']
   vivify_311:
-    set $P859, $P858["not"]
-    unless_null $P859, vivify_312
-    new $P859, "Undef"
+    set $P858, $P857["not"]
+    unless_null $P858, vivify_312
+    new $P858, "Undef"
   vivify_312:
-    isfalse $I860, $P859
-    $P861 = $P857."new"($I860 :named("value"))
-    set $P849, $P861
+    isfalse $I859, $P858
+    $P860 = $P856."new"($I859 :named("value"))
+    set $P848, $P860
 .annotate 'line', 312
-    goto if_850_end
-  if_850:
-    find_lex $P853, "$/"
-    unless_null $P853, vivify_313
-    $P853 = root_new ['parrot';'Hash']
+    goto if_849_end
+  if_849:
+    find_lex $P852, "$/"
+    unless_null $P852, vivify_313
+    $P852 = root_new ['parrot';'Hash']
   vivify_313:
-    set $P854, $P853["circumfix"]
-    unless_null $P854, vivify_314
-    $P854 = root_new ['parrot';'ResizablePMCArray']
+    set $P853, $P852["circumfix"]
+    unless_null $P853, vivify_314
+    $P853 = root_new ['parrot';'ResizablePMCArray']
   vivify_314:
-    set $P855, $P854[0]
-    unless_null $P855, vivify_315
-    new $P855, "Undef"
+    set $P854, $P853[0]
+    unless_null $P854, vivify_315
+    new $P854, "Undef"
   vivify_315:
-    $P856 = $P855."ast"()
-    set $P849, $P856
-  if_850_end:
-    store_lex "$past", $P849
+    $P855 = $P854."ast"()
+    set $P848, $P855
+  if_849_end:
+    store_lex "$past", $P848
 .annotate 'line', 314
-    find_lex $P862, "$past"
-    find_lex $P863, "$/"
-    unless_null $P863, vivify_316
-    $P863 = root_new ['parrot';'Hash']
+    find_lex $P861, "$past"
+    find_lex $P862, "$/"
+    unless_null $P862, vivify_316
+    $P862 = root_new ['parrot';'Hash']
   vivify_316:
-    set $P864, $P863["identifier"]
-    unless_null $P864, vivify_317
-    new $P864, "Undef"
+    set $P863, $P862["identifier"]
+    unless_null $P863, vivify_317
+    new $P863, "Undef"
   vivify_317:
-    set $S865, $P864
-    $P862."named"($S865)
+    set $S864, $P863
+    $P861."named"($S864)
 .annotate 'line', 315
-    find_lex $P866, "$/"
-    find_lex $P867, "$past"
-    $P868 = $P866."!make"($P867)
+    find_lex $P865, "$/"
+    find_lex $P866, "$past"
+    $P867 = $P865."!make"($P866)
 .annotate 'line', 310
-    .return ($P868)
-  control_845:
+    .return ($P867)
+  control_844:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P869, exception, "payload"
-    .return ($P869)
+    getattribute $P868, exception, "payload"
+    .return ($P868)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "variable"  :subid("60_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_873
+.include "except_types.pasm"
+.sub "variable"  :subid("60_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_872
 .annotate 'line', 318
-    .const 'Sub' $P886 = "61_1275600017.58296" 
-    capture_lex $P886
-    new $P872, 'ExceptionHandler'
-    set_addr $P872, control_871
-    $P872."handle_types"(57)
-    push_eh $P872
+    .const 'Sub' $P885 = "61_1275811497.55064" 
+    capture_lex $P885
+    new $P871, 'ExceptionHandler'
+    set_addr $P871, control_870
+    $P871."handle_types"(.CONTROL_RETURN)
+    push_eh $P871
     .lex "self", self
-    .lex "$/", param_873
+    .lex "$/", param_872
 .annotate 'line', 319
-    new $P874, "Undef"
-    .lex "$past", $P874
+    new $P873, "Undef"
+    .lex "$past", $P873
 .annotate 'line', 318
-    find_lex $P875, "$past"
+    find_lex $P874, "$past"
 .annotate 'line', 320
-    find_lex $P877, "$/"
-    unless_null $P877, vivify_318
-    $P877 = root_new ['parrot';'Hash']
+    find_lex $P876, "$/"
+    unless_null $P876, vivify_318
+    $P876 = root_new ['parrot';'Hash']
   vivify_318:
-    set $P878, $P877["postcircumfix"]
-    unless_null $P878, vivify_319
-    new $P878, "Undef"
+    set $P877, $P876["postcircumfix"]
+    unless_null $P877, vivify_319
+    new $P877, "Undef"
   vivify_319:
-    if $P878, if_876
+    if $P877, if_875
 .annotate 'line', 324
-    .const 'Sub' $P886 = "61_1275600017.58296" 
-    capture_lex $P886
-    $P886()
-    goto if_876_end
-  if_876:
+    .const 'Sub' $P885 = "61_1275811497.55064" 
+    capture_lex $P885
+    $P885()
+    goto if_875_end
+  if_875:
 .annotate 'line', 321
-    find_lex $P879, "$/"
-    unless_null $P879, vivify_336
-    $P879 = root_new ['parrot';'Hash']
+    find_lex $P878, "$/"
+    unless_null $P878, vivify_336
+    $P878 = root_new ['parrot';'Hash']
   vivify_336:
-    set $P880, $P879["postcircumfix"]
-    unless_null $P880, vivify_337
-    new $P880, "Undef"
+    set $P879, $P878["postcircumfix"]
+    unless_null $P879, vivify_337
+    new $P879, "Undef"
   vivify_337:
-    $P881 = $P880."ast"()
-    store_lex "$past", $P881
+    $P880 = $P879."ast"()
+    store_lex "$past", $P880
 .annotate 'line', 322
-    find_lex $P882, "$past"
-    get_hll_global $P883, ["PAST"], "Var"
-    $P884 = $P883."new"("$/" :named("name"))
-    $P882."unshift"($P884)
-  if_876_end:
+    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 $P955, "$/"
-    find_lex $P956, "$past"
-    $P957 = $P955."!make"($P956)
+    find_lex $P954, "$/"
+    find_lex $P955, "$past"
+    $P956 = $P954."!make"($P955)
 .annotate 'line', 318
-    .return ($P957)
-  control_871:
+    .return ($P956)
+  control_870:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P958, exception, "payload"
-    .return ($P958)
+    getattribute $P957, exception, "payload"
+    .return ($P957)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block885"  :anon :subid("61_1275600017.58296") :outer("60_1275600017.58296")
+.sub "_block884"  :anon :subid("61_1275811497.55064") :outer("60_1275811497.55064")
 .annotate 'line', 325
-    $P887 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@name", $P887
-    get_hll_global $P888, ["NQP"], "Compiler"
-    find_lex $P889, "$/"
-    set $S890, $P889
-    $P891 = $P888."parse_name"($S890)
-    store_lex "@name", $P891
+    $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 $P892, ["PAST"], "Var"
-    find_lex $P893, "@name"
-    $P894 = $P893."pop"()
-    set $S895, $P894
-    $P896 = $P892."new"($S895 :named("name"))
-    store_lex "$past", $P896
+    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 $P898, "@name"
-    unless $P898, if_897_end
+    find_lex $P897, "@name"
+    unless $P897, if_896_end
 .annotate 'line', 328
-    find_lex $P900, "@name"
-    unless_null $P900, vivify_320
-    $P900 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P899, "@name"
+    unless_null $P899, vivify_320
+    $P899 = root_new ['parrot';'ResizablePMCArray']
   vivify_320:
-    set $P901, $P900[0]
-    unless_null $P901, vivify_321
-    new $P901, "Undef"
+    set $P900, $P899[0]
+    unless_null $P900, vivify_321
+    new $P900, "Undef"
   vivify_321:
-    set $S902, $P901
-    iseq $I903, $S902, "GLOBAL"
-    unless $I903, if_899_end
-    find_lex $P904, "@name"
-    $P904."shift"()
-  if_899_end:
+    set $S901, $P900
+    iseq $I902, $S901, "GLOBAL"
+    unless $I902, if_898_end
+    find_lex $P903, "@name"
+    $P903."shift"()
+  if_898_end:
 .annotate 'line', 329
-    find_lex $P905, "$past"
-    find_lex $P906, "@name"
-    $P905."namespace"($P906)
+    find_lex $P904, "$past"
+    find_lex $P905, "@name"
+    $P904."namespace"($P905)
 .annotate 'line', 330
-    find_lex $P907, "$past"
-    $P907."scope"("package")
+    find_lex $P906, "$past"
+    $P906."scope"("package")
 .annotate 'line', 331
-    find_lex $P908, "$past"
-    find_lex $P909, "$/"
-    unless_null $P909, vivify_322
-    $P909 = root_new ['parrot';'Hash']
+    find_lex $P907, "$past"
+    find_lex $P908, "$/"
+    unless_null $P908, vivify_322
+    $P908 = root_new ['parrot';'Hash']
   vivify_322:
-    set $P910, $P909["sigil"]
-    unless_null $P910, vivify_323
-    new $P910, "Undef"
+    set $P909, $P908["sigil"]
+    unless_null $P909, vivify_323
+    new $P909, "Undef"
   vivify_323:
-    $P911 = "vivitype"($P910)
-    $P908."viviself"($P911)
+    $P910 = "vivitype"($P909)
+    $P907."viviself"($P910)
 .annotate 'line', 332
-    find_lex $P912, "$past"
-    $P912."lvalue"(1)
-  if_897_end:
+    find_lex $P911, "$past"
+    $P911."lvalue"(1)
+  if_896_end:
 .annotate 'line', 334
-    find_lex $P915, "$/"
-    unless_null $P915, vivify_324
-    $P915 = root_new ['parrot';'Hash']
+    find_lex $P914, "$/"
+    unless_null $P914, vivify_324
+    $P914 = root_new ['parrot';'Hash']
   vivify_324:
-    set $P916, $P915["twigil"]
-    unless_null $P916, vivify_325
-    $P916 = root_new ['parrot';'ResizablePMCArray']
+    set $P915, $P914["twigil"]
+    unless_null $P915, vivify_325
+    $P915 = root_new ['parrot';'ResizablePMCArray']
   vivify_325:
-    set $P917, $P916[0]
-    unless_null $P917, vivify_326
-    new $P917, "Undef"
+    set $P916, $P915[0]
+    unless_null $P916, vivify_326
+    new $P916, "Undef"
   vivify_326:
-    set $S918, $P917
-    iseq $I919, $S918, "*"
-    if $I919, if_914
+    set $S917, $P916
+    iseq $I918, $S917, "*"
+    if $I918, if_913
 .annotate 'line', 347
-    find_lex $P941, "$/"
-    unless_null $P941, vivify_327
-    $P941 = root_new ['parrot';'Hash']
+    find_lex $P940, "$/"
+    unless_null $P940, vivify_327
+    $P940 = root_new ['parrot';'Hash']
   vivify_327:
-    set $P942, $P941["twigil"]
-    unless_null $P942, vivify_328
-    $P942 = root_new ['parrot';'ResizablePMCArray']
+    set $P941, $P940["twigil"]
+    unless_null $P941, vivify_328
+    $P941 = root_new ['parrot';'ResizablePMCArray']
   vivify_328:
-    set $P943, $P942[0]
-    unless_null $P943, vivify_329
-    new $P943, "Undef"
+    set $P942, $P941[0]
+    unless_null $P942, vivify_329
+    new $P942, "Undef"
   vivify_329:
-    set $S944, $P943
-    iseq $I945, $S944, "!"
-    if $I945, if_940
-    new $P939, 'Integer'
-    set $P939, $I945
-    goto if_940_end
-  if_940:
+    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 $P946, "$past"
-    get_hll_global $P947, ["PAST"], "Var"
-    $P948 = $P947."new"("self" :named("name"))
-    $P946."push"($P948)
+    find_lex $P945, "$past"
+    get_hll_global $P946, ["PAST"], "Var"
+    $P947 = $P946."new"("self" :named("name"))
+    $P945."push"($P947)
 .annotate 'line', 349
-    find_lex $P949, "$past"
-    $P949."scope"("attribute")
+    find_lex $P948, "$past"
+    $P948."scope"("attribute")
 .annotate 'line', 350
-    find_lex $P950, "$past"
-    find_lex $P951, "$/"
-    unless_null $P951, vivify_330
-    $P951 = root_new ['parrot';'Hash']
+    find_lex $P949, "$past"
+    find_lex $P950, "$/"
+    unless_null $P950, vivify_330
+    $P950 = root_new ['parrot';'Hash']
   vivify_330:
-    set $P952, $P951["sigil"]
-    unless_null $P952, vivify_331
-    new $P952, "Undef"
+    set $P951, $P950["sigil"]
+    unless_null $P951, vivify_331
+    new $P951, "Undef"
   vivify_331:
-    $P953 = "vivitype"($P952)
-    $P954 = $P950."viviself"($P953)
+    $P952 = "vivitype"($P951)
+    $P953 = $P949."viviself"($P952)
 .annotate 'line', 347
-    set $P939, $P954
-  if_940_end:
-    set $P913, $P939
+    set $P938, $P953
+  if_939_end:
+    set $P912, $P938
 .annotate 'line', 334
-    goto if_914_end
-  if_914:
+    goto if_913_end
+  if_913:
 .annotate 'line', 335
-    find_lex $P920, "$past"
-    $P920."scope"("contextual")
+    find_lex $P919, "$past"
+    $P919."scope"("contextual")
 .annotate 'line', 336
-    find_lex $P921, "$past"
+    find_lex $P920, "$past"
 .annotate 'line', 337
-    get_hll_global $P922, ["PAST"], "Var"
+    get_hll_global $P921, ["PAST"], "Var"
 .annotate 'line', 339
-    find_lex $P923, "$/"
-    unless_null $P923, vivify_332
-    $P923 = root_new ['parrot';'Hash']
+    find_lex $P922, "$/"
+    unless_null $P922, vivify_332
+    $P922 = root_new ['parrot';'Hash']
   vivify_332:
-    set $P924, $P923["sigil"]
-    unless_null $P924, vivify_333
-    new $P924, "Undef"
+    set $P923, $P922["sigil"]
+    unless_null $P923, vivify_333
+    new $P923, "Undef"
   vivify_333:
-    set $S925, $P924
-    new $P926, 'String'
-    set $P926, $S925
-    find_lex $P927, "$/"
-    unless_null $P927, vivify_334
-    $P927 = root_new ['parrot';'Hash']
+    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 $P928, $P927["desigilname"]
-    unless_null $P928, vivify_335
-    new $P928, "Undef"
+    set $P927, $P926["desigilname"]
+    unless_null $P927, vivify_335
+    new $P927, "Undef"
   vivify_335:
-    concat $P929, $P926, $P928
+    concat $P928, $P925, $P927
 .annotate 'line', 341
-    get_hll_global $P930, ["PAST"], "Op"
-    new $P931, "String"
-    assign $P931, "Contextual "
-    find_lex $P932, "$/"
-    set $S933, $P932
-    concat $P934, $P931, $S933
-    concat $P935, $P934, " not found"
-    $P936 = $P930."new"($P935, "die" :named("pirop"))
-    $P937 = $P922."new"("package" :named("scope"), "" :named("namespace"), $P929 :named("name"), $P936 :named("viviself"))
+    get_hll_global $P929, ["PAST"], "Op"
+    new $P930, "String"
+    assign $P930, "Contextual "
+    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
-    $P938 = $P921."viviself"($P937)
+    $P937 = $P920."viviself"($P936)
 .annotate 'line', 334
-    set $P913, $P938
-  if_914_end:
+    set $P912, $P937
+  if_913_end:
 .annotate 'line', 324
-    .return ($P913)
+    .return ($P912)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<module>"  :subid("62_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_962
+.include "except_types.pasm"
+.sub "package_declarator:sym<module>"  :subid("62_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_961
 .annotate 'line', 356
-    new $P961, 'ExceptionHandler'
-    set_addr $P961, control_960
-    $P961."handle_types"(57)
-    push_eh $P961
+    new $P960, 'ExceptionHandler'
+    set_addr $P960, control_959
+    $P960."handle_types"(.CONTROL_RETURN)
+    push_eh $P960
     .lex "self", self
-    .lex "$/", param_962
+    .lex "$/", param_961
+    find_lex $P962, "$/"
     find_lex $P963, "$/"
-    find_lex $P964, "$/"
-    unless_null $P964, vivify_338
-    $P964 = root_new ['parrot';'Hash']
+    unless_null $P963, vivify_338
+    $P963 = root_new ['parrot';'Hash']
   vivify_338:
-    set $P965, $P964["package_def"]
-    unless_null $P965, vivify_339
-    new $P965, "Undef"
+    set $P964, $P963["package_def"]
+    unless_null $P964, vivify_339
+    new $P964, "Undef"
   vivify_339:
-    $P966 = $P965."ast"()
-    $P967 = $P963."!make"($P966)
-    .return ($P967)
-  control_960:
+    $P965 = $P964."ast"()
+    $P966 = $P962."!make"($P965)
+    .return ($P966)
+  control_959:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P968, exception, "payload"
-    .return ($P968)
+    getattribute $P967, exception, "payload"
+    .return ($P967)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<class>"  :subid("63_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_972
+.include "except_types.pasm"
+.sub "package_declarator:sym<class>"  :subid("63_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_971
 .annotate 'line', 357
-    new $P971, 'ExceptionHandler'
-    set_addr $P971, control_970
-    $P971."handle_types"(57)
-    push_eh $P971
+    new $P970, 'ExceptionHandler'
+    set_addr $P970, control_969
+    $P970."handle_types"(.CONTROL_RETURN)
+    push_eh $P970
     .lex "self", self
-    .lex "$/", param_972
+    .lex "$/", param_971
 .annotate 'line', 358
-    new $P973, "Undef"
-    .lex "$past", $P973
+    new $P972, "Undef"
+    .lex "$past", $P972
 .annotate 'line', 359
-    new $P974, "Undef"
-    .lex "$classinit", $P974
+    new $P973, "Undef"
+    .lex "$classinit", $P973
 .annotate 'line', 368
-    new $P975, "Undef"
-    .lex "$parent", $P975
+    new $P974, "Undef"
+    .lex "$parent", $P974
 .annotate 'line', 358
-    find_lex $P976, "$/"
-    unless_null $P976, vivify_340
-    $P976 = root_new ['parrot';'Hash']
+    find_lex $P975, "$/"
+    unless_null $P975, vivify_340
+    $P975 = root_new ['parrot';'Hash']
   vivify_340:
-    set $P977, $P976["package_def"]
-    unless_null $P977, vivify_341
-    new $P977, "Undef"
+    set $P976, $P975["package_def"]
+    unless_null $P976, vivify_341
+    new $P976, "Undef"
   vivify_341:
-    $P978 = $P977."ast"()
-    store_lex "$past", $P978
+    $P977 = $P976."ast"()
+    store_lex "$past", $P977
 .annotate 'line', 360
-    get_hll_global $P979, ["PAST"], "Op"
+    get_hll_global $P978, ["PAST"], "Op"
 .annotate 'line', 361
-    get_hll_global $P980, ["PAST"], "Op"
-    $P981 = $P980."new"("    %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline"))
+    get_hll_global $P979, ["PAST"], "Op"
+    $P980 = $P979."new"("    %r = get_root_global [\"parrot\"], \"P6metaclass\"" :named("inline"))
 .annotate 'line', 364
-    find_lex $P982, "$/"
-    unless_null $P982, vivify_342
-    $P982 = root_new ['parrot';'Hash']
+    find_lex $P981, "$/"
+    unless_null $P981, vivify_342
+    $P981 = root_new ['parrot';'Hash']
   vivify_342:
-    set $P983, $P982["package_def"]
-    unless_null $P983, vivify_343
-    $P983 = root_new ['parrot';'Hash']
+    set $P982, $P981["package_def"]
+    unless_null $P982, vivify_343
+    $P982 = root_new ['parrot';'Hash']
   vivify_343:
-    set $P984, $P983["name"]
-    unless_null $P984, vivify_344
-    new $P984, "Undef"
+    set $P983, $P982["name"]
+    unless_null $P983, vivify_344
+    new $P983, "Undef"
   vivify_344:
-    set $S985, $P984
-    $P986 = $P979."new"($P981, $S985, "new_class" :named("name"), "callmethod" :named("pasttype"))
+    set $S984, $P983
+    $P985 = $P978."new"($P980, $S984, "new_class" :named("name"), "callmethod" :named("pasttype"))
 .annotate 'line', 360
-    store_lex "$classinit", $P986
+    store_lex "$classinit", $P985
 .annotate 'line', 368
-    find_lex $P989, "$/"
-    unless_null $P989, vivify_345
-    $P989 = root_new ['parrot';'Hash']
+    find_lex $P988, "$/"
+    unless_null $P988, vivify_345
+    $P988 = root_new ['parrot';'Hash']
   vivify_345:
-    set $P990, $P989["package_def"]
-    unless_null $P990, vivify_346
-    $P990 = root_new ['parrot';'Hash']
+    set $P989, $P988["package_def"]
+    unless_null $P989, vivify_346
+    $P989 = root_new ['parrot';'Hash']
   vivify_346:
-    set $P991, $P990["parent"]
-    unless_null $P991, vivify_347
-    $P991 = root_new ['parrot';'ResizablePMCArray']
+    set $P990, $P989["parent"]
+    unless_null $P990, vivify_347
+    $P990 = root_new ['parrot';'ResizablePMCArray']
   vivify_347:
-    set $P992, $P991[0]
-    unless_null $P992, vivify_348
-    new $P992, "Undef"
+    set $P991, $P990[0]
+    unless_null $P991, vivify_348
+    new $P991, "Undef"
   vivify_348:
-    set $S993, $P992
-    unless $S993, unless_988
-    new $P987, 'String'
-    set $P987, $S993
-    goto unless_988_end
-  unless_988:
+    set $S992, $P991
+    unless $S992, unless_987
+    new $P986, 'String'
+    set $P986, $S992
+    goto unless_987_end
+  unless_987:
 .annotate 'line', 369
-    find_lex $P996, "$/"
-    unless_null $P996, vivify_349
-    $P996 = root_new ['parrot';'Hash']
+    find_lex $P995, "$/"
+    unless_null $P995, vivify_349
+    $P995 = root_new ['parrot';'Hash']
   vivify_349:
-    set $P997, $P996["sym"]
-    unless_null $P997, vivify_350
-    new $P997, "Undef"
+    set $P996, $P995["sym"]
+    unless_null $P996, vivify_350
+    new $P996, "Undef"
   vivify_350:
-    set $S998, $P997
-    iseq $I999, $S998, "grammar"
-    if $I999, if_995
-    new $P1001, "String"
-    assign $P1001, ""
-    set $P994, $P1001
-    goto if_995_end
-  if_995:
+    set $S997, $P996
+    iseq $I998, $S997, "grammar"
+    if $I998, if_994
     new $P1000, "String"
-    assign $P1000, "Regex::Cursor"
-    set $P994, $P1000
-  if_995_end:
-    set $P987, $P994
-  unless_988_end:
-    store_lex "$parent", $P987
+    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
 .annotate 'line', 370
-    find_lex $P1003, "$parent"
-    unless $P1003, if_1002_end
+    find_lex $P1002, "$parent"
+    unless $P1002, if_1001_end
 .annotate 'line', 371
-    find_lex $P1004, "$classinit"
-    get_hll_global $P1005, ["PAST"], "Val"
-    find_lex $P1006, "$parent"
-    $P1007 = $P1005."new"($P1006 :named("value"), "parent" :named("named"))
-    $P1004."push"($P1007)
-  if_1002_end:
+    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 $P1009, "$past"
-    unless_null $P1009, vivify_351
-    $P1009 = root_new ['parrot';'Hash']
+    find_lex $P1008, "$past"
+    unless_null $P1008, vivify_351
+    $P1008 = root_new ['parrot';'Hash']
   vivify_351:
-    set $P1010, $P1009["attributes"]
-    unless_null $P1010, vivify_352
-    new $P1010, "Undef"
+    set $P1009, $P1008["attributes"]
+    unless_null $P1009, vivify_352
+    new $P1009, "Undef"
   vivify_352:
-    unless $P1010, if_1008_end
+    unless $P1009, if_1007_end
 .annotate 'line', 374
-    find_lex $P1011, "$classinit"
-    find_lex $P1012, "$past"
-    unless_null $P1012, vivify_353
-    $P1012 = root_new ['parrot';'Hash']
+    find_lex $P1010, "$classinit"
+    find_lex $P1011, "$past"
+    unless_null $P1011, vivify_353
+    $P1011 = root_new ['parrot';'Hash']
   vivify_353:
-    set $P1013, $P1012["attributes"]
-    unless_null $P1013, vivify_354
-    new $P1013, "Undef"
+    set $P1012, $P1011["attributes"]
+    unless_null $P1012, vivify_354
+    new $P1012, "Undef"
   vivify_354:
-    $P1011."push"($P1013)
-  if_1008_end:
+    $P1010."push"($P1012)
+  if_1007_end:
 .annotate 'line', 376
-    get_global $P1014, "@BLOCK"
-    unless_null $P1014, vivify_355
-    $P1014 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P1013, "@BLOCK"
+    unless_null $P1013, vivify_355
+    $P1013 = root_new ['parrot';'ResizablePMCArray']
   vivify_355:
-    set $P1015, $P1014[0]
-    unless_null $P1015, vivify_356
-    new $P1015, "Undef"
+    set $P1014, $P1013[0]
+    unless_null $P1014, vivify_356
+    new $P1014, "Undef"
   vivify_356:
-    $P1016 = $P1015."loadinit"()
-    find_lex $P1017, "$classinit"
-    $P1016."push"($P1017)
+    $P1015 = $P1014."loadinit"()
+    find_lex $P1016, "$classinit"
+    $P1015."push"($P1016)
 .annotate 'line', 377
-    find_lex $P1018, "$/"
-    find_lex $P1019, "$past"
-    $P1020 = $P1018."!make"($P1019)
+    find_lex $P1017, "$/"
+    find_lex $P1018, "$past"
+    $P1019 = $P1017."!make"($P1018)
 .annotate 'line', 357
-    .return ($P1020)
-  control_970:
+    .return ($P1019)
+  control_969:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1021, exception, "payload"
-    .return ($P1021)
+    getattribute $P1020, exception, "payload"
+    .return ($P1020)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "package_def"  :subid("64_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1025
+.include "except_types.pasm"
+.sub "package_def"  :subid("64_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1024
 .annotate 'line', 380
-    new $P1024, 'ExceptionHandler'
-    set_addr $P1024, control_1023
-    $P1024."handle_types"(57)
-    push_eh $P1024
+    new $P1023, 'ExceptionHandler'
+    set_addr $P1023, control_1022
+    $P1023."handle_types"(.CONTROL_RETURN)
+    push_eh $P1023
     .lex "self", self
-    .lex "$/", param_1025
+    .lex "$/", param_1024
 .annotate 'line', 381
-    new $P1026, "Undef"
-    .lex "$past", $P1026
-    find_lex $P1029, "$/"
-    unless_null $P1029, vivify_357
-    $P1029 = root_new ['parrot';'Hash']
+    new $P1025, "Undef"
+    .lex "$past", $P1025
+    find_lex $P1028, "$/"
+    unless_null $P1028, vivify_357
+    $P1028 = root_new ['parrot';'Hash']
   vivify_357:
-    set $P1030, $P1029["block"]
-    unless_null $P1030, vivify_358
-    new $P1030, "Undef"
+    set $P1029, $P1028["block"]
+    unless_null $P1029, vivify_358
+    new $P1029, "Undef"
   vivify_358:
-    if $P1030, if_1028
-    find_lex $P1034, "$/"
-    unless_null $P1034, vivify_359
-    $P1034 = root_new ['parrot';'Hash']
+    if $P1029, if_1027
+    find_lex $P1033, "$/"
+    unless_null $P1033, vivify_359
+    $P1033 = root_new ['parrot';'Hash']
   vivify_359:
-    set $P1035, $P1034["comp_unit"]
-    unless_null $P1035, vivify_360
-    new $P1035, "Undef"
+    set $P1034, $P1033["comp_unit"]
+    unless_null $P1034, vivify_360
+    new $P1034, "Undef"
   vivify_360:
-    $P1036 = $P1035."ast"()
-    set $P1027, $P1036
-    goto if_1028_end
-  if_1028:
-    find_lex $P1031, "$/"
-    unless_null $P1031, vivify_361
-    $P1031 = root_new ['parrot';'Hash']
+    $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']
   vivify_361:
-    set $P1032, $P1031["block"]
-    unless_null $P1032, vivify_362
-    new $P1032, "Undef"
+    set $P1031, $P1030["block"]
+    unless_null $P1031, vivify_362
+    new $P1031, "Undef"
   vivify_362:
-    $P1033 = $P1032."ast"()
-    set $P1027, $P1033
-  if_1028_end:
-    store_lex "$past", $P1027
+    $P1032 = $P1031."ast"()
+    set $P1026, $P1032
+  if_1027_end:
+    store_lex "$past", $P1026
 .annotate 'line', 382
-    find_lex $P1037, "$past"
-    find_lex $P1038, "$/"
-    unless_null $P1038, vivify_363
-    $P1038 = root_new ['parrot';'Hash']
+    find_lex $P1036, "$past"
+    find_lex $P1037, "$/"
+    unless_null $P1037, vivify_363
+    $P1037 = root_new ['parrot';'Hash']
   vivify_363:
-    set $P1039, $P1038["name"]
-    unless_null $P1039, vivify_364
-    $P1039 = root_new ['parrot';'Hash']
+    set $P1038, $P1037["name"]
+    unless_null $P1038, vivify_364
+    $P1038 = root_new ['parrot';'Hash']
   vivify_364:
-    set $P1040, $P1039["identifier"]
-    unless_null $P1040, vivify_365
-    new $P1040, "Undef"
+    set $P1039, $P1038["identifier"]
+    unless_null $P1039, vivify_365
+    new $P1039, "Undef"
   vivify_365:
-    $P1037."namespace"($P1040)
+    $P1036."namespace"($P1039)
 .annotate 'line', 383
-    find_lex $P1041, "$past"
-    $P1041."blocktype"("immediate")
+    find_lex $P1040, "$past"
+    $P1040."blocktype"("immediate")
 .annotate 'line', 384
-    find_lex $P1042, "$/"
-    find_lex $P1043, "$past"
-    $P1044 = $P1042."!make"($P1043)
+    find_lex $P1041, "$/"
+    find_lex $P1042, "$past"
+    $P1043 = $P1041."!make"($P1042)
 .annotate 'line', 380
-    .return ($P1044)
-  control_1023:
+    .return ($P1043)
+  control_1022:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1045, exception, "payload"
-    .return ($P1045)
+    getattribute $P1044, exception, "payload"
+    .return ($P1044)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<my>"  :subid("65_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1049
+.include "except_types.pasm"
+.sub "scope_declarator:sym<my>"  :subid("65_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1048
 .annotate 'line', 387
-    new $P1048, 'ExceptionHandler'
-    set_addr $P1048, control_1047
-    $P1048."handle_types"(57)
-    push_eh $P1048
+    new $P1047, 'ExceptionHandler'
+    set_addr $P1047, control_1046
+    $P1047."handle_types"(.CONTROL_RETURN)
+    push_eh $P1047
     .lex "self", self
-    .lex "$/", param_1049
+    .lex "$/", param_1048
+    find_lex $P1049, "$/"
     find_lex $P1050, "$/"
-    find_lex $P1051, "$/"
-    unless_null $P1051, vivify_366
-    $P1051 = root_new ['parrot';'Hash']
+    unless_null $P1050, vivify_366
+    $P1050 = root_new ['parrot';'Hash']
   vivify_366:
-    set $P1052, $P1051["scoped"]
-    unless_null $P1052, vivify_367
-    new $P1052, "Undef"
+    set $P1051, $P1050["scoped"]
+    unless_null $P1051, vivify_367
+    new $P1051, "Undef"
   vivify_367:
-    $P1053 = $P1052."ast"()
-    $P1054 = $P1050."!make"($P1053)
-    .return ($P1054)
-  control_1047:
+    $P1052 = $P1051."ast"()
+    $P1053 = $P1049."!make"($P1052)
+    .return ($P1053)
+  control_1046:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1055, exception, "payload"
-    .return ($P1055)
+    getattribute $P1054, exception, "payload"
+    .return ($P1054)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<our>"  :subid("66_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1059
+.include "except_types.pasm"
+.sub "scope_declarator:sym<our>"  :subid("66_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1058
 .annotate 'line', 388
-    new $P1058, 'ExceptionHandler'
-    set_addr $P1058, control_1057
-    $P1058."handle_types"(57)
-    push_eh $P1058
+    new $P1057, 'ExceptionHandler'
+    set_addr $P1057, control_1056
+    $P1057."handle_types"(.CONTROL_RETURN)
+    push_eh $P1057
     .lex "self", self
-    .lex "$/", param_1059
+    .lex "$/", param_1058
+    find_lex $P1059, "$/"
     find_lex $P1060, "$/"
-    find_lex $P1061, "$/"
-    unless_null $P1061, vivify_368
-    $P1061 = root_new ['parrot';'Hash']
+    unless_null $P1060, vivify_368
+    $P1060 = root_new ['parrot';'Hash']
   vivify_368:
-    set $P1062, $P1061["scoped"]
-    unless_null $P1062, vivify_369
-    new $P1062, "Undef"
+    set $P1061, $P1060["scoped"]
+    unless_null $P1061, vivify_369
+    new $P1061, "Undef"
   vivify_369:
-    $P1063 = $P1062."ast"()
-    $P1064 = $P1060."!make"($P1063)
-    .return ($P1064)
-  control_1057:
+    $P1062 = $P1061."ast"()
+    $P1063 = $P1059."!make"($P1062)
+    .return ($P1063)
+  control_1056:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1065, exception, "payload"
-    .return ($P1065)
+    getattribute $P1064, exception, "payload"
+    .return ($P1064)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<has>"  :subid("67_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1069
+.include "except_types.pasm"
+.sub "scope_declarator:sym<has>"  :subid("67_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1068
 .annotate 'line', 389
-    new $P1068, 'ExceptionHandler'
-    set_addr $P1068, control_1067
-    $P1068."handle_types"(57)
-    push_eh $P1068
+    new $P1067, 'ExceptionHandler'
+    set_addr $P1067, control_1066
+    $P1067."handle_types"(.CONTROL_RETURN)
+    push_eh $P1067
     .lex "self", self
-    .lex "$/", param_1069
+    .lex "$/", param_1068
+    find_lex $P1069, "$/"
     find_lex $P1070, "$/"
-    find_lex $P1071, "$/"
-    unless_null $P1071, vivify_370
-    $P1071 = root_new ['parrot';'Hash']
+    unless_null $P1070, vivify_370
+    $P1070 = root_new ['parrot';'Hash']
   vivify_370:
-    set $P1072, $P1071["scoped"]
-    unless_null $P1072, vivify_371
-    new $P1072, "Undef"
+    set $P1071, $P1070["scoped"]
+    unless_null $P1071, vivify_371
+    new $P1071, "Undef"
   vivify_371:
-    $P1073 = $P1072."ast"()
-    $P1074 = $P1070."!make"($P1073)
-    .return ($P1074)
-  control_1067:
+    $P1072 = $P1071."ast"()
+    $P1073 = $P1069."!make"($P1072)
+    .return ($P1073)
+  control_1066:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1075, exception, "payload"
-    .return ($P1075)
+    getattribute $P1074, exception, "payload"
+    .return ($P1074)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "scoped"  :subid("68_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1079
+.include "except_types.pasm"
+.sub "scoped"  :subid("68_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1078
 .annotate 'line', 391
-    new $P1078, 'ExceptionHandler'
-    set_addr $P1078, control_1077
-    $P1078."handle_types"(57)
-    push_eh $P1078
+    new $P1077, 'ExceptionHandler'
+    set_addr $P1077, control_1076
+    $P1077."handle_types"(.CONTROL_RETURN)
+    push_eh $P1077
     .lex "self", self
-    .lex "$/", param_1079
+    .lex "$/", param_1078
 .annotate 'line', 392
-    find_lex $P1080, "$/"
+    find_lex $P1079, "$/"
 .annotate 'line', 393
-    find_lex $P1083, "$/"
-    unless_null $P1083, vivify_372
-    $P1083 = root_new ['parrot';'Hash']
+    find_lex $P1082, "$/"
+    unless_null $P1082, vivify_372
+    $P1082 = root_new ['parrot';'Hash']
   vivify_372:
-    set $P1084, $P1083["declarator"]
-    unless_null $P1084, vivify_373
-    new $P1084, "Undef"
+    set $P1083, $P1082["declarator"]
+    unless_null $P1083, vivify_373
+    new $P1083, "Undef"
   vivify_373:
-    if $P1084, if_1082
+    if $P1083, if_1081
 .annotate 'line', 394
-    find_lex $P1088, "$/"
-    unless_null $P1088, vivify_374
-    $P1088 = root_new ['parrot';'Hash']
+    find_lex $P1087, "$/"
+    unless_null $P1087, vivify_374
+    $P1087 = root_new ['parrot';'Hash']
   vivify_374:
-    set $P1089, $P1088["multi_declarator"]
-    unless_null $P1089, vivify_375
-    new $P1089, "Undef"
+    set $P1088, $P1087["multi_declarator"]
+    unless_null $P1088, vivify_375
+    new $P1088, "Undef"
   vivify_375:
-    $P1090 = $P1089."ast"()
-    set $P1081, $P1090
+    $P1089 = $P1088."ast"()
+    set $P1080, $P1089
 .annotate 'line', 393
-    goto if_1082_end
-  if_1082:
-    find_lex $P1085, "$/"
-    unless_null $P1085, vivify_376
-    $P1085 = root_new ['parrot';'Hash']
+    goto if_1081_end
+  if_1081:
+    find_lex $P1084, "$/"
+    unless_null $P1084, vivify_376
+    $P1084 = root_new ['parrot';'Hash']
   vivify_376:
-    set $P1086, $P1085["declarator"]
-    unless_null $P1086, vivify_377
-    new $P1086, "Undef"
+    set $P1085, $P1084["declarator"]
+    unless_null $P1085, vivify_377
+    new $P1085, "Undef"
   vivify_377:
-    $P1087 = $P1086."ast"()
-    set $P1081, $P1087
-  if_1082_end:
-    $P1091 = $P1080."!make"($P1081)
+    $P1086 = $P1085."ast"()
+    set $P1080, $P1086
+  if_1081_end:
+    $P1090 = $P1079."!make"($P1080)
 .annotate 'line', 391
-    .return ($P1091)
-  control_1077:
+    .return ($P1090)
+  control_1076:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1092, exception, "payload"
-    .return ($P1092)
+    getattribute $P1091, exception, "payload"
+    .return ($P1091)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "declarator"  :subid("69_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1096
+.include "except_types.pasm"
+.sub "declarator"  :subid("69_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1095
 .annotate 'line', 397
-    new $P1095, 'ExceptionHandler'
-    set_addr $P1095, control_1094
-    $P1095."handle_types"(57)
-    push_eh $P1095
+    new $P1094, 'ExceptionHandler'
+    set_addr $P1094, control_1093
+    $P1094."handle_types"(.CONTROL_RETURN)
+    push_eh $P1094
     .lex "self", self
-    .lex "$/", param_1096
+    .lex "$/", param_1095
 .annotate 'line', 398
-    find_lex $P1097, "$/"
+    find_lex $P1096, "$/"
 .annotate 'line', 399
-    find_lex $P1100, "$/"
-    unless_null $P1100, vivify_378
-    $P1100 = root_new ['parrot';'Hash']
+    find_lex $P1099, "$/"
+    unless_null $P1099, vivify_378
+    $P1099 = root_new ['parrot';'Hash']
   vivify_378:
-    set $P1101, $P1100["routine_declarator"]
-    unless_null $P1101, vivify_379
-    new $P1101, "Undef"
+    set $P1100, $P1099["routine_declarator"]
+    unless_null $P1100, vivify_379
+    new $P1100, "Undef"
   vivify_379:
-    if $P1101, if_1099
+    if $P1100, if_1098
 .annotate 'line', 400
-    find_lex $P1105, "$/"
-    unless_null $P1105, vivify_380
-    $P1105 = root_new ['parrot';'Hash']
+    find_lex $P1104, "$/"
+    unless_null $P1104, vivify_380
+    $P1104 = root_new ['parrot';'Hash']
   vivify_380:
-    set $P1106, $P1105["variable_declarator"]
-    unless_null $P1106, vivify_381
-    new $P1106, "Undef"
+    set $P1105, $P1104["variable_declarator"]
+    unless_null $P1105, vivify_381
+    new $P1105, "Undef"
   vivify_381:
-    $P1107 = $P1106."ast"()
-    set $P1098, $P1107
+    $P1106 = $P1105."ast"()
+    set $P1097, $P1106
 .annotate 'line', 399
-    goto if_1099_end
-  if_1099:
-    find_lex $P1102, "$/"
-    unless_null $P1102, vivify_382
-    $P1102 = root_new ['parrot';'Hash']
+    goto if_1098_end
+  if_1098:
+    find_lex $P1101, "$/"
+    unless_null $P1101, vivify_382
+    $P1101 = root_new ['parrot';'Hash']
   vivify_382:
-    set $P1103, $P1102["routine_declarator"]
-    unless_null $P1103, vivify_383
-    new $P1103, "Undef"
+    set $P1102, $P1101["routine_declarator"]
+    unless_null $P1102, vivify_383
+    new $P1102, "Undef"
   vivify_383:
-    $P1104 = $P1103."ast"()
-    set $P1098, $P1104
-  if_1099_end:
-    $P1108 = $P1097."!make"($P1098)
+    $P1103 = $P1102."ast"()
+    set $P1097, $P1103
+  if_1098_end:
+    $P1107 = $P1096."!make"($P1097)
 .annotate 'line', 397
-    .return ($P1108)
-  control_1094:
+    .return ($P1107)
+  control_1093:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1109, exception, "payload"
-    .return ($P1109)
+    getattribute $P1108, exception, "payload"
+    .return ($P1108)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "multi_declarator:sym<multi>"  :subid("70_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1113
+.include "except_types.pasm"
+.sub "multi_declarator:sym<multi>"  :subid("70_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1112
 .annotate 'line', 403
-    new $P1112, 'ExceptionHandler'
-    set_addr $P1112, control_1111
-    $P1112."handle_types"(57)
-    push_eh $P1112
-    .lex "self", self
-    .lex "$/", param_1113
-    find_lex $P1114, "$/"
-    find_lex $P1117, "$/"
-    unless_null $P1117, vivify_384
-    $P1117 = root_new ['parrot';'Hash']
+    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']
   vivify_384:
-    set $P1118, $P1117["declarator"]
-    unless_null $P1118, vivify_385
-    new $P1118, "Undef"
+    set $P1117, $P1116["declarator"]
+    unless_null $P1117, vivify_385
+    new $P1117, "Undef"
   vivify_385:
-    if $P1118, if_1116
-    find_lex $P1122, "$/"
-    unless_null $P1122, vivify_386
-    $P1122 = root_new ['parrot';'Hash']
+    if $P1117, if_1115
+    find_lex $P1121, "$/"
+    unless_null $P1121, vivify_386
+    $P1121 = root_new ['parrot';'Hash']
   vivify_386:
-    set $P1123, $P1122["routine_def"]
-    unless_null $P1123, vivify_387
-    new $P1123, "Undef"
+    set $P1122, $P1121["routine_def"]
+    unless_null $P1122, vivify_387
+    new $P1122, "Undef"
   vivify_387:
-    $P1124 = $P1123."ast"()
-    set $P1115, $P1124
-    goto if_1116_end
-  if_1116:
-    find_lex $P1119, "$/"
-    unless_null $P1119, vivify_388
-    $P1119 = root_new ['parrot';'Hash']
+    $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']
   vivify_388:
-    set $P1120, $P1119["declarator"]
-    unless_null $P1120, vivify_389
-    new $P1120, "Undef"
+    set $P1119, $P1118["declarator"]
+    unless_null $P1119, vivify_389
+    new $P1119, "Undef"
   vivify_389:
-    $P1121 = $P1120."ast"()
-    set $P1115, $P1121
-  if_1116_end:
-    $P1125 = $P1114."!make"($P1115)
-    .return ($P1125)
-  control_1111:
+    $P1120 = $P1119."ast"()
+    set $P1114, $P1120
+  if_1115_end:
+    $P1124 = $P1113."!make"($P1114)
+    .return ($P1124)
+  control_1110:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1126, exception, "payload"
-    .return ($P1126)
+    getattribute $P1125, exception, "payload"
+    .return ($P1125)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "multi_declarator:sym<null>"  :subid("71_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1130
+.include "except_types.pasm"
+.sub "multi_declarator:sym<null>"  :subid("71_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1129
 .annotate 'line', 404
-    new $P1129, 'ExceptionHandler'
-    set_addr $P1129, control_1128
-    $P1129."handle_types"(57)
-    push_eh $P1129
+    new $P1128, 'ExceptionHandler'
+    set_addr $P1128, control_1127
+    $P1128."handle_types"(.CONTROL_RETURN)
+    push_eh $P1128
     .lex "self", self
-    .lex "$/", param_1130
+    .lex "$/", param_1129
+    find_lex $P1130, "$/"
     find_lex $P1131, "$/"
-    find_lex $P1132, "$/"
-    unless_null $P1132, vivify_390
-    $P1132 = root_new ['parrot';'Hash']
+    unless_null $P1131, vivify_390
+    $P1131 = root_new ['parrot';'Hash']
   vivify_390:
-    set $P1133, $P1132["declarator"]
-    unless_null $P1133, vivify_391
-    new $P1133, "Undef"
+    set $P1132, $P1131["declarator"]
+    unless_null $P1132, vivify_391
+    new $P1132, "Undef"
   vivify_391:
-    $P1134 = $P1133."ast"()
-    $P1135 = $P1131."!make"($P1134)
-    .return ($P1135)
-  control_1128:
+    $P1133 = $P1132."ast"()
+    $P1134 = $P1130."!make"($P1133)
+    .return ($P1134)
+  control_1127:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1136, exception, "payload"
-    .return ($P1136)
+    getattribute $P1135, exception, "payload"
+    .return ($P1135)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "variable_declarator"  :subid("72_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1140
+.include "except_types.pasm"
+.sub "variable_declarator"  :subid("72_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1139
 .annotate 'line', 407
-    .const 'Sub' $P1180 = "73_1275600017.58296" 
-    capture_lex $P1180
-    new $P1139, 'ExceptionHandler'
-    set_addr $P1139, control_1138
-    $P1139."handle_types"(57)
-    push_eh $P1139
+    .const 'Sub' $P1179 = "73_1275811497.55064" 
+    capture_lex $P1179
+    new $P1138, 'ExceptionHandler'
+    set_addr $P1138, control_1137
+    $P1138."handle_types"(.CONTROL_RETURN)
+    push_eh $P1138
     .lex "self", self
-    .lex "$/", param_1140
+    .lex "$/", param_1139
 .annotate 'line', 408
-    new $P1141, "Undef"
-    .lex "$past", $P1141
+    new $P1140, "Undef"
+    .lex "$past", $P1140
 .annotate 'line', 409
-    new $P1142, "Undef"
-    .lex "$sigil", $P1142
+    new $P1141, "Undef"
+    .lex "$sigil", $P1141
 .annotate 'line', 410
-    new $P1143, "Undef"
-    .lex "$name", $P1143
+    new $P1142, "Undef"
+    .lex "$name", $P1142
 .annotate 'line', 411
-    new $P1144, "Undef"
-    .lex "$BLOCK", $P1144
+    new $P1143, "Undef"
+    .lex "$BLOCK", $P1143
 .annotate 'line', 408
-    find_lex $P1145, "$/"
-    unless_null $P1145, vivify_392
-    $P1145 = root_new ['parrot';'Hash']
+    find_lex $P1144, "$/"
+    unless_null $P1144, vivify_392
+    $P1144 = root_new ['parrot';'Hash']
   vivify_392:
-    set $P1146, $P1145["variable"]
-    unless_null $P1146, vivify_393
-    new $P1146, "Undef"
+    set $P1145, $P1144["variable"]
+    unless_null $P1145, vivify_393
+    new $P1145, "Undef"
   vivify_393:
-    $P1147 = $P1146."ast"()
-    store_lex "$past", $P1147
+    $P1146 = $P1145."ast"()
+    store_lex "$past", $P1146
 .annotate 'line', 409
-    find_lex $P1148, "$/"
-    unless_null $P1148, vivify_394
-    $P1148 = root_new ['parrot';'Hash']
+    find_lex $P1147, "$/"
+    unless_null $P1147, vivify_394
+    $P1147 = root_new ['parrot';'Hash']
   vivify_394:
-    set $P1149, $P1148["variable"]
-    unless_null $P1149, vivify_395
-    $P1149 = root_new ['parrot';'Hash']
+    set $P1148, $P1147["variable"]
+    unless_null $P1148, vivify_395
+    $P1148 = root_new ['parrot';'Hash']
   vivify_395:
-    set $P1150, $P1149["sigil"]
-    unless_null $P1150, vivify_396
-    new $P1150, "Undef"
+    set $P1149, $P1148["sigil"]
+    unless_null $P1149, vivify_396
+    new $P1149, "Undef"
   vivify_396:
-    store_lex "$sigil", $P1150
+    store_lex "$sigil", $P1149
 .annotate 'line', 410
-    find_lex $P1151, "$past"
-    $P1152 = $P1151."name"()
-    store_lex "$name", $P1152
+    find_lex $P1150, "$past"
+    $P1151 = $P1150."name"()
+    store_lex "$name", $P1151
 .annotate 'line', 411
-    get_global $P1153, "@BLOCK"
-    unless_null $P1153, vivify_397
-    $P1153 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P1152, "@BLOCK"
+    unless_null $P1152, vivify_397
+    $P1152 = root_new ['parrot';'ResizablePMCArray']
   vivify_397:
-    set $P1154, $P1153[0]
-    unless_null $P1154, vivify_398
-    new $P1154, "Undef"
+    set $P1153, $P1152[0]
+    unless_null $P1153, vivify_398
+    new $P1153, "Undef"
   vivify_398:
-    store_lex "$BLOCK", $P1154
+    store_lex "$BLOCK", $P1153
 .annotate 'line', 412
-    find_lex $P1156, "$BLOCK"
-    find_lex $P1157, "$name"
-    $P1158 = $P1156."symbol"($P1157)
-    unless $P1158, if_1155_end
+    find_lex $P1155, "$BLOCK"
+    find_lex $P1156, "$name"
+    $P1157 = $P1155."symbol"($P1156)
+    unless $P1157, if_1154_end
 .annotate 'line', 413
-    find_lex $P1159, "$/"
-    $P1160 = $P1159."CURSOR"()
-    find_lex $P1161, "$name"
-    $P1160."panic"("Redeclaration of symbol ", $P1161)
-  if_1155_end:
+    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 $P1163, "$*SCOPE"
-    unless_null $P1163, vivify_399
-    get_hll_global $P1163, "$SCOPE"
-    unless_null $P1163, vivify_400
+    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 $S1164, $P1163
-    iseq $I1165, $S1164, "has"
-    if $I1165, if_1162
+    set $S1163, $P1162
+    iseq $I1164, $S1163, "has"
+    if $I1164, if_1161
 .annotate 'line', 424
-    .const 'Sub' $P1180 = "73_1275600017.58296" 
-    capture_lex $P1180
-    $P1180()
-    goto if_1162_end
-  if_1162:
+    .const 'Sub' $P1179 = "73_1275811497.55064" 
+    capture_lex $P1179
+    $P1179()
+    goto if_1161_end
+  if_1161:
 .annotate 'line', 416
-    find_lex $P1166, "$BLOCK"
-    find_lex $P1167, "$name"
-    $P1166."symbol"($P1167, "attribute" :named("scope"))
+    find_lex $P1165, "$BLOCK"
+    find_lex $P1166, "$name"
+    $P1165."symbol"($P1166, "attribute" :named("scope"))
 .annotate 'line', 417
-    find_lex $P1169, "$BLOCK"
-    unless_null $P1169, vivify_405
-    $P1169 = root_new ['parrot';'Hash']
+    find_lex $P1168, "$BLOCK"
+    unless_null $P1168, vivify_405
+    $P1168 = root_new ['parrot';'Hash']
   vivify_405:
-    set $P1170, $P1169["attributes"]
-    unless_null $P1170, vivify_406
-    new $P1170, "Undef"
+    set $P1169, $P1168["attributes"]
+    unless_null $P1169, vivify_406
+    new $P1169, "Undef"
   vivify_406:
-    if $P1170, unless_1168_end
+    if $P1169, unless_1167_end
 .annotate 'line', 419
-    get_hll_global $P1171, ["PAST"], "Op"
-    $P1172 = $P1171."new"("list" :named("pasttype"), "attr" :named("named"))
-    find_lex $P1173, "$BLOCK"
-    unless_null $P1173, vivify_407
-    $P1173 = root_new ['parrot';'Hash']
-    store_lex "$BLOCK", $P1173
+    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 $P1173["attributes"], $P1172
-  unless_1168_end:
+    set $P1172["attributes"], $P1171
+  unless_1167_end:
 .annotate 'line', 421
-    find_lex $P1174, "$BLOCK"
-    unless_null $P1174, vivify_408
-    $P1174 = root_new ['parrot';'Hash']
+    find_lex $P1173, "$BLOCK"
+    unless_null $P1173, vivify_408
+    $P1173 = root_new ['parrot';'Hash']
   vivify_408:
-    set $P1175, $P1174["attributes"]
-    unless_null $P1175, vivify_409
-    new $P1175, "Undef"
+    set $P1174, $P1173["attributes"]
+    unless_null $P1174, vivify_409
+    new $P1174, "Undef"
   vivify_409:
-    find_lex $P1176, "$name"
-    $P1175."push"($P1176)
+    find_lex $P1175, "$name"
+    $P1174."push"($P1175)
 .annotate 'line', 422
-    get_hll_global $P1177, ["PAST"], "Stmts"
-    $P1178 = $P1177."new"()
-    store_lex "$past", $P1178
-  if_1162_end:
+    get_hll_global $P1176, ["PAST"], "Stmts"
+    $P1177 = $P1176."new"()
+    store_lex "$past", $P1177
+  if_1161_end:
 .annotate 'line', 432
-    find_lex $P1204, "$/"
-    find_lex $P1205, "$past"
-    $P1206 = $P1204."!make"($P1205)
+    find_lex $P1203, "$/"
+    find_lex $P1204, "$past"
+    $P1205 = $P1203."!make"($P1204)
 .annotate 'line', 407
-    .return ($P1206)
-  control_1138:
+    .return ($P1205)
+  control_1137:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1207, exception, "payload"
-    .return ($P1207)
+    getattribute $P1206, exception, "payload"
+    .return ($P1206)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1179"  :anon :subid("73_1275600017.58296") :outer("72_1275600017.58296")
+.sub "_block1178"  :anon :subid("73_1275811497.55064") :outer("72_1275811497.55064")
 .annotate 'line', 425
-    new $P1181, "Undef"
-    .lex "$scope", $P1181
+    new $P1180, "Undef"
+    .lex "$scope", $P1180
 .annotate 'line', 426
-    new $P1182, "Undef"
-    .lex "$decl", $P1182
+    new $P1181, "Undef"
+    .lex "$decl", $P1181
 .annotate 'line', 425
-    find_dynamic_lex $P1185, "$*SCOPE"
-    unless_null $P1185, vivify_401
-    get_hll_global $P1185, "$SCOPE"
-    unless_null $P1185, vivify_402
+    find_dynamic_lex $P1184, "$*SCOPE"
+    unless_null $P1184, vivify_401
+    get_hll_global $P1184, "$SCOPE"
+    unless_null $P1184, vivify_402
     die "Contextual $*SCOPE not found"
   vivify_402:
   vivify_401:
-    set $S1186, $P1185
-    iseq $I1187, $S1186, "our"
-    if $I1187, if_1184
-    new $P1189, "String"
-    assign $P1189, "lexical"
-    set $P1183, $P1189
-    goto if_1184_end
-  if_1184:
+    set $S1185, $P1184
+    iseq $I1186, $S1185, "our"
+    if $I1186, if_1183
     new $P1188, "String"
-    assign $P1188, "package"
-    set $P1183, $P1188
-  if_1184_end:
-    store_lex "$scope", $P1183
+    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
 .annotate 'line', 426
-    get_hll_global $P1190, ["PAST"], "Var"
-    find_lex $P1191, "$name"
-    find_lex $P1192, "$scope"
+    get_hll_global $P1189, ["PAST"], "Var"
+    find_lex $P1190, "$name"
+    find_lex $P1191, "$scope"
 .annotate 'line', 427
-    find_lex $P1193, "$sigil"
-    $P1194 = "vivitype"($P1193)
-    find_lex $P1195, "$/"
-    $P1196 = $P1190."new"($P1191 :named("name"), $P1192 :named("scope"), 1 :named("isdecl"), 1 :named("lvalue"), $P1194 :named("viviself"), $P1195 :named("node"))
+    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", $P1196
+    store_lex "$decl", $P1195
 .annotate 'line', 429
-    find_lex $P1197, "$BLOCK"
-    find_lex $P1198, "$name"
-    find_lex $P1199, "$scope"
-    $P1197."symbol"($P1198, $P1199 :named("scope"))
+    find_lex $P1196, "$BLOCK"
+    find_lex $P1197, "$name"
+    find_lex $P1198, "$scope"
+    $P1196."symbol"($P1197, $P1198 :named("scope"))
 .annotate 'line', 430
-    find_lex $P1200, "$BLOCK"
-    unless_null $P1200, vivify_403
-    $P1200 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1199, "$BLOCK"
+    unless_null $P1199, vivify_403
+    $P1199 = root_new ['parrot';'ResizablePMCArray']
   vivify_403:
-    set $P1201, $P1200[0]
-    unless_null $P1201, vivify_404
-    new $P1201, "Undef"
+    set $P1200, $P1199[0]
+    unless_null $P1200, vivify_404
+    new $P1200, "Undef"
   vivify_404:
-    find_lex $P1202, "$decl"
-    $P1203 = $P1201."push"($P1202)
+    find_lex $P1201, "$decl"
+    $P1202 = $P1200."push"($P1201)
 .annotate 'line', 424
-    .return ($P1203)
+    .return ($P1202)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<sub>"  :subid("74_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1211
+.include "except_types.pasm"
+.sub "routine_declarator:sym<sub>"  :subid("74_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1210
 .annotate 'line', 435
-    new $P1210, 'ExceptionHandler'
-    set_addr $P1210, control_1209
-    $P1210."handle_types"(57)
-    push_eh $P1210
+    new $P1209, 'ExceptionHandler'
+    set_addr $P1209, control_1208
+    $P1209."handle_types"(.CONTROL_RETURN)
+    push_eh $P1209
     .lex "self", self
-    .lex "$/", param_1211
+    .lex "$/", param_1210
+    find_lex $P1211, "$/"
     find_lex $P1212, "$/"
-    find_lex $P1213, "$/"
-    unless_null $P1213, vivify_410
-    $P1213 = root_new ['parrot';'Hash']
+    unless_null $P1212, vivify_410
+    $P1212 = root_new ['parrot';'Hash']
   vivify_410:
-    set $P1214, $P1213["routine_def"]
-    unless_null $P1214, vivify_411
-    new $P1214, "Undef"
+    set $P1213, $P1212["routine_def"]
+    unless_null $P1213, vivify_411
+    new $P1213, "Undef"
   vivify_411:
-    $P1215 = $P1214."ast"()
-    $P1216 = $P1212."!make"($P1215)
-    .return ($P1216)
-  control_1209:
+    $P1214 = $P1213."ast"()
+    $P1215 = $P1211."!make"($P1214)
+    .return ($P1215)
+  control_1208:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1217, exception, "payload"
-    .return ($P1217)
+    getattribute $P1216, exception, "payload"
+    .return ($P1216)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<method>"  :subid("75_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1221
+.include "except_types.pasm"
+.sub "routine_declarator:sym<method>"  :subid("75_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1220
 .annotate 'line', 436
-    new $P1220, 'ExceptionHandler'
-    set_addr $P1220, control_1219
-    $P1220."handle_types"(57)
-    push_eh $P1220
+    new $P1219, 'ExceptionHandler'
+    set_addr $P1219, control_1218
+    $P1219."handle_types"(.CONTROL_RETURN)
+    push_eh $P1219
     .lex "self", self
-    .lex "$/", param_1221
+    .lex "$/", param_1220
+    find_lex $P1221, "$/"
     find_lex $P1222, "$/"
-    find_lex $P1223, "$/"
-    unless_null $P1223, vivify_412
-    $P1223 = root_new ['parrot';'Hash']
+    unless_null $P1222, vivify_412
+    $P1222 = root_new ['parrot';'Hash']
   vivify_412:
-    set $P1224, $P1223["method_def"]
-    unless_null $P1224, vivify_413
-    new $P1224, "Undef"
+    set $P1223, $P1222["method_def"]
+    unless_null $P1223, vivify_413
+    new $P1223, "Undef"
   vivify_413:
-    $P1225 = $P1224."ast"()
-    $P1226 = $P1222."!make"($P1225)
-    .return ($P1226)
-  control_1219:
+    $P1224 = $P1223."ast"()
+    $P1225 = $P1221."!make"($P1224)
+    .return ($P1225)
+  control_1218:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1227, exception, "payload"
-    .return ($P1227)
+    getattribute $P1226, exception, "payload"
+    .return ($P1226)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "routine_def"  :subid("76_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1231
+.include "except_types.pasm"
+.sub "routine_def"  :subid("76_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1230
 .annotate 'line', 438
-    .const 'Sub' $P1242 = "77_1275600017.58296" 
-    capture_lex $P1242
-    new $P1230, 'ExceptionHandler'
-    set_addr $P1230, control_1229
-    $P1230."handle_types"(57)
-    push_eh $P1230
+    .const 'Sub' $P1241 = "77_1275811497.55064" 
+    capture_lex $P1241
+    new $P1229, 'ExceptionHandler'
+    set_addr $P1229, control_1228
+    $P1229."handle_types"(.CONTROL_RETURN)
+    push_eh $P1229
     .lex "self", self
-    .lex "$/", param_1231
+    .lex "$/", param_1230
 .annotate 'line', 439
-    new $P1232, "Undef"
-    .lex "$past", $P1232
-    find_lex $P1233, "$/"
-    unless_null $P1233, vivify_414
-    $P1233 = root_new ['parrot';'Hash']
+    new $P1231, "Undef"
+    .lex "$past", $P1231
+    find_lex $P1232, "$/"
+    unless_null $P1232, vivify_414
+    $P1232 = root_new ['parrot';'Hash']
   vivify_414:
-    set $P1234, $P1233["blockoid"]
-    unless_null $P1234, vivify_415
-    new $P1234, "Undef"
+    set $P1233, $P1232["blockoid"]
+    unless_null $P1233, vivify_415
+    new $P1233, "Undef"
   vivify_415:
-    $P1235 = $P1234."ast"()
-    store_lex "$past", $P1235
+    $P1234 = $P1233."ast"()
+    store_lex "$past", $P1234
 .annotate 'line', 440
-    find_lex $P1236, "$past"
-    $P1236."blocktype"("declaration")
+    find_lex $P1235, "$past"
+    $P1235."blocktype"("declaration")
 .annotate 'line', 441
-    find_lex $P1237, "$past"
-    $P1237."control"("return_pir")
+    find_lex $P1236, "$past"
+    $P1236."control"("return_pir")
 .annotate 'line', 442
-    find_lex $P1239, "$/"
-    unless_null $P1239, vivify_416
-    $P1239 = root_new ['parrot';'Hash']
+    find_lex $P1238, "$/"
+    unless_null $P1238, vivify_416
+    $P1238 = root_new ['parrot';'Hash']
   vivify_416:
-    set $P1240, $P1239["deflongname"]
-    unless_null $P1240, vivify_417
-    new $P1240, "Undef"
+    set $P1239, $P1238["deflongname"]
+    unless_null $P1239, vivify_417
+    new $P1239, "Undef"
   vivify_417:
-    unless $P1240, if_1238_end
-    .const 'Sub' $P1242 = "77_1275600017.58296" 
-    capture_lex $P1242
-    $P1242()
-  if_1238_end:
+    unless $P1239, if_1237_end
+    .const 'Sub' $P1241 = "77_1275811497.55064" 
+    capture_lex $P1241
+    $P1241()
+  if_1237_end:
 .annotate 'line', 452
-    find_lex $P1274, "$/"
-    find_lex $P1275, "$past"
-    $P1276 = $P1274."!make"($P1275)
+    find_lex $P1273, "$/"
+    find_lex $P1274, "$past"
+    $P1275 = $P1273."!make"($P1274)
 .annotate 'line', 438
-    .return ($P1276)
-  control_1229:
+    .return ($P1275)
+  control_1228:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1277, exception, "payload"
-    .return ($P1277)
+    getattribute $P1276, exception, "payload"
+    .return ($P1276)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1241"  :anon :subid("77_1275600017.58296") :outer("76_1275600017.58296")
+.sub "_block1240"  :anon :subid("77_1275811497.55064") :outer("76_1275811497.55064")
 .annotate 'line', 443
-    new $P1243, "Undef"
-    .lex "$name", $P1243
-    find_lex $P1244, "$/"
-    unless_null $P1244, vivify_418
-    $P1244 = root_new ['parrot';'Hash']
+    new $P1242, "Undef"
+    .lex "$name", $P1242
+    find_lex $P1243, "$/"
+    unless_null $P1243, vivify_418
+    $P1243 = root_new ['parrot';'Hash']
   vivify_418:
-    set $P1245, $P1244["sigil"]
-    unless_null $P1245, vivify_419
-    $P1245 = root_new ['parrot';'ResizablePMCArray']
+    set $P1244, $P1243["sigil"]
+    unless_null $P1244, vivify_419
+    $P1244 = root_new ['parrot';'ResizablePMCArray']
   vivify_419:
-    set $P1246, $P1245[0]
-    unless_null $P1246, vivify_420
-    new $P1246, "Undef"
+    set $P1245, $P1244[0]
+    unless_null $P1245, vivify_420
+    new $P1245, "Undef"
   vivify_420:
-    set $S1247, $P1246
-    new $P1248, 'String'
-    set $P1248, $S1247
-    find_lex $P1249, "$/"
-    unless_null $P1249, vivify_421
-    $P1249 = root_new ['parrot';'Hash']
+    set $S1246, $P1245
+    new $P1247, 'String'
+    set $P1247, $S1246
+    find_lex $P1248, "$/"
+    unless_null $P1248, vivify_421
+    $P1248 = root_new ['parrot';'Hash']
   vivify_421:
-    set $P1250, $P1249["deflongname"]
-    unless_null $P1250, vivify_422
-    $P1250 = root_new ['parrot';'ResizablePMCArray']
+    set $P1249, $P1248["deflongname"]
+    unless_null $P1249, vivify_422
+    $P1249 = root_new ['parrot';'ResizablePMCArray']
   vivify_422:
-    set $P1251, $P1250[0]
-    unless_null $P1251, vivify_423
-    new $P1251, "Undef"
+    set $P1250, $P1249[0]
+    unless_null $P1250, vivify_423
+    new $P1250, "Undef"
   vivify_423:
-    $S1252 = $P1251."ast"()
-    concat $P1253, $P1248, $S1252
-    store_lex "$name", $P1253
+    $S1251 = $P1250."ast"()
+    concat $P1252, $P1247, $S1251
+    store_lex "$name", $P1252
 .annotate 'line', 444
-    find_lex $P1254, "$past"
-    find_lex $P1255, "$name"
-    $P1254."name"($P1255)
-.annotate 'line', 445
-    find_dynamic_lex $P1258, "$*SCOPE"
-    unless_null $P1258, vivify_424
-    get_hll_global $P1258, "$SCOPE"
-    unless_null $P1258, vivify_425
+    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:
   vivify_424:
-    set $S1259, $P1258
-    isne $I1260, $S1259, "our"
-    if $I1260, if_1257
-    new $P1256, 'Integer'
-    set $P1256, $I1260
-    goto if_1257_end
-  if_1257:
+    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 $P1261, "@BLOCK"
-    unless_null $P1261, vivify_426
-    $P1261 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P1260, "@BLOCK"
+    unless_null $P1260, vivify_426
+    $P1260 = root_new ['parrot';'ResizablePMCArray']
   vivify_426:
-    set $P1262, $P1261[0]
-    unless_null $P1262, vivify_427
-    $P1262 = root_new ['parrot';'ResizablePMCArray']
+    set $P1261, $P1260[0]
+    unless_null $P1261, vivify_427
+    $P1261 = root_new ['parrot';'ResizablePMCArray']
   vivify_427:
-    set $P1263, $P1262[0]
-    unless_null $P1263, vivify_428
-    new $P1263, "Undef"
+    set $P1262, $P1261[0]
+    unless_null $P1262, vivify_428
+    new $P1262, "Undef"
   vivify_428:
-    get_hll_global $P1264, ["PAST"], "Var"
-    find_lex $P1265, "$name"
-    find_lex $P1266, "$past"
-    $P1267 = $P1264."new"($P1265 :named("name"), 1 :named("isdecl"), $P1266 :named("viviself"), "lexical" :named("scope"))
-    $P1263."push"($P1267)
+    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 $P1268, "@BLOCK"
-    unless_null $P1268, vivify_429
-    $P1268 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P1267, "@BLOCK"
+    unless_null $P1267, vivify_429
+    $P1267 = root_new ['parrot';'ResizablePMCArray']
   vivify_429:
-    set $P1269, $P1268[0]
-    unless_null $P1269, vivify_430
-    new $P1269, "Undef"
+    set $P1268, $P1267[0]
+    unless_null $P1268, vivify_430
+    new $P1268, "Undef"
   vivify_430:
-    find_lex $P1270, "$name"
-    $P1269."symbol"($P1270, "lexical" :named("scope"))
+    find_lex $P1269, "$name"
+    $P1268."symbol"($P1269, "lexical" :named("scope"))
 .annotate 'line', 449
-    get_hll_global $P1271, ["PAST"], "Var"
-    find_lex $P1272, "$name"
-    $P1273 = $P1271."new"($P1272 :named("name"))
-    store_lex "$past", $P1273
+    get_hll_global $P1270, ["PAST"], "Var"
+    find_lex $P1271, "$name"
+    $P1272 = $P1270."new"($P1271 :named("name"))
+    store_lex "$past", $P1272
 .annotate 'line', 445
-    set $P1256, $P1273
-  if_1257_end:
+    set $P1255, $P1272
+  if_1256_end:
 .annotate 'line', 442
-    .return ($P1256)
+    .return ($P1255)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "method_def"  :subid("78_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1281
+.include "except_types.pasm"
+.sub "method_def"  :subid("78_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1280
 .annotate 'line', 456
-    .const 'Sub' $P1297 = "79_1275600017.58296" 
-    capture_lex $P1297
-    new $P1280, 'ExceptionHandler'
-    set_addr $P1280, control_1279
-    $P1280."handle_types"(57)
-    push_eh $P1280
+    .const 'Sub' $P1296 = "79_1275811497.55064" 
+    capture_lex $P1296
+    new $P1279, 'ExceptionHandler'
+    set_addr $P1279, control_1278
+    $P1279."handle_types"(.CONTROL_RETURN)
+    push_eh $P1279
     .lex "self", self
-    .lex "$/", param_1281
+    .lex "$/", param_1280
 .annotate 'line', 457
-    new $P1282, "Undef"
-    .lex "$past", $P1282
-    find_lex $P1283, "$/"
-    unless_null $P1283, vivify_431
-    $P1283 = root_new ['parrot';'Hash']
+    new $P1281, "Undef"
+    .lex "$past", $P1281
+    find_lex $P1282, "$/"
+    unless_null $P1282, vivify_431
+    $P1282 = root_new ['parrot';'Hash']
   vivify_431:
-    set $P1284, $P1283["blockoid"]
-    unless_null $P1284, vivify_432
-    new $P1284, "Undef"
+    set $P1283, $P1282["blockoid"]
+    unless_null $P1283, vivify_432
+    new $P1283, "Undef"
   vivify_432:
-    $P1285 = $P1284."ast"()
-    store_lex "$past", $P1285
+    $P1284 = $P1283."ast"()
+    store_lex "$past", $P1284
 .annotate 'line', 458
-    find_lex $P1286, "$past"
-    $P1286."blocktype"("method")
+    find_lex $P1285, "$past"
+    $P1285."blocktype"("method")
 .annotate 'line', 459
-    find_lex $P1287, "$past"
-    $P1287."control"("return_pir")
+    find_lex $P1286, "$past"
+    $P1286."control"("return_pir")
 .annotate 'line', 460
-    find_lex $P1288, "$past"
-    unless_null $P1288, vivify_433
-    $P1288 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1287, "$past"
+    unless_null $P1287, vivify_433
+    $P1287 = root_new ['parrot';'ResizablePMCArray']
   vivify_433:
-    set $P1289, $P1288[0]
-    unless_null $P1289, vivify_434
-    new $P1289, "Undef"
+    set $P1288, $P1287[0]
+    unless_null $P1288, vivify_434
+    new $P1288, "Undef"
   vivify_434:
-    get_hll_global $P1290, ["PAST"], "Op"
-    $P1291 = $P1290."new"("    .lex \"self\", self" :named("inline"))
-    $P1289."unshift"($P1291)
+    get_hll_global $P1289, ["PAST"], "Op"
+    $P1290 = $P1289."new"("    .lex \"self\", self" :named("inline"))
+    $P1288."unshift"($P1290)
 .annotate 'line', 461
-    find_lex $P1292, "$past"
-    $P1292."symbol"("self", "lexical" :named("scope"))
+    find_lex $P1291, "$past"
+    $P1291."symbol"("self", "lexical" :named("scope"))
 .annotate 'line', 462
-    find_lex $P1294, "$/"
-    unless_null $P1294, vivify_435
-    $P1294 = root_new ['parrot';'Hash']
+    find_lex $P1293, "$/"
+    unless_null $P1293, vivify_435
+    $P1293 = root_new ['parrot';'Hash']
   vivify_435:
-    set $P1295, $P1294["deflongname"]
-    unless_null $P1295, vivify_436
-    new $P1295, "Undef"
+    set $P1294, $P1293["deflongname"]
+    unless_null $P1294, vivify_436
+    new $P1294, "Undef"
   vivify_436:
-    unless $P1295, if_1293_end
-    .const 'Sub' $P1297 = "79_1275600017.58296" 
-    capture_lex $P1297
-    $P1297()
-  if_1293_end:
+    unless $P1294, if_1292_end
+    .const 'Sub' $P1296 = "79_1275811497.55064" 
+    capture_lex $P1296
+    $P1296()
+  if_1292_end:
 .annotate 'line', 466
-    find_dynamic_lex $P1309, "$*MULTINESS"
-    unless_null $P1309, vivify_440
-    get_hll_global $P1309, "$MULTINESS"
-    unless_null $P1309, vivify_441
+    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 $S1310, $P1309
-    iseq $I1311, $S1310, "multi"
-    unless $I1311, if_1308_end
-    find_lex $P1312, "$past"
-    $P1313 = $P1312."multi"()
-    $P1313."unshift"("_")
-  if_1308_end:
+    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 $P1314, "$/"
-    find_lex $P1315, "$past"
-    $P1316 = $P1314."!make"($P1315)
+    find_lex $P1313, "$/"
+    find_lex $P1314, "$past"
+    $P1315 = $P1313."!make"($P1314)
 .annotate 'line', 456
-    .return ($P1316)
-  control_1279:
+    .return ($P1315)
+  control_1278:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1317, exception, "payload"
-    .return ($P1317)
+    getattribute $P1316, exception, "payload"
+    .return ($P1316)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1296"  :anon :subid("79_1275600017.58296") :outer("78_1275600017.58296")
+.sub "_block1295"  :anon :subid("79_1275811497.55064") :outer("78_1275811497.55064")
 .annotate 'line', 463
-    new $P1298, "Undef"
-    .lex "$name", $P1298
-    find_lex $P1299, "$/"
-    unless_null $P1299, vivify_437
-    $P1299 = root_new ['parrot';'Hash']
+    new $P1297, "Undef"
+    .lex "$name", $P1297
+    find_lex $P1298, "$/"
+    unless_null $P1298, vivify_437
+    $P1298 = root_new ['parrot';'Hash']
   vivify_437:
-    set $P1300, $P1299["deflongname"]
-    unless_null $P1300, vivify_438
-    $P1300 = root_new ['parrot';'ResizablePMCArray']
+    set $P1299, $P1298["deflongname"]
+    unless_null $P1299, vivify_438
+    $P1299 = root_new ['parrot';'ResizablePMCArray']
   vivify_438:
-    set $P1301, $P1300[0]
-    unless_null $P1301, vivify_439
-    new $P1301, "Undef"
+    set $P1300, $P1299[0]
+    unless_null $P1300, vivify_439
+    new $P1300, "Undef"
   vivify_439:
-    $P1302 = $P1301."ast"()
-    set $S1303, $P1302
-    new $P1304, 'String'
-    set $P1304, $S1303
-    store_lex "$name", $P1304
+    $P1301 = $P1300."ast"()
+    set $S1302, $P1301
+    new $P1303, 'String'
+    set $P1303, $S1302
+    store_lex "$name", $P1303
 .annotate 'line', 464
-    find_lex $P1305, "$past"
-    find_lex $P1306, "$name"
-    $P1307 = $P1305."name"($P1306)
+    find_lex $P1304, "$past"
+    find_lex $P1305, "$name"
+    $P1306 = $P1304."name"($P1305)
 .annotate 'line', 462
-    .return ($P1307)
+    .return ($P1306)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "signature"  :subid("80_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1321
+.include "except_types.pasm"
+.sub "signature"  :subid("80_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1320
 .annotate 'line', 471
-    .const 'Sub' $P1347 = "82_1275600017.58296" 
-    capture_lex $P1347
-    .const 'Sub' $P1332 = "81_1275600017.58296" 
-    capture_lex $P1332
-    new $P1320, 'ExceptionHandler'
-    set_addr $P1320, control_1319
-    $P1320."handle_types"(57)
-    push_eh $P1320
+    .const 'Sub' $P1346 = "82_1275811497.55064" 
+    capture_lex $P1346
+    .const 'Sub' $P1331 = "81_1275811497.55064" 
+    capture_lex $P1331
+    new $P1319, 'ExceptionHandler'
+    set_addr $P1319, control_1318
+    $P1319."handle_types"(.CONTROL_RETURN)
+    push_eh $P1319
     .lex "self", self
-    .lex "$/", param_1321
+    .lex "$/", param_1320
 .annotate 'line', 472
-    new $P1322, "Undef"
-    .lex "$BLOCKINIT", $P1322
-    get_global $P1323, "@BLOCK"
-    unless_null $P1323, vivify_442
-    $P1323 = root_new ['parrot';'ResizablePMCArray']
+    new $P1321, "Undef"
+    .lex "$BLOCKINIT", $P1321
+    get_global $P1322, "@BLOCK"
+    unless_null $P1322, vivify_442
+    $P1322 = root_new ['parrot';'ResizablePMCArray']
   vivify_442:
-    set $P1324, $P1323[0]
-    unless_null $P1324, vivify_443
-    $P1324 = root_new ['parrot';'ResizablePMCArray']
+    set $P1323, $P1322[0]
+    unless_null $P1323, vivify_443
+    $P1323 = root_new ['parrot';'ResizablePMCArray']
   vivify_443:
-    set $P1325, $P1324[0]
-    unless_null $P1325, vivify_444
-    new $P1325, "Undef"
+    set $P1324, $P1323[0]
+    unless_null $P1324, vivify_444
+    new $P1324, "Undef"
   vivify_444:
-    store_lex "$BLOCKINIT", $P1325
+    store_lex "$BLOCKINIT", $P1324
 .annotate 'line', 474
-    find_lex $P1327, "$/"
-    unless_null $P1327, vivify_445
-    $P1327 = root_new ['parrot';'Hash']
+    find_lex $P1326, "$/"
+    unless_null $P1326, vivify_445
+    $P1326 = root_new ['parrot';'Hash']
   vivify_445:
-    set $P1328, $P1327["parameter"]
-    unless_null $P1328, vivify_446
-    new $P1328, "Undef"
+    set $P1327, $P1326["parameter"]
+    unless_null $P1327, vivify_446
+    new $P1327, "Undef"
   vivify_446:
-    defined $I1329, $P1328
-    unless $I1329, for_undef_447
-    iter $P1326, $P1328
-    new $P1339, 'ExceptionHandler'
-    set_addr $P1339, loop1338_handler
-    $P1339."handle_types"(64, 66, 65)
-    push_eh $P1339
-  loop1338_test:
-    unless $P1326, loop1338_done
-    shift $P1330, $P1326
-  loop1338_redo:
-    .const 'Sub' $P1332 = "81_1275600017.58296" 
-    capture_lex $P1332
-    $P1332($P1330)
-  loop1338_next:
-    goto loop1338_test
-  loop1338_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1340, exception, 'type'
-    eq $P1340, 64, loop1338_next
-    eq $P1340, 66, loop1338_redo
-  loop1338_done:
+    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_1275811497.55064" 
+    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:
 .annotate 'line', 477
-    find_dynamic_lex $P1343, "$*MULTINESS"
-    unless_null $P1343, vivify_448
-    get_hll_global $P1343, "$MULTINESS"
-    unless_null $P1343, vivify_449
+    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 $S1344, $P1343
-    iseq $I1345, $S1344, "multi"
-    if $I1345, if_1342
-    new $P1341, 'Integer'
-    set $P1341, $I1345
-    goto if_1342_end
-  if_1342:
-    .const 'Sub' $P1347 = "82_1275600017.58296" 
-    capture_lex $P1347
-    $P1373 = $P1347()
-    set $P1341, $P1373
-  if_1342_end:
+    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_1275811497.55064" 
+    capture_lex $P1346
+    $P1372 = $P1346()
+    set $P1340, $P1372
+  if_1341_end:
 .annotate 'line', 471
-    .return ($P1341)
-  control_1319:
+    .return ($P1340)
+  control_1318:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1374, exception, "payload"
-    .return ($P1374)
+    getattribute $P1373, exception, "payload"
+    .return ($P1373)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1331"  :anon :subid("81_1275600017.58296") :outer("80_1275600017.58296")
-    .param pmc param_1333
+.sub "_block1330"  :anon :subid("81_1275811497.55064") :outer("80_1275811497.55064")
+    .param pmc param_1332
 .annotate 'line', 474
-    .lex "$_", param_1333
-    find_lex $P1334, "$BLOCKINIT"
-    find_lex $P1335, "$_"
-    $P1336 = $P1335."ast"()
-    $P1337 = $P1334."push"($P1336)
-    .return ($P1337)
+    .lex "$_", param_1332
+    find_lex $P1333, "$BLOCKINIT"
+    find_lex $P1334, "$_"
+    $P1335 = $P1334."ast"()
+    $P1336 = $P1333."push"($P1335)
+    .return ($P1336)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1346"  :anon :subid("82_1275600017.58296") :outer("80_1275600017.58296")
+.include "except_types.pasm"
+.sub "_block1345"  :anon :subid("82_1275811497.55064") :outer("80_1275811497.55064")
 .annotate 'line', 477
-    .const 'Sub' $P1356 = "83_1275600017.58296" 
-    capture_lex $P1356
+    .const 'Sub' $P1355 = "83_1275811497.55064" 
+    capture_lex $P1355
 .annotate 'line', 478
-    $P1348 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@params", $P1348
+    $P1347 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@params", $P1347
 .annotate 'line', 477
-    find_lex $P1349, "@params"
+    find_lex $P1348, "@params"
 .annotate 'line', 479
-    find_lex $P1351, "$BLOCKINIT"
-    $P1352 = $P1351."list"()
-    defined $I1353, $P1352
-    unless $I1353, for_undef_450
-    iter $P1350, $P1352
-    new $P1367, 'ExceptionHandler'
-    set_addr $P1367, loop1366_handler
-    $P1367."handle_types"(64, 66, 65)
-    push_eh $P1367
-  loop1366_test:
-    unless $P1350, loop1366_done
-    shift $P1354, $P1350
-  loop1366_redo:
-    .const 'Sub' $P1356 = "83_1275600017.58296" 
-    capture_lex $P1356
-    $P1356($P1354)
-  loop1366_next:
-    goto loop1366_test
-  loop1366_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1368, exception, 'type'
-    eq $P1368, 64, loop1366_next
-    eq $P1368, 66, loop1366_redo
-  loop1366_done:
+    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_1275811497.55064" 
+    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:
 .annotate 'line', 482
-    get_global $P1369, "@BLOCK"
-    unless_null $P1369, vivify_451
-    $P1369 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P1368, "@BLOCK"
+    unless_null $P1368, vivify_451
+    $P1368 = root_new ['parrot';'ResizablePMCArray']
   vivify_451:
-    set $P1370, $P1369[0]
-    unless_null $P1370, vivify_452
-    new $P1370, "Undef"
+    set $P1369, $P1368[0]
+    unless_null $P1369, vivify_452
+    new $P1369, "Undef"
   vivify_452:
-    find_lex $P1371, "@params"
-    $P1372 = $P1370."multi"($P1371)
+    find_lex $P1370, "@params"
+    $P1371 = $P1369."multi"($P1370)
 .annotate 'line', 477
-    .return ($P1372)
+    .return ($P1371)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1355"  :anon :subid("83_1275600017.58296") :outer("82_1275600017.58296")
-    .param pmc param_1357
+.sub "_block1354"  :anon :subid("83_1275811497.55064") :outer("82_1275811497.55064")
+    .param pmc param_1356
 .annotate 'line', 479
-    .lex "$_", param_1357
+    .lex "$_", param_1356
 .annotate 'line', 480
-    find_lex $P1358, "@params"
-    find_lex $P1360, "$_"
-    $P1361 = $P1360."multitype"()
-    set $P1359, $P1361
-    defined $I1363, $P1359
-    if $I1363, default_1362
-    new $P1364, "String"
-    assign $P1364, "_"
-    set $P1359, $P1364
-  default_1362:
-    $P1365 = $P1358."push"($P1359)
+    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 ($P1365)
+    .return ($P1364)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "parameter"  :subid("84_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1378
+.include "except_types.pasm"
+.sub "parameter"  :subid("84_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1377
 .annotate 'line', 486
-    .const 'Sub' $P1459 = "85_1275600017.58296" 
-    capture_lex $P1459
-    new $P1377, 'ExceptionHandler'
-    set_addr $P1377, control_1376
-    $P1377."handle_types"(57)
-    push_eh $P1377
+    .const 'Sub' $P1458 = "85_1275811497.55064" 
+    capture_lex $P1458
+    new $P1376, 'ExceptionHandler'
+    set_addr $P1376, control_1375
+    $P1376."handle_types"(.CONTROL_RETURN)
+    push_eh $P1376
     .lex "self", self
-    .lex "$/", param_1378
+    .lex "$/", param_1377
 .annotate 'line', 487
-    new $P1379, "Undef"
-    .lex "$quant", $P1379
+    new $P1378, "Undef"
+    .lex "$quant", $P1378
 .annotate 'line', 488
-    new $P1380, "Undef"
-    .lex "$past", $P1380
+    new $P1379, "Undef"
+    .lex "$past", $P1379
 .annotate 'line', 487
-    find_lex $P1381, "$/"
-    unless_null $P1381, vivify_453
-    $P1381 = root_new ['parrot';'Hash']
+    find_lex $P1380, "$/"
+    unless_null $P1380, vivify_453
+    $P1380 = root_new ['parrot';'Hash']
   vivify_453:
-    set $P1382, $P1381["quant"]
-    unless_null $P1382, vivify_454
-    new $P1382, "Undef"
+    set $P1381, $P1380["quant"]
+    unless_null $P1381, vivify_454
+    new $P1381, "Undef"
   vivify_454:
-    store_lex "$quant", $P1382
-    find_lex $P1383, "$past"
+    store_lex "$quant", $P1381
+    find_lex $P1382, "$past"
 .annotate 'line', 489
-    find_lex $P1385, "$/"
-    unless_null $P1385, vivify_455
-    $P1385 = root_new ['parrot';'Hash']
+    find_lex $P1384, "$/"
+    unless_null $P1384, vivify_455
+    $P1384 = root_new ['parrot';'Hash']
   vivify_455:
-    set $P1386, $P1385["named_param"]
-    unless_null $P1386, vivify_456
-    new $P1386, "Undef"
+    set $P1385, $P1384["named_param"]
+    unless_null $P1385, vivify_456
+    new $P1385, "Undef"
   vivify_456:
-    if $P1386, if_1384
+    if $P1385, if_1383
 .annotate 'line', 496
-    find_lex $P1400, "$/"
-    unless_null $P1400, vivify_457
-    $P1400 = root_new ['parrot';'Hash']
+    find_lex $P1399, "$/"
+    unless_null $P1399, vivify_457
+    $P1399 = root_new ['parrot';'Hash']
   vivify_457:
-    set $P1401, $P1400["param_var"]
-    unless_null $P1401, vivify_458
-    new $P1401, "Undef"
+    set $P1400, $P1399["param_var"]
+    unless_null $P1400, vivify_458
+    new $P1400, "Undef"
   vivify_458:
-    $P1402 = $P1401."ast"()
-    store_lex "$past", $P1402
+    $P1401 = $P1400."ast"()
+    store_lex "$past", $P1401
 .annotate 'line', 497
-    find_lex $P1404, "$quant"
-    set $S1405, $P1404
-    iseq $I1406, $S1405, "*"
-    if $I1406, if_1403
+    find_lex $P1403, "$quant"
+    set $S1404, $P1403
+    iseq $I1405, $S1404, "*"
+    if $I1405, if_1402
 .annotate 'line', 501
-    find_lex $P1415, "$quant"
-    set $S1416, $P1415
-    iseq $I1417, $S1416, "?"
-    unless $I1417, if_1414_end
+    find_lex $P1414, "$quant"
+    set $S1415, $P1414
+    iseq $I1416, $S1415, "?"
+    unless $I1416, if_1413_end
 .annotate 'line', 502
-    find_lex $P1418, "$past"
-    find_lex $P1419, "$/"
-    unless_null $P1419, vivify_459
-    $P1419 = root_new ['parrot';'Hash']
+    find_lex $P1417, "$past"
+    find_lex $P1418, "$/"
+    unless_null $P1418, vivify_459
+    $P1418 = root_new ['parrot';'Hash']
   vivify_459:
-    set $P1420, $P1419["param_var"]
-    unless_null $P1420, vivify_460
-    $P1420 = root_new ['parrot';'Hash']
+    set $P1419, $P1418["param_var"]
+    unless_null $P1419, vivify_460
+    $P1419 = root_new ['parrot';'Hash']
   vivify_460:
-    set $P1421, $P1420["sigil"]
-    unless_null $P1421, vivify_461
-    new $P1421, "Undef"
+    set $P1420, $P1419["sigil"]
+    unless_null $P1420, vivify_461
+    new $P1420, "Undef"
   vivify_461:
-    $P1422 = "vivitype"($P1421)
-    $P1418."viviself"($P1422)
-  if_1414_end:
+    $P1421 = "vivitype"($P1420)
+    $P1417."viviself"($P1421)
+  if_1413_end:
 .annotate 'line', 501
-    goto if_1403_end
-  if_1403:
+    goto if_1402_end
+  if_1402:
 .annotate 'line', 498
-    find_lex $P1407, "$past"
-    $P1407."slurpy"(1)
+    find_lex $P1406, "$past"
+    $P1406."slurpy"(1)
 .annotate 'line', 499
-    find_lex $P1408, "$past"
-    find_lex $P1409, "$/"
-    unless_null $P1409, vivify_462
-    $P1409 = root_new ['parrot';'Hash']
+    find_lex $P1407, "$past"
+    find_lex $P1408, "$/"
+    unless_null $P1408, vivify_462
+    $P1408 = root_new ['parrot';'Hash']
   vivify_462:
-    set $P1410, $P1409["param_var"]
-    unless_null $P1410, vivify_463
-    $P1410 = root_new ['parrot';'Hash']
+    set $P1409, $P1408["param_var"]
+    unless_null $P1409, vivify_463
+    $P1409 = root_new ['parrot';'Hash']
   vivify_463:
-    set $P1411, $P1410["sigil"]
-    unless_null $P1411, vivify_464
-    new $P1411, "Undef"
+    set $P1410, $P1409["sigil"]
+    unless_null $P1410, vivify_464
+    new $P1410, "Undef"
   vivify_464:
-    set $S1412, $P1411
-    iseq $I1413, $S1412, "%"
-    $P1408."named"($I1413)
-  if_1403_end:
+    set $S1411, $P1410
+    iseq $I1412, $S1411, "%"
+    $P1407."named"($I1412)
+  if_1402_end:
 .annotate 'line', 495
-    goto if_1384_end
-  if_1384:
+    goto if_1383_end
+  if_1383:
 .annotate 'line', 490
-    find_lex $P1387, "$/"
-    unless_null $P1387, vivify_465
-    $P1387 = root_new ['parrot';'Hash']
+    find_lex $P1386, "$/"
+    unless_null $P1386, vivify_465
+    $P1386 = root_new ['parrot';'Hash']
   vivify_465:
-    set $P1388, $P1387["named_param"]
-    unless_null $P1388, vivify_466
-    new $P1388, "Undef"
+    set $P1387, $P1386["named_param"]
+    unless_null $P1387, vivify_466
+    new $P1387, "Undef"
   vivify_466:
-    $P1389 = $P1388."ast"()
-    store_lex "$past", $P1389
+    $P1388 = $P1387."ast"()
+    store_lex "$past", $P1388
 .annotate 'line', 491
-    find_lex $P1391, "$quant"
-    set $S1392, $P1391
-    isne $I1393, $S1392, "!"
-    unless $I1393, if_1390_end
+    find_lex $P1390, "$quant"
+    set $S1391, $P1390
+    isne $I1392, $S1391, "!"
+    unless $I1392, if_1389_end
 .annotate 'line', 492
-    find_lex $P1394, "$past"
-    find_lex $P1395, "$/"
-    unless_null $P1395, vivify_467
-    $P1395 = root_new ['parrot';'Hash']
+    find_lex $P1393, "$past"
+    find_lex $P1394, "$/"
+    unless_null $P1394, vivify_467
+    $P1394 = root_new ['parrot';'Hash']
   vivify_467:
-    set $P1396, $P1395["named_param"]
-    unless_null $P1396, vivify_468
-    $P1396 = root_new ['parrot';'Hash']
+    set $P1395, $P1394["named_param"]
+    unless_null $P1395, vivify_468
+    $P1395 = root_new ['parrot';'Hash']
   vivify_468:
-    set $P1397, $P1396["param_var"]
-    unless_null $P1397, vivify_469
-    $P1397 = root_new ['parrot';'Hash']
+    set $P1396, $P1395["param_var"]
+    unless_null $P1396, vivify_469
+    $P1396 = root_new ['parrot';'Hash']
   vivify_469:
-    set $P1398, $P1397["sigil"]
-    unless_null $P1398, vivify_470
-    new $P1398, "Undef"
+    set $P1397, $P1396["sigil"]
+    unless_null $P1397, vivify_470
+    new $P1397, "Undef"
   vivify_470:
-    $P1399 = "vivitype"($P1398)
-    $P1394."viviself"($P1399)
-  if_1390_end:
-  if_1384_end:
+    $P1398 = "vivitype"($P1397)
+    $P1393."viviself"($P1398)
+  if_1389_end:
+  if_1383_end:
 .annotate 'line', 505
-    find_lex $P1424, "$/"
-    unless_null $P1424, vivify_471
-    $P1424 = root_new ['parrot';'Hash']
+    find_lex $P1423, "$/"
+    unless_null $P1423, vivify_471
+    $P1423 = root_new ['parrot';'Hash']
   vivify_471:
-    set $P1425, $P1424["default_value"]
-    unless_null $P1425, vivify_472
-    new $P1425, "Undef"
+    set $P1424, $P1423["default_value"]
+    unless_null $P1424, vivify_472
+    new $P1424, "Undef"
   vivify_472:
-    unless $P1425, if_1423_end
+    unless $P1424, if_1422_end
 .annotate 'line', 506
-    find_lex $P1427, "$quant"
-    set $S1428, $P1427
-    iseq $I1429, $S1428, "*"
-    unless $I1429, if_1426_end
+    find_lex $P1426, "$quant"
+    set $S1427, $P1426
+    iseq $I1428, $S1427, "*"
+    unless $I1428, if_1425_end
 .annotate 'line', 507
-    find_lex $P1430, "$/"
-    $P1431 = $P1430."CURSOR"()
-    $P1431."panic"("Can't put default on slurpy parameter")
-  if_1426_end:
+    find_lex $P1429, "$/"
+    $P1430 = $P1429."CURSOR"()
+    $P1430."panic"("Can't put default on slurpy parameter")
+  if_1425_end:
 .annotate 'line', 509
-    find_lex $P1433, "$quant"
-    set $S1434, $P1433
-    iseq $I1435, $S1434, "!"
-    unless $I1435, if_1432_end
+    find_lex $P1432, "$quant"
+    set $S1433, $P1432
+    iseq $I1434, $S1433, "!"
+    unless $I1434, if_1431_end
 .annotate 'line', 510
-    find_lex $P1436, "$/"
-    $P1437 = $P1436."CURSOR"()
-    $P1437."panic"("Can't put default on required parameter")
-  if_1432_end:
+    find_lex $P1435, "$/"
+    $P1436 = $P1435."CURSOR"()
+    $P1436."panic"("Can't put default on required parameter")
+  if_1431_end:
 .annotate 'line', 512
-    find_lex $P1438, "$past"
-    find_lex $P1439, "$/"
-    unless_null $P1439, vivify_473
-    $P1439 = root_new ['parrot';'Hash']
+    find_lex $P1437, "$past"
+    find_lex $P1438, "$/"
+    unless_null $P1438, vivify_473
+    $P1438 = root_new ['parrot';'Hash']
   vivify_473:
-    set $P1440, $P1439["default_value"]
-    unless_null $P1440, vivify_474
-    $P1440 = root_new ['parrot';'ResizablePMCArray']
+    set $P1439, $P1438["default_value"]
+    unless_null $P1439, vivify_474
+    $P1439 = root_new ['parrot';'ResizablePMCArray']
   vivify_474:
-    set $P1441, $P1440[0]
-    unless_null $P1441, vivify_475
-    $P1441 = root_new ['parrot';'Hash']
+    set $P1440, $P1439[0]
+    unless_null $P1440, vivify_475
+    $P1440 = root_new ['parrot';'Hash']
   vivify_475:
-    set $P1442, $P1441["EXPR"]
-    unless_null $P1442, vivify_476
-    new $P1442, "Undef"
+    set $P1441, $P1440["EXPR"]
+    unless_null $P1441, vivify_476
+    new $P1441, "Undef"
   vivify_476:
-    $P1443 = $P1442."ast"()
-    $P1438."viviself"($P1443)
-  if_1423_end:
+    $P1442 = $P1441."ast"()
+    $P1437."viviself"($P1442)
+  if_1422_end:
 .annotate 'line', 514
-    find_lex $P1445, "$past"
-    $P1446 = $P1445."viviself"()
-    if $P1446, unless_1444_end
-    get_global $P1447, "@BLOCK"
-    unless_null $P1447, vivify_477
-    $P1447 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1444, "$past"
+    $P1445 = $P1444."viviself"()
+    if $P1445, unless_1443_end
+    get_global $P1446, "@BLOCK"
+    unless_null $P1446, vivify_477
+    $P1446 = root_new ['parrot';'ResizablePMCArray']
   vivify_477:
-    set $P1448, $P1447[0]
-    unless_null $P1448, vivify_478
-    new $P1448, "Undef"
+    set $P1447, $P1446[0]
+    unless_null $P1447, vivify_478
+    new $P1447, "Undef"
   vivify_478:
-    get_global $P1449, "@BLOCK"
-    unless_null $P1449, vivify_479
-    $P1449 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P1448, "@BLOCK"
+    unless_null $P1448, vivify_479
+    $P1448 = root_new ['parrot';'ResizablePMCArray']
   vivify_479:
-    set $P1450, $P1449[0]
-    unless_null $P1450, vivify_480
-    new $P1450, "Undef"
+    set $P1449, $P1448[0]
+    unless_null $P1449, vivify_480
+    new $P1449, "Undef"
   vivify_480:
-    $P1451 = $P1450."arity"()
-    set $N1452, $P1451
-    new $P1453, 'Float'
-    set $P1453, $N1452
-    add $P1454, $P1453, 1
-    $P1448."arity"($P1454)
-  unless_1444_end:
+    $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 $P1456, "$/"
-    unless_null $P1456, vivify_481
-    $P1456 = root_new ['parrot';'Hash']
+    find_lex $P1455, "$/"
+    unless_null $P1455, vivify_481
+    $P1455 = root_new ['parrot';'Hash']
   vivify_481:
-    set $P1457, $P1456["typename"]
-    unless_null $P1457, vivify_482
-    new $P1457, "Undef"
+    set $P1456, $P1455["typename"]
+    unless_null $P1456, vivify_482
+    new $P1456, "Undef"
   vivify_482:
-    unless $P1457, if_1455_end
-    .const 'Sub' $P1459 = "85_1275600017.58296" 
-    capture_lex $P1459
-    $P1459()
-  if_1455_end:
+    unless $P1456, if_1454_end
+    .const 'Sub' $P1458 = "85_1275811497.55064" 
+    capture_lex $P1458
+    $P1458()
+  if_1454_end:
 .annotate 'line', 523
-    find_lex $P1483, "$/"
-    find_lex $P1484, "$past"
-    $P1485 = $P1483."!make"($P1484)
+    find_lex $P1482, "$/"
+    find_lex $P1483, "$past"
+    $P1484 = $P1482."!make"($P1483)
 .annotate 'line', 486
-    .return ($P1485)
-  control_1376:
+    .return ($P1484)
+  control_1375:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1486, exception, "payload"
-    .return ($P1486)
+    getattribute $P1485, exception, "payload"
+    .return ($P1485)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1458"  :anon :subid("85_1275600017.58296") :outer("84_1275600017.58296")
+.include "except_types.pasm"
+.sub "_block1457"  :anon :subid("85_1275811497.55064") :outer("84_1275811497.55064")
 .annotate 'line', 517
-    .const 'Sub' $P1471 = "86_1275600017.58296" 
-    capture_lex $P1471
+    .const 'Sub' $P1470 = "86_1275811497.55064" 
+    capture_lex $P1470
 .annotate 'line', 518
-    $P1460 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@multitype", $P1460
+    $P1459 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@multitype", $P1459
 .annotate 'line', 517
-    find_lex $P1461, "@multitype"
+    find_lex $P1460, "@multitype"
 .annotate 'line', 519
-    find_lex $P1463, "$/"
-    unless_null $P1463, vivify_483
-    $P1463 = root_new ['parrot';'Hash']
+    find_lex $P1462, "$/"
+    unless_null $P1462, vivify_483
+    $P1462 = root_new ['parrot';'Hash']
   vivify_483:
-    set $P1464, $P1463["typename"]
-    unless_null $P1464, vivify_484
-    $P1464 = root_new ['parrot';'ResizablePMCArray']
+    set $P1463, $P1462["typename"]
+    unless_null $P1463, vivify_484
+    $P1463 = root_new ['parrot';'ResizablePMCArray']
   vivify_484:
-    set $P1465, $P1464[0]
-    unless_null $P1465, vivify_485
-    $P1465 = root_new ['parrot';'Hash']
+    set $P1464, $P1463[0]
+    unless_null $P1464, vivify_485
+    $P1464 = root_new ['parrot';'Hash']
   vivify_485:
-    set $P1466, $P1465["name"]
-    unless_null $P1466, vivify_486
-    $P1466 = root_new ['parrot';'Hash']
+    set $P1465, $P1464["name"]
+    unless_null $P1465, vivify_486
+    $P1465 = root_new ['parrot';'Hash']
   vivify_486:
-    set $P1467, $P1466["identifier"]
-    unless_null $P1467, vivify_487
-    new $P1467, "Undef"
+    set $P1466, $P1465["identifier"]
+    unless_null $P1466, vivify_487
+    new $P1466, "Undef"
   vivify_487:
-    defined $I1468, $P1467
-    unless $I1468, for_undef_488
-    iter $P1462, $P1467
-    new $P1478, 'ExceptionHandler'
-    set_addr $P1478, loop1477_handler
-    $P1478."handle_types"(64, 66, 65)
-    push_eh $P1478
-  loop1477_test:
-    unless $P1462, loop1477_done
-    shift $P1469, $P1462
-  loop1477_redo:
-    .const 'Sub' $P1471 = "86_1275600017.58296" 
-    capture_lex $P1471
-    $P1471($P1469)
-  loop1477_next:
-    goto loop1477_test
-  loop1477_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1479, exception, 'type'
-    eq $P1479, 64, loop1477_next
-    eq $P1479, 66, loop1477_redo
-  loop1477_done:
+    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_1275811497.55064" 
+    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 $P1480, "$past"
-    find_lex $P1481, "@multitype"
-    $P1482 = $P1480."multitype"($P1481)
+    find_lex $P1479, "$past"
+    find_lex $P1480, "@multitype"
+    $P1481 = $P1479."multitype"($P1480)
 .annotate 'line', 517
-    .return ($P1482)
+    .return ($P1481)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1470"  :anon :subid("86_1275600017.58296") :outer("85_1275600017.58296")
-    .param pmc param_1472
+.sub "_block1469"  :anon :subid("86_1275811497.55064") :outer("85_1275811497.55064")
+    .param pmc param_1471
 .annotate 'line', 519
-    .lex "$_", param_1472
-    find_lex $P1473, "@multitype"
-    find_lex $P1474, "$_"
-    set $S1475, $P1474
-    $P1476 = $P1473."push"($S1475)
-    .return ($P1476)
+    .lex "$_", param_1471
+    find_lex $P1472, "@multitype"
+    find_lex $P1473, "$_"
+    set $S1474, $P1473
+    $P1475 = $P1472."push"($S1474)
+    .return ($P1475)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "param_var"  :subid("87_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1490
+.include "except_types.pasm"
+.sub "param_var"  :subid("87_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1489
 .annotate 'line', 526
-    new $P1489, 'ExceptionHandler'
-    set_addr $P1489, control_1488
-    $P1489."handle_types"(57)
-    push_eh $P1489
+    new $P1488, 'ExceptionHandler'
+    set_addr $P1488, control_1487
+    $P1488."handle_types"(.CONTROL_RETURN)
+    push_eh $P1488
     .lex "self", self
-    .lex "$/", param_1490
+    .lex "$/", param_1489
 .annotate 'line', 527
-    new $P1491, "Undef"
-    .lex "$name", $P1491
+    new $P1490, "Undef"
+    .lex "$name", $P1490
 .annotate 'line', 528
-    new $P1492, "Undef"
-    .lex "$past", $P1492
+    new $P1491, "Undef"
+    .lex "$past", $P1491
 .annotate 'line', 527
-    find_lex $P1493, "$/"
-    set $S1494, $P1493
-    new $P1495, 'String'
-    set $P1495, $S1494
-    store_lex "$name", $P1495
+    find_lex $P1492, "$/"
+    set $S1493, $P1492
+    new $P1494, 'String'
+    set $P1494, $S1493
+    store_lex "$name", $P1494
 .annotate 'line', 528
-    get_hll_global $P1496, ["PAST"], "Var"
-    find_lex $P1497, "$name"
-    find_lex $P1498, "$/"
-    $P1499 = $P1496."new"($P1497 :named("name"), "parameter" :named("scope"), 1 :named("isdecl"), $P1498 :named("node"))
-    store_lex "$past", $P1499
+    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 $P1500, "@BLOCK"
-    unless_null $P1500, vivify_489
-    $P1500 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P1499, "@BLOCK"
+    unless_null $P1499, vivify_489
+    $P1499 = root_new ['parrot';'ResizablePMCArray']
   vivify_489:
-    set $P1501, $P1500[0]
-    unless_null $P1501, vivify_490
-    new $P1501, "Undef"
+    set $P1500, $P1499[0]
+    unless_null $P1500, vivify_490
+    new $P1500, "Undef"
   vivify_490:
-    find_lex $P1502, "$name"
-    $P1501."symbol"($P1502, "lexical" :named("scope"))
+    find_lex $P1501, "$name"
+    $P1500."symbol"($P1501, "lexical" :named("scope"))
 .annotate 'line', 531
-    find_lex $P1503, "$/"
-    find_lex $P1504, "$past"
-    $P1505 = $P1503."!make"($P1504)
+    find_lex $P1502, "$/"
+    find_lex $P1503, "$past"
+    $P1504 = $P1502."!make"($P1503)
 .annotate 'line', 526
-    .return ($P1505)
-  control_1488:
+    .return ($P1504)
+  control_1487:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1506, exception, "payload"
-    .return ($P1506)
+    getattribute $P1505, exception, "payload"
+    .return ($P1505)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "named_param"  :subid("88_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1510
+.include "except_types.pasm"
+.sub "named_param"  :subid("88_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1509
 .annotate 'line', 534
-    new $P1509, 'ExceptionHandler'
-    set_addr $P1509, control_1508
-    $P1509."handle_types"(57)
-    push_eh $P1509
+    new $P1508, 'ExceptionHandler'
+    set_addr $P1508, control_1507
+    $P1508."handle_types"(.CONTROL_RETURN)
+    push_eh $P1508
     .lex "self", self
-    .lex "$/", param_1510
+    .lex "$/", param_1509
 .annotate 'line', 535
-    new $P1511, "Undef"
-    .lex "$past", $P1511
-    find_lex $P1512, "$/"
-    unless_null $P1512, vivify_491
-    $P1512 = root_new ['parrot';'Hash']
+    new $P1510, "Undef"
+    .lex "$past", $P1510
+    find_lex $P1511, "$/"
+    unless_null $P1511, vivify_491
+    $P1511 = root_new ['parrot';'Hash']
   vivify_491:
-    set $P1513, $P1512["param_var"]
-    unless_null $P1513, vivify_492
-    new $P1513, "Undef"
+    set $P1512, $P1511["param_var"]
+    unless_null $P1512, vivify_492
+    new $P1512, "Undef"
   vivify_492:
-    $P1514 = $P1513."ast"()
-    store_lex "$past", $P1514
+    $P1513 = $P1512."ast"()
+    store_lex "$past", $P1513
 .annotate 'line', 536
-    find_lex $P1515, "$past"
-    find_lex $P1516, "$/"
-    unless_null $P1516, vivify_493
-    $P1516 = root_new ['parrot';'Hash']
+    find_lex $P1514, "$past"
+    find_lex $P1515, "$/"
+    unless_null $P1515, vivify_493
+    $P1515 = root_new ['parrot';'Hash']
   vivify_493:
-    set $P1517, $P1516["param_var"]
-    unless_null $P1517, vivify_494
-    $P1517 = root_new ['parrot';'Hash']
+    set $P1516, $P1515["param_var"]
+    unless_null $P1516, vivify_494
+    $P1516 = root_new ['parrot';'Hash']
   vivify_494:
-    set $P1518, $P1517["name"]
-    unless_null $P1518, vivify_495
-    new $P1518, "Undef"
+    set $P1517, $P1516["name"]
+    unless_null $P1517, vivify_495
+    new $P1517, "Undef"
   vivify_495:
-    set $S1519, $P1518
-    $P1515."named"($S1519)
+    set $S1518, $P1517
+    $P1514."named"($S1518)
 .annotate 'line', 537
-    find_lex $P1520, "$/"
-    find_lex $P1521, "$past"
-    $P1522 = $P1520."!make"($P1521)
+    find_lex $P1519, "$/"
+    find_lex $P1520, "$past"
+    $P1521 = $P1519."!make"($P1520)
 .annotate 'line', 534
-    .return ($P1522)
-  control_1508:
+    .return ($P1521)
+  control_1507:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1523, exception, "payload"
-    .return ($P1523)
+    getattribute $P1522, exception, "payload"
+    .return ($P1522)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "regex_declarator"  :subid("89_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1527
-    .param pmc param_1528 :optional
-    .param int has_param_1528 :opt_flag
+.include "except_types.pasm"
+.sub "regex_declarator"  :subid("89_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1526
+    .param pmc param_1527 :optional
+    .param int has_param_1527 :opt_flag
 .annotate 'line', 540
-    .const 'Sub' $P1598 = "91_1275600017.58296" 
-    capture_lex $P1598
-    .const 'Sub' $P1570 = "90_1275600017.58296" 
-    capture_lex $P1570
-    new $P1526, 'ExceptionHandler'
-    set_addr $P1526, control_1525
-    $P1526."handle_types"(57)
-    push_eh $P1526
-    .lex "self", self
-    .lex "$/", param_1527
-    if has_param_1528, optparam_496
-    new $P1529, "Undef"
-    set param_1528, $P1529
+    .const 'Sub' $P1597 = "91_1275811497.55064" 
+    capture_lex $P1597
+    .const 'Sub' $P1569 = "90_1275811497.55064" 
+    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_1528
+    .lex "$key", param_1527
 .annotate 'line', 541
-    $P1530 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@MODIFIERS", $P1530
+    $P1529 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@MODIFIERS", $P1529
 .annotate 'line', 544
-    new $P1531, "Undef"
-    .lex "$name", $P1531
+    new $P1530, "Undef"
+    .lex "$name", $P1530
 .annotate 'line', 545
-    new $P1532, "Undef"
-    .lex "$past", $P1532
+    new $P1531, "Undef"
+    .lex "$past", $P1531
 .annotate 'line', 541
 
-        $P1533 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS'
+        $P1532 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS'
     
-    store_lex "@MODIFIERS", $P1533
+    store_lex "@MODIFIERS", $P1532
 .annotate 'line', 544
-    find_lex $P1534, "$/"
-    unless_null $P1534, vivify_497
-    $P1534 = root_new ['parrot';'Hash']
+    find_lex $P1533, "$/"
+    unless_null $P1533, vivify_497
+    $P1533 = root_new ['parrot';'Hash']
   vivify_497:
-    set $P1535, $P1534["deflongname"]
-    unless_null $P1535, vivify_498
-    new $P1535, "Undef"
+    set $P1534, $P1533["deflongname"]
+    unless_null $P1534, vivify_498
+    new $P1534, "Undef"
   vivify_498:
-    $P1536 = $P1535."ast"()
-    set $S1537, $P1536
-    new $P1538, 'String'
-    set $P1538, $S1537
-    store_lex "$name", $P1538
-    find_lex $P1539, "$past"
+    $P1535 = $P1534."ast"()
+    set $S1536, $P1535
+    new $P1537, 'String'
+    set $P1537, $S1536
+    store_lex "$name", $P1537
+    find_lex $P1538, "$past"
 .annotate 'line', 546
-    find_lex $P1541, "$/"
-    unless_null $P1541, vivify_499
-    $P1541 = root_new ['parrot';'Hash']
+    find_lex $P1540, "$/"
+    unless_null $P1540, vivify_499
+    $P1540 = root_new ['parrot';'Hash']
   vivify_499:
-    set $P1542, $P1541["proto"]
-    unless_null $P1542, vivify_500
-    new $P1542, "Undef"
+    set $P1541, $P1540["proto"]
+    unless_null $P1541, vivify_500
+    new $P1541, "Undef"
   vivify_500:
-    if $P1542, if_1540
+    if $P1541, if_1539
 .annotate 'line', 573
-    find_lex $P1566, "$key"
-    set $S1567, $P1566
-    iseq $I1568, $S1567, "open"
-    if $I1568, if_1565
+    find_lex $P1565, "$key"
+    set $S1566, $P1565
+    iseq $I1567, $S1566, "open"
+    if $I1567, if_1564
 .annotate 'line', 586
-    .const 'Sub' $P1598 = "91_1275600017.58296" 
-    capture_lex $P1598
-    $P1598()
-    goto if_1565_end
-  if_1565:
+    .const 'Sub' $P1597 = "91_1275811497.55064" 
+    capture_lex $P1597
+    $P1597()
+    goto if_1564_end
+  if_1564:
 .annotate 'line', 573
-    .const 'Sub' $P1570 = "90_1275600017.58296" 
-    capture_lex $P1570
-    $P1570()
-  if_1565_end:
-    goto if_1540_end
-  if_1540:
+    .const 'Sub' $P1569 = "90_1275811497.55064" 
+    capture_lex $P1569
+    $P1569()
+  if_1564_end:
+    goto if_1539_end
+  if_1539:
 .annotate 'line', 548
-    get_hll_global $P1543, ["PAST"], "Stmts"
+    get_hll_global $P1542, ["PAST"], "Stmts"
 .annotate 'line', 549
-    get_hll_global $P1544, ["PAST"], "Block"
-    find_lex $P1545, "$name"
+    get_hll_global $P1543, ["PAST"], "Block"
+    find_lex $P1544, "$name"
 .annotate 'line', 550
-    get_hll_global $P1546, ["PAST"], "Op"
+    get_hll_global $P1545, ["PAST"], "Op"
 .annotate 'line', 551
-    get_hll_global $P1547, ["PAST"], "Var"
-    $P1548 = $P1547."new"("self" :named("name"), "register" :named("scope"))
-    find_lex $P1549, "$name"
-    $P1550 = $P1546."new"($P1548, $P1549, "!protoregex" :named("name"), "callmethod" :named("pasttype"))
+    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 $P1551, "$/"
-    $P1552 = $P1544."new"($P1550, $P1545 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1551 :named("node"))
+    find_lex $P1550, "$/"
+    $P1551 = $P1543."new"($P1549, $P1544 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1550 :named("node"))
 .annotate 'line', 560
-    get_hll_global $P1553, ["PAST"], "Block"
-    new $P1554, "String"
-    assign $P1554, "!PREFIX__"
-    find_lex $P1555, "$name"
-    concat $P1556, $P1554, $P1555
+    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 $P1557, ["PAST"], "Op"
+    get_hll_global $P1556, ["PAST"], "Op"
 .annotate 'line', 562
-    get_hll_global $P1558, ["PAST"], "Var"
-    $P1559 = $P1558."new"("self" :named("name"), "register" :named("scope"))
-    find_lex $P1560, "$name"
-    $P1561 = $P1557."new"($P1559, $P1560, "!PREFIX__!protoregex" :named("name"), "callmethod" :named("pasttype"))
+    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"))
 .annotate 'line', 561
-    find_lex $P1562, "$/"
-    $P1563 = $P1553."new"($P1561, $P1556 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1562 :named("node"))
+    find_lex $P1561, "$/"
+    $P1562 = $P1552."new"($P1560, $P1555 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1561 :named("node"))
 .annotate 'line', 560
-    $P1564 = $P1543."new"($P1552, $P1563)
+    $P1563 = $P1542."new"($P1551, $P1562)
 .annotate 'line', 548
-    store_lex "$past", $P1564
-  if_1540_end:
+    store_lex "$past", $P1563
+  if_1539_end:
 .annotate 'line', 600
-    find_lex $P1619, "$/"
-    find_lex $P1620, "$past"
-    $P1621 = $P1619."!make"($P1620)
+    find_lex $P1618, "$/"
+    find_lex $P1619, "$past"
+    $P1620 = $P1618."!make"($P1619)
 .annotate 'line', 540
-    .return ($P1621)
-  control_1525:
+    .return ($P1620)
+  control_1524:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1622, exception, "payload"
-    .return ($P1622)
+    getattribute $P1621, exception, "payload"
+    .return ($P1621)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1597"  :anon :subid("91_1275600017.58296") :outer("89_1275600017.58296")
+.sub "_block1596"  :anon :subid("91_1275811497.55064") :outer("89_1275811497.55064")
 .annotate 'line', 587
-    new $P1599, "Undef"
-    .lex "$regex", $P1599
+    new $P1598, "Undef"
+    .lex "$regex", $P1598
 .annotate 'line', 588
-    get_hll_global $P1600, ["Regex";"P6Regex";"Actions"], "buildsub"
-    find_lex $P1601, "$/"
-    unless_null $P1601, vivify_501
-    $P1601 = root_new ['parrot';'Hash']
+    get_hll_global $P1599, ["Regex";"P6Regex";"Actions"], "buildsub"
+    find_lex $P1600, "$/"
+    unless_null $P1600, vivify_501
+    $P1600 = root_new ['parrot';'Hash']
   vivify_501:
-    set $P1602, $P1601["p6regex"]
-    unless_null $P1602, vivify_502
-    new $P1602, "Undef"
+    set $P1601, $P1600["p6regex"]
+    unless_null $P1601, vivify_502
+    new $P1601, "Undef"
   vivify_502:
-    $P1603 = $P1602."ast"()
-    get_global $P1604, "@BLOCK"
-    $P1605 = $P1604."shift"()
-    $P1606 = $P1600($P1603, $P1605)
-    store_lex "$regex", $P1606
+    $P1602 = $P1601."ast"()
+    get_global $P1603, "@BLOCK"
+    $P1604 = $P1603."shift"()
+    $P1605 = $P1599($P1602, $P1604)
+    store_lex "$regex", $P1605
 .annotate 'line', 589
-    find_lex $P1607, "$regex"
-    find_lex $P1608, "$name"
-    $P1607."name"($P1608)
+    find_lex $P1606, "$regex"
+    find_lex $P1607, "$name"
+    $P1606."name"($P1607)
 .annotate 'line', 591
-    get_hll_global $P1609, ["PAST"], "Op"
+    get_hll_global $P1608, ["PAST"], "Op"
 .annotate 'line', 593
-    get_hll_global $P1610, ["PAST"], "Var"
-    new $P1611, "ResizablePMCArray"
-    push $P1611, "Regex"
-    $P1612 = $P1610."new"("Method" :named("name"), $P1611 :named("namespace"), "package" :named("scope"))
-    find_lex $P1613, "$regex"
-    $P1614 = $P1609."new"($P1612, $P1613, "callmethod" :named("pasttype"), "new" :named("name"))
+    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", $P1614
+    store_lex "$past", $P1613
 .annotate 'line', 597
-    find_lex $P1615, "$regex"
-    find_lex $P1616, "$past"
-    unless_null $P1616, vivify_503
-    $P1616 = root_new ['parrot';'Hash']
-    store_lex "$past", $P1616
+    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 $P1616["sink"], $P1615
+    set $P1615["sink"], $P1614
 .annotate 'line', 598
-    find_lex $P1617, "@MODIFIERS"
-    $P1618 = $P1617."shift"()
+    find_lex $P1616, "@MODIFIERS"
+    $P1617 = $P1616."shift"()
 .annotate 'line', 586
-    .return ($P1618)
+    .return ($P1617)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1569"  :anon :subid("90_1275600017.58296") :outer("89_1275600017.58296")
+.include "except_types.pasm"
+.sub "_block1568"  :anon :subid("90_1275811497.55064") :outer("89_1275811497.55064")
 .annotate 'line', 574
-    $P1571 = root_new ['parrot';'Hash']
-    .lex "%h", $P1571
+    $P1570 = root_new ['parrot';'Hash']
+    .lex "%h", $P1570
 .annotate 'line', 573
-    find_lex $P1572, "%h"
+    find_lex $P1571, "%h"
 .annotate 'line', 575
-    find_lex $P1574, "$/"
-    unless_null $P1574, vivify_504
-    $P1574 = root_new ['parrot';'Hash']
+    find_lex $P1573, "$/"
+    unless_null $P1573, vivify_504
+    $P1573 = root_new ['parrot';'Hash']
   vivify_504:
-    set $P1575, $P1574["sym"]
-    unless_null $P1575, vivify_505
-    new $P1575, "Undef"
+    set $P1574, $P1573["sym"]
+    unless_null $P1574, vivify_505
+    new $P1574, "Undef"
   vivify_505:
-    set $S1576, $P1575
-    iseq $I1577, $S1576, "token"
-    unless $I1577, if_1573_end
-    new $P1578, "Integer"
-    assign $P1578, 1
-    find_lex $P1579, "%h"
-    unless_null $P1579, vivify_506
-    $P1579 = root_new ['parrot';'Hash']
-    store_lex "%h", $P1579
+    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 $P1579["r"], $P1578
-  if_1573_end:
+    set $P1578["r"], $P1577
+  if_1572_end:
 .annotate 'line', 576
-    find_lex $P1581, "$/"
-    unless_null $P1581, vivify_507
-    $P1581 = root_new ['parrot';'Hash']
+    find_lex $P1580, "$/"
+    unless_null $P1580, vivify_507
+    $P1580 = root_new ['parrot';'Hash']
   vivify_507:
-    set $P1582, $P1581["sym"]
-    unless_null $P1582, vivify_508
-    new $P1582, "Undef"
+    set $P1581, $P1580["sym"]
+    unless_null $P1581, vivify_508
+    new $P1581, "Undef"
   vivify_508:
-    set $S1583, $P1582
-    iseq $I1584, $S1583, "rule"
-    unless $I1584, if_1580_end
-    new $P1585, "Integer"
-    assign $P1585, 1
-    find_lex $P1586, "%h"
-    unless_null $P1586, vivify_509
-    $P1586 = root_new ['parrot';'Hash']
-    store_lex "%h", $P1586
+    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 $P1586["r"], $P1585
-    new $P1587, "Integer"
-    assign $P1587, 1
-    find_lex $P1588, "%h"
-    unless_null $P1588, vivify_510
-    $P1588 = root_new ['parrot';'Hash']
-    store_lex "%h", $P1588
+    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
   vivify_510:
-    set $P1588["s"], $P1587
-  if_1580_end:
+    set $P1587["s"], $P1586
+  if_1579_end:
 .annotate 'line', 577
-    find_lex $P1589, "@MODIFIERS"
-    find_lex $P1590, "%h"
-    $P1589."unshift"($P1590)
+    find_lex $P1588, "@MODIFIERS"
+    find_lex $P1589, "%h"
+    $P1588."unshift"($P1589)
 .annotate 'line', 578
 
             $P0 = find_lex '$name'
             set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
         
 .annotate 'line', 582
-    get_global $P1591, "@BLOCK"
-    unless_null $P1591, vivify_511
-    $P1591 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P1590, "@BLOCK"
+    unless_null $P1590, vivify_511
+    $P1590 = root_new ['parrot';'ResizablePMCArray']
   vivify_511:
-    set $P1592, $P1591[0]
-    unless_null $P1592, vivify_512
-    new $P1592, "Undef"
+    set $P1591, $P1590[0]
+    unless_null $P1591, vivify_512
+    new $P1591, "Undef"
   vivify_512:
-    $P1592."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
+    $P1591."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
 .annotate 'line', 583
-    get_global $P1593, "@BLOCK"
-    unless_null $P1593, vivify_513
-    $P1593 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P1592, "@BLOCK"
+    unless_null $P1592, vivify_513
+    $P1592 = root_new ['parrot';'ResizablePMCArray']
   vivify_513:
-    set $P1594, $P1593[0]
-    unless_null $P1594, vivify_514
-    new $P1594, "Undef"
+    set $P1593, $P1592[0]
+    unless_null $P1593, vivify_514
+    new $P1593, "Undef"
   vivify_514:
-    $P1594."symbol"("$/", "lexical" :named("scope"))
+    $P1593."symbol"("$/", "lexical" :named("scope"))
 .annotate 'line', 584
-    new $P1595, "Exception"
-    set $P1595['type'], 57
-    new $P1596, "Integer"
-    assign $P1596, 0
-    setattribute $P1595, 'payload', $P1596
-    throw $P1595
+    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"]
-.sub "dotty"  :subid("92_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1626
+.include "except_types.pasm"
+.sub "dotty"  :subid("92_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1625
 .annotate 'line', 604
-    new $P1625, 'ExceptionHandler'
-    set_addr $P1625, control_1624
-    $P1625."handle_types"(57)
-    push_eh $P1625
+    new $P1624, 'ExceptionHandler'
+    set_addr $P1624, control_1623
+    $P1624."handle_types"(.CONTROL_RETURN)
+    push_eh $P1624
     .lex "self", self
-    .lex "$/", param_1626
+    .lex "$/", param_1625
 .annotate 'line', 605
-    new $P1627, "Undef"
-    .lex "$past", $P1627
-    find_lex $P1630, "$/"
-    unless_null $P1630, vivify_515
-    $P1630 = root_new ['parrot';'Hash']
+    new $P1626, "Undef"
+    .lex "$past", $P1626
+    find_lex $P1629, "$/"
+    unless_null $P1629, vivify_515
+    $P1629 = root_new ['parrot';'Hash']
   vivify_515:
-    set $P1631, $P1630["args"]
-    unless_null $P1631, vivify_516
-    new $P1631, "Undef"
+    set $P1630, $P1629["args"]
+    unless_null $P1630, vivify_516
+    new $P1630, "Undef"
   vivify_516:
-    if $P1631, if_1629
-    get_hll_global $P1636, ["PAST"], "Op"
-    find_lex $P1637, "$/"
-    $P1638 = $P1636."new"($P1637 :named("node"))
-    set $P1628, $P1638
-    goto if_1629_end
-  if_1629:
-    find_lex $P1632, "$/"
-    unless_null $P1632, vivify_517
-    $P1632 = root_new ['parrot';'Hash']
+    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 $P1633, $P1632["args"]
-    unless_null $P1633, vivify_518
-    $P1633 = root_new ['parrot';'ResizablePMCArray']
+    set $P1632, $P1631["args"]
+    unless_null $P1632, vivify_518
+    $P1632 = root_new ['parrot';'ResizablePMCArray']
   vivify_518:
-    set $P1634, $P1633[0]
-    unless_null $P1634, vivify_519
-    new $P1634, "Undef"
+    set $P1633, $P1632[0]
+    unless_null $P1633, vivify_519
+    new $P1633, "Undef"
   vivify_519:
-    $P1635 = $P1634."ast"()
-    set $P1628, $P1635
-  if_1629_end:
-    store_lex "$past", $P1628
+    $P1634 = $P1633."ast"()
+    set $P1627, $P1634
+  if_1628_end:
+    store_lex "$past", $P1627
 .annotate 'line', 606
-    find_lex $P1639, "$past"
-    find_lex $P1642, "$/"
-    unless_null $P1642, vivify_520
-    $P1642 = root_new ['parrot';'Hash']
+    find_lex $P1638, "$past"
+    find_lex $P1641, "$/"
+    unless_null $P1641, vivify_520
+    $P1641 = root_new ['parrot';'Hash']
   vivify_520:
-    set $P1643, $P1642["quote"]
-    unless_null $P1643, vivify_521
-    new $P1643, "Undef"
+    set $P1642, $P1641["quote"]
+    unless_null $P1642, vivify_521
+    new $P1642, "Undef"
   vivify_521:
-    if $P1643, if_1641
-    find_lex $P1647, "$/"
-    unless_null $P1647, vivify_522
-    $P1647 = root_new ['parrot';'Hash']
+    if $P1642, if_1640
+    find_lex $P1646, "$/"
+    unless_null $P1646, vivify_522
+    $P1646 = root_new ['parrot';'Hash']
   vivify_522:
-    set $P1648, $P1647["longname"]
-    unless_null $P1648, vivify_523
-    new $P1648, "Undef"
+    set $P1647, $P1646["longname"]
+    unless_null $P1647, vivify_523
+    new $P1647, "Undef"
   vivify_523:
-    set $S1649, $P1648
-    new $P1640, 'String'
-    set $P1640, $S1649
-    goto if_1641_end
-  if_1641:
-    find_lex $P1644, "$/"
-    unless_null $P1644, vivify_524
-    $P1644 = root_new ['parrot';'Hash']
+    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']
   vivify_524:
-    set $P1645, $P1644["quote"]
-    unless_null $P1645, vivify_525
-    new $P1645, "Undef"
+    set $P1644, $P1643["quote"]
+    unless_null $P1644, vivify_525
+    new $P1644, "Undef"
   vivify_525:
-    $P1646 = $P1645."ast"()
-    set $P1640, $P1646
-  if_1641_end:
-    $P1639."name"($P1640)
+    $P1645 = $P1644."ast"()
+    set $P1639, $P1645
+  if_1640_end:
+    $P1638."name"($P1639)
 .annotate 'line', 607
-    find_lex $P1650, "$past"
-    $P1650."pasttype"("callmethod")
+    find_lex $P1649, "$past"
+    $P1649."pasttype"("callmethod")
 .annotate 'line', 608
-    find_lex $P1651, "$/"
-    find_lex $P1652, "$past"
-    $P1653 = $P1651."!make"($P1652)
+    find_lex $P1650, "$/"
+    find_lex $P1651, "$past"
+    $P1652 = $P1650."!make"($P1651)
 .annotate 'line', 604
-    .return ($P1653)
-  control_1624:
+    .return ($P1652)
+  control_1623:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1654, exception, "payload"
-    .return ($P1654)
+    getattribute $P1653, exception, "payload"
+    .return ($P1653)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<self>"  :subid("93_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1658
+.include "except_types.pasm"
+.sub "term:sym<self>"  :subid("93_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1657
 .annotate 'line', 613
-    new $P1657, 'ExceptionHandler'
-    set_addr $P1657, control_1656
-    $P1657."handle_types"(57)
-    push_eh $P1657
+    new $P1656, 'ExceptionHandler'
+    set_addr $P1656, control_1655
+    $P1656."handle_types"(.CONTROL_RETURN)
+    push_eh $P1656
     .lex "self", self
-    .lex "$/", param_1658
+    .lex "$/", param_1657
 .annotate 'line', 614
-    find_lex $P1659, "$/"
-    get_hll_global $P1660, ["PAST"], "Var"
-    $P1661 = $P1660."new"("self" :named("name"))
-    $P1662 = $P1659."!make"($P1661)
+    find_lex $P1658, "$/"
+    get_hll_global $P1659, ["PAST"], "Var"
+    $P1660 = $P1659."new"("self" :named("name"))
+    $P1661 = $P1658."!make"($P1660)
 .annotate 'line', 613
-    .return ($P1662)
-  control_1656:
+    .return ($P1661)
+  control_1655:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1663, exception, "payload"
-    .return ($P1663)
+    getattribute $P1662, exception, "payload"
+    .return ($P1662)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<identifier>"  :subid("94_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1667
+.include "except_types.pasm"
+.sub "term:sym<identifier>"  :subid("94_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1666
 .annotate 'line', 617
-    new $P1666, 'ExceptionHandler'
-    set_addr $P1666, control_1665
-    $P1666."handle_types"(57)
-    push_eh $P1666
+    new $P1665, 'ExceptionHandler'
+    set_addr $P1665, control_1664
+    $P1665."handle_types"(.CONTROL_RETURN)
+    push_eh $P1665
     .lex "self", self
-    .lex "$/", param_1667
+    .lex "$/", param_1666
 .annotate 'line', 618
-    new $P1668, "Undef"
-    .lex "$past", $P1668
-    find_lex $P1669, "$/"
-    unless_null $P1669, vivify_526
-    $P1669 = root_new ['parrot';'Hash']
+    new $P1667, "Undef"
+    .lex "$past", $P1667
+    find_lex $P1668, "$/"
+    unless_null $P1668, vivify_526
+    $P1668 = root_new ['parrot';'Hash']
   vivify_526:
-    set $P1670, $P1669["args"]
-    unless_null $P1670, vivify_527
-    new $P1670, "Undef"
+    set $P1669, $P1668["args"]
+    unless_null $P1669, vivify_527
+    new $P1669, "Undef"
   vivify_527:
-    $P1671 = $P1670."ast"()
-    store_lex "$past", $P1671
+    $P1670 = $P1669."ast"()
+    store_lex "$past", $P1670
 .annotate 'line', 619
-    find_lex $P1672, "$past"
-    find_lex $P1673, "$/"
-    unless_null $P1673, vivify_528
-    $P1673 = root_new ['parrot';'Hash']
+    find_lex $P1671, "$past"
+    find_lex $P1672, "$/"
+    unless_null $P1672, vivify_528
+    $P1672 = root_new ['parrot';'Hash']
   vivify_528:
-    set $P1674, $P1673["identifier"]
-    unless_null $P1674, vivify_529
-    new $P1674, "Undef"
+    set $P1673, $P1672["identifier"]
+    unless_null $P1673, vivify_529
+    new $P1673, "Undef"
   vivify_529:
-    set $S1675, $P1674
-    $P1672."name"($S1675)
+    set $S1674, $P1673
+    $P1671."name"($S1674)
 .annotate 'line', 620
-    find_lex $P1676, "$/"
-    find_lex $P1677, "$past"
-    $P1678 = $P1676."!make"($P1677)
+    find_lex $P1675, "$/"
+    find_lex $P1676, "$past"
+    $P1677 = $P1675."!make"($P1676)
 .annotate 'line', 617
-    .return ($P1678)
-  control_1665:
+    .return ($P1677)
+  control_1664:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1679, exception, "payload"
-    .return ($P1679)
+    getattribute $P1678, exception, "payload"
+    .return ($P1678)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<name>"  :subid("95_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1683
+.include "except_types.pasm"
+.sub "term:sym<name>"  :subid("95_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1682
 .annotate 'line', 623
-    new $P1682, 'ExceptionHandler'
-    set_addr $P1682, control_1681
-    $P1682."handle_types"(57)
-    push_eh $P1682
+    new $P1681, 'ExceptionHandler'
+    set_addr $P1681, control_1680
+    $P1681."handle_types"(.CONTROL_RETURN)
+    push_eh $P1681
     .lex "self", self
-    .lex "$/", param_1683
+    .lex "$/", param_1682
 .annotate 'line', 624
-    $P1684 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@ns", $P1684
+    $P1683 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@ns", $P1683
 .annotate 'line', 625
-    new $P1685, "Undef"
-    .lex "$name", $P1685
+    new $P1684, "Undef"
+    .lex "$name", $P1684
 .annotate 'line', 627
-    new $P1686, "Undef"
-    .lex "$var", $P1686
+    new $P1685, "Undef"
+    .lex "$var", $P1685
 .annotate 'line', 629
-    new $P1687, "Undef"
-    .lex "$past", $P1687
+    new $P1686, "Undef"
+    .lex "$past", $P1686
 .annotate 'line', 624
-    find_lex $P1688, "$/"
-    unless_null $P1688, vivify_530
-    $P1688 = root_new ['parrot';'Hash']
+    find_lex $P1687, "$/"
+    unless_null $P1687, vivify_530
+    $P1687 = root_new ['parrot';'Hash']
   vivify_530:
-    set $P1689, $P1688["name"]
-    unless_null $P1689, vivify_531
-    $P1689 = root_new ['parrot';'Hash']
+    set $P1688, $P1687["name"]
+    unless_null $P1688, vivify_531
+    $P1688 = root_new ['parrot';'Hash']
   vivify_531:
-    set $P1690, $P1689["identifier"]
-    unless_null $P1690, vivify_532
-    new $P1690, "Undef"
+    set $P1689, $P1688["identifier"]
+    unless_null $P1689, vivify_532
+    new $P1689, "Undef"
   vivify_532:
-    clone $P1691, $P1690
-    store_lex "@ns", $P1691
+    clone $P1690, $P1689
+    store_lex "@ns", $P1690
 .annotate 'line', 625
-    find_lex $P1692, "@ns"
-    $P1693 = $P1692."pop"()
-    store_lex "$name", $P1693
+    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"
-    if $P1697, if_1696
-    set $P1695, $P1697
-    goto if_1696_end
-  if_1696:
-    find_lex $P1698, "@ns"
-    unless_null $P1698, vivify_533
-    $P1698 = root_new ['parrot';'ResizablePMCArray']
+    unless_null $P1697, vivify_533
+    $P1697 = root_new ['parrot';'ResizablePMCArray']
   vivify_533:
-    set $P1699, $P1698[0]
-    unless_null $P1699, vivify_534
-    new $P1699, "Undef"
+    set $P1698, $P1697[0]
+    unless_null $P1698, vivify_534
+    new $P1698, "Undef"
   vivify_534:
-    set $S1700, $P1699
-    iseq $I1701, $S1700, "GLOBAL"
-    new $P1695, 'Integer'
-    set $P1695, $I1701
-  if_1696_end:
-    unless $P1695, if_1694_end
-    find_lex $P1702, "@ns"
-    $P1702."shift"()
-  if_1694_end:
+    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 $P1703, ["PAST"], "Var"
-    find_lex $P1704, "$name"
-    set $S1705, $P1704
-    find_lex $P1706, "@ns"
-    $P1707 = $P1703."new"($S1705 :named("name"), $P1706 :named("namespace"), "package" :named("scope"))
-    store_lex "$var", $P1707
+    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 $P1708, "$var"
-    store_lex "$past", $P1708
+    find_lex $P1707, "$var"
+    store_lex "$past", $P1707
 .annotate 'line', 630
-    find_lex $P1710, "$/"
-    unless_null $P1710, vivify_535
-    $P1710 = root_new ['parrot';'Hash']
+    find_lex $P1709, "$/"
+    unless_null $P1709, vivify_535
+    $P1709 = root_new ['parrot';'Hash']
   vivify_535:
-    set $P1711, $P1710["args"]
-    unless_null $P1711, vivify_536
-    new $P1711, "Undef"
+    set $P1710, $P1709["args"]
+    unless_null $P1710, vivify_536
+    new $P1710, "Undef"
   vivify_536:
-    unless $P1711, if_1709_end
+    unless $P1710, if_1708_end
 .annotate 'line', 631
-    find_lex $P1712, "$/"
-    unless_null $P1712, vivify_537
-    $P1712 = root_new ['parrot';'Hash']
+    find_lex $P1711, "$/"
+    unless_null $P1711, vivify_537
+    $P1711 = root_new ['parrot';'Hash']
   vivify_537:
-    set $P1713, $P1712["args"]
-    unless_null $P1713, vivify_538
-    $P1713 = root_new ['parrot';'ResizablePMCArray']
+    set $P1712, $P1711["args"]
+    unless_null $P1712, vivify_538
+    $P1712 = root_new ['parrot';'ResizablePMCArray']
   vivify_538:
-    set $P1714, $P1713[0]
-    unless_null $P1714, vivify_539
-    new $P1714, "Undef"
+    set $P1713, $P1712[0]
+    unless_null $P1713, vivify_539
+    new $P1713, "Undef"
   vivify_539:
-    $P1715 = $P1714."ast"()
-    store_lex "$past", $P1715
+    $P1714 = $P1713."ast"()
+    store_lex "$past", $P1714
 .annotate 'line', 632
-    find_lex $P1716, "$past"
-    find_lex $P1717, "$var"
-    $P1716."unshift"($P1717)
-  if_1709_end:
+    find_lex $P1715, "$past"
+    find_lex $P1716, "$var"
+    $P1715."unshift"($P1716)
+  if_1708_end:
 .annotate 'line', 634
-    find_lex $P1718, "$/"
-    find_lex $P1719, "$past"
-    $P1720 = $P1718."!make"($P1719)
+    find_lex $P1717, "$/"
+    find_lex $P1718, "$past"
+    $P1719 = $P1717."!make"($P1718)
 .annotate 'line', 623
-    .return ($P1720)
-  control_1681:
+    .return ($P1719)
+  control_1680:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1721, exception, "payload"
-    .return ($P1721)
+    getattribute $P1720, exception, "payload"
+    .return ($P1720)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<pir::op>"  :subid("96_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1725
+.include "except_types.pasm"
+.sub "term:sym<pir::op>"  :subid("96_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1724
 .annotate 'line', 637
-    new $P1724, 'ExceptionHandler'
-    set_addr $P1724, control_1723
-    $P1724."handle_types"(57)
-    push_eh $P1724
+    new $P1723, 'ExceptionHandler'
+    set_addr $P1723, control_1722
+    $P1723."handle_types"(.CONTROL_RETURN)
+    push_eh $P1723
     .lex "self", self
-    .lex "$/", param_1725
+    .lex "$/", param_1724
 .annotate 'line', 638
-    new $P1726, "Undef"
-    .lex "$past", $P1726
+    new $P1725, "Undef"
+    .lex "$past", $P1725
 .annotate 'line', 639
-    new $P1727, "Undef"
-    .lex "$pirop", $P1727
+    new $P1726, "Undef"
+    .lex "$pirop", $P1726
 .annotate 'line', 638
-    find_lex $P1730, "$/"
-    unless_null $P1730, vivify_540
-    $P1730 = root_new ['parrot';'Hash']
+    find_lex $P1729, "$/"
+    unless_null $P1729, vivify_540
+    $P1729 = root_new ['parrot';'Hash']
   vivify_540:
-    set $P1731, $P1730["args"]
-    unless_null $P1731, vivify_541
-    new $P1731, "Undef"
+    set $P1730, $P1729["args"]
+    unless_null $P1730, vivify_541
+    new $P1730, "Undef"
   vivify_541:
-    if $P1731, if_1729
-    get_hll_global $P1736, ["PAST"], "Op"
-    find_lex $P1737, "$/"
-    $P1738 = $P1736."new"($P1737 :named("node"))
-    set $P1728, $P1738
-    goto if_1729_end
-  if_1729:
-    find_lex $P1732, "$/"
-    unless_null $P1732, vivify_542
-    $P1732 = root_new ['parrot';'Hash']
+    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 $P1733, $P1732["args"]
-    unless_null $P1733, vivify_543
-    $P1733 = root_new ['parrot';'ResizablePMCArray']
+    set $P1732, $P1731["args"]
+    unless_null $P1732, vivify_543
+    $P1732 = root_new ['parrot';'ResizablePMCArray']
   vivify_543:
-    set $P1734, $P1733[0]
-    unless_null $P1734, vivify_544
-    new $P1734, "Undef"
+    set $P1733, $P1732[0]
+    unless_null $P1733, vivify_544
+    new $P1733, "Undef"
   vivify_544:
-    $P1735 = $P1734."ast"()
-    set $P1728, $P1735
-  if_1729_end:
-    store_lex "$past", $P1728
+    $P1734 = $P1733."ast"()
+    set $P1727, $P1734
+  if_1728_end:
+    store_lex "$past", $P1727
 .annotate 'line', 639
-    find_lex $P1739, "$/"
-    unless_null $P1739, vivify_545
-    $P1739 = root_new ['parrot';'Hash']
+    find_lex $P1738, "$/"
+    unless_null $P1738, vivify_545
+    $P1738 = root_new ['parrot';'Hash']
   vivify_545:
-    set $P1740, $P1739["op"]
-    unless_null $P1740, vivify_546
-    new $P1740, "Undef"
+    set $P1739, $P1738["op"]
+    unless_null $P1739, vivify_546
+    new $P1739, "Undef"
   vivify_546:
-    set $S1741, $P1740
-    new $P1742, 'String'
-    set $P1742, $S1741
-    store_lex "$pirop", $P1742
+    set $S1740, $P1739
+    new $P1741, 'String'
+    set $P1741, $S1740
+    store_lex "$pirop", $P1741
 .annotate 'line', 640
 
         $P0 = find_lex '$pirop'
         $S0 = $P0
         $P0 = split '__', $S0
         $S0 = join ' ', $P0
-        $P1743 = box $S0
+        $P1742 = box $S0
     
-    store_lex "$pirop", $P1743
+    store_lex "$pirop", $P1742
 .annotate 'line', 647
-    find_lex $P1744, "$past"
-    find_lex $P1745, "$pirop"
-    $P1744."pirop"($P1745)
+    find_lex $P1743, "$past"
+    find_lex $P1744, "$pirop"
+    $P1743."pirop"($P1744)
 .annotate 'line', 648
-    find_lex $P1746, "$past"
-    $P1746."pasttype"("pirop")
+    find_lex $P1745, "$past"
+    $P1745."pasttype"("pirop")
 .annotate 'line', 649
-    find_lex $P1747, "$/"
-    find_lex $P1748, "$past"
-    $P1749 = $P1747."!make"($P1748)
+    find_lex $P1746, "$/"
+    find_lex $P1747, "$past"
+    $P1748 = $P1746."!make"($P1747)
 .annotate 'line', 637
-    .return ($P1749)
-  control_1723:
+    .return ($P1748)
+  control_1722:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1750, exception, "payload"
-    .return ($P1750)
+    getattribute $P1749, exception, "payload"
+    .return ($P1749)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "args"  :subid("97_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1754
+.include "except_types.pasm"
+.sub "args"  :subid("97_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1753
 .annotate 'line', 652
-    new $P1753, 'ExceptionHandler'
-    set_addr $P1753, control_1752
-    $P1753."handle_types"(57)
-    push_eh $P1753
+    new $P1752, 'ExceptionHandler'
+    set_addr $P1752, control_1751
+    $P1752."handle_types"(.CONTROL_RETURN)
+    push_eh $P1752
     .lex "self", self
-    .lex "$/", param_1754
+    .lex "$/", param_1753
+    find_lex $P1754, "$/"
     find_lex $P1755, "$/"
-    find_lex $P1756, "$/"
-    unless_null $P1756, vivify_547
-    $P1756 = root_new ['parrot';'Hash']
+    unless_null $P1755, vivify_547
+    $P1755 = root_new ['parrot';'Hash']
   vivify_547:
-    set $P1757, $P1756["arglist"]
-    unless_null $P1757, vivify_548
-    new $P1757, "Undef"
+    set $P1756, $P1755["arglist"]
+    unless_null $P1756, vivify_548
+    new $P1756, "Undef"
   vivify_548:
-    $P1758 = $P1757."ast"()
-    $P1759 = $P1755."!make"($P1758)
-    .return ($P1759)
-  control_1752:
+    $P1757 = $P1756."ast"()
+    $P1758 = $P1754."!make"($P1757)
+    .return ($P1758)
+  control_1751:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1760, exception, "payload"
-    .return ($P1760)
+    getattribute $P1759, exception, "payload"
+    .return ($P1759)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "arglist"  :subid("98_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1764
+.include "except_types.pasm"
+.sub "arglist"  :subid("98_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1763
 .annotate 'line', 654
-    .const 'Sub' $P1775 = "99_1275600017.58296" 
-    capture_lex $P1775
-    new $P1763, 'ExceptionHandler'
-    set_addr $P1763, control_1762
-    $P1763."handle_types"(57)
-    push_eh $P1763
+    .const 'Sub' $P1774 = "99_1275811497.55064" 
+    capture_lex $P1774
+    new $P1762, 'ExceptionHandler'
+    set_addr $P1762, control_1761
+    $P1762."handle_types"(.CONTROL_RETURN)
+    push_eh $P1762
     .lex "self", self
-    .lex "$/", param_1764
+    .lex "$/", param_1763
 .annotate 'line', 655
-    new $P1765, "Undef"
-    .lex "$past", $P1765
+    new $P1764, "Undef"
+    .lex "$past", $P1764
 .annotate 'line', 663
-    new $P1766, "Undef"
-    .lex "$i", $P1766
+    new $P1765, "Undef"
+    .lex "$i", $P1765
 .annotate 'line', 664
-    new $P1767, "Undef"
-    .lex "$n", $P1767
+    new $P1766, "Undef"
+    .lex "$n", $P1766
 .annotate 'line', 655
-    get_hll_global $P1768, ["PAST"], "Op"
-    find_lex $P1769, "$/"
-    $P1770 = $P1768."new"("call" :named("pasttype"), $P1769 :named("node"))
-    store_lex "$past", $P1770
+    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 $P1772, "$/"
-    unless_null $P1772, vivify_549
-    $P1772 = root_new ['parrot';'Hash']
+    find_lex $P1771, "$/"
+    unless_null $P1771, vivify_549
+    $P1771 = root_new ['parrot';'Hash']
   vivify_549:
-    set $P1773, $P1772["EXPR"]
-    unless_null $P1773, vivify_550
-    new $P1773, "Undef"
+    set $P1772, $P1771["EXPR"]
+    unless_null $P1772, vivify_550
+    new $P1772, "Undef"
   vivify_550:
-    unless $P1773, if_1771_end
-    .const 'Sub' $P1775 = "99_1275600017.58296" 
-    capture_lex $P1775
-    $P1775()
-  if_1771_end:
+    unless $P1772, if_1770_end
+    .const 'Sub' $P1774 = "99_1275811497.55064" 
+    capture_lex $P1774
+    $P1774()
+  if_1770_end:
 .annotate 'line', 663
-    new $P1807, "Integer"
-    assign $P1807, 0
-    store_lex "$i", $P1807
+    new $P1806, "Integer"
+    assign $P1806, 0
+    store_lex "$i", $P1806
 .annotate 'line', 664
-    find_lex $P1808, "$past"
-    $P1809 = $P1808."list"()
-    set $N1810, $P1809
-    new $P1811, 'Float'
-    set $P1811, $N1810
-    store_lex "$n", $P1811
+    find_lex $P1807, "$past"
+    $P1808 = $P1807."list"()
+    set $N1809, $P1808
+    new $P1810, 'Float'
+    set $P1810, $N1809
+    store_lex "$n", $P1810
 .annotate 'line', 665
-    new $P1859, 'ExceptionHandler'
-    set_addr $P1859, loop1858_handler
-    $P1859."handle_types"(64, 66, 65)
-    push_eh $P1859
-  loop1858_test:
-    find_lex $P1812, "$i"
-    set $N1813, $P1812
-    find_lex $P1814, "$n"
-    set $N1815, $P1814
-    islt $I1816, $N1813, $N1815
-    unless $I1816, loop1858_done
-  loop1858_redo:
+    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:
 .annotate 'line', 666
-    find_lex $P1818, "$i"
-    set $I1819, $P1818
-    find_lex $P1820, "$past"
-    unless_null $P1820, vivify_554
-    $P1820 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1817, "$i"
+    set $I1818, $P1817
+    find_lex $P1819, "$past"
+    unless_null $P1819, vivify_554
+    $P1819 = root_new ['parrot';'ResizablePMCArray']
   vivify_554:
-    set $P1821, $P1820[$I1819]
-    unless_null $P1821, vivify_555
-    new $P1821, "Undef"
+    set $P1820, $P1819[$I1818]
+    unless_null $P1820, vivify_555
+    new $P1820, "Undef"
   vivify_555:
-    $S1822 = $P1821."name"()
-    iseq $I1823, $S1822, "&prefix:<|>"
-    unless $I1823, if_1817_end
+    $S1821 = $P1820."name"()
+    iseq $I1822, $S1821, "&prefix:<|>"
+    unless $I1822, if_1816_end
 .annotate 'line', 667
-    find_lex $P1824, "$i"
-    set $I1825, $P1824
-    find_lex $P1826, "$past"
-    unless_null $P1826, vivify_556
-    $P1826 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1823, "$i"
+    set $I1824, $P1823
+    find_lex $P1825, "$past"
+    unless_null $P1825, vivify_556
+    $P1825 = root_new ['parrot';'ResizablePMCArray']
   vivify_556:
-    set $P1827, $P1826[$I1825]
-    unless_null $P1827, vivify_557
-    $P1827 = root_new ['parrot';'ResizablePMCArray']
+    set $P1826, $P1825[$I1824]
+    unless_null $P1826, vivify_557
+    $P1826 = root_new ['parrot';'ResizablePMCArray']
   vivify_557:
-    set $P1828, $P1827[0]
-    unless_null $P1828, vivify_558
-    new $P1828, "Undef"
+    set $P1827, $P1826[0]
+    unless_null $P1827, vivify_558
+    new $P1827, "Undef"
   vivify_558:
-    find_lex $P1829, "$i"
-    set $I1830, $P1829
-    find_lex $P1831, "$past"
-    unless_null $P1831, vivify_559
-    $P1831 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$past", $P1831
+    find_lex $P1828, "$i"
+    set $I1829, $P1828
+    find_lex $P1830, "$past"
+    unless_null $P1830, vivify_559
+    $P1830 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$past", $P1830
   vivify_559:
-    set $P1831[$I1830], $P1828
+    set $P1830[$I1829], $P1827
 .annotate 'line', 668
-    find_lex $P1832, "$i"
-    set $I1833, $P1832
-    find_lex $P1834, "$past"
-    unless_null $P1834, vivify_560
-    $P1834 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1831, "$i"
+    set $I1832, $P1831
+    find_lex $P1833, "$past"
+    unless_null $P1833, vivify_560
+    $P1833 = root_new ['parrot';'ResizablePMCArray']
   vivify_560:
-    set $P1835, $P1834[$I1833]
-    unless_null $P1835, vivify_561
-    new $P1835, "Undef"
+    set $P1834, $P1833[$I1832]
+    unless_null $P1834, vivify_561
+    new $P1834, "Undef"
   vivify_561:
-    $P1835."flat"(1)
+    $P1834."flat"(1)
 .annotate 'line', 669
-    find_lex $P1839, "$i"
-    set $I1840, $P1839
-    find_lex $P1841, "$past"
-    unless_null $P1841, vivify_562
-    $P1841 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1838, "$i"
+    set $I1839, $P1838
+    find_lex $P1840, "$past"
+    unless_null $P1840, vivify_562
+    $P1840 = root_new ['parrot';'ResizablePMCArray']
   vivify_562:
-    set $P1842, $P1841[$I1840]
-    unless_null $P1842, vivify_563
-    new $P1842, "Undef"
+    set $P1841, $P1840[$I1839]
+    unless_null $P1841, vivify_563
+    new $P1841, "Undef"
   vivify_563:
-    get_hll_global $P1843, ["PAST"], "Val"
-    $P1844 = $P1842."isa"($P1843)
-    if $P1844, if_1838
-    set $P1837, $P1844
-    goto if_1838_end
-  if_1838:
+    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 $P1845, "$i"
-    set $I1846, $P1845
-    find_lex $P1847, "$past"
-    unless_null $P1847, vivify_564
-    $P1847 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1844, "$i"
+    set $I1845, $P1844
+    find_lex $P1846, "$past"
+    unless_null $P1846, vivify_564
+    $P1846 = root_new ['parrot';'ResizablePMCArray']
   vivify_564:
-    set $P1848, $P1847[$I1846]
-    unless_null $P1848, vivify_565
-    new $P1848, "Undef"
+    set $P1847, $P1846[$I1845]
+    unless_null $P1847, vivify_565
+    new $P1847, "Undef"
   vivify_565:
-    $S1849 = $P1848."name"()
-    substr $S1850, $S1849, 0, 1
-    iseq $I1851, $S1850, "%"
-    new $P1837, 'Integer'
-    set $P1837, $I1851
-  if_1838_end:
-    unless $P1837, if_1836_end
+    $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 $P1852, "$i"
-    set $I1853, $P1852
-    find_lex $P1854, "$past"
-    unless_null $P1854, vivify_566
-    $P1854 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P1851, "$i"
+    set $I1852, $P1851
+    find_lex $P1853, "$past"
+    unless_null $P1853, vivify_566
+    $P1853 = root_new ['parrot';'ResizablePMCArray']
   vivify_566:
-    set $P1855, $P1854[$I1853]
-    unless_null $P1855, vivify_567
-    new $P1855, "Undef"
+    set $P1854, $P1853[$I1852]
+    unless_null $P1854, vivify_567
+    new $P1854, "Undef"
   vivify_567:
-    $P1855."named"(1)
-  if_1836_end:
-  if_1817_end:
+    $P1854."named"(1)
+  if_1835_end:
+  if_1816_end:
 .annotate 'line', 666
-    find_lex $P1856, "$i"
-    clone $P1857, $P1856
-    inc $P1856
-  loop1858_next:
+    find_lex $P1855, "$i"
+    clone $P1856, $P1855
+    inc $P1855
+  loop1857_next:
 .annotate 'line', 665
-    goto loop1858_test
-  loop1858_handler:
+    goto loop1857_test
+  loop1857_handler:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1860, exception, 'type'
-    eq $P1860, 64, loop1858_next
-    eq $P1860, 66, loop1858_redo
-  loop1858_done:
+    getattribute $P1859, exception, 'type'
+    eq $P1859, .CONTROL_LOOP_NEXT, loop1857_next
+    eq $P1859, .CONTROL_LOOP_REDO, loop1857_redo
+  loop1857_done:
     pop_eh 
 .annotate 'line', 676
-    find_lex $P1861, "$/"
-    find_lex $P1862, "$past"
-    $P1863 = $P1861."!make"($P1862)
+    find_lex $P1860, "$/"
+    find_lex $P1861, "$past"
+    $P1862 = $P1860."!make"($P1861)
 .annotate 'line', 654
-    .return ($P1863)
-  control_1762:
+    .return ($P1862)
+  control_1761:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1864, exception, "payload"
-    .return ($P1864)
+    getattribute $P1863, exception, "payload"
+    .return ($P1863)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1774"  :anon :subid("99_1275600017.58296") :outer("98_1275600017.58296")
+.include "except_types.pasm"
+.sub "_block1773"  :anon :subid("99_1275811497.55064") :outer("98_1275811497.55064")
 .annotate 'line', 656
-    .const 'Sub' $P1796 = "100_1275600017.58296" 
-    capture_lex $P1796
+    .const 'Sub' $P1795 = "100_1275811497.55064" 
+    capture_lex $P1795
 .annotate 'line', 657
-    new $P1776, "Undef"
-    .lex "$expr", $P1776
-    find_lex $P1777, "$/"
-    unless_null $P1777, vivify_551
-    $P1777 = root_new ['parrot';'Hash']
+    new $P1775, "Undef"
+    .lex "$expr", $P1775
+    find_lex $P1776, "$/"
+    unless_null $P1776, vivify_551
+    $P1776 = root_new ['parrot';'Hash']
   vivify_551:
-    set $P1778, $P1777["EXPR"]
-    unless_null $P1778, vivify_552
-    new $P1778, "Undef"
+    set $P1777, $P1776["EXPR"]
+    unless_null $P1777, vivify_552
+    new $P1777, "Undef"
   vivify_552:
-    $P1779 = $P1778."ast"()
-    store_lex "$expr", $P1779
+    $P1778 = $P1777."ast"()
+    store_lex "$expr", $P1778
 .annotate 'line', 658
-    find_lex $P1784, "$expr"
-    $S1785 = $P1784."name"()
-    iseq $I1786, $S1785, "&infix:<,>"
-    if $I1786, if_1783
-    new $P1782, 'Integer'
-    set $P1782, $I1786
-    goto if_1783_end
-  if_1783:
-    find_lex $P1787, "$expr"
-    $P1788 = $P1787."named"()
-    isfalse $I1789, $P1788
-    new $P1782, 'Integer'
-    set $P1782, $I1789
-  if_1783_end:
-    if $P1782, if_1781
+    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 $P1804, "$past"
-    find_lex $P1805, "$expr"
-    $P1806 = $P1804."push"($P1805)
-    set $P1780, $P1806
+    find_lex $P1803, "$past"
+    find_lex $P1804, "$expr"
+    $P1805 = $P1803."push"($P1804)
+    set $P1779, $P1805
 .annotate 'line', 658
-    goto if_1781_end
-  if_1781:
+    goto if_1780_end
+  if_1780:
 .annotate 'line', 659
-    find_lex $P1791, "$expr"
-    $P1792 = $P1791."list"()
-    defined $I1793, $P1792
-    unless $I1793, for_undef_553
-    iter $P1790, $P1792
-    new $P1802, 'ExceptionHandler'
-    set_addr $P1802, loop1801_handler
-    $P1802."handle_types"(64, 66, 65)
-    push_eh $P1802
-  loop1801_test:
-    unless $P1790, loop1801_done
-    shift $P1794, $P1790
-  loop1801_redo:
-    .const 'Sub' $P1796 = "100_1275600017.58296" 
-    capture_lex $P1796
-    $P1796($P1794)
-  loop1801_next:
-    goto loop1801_test
-  loop1801_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1803, exception, 'type'
-    eq $P1803, 64, loop1801_next
-    eq $P1803, 66, loop1801_redo
-  loop1801_done:
+    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_1275811497.55064" 
+    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:
     pop_eh 
   for_undef_553:
 .annotate 'line', 658
-    set $P1780, $P1790
-  if_1781_end:
+    set $P1779, $P1789
+  if_1780_end:
 .annotate 'line', 656
-    .return ($P1780)
+    .return ($P1779)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1795"  :anon :subid("100_1275600017.58296") :outer("99_1275600017.58296")
-    .param pmc param_1797
+.sub "_block1794"  :anon :subid("100_1275811497.55064") :outer("99_1275811497.55064")
+    .param pmc param_1796
 .annotate 'line', 659
-    .lex "$_", param_1797
-    find_lex $P1798, "$past"
-    find_lex $P1799, "$_"
-    $P1800 = $P1798."push"($P1799)
-    .return ($P1800)
+    .lex "$_", param_1796
+    find_lex $P1797, "$past"
+    find_lex $P1798, "$_"
+    $P1799 = $P1797."push"($P1798)
+    .return ($P1799)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<value>"  :subid("101_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1868
+.include "except_types.pasm"
+.sub "term:sym<value>"  :subid("101_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1867
 .annotate 'line', 680
-    new $P1867, 'ExceptionHandler'
-    set_addr $P1867, control_1866
-    $P1867."handle_types"(57)
-    push_eh $P1867
+    new $P1866, 'ExceptionHandler'
+    set_addr $P1866, control_1865
+    $P1866."handle_types"(.CONTROL_RETURN)
+    push_eh $P1866
     .lex "self", self
-    .lex "$/", param_1868
+    .lex "$/", param_1867
+    find_lex $P1868, "$/"
     find_lex $P1869, "$/"
-    find_lex $P1870, "$/"
-    unless_null $P1870, vivify_568
-    $P1870 = root_new ['parrot';'Hash']
+    unless_null $P1869, vivify_568
+    $P1869 = root_new ['parrot';'Hash']
   vivify_568:
-    set $P1871, $P1870["value"]
-    unless_null $P1871, vivify_569
-    new $P1871, "Undef"
+    set $P1870, $P1869["value"]
+    unless_null $P1870, vivify_569
+    new $P1870, "Undef"
   vivify_569:
-    $P1872 = $P1871."ast"()
-    $P1873 = $P1869."!make"($P1872)
-    .return ($P1873)
-  control_1866:
+    $P1871 = $P1870."ast"()
+    $P1872 = $P1868."!make"($P1871)
+    .return ($P1872)
+  control_1865:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1874, exception, "payload"
-    .return ($P1874)
+    getattribute $P1873, exception, "payload"
+    .return ($P1873)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<( )>"  :subid("102_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1878
+.include "except_types.pasm"
+.sub "circumfix:sym<( )>"  :subid("102_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1877
 .annotate 'line', 682
-    new $P1877, 'ExceptionHandler'
-    set_addr $P1877, control_1876
-    $P1877."handle_types"(57)
-    push_eh $P1877
+    new $P1876, 'ExceptionHandler'
+    set_addr $P1876, control_1875
+    $P1876."handle_types"(.CONTROL_RETURN)
+    push_eh $P1876
     .lex "self", self
-    .lex "$/", param_1878
+    .lex "$/", param_1877
 .annotate 'line', 683
-    find_lex $P1879, "$/"
+    find_lex $P1878, "$/"
 .annotate 'line', 684
-    find_lex $P1882, "$/"
-    unless_null $P1882, vivify_570
-    $P1882 = root_new ['parrot';'Hash']
+    find_lex $P1881, "$/"
+    unless_null $P1881, vivify_570
+    $P1881 = root_new ['parrot';'Hash']
   vivify_570:
-    set $P1883, $P1882["EXPR"]
-    unless_null $P1883, vivify_571
-    new $P1883, "Undef"
+    set $P1882, $P1881["EXPR"]
+    unless_null $P1882, vivify_571
+    new $P1882, "Undef"
   vivify_571:
-    if $P1883, if_1881
+    if $P1882, if_1880
 .annotate 'line', 685
-    get_hll_global $P1888, ["PAST"], "Op"
-    find_lex $P1889, "$/"
-    $P1890 = $P1888."new"("list" :named("pasttype"), $P1889 :named("node"))
-    set $P1880, $P1890
+    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_1881_end
-  if_1881:
-    find_lex $P1884, "$/"
-    unless_null $P1884, vivify_572
-    $P1884 = root_new ['parrot';'Hash']
+    goto if_1880_end
+  if_1880:
+    find_lex $P1883, "$/"
+    unless_null $P1883, vivify_572
+    $P1883 = root_new ['parrot';'Hash']
   vivify_572:
-    set $P1885, $P1884["EXPR"]
-    unless_null $P1885, vivify_573
-    $P1885 = root_new ['parrot';'ResizablePMCArray']
+    set $P1884, $P1883["EXPR"]
+    unless_null $P1884, vivify_573
+    $P1884 = root_new ['parrot';'ResizablePMCArray']
   vivify_573:
-    set $P1886, $P1885[0]
-    unless_null $P1886, vivify_574
-    new $P1886, "Undef"
+    set $P1885, $P1884[0]
+    unless_null $P1885, vivify_574
+    new $P1885, "Undef"
   vivify_574:
-    $P1887 = $P1886."ast"()
-    set $P1880, $P1887
-  if_1881_end:
-    $P1891 = $P1879."!make"($P1880)
+    $P1886 = $P1885."ast"()
+    set $P1879, $P1886
+  if_1880_end:
+    $P1890 = $P1878."!make"($P1879)
 .annotate 'line', 682
-    .return ($P1891)
-  control_1876:
+    .return ($P1890)
+  control_1875:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1892, exception, "payload"
-    .return ($P1892)
+    getattribute $P1891, exception, "payload"
+    .return ($P1891)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<[ ]>"  :subid("103_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1896
+.include "except_types.pasm"
+.sub "circumfix:sym<[ ]>"  :subid("103_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1895
 .annotate 'line', 688
-    new $P1895, 'ExceptionHandler'
-    set_addr $P1895, control_1894
-    $P1895."handle_types"(57)
-    push_eh $P1895
+    new $P1894, 'ExceptionHandler'
+    set_addr $P1894, control_1893
+    $P1894."handle_types"(.CONTROL_RETURN)
+    push_eh $P1894
     .lex "self", self
-    .lex "$/", param_1896
+    .lex "$/", param_1895
 .annotate 'line', 689
-    new $P1897, "Undef"
-    .lex "$past", $P1897
+    new $P1896, "Undef"
+    .lex "$past", $P1896
 .annotate 'line', 688
-    find_lex $P1898, "$past"
+    find_lex $P1897, "$past"
 .annotate 'line', 690
-    find_lex $P1900, "$/"
-    unless_null $P1900, vivify_575
-    $P1900 = root_new ['parrot';'Hash']
+    find_lex $P1899, "$/"
+    unless_null $P1899, vivify_575
+    $P1899 = root_new ['parrot';'Hash']
   vivify_575:
-    set $P1901, $P1900["EXPR"]
-    unless_null $P1901, vivify_576
-    new $P1901, "Undef"
+    set $P1900, $P1899["EXPR"]
+    unless_null $P1900, vivify_576
+    new $P1900, "Undef"
   vivify_576:
-    if $P1901, if_1899
+    if $P1900, if_1898
 .annotate 'line', 697
-    get_hll_global $P1913, ["PAST"], "Op"
-    $P1914 = $P1913."new"("list" :named("pasttype"))
-    store_lex "$past", $P1914
+    get_hll_global $P1912, ["PAST"], "Op"
+    $P1913 = $P1912."new"("list" :named("pasttype"))
+    store_lex "$past", $P1913
 .annotate 'line', 696
-    goto if_1899_end
-  if_1899:
+    goto if_1898_end
+  if_1898:
 .annotate 'line', 691
-    find_lex $P1902, "$/"
-    unless_null $P1902, vivify_577
-    $P1902 = root_new ['parrot';'Hash']
+    find_lex $P1901, "$/"
+    unless_null $P1901, vivify_577
+    $P1901 = root_new ['parrot';'Hash']
   vivify_577:
-    set $P1903, $P1902["EXPR"]
-    unless_null $P1903, vivify_578
-    $P1903 = root_new ['parrot';'ResizablePMCArray']
+    set $P1902, $P1901["EXPR"]
+    unless_null $P1902, vivify_578
+    $P1902 = root_new ['parrot';'ResizablePMCArray']
   vivify_578:
-    set $P1904, $P1903[0]
-    unless_null $P1904, vivify_579
-    new $P1904, "Undef"
+    set $P1903, $P1902[0]
+    unless_null $P1903, vivify_579
+    new $P1903, "Undef"
   vivify_579:
-    $P1905 = $P1904."ast"()
-    store_lex "$past", $P1905
+    $P1904 = $P1903."ast"()
+    store_lex "$past", $P1904
 .annotate 'line', 692
-    find_lex $P1907, "$past"
-    $S1908 = $P1907."name"()
-    isne $I1909, $S1908, "&infix:<,>"
-    unless $I1909, if_1906_end
+    find_lex $P1906, "$past"
+    $S1907 = $P1906."name"()
+    isne $I1908, $S1907, "&infix:<,>"
+    unless $I1908, if_1905_end
 .annotate 'line', 693
-    get_hll_global $P1910, ["PAST"], "Op"
-    find_lex $P1911, "$past"
-    $P1912 = $P1910."new"($P1911, "list" :named("pasttype"))
-    store_lex "$past", $P1912
-  if_1906_end:
-  if_1899_end:
+    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 $P1915, "$past"
-    $P1915."name"("&circumfix:<[ ]>")
+    find_lex $P1914, "$past"
+    $P1914."name"("&circumfix:<[ ]>")
 .annotate 'line', 700
-    find_lex $P1916, "$/"
-    find_lex $P1917, "$past"
-    $P1918 = $P1916."!make"($P1917)
+    find_lex $P1915, "$/"
+    find_lex $P1916, "$past"
+    $P1917 = $P1915."!make"($P1916)
 .annotate 'line', 688
-    .return ($P1918)
-  control_1894:
+    .return ($P1917)
+  control_1893:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1919, exception, "payload"
-    .return ($P1919)
+    getattribute $P1918, exception, "payload"
+    .return ($P1918)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<ang>"  :subid("104_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1923
+.include "except_types.pasm"
+.sub "circumfix:sym<ang>"  :subid("104_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1922
 .annotate 'line', 703
-    new $P1922, 'ExceptionHandler'
-    set_addr $P1922, control_1921
-    $P1922."handle_types"(57)
-    push_eh $P1922
+    new $P1921, 'ExceptionHandler'
+    set_addr $P1921, control_1920
+    $P1921."handle_types"(.CONTROL_RETURN)
+    push_eh $P1921
     .lex "self", self
-    .lex "$/", param_1923
+    .lex "$/", param_1922
+    find_lex $P1923, "$/"
     find_lex $P1924, "$/"
-    find_lex $P1925, "$/"
-    unless_null $P1925, vivify_580
-    $P1925 = root_new ['parrot';'Hash']
+    unless_null $P1924, vivify_580
+    $P1924 = root_new ['parrot';'Hash']
   vivify_580:
-    set $P1926, $P1925["quote_EXPR"]
-    unless_null $P1926, vivify_581
-    new $P1926, "Undef"
+    set $P1925, $P1924["quote_EXPR"]
+    unless_null $P1925, vivify_581
+    new $P1925, "Undef"
   vivify_581:
-    $P1927 = $P1926."ast"()
-    $P1928 = $P1924."!make"($P1927)
-    .return ($P1928)
-  control_1921:
+    $P1926 = $P1925."ast"()
+    $P1927 = $P1923."!make"($P1926)
+    .return ($P1927)
+  control_1920:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1929, exception, "payload"
-    .return ($P1929)
+    getattribute $P1928, exception, "payload"
+    .return ($P1928)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("105_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1933
+.include "except_types.pasm"
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("105_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1932
 .annotate 'line', 704
-    new $P1932, 'ExceptionHandler'
-    set_addr $P1932, control_1931
-    $P1932."handle_types"(57)
-    push_eh $P1932
+    new $P1931, 'ExceptionHandler'
+    set_addr $P1931, control_1930
+    $P1931."handle_types"(.CONTROL_RETURN)
+    push_eh $P1931
     .lex "self", self
-    .lex "$/", param_1933
+    .lex "$/", param_1932
+    find_lex $P1933, "$/"
     find_lex $P1934, "$/"
-    find_lex $P1935, "$/"
-    unless_null $P1935, vivify_582
-    $P1935 = root_new ['parrot';'Hash']
+    unless_null $P1934, vivify_582
+    $P1934 = root_new ['parrot';'Hash']
   vivify_582:
-    set $P1936, $P1935["quote_EXPR"]
-    unless_null $P1936, vivify_583
-    new $P1936, "Undef"
+    set $P1935, $P1934["quote_EXPR"]
+    unless_null $P1935, vivify_583
+    new $P1935, "Undef"
   vivify_583:
-    $P1937 = $P1936."ast"()
-    $P1938 = $P1934."!make"($P1937)
-    .return ($P1938)
-  control_1931:
+    $P1936 = $P1935."ast"()
+    $P1937 = $P1933."!make"($P1936)
+    .return ($P1937)
+  control_1930:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1939, exception, "payload"
-    .return ($P1939)
+    getattribute $P1938, exception, "payload"
+    .return ($P1938)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<{ }>"  :subid("106_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1943
+.include "except_types.pasm"
+.sub "circumfix:sym<{ }>"  :subid("106_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1942
 .annotate 'line', 706
-    new $P1942, 'ExceptionHandler'
-    set_addr $P1942, control_1941
-    $P1942."handle_types"(57)
-    push_eh $P1942
+    new $P1941, 'ExceptionHandler'
+    set_addr $P1941, control_1940
+    $P1941."handle_types"(.CONTROL_RETURN)
+    push_eh $P1941
     .lex "self", self
-    .lex "$/", param_1943
+    .lex "$/", param_1942
 .annotate 'line', 707
-    new $P1944, "Undef"
-    .lex "$past", $P1944
-    find_lex $P1947, "$/"
-    unless_null $P1947, vivify_584
-    $P1947 = root_new ['parrot';'Hash']
+    new $P1943, "Undef"
+    .lex "$past", $P1943
+    find_lex $P1946, "$/"
+    unless_null $P1946, vivify_584
+    $P1946 = root_new ['parrot';'Hash']
   vivify_584:
-    set $P1948, $P1947["pblock"]
-    unless_null $P1948, vivify_585
-    $P1948 = root_new ['parrot';'Hash']
+    set $P1947, $P1946["pblock"]
+    unless_null $P1947, vivify_585
+    $P1947 = root_new ['parrot';'Hash']
   vivify_585:
-    set $P1949, $P1948["blockoid"]
-    unless_null $P1949, vivify_586
-    $P1949 = root_new ['parrot';'Hash']
+    set $P1948, $P1947["blockoid"]
+    unless_null $P1948, vivify_586
+    $P1948 = root_new ['parrot';'Hash']
   vivify_586:
-    set $P1950, $P1949["statementlist"]
-    unless_null $P1950, vivify_587
-    $P1950 = root_new ['parrot';'Hash']
+    set $P1949, $P1948["statementlist"]
+    unless_null $P1949, vivify_587
+    $P1949 = root_new ['parrot';'Hash']
   vivify_587:
-    set $P1951, $P1950["statement"]
-    unless_null $P1951, vivify_588
-    new $P1951, "Undef"
+    set $P1950, $P1949["statement"]
+    unless_null $P1950, vivify_588
+    new $P1950, "Undef"
   vivify_588:
-    set $N1952, $P1951
-    isgt $I1953, $N1952, 0.0
-    if $I1953, if_1946
+    set $N1951, $P1950
+    isgt $I1952, $N1951, 0.0
+    if $I1952, if_1945
 .annotate 'line', 709
-    $P1957 = "vivitype"("%")
-    set $P1945, $P1957
+    $P1956 = "vivitype"("%")
+    set $P1944, $P1956
 .annotate 'line', 707
-    goto if_1946_end
-  if_1946:
+    goto if_1945_end
+  if_1945:
 .annotate 'line', 708
-    find_lex $P1954, "$/"
-    unless_null $P1954, vivify_589
-    $P1954 = root_new ['parrot';'Hash']
+    find_lex $P1953, "$/"
+    unless_null $P1953, vivify_589
+    $P1953 = root_new ['parrot';'Hash']
   vivify_589:
-    set $P1955, $P1954["pblock"]
-    unless_null $P1955, vivify_590
-    new $P1955, "Undef"
+    set $P1954, $P1953["pblock"]
+    unless_null $P1954, vivify_590
+    new $P1954, "Undef"
   vivify_590:
-    $P1956 = $P1955."ast"()
-    set $P1945, $P1956
-  if_1946_end:
-    store_lex "$past", $P1945
+    $P1955 = $P1954."ast"()
+    set $P1944, $P1955
+  if_1945_end:
+    store_lex "$past", $P1944
 .annotate 'line', 710
-    new $P1958, "Integer"
-    assign $P1958, 1
-    find_lex $P1959, "$past"
-    unless_null $P1959, vivify_591
-    $P1959 = root_new ['parrot';'Hash']
-    store_lex "$past", $P1959
+    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 $P1959["bareblock"], $P1958
+    set $P1958["bareblock"], $P1957
 .annotate 'line', 711
-    find_lex $P1960, "$/"
-    find_lex $P1961, "$past"
-    $P1962 = $P1960."!make"($P1961)
+    find_lex $P1959, "$/"
+    find_lex $P1960, "$past"
+    $P1961 = $P1959."!make"($P1960)
 .annotate 'line', 706
-    .return ($P1962)
-  control_1941:
+    .return ($P1961)
+  control_1940:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1963, exception, "payload"
-    .return ($P1963)
+    getattribute $P1962, exception, "payload"
+    .return ($P1962)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "circumfix:sym<sigil>"  :subid("107_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1967
+.include "except_types.pasm"
+.sub "circumfix:sym<sigil>"  :subid("107_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1966
 .annotate 'line', 714
-    new $P1966, 'ExceptionHandler'
-    set_addr $P1966, control_1965
-    $P1966."handle_types"(57)
-    push_eh $P1966
+    new $P1965, 'ExceptionHandler'
+    set_addr $P1965, control_1964
+    $P1965."handle_types"(.CONTROL_RETURN)
+    push_eh $P1965
     .lex "self", self
-    .lex "$/", param_1967
+    .lex "$/", param_1966
 .annotate 'line', 715
-    new $P1968, "Undef"
-    .lex "$name", $P1968
-    find_lex $P1971, "$/"
-    unless_null $P1971, vivify_592
-    $P1971 = root_new ['parrot';'Hash']
+    new $P1967, "Undef"
+    .lex "$name", $P1967
+    find_lex $P1970, "$/"
+    unless_null $P1970, vivify_592
+    $P1970 = root_new ['parrot';'Hash']
   vivify_592:
-    set $P1972, $P1971["sigil"]
-    unless_null $P1972, vivify_593
-    new $P1972, "Undef"
+    set $P1971, $P1970["sigil"]
+    unless_null $P1971, vivify_593
+    new $P1971, "Undef"
   vivify_593:
-    set $S1973, $P1972
-    iseq $I1974, $S1973, "@"
-    if $I1974, if_1970
+    set $S1972, $P1971
+    iseq $I1973, $S1972, "@"
+    if $I1973, if_1969
 .annotate 'line', 716
-    find_lex $P1978, "$/"
-    unless_null $P1978, vivify_594
-    $P1978 = root_new ['parrot';'Hash']
+    find_lex $P1977, "$/"
+    unless_null $P1977, vivify_594
+    $P1977 = root_new ['parrot';'Hash']
   vivify_594:
-    set $P1979, $P1978["sigil"]
-    unless_null $P1979, vivify_595
-    new $P1979, "Undef"
+    set $P1978, $P1977["sigil"]
+    unless_null $P1978, vivify_595
+    new $P1978, "Undef"
   vivify_595:
-    set $S1980, $P1979
-    iseq $I1981, $S1980, "%"
-    if $I1981, if_1977
-    new $P1983, "String"
-    assign $P1983, "item"
-    set $P1976, $P1983
-    goto if_1977_end
-  if_1977:
+    set $S1979, $P1978
+    iseq $I1980, $S1979, "%"
+    if $I1980, if_1976
     new $P1982, "String"
-    assign $P1982, "hash"
-    set $P1976, $P1982
-  if_1977_end:
-    set $P1969, $P1976
+    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_1970_end
-  if_1970:
-    new $P1975, "String"
-    assign $P1975, "list"
-    set $P1969, $P1975
-  if_1970_end:
-    store_lex "$name", $P1969
+    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 $P1984, "$/"
-    get_hll_global $P1985, ["PAST"], "Op"
-    find_lex $P1986, "$name"
-    find_lex $P1987, "$/"
-    unless_null $P1987, vivify_596
-    $P1987 = root_new ['parrot';'Hash']
+    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 $P1988, $P1987["semilist"]
-    unless_null $P1988, vivify_597
-    new $P1988, "Undef"
+    set $P1987, $P1986["semilist"]
+    unless_null $P1987, vivify_597
+    new $P1987, "Undef"
   vivify_597:
-    $P1989 = $P1988."ast"()
-    $P1990 = $P1985."new"($P1989, "callmethod" :named("pasttype"), $P1986 :named("name"))
-    $P1991 = $P1984."!make"($P1990)
+    $P1988 = $P1987."ast"()
+    $P1989 = $P1984."new"($P1988, "callmethod" :named("pasttype"), $P1985 :named("name"))
+    $P1990 = $P1983."!make"($P1989)
 .annotate 'line', 714
-    .return ($P1991)
-  control_1965:
+    .return ($P1990)
+  control_1964:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1992, exception, "payload"
-    .return ($P1992)
+    getattribute $P1991, exception, "payload"
+    .return ($P1991)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "semilist"  :subid("108_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_1996
+.include "except_types.pasm"
+.sub "semilist"  :subid("108_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_1995
 .annotate 'line', 721
-    new $P1995, 'ExceptionHandler'
-    set_addr $P1995, control_1994
-    $P1995."handle_types"(57)
-    push_eh $P1995
+    new $P1994, 'ExceptionHandler'
+    set_addr $P1994, control_1993
+    $P1994."handle_types"(.CONTROL_RETURN)
+    push_eh $P1994
     .lex "self", self
-    .lex "$/", param_1996
+    .lex "$/", param_1995
+    find_lex $P1996, "$/"
     find_lex $P1997, "$/"
-    find_lex $P1998, "$/"
-    unless_null $P1998, vivify_598
-    $P1998 = root_new ['parrot';'Hash']
+    unless_null $P1997, vivify_598
+    $P1997 = root_new ['parrot';'Hash']
   vivify_598:
-    set $P1999, $P1998["statement"]
-    unless_null $P1999, vivify_599
-    new $P1999, "Undef"
+    set $P1998, $P1997["statement"]
+    unless_null $P1998, vivify_599
+    new $P1998, "Undef"
   vivify_599:
-    $P2000 = $P1999."ast"()
-    $P2001 = $P1997."!make"($P2000)
-    .return ($P2001)
-  control_1994:
+    $P1999 = $P1998."ast"()
+    $P2000 = $P1996."!make"($P1999)
+    .return ($P2000)
+  control_1993:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2002, exception, "payload"
-    .return ($P2002)
+    getattribute $P2001, exception, "payload"
+    .return ($P2001)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<[ ]>"  :subid("109_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2006
+.include "except_types.pasm"
+.sub "postcircumfix:sym<[ ]>"  :subid("109_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2005
 .annotate 'line', 723
-    new $P2005, 'ExceptionHandler'
-    set_addr $P2005, control_2004
-    $P2005."handle_types"(57)
-    push_eh $P2005
+    new $P2004, 'ExceptionHandler'
+    set_addr $P2004, control_2003
+    $P2004."handle_types"(.CONTROL_RETURN)
+    push_eh $P2004
     .lex "self", self
-    .lex "$/", param_2006
+    .lex "$/", param_2005
 .annotate 'line', 724
-    find_lex $P2007, "$/"
-    get_hll_global $P2008, ["PAST"], "Var"
-    find_lex $P2009, "$/"
-    unless_null $P2009, vivify_600
-    $P2009 = root_new ['parrot';'Hash']
+    find_lex $P2006, "$/"
+    get_hll_global $P2007, ["PAST"], "Var"
+    find_lex $P2008, "$/"
+    unless_null $P2008, vivify_600
+    $P2008 = root_new ['parrot';'Hash']
   vivify_600:
-    set $P2010, $P2009["EXPR"]
-    unless_null $P2010, vivify_601
-    new $P2010, "Undef"
+    set $P2009, $P2008["EXPR"]
+    unless_null $P2009, vivify_601
+    new $P2009, "Undef"
   vivify_601:
-    $P2011 = $P2010."ast"()
+    $P2010 = $P2009."ast"()
 .annotate 'line', 726
-    $P2012 = "vivitype"("@")
-    $P2013 = $P2008."new"($P2011, "keyed_int" :named("scope"), "Undef" :named("viviself"), $P2012 :named("vivibase"))
+    $P2011 = "vivitype"("@")
+    $P2012 = $P2007."new"($P2010, "keyed_int" :named("scope"), "Undef" :named("viviself"), $P2011 :named("vivibase"))
 .annotate 'line', 724
-    $P2014 = $P2007."!make"($P2013)
+    $P2013 = $P2006."!make"($P2012)
 .annotate 'line', 723
-    .return ($P2014)
-  control_2004:
+    .return ($P2013)
+  control_2003:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2015, exception, "payload"
-    .return ($P2015)
+    getattribute $P2014, exception, "payload"
+    .return ($P2014)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<{ }>"  :subid("110_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2019
+.include "except_types.pasm"
+.sub "postcircumfix:sym<{ }>"  :subid("110_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2018
 .annotate 'line', 729
-    new $P2018, 'ExceptionHandler'
-    set_addr $P2018, control_2017
-    $P2018."handle_types"(57)
-    push_eh $P2018
+    new $P2017, 'ExceptionHandler'
+    set_addr $P2017, control_2016
+    $P2017."handle_types"(.CONTROL_RETURN)
+    push_eh $P2017
     .lex "self", self
-    .lex "$/", param_2019
+    .lex "$/", param_2018
 .annotate 'line', 730
-    find_lex $P2020, "$/"
-    get_hll_global $P2021, ["PAST"], "Var"
-    find_lex $P2022, "$/"
-    unless_null $P2022, vivify_602
-    $P2022 = root_new ['parrot';'Hash']
+    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 $P2023, $P2022["EXPR"]
-    unless_null $P2023, vivify_603
-    new $P2023, "Undef"
+    set $P2022, $P2021["EXPR"]
+    unless_null $P2022, vivify_603
+    new $P2022, "Undef"
   vivify_603:
-    $P2024 = $P2023."ast"()
+    $P2023 = $P2022."ast"()
 .annotate 'line', 732
-    $P2025 = "vivitype"("%")
-    $P2026 = $P2021."new"($P2024, "keyed" :named("scope"), "Undef" :named("viviself"), $P2025 :named("vivibase"))
+    $P2024 = "vivitype"("%")
+    $P2025 = $P2020."new"($P2023, "keyed" :named("scope"), "Undef" :named("viviself"), $P2024 :named("vivibase"))
 .annotate 'line', 730
-    $P2027 = $P2020."!make"($P2026)
+    $P2026 = $P2019."!make"($P2025)
 .annotate 'line', 729
-    .return ($P2027)
-  control_2017:
+    .return ($P2026)
+  control_2016:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2028, exception, "payload"
-    .return ($P2028)
+    getattribute $P2027, exception, "payload"
+    .return ($P2027)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<ang>"  :subid("111_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2032
+.include "except_types.pasm"
+.sub "postcircumfix:sym<ang>"  :subid("111_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2031
 .annotate 'line', 735
-    new $P2031, 'ExceptionHandler'
-    set_addr $P2031, control_2030
-    $P2031."handle_types"(57)
-    push_eh $P2031
+    new $P2030, 'ExceptionHandler'
+    set_addr $P2030, control_2029
+    $P2030."handle_types"(.CONTROL_RETURN)
+    push_eh $P2030
     .lex "self", self
-    .lex "$/", param_2032
+    .lex "$/", param_2031
 .annotate 'line', 736
-    find_lex $P2033, "$/"
-    get_hll_global $P2034, ["PAST"], "Var"
-    find_lex $P2035, "$/"
-    unless_null $P2035, vivify_604
-    $P2035 = root_new ['parrot';'Hash']
+    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 $P2036, $P2035["quote_EXPR"]
-    unless_null $P2036, vivify_605
-    new $P2036, "Undef"
+    set $P2035, $P2034["quote_EXPR"]
+    unless_null $P2035, vivify_605
+    new $P2035, "Undef"
   vivify_605:
-    $P2037 = $P2036."ast"()
+    $P2036 = $P2035."ast"()
 .annotate 'line', 738
-    $P2038 = "vivitype"("%")
-    $P2039 = $P2034."new"($P2037, "keyed" :named("scope"), "Undef" :named("viviself"), $P2038 :named("vivibase"))
+    $P2037 = "vivitype"("%")
+    $P2038 = $P2033."new"($P2036, "keyed" :named("scope"), "Undef" :named("viviself"), $P2037 :named("vivibase"))
 .annotate 'line', 736
-    $P2040 = $P2033."!make"($P2039)
+    $P2039 = $P2032."!make"($P2038)
 .annotate 'line', 735
-    .return ($P2040)
-  control_2030:
+    .return ($P2039)
+  control_2029:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2041, exception, "payload"
-    .return ($P2041)
+    getattribute $P2040, exception, "payload"
+    .return ($P2040)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<( )>"  :subid("112_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2045
+.include "except_types.pasm"
+.sub "postcircumfix:sym<( )>"  :subid("112_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2044
 .annotate 'line', 741
-    new $P2044, 'ExceptionHandler'
-    set_addr $P2044, control_2043
-    $P2044."handle_types"(57)
-    push_eh $P2044
+    new $P2043, 'ExceptionHandler'
+    set_addr $P2043, control_2042
+    $P2043."handle_types"(.CONTROL_RETURN)
+    push_eh $P2043
     .lex "self", self
-    .lex "$/", param_2045
+    .lex "$/", param_2044
 .annotate 'line', 742
+    find_lex $P2045, "$/"
     find_lex $P2046, "$/"
-    find_lex $P2047, "$/"
-    unless_null $P2047, vivify_606
-    $P2047 = root_new ['parrot';'Hash']
+    unless_null $P2046, vivify_606
+    $P2046 = root_new ['parrot';'Hash']
   vivify_606:
-    set $P2048, $P2047["arglist"]
-    unless_null $P2048, vivify_607
-    new $P2048, "Undef"
+    set $P2047, $P2046["arglist"]
+    unless_null $P2047, vivify_607
+    new $P2047, "Undef"
   vivify_607:
-    $P2049 = $P2048."ast"()
-    $P2050 = $P2046."!make"($P2049)
+    $P2048 = $P2047."ast"()
+    $P2049 = $P2045."!make"($P2048)
 .annotate 'line', 741
-    .return ($P2050)
-  control_2043:
+    .return ($P2049)
+  control_2042:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2051, exception, "payload"
-    .return ($P2051)
+    getattribute $P2050, exception, "payload"
+    .return ($P2050)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "value"  :subid("113_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2055
+.include "except_types.pasm"
+.sub "value"  :subid("113_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2054
 .annotate 'line', 745
-    new $P2054, 'ExceptionHandler'
-    set_addr $P2054, control_2053
-    $P2054."handle_types"(57)
-    push_eh $P2054
+    new $P2053, 'ExceptionHandler'
+    set_addr $P2053, control_2052
+    $P2053."handle_types"(.CONTROL_RETURN)
+    push_eh $P2053
     .lex "self", self
-    .lex "$/", param_2055
+    .lex "$/", param_2054
 .annotate 'line', 746
-    find_lex $P2056, "$/"
-    find_lex $P2059, "$/"
-    unless_null $P2059, vivify_608
-    $P2059 = root_new ['parrot';'Hash']
+    find_lex $P2055, "$/"
+    find_lex $P2058, "$/"
+    unless_null $P2058, vivify_608
+    $P2058 = root_new ['parrot';'Hash']
   vivify_608:
-    set $P2060, $P2059["quote"]
-    unless_null $P2060, vivify_609
-    new $P2060, "Undef"
+    set $P2059, $P2058["quote"]
+    unless_null $P2059, vivify_609
+    new $P2059, "Undef"
   vivify_609:
-    if $P2060, if_2058
-    find_lex $P2064, "$/"
-    unless_null $P2064, vivify_610
-    $P2064 = root_new ['parrot';'Hash']
+    if $P2059, if_2057
+    find_lex $P2063, "$/"
+    unless_null $P2063, vivify_610
+    $P2063 = root_new ['parrot';'Hash']
   vivify_610:
-    set $P2065, $P2064["number"]
-    unless_null $P2065, vivify_611
-    new $P2065, "Undef"
+    set $P2064, $P2063["number"]
+    unless_null $P2064, vivify_611
+    new $P2064, "Undef"
   vivify_611:
-    $P2066 = $P2065."ast"()
-    set $P2057, $P2066
-    goto if_2058_end
-  if_2058:
-    find_lex $P2061, "$/"
-    unless_null $P2061, vivify_612
-    $P2061 = root_new ['parrot';'Hash']
+    $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 $P2062, $P2061["quote"]
-    unless_null $P2062, vivify_613
-    new $P2062, "Undef"
+    set $P2061, $P2060["quote"]
+    unless_null $P2061, vivify_613
+    new $P2061, "Undef"
   vivify_613:
-    $P2063 = $P2062."ast"()
-    set $P2057, $P2063
-  if_2058_end:
-    $P2067 = $P2056."!make"($P2057)
+    $P2062 = $P2061."ast"()
+    set $P2056, $P2062
+  if_2057_end:
+    $P2066 = $P2055."!make"($P2056)
 .annotate 'line', 745
-    .return ($P2067)
-  control_2053:
+    .return ($P2066)
+  control_2052:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2068, exception, "payload"
-    .return ($P2068)
+    getattribute $P2067, exception, "payload"
+    .return ($P2067)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "number"  :subid("114_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2072
+.include "except_types.pasm"
+.sub "number"  :subid("114_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2071
 .annotate 'line', 749
-    new $P2071, 'ExceptionHandler'
-    set_addr $P2071, control_2070
-    $P2071."handle_types"(57)
-    push_eh $P2071
+    new $P2070, 'ExceptionHandler'
+    set_addr $P2070, control_2069
+    $P2070."handle_types"(.CONTROL_RETURN)
+    push_eh $P2070
     .lex "self", self
-    .lex "$/", param_2072
+    .lex "$/", param_2071
 .annotate 'line', 750
-    new $P2073, "Undef"
-    .lex "$value", $P2073
-    find_lex $P2076, "$/"
-    unless_null $P2076, vivify_614
-    $P2076 = root_new ['parrot';'Hash']
+    new $P2072, "Undef"
+    .lex "$value", $P2072
+    find_lex $P2075, "$/"
+    unless_null $P2075, vivify_614
+    $P2075 = root_new ['parrot';'Hash']
   vivify_614:
-    set $P2077, $P2076["dec_number"]
-    unless_null $P2077, vivify_615
-    new $P2077, "Undef"
+    set $P2076, $P2075["dec_number"]
+    unless_null $P2076, vivify_615
+    new $P2076, "Undef"
   vivify_615:
-    if $P2077, if_2075
-    find_lex $P2081, "$/"
-    unless_null $P2081, vivify_616
-    $P2081 = root_new ['parrot';'Hash']
+    if $P2076, if_2074
+    find_lex $P2080, "$/"
+    unless_null $P2080, vivify_616
+    $P2080 = root_new ['parrot';'Hash']
   vivify_616:
-    set $P2082, $P2081["integer"]
-    unless_null $P2082, vivify_617
-    new $P2082, "Undef"
+    set $P2081, $P2080["integer"]
+    unless_null $P2081, vivify_617
+    new $P2081, "Undef"
   vivify_617:
-    $P2083 = $P2082."ast"()
-    set $P2074, $P2083
-    goto if_2075_end
-  if_2075:
-    find_lex $P2078, "$/"
-    unless_null $P2078, vivify_618
-    $P2078 = root_new ['parrot';'Hash']
+    $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 $P2079, $P2078["dec_number"]
-    unless_null $P2079, vivify_619
-    new $P2079, "Undef"
+    set $P2078, $P2077["dec_number"]
+    unless_null $P2078, vivify_619
+    new $P2078, "Undef"
   vivify_619:
-    $P2080 = $P2079."ast"()
-    set $P2074, $P2080
-  if_2075_end:
-    store_lex "$value", $P2074
+    $P2079 = $P2078."ast"()
+    set $P2073, $P2079
+  if_2074_end:
+    store_lex "$value", $P2073
 .annotate 'line', 751
-    find_lex $P2085, "$/"
-    unless_null $P2085, vivify_620
-    $P2085 = root_new ['parrot';'Hash']
+    find_lex $P2084, "$/"
+    unless_null $P2084, vivify_620
+    $P2084 = root_new ['parrot';'Hash']
   vivify_620:
-    set $P2086, $P2085["sign"]
-    unless_null $P2086, vivify_621
-    new $P2086, "Undef"
+    set $P2085, $P2084["sign"]
+    unless_null $P2085, vivify_621
+    new $P2085, "Undef"
   vivify_621:
-    set $S2087, $P2086
-    iseq $I2088, $S2087, "-"
-    unless $I2088, if_2084_end
-    find_lex $P2089, "$value"
-    neg $P2090, $P2089
-    store_lex "$value", $P2090
-  if_2084_end:
+    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:
 .annotate 'line', 752
-    find_lex $P2091, "$/"
-    get_hll_global $P2092, ["PAST"], "Val"
-    find_lex $P2093, "$value"
-    $P2094 = $P2092."new"($P2093 :named("value"))
-    $P2095 = $P2091."!make"($P2094)
+    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 ($P2095)
-  control_2070:
+    .return ($P2094)
+  control_2069:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2096, exception, "payload"
-    .return ($P2096)
+    getattribute $P2095, exception, "payload"
+    .return ($P2095)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<apos>"  :subid("115_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2100
+.include "except_types.pasm"
+.sub "quote:sym<apos>"  :subid("115_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2099
 .annotate 'line', 755
-    new $P2099, 'ExceptionHandler'
-    set_addr $P2099, control_2098
-    $P2099."handle_types"(57)
-    push_eh $P2099
+    new $P2098, 'ExceptionHandler'
+    set_addr $P2098, control_2097
+    $P2098."handle_types"(.CONTROL_RETURN)
+    push_eh $P2098
     .lex "self", self
-    .lex "$/", param_2100
+    .lex "$/", param_2099
+    find_lex $P2100, "$/"
     find_lex $P2101, "$/"
-    find_lex $P2102, "$/"
-    unless_null $P2102, vivify_622
-    $P2102 = root_new ['parrot';'Hash']
+    unless_null $P2101, vivify_622
+    $P2101 = root_new ['parrot';'Hash']
   vivify_622:
-    set $P2103, $P2102["quote_EXPR"]
-    unless_null $P2103, vivify_623
-    new $P2103, "Undef"
+    set $P2102, $P2101["quote_EXPR"]
+    unless_null $P2102, vivify_623
+    new $P2102, "Undef"
   vivify_623:
-    $P2104 = $P2103."ast"()
-    $P2105 = $P2101."!make"($P2104)
-    .return ($P2105)
-  control_2098:
+    $P2103 = $P2102."ast"()
+    $P2104 = $P2100."!make"($P2103)
+    .return ($P2104)
+  control_2097:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2106, exception, "payload"
-    .return ($P2106)
+    getattribute $P2105, exception, "payload"
+    .return ($P2105)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<dblq>"  :subid("116_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2110
+.include "except_types.pasm"
+.sub "quote:sym<dblq>"  :subid("116_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2109
 .annotate 'line', 756
-    new $P2109, 'ExceptionHandler'
-    set_addr $P2109, control_2108
-    $P2109."handle_types"(57)
-    push_eh $P2109
+    new $P2108, 'ExceptionHandler'
+    set_addr $P2108, control_2107
+    $P2108."handle_types"(.CONTROL_RETURN)
+    push_eh $P2108
     .lex "self", self
-    .lex "$/", param_2110
+    .lex "$/", param_2109
+    find_lex $P2110, "$/"
     find_lex $P2111, "$/"
-    find_lex $P2112, "$/"
-    unless_null $P2112, vivify_624
-    $P2112 = root_new ['parrot';'Hash']
+    unless_null $P2111, vivify_624
+    $P2111 = root_new ['parrot';'Hash']
   vivify_624:
-    set $P2113, $P2112["quote_EXPR"]
-    unless_null $P2113, vivify_625
-    new $P2113, "Undef"
+    set $P2112, $P2111["quote_EXPR"]
+    unless_null $P2112, vivify_625
+    new $P2112, "Undef"
   vivify_625:
-    $P2114 = $P2113."ast"()
-    $P2115 = $P2111."!make"($P2114)
-    .return ($P2115)
-  control_2108:
+    $P2113 = $P2112."ast"()
+    $P2114 = $P2110."!make"($P2113)
+    .return ($P2114)
+  control_2107:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2116, exception, "payload"
-    .return ($P2116)
+    getattribute $P2115, exception, "payload"
+    .return ($P2115)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<qq>"  :subid("117_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2120
+.include "except_types.pasm"
+.sub "quote:sym<qq>"  :subid("117_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2119
 .annotate 'line', 757
-    new $P2119, 'ExceptionHandler'
-    set_addr $P2119, control_2118
-    $P2119."handle_types"(57)
-    push_eh $P2119
+    new $P2118, 'ExceptionHandler'
+    set_addr $P2118, control_2117
+    $P2118."handle_types"(.CONTROL_RETURN)
+    push_eh $P2118
     .lex "self", self
-    .lex "$/", param_2120
+    .lex "$/", param_2119
+    find_lex $P2120, "$/"
     find_lex $P2121, "$/"
-    find_lex $P2122, "$/"
-    unless_null $P2122, vivify_626
-    $P2122 = root_new ['parrot';'Hash']
+    unless_null $P2121, vivify_626
+    $P2121 = root_new ['parrot';'Hash']
   vivify_626:
-    set $P2123, $P2122["quote_EXPR"]
-    unless_null $P2123, vivify_627
-    new $P2123, "Undef"
+    set $P2122, $P2121["quote_EXPR"]
+    unless_null $P2122, vivify_627
+    new $P2122, "Undef"
   vivify_627:
-    $P2124 = $P2123."ast"()
-    $P2125 = $P2121."!make"($P2124)
-    .return ($P2125)
-  control_2118:
+    $P2123 = $P2122."ast"()
+    $P2124 = $P2120."!make"($P2123)
+    .return ($P2124)
+  control_2117:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2126, exception, "payload"
-    .return ($P2126)
+    getattribute $P2125, exception, "payload"
+    .return ($P2125)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<q>"  :subid("118_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2130
+.include "except_types.pasm"
+.sub "quote:sym<q>"  :subid("118_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2129
 .annotate 'line', 758
-    new $P2129, 'ExceptionHandler'
-    set_addr $P2129, control_2128
-    $P2129."handle_types"(57)
-    push_eh $P2129
+    new $P2128, 'ExceptionHandler'
+    set_addr $P2128, control_2127
+    $P2128."handle_types"(.CONTROL_RETURN)
+    push_eh $P2128
     .lex "self", self
-    .lex "$/", param_2130
+    .lex "$/", param_2129
+    find_lex $P2130, "$/"
     find_lex $P2131, "$/"
-    find_lex $P2132, "$/"
-    unless_null $P2132, vivify_628
-    $P2132 = root_new ['parrot';'Hash']
+    unless_null $P2131, vivify_628
+    $P2131 = root_new ['parrot';'Hash']
   vivify_628:
-    set $P2133, $P2132["quote_EXPR"]
-    unless_null $P2133, vivify_629
-    new $P2133, "Undef"
+    set $P2132, $P2131["quote_EXPR"]
+    unless_null $P2132, vivify_629
+    new $P2132, "Undef"
   vivify_629:
-    $P2134 = $P2133."ast"()
-    $P2135 = $P2131."!make"($P2134)
-    .return ($P2135)
-  control_2128:
+    $P2133 = $P2132."ast"()
+    $P2134 = $P2130."!make"($P2133)
+    .return ($P2134)
+  control_2127:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2136, exception, "payload"
-    .return ($P2136)
+    getattribute $P2135, exception, "payload"
+    .return ($P2135)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<Q>"  :subid("119_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2140
+.include "except_types.pasm"
+.sub "quote:sym<Q>"  :subid("119_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2139
 .annotate 'line', 759
-    new $P2139, 'ExceptionHandler'
-    set_addr $P2139, control_2138
-    $P2139."handle_types"(57)
-    push_eh $P2139
+    new $P2138, 'ExceptionHandler'
+    set_addr $P2138, control_2137
+    $P2138."handle_types"(.CONTROL_RETURN)
+    push_eh $P2138
     .lex "self", self
-    .lex "$/", param_2140
+    .lex "$/", param_2139
+    find_lex $P2140, "$/"
     find_lex $P2141, "$/"
-    find_lex $P2142, "$/"
-    unless_null $P2142, vivify_630
-    $P2142 = root_new ['parrot';'Hash']
+    unless_null $P2141, vivify_630
+    $P2141 = root_new ['parrot';'Hash']
   vivify_630:
-    set $P2143, $P2142["quote_EXPR"]
-    unless_null $P2143, vivify_631
-    new $P2143, "Undef"
+    set $P2142, $P2141["quote_EXPR"]
+    unless_null $P2142, vivify_631
+    new $P2142, "Undef"
   vivify_631:
-    $P2144 = $P2143."ast"()
-    $P2145 = $P2141."!make"($P2144)
-    .return ($P2145)
-  control_2138:
+    $P2143 = $P2142."ast"()
+    $P2144 = $P2140."!make"($P2143)
+    .return ($P2144)
+  control_2137:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2146, exception, "payload"
-    .return ($P2146)
+    getattribute $P2145, exception, "payload"
+    .return ($P2145)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym<Q:PIR>"  :subid("120_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2150
+.include "except_types.pasm"
+.sub "quote:sym<Q:PIR>"  :subid("120_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2149
 .annotate 'line', 760
-    new $P2149, 'ExceptionHandler'
-    set_addr $P2149, control_2148
-    $P2149."handle_types"(57)
-    push_eh $P2149
+    new $P2148, 'ExceptionHandler'
+    set_addr $P2148, control_2147
+    $P2148."handle_types"(.CONTROL_RETURN)
+    push_eh $P2148
     .lex "self", self
-    .lex "$/", param_2150
+    .lex "$/", param_2149
 .annotate 'line', 761
-    find_lex $P2151, "$/"
-    get_hll_global $P2152, ["PAST"], "Op"
-    find_lex $P2153, "$/"
-    unless_null $P2153, vivify_632
-    $P2153 = root_new ['parrot';'Hash']
+    find_lex $P2150, "$/"
+    get_hll_global $P2151, ["PAST"], "Op"
+    find_lex $P2152, "$/"
+    unless_null $P2152, vivify_632
+    $P2152 = root_new ['parrot';'Hash']
   vivify_632:
-    set $P2154, $P2153["quote_EXPR"]
-    unless_null $P2154, vivify_633
-    new $P2154, "Undef"
+    set $P2153, $P2152["quote_EXPR"]
+    unless_null $P2153, vivify_633
+    new $P2153, "Undef"
   vivify_633:
-    $P2155 = $P2154."ast"()
-    $P2156 = $P2155."value"()
-    find_lex $P2157, "$/"
-    $P2158 = $P2152."new"($P2156 :named("inline"), "inline" :named("pasttype"), $P2157 :named("node"))
-    $P2159 = $P2151."!make"($P2158)
+    $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 ($P2159)
-  control_2148:
+    .return ($P2158)
+  control_2147:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2160, exception, "payload"
-    .return ($P2160)
+    getattribute $P2159, exception, "payload"
+    .return ($P2159)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote:sym</ />"  :subid("121_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2164
-    .param pmc param_2165 :optional
-    .param int has_param_2165 :opt_flag
+.include "except_types.pasm"
+.sub "quote:sym</ />"  :subid("121_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2163
+    .param pmc param_2164 :optional
+    .param int has_param_2164 :opt_flag
 .annotate 'line', 766
-    new $P2163, 'ExceptionHandler'
-    set_addr $P2163, control_2162
-    $P2163."handle_types"(57)
-    push_eh $P2163
-    .lex "self", self
-    .lex "$/", param_2164
-    if has_param_2165, optparam_634
-    new $P2166, "Undef"
-    set param_2165, $P2166
+    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_2165
+    .lex "$key", param_2164
 .annotate 'line', 776
-    new $P2167, "Undef"
-    .lex "$regex", $P2167
+    new $P2166, "Undef"
+    .lex "$regex", $P2166
 .annotate 'line', 778
-    new $P2168, "Undef"
-    .lex "$past", $P2168
+    new $P2167, "Undef"
+    .lex "$past", $P2167
 .annotate 'line', 767
-    find_lex $P2170, "$key"
-    set $S2171, $P2170
-    iseq $I2172, $S2171, "open"
-    unless $I2172, if_2169_end
+    find_lex $P2169, "$key"
+    set $S2170, $P2169
+    iseq $I2171, $S2170, "open"
+    unless $I2171, if_2168_end
 .annotate 'line', 768
 
             null $P0
             set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
         
 .annotate 'line', 772
-    get_global $P2173, "@BLOCK"
-    unless_null $P2173, vivify_635
-    $P2173 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P2172, "@BLOCK"
+    unless_null $P2172, vivify_635
+    $P2172 = root_new ['parrot';'ResizablePMCArray']
   vivify_635:
-    set $P2174, $P2173[0]
-    unless_null $P2174, vivify_636
-    new $P2174, "Undef"
+    set $P2173, $P2172[0]
+    unless_null $P2173, vivify_636
+    new $P2173, "Undef"
   vivify_636:
-    $P2174."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
+    $P2173."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
 .annotate 'line', 773
-    get_global $P2175, "@BLOCK"
-    unless_null $P2175, vivify_637
-    $P2175 = root_new ['parrot';'ResizablePMCArray']
+    get_global $P2174, "@BLOCK"
+    unless_null $P2174, vivify_637
+    $P2174 = root_new ['parrot';'ResizablePMCArray']
   vivify_637:
-    set $P2176, $P2175[0]
-    unless_null $P2176, vivify_638
-    new $P2176, "Undef"
+    set $P2175, $P2174[0]
+    unless_null $P2175, vivify_638
+    new $P2175, "Undef"
   vivify_638:
-    $P2176."symbol"("$/", "lexical" :named("scope"))
+    $P2175."symbol"("$/", "lexical" :named("scope"))
 .annotate 'line', 774
-    new $P2177, "Exception"
-    set $P2177['type'], 57
-    new $P2178, "Integer"
-    assign $P2178, 0
-    setattribute $P2177, 'payload', $P2178
-    throw $P2177
-  if_2169_end:
+    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 $P2179, ["Regex";"P6Regex";"Actions"], "buildsub"
-    find_lex $P2180, "$/"
-    unless_null $P2180, vivify_639
-    $P2180 = root_new ['parrot';'Hash']
+    get_hll_global $P2178, ["Regex";"P6Regex";"Actions"], "buildsub"
+    find_lex $P2179, "$/"
+    unless_null $P2179, vivify_639
+    $P2179 = root_new ['parrot';'Hash']
   vivify_639:
-    set $P2181, $P2180["p6regex"]
-    unless_null $P2181, vivify_640
-    new $P2181, "Undef"
+    set $P2180, $P2179["p6regex"]
+    unless_null $P2180, vivify_640
+    new $P2180, "Undef"
   vivify_640:
-    $P2182 = $P2181."ast"()
-    get_global $P2183, "@BLOCK"
-    $P2184 = $P2183."shift"()
-    $P2185 = $P2179($P2182, $P2184)
-    store_lex "$regex", $P2185
+    $P2181 = $P2180."ast"()
+    get_global $P2182, "@BLOCK"
+    $P2183 = $P2182."shift"()
+    $P2184 = $P2178($P2181, $P2183)
+    store_lex "$regex", $P2184
 .annotate 'line', 779
-    get_hll_global $P2186, ["PAST"], "Op"
+    get_hll_global $P2185, ["PAST"], "Op"
 .annotate 'line', 781
-    get_hll_global $P2187, ["PAST"], "Var"
-    new $P2188, "ResizablePMCArray"
-    push $P2188, "Regex"
-    $P2189 = $P2187."new"("Regex" :named("name"), $P2188 :named("namespace"), "package" :named("scope"))
-    find_lex $P2190, "$regex"
-    $P2191 = $P2186."new"($P2189, $P2190, "callmethod" :named("pasttype"), "new" :named("name"))
+    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", $P2191
+    store_lex "$past", $P2190
 .annotate 'line', 785
-    find_lex $P2192, "$regex"
-    find_lex $P2193, "$past"
-    unless_null $P2193, vivify_641
-    $P2193 = root_new ['parrot';'Hash']
-    store_lex "$past", $P2193
+    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 $P2193["sink"], $P2192
+    set $P2192["sink"], $P2191
 .annotate 'line', 786
-    find_lex $P2194, "$/"
-    find_lex $P2195, "$past"
-    $P2196 = $P2194."!make"($P2195)
+    find_lex $P2193, "$/"
+    find_lex $P2194, "$past"
+    $P2195 = $P2193."!make"($P2194)
 .annotate 'line', 766
-    .return ($P2196)
-  control_2162:
+    .return ($P2195)
+  control_2161:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2197, exception, "payload"
-    .return ($P2197)
+    getattribute $P2196, exception, "payload"
+    .return ($P2196)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<$>"  :subid("122_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2201
+.include "except_types.pasm"
+.sub "quote_escape:sym<$>"  :subid("122_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2200
 .annotate 'line', 789
-    new $P2200, 'ExceptionHandler'
-    set_addr $P2200, control_2199
-    $P2200."handle_types"(57)
-    push_eh $P2200
+    new $P2199, 'ExceptionHandler'
+    set_addr $P2199, control_2198
+    $P2199."handle_types"(.CONTROL_RETURN)
+    push_eh $P2199
     .lex "self", self
-    .lex "$/", param_2201
+    .lex "$/", param_2200
+    find_lex $P2201, "$/"
     find_lex $P2202, "$/"
-    find_lex $P2203, "$/"
-    unless_null $P2203, vivify_642
-    $P2203 = root_new ['parrot';'Hash']
+    unless_null $P2202, vivify_642
+    $P2202 = root_new ['parrot';'Hash']
   vivify_642:
-    set $P2204, $P2203["variable"]
-    unless_null $P2204, vivify_643
-    new $P2204, "Undef"
+    set $P2203, $P2202["variable"]
+    unless_null $P2203, vivify_643
+    new $P2203, "Undef"
   vivify_643:
-    $P2205 = $P2204."ast"()
-    $P2206 = $P2202."!make"($P2205)
-    .return ($P2206)
-  control_2199:
+    $P2204 = $P2203."ast"()
+    $P2205 = $P2201."!make"($P2204)
+    .return ($P2205)
+  control_2198:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2207, exception, "payload"
-    .return ($P2207)
+    getattribute $P2206, exception, "payload"
+    .return ($P2206)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<{ }>"  :subid("123_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2211
+.include "except_types.pasm"
+.sub "quote_escape:sym<{ }>"  :subid("123_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2210
 .annotate 'line', 790
-    new $P2210, 'ExceptionHandler'
-    set_addr $P2210, control_2209
-    $P2210."handle_types"(57)
-    push_eh $P2210
+    new $P2209, 'ExceptionHandler'
+    set_addr $P2209, control_2208
+    $P2209."handle_types"(.CONTROL_RETURN)
+    push_eh $P2209
     .lex "self", self
-    .lex "$/", param_2211
+    .lex "$/", param_2210
 .annotate 'line', 791
-    find_lex $P2212, "$/"
-    get_hll_global $P2213, ["PAST"], "Op"
+    find_lex $P2211, "$/"
+    get_hll_global $P2212, ["PAST"], "Op"
 .annotate 'line', 792
-    find_lex $P2214, "$/"
-    unless_null $P2214, vivify_644
-    $P2214 = root_new ['parrot';'Hash']
+    find_lex $P2213, "$/"
+    unless_null $P2213, vivify_644
+    $P2213 = root_new ['parrot';'Hash']
   vivify_644:
-    set $P2215, $P2214["block"]
-    unless_null $P2215, vivify_645
-    new $P2215, "Undef"
+    set $P2214, $P2213["block"]
+    unless_null $P2214, vivify_645
+    new $P2214, "Undef"
   vivify_645:
-    $P2216 = $P2215."ast"()
-    $P2217 = "block_immediate"($P2216)
-    find_lex $P2218, "$/"
-    $P2219 = $P2213."new"($P2217, "set S*" :named("pirop"), $P2218 :named("node"))
+    $P2215 = $P2214."ast"()
+    $P2216 = "block_immediate"($P2215)
+    find_lex $P2217, "$/"
+    $P2218 = $P2212."new"($P2216, "set S*" :named("pirop"), $P2217 :named("node"))
 .annotate 'line', 791
-    $P2220 = $P2212."!make"($P2219)
+    $P2219 = $P2211."!make"($P2218)
 .annotate 'line', 790
-    .return ($P2220)
-  control_2209:
+    .return ($P2219)
+  control_2208:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2221, exception, "payload"
-    .return ($P2221)
+    getattribute $P2220, exception, "payload"
+    .return ($P2220)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<esc>"  :subid("124_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2225
+.include "except_types.pasm"
+.sub "quote_escape:sym<esc>"  :subid("124_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2224
 .annotate 'line', 795
-    new $P2224, 'ExceptionHandler'
-    set_addr $P2224, control_2223
-    $P2224."handle_types"(57)
-    push_eh $P2224
-    .lex "self", self
-    .lex "$/", param_2225
-    find_lex $P2226, "$/"
-    $P2227 = $P2226."!make"("\e")
-    .return ($P2227)
-  control_2223:
+    new $P2223, 'ExceptionHandler'
+    set_addr $P2223, control_2222
+    $P2223."handle_types"(.CONTROL_RETURN)
+    push_eh $P2223
+    .lex "self", self
+    .lex "$/", param_2224
+    find_lex $P2225, "$/"
+    $P2226 = $P2225."!make"("\e")
+    .return ($P2226)
+  control_2222:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2228, exception, "payload"
-    .return ($P2228)
+    getattribute $P2227, exception, "payload"
+    .return ($P2227)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<.>"  :subid("125_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2232
+.include "except_types.pasm"
+.sub "postfix:sym<.>"  :subid("125_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2231
 .annotate 'line', 799
-    new $P2231, 'ExceptionHandler'
-    set_addr $P2231, control_2230
-    $P2231."handle_types"(57)
-    push_eh $P2231
+    new $P2230, 'ExceptionHandler'
+    set_addr $P2230, control_2229
+    $P2230."handle_types"(.CONTROL_RETURN)
+    push_eh $P2230
     .lex "self", self
-    .lex "$/", param_2232
+    .lex "$/", param_2231
+    find_lex $P2232, "$/"
     find_lex $P2233, "$/"
-    find_lex $P2234, "$/"
-    unless_null $P2234, vivify_646
-    $P2234 = root_new ['parrot';'Hash']
+    unless_null $P2233, vivify_646
+    $P2233 = root_new ['parrot';'Hash']
   vivify_646:
-    set $P2235, $P2234["dotty"]
-    unless_null $P2235, vivify_647
-    new $P2235, "Undef"
+    set $P2234, $P2233["dotty"]
+    unless_null $P2234, vivify_647
+    new $P2234, "Undef"
   vivify_647:
-    $P2236 = $P2235."ast"()
-    $P2237 = $P2233."!make"($P2236)
-    .return ($P2237)
-  control_2230:
+    $P2235 = $P2234."ast"()
+    $P2236 = $P2232."!make"($P2235)
+    .return ($P2236)
+  control_2229:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2238, exception, "payload"
-    .return ($P2238)
+    getattribute $P2237, exception, "payload"
+    .return ($P2237)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<++>"  :subid("126_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2242
+.include "except_types.pasm"
+.sub "postfix:sym<++>"  :subid("126_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2241
 .annotate 'line', 801
-    new $P2241, 'ExceptionHandler'
-    set_addr $P2241, control_2240
-    $P2241."handle_types"(57)
-    push_eh $P2241
+    new $P2240, 'ExceptionHandler'
+    set_addr $P2240, control_2239
+    $P2240."handle_types"(.CONTROL_RETURN)
+    push_eh $P2240
     .lex "self", self
-    .lex "$/", param_2242
+    .lex "$/", param_2241
 .annotate 'line', 802
-    find_lex $P2243, "$/"
-    get_hll_global $P2244, ["PAST"], "Op"
+    find_lex $P2242, "$/"
+    get_hll_global $P2243, ["PAST"], "Op"
 .annotate 'line', 803
-    new $P2245, "ResizablePMCArray"
-    push $P2245, "    clone %r, %0"
-    push $P2245, "    inc %0"
-    $P2246 = $P2244."new"("postfix:<++>" :named("name"), $P2245 :named("inline"), "inline" :named("pasttype"))
+    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
-    $P2247 = $P2243."!make"($P2246)
+    $P2246 = $P2242."!make"($P2245)
 .annotate 'line', 801
-    .return ($P2247)
-  control_2240:
+    .return ($P2246)
+  control_2239:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2248, exception, "payload"
-    .return ($P2248)
+    getattribute $P2247, exception, "payload"
+    .return ($P2247)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "postfix:sym<-->"  :subid("127_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2252
+.include "except_types.pasm"
+.sub "postfix:sym<-->"  :subid("127_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2251
 .annotate 'line', 807
-    new $P2251, 'ExceptionHandler'
-    set_addr $P2251, control_2250
-    $P2251."handle_types"(57)
-    push_eh $P2251
+    new $P2250, 'ExceptionHandler'
+    set_addr $P2250, control_2249
+    $P2250."handle_types"(.CONTROL_RETURN)
+    push_eh $P2250
     .lex "self", self
-    .lex "$/", param_2252
+    .lex "$/", param_2251
 .annotate 'line', 808
-    find_lex $P2253, "$/"
-    get_hll_global $P2254, ["PAST"], "Op"
+    find_lex $P2252, "$/"
+    get_hll_global $P2253, ["PAST"], "Op"
 .annotate 'line', 809
-    new $P2255, "ResizablePMCArray"
-    push $P2255, "    clone %r, %0"
-    push $P2255, "    dec %0"
-    $P2256 = $P2254."new"("postfix:<-->" :named("name"), $P2255 :named("inline"), "inline" :named("pasttype"))
+    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
-    $P2257 = $P2253."!make"($P2256)
+    $P2256 = $P2252."!make"($P2255)
 .annotate 'line', 807
-    .return ($P2257)
-  control_2250:
+    .return ($P2256)
+  control_2249:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2258, exception, "payload"
-    .return ($P2258)
+    getattribute $P2257, exception, "payload"
+    .return ($P2257)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "prefix:sym<make>"  :subid("128_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2262
+.include "except_types.pasm"
+.sub "prefix:sym<make>"  :subid("128_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2261
 .annotate 'line', 813
-    new $P2261, 'ExceptionHandler'
-    set_addr $P2261, control_2260
-    $P2261."handle_types"(57)
-    push_eh $P2261
+    new $P2260, 'ExceptionHandler'
+    set_addr $P2260, control_2259
+    $P2260."handle_types"(.CONTROL_RETURN)
+    push_eh $P2260
     .lex "self", self
-    .lex "$/", param_2262
+    .lex "$/", param_2261
 .annotate 'line', 814
-    find_lex $P2263, "$/"
-    get_hll_global $P2264, ["PAST"], "Op"
+    find_lex $P2262, "$/"
+    get_hll_global $P2263, ["PAST"], "Op"
 .annotate 'line', 815
-    get_hll_global $P2265, ["PAST"], "Var"
-    $P2266 = $P2265."new"("$/" :named("name"), "contextual" :named("scope"))
-    find_lex $P2267, "$/"
-    $P2268 = $P2264."new"($P2266, "callmethod" :named("pasttype"), "!make" :named("name"), $P2267 :named("node"))
+    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
-    $P2269 = $P2263."!make"($P2268)
+    $P2268 = $P2262."!make"($P2267)
 .annotate 'line', 813
-    .return ($P2269)
-  control_2260:
+    .return ($P2268)
+  control_2259:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2270, exception, "payload"
-    .return ($P2270)
+    getattribute $P2269, exception, "payload"
+    .return ($P2269)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<next>"  :subid("129_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2275
-.annotate 'line', 835
-    new $P2274, 'ExceptionHandler'
-    set_addr $P2274, control_2273
-    $P2274."handle_types"(57)
-    push_eh $P2274
-    .lex "self", self
-    .lex "$/", param_2275
-    find_lex $P2276, "$/"
-    $P2277 = "control"($P2276, ".CONTROL_LOOP_NEXT")
-    .return ($P2277)
-  control_2273:
+.include "except_types.pasm"
+.sub "term:sym<next>"  :subid("129_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2274
+.annotate 'line', 831
+    new $P2273, 'ExceptionHandler'
+    set_addr $P2273, control_2272
+    $P2273."handle_types"(.CONTROL_RETURN)
+    push_eh $P2273
+    .lex "self", self
+    .lex "$/", param_2274
+    find_lex $P2275, "$/"
+    $P2276 = "control"($P2275, "CONTROL_LOOP_NEXT")
+    .return ($P2276)
+  control_2272:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2278, exception, "payload"
-    .return ($P2278)
+    getattribute $P2277, exception, "payload"
+    .return ($P2277)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<last>"  :subid("130_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2282
-.annotate 'line', 836
-    new $P2281, 'ExceptionHandler'
-    set_addr $P2281, control_2280
-    $P2281."handle_types"(57)
-    push_eh $P2281
-    .lex "self", self
-    .lex "$/", param_2282
-    find_lex $P2283, "$/"
-    $P2284 = "control"($P2283, ".CONTROL_LOOP_LAST")
-    .return ($P2284)
-  control_2280:
+.include "except_types.pasm"
+.sub "term:sym<last>"  :subid("130_1275811497.55064") :method :outer("11_1275811497.55064")
+    .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:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2285, exception, "payload"
-    .return ($P2285)
+    getattribute $P2284, exception, "payload"
+    .return ($P2284)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "term:sym<redo>"  :subid("131_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2289
-.annotate 'line', 837
-    new $P2288, 'ExceptionHandler'
-    set_addr $P2288, control_2287
-    $P2288."handle_types"(57)
-    push_eh $P2288
-    .lex "self", self
-    .lex "$/", param_2289
-    find_lex $P2290, "$/"
-    $P2291 = "control"($P2290, ".CONTROL_LOOP_REDO")
-    .return ($P2291)
-  control_2287:
+.include "except_types.pasm"
+.sub "term:sym<redo>"  :subid("131_1275811497.55064") :method :outer("11_1275811497.55064")
+    .param pmc param_2288
+.annotate 'line', 833
+    new $P2287, 'ExceptionHandler'
+    set_addr $P2287, control_2286
+    $P2287."handle_types"(.CONTROL_RETURN)
+    push_eh $P2287
+    .lex "self", self
+    .lex "$/", param_2288
+    find_lex $P2289, "$/"
+    $P2290 = "control"($P2289, "CONTROL_LOOP_REDO")
+    .return ($P2290)
+  control_2286:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2292, exception, "payload"
-    .return ($P2292)
+    getattribute $P2291, exception, "payload"
+    .return ($P2291)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "infix:sym<~~>"  :subid("132_1275600017.58296") :method :outer("11_1275600017.58296")
-    .param pmc param_2296
-.annotate 'line', 839
-    new $P2295, 'ExceptionHandler'
-    set_addr $P2295, control_2294
-    $P2295."handle_types"(57)
-    push_eh $P2295
+.include "except_types.pasm"
+.sub "infix:sym<~~>"  :subid("132_1275811497.55064") :method :outer("11_1275811497.55064")
+    .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_2296
-.annotate 'line', 840
-    find_lex $P2297, "$/"
-    get_hll_global $P2298, ["PAST"], "Op"
-    find_lex $P2299, "$/"
-    $P2300 = $P2298."new"("callmethod" :named("pasttype"), "ACCEPTS" :named("name"), $P2299 :named("node"))
-    $P2301 = $P2297."!make"($P2300)
-.annotate 'line', 839
-    .return ($P2301)
-  control_2294:
+    .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:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2302, exception, "payload"
-    .return ($P2302)
+    getattribute $P2301, exception, "payload"
+    .return ($P2301)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "_block2303"  :subid("133_1275600017.58296") :outer("11_1275600017.58296")
-.annotate 'line', 844
-    .const 'Sub' $P2388 = "140_1275600017.58296" 
+.sub "_block2302"  :subid("133_1275811497.55064") :outer("11_1275811497.55064")
+.annotate 'line', 840
+    .const 'Sub' $P2388 = "140_1275811497.55064" 
     capture_lex $P2388
-    .const 'Sub' $P2375 = "139_1275600017.58296" 
+    .const 'Sub' $P2375 = "139_1275811497.55064" 
     capture_lex $P2375
-    .const 'Sub' $P2358 = "138_1275600017.58296" 
+    .const 'Sub' $P2358 = "138_1275811497.55064" 
     capture_lex $P2358
-    .const 'Sub' $P2345 = "137_1275600017.58296" 
+    .const 'Sub' $P2345 = "137_1275811497.55064" 
     capture_lex $P2345
-    .const 'Sub' $P2332 = "136_1275600017.58296" 
+    .const 'Sub' $P2332 = "136_1275811497.55064" 
     capture_lex $P2332
-    .const 'Sub' $P2319 = "135_1275600017.58296" 
+    .const 'Sub' $P2319 = "135_1275811497.55064" 
     capture_lex $P2319
-    .const 'Sub' $P2305 = "134_1275600017.58296" 
-    capture_lex $P2305
-.annotate 'line', 877
-    .const 'Sub' $P2388 = "140_1275600017.58296" 
+    .const 'Sub' $P2304 = "134_1275811497.55064" 
+    capture_lex $P2304
+.annotate 'line', 874
+    .const 'Sub' $P2388 = "140_1275811497.55064" 
     newclosure $P2413, $P2388
-.annotate 'line', 844
+.annotate 'line', 840
     .return ($P2413)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<:my>"  :subid("134_1275600017.58296") :method :outer("133_1275600017.58296")
-    .param pmc param_2308
-.annotate 'line', 846
-    new $P2307, 'ExceptionHandler'
-    set_addr $P2307, control_2306
-    $P2307."handle_types"(57)
-    push_eh $P2307
-    .lex "self", self
-    .lex "$/", param_2308
-.annotate 'line', 847
-    new $P2309, "Undef"
-    .lex "$past", $P2309
-    find_lex $P2310, "$/"
-    unless_null $P2310, vivify_648
-    $P2310 = root_new ['parrot';'Hash']
+.include "except_types.pasm"
+.sub "metachar:sym<:my>"  :subid("134_1275811497.55064") :method :outer("133_1275811497.55064")
+    .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
+.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 $P2311, $P2310["statement"]
-    unless_null $P2311, vivify_649
-    new $P2311, "Undef"
+    set $P2310, $P2309["statement"]
+    unless_null $P2310, vivify_649
+    new $P2310, "Undef"
   vivify_649:
-    $P2312 = $P2311."ast"()
-    store_lex "$past", $P2312
-.annotate 'line', 848
-    find_lex $P2313, "$/"
-    get_hll_global $P2314, ["PAST"], "Regex"
-    find_lex $P2315, "$past"
-    $P2316 = $P2314."new"($P2315, "pastnode" :named("pasttype"))
-    $P2317 = $P2313."!make"($P2316)
-.annotate 'line', 846
+    $P2311 = $P2310."ast"()
+    store_lex "$past", $P2311
+.annotate 'line', 844
+    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_2306:
+  control_2305:
     .local pmc exception 
     .get_results (exception) 
     getattribute $P2318, exception, "payload"
@@ -24419,16 +24541,17 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<{ }>"  :subid("135_1275600017.58296") :method :outer("133_1275600017.58296")
+.include "except_types.pasm"
+.sub "metachar:sym<{ }>"  :subid("135_1275811497.55064") :method :outer("133_1275811497.55064")
     .param pmc param_2322
-.annotate 'line', 851
+.annotate 'line', 848
     new $P2321, 'ExceptionHandler'
     set_addr $P2321, control_2320
-    $P2321."handle_types"(57)
+    $P2321."handle_types"(.CONTROL_RETURN)
     push_eh $P2321
     .lex "self", self
     .lex "$/", param_2322
-.annotate 'line', 852
+.annotate 'line', 849
     find_lex $P2323, "$/"
     get_hll_global $P2324, ["PAST"], "Regex"
     find_lex $P2325, "$/"
@@ -24443,7 +24566,7 @@
     find_lex $P2328, "$/"
     $P2329 = $P2324."new"($P2327, "pastnode" :named("pasttype"), $P2328 :named("node"))
     $P2330 = $P2323."!make"($P2329)
-.annotate 'line', 851
+.annotate 'line', 848
     .return ($P2330)
   control_2320:
     .local pmc exception 
@@ -24454,16 +24577,17 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<nqpvar>"  :subid("136_1275600017.58296") :method :outer("133_1275600017.58296")
+.include "except_types.pasm"
+.sub "metachar:sym<nqpvar>"  :subid("136_1275811497.55064") :method :outer("133_1275811497.55064")
     .param pmc param_2335
-.annotate 'line', 856
+.annotate 'line', 853
     new $P2334, 'ExceptionHandler'
     set_addr $P2334, control_2333
-    $P2334."handle_types"(57)
+    $P2334."handle_types"(.CONTROL_RETURN)
     push_eh $P2334
     .lex "self", self
     .lex "$/", param_2335
-.annotate 'line', 857
+.annotate 'line', 854
     find_lex $P2336, "$/"
     get_hll_global $P2337, ["PAST"], "Regex"
     find_lex $P2338, "$/"
@@ -24478,7 +24602,7 @@
     find_lex $P2341, "$/"
     $P2342 = $P2337."new"("!INTERPOLATE", $P2340, "subrule" :named("pasttype"), "method" :named("subtype"), $P2341 :named("node"))
     $P2343 = $P2336."!make"($P2342)
-.annotate 'line', 856
+.annotate 'line', 853
     .return ($P2343)
   control_2333:
     .local pmc exception 
@@ -24489,16 +24613,17 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<{ }>"  :subid("137_1275600017.58296") :method :outer("133_1275600017.58296")
+.include "except_types.pasm"
+.sub "assertion:sym<{ }>"  :subid("137_1275811497.55064") :method :outer("133_1275811497.55064")
     .param pmc param_2348
-.annotate 'line', 861
+.annotate 'line', 858
     new $P2347, 'ExceptionHandler'
     set_addr $P2347, control_2346
-    $P2347."handle_types"(57)
+    $P2347."handle_types"(.CONTROL_RETURN)
     push_eh $P2347
     .lex "self", self
     .lex "$/", param_2348
-.annotate 'line', 862
+.annotate 'line', 859
     find_lex $P2349, "$/"
     get_hll_global $P2350, ["PAST"], "Regex"
     find_lex $P2351, "$/"
@@ -24513,7 +24638,7 @@
     find_lex $P2354, "$/"
     $P2355 = $P2350."new"("!INTERPOLATE_REGEX", $P2353, "subrule" :named("pasttype"), "method" :named("subtype"), $P2354 :named("node"))
     $P2356 = $P2349."!make"($P2355)
-.annotate 'line', 861
+.annotate 'line', 858
     .return ($P2356)
   control_2346:
     .local pmc exception 
@@ -24524,16 +24649,17 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<?{ }>"  :subid("138_1275600017.58296") :method :outer("133_1275600017.58296")
+.include "except_types.pasm"
+.sub "assertion:sym<?{ }>"  :subid("138_1275811497.55064") :method :outer("133_1275811497.55064")
     .param pmc param_2361
-.annotate 'line', 866
+.annotate 'line', 863
     new $P2360, 'ExceptionHandler'
     set_addr $P2360, control_2359
-    $P2360."handle_types"(57)
+    $P2360."handle_types"(.CONTROL_RETURN)
     push_eh $P2360
     .lex "self", self
     .lex "$/", param_2361
-.annotate 'line', 867
+.annotate 'line', 864
     find_lex $P2362, "$/"
     get_hll_global $P2363, ["PAST"], "Regex"
     find_lex $P2364, "$/"
@@ -24545,7 +24671,7 @@
     new $P2365, "Undef"
   vivify_657:
     $P2366 = $P2365."ast"()
-.annotate 'line', 868
+.annotate 'line', 865
     find_lex $P2367, "$/"
     unless_null $P2367, vivify_658
     $P2367 = root_new ['parrot';'Hash']
@@ -24558,9 +24684,9 @@
     iseq $I2370, $S2369, "!"
     find_lex $P2371, "$/"
     $P2372 = $P2363."new"($P2366, "zerowidth" :named("subtype"), $I2370 :named("negate"), "pastnode" :named("pasttype"), $P2371 :named("node"))
-.annotate 'line', 867
+.annotate 'line', 864
     $P2373 = $P2362."!make"($P2372)
-.annotate 'line', 866
+.annotate 'line', 863
     .return ($P2373)
   control_2359:
     .local pmc exception 
@@ -24571,16 +24697,17 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<var>"  :subid("139_1275600017.58296") :method :outer("133_1275600017.58296")
+.include "except_types.pasm"
+.sub "assertion:sym<var>"  :subid("139_1275811497.55064") :method :outer("133_1275811497.55064")
     .param pmc param_2378
-.annotate 'line', 872
+.annotate 'line', 869
     new $P2377, 'ExceptionHandler'
     set_addr $P2377, control_2376
-    $P2377."handle_types"(57)
+    $P2377."handle_types"(.CONTROL_RETURN)
     push_eh $P2377
     .lex "self", self
     .lex "$/", param_2378
-.annotate 'line', 873
+.annotate 'line', 870
     find_lex $P2379, "$/"
     get_hll_global $P2380, ["PAST"], "Regex"
     find_lex $P2381, "$/"
@@ -24595,7 +24722,7 @@
     find_lex $P2384, "$/"
     $P2385 = $P2380."new"("!INTERPOLATE_REGEX", $P2383, "subrule" :named("pasttype"), "method" :named("subtype"), $P2384 :named("node"))
     $P2386 = $P2379."!make"($P2385)
-.annotate 'line', 872
+.annotate 'line', 869
     .return ($P2386)
   control_2376:
     .local pmc exception 
@@ -24606,22 +24733,23 @@
 
 
 .namespace ["NQP";"RegexActions"]
-.sub "codeblock"  :subid("140_1275600017.58296") :method :outer("133_1275600017.58296")
+.include "except_types.pasm"
+.sub "codeblock"  :subid("140_1275811497.55064") :method :outer("133_1275811497.55064")
     .param pmc param_2391
-.annotate 'line', 877
+.annotate 'line', 874
     new $P2390, 'ExceptionHandler'
     set_addr $P2390, control_2389
-    $P2390."handle_types"(57)
+    $P2390."handle_types"(.CONTROL_RETURN)
     push_eh $P2390
     .lex "self", self
     .lex "$/", param_2391
-.annotate 'line', 878
+.annotate 'line', 875
     new $P2392, "Undef"
     .lex "$block", $P2392
-.annotate 'line', 880
+.annotate 'line', 877
     new $P2393, "Undef"
     .lex "$past", $P2393
-.annotate 'line', 878
+.annotate 'line', 875
     find_lex $P2394, "$/"
     unless_null $P2394, vivify_662
     $P2394 = root_new ['parrot';'Hash']
@@ -24632,34 +24760,34 @@
   vivify_663:
     $P2396 = $P2395."ast"()
     store_lex "$block", $P2396
-.annotate 'line', 879
+.annotate 'line', 876
     find_lex $P2397, "$block"
     $P2397."blocktype"("immediate")
-.annotate 'line', 881
+.annotate 'line', 878
     get_hll_global $P2398, ["PAST"], "Stmts"
-.annotate 'line', 882
+.annotate 'line', 879
     get_hll_global $P2399, ["PAST"], "Op"
-.annotate 'line', 883
+.annotate 'line', 880
     get_hll_global $P2400, ["PAST"], "Var"
     $P2401 = $P2400."new"("$/" :named("name"))
-.annotate 'line', 884
+.annotate 'line', 881
     get_hll_global $P2402, ["PAST"], "Op"
-.annotate 'line', 885
+.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', 884
+.annotate 'line', 881
     $P2406 = $P2399."new"($P2401, $P2405, "bind" :named("pasttype"))
-.annotate 'line', 882
+.annotate 'line', 879
     find_lex $P2407, "$block"
     $P2408 = $P2398."new"($P2406, $P2407)
-.annotate 'line', 881
+.annotate 'line', 878
     store_lex "$past", $P2408
-.annotate 'line', 893
+.annotate 'line', 890
     find_lex $P2409, "$/"
     find_lex $P2410, "$past"
     $P2411 = $P2409."!make"($P2410)
-.annotate 'line', 877
+.annotate 'line', 874
     .return ($P2411)
   control_2389:
     .local pmc exception 
@@ -24670,18 +24798,18 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block2415" :load :anon :subid("141_1275600017.58296")
+.sub "_block2415" :load :anon :subid("141_1275811497.55064")
 .annotate 'line', 3
-    .const 'Sub' $P2417 = "11_1275600017.58296" 
+    .const 'Sub' $P2417 = "11_1275811497.55064" 
     $P2418 = $P2417()
     .return ($P2418)
 .end
 
 
 .namespace []
-.sub "_block2425" :load :anon :subid("143_1275600017.58296")
+.sub "_block2425" :load :anon :subid("143_1275811497.55064")
 .annotate 'line', 1
-    .const 'Sub' $P2427 = "10_1275600017.58296" 
+    .const 'Sub' $P2427 = "10_1275811497.55064" 
     $P2428 = $P2427()
     .return ($P2428)
 .end

Modified: branches/gc_massacre/ext/nqp-rx/src/stage0/P6Regex-s0.pir
==============================================================================
--- branches/gc_massacre/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -16,7 +16,7 @@
 ### .include 'gen/p6regex-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1275599996.35368")
+.sub "_block11"  :anon :subid("10_1275811476.7961")
 .annotate 'line', 0
     get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" 
     capture_lex $P14
@@ -30,151 +30,151 @@
 .annotate 'line', 3
     get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" 
     capture_lex $P14
-    $P587 = $P14()
+    $P588 = $P14()
 .annotate 'line', 1
-    .return ($P587)
-    .const 'Sub' $P589 = "159_1275599996.35368" 
-    .return ($P589)
+    .return ($P588)
+    .const 'Sub' $P590 = "159_1275811476.7961" 
+    .return ($P590)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post160") :outer("10_1275599996.35368")
+.sub "" :load :init :subid("post160") :outer("10_1275811476.7961")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1275599996.35368" 
+    .const 'Sub' $P12 = "10_1275811476.7961" 
     .local pmc block
     set block, $P12
-    $P592 = get_root_global ["parrot"], "P6metaclass"
-    $P592."new_class"("Regex::P6Regex::Grammar", "HLL::Grammar" :named("parent"))
+    $P593 = get_root_global ["parrot"], "P6metaclass"
+    $P593."new_class"("Regex::P6Regex::Grammar", "HLL::Grammar" :named("parent"))
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block13"  :subid("11_1275599996.35368") :outer("10_1275599996.35368")
+.sub "_block13"  :subid("11_1275811476.7961") :outer("10_1275811476.7961")
 .annotate 'line', 3
-    .const 'Sub' $P575 = "156_1275599996.35368" 
-    capture_lex $P575
-    .const 'Sub' $P567 = "154_1275599996.35368" 
-    capture_lex $P567
-    .const 'Sub' $P559 = "152_1275599996.35368" 
-    capture_lex $P559
-    .const 'Sub' $P538 = "147_1275599996.35368" 
-    capture_lex $P538
-    .const 'Sub' $P503 = "141_1275599996.35368" 
-    capture_lex $P503
-    .const 'Sub' $P491 = "138_1275599996.35368" 
-    capture_lex $P491
-    .const 'Sub' $P478 = "135_1275599996.35368" 
-    capture_lex $P478
-    .const 'Sub' $P472 = "133_1275599996.35368" 
-    capture_lex $P472
-    .const 'Sub' $P461 = "130_1275599996.35368" 
-    capture_lex $P461
-    .const 'Sub' $P450 = "127_1275599996.35368" 
-    capture_lex $P450
-    .const 'Sub' $P441 = "123_1275599996.35368" 
-    capture_lex $P441
-    .const 'Sub' $P435 = "121_1275599996.35368" 
-    capture_lex $P435
-    .const 'Sub' $P429 = "119_1275599996.35368" 
-    capture_lex $P429
-    .const 'Sub' $P423 = "117_1275599996.35368" 
-    capture_lex $P423
-    .const 'Sub' $P417 = "115_1275599996.35368" 
-    capture_lex $P417
-    .const 'Sub' $P409 = "113_1275599996.35368" 
-    capture_lex $P409
-    .const 'Sub' $P398 = "111_1275599996.35368" 
-    capture_lex $P398
-    .const 'Sub' $P387 = "109_1275599996.35368" 
-    capture_lex $P387
-    .const 'Sub' $P381 = "107_1275599996.35368" 
-    capture_lex $P381
-    .const 'Sub' $P375 = "105_1275599996.35368" 
-    capture_lex $P375
-    .const 'Sub' $P369 = "103_1275599996.35368" 
-    capture_lex $P369
-    .const 'Sub' $P363 = "101_1275599996.35368" 
-    capture_lex $P363
-    .const 'Sub' $P357 = "99_1275599996.35368" 
-    capture_lex $P357
-    .const 'Sub' $P351 = "97_1275599996.35368" 
-    capture_lex $P351
-    .const 'Sub' $P345 = "95_1275599996.35368" 
-    capture_lex $P345
-    .const 'Sub' $P339 = "93_1275599996.35368" 
-    capture_lex $P339
-    .const 'Sub' $P327 = "89_1275599996.35368" 
-    capture_lex $P327
-    .const 'Sub' $P315 = "87_1275599996.35368" 
-    capture_lex $P315
-    .const 'Sub' $P308 = "85_1275599996.35368" 
-    capture_lex $P308
-    .const 'Sub' $P291 = "83_1275599996.35368" 
-    capture_lex $P291
-    .const 'Sub' $P284 = "81_1275599996.35368" 
-    capture_lex $P284
-    .const 'Sub' $P278 = "79_1275599996.35368" 
-    capture_lex $P278
-    .const 'Sub' $P272 = "77_1275599996.35368" 
-    capture_lex $P272
-    .const 'Sub' $P265 = "75_1275599996.35368" 
-    capture_lex $P265
-    .const 'Sub' $P258 = "73_1275599996.35368" 
-    capture_lex $P258
-    .const 'Sub' $P251 = "71_1275599996.35368" 
-    capture_lex $P251
-    .const 'Sub' $P244 = "69_1275599996.35368" 
-    capture_lex $P244
-    .const 'Sub' $P238 = "67_1275599996.35368" 
-    capture_lex $P238
-    .const 'Sub' $P232 = "65_1275599996.35368" 
-    capture_lex $P232
-    .const 'Sub' $P226 = "63_1275599996.35368" 
-    capture_lex $P226
-    .const 'Sub' $P220 = "61_1275599996.35368" 
-    capture_lex $P220
-    .const 'Sub' $P214 = "59_1275599996.35368" 
-    capture_lex $P214
-    .const 'Sub' $P209 = "57_1275599996.35368" 
-    capture_lex $P209
-    .const 'Sub' $P204 = "55_1275599996.35368" 
-    capture_lex $P204
-    .const 'Sub' $P198 = "53_1275599996.35368" 
-    capture_lex $P198
-    .const 'Sub' $P192 = "51_1275599996.35368" 
-    capture_lex $P192
-    .const 'Sub' $P186 = "49_1275599996.35368" 
-    capture_lex $P186
-    .const 'Sub' $P170 = "44_1275599996.35368" 
-    capture_lex $P170
-    .const 'Sub' $P154 = "42_1275599996.35368" 
-    capture_lex $P154
-    .const 'Sub' $P147 = "40_1275599996.35368" 
-    capture_lex $P147
-    .const 'Sub' $P140 = "38_1275599996.35368" 
-    capture_lex $P140
-    .const 'Sub' $P133 = "36_1275599996.35368" 
-    capture_lex $P133
-    .const 'Sub' $P114 = "31_1275599996.35368" 
-    capture_lex $P114
-    .const 'Sub' $P101 = "28_1275599996.35368" 
-    capture_lex $P101
-    .const 'Sub' $P94 = "26_1275599996.35368" 
-    capture_lex $P94
-    .const 'Sub' $P82 = "24_1275599996.35368" 
-    capture_lex $P82
-    .const 'Sub' $P75 = "22_1275599996.35368" 
-    capture_lex $P75
-    .const 'Sub' $P63 = "20_1275599996.35368" 
+    .const 'Sub' $P576 = "156_1275811476.7961" 
+    capture_lex $P576
+    .const 'Sub' $P568 = "154_1275811476.7961" 
+    capture_lex $P568
+    .const 'Sub' $P560 = "152_1275811476.7961" 
+    capture_lex $P560
+    .const 'Sub' $P539 = "147_1275811476.7961" 
+    capture_lex $P539
+    .const 'Sub' $P504 = "141_1275811476.7961" 
+    capture_lex $P504
+    .const 'Sub' $P492 = "138_1275811476.7961" 
+    capture_lex $P492
+    .const 'Sub' $P479 = "135_1275811476.7961" 
+    capture_lex $P479
+    .const 'Sub' $P473 = "133_1275811476.7961" 
+    capture_lex $P473
+    .const 'Sub' $P462 = "130_1275811476.7961" 
+    capture_lex $P462
+    .const 'Sub' $P451 = "127_1275811476.7961" 
+    capture_lex $P451
+    .const 'Sub' $P442 = "123_1275811476.7961" 
+    capture_lex $P442
+    .const 'Sub' $P436 = "121_1275811476.7961" 
+    capture_lex $P436
+    .const 'Sub' $P430 = "119_1275811476.7961" 
+    capture_lex $P430
+    .const 'Sub' $P424 = "117_1275811476.7961" 
+    capture_lex $P424
+    .const 'Sub' $P418 = "115_1275811476.7961" 
+    capture_lex $P418
+    .const 'Sub' $P410 = "113_1275811476.7961" 
+    capture_lex $P410
+    .const 'Sub' $P399 = "111_1275811476.7961" 
+    capture_lex $P399
+    .const 'Sub' $P388 = "109_1275811476.7961" 
+    capture_lex $P388
+    .const 'Sub' $P382 = "107_1275811476.7961" 
+    capture_lex $P382
+    .const 'Sub' $P376 = "105_1275811476.7961" 
+    capture_lex $P376
+    .const 'Sub' $P370 = "103_1275811476.7961" 
+    capture_lex $P370
+    .const 'Sub' $P364 = "101_1275811476.7961" 
+    capture_lex $P364
+    .const 'Sub' $P358 = "99_1275811476.7961" 
+    capture_lex $P358
+    .const 'Sub' $P352 = "97_1275811476.7961" 
+    capture_lex $P352
+    .const 'Sub' $P346 = "95_1275811476.7961" 
+    capture_lex $P346
+    .const 'Sub' $P340 = "93_1275811476.7961" 
+    capture_lex $P340
+    .const 'Sub' $P328 = "89_1275811476.7961" 
+    capture_lex $P328
+    .const 'Sub' $P316 = "87_1275811476.7961" 
+    capture_lex $P316
+    .const 'Sub' $P309 = "85_1275811476.7961" 
+    capture_lex $P309
+    .const 'Sub' $P292 = "83_1275811476.7961" 
+    capture_lex $P292
+    .const 'Sub' $P285 = "81_1275811476.7961" 
+    capture_lex $P285
+    .const 'Sub' $P279 = "79_1275811476.7961" 
+    capture_lex $P279
+    .const 'Sub' $P273 = "77_1275811476.7961" 
+    capture_lex $P273
+    .const 'Sub' $P266 = "75_1275811476.7961" 
+    capture_lex $P266
+    .const 'Sub' $P259 = "73_1275811476.7961" 
+    capture_lex $P259
+    .const 'Sub' $P252 = "71_1275811476.7961" 
+    capture_lex $P252
+    .const 'Sub' $P245 = "69_1275811476.7961" 
+    capture_lex $P245
+    .const 'Sub' $P239 = "67_1275811476.7961" 
+    capture_lex $P239
+    .const 'Sub' $P233 = "65_1275811476.7961" 
+    capture_lex $P233
+    .const 'Sub' $P227 = "63_1275811476.7961" 
+    capture_lex $P227
+    .const 'Sub' $P221 = "61_1275811476.7961" 
+    capture_lex $P221
+    .const 'Sub' $P215 = "59_1275811476.7961" 
+    capture_lex $P215
+    .const 'Sub' $P210 = "57_1275811476.7961" 
+    capture_lex $P210
+    .const 'Sub' $P205 = "55_1275811476.7961" 
+    capture_lex $P205
+    .const 'Sub' $P199 = "53_1275811476.7961" 
+    capture_lex $P199
+    .const 'Sub' $P193 = "51_1275811476.7961" 
+    capture_lex $P193
+    .const 'Sub' $P187 = "49_1275811476.7961" 
+    capture_lex $P187
+    .const 'Sub' $P171 = "44_1275811476.7961" 
+    capture_lex $P171
+    .const 'Sub' $P155 = "42_1275811476.7961" 
+    capture_lex $P155
+    .const 'Sub' $P148 = "40_1275811476.7961" 
+    capture_lex $P148
+    .const 'Sub' $P141 = "38_1275811476.7961" 
+    capture_lex $P141
+    .const 'Sub' $P134 = "36_1275811476.7961" 
+    capture_lex $P134
+    .const 'Sub' $P115 = "31_1275811476.7961" 
+    capture_lex $P115
+    .const 'Sub' $P102 = "28_1275811476.7961" 
+    capture_lex $P102
+    .const 'Sub' $P95 = "26_1275811476.7961" 
+    capture_lex $P95
+    .const 'Sub' $P83 = "24_1275811476.7961" 
+    capture_lex $P83
+    .const 'Sub' $P76 = "22_1275811476.7961" 
+    capture_lex $P76
+    .const 'Sub' $P63 = "20_1275811476.7961" 
     capture_lex $P63
-    .const 'Sub' $P56 = "18_1275599996.35368" 
+    .const 'Sub' $P56 = "18_1275811476.7961" 
     capture_lex $P56
-    .const 'Sub' $P46 = "15_1275599996.35368" 
+    .const 'Sub' $P46 = "15_1275811476.7961" 
     capture_lex $P46
-    .const 'Sub' $P38 = "13_1275599996.35368" 
+    .const 'Sub' $P38 = "13_1275811476.7961" 
     capture_lex $P38
-    .const 'Sub' $P15 = "12_1275599996.35368" 
+    .const 'Sub' $P15 = "12_1275811476.7961" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -182,16 +182,17 @@
     unless $I0 goto ctxsave_done
     $P0."ctxsave"()
   ctxsave_done:
-    .const 'Sub' $P575 = "156_1275599996.35368" 
-    capture_lex $P575
-    .return ($P575)
-    .const 'Sub' $P584 = "158_1275599996.35368" 
-    .return ($P584)
+    .const 'Sub' $P576 = "156_1275811476.7961" 
+    capture_lex $P576
+    .return ($P576)
+    .const 'Sub' $P585 = "158_1275811476.7961" 
+    .return ($P585)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "obs"  :subid("12_1275599996.35368") :method :outer("11_1275599996.35368")
+.include "except_types.pasm"
+.sub "obs"  :subid("12_1275811476.7961") :method :outer("11_1275811476.7961")
     .param pmc param_18
     .param pmc param_19
     .param pmc param_20 :optional
@@ -199,7 +200,7 @@
 .annotate 'line', 3
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
-    $P17."handle_types"(57)
+    $P17."handle_types"(.CONTROL_RETURN)
     push_eh $P17
     .lex "self", self
     .lex "$old", param_18
@@ -239,7 +240,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "ws"  :subid("13_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "ws"  :subid("13_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
     .local string rx39_tgt
     .local int rx39_pos
@@ -322,7 +323,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__ws"  :subid("14_1275599996.35368") :method
+.sub "!PREFIX__ws"  :subid("14_1275811476.7961") :method
 .annotate 'line', 3
     new $P41, "ResizablePMCArray"
     push $P41, ""
@@ -331,9 +332,9 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "normspace"  :subid("15_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "normspace"  :subid("15_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .const 'Sub' $P52 = "17_1275599996.35368" 
+    .const 'Sub' $P52 = "17_1275811476.7961" 
     capture_lex $P52
     .local string rx47_tgt
     .local int rx47_pos
@@ -368,7 +369,7 @@
 .annotate 'line', 10
   # rx subrule "before" subtype=zerowidth negate=
     rx47_cur."!cursor_pos"(rx47_pos)
-    .const 'Sub' $P52 = "17_1275599996.35368" 
+    .const 'Sub' $P52 = "17_1275811476.7961" 
     capture_lex $P52
     $P10 = rx47_cur."before"($P52)
     unless $P10, rx47_fail
@@ -396,7 +397,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__normspace"  :subid("16_1275599996.35368") :method
+.sub "!PREFIX__normspace"  :subid("16_1275811476.7961") :method
 .annotate 'line', 3
     new $P49, "ResizablePMCArray"
     push $P49, ""
@@ -405,7 +406,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block51"  :anon :subid("17_1275599996.35368") :method :outer("15_1275599996.35368")
+.sub "_block51"  :anon :subid("17_1275811476.7961") :method :outer("15_1275811476.7961")
 .annotate 'line', 10
     .local string rx53_tgt
     .local int rx53_pos
@@ -474,7 +475,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arg"  :subid("18_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "arg"  :subid("18_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
     .local string rx57_tgt
     .local int rx57_pos
@@ -586,7 +587,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arg"  :subid("19_1275599996.35368") :method
+.sub "!PREFIX__arg"  :subid("19_1275811476.7961") :method
 .annotate 'line', 3
     new $P59, "ResizablePMCArray"
     push $P59, ""
@@ -597,7 +598,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arglist"  :subid("20_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "arglist"  :subid("20_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
     .local string rx64_tgt
     .local int rx64_pos
@@ -619,17 +620,17 @@
     substr rx64_tgt, rx64_tgt, rx64_off
   rx64_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan67_done
-    goto rxscan67_scan
-  rxscan67_loop:
+    ne $I10, -1, rxscan68_done
+    goto rxscan68_scan
+  rxscan68_loop:
     ($P10) = rx64_cur."from"()
     inc $P10
     set rx64_pos, $P10
-    ge rx64_pos, rx64_eos, rxscan67_done
-  rxscan67_scan:
-    set_addr $I10, rxscan67_loop
+    ge rx64_pos, rx64_eos, rxscan68_done
+  rxscan68_scan:
+    set_addr $I10, rxscan68_loop
     rx64_cur."!mark_push"(0, rx64_pos, $I10)
-  rxscan67_done:
+  rxscan68_done:
 .annotate 'line', 20
   # rx subrule "ws" subtype=method negate=
     rx64_cur."!cursor_pos"(rx64_pos)
@@ -648,10 +649,10 @@
     $P10 = rx64_cur."ws"()
     unless $P10, rx64_fail
     rx64_pos = $P10."pos"()
-  # rx rxquantr70 ** 0..*
-    set_addr $I73, rxquantr70_done
-    rx64_cur."!mark_push"(0, rx64_pos, $I73)
-  rxquantr70_loop:
+  # rx rxquantr71 ** 0..*
+    set_addr $I74, rxquantr71_done
+    rx64_cur."!mark_push"(0, rx64_pos, $I74)
+  rxquantr71_loop:
   # rx subrule "ws" subtype=method negate=
     rx64_cur."!cursor_pos"(rx64_pos)
     $P10 = rx64_cur."ws"()
@@ -676,10 +677,10 @@
     rx64_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arg")
     rx64_pos = $P10."pos"()
-    (rx64_rep) = rx64_cur."!mark_commit"($I73)
-    rx64_cur."!mark_push"(rx64_rep, rx64_pos, $I73)
-    goto rxquantr70_loop
-  rxquantr70_done:
+    (rx64_rep) = rx64_cur."!mark_commit"($I74)
+    rx64_cur."!mark_push"(rx64_rep, rx64_pos, $I74)
+    goto rxquantr71_loop
+  rxquantr71_done:
   # rx subrule "ws" subtype=method negate=
     rx64_cur."!cursor_pos"(rx64_pos)
     $P10 = rx64_cur."ws"()
@@ -704,6583 +705,6584 @@
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("21_1275599996.35368") :method
+.sub "!PREFIX__arglist"  :subid("21_1275811476.7961") :method
 .annotate 'line', 3
-    new $P66, "ResizablePMCArray"
-    push $P66, ""
-    .return ($P66)
+    $P66 = self."!PREFIX__!subrule"("ws", "")
+    new $P67, "ResizablePMCArray"
+    push $P67, $P66
+    .return ($P67)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "TOP"  :subid("22_1275599996.35368") :method :outer("11_1275599996.35368")
-.annotate 'line', 3
-    .local string rx76_tgt
-    .local int rx76_pos
-    .local int rx76_off
-    .local int rx76_eos
-    .local int rx76_rep
-    .local pmc rx76_cur
-    (rx76_cur, rx76_pos, rx76_tgt) = self."!cursor_start"()
-    rx76_cur."!cursor_debug"("START ", "TOP")
-    .lex unicode:"$\x{a2}", rx76_cur
-    .local pmc match
-    .lex "$/", match
-    length rx76_eos, rx76_tgt
-    gt rx76_pos, rx76_eos, rx76_done
-    set rx76_off, 0
-    lt rx76_pos, 2, rx76_start
-    sub rx76_off, rx76_pos, 1
-    substr rx76_tgt, rx76_tgt, rx76_off
-  rx76_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan80_done
-    goto rxscan80_scan
-  rxscan80_loop:
-    ($P10) = rx76_cur."from"()
-    inc $P10
-    set rx76_pos, $P10
-    ge rx76_pos, rx76_eos, rxscan80_done
-  rxscan80_scan:
-    set_addr $I10, rxscan80_loop
-    rx76_cur."!mark_push"(0, rx76_pos, $I10)
-  rxscan80_done:
+.sub "TOP"  :subid("22_1275811476.7961") :method :outer("11_1275811476.7961")
+.annotate 'line', 3
+    .local string rx77_tgt
+    .local int rx77_pos
+    .local int rx77_off
+    .local int rx77_eos
+    .local int rx77_rep
+    .local pmc rx77_cur
+    (rx77_cur, rx77_pos, rx77_tgt) = self."!cursor_start"()
+    rx77_cur."!cursor_debug"("START ", "TOP")
+    .lex unicode:"$\x{a2}", rx77_cur
+    .local pmc match
+    .lex "$/", match
+    length rx77_eos, rx77_tgt
+    gt rx77_pos, rx77_eos, rx77_done
+    set rx77_off, 0
+    lt rx77_pos, 2, rx77_start
+    sub rx77_off, rx77_pos, 1
+    substr rx77_tgt, rx77_tgt, rx77_off
+  rx77_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan81_done
+    goto rxscan81_scan
+  rxscan81_loop:
+    ($P10) = rx77_cur."from"()
+    inc $P10
+    set rx77_pos, $P10
+    ge rx77_pos, rx77_eos, rxscan81_done
+  rxscan81_scan:
+    set_addr $I10, rxscan81_loop
+    rx77_cur."!mark_push"(0, rx77_pos, $I10)
+  rxscan81_done:
 .annotate 'line', 23
   # rx subrule "nibbler" subtype=capture negate=
-    rx76_cur."!cursor_pos"(rx76_pos)
-    $P10 = rx76_cur."nibbler"()
-    unless $P10, rx76_fail
-    rx76_cur."!mark_push"(0, -1, 0, $P10)
+    rx77_cur."!cursor_pos"(rx77_pos)
+    $P10 = rx77_cur."nibbler"()
+    unless $P10, rx77_fail
+    rx77_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx76_pos = $P10."pos"()
-  alt81_0:
+    rx77_pos = $P10."pos"()
+  alt82_0:
 .annotate 'line', 24
-    set_addr $I10, alt81_1
-    rx76_cur."!mark_push"(0, rx76_pos, $I10)
+    set_addr $I10, alt82_1
+    rx77_cur."!mark_push"(0, rx77_pos, $I10)
   # rxanchor eos
-    ne rx76_pos, rx76_eos, rx76_fail
-    goto alt81_end
-  alt81_1:
+    ne rx77_pos, rx77_eos, rx77_fail
+    goto alt82_end
+  alt82_1:
   # rx subrule "panic" subtype=method negate=
-    rx76_cur."!cursor_pos"(rx76_pos)
-    $P10 = rx76_cur."panic"("Confused")
-    unless $P10, rx76_fail
-    rx76_pos = $P10."pos"()
-  alt81_end:
+    rx77_cur."!cursor_pos"(rx77_pos)
+    $P10 = rx77_cur."panic"("Confused")
+    unless $P10, rx77_fail
+    rx77_pos = $P10."pos"()
+  alt82_end:
 .annotate 'line', 22
   # rx pass
-    rx76_cur."!cursor_pass"(rx76_pos, "TOP")
-    rx76_cur."!cursor_debug"("PASS  ", "TOP", " at pos=", rx76_pos)
-    .return (rx76_cur)
-  rx76_fail:
+    rx77_cur."!cursor_pass"(rx77_pos, "TOP")
+    rx77_cur."!cursor_debug"("PASS  ", "TOP", " at pos=", rx77_pos)
+    .return (rx77_cur)
+  rx77_fail:
 .annotate 'line', 3
-    (rx76_rep, rx76_pos, $I10, $P10) = rx76_cur."!mark_fail"(0)
-    lt rx76_pos, -1, rx76_done
-    eq rx76_pos, -1, rx76_fail
+    (rx77_rep, rx77_pos, $I10, $P10) = rx77_cur."!mark_fail"(0)
+    lt rx77_pos, -1, rx77_done
+    eq rx77_pos, -1, rx77_fail
     jump $I10
-  rx76_done:
-    rx76_cur."!cursor_fail"()
-    rx76_cur."!cursor_debug"("FAIL  ", "TOP")
-    .return (rx76_cur)
+  rx77_done:
+    rx77_cur."!cursor_fail"()
+    rx77_cur."!cursor_debug"("FAIL  ", "TOP")
+    .return (rx77_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__TOP"  :subid("23_1275599996.35368") :method
+.sub "!PREFIX__TOP"  :subid("23_1275811476.7961") :method
 .annotate 'line', 3
-    $P78 = self."!PREFIX__!subrule"("nibbler", "")
-    new $P79, "ResizablePMCArray"
-    push $P79, $P78
-    .return ($P79)
+    $P79 = self."!PREFIX__!subrule"("nibbler", "")
+    new $P80, "ResizablePMCArray"
+    push $P80, $P79
+    .return ($P80)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "nibbler"  :subid("24_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "nibbler"  :subid("24_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx83_tgt
-    .local int rx83_pos
-    .local int rx83_off
-    .local int rx83_eos
-    .local int rx83_rep
-    .local pmc rx83_cur
-    (rx83_cur, rx83_pos, rx83_tgt) = self."!cursor_start"()
-    rx83_cur."!cursor_debug"("START ", "nibbler")
-    rx83_cur."!cursor_caparray"("termish")
-    .lex unicode:"$\x{a2}", rx83_cur
+    .local string rx84_tgt
+    .local int rx84_pos
+    .local int rx84_off
+    .local int rx84_eos
+    .local int rx84_rep
+    .local pmc rx84_cur
+    (rx84_cur, rx84_pos, rx84_tgt) = self."!cursor_start"()
+    rx84_cur."!cursor_debug"("START ", "nibbler")
+    rx84_cur."!cursor_caparray"("termish")
+    .lex unicode:"$\x{a2}", rx84_cur
     .local pmc match
     .lex "$/", match
-    length rx83_eos, rx83_tgt
-    gt rx83_pos, rx83_eos, rx83_done
-    set rx83_off, 0
-    lt rx83_pos, 2, rx83_start
-    sub rx83_off, rx83_pos, 1
-    substr rx83_tgt, rx83_tgt, rx83_off
-  rx83_start:
+    length rx84_eos, rx84_tgt
+    gt rx84_pos, rx84_eos, rx84_done
+    set rx84_off, 0
+    lt rx84_pos, 2, rx84_start
+    sub rx84_off, rx84_pos, 1
+    substr rx84_tgt, rx84_tgt, rx84_off
+  rx84_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan86_done
-    goto rxscan86_scan
-  rxscan86_loop:
-    ($P10) = rx83_cur."from"()
+    ne $I10, -1, rxscan87_done
+    goto rxscan87_scan
+  rxscan87_loop:
+    ($P10) = rx84_cur."from"()
     inc $P10
-    set rx83_pos, $P10
-    ge rx83_pos, rx83_eos, rxscan86_done
-  rxscan86_scan:
-    set_addr $I10, rxscan86_loop
-    rx83_cur."!mark_push"(0, rx83_pos, $I10)
-  rxscan86_done:
+    set rx84_pos, $P10
+    ge rx84_pos, rx84_eos, rxscan87_done
+  rxscan87_scan:
+    set_addr $I10, rxscan87_loop
+    rx84_cur."!mark_push"(0, rx84_pos, $I10)
+  rxscan87_done:
 .annotate 'line', 28
   # rx reduce name="nibbler" key="open"
-    rx83_cur."!cursor_pos"(rx83_pos)
-    rx83_cur."!reduce"("nibbler", "open")
+    rx84_cur."!cursor_pos"(rx84_pos)
+    rx84_cur."!reduce"("nibbler", "open")
 .annotate 'line', 29
-  # rx rxquantr87 ** 0..1
-    set_addr $I89, rxquantr87_done
-    rx83_cur."!mark_push"(0, rx83_pos, $I89)
-  rxquantr87_loop:
+  # rx rxquantr88 ** 0..1
+    set_addr $I90, rxquantr88_done
+    rx84_cur."!mark_push"(0, rx84_pos, $I90)
+  rxquantr88_loop:
   # rx subrule "ws" subtype=method negate=
-    rx83_cur."!cursor_pos"(rx83_pos)
-    $P10 = rx83_cur."ws"()
-    unless $P10, rx83_fail
-    rx83_pos = $P10."pos"()
-  alt88_0:
-    set_addr $I10, alt88_1
-    rx83_cur."!mark_push"(0, rx83_pos, $I10)
+    rx84_cur."!cursor_pos"(rx84_pos)
+    $P10 = rx84_cur."ws"()
+    unless $P10, rx84_fail
+    rx84_pos = $P10."pos"()
+  alt89_0:
+    set_addr $I10, alt89_1
+    rx84_cur."!mark_push"(0, rx84_pos, $I10)
   # rx literal  "||"
-    add $I11, rx83_pos, 2
-    gt $I11, rx83_eos, rx83_fail
-    sub $I11, rx83_pos, rx83_off
-    substr $S10, rx83_tgt, $I11, 2
-    ne $S10, "||", rx83_fail
-    add rx83_pos, 2
-    goto alt88_end
-  alt88_1:
-    set_addr $I10, alt88_2
-    rx83_cur."!mark_push"(0, rx83_pos, $I10)
+    add $I11, rx84_pos, 2
+    gt $I11, rx84_eos, rx84_fail
+    sub $I11, rx84_pos, rx84_off
+    substr $S10, rx84_tgt, $I11, 2
+    ne $S10, "||", rx84_fail
+    add rx84_pos, 2
+    goto alt89_end
+  alt89_1:
+    set_addr $I10, alt89_2
+    rx84_cur."!mark_push"(0, rx84_pos, $I10)
   # rx literal  "|"
-    add $I11, rx83_pos, 1
-    gt $I11, rx83_eos, rx83_fail
-    sub $I11, rx83_pos, rx83_off
-    substr $S10, rx83_tgt, $I11, 1
-    ne $S10, "|", rx83_fail
-    add rx83_pos, 1
-    goto alt88_end
-  alt88_2:
-    set_addr $I10, alt88_3
-    rx83_cur."!mark_push"(0, rx83_pos, $I10)
+    add $I11, rx84_pos, 1
+    gt $I11, rx84_eos, rx84_fail
+    sub $I11, rx84_pos, rx84_off
+    substr $S10, rx84_tgt, $I11, 1
+    ne $S10, "|", rx84_fail
+    add rx84_pos, 1
+    goto alt89_end
+  alt89_2:
+    set_addr $I10, alt89_3
+    rx84_cur."!mark_push"(0, rx84_pos, $I10)
   # rx literal  "&&"
-    add $I11, rx83_pos, 2
-    gt $I11, rx83_eos, rx83_fail
-    sub $I11, rx83_pos, rx83_off
-    substr $S10, rx83_tgt, $I11, 2
-    ne $S10, "&&", rx83_fail
-    add rx83_pos, 2
-    goto alt88_end
-  alt88_3:
+    add $I11, rx84_pos, 2
+    gt $I11, rx84_eos, rx84_fail
+    sub $I11, rx84_pos, rx84_off
+    substr $S10, rx84_tgt, $I11, 2
+    ne $S10, "&&", rx84_fail
+    add rx84_pos, 2
+    goto alt89_end
+  alt89_3:
   # rx literal  "&"
-    add $I11, rx83_pos, 1
-    gt $I11, rx83_eos, rx83_fail
-    sub $I11, rx83_pos, rx83_off
-    substr $S10, rx83_tgt, $I11, 1
-    ne $S10, "&", rx83_fail
-    add rx83_pos, 1
-  alt88_end:
-    (rx83_rep) = rx83_cur."!mark_commit"($I89)
-  rxquantr87_done:
+    add $I11, rx84_pos, 1
+    gt $I11, rx84_eos, rx84_fail
+    sub $I11, rx84_pos, rx84_off
+    substr $S10, rx84_tgt, $I11, 1
+    ne $S10, "&", rx84_fail
+    add rx84_pos, 1
+  alt89_end:
+    (rx84_rep) = rx84_cur."!mark_commit"($I90)
+  rxquantr88_done:
 .annotate 'line', 30
   # rx subrule "termish" subtype=capture negate=
-    rx83_cur."!cursor_pos"(rx83_pos)
-    $P10 = rx83_cur."termish"()
-    unless $P10, rx83_fail
-    rx83_cur."!mark_push"(0, -1, 0, $P10)
+    rx84_cur."!cursor_pos"(rx84_pos)
+    $P10 = rx84_cur."termish"()
+    unless $P10, rx84_fail
+    rx84_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("termish")
-    rx83_pos = $P10."pos"()
+    rx84_pos = $P10."pos"()
 .annotate 'line', 33
-  # rx rxquantr90 ** 0..*
-    set_addr $I93, rxquantr90_done
-    rx83_cur."!mark_push"(0, rx83_pos, $I93)
-  rxquantr90_loop:
-  alt91_0:
+  # rx rxquantr91 ** 0..*
+    set_addr $I94, rxquantr91_done
+    rx84_cur."!mark_push"(0, rx84_pos, $I94)
+  rxquantr91_loop:
+  alt92_0:
 .annotate 'line', 31
-    set_addr $I10, alt91_1
-    rx83_cur."!mark_push"(0, rx83_pos, $I10)
+    set_addr $I10, alt92_1
+    rx84_cur."!mark_push"(0, rx84_pos, $I10)
   # rx literal  "||"
-    add $I11, rx83_pos, 2
-    gt $I11, rx83_eos, rx83_fail
-    sub $I11, rx83_pos, rx83_off
-    substr $S10, rx83_tgt, $I11, 2
-    ne $S10, "||", rx83_fail
-    add rx83_pos, 2
-    goto alt91_end
-  alt91_1:
+    add $I11, rx84_pos, 2
+    gt $I11, rx84_eos, rx84_fail
+    sub $I11, rx84_pos, rx84_off
+    substr $S10, rx84_tgt, $I11, 2
+    ne $S10, "||", rx84_fail
+    add rx84_pos, 2
+    goto alt92_end
+  alt92_1:
   # rx literal  "|"
-    add $I11, rx83_pos, 1
-    gt $I11, rx83_eos, rx83_fail
-    sub $I11, rx83_pos, rx83_off
-    substr $S10, rx83_tgt, $I11, 1
-    ne $S10, "|", rx83_fail
-    add rx83_pos, 1
-  alt91_end:
-  alt92_0:
+    add $I11, rx84_pos, 1
+    gt $I11, rx84_eos, rx84_fail
+    sub $I11, rx84_pos, rx84_off
+    substr $S10, rx84_tgt, $I11, 1
+    ne $S10, "|", rx84_fail
+    add rx84_pos, 1
+  alt92_end:
+  alt93_0:
 .annotate 'line', 32
-    set_addr $I10, alt92_1
-    rx83_cur."!mark_push"(0, rx83_pos, $I10)
+    set_addr $I10, alt93_1
+    rx84_cur."!mark_push"(0, rx84_pos, $I10)
   # rx subrule "termish" subtype=capture negate=
-    rx83_cur."!cursor_pos"(rx83_pos)
-    $P10 = rx83_cur."termish"()
-    unless $P10, rx83_fail
-    rx83_cur."!mark_push"(0, -1, 0, $P10)
+    rx84_cur."!cursor_pos"(rx84_pos)
+    $P10 = rx84_cur."termish"()
+    unless $P10, rx84_fail
+    rx84_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("termish")
-    rx83_pos = $P10."pos"()
-    goto alt92_end
-  alt92_1:
+    rx84_pos = $P10."pos"()
+    goto alt93_end
+  alt93_1:
   # rx subrule "panic" subtype=method negate=
-    rx83_cur."!cursor_pos"(rx83_pos)
-    $P10 = rx83_cur."panic"("Null pattern not allowed")
-    unless $P10, rx83_fail
-    rx83_pos = $P10."pos"()
-  alt92_end:
+    rx84_cur."!cursor_pos"(rx84_pos)
+    $P10 = rx84_cur."panic"("Null pattern not allowed")
+    unless $P10, rx84_fail
+    rx84_pos = $P10."pos"()
+  alt93_end:
 .annotate 'line', 33
-    (rx83_rep) = rx83_cur."!mark_commit"($I93)
-    rx83_cur."!mark_push"(rx83_rep, rx83_pos, $I93)
-    goto rxquantr90_loop
-  rxquantr90_done:
+    (rx84_rep) = rx84_cur."!mark_commit"($I94)
+    rx84_cur."!mark_push"(rx84_rep, rx84_pos, $I94)
+    goto rxquantr91_loop
+  rxquantr91_done:
 .annotate 'line', 27
   # rx pass
-    rx83_cur."!cursor_pass"(rx83_pos, "nibbler")
-    rx83_cur."!cursor_debug"("PASS  ", "nibbler", " at pos=", rx83_pos)
-    .return (rx83_cur)
-  rx83_fail:
+    rx84_cur."!cursor_pass"(rx84_pos, "nibbler")
+    rx84_cur."!cursor_debug"("PASS  ", "nibbler", " at pos=", rx84_pos)
+    .return (rx84_cur)
+  rx84_fail:
 .annotate 'line', 3
-    (rx83_rep, rx83_pos, $I10, $P10) = rx83_cur."!mark_fail"(0)
-    lt rx83_pos, -1, rx83_done
-    eq rx83_pos, -1, rx83_fail
+    (rx84_rep, rx84_pos, $I10, $P10) = rx84_cur."!mark_fail"(0)
+    lt rx84_pos, -1, rx84_done
+    eq rx84_pos, -1, rx84_fail
     jump $I10
-  rx83_done:
-    rx83_cur."!cursor_fail"()
-    rx83_cur."!cursor_debug"("FAIL  ", "nibbler")
-    .return (rx83_cur)
+  rx84_done:
+    rx84_cur."!cursor_fail"()
+    rx84_cur."!cursor_debug"("FAIL  ", "nibbler")
+    .return (rx84_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__nibbler"  :subid("25_1275599996.35368") :method
+.sub "!PREFIX__nibbler"  :subid("25_1275811476.7961") :method
 .annotate 'line', 3
-    new $P85, "ResizablePMCArray"
-    push $P85, ""
-    .return ($P85)
+    new $P86, "ResizablePMCArray"
+    push $P86, ""
+    .return ($P86)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "termish"  :subid("26_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "termish"  :subid("26_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx95_tgt
-    .local int rx95_pos
-    .local int rx95_off
-    .local int rx95_eos
-    .local int rx95_rep
-    .local pmc rx95_cur
-    (rx95_cur, rx95_pos, rx95_tgt) = self."!cursor_start"()
-    rx95_cur."!cursor_debug"("START ", "termish")
-    rx95_cur."!cursor_caparray"("noun")
-    .lex unicode:"$\x{a2}", rx95_cur
+    .local string rx96_tgt
+    .local int rx96_pos
+    .local int rx96_off
+    .local int rx96_eos
+    .local int rx96_rep
+    .local pmc rx96_cur
+    (rx96_cur, rx96_pos, rx96_tgt) = self."!cursor_start"()
+    rx96_cur."!cursor_debug"("START ", "termish")
+    rx96_cur."!cursor_caparray"("noun")
+    .lex unicode:"$\x{a2}", rx96_cur
     .local pmc match
     .lex "$/", match
-    length rx95_eos, rx95_tgt
-    gt rx95_pos, rx95_eos, rx95_done
-    set rx95_off, 0
-    lt rx95_pos, 2, rx95_start
-    sub rx95_off, rx95_pos, 1
-    substr rx95_tgt, rx95_tgt, rx95_off
-  rx95_start:
+    length rx96_eos, rx96_tgt
+    gt rx96_pos, rx96_eos, rx96_done
+    set rx96_off, 0
+    lt rx96_pos, 2, rx96_start
+    sub rx96_off, rx96_pos, 1
+    substr rx96_tgt, rx96_tgt, rx96_off
+  rx96_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan98_done
-    goto rxscan98_scan
-  rxscan98_loop:
-    ($P10) = rx95_cur."from"()
+    ne $I10, -1, rxscan99_done
+    goto rxscan99_scan
+  rxscan99_loop:
+    ($P10) = rx96_cur."from"()
     inc $P10
-    set rx95_pos, $P10
-    ge rx95_pos, rx95_eos, rxscan98_done
-  rxscan98_scan:
-    set_addr $I10, rxscan98_loop
-    rx95_cur."!mark_push"(0, rx95_pos, $I10)
-  rxscan98_done:
+    set rx96_pos, $P10
+    ge rx96_pos, rx96_eos, rxscan99_done
+  rxscan99_scan:
+    set_addr $I10, rxscan99_loop
+    rx96_cur."!mark_push"(0, rx96_pos, $I10)
+  rxscan99_done:
 .annotate 'line', 37
-  # rx rxquantr99 ** 1..*
-    set_addr $I100, rxquantr99_done
-    rx95_cur."!mark_push"(0, -1, $I100)
-  rxquantr99_loop:
+  # rx rxquantr100 ** 1..*
+    set_addr $I101, rxquantr100_done
+    rx96_cur."!mark_push"(0, -1, $I101)
+  rxquantr100_loop:
   # rx subrule "quantified_atom" subtype=capture negate=
-    rx95_cur."!cursor_pos"(rx95_pos)
-    $P10 = rx95_cur."quantified_atom"()
-    unless $P10, rx95_fail
-    rx95_cur."!mark_push"(0, -1, 0, $P10)
+    rx96_cur."!cursor_pos"(rx96_pos)
+    $P10 = rx96_cur."quantified_atom"()
+    unless $P10, rx96_fail
+    rx96_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("noun")
-    rx95_pos = $P10."pos"()
-    (rx95_rep) = rx95_cur."!mark_commit"($I100)
-    rx95_cur."!mark_push"(rx95_rep, rx95_pos, $I100)
-    goto rxquantr99_loop
-  rxquantr99_done:
+    rx96_pos = $P10."pos"()
+    (rx96_rep) = rx96_cur."!mark_commit"($I101)
+    rx96_cur."!mark_push"(rx96_rep, rx96_pos, $I101)
+    goto rxquantr100_loop
+  rxquantr100_done:
 .annotate 'line', 36
   # rx pass
-    rx95_cur."!cursor_pass"(rx95_pos, "termish")
-    rx95_cur."!cursor_debug"("PASS  ", "termish", " at pos=", rx95_pos)
-    .return (rx95_cur)
-  rx95_fail:
+    rx96_cur."!cursor_pass"(rx96_pos, "termish")
+    rx96_cur."!cursor_debug"("PASS  ", "termish", " at pos=", rx96_pos)
+    .return (rx96_cur)
+  rx96_fail:
 .annotate 'line', 3
-    (rx95_rep, rx95_pos, $I10, $P10) = rx95_cur."!mark_fail"(0)
-    lt rx95_pos, -1, rx95_done
-    eq rx95_pos, -1, rx95_fail
+    (rx96_rep, rx96_pos, $I10, $P10) = rx96_cur."!mark_fail"(0)
+    lt rx96_pos, -1, rx96_done
+    eq rx96_pos, -1, rx96_fail
     jump $I10
-  rx95_done:
-    rx95_cur."!cursor_fail"()
-    rx95_cur."!cursor_debug"("FAIL  ", "termish")
-    .return (rx95_cur)
+  rx96_done:
+    rx96_cur."!cursor_fail"()
+    rx96_cur."!cursor_debug"("FAIL  ", "termish")
+    .return (rx96_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__termish"  :subid("27_1275599996.35368") :method
+.sub "!PREFIX__termish"  :subid("27_1275811476.7961") :method
 .annotate 'line', 3
-    new $P97, "ResizablePMCArray"
-    push $P97, ""
-    .return ($P97)
+    new $P98, "ResizablePMCArray"
+    push $P98, ""
+    .return ($P98)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantified_atom"  :subid("28_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "quantified_atom"  :subid("28_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .const 'Sub' $P110 = "30_1275599996.35368" 
-    capture_lex $P110
-    .local string rx102_tgt
-    .local int rx102_pos
-    .local int rx102_off
-    .local int rx102_eos
-    .local int rx102_rep
-    .local pmc rx102_cur
-    (rx102_cur, rx102_pos, rx102_tgt) = self."!cursor_start"()
-    rx102_cur."!cursor_debug"("START ", "quantified_atom")
-    rx102_cur."!cursor_caparray"("quantifier", "backmod")
-    .lex unicode:"$\x{a2}", rx102_cur
+    .const 'Sub' $P111 = "30_1275811476.7961" 
+    capture_lex $P111
+    .local string rx103_tgt
+    .local int rx103_pos
+    .local int rx103_off
+    .local int rx103_eos
+    .local int rx103_rep
+    .local pmc rx103_cur
+    (rx103_cur, rx103_pos, rx103_tgt) = self."!cursor_start"()
+    rx103_cur."!cursor_debug"("START ", "quantified_atom")
+    rx103_cur."!cursor_caparray"("quantifier", "backmod")
+    .lex unicode:"$\x{a2}", rx103_cur
     .local pmc match
     .lex "$/", match
-    length rx102_eos, rx102_tgt
-    gt rx102_pos, rx102_eos, rx102_done
-    set rx102_off, 0
-    lt rx102_pos, 2, rx102_start
-    sub rx102_off, rx102_pos, 1
-    substr rx102_tgt, rx102_tgt, rx102_off
-  rx102_start:
+    length rx103_eos, rx103_tgt
+    gt rx103_pos, rx103_eos, rx103_done
+    set rx103_off, 0
+    lt rx103_pos, 2, rx103_start
+    sub rx103_off, rx103_pos, 1
+    substr rx103_tgt, rx103_tgt, rx103_off
+  rx103_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan106_done
-    goto rxscan106_scan
-  rxscan106_loop:
-    ($P10) = rx102_cur."from"()
+    ne $I10, -1, rxscan107_done
+    goto rxscan107_scan
+  rxscan107_loop:
+    ($P10) = rx103_cur."from"()
     inc $P10
-    set rx102_pos, $P10
-    ge rx102_pos, rx102_eos, rxscan106_done
-  rxscan106_scan:
-    set_addr $I10, rxscan106_loop
-    rx102_cur."!mark_push"(0, rx102_pos, $I10)
-  rxscan106_done:
+    set rx103_pos, $P10
+    ge rx103_pos, rx103_eos, rxscan107_done
+  rxscan107_scan:
+    set_addr $I10, rxscan107_loop
+    rx103_cur."!mark_push"(0, rx103_pos, $I10)
+  rxscan107_done:
 .annotate 'line', 41
   # rx subrule "atom" subtype=capture negate=
-    rx102_cur."!cursor_pos"(rx102_pos)
-    $P10 = rx102_cur."atom"()
-    unless $P10, rx102_fail
-    rx102_cur."!mark_push"(0, -1, 0, $P10)
+    rx103_cur."!cursor_pos"(rx103_pos)
+    $P10 = rx103_cur."atom"()
+    unless $P10, rx103_fail
+    rx103_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("atom")
-    rx102_pos = $P10."pos"()
-  # rx rxquantr107 ** 0..1
-    set_addr $I113, rxquantr107_done
-    rx102_cur."!mark_push"(0, rx102_pos, $I113)
-  rxquantr107_loop:
+    rx103_pos = $P10."pos"()
+  # rx rxquantr108 ** 0..1
+    set_addr $I114, rxquantr108_done
+    rx103_cur."!mark_push"(0, rx103_pos, $I114)
+  rxquantr108_loop:
   # rx subrule "ws" subtype=method negate=
-    rx102_cur."!cursor_pos"(rx102_pos)
-    $P10 = rx102_cur."ws"()
-    unless $P10, rx102_fail
-    rx102_pos = $P10."pos"()
-  alt108_0:
-    set_addr $I10, alt108_1
-    rx102_cur."!mark_push"(0, rx102_pos, $I10)
+    rx103_cur."!cursor_pos"(rx103_pos)
+    $P10 = rx103_cur."ws"()
+    unless $P10, rx103_fail
+    rx103_pos = $P10."pos"()
+  alt109_0:
+    set_addr $I10, alt109_1
+    rx103_cur."!mark_push"(0, rx103_pos, $I10)
   # rx subrule "quantifier" subtype=capture negate=
-    rx102_cur."!cursor_pos"(rx102_pos)
-    $P10 = rx102_cur."quantifier"()
-    unless $P10, rx102_fail
-    rx102_cur."!mark_push"(0, -1, 0, $P10)
+    rx103_cur."!cursor_pos"(rx103_pos)
+    $P10 = rx103_cur."quantifier"()
+    unless $P10, rx103_fail
+    rx103_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quantifier")
-    rx102_pos = $P10."pos"()
-    goto alt108_end
-  alt108_1:
+    rx103_pos = $P10."pos"()
+    goto alt109_end
+  alt109_1:
   # rx subrule "before" subtype=zerowidth negate=
-    rx102_cur."!cursor_pos"(rx102_pos)
-    .const 'Sub' $P110 = "30_1275599996.35368" 
-    capture_lex $P110
-    $P10 = rx102_cur."before"($P110)
-    unless $P10, rx102_fail
+    rx103_cur."!cursor_pos"(rx103_pos)
+    .const 'Sub' $P111 = "30_1275811476.7961" 
+    capture_lex $P111
+    $P10 = rx103_cur."before"($P111)
+    unless $P10, rx103_fail
   # rx subrule "backmod" subtype=capture negate=
-    rx102_cur."!cursor_pos"(rx102_pos)
-    $P10 = rx102_cur."backmod"()
-    unless $P10, rx102_fail
-    rx102_cur."!mark_push"(0, -1, 0, $P10)
+    rx103_cur."!cursor_pos"(rx103_pos)
+    $P10 = rx103_cur."backmod"()
+    unless $P10, rx103_fail
+    rx103_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backmod")
-    rx102_pos = $P10."pos"()
+    rx103_pos = $P10."pos"()
   # rx subrule "alpha" subtype=zerowidth negate=1
-    rx102_cur."!cursor_pos"(rx102_pos)
-    $P10 = rx102_cur."alpha"()
-    if $P10, rx102_fail
-  alt108_end:
-    (rx102_rep) = rx102_cur."!mark_commit"($I113)
-  rxquantr107_done:
+    rx103_cur."!cursor_pos"(rx103_pos)
+    $P10 = rx103_cur."alpha"()
+    if $P10, rx103_fail
+  alt109_end:
+    (rx103_rep) = rx103_cur."!mark_commit"($I114)
+  rxquantr108_done:
 .annotate 'line', 40
   # rx pass
-    rx102_cur."!cursor_pass"(rx102_pos, "quantified_atom")
-    rx102_cur."!cursor_debug"("PASS  ", "quantified_atom", " at pos=", rx102_pos)
-    .return (rx102_cur)
-  rx102_fail:
+    rx103_cur."!cursor_pass"(rx103_pos, "quantified_atom")
+    rx103_cur."!cursor_debug"("PASS  ", "quantified_atom", " at pos=", rx103_pos)
+    .return (rx103_cur)
+  rx103_fail:
 .annotate 'line', 3
-    (rx102_rep, rx102_pos, $I10, $P10) = rx102_cur."!mark_fail"(0)
-    lt rx102_pos, -1, rx102_done
-    eq rx102_pos, -1, rx102_fail
+    (rx103_rep, rx103_pos, $I10, $P10) = rx103_cur."!mark_fail"(0)
+    lt rx103_pos, -1, rx103_done
+    eq rx103_pos, -1, rx103_fail
     jump $I10
-  rx102_done:
-    rx102_cur."!cursor_fail"()
-    rx102_cur."!cursor_debug"("FAIL  ", "quantified_atom")
-    .return (rx102_cur)
+  rx103_done:
+    rx103_cur."!cursor_fail"()
+    rx103_cur."!cursor_debug"("FAIL  ", "quantified_atom")
+    .return (rx103_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantified_atom"  :subid("29_1275599996.35368") :method
+.sub "!PREFIX__quantified_atom"  :subid("29_1275811476.7961") :method
 .annotate 'line', 3
-    $P104 = self."!PREFIX__!subrule"("atom", "")
-    new $P105, "ResizablePMCArray"
-    push $P105, $P104
-    .return ($P105)
+    $P105 = self."!PREFIX__!subrule"("atom", "")
+    new $P106, "ResizablePMCArray"
+    push $P106, $P105
+    .return ($P106)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block109"  :anon :subid("30_1275599996.35368") :method :outer("28_1275599996.35368")
+.sub "_block110"  :anon :subid("30_1275811476.7961") :method :outer("28_1275811476.7961")
 .annotate 'line', 41
-    .local string rx111_tgt
-    .local int rx111_pos
-    .local int rx111_off
-    .local int rx111_eos
-    .local int rx111_rep
-    .local pmc rx111_cur
-    (rx111_cur, rx111_pos, rx111_tgt) = self."!cursor_start"()
-    rx111_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx111_cur
-    .local pmc match
-    .lex "$/", match
-    length rx111_eos, rx111_tgt
-    gt rx111_pos, rx111_eos, rx111_done
-    set rx111_off, 0
-    lt rx111_pos, 2, rx111_start
-    sub rx111_off, rx111_pos, 1
-    substr rx111_tgt, rx111_tgt, rx111_off
-  rx111_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan112_done
-    goto rxscan112_scan
-  rxscan112_loop:
-    ($P10) = rx111_cur."from"()
-    inc $P10
-    set rx111_pos, $P10
-    ge rx111_pos, rx111_eos, rxscan112_done
-  rxscan112_scan:
-    set_addr $I10, rxscan112_loop
-    rx111_cur."!mark_push"(0, rx111_pos, $I10)
-  rxscan112_done:
+    .local string rx112_tgt
+    .local int rx112_pos
+    .local int rx112_off
+    .local int rx112_eos
+    .local int rx112_rep
+    .local pmc rx112_cur
+    (rx112_cur, rx112_pos, rx112_tgt) = self."!cursor_start"()
+    rx112_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx112_cur
+    .local pmc match
+    .lex "$/", match
+    length rx112_eos, rx112_tgt
+    gt rx112_pos, rx112_eos, rx112_done
+    set rx112_off, 0
+    lt rx112_pos, 2, rx112_start
+    sub rx112_off, rx112_pos, 1
+    substr rx112_tgt, rx112_tgt, rx112_off
+  rx112_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan113_done
+    goto rxscan113_scan
+  rxscan113_loop:
+    ($P10) = rx112_cur."from"()
+    inc $P10
+    set rx112_pos, $P10
+    ge rx112_pos, rx112_eos, rxscan113_done
+  rxscan113_scan:
+    set_addr $I10, rxscan113_loop
+    rx112_cur."!mark_push"(0, rx112_pos, $I10)
+  rxscan113_done:
   # rx literal  ":"
-    add $I11, rx111_pos, 1
-    gt $I11, rx111_eos, rx111_fail
-    sub $I11, rx111_pos, rx111_off
-    substr $S10, rx111_tgt, $I11, 1
-    ne $S10, ":", rx111_fail
-    add rx111_pos, 1
-  # rx pass
-    rx111_cur."!cursor_pass"(rx111_pos, "")
-    rx111_cur."!cursor_debug"("PASS  ", "", " at pos=", rx111_pos)
-    .return (rx111_cur)
-  rx111_fail:
-    (rx111_rep, rx111_pos, $I10, $P10) = rx111_cur."!mark_fail"(0)
-    lt rx111_pos, -1, rx111_done
-    eq rx111_pos, -1, rx111_fail
-    jump $I10
-  rx111_done:
-    rx111_cur."!cursor_fail"()
-    rx111_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx111_cur)
+    add $I11, rx112_pos, 1
+    gt $I11, rx112_eos, rx112_fail
+    sub $I11, rx112_pos, rx112_off
+    substr $S10, rx112_tgt, $I11, 1
+    ne $S10, ":", rx112_fail
+    add rx112_pos, 1
+  # rx pass
+    rx112_cur."!cursor_pass"(rx112_pos, "")
+    rx112_cur."!cursor_debug"("PASS  ", "", " at pos=", rx112_pos)
+    .return (rx112_cur)
+  rx112_fail:
+    (rx112_rep, rx112_pos, $I10, $P10) = rx112_cur."!mark_fail"(0)
+    lt rx112_pos, -1, rx112_done
+    eq rx112_pos, -1, rx112_fail
+    jump $I10
+  rx112_done:
+    rx112_cur."!cursor_fail"()
+    rx112_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx112_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "atom"  :subid("31_1275599996.35368") :method :outer("11_1275599996.35368")
-.annotate 'line', 3
-    .const 'Sub' $P125 = "33_1275599996.35368" 
-    capture_lex $P125
-    .local string rx115_tgt
-    .local int rx115_pos
-    .local int rx115_off
-    .local int rx115_eos
-    .local int rx115_rep
-    .local pmc rx115_cur
-    (rx115_cur, rx115_pos, rx115_tgt) = self."!cursor_start"()
-    rx115_cur."!cursor_debug"("START ", "atom")
-    .lex unicode:"$\x{a2}", rx115_cur
-    .local pmc match
-    .lex "$/", match
-    length rx115_eos, rx115_tgt
-    gt rx115_pos, rx115_eos, rx115_done
-    set rx115_off, 0
-    lt rx115_pos, 2, rx115_start
-    sub rx115_off, rx115_pos, 1
-    substr rx115_tgt, rx115_tgt, rx115_off
-  rx115_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan119_done
-    goto rxscan119_scan
-  rxscan119_loop:
-    ($P10) = rx115_cur."from"()
-    inc $P10
-    set rx115_pos, $P10
-    ge rx115_pos, rx115_eos, rxscan119_done
-  rxscan119_scan:
-    set_addr $I10, rxscan119_loop
-    rx115_cur."!mark_push"(0, rx115_pos, $I10)
-  rxscan119_done:
-  alt120_0:
+.sub "atom"  :subid("31_1275811476.7961") :method :outer("11_1275811476.7961")
+.annotate 'line', 3
+    .const 'Sub' $P126 = "33_1275811476.7961" 
+    capture_lex $P126
+    .local string rx116_tgt
+    .local int rx116_pos
+    .local int rx116_off
+    .local int rx116_eos
+    .local int rx116_rep
+    .local pmc rx116_cur
+    (rx116_cur, rx116_pos, rx116_tgt) = self."!cursor_start"()
+    rx116_cur."!cursor_debug"("START ", "atom")
+    .lex unicode:"$\x{a2}", rx116_cur
+    .local pmc match
+    .lex "$/", match
+    length rx116_eos, rx116_tgt
+    gt rx116_pos, rx116_eos, rx116_done
+    set rx116_off, 0
+    lt rx116_pos, 2, rx116_start
+    sub rx116_off, rx116_pos, 1
+    substr rx116_tgt, rx116_tgt, rx116_off
+  rx116_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan120_done
+    goto rxscan120_scan
+  rxscan120_loop:
+    ($P10) = rx116_cur."from"()
+    inc $P10
+    set rx116_pos, $P10
+    ge rx116_pos, rx116_eos, rxscan120_done
+  rxscan120_scan:
+    set_addr $I10, rxscan120_loop
+    rx116_cur."!mark_push"(0, rx116_pos, $I10)
+  rxscan120_done:
+  alt121_0:
 .annotate 'line', 46
-    set_addr $I10, alt120_1
-    rx115_cur."!mark_push"(0, rx115_pos, $I10)
+    set_addr $I10, alt121_1
+    rx116_cur."!mark_push"(0, rx116_pos, $I10)
 .annotate 'line', 47
   # rx charclass w
-    ge rx115_pos, rx115_eos, rx115_fail
-    sub $I10, rx115_pos, rx115_off
-    is_cclass $I11, 8192, rx115_tgt, $I10
-    unless $I11, rx115_fail
-    inc rx115_pos
-  # rx rxquantr121 ** 0..1
-    set_addr $I128, rxquantr121_done
-    rx115_cur."!mark_push"(0, rx115_pos, $I128)
-  rxquantr121_loop:
-  # rx rxquantg122 ** 1..*
-    set_addr $I123, rxquantg122_done
-  rxquantg122_loop:
+    ge rx116_pos, rx116_eos, rx116_fail
+    sub $I10, rx116_pos, rx116_off
+    is_cclass $I11, 8192, rx116_tgt, $I10
+    unless $I11, rx116_fail
+    inc rx116_pos
+  # rx rxquantr122 ** 0..1
+    set_addr $I129, rxquantr122_done
+    rx116_cur."!mark_push"(0, rx116_pos, $I129)
+  rxquantr122_loop:
+  # rx rxquantg123 ** 1..*
+    set_addr $I124, rxquantg123_done
+  rxquantg123_loop:
   # rx charclass w
-    ge rx115_pos, rx115_eos, rx115_fail
-    sub $I10, rx115_pos, rx115_off
-    is_cclass $I11, 8192, rx115_tgt, $I10
-    unless $I11, rx115_fail
-    inc rx115_pos
-    rx115_cur."!mark_push"(rx115_rep, rx115_pos, $I123)
-    goto rxquantg122_loop
-  rxquantg122_done:
+    ge rx116_pos, rx116_eos, rx116_fail
+    sub $I10, rx116_pos, rx116_off
+    is_cclass $I11, 8192, rx116_tgt, $I10
+    unless $I11, rx116_fail
+    inc rx116_pos
+    rx116_cur."!mark_push"(rx116_rep, rx116_pos, $I124)
+    goto rxquantg123_loop
+  rxquantg123_done:
   # rx subrule "before" subtype=zerowidth negate=
-    rx115_cur."!cursor_pos"(rx115_pos)
-    .const 'Sub' $P125 = "33_1275599996.35368" 
-    capture_lex $P125
-    $P10 = rx115_cur."before"($P125)
-    unless $P10, rx115_fail
-    (rx115_rep) = rx115_cur."!mark_commit"($I128)
-  rxquantr121_done:
-    goto alt120_end
-  alt120_1:
+    rx116_cur."!cursor_pos"(rx116_pos)
+    .const 'Sub' $P126 = "33_1275811476.7961" 
+    capture_lex $P126
+    $P10 = rx116_cur."before"($P126)
+    unless $P10, rx116_fail
+    (rx116_rep) = rx116_cur."!mark_commit"($I129)
+  rxquantr122_done:
+    goto alt121_end
+  alt121_1:
 .annotate 'line', 48
   # rx subrule "metachar" subtype=capture negate=
-    rx115_cur."!cursor_pos"(rx115_pos)
-    $P10 = rx115_cur."metachar"()
-    unless $P10, rx115_fail
-    rx115_cur."!mark_push"(0, -1, 0, $P10)
+    rx116_cur."!cursor_pos"(rx116_pos)
+    $P10 = rx116_cur."metachar"()
+    unless $P10, rx116_fail
+    rx116_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("metachar")
-    rx115_pos = $P10."pos"()
-  alt120_end:
+    rx116_pos = $P10."pos"()
+  alt121_end:
 .annotate 'line', 44
   # rx pass
-    rx115_cur."!cursor_pass"(rx115_pos, "atom")
-    rx115_cur."!cursor_debug"("PASS  ", "atom", " at pos=", rx115_pos)
-    .return (rx115_cur)
-  rx115_fail:
+    rx116_cur."!cursor_pass"(rx116_pos, "atom")
+    rx116_cur."!cursor_debug"("PASS  ", "atom", " at pos=", rx116_pos)
+    .return (rx116_cur)
+  rx116_fail:
 .annotate 'line', 3
-    (rx115_rep, rx115_pos, $I10, $P10) = rx115_cur."!mark_fail"(0)
-    lt rx115_pos, -1, rx115_done
-    eq rx115_pos, -1, rx115_fail
+    (rx116_rep, rx116_pos, $I10, $P10) = rx116_cur."!mark_fail"(0)
+    lt rx116_pos, -1, rx116_done
+    eq rx116_pos, -1, rx116_fail
     jump $I10
-  rx115_done:
-    rx115_cur."!cursor_fail"()
-    rx115_cur."!cursor_debug"("FAIL  ", "atom")
-    .return (rx115_cur)
+  rx116_done:
+    rx116_cur."!cursor_fail"()
+    rx116_cur."!cursor_debug"("FAIL  ", "atom")
+    .return (rx116_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__atom"  :subid("32_1275599996.35368") :method
+.sub "!PREFIX__atom"  :subid("32_1275811476.7961") :method
 .annotate 'line', 3
-    $P117 = self."!PREFIX__!subrule"("metachar", "")
-    new $P118, "ResizablePMCArray"
-    push $P118, $P117
-    push $P118, ""
-    .return ($P118)
+    $P118 = self."!PREFIX__!subrule"("metachar", "")
+    new $P119, "ResizablePMCArray"
+    push $P119, $P118
+    push $P119, ""
+    .return ($P119)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block124"  :anon :subid("33_1275599996.35368") :method :outer("31_1275599996.35368")
+.sub "_block125"  :anon :subid("33_1275811476.7961") :method :outer("31_1275811476.7961")
 .annotate 'line', 47
-    .local string rx126_tgt
-    .local int rx126_pos
-    .local int rx126_off
-    .local int rx126_eos
-    .local int rx126_rep
-    .local pmc rx126_cur
-    (rx126_cur, rx126_pos, rx126_tgt) = self."!cursor_start"()
-    rx126_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx126_cur
-    .local pmc match
-    .lex "$/", match
-    length rx126_eos, rx126_tgt
-    gt rx126_pos, rx126_eos, rx126_done
-    set rx126_off, 0
-    lt rx126_pos, 2, rx126_start
-    sub rx126_off, rx126_pos, 1
-    substr rx126_tgt, rx126_tgt, rx126_off
-  rx126_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan127_done
-    goto rxscan127_scan
-  rxscan127_loop:
-    ($P10) = rx126_cur."from"()
-    inc $P10
-    set rx126_pos, $P10
-    ge rx126_pos, rx126_eos, rxscan127_done
-  rxscan127_scan:
-    set_addr $I10, rxscan127_loop
-    rx126_cur."!mark_push"(0, rx126_pos, $I10)
-  rxscan127_done:
+    .local string rx127_tgt
+    .local int rx127_pos
+    .local int rx127_off
+    .local int rx127_eos
+    .local int rx127_rep
+    .local pmc rx127_cur
+    (rx127_cur, rx127_pos, rx127_tgt) = self."!cursor_start"()
+    rx127_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx127_cur
+    .local pmc match
+    .lex "$/", match
+    length rx127_eos, rx127_tgt
+    gt rx127_pos, rx127_eos, rx127_done
+    set rx127_off, 0
+    lt rx127_pos, 2, rx127_start
+    sub rx127_off, rx127_pos, 1
+    substr rx127_tgt, rx127_tgt, rx127_off
+  rx127_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan128_done
+    goto rxscan128_scan
+  rxscan128_loop:
+    ($P10) = rx127_cur."from"()
+    inc $P10
+    set rx127_pos, $P10
+    ge rx127_pos, rx127_eos, rxscan128_done
+  rxscan128_scan:
+    set_addr $I10, rxscan128_loop
+    rx127_cur."!mark_push"(0, rx127_pos, $I10)
+  rxscan128_done:
   # rx charclass w
-    ge rx126_pos, rx126_eos, rx126_fail
-    sub $I10, rx126_pos, rx126_off
-    is_cclass $I11, 8192, rx126_tgt, $I10
-    unless $I11, rx126_fail
-    inc rx126_pos
+    ge rx127_pos, rx127_eos, rx127_fail
+    sub $I10, rx127_pos, rx127_off
+    is_cclass $I11, 8192, rx127_tgt, $I10
+    unless $I11, rx127_fail
+    inc rx127_pos
   # rx pass
-    rx126_cur."!cursor_pass"(rx126_pos, "")
-    rx126_cur."!cursor_debug"("PASS  ", "", " at pos=", rx126_pos)
-    .return (rx126_cur)
-  rx126_fail:
-    (rx126_rep, rx126_pos, $I10, $P10) = rx126_cur."!mark_fail"(0)
-    lt rx126_pos, -1, rx126_done
-    eq rx126_pos, -1, rx126_fail
+    rx127_cur."!cursor_pass"(rx127_pos, "")
+    rx127_cur."!cursor_debug"("PASS  ", "", " at pos=", rx127_pos)
+    .return (rx127_cur)
+  rx127_fail:
+    (rx127_rep, rx127_pos, $I10, $P10) = rx127_cur."!mark_fail"(0)
+    lt rx127_pos, -1, rx127_done
+    eq rx127_pos, -1, rx127_fail
     jump $I10
-  rx126_done:
-    rx126_cur."!cursor_fail"()
-    rx126_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx126_cur)
+  rx127_done:
+    rx127_cur."!cursor_fail"()
+    rx127_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx127_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier"  :subid("34_1275599996.35368") :method
+.sub "quantifier"  :subid("34_1275811476.7961") :method
 .annotate 'line', 52
-    $P130 = self."!protoregex"("quantifier")
-    .return ($P130)
+    $P131 = self."!protoregex"("quantifier")
+    .return ($P131)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier"  :subid("35_1275599996.35368") :method
+.sub "!PREFIX__quantifier"  :subid("35_1275811476.7961") :method
 .annotate 'line', 52
-    $P132 = self."!PREFIX__!protoregex"("quantifier")
-    .return ($P132)
+    $P133 = self."!PREFIX__!protoregex"("quantifier")
+    .return ($P133)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<*>"  :subid("36_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "quantifier:sym<*>"  :subid("36_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx134_tgt
-    .local int rx134_pos
-    .local int rx134_off
-    .local int rx134_eos
-    .local int rx134_rep
-    .local pmc rx134_cur
-    (rx134_cur, rx134_pos, rx134_tgt) = self."!cursor_start"()
-    rx134_cur."!cursor_debug"("START ", "quantifier:sym<*>")
-    .lex unicode:"$\x{a2}", rx134_cur
-    .local pmc match
-    .lex "$/", match
-    length rx134_eos, rx134_tgt
-    gt rx134_pos, rx134_eos, rx134_done
-    set rx134_off, 0
-    lt rx134_pos, 2, rx134_start
-    sub rx134_off, rx134_pos, 1
-    substr rx134_tgt, rx134_tgt, rx134_off
-  rx134_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan138_done
-    goto rxscan138_scan
-  rxscan138_loop:
-    ($P10) = rx134_cur."from"()
-    inc $P10
-    set rx134_pos, $P10
-    ge rx134_pos, rx134_eos, rxscan138_done
-  rxscan138_scan:
-    set_addr $I10, rxscan138_loop
-    rx134_cur."!mark_push"(0, rx134_pos, $I10)
-  rxscan138_done:
+    .local string rx135_tgt
+    .local int rx135_pos
+    .local int rx135_off
+    .local int rx135_eos
+    .local int rx135_rep
+    .local pmc rx135_cur
+    (rx135_cur, rx135_pos, rx135_tgt) = self."!cursor_start"()
+    rx135_cur."!cursor_debug"("START ", "quantifier:sym<*>")
+    .lex unicode:"$\x{a2}", rx135_cur
+    .local pmc match
+    .lex "$/", match
+    length rx135_eos, rx135_tgt
+    gt rx135_pos, rx135_eos, rx135_done
+    set rx135_off, 0
+    lt rx135_pos, 2, rx135_start
+    sub rx135_off, rx135_pos, 1
+    substr rx135_tgt, rx135_tgt, rx135_off
+  rx135_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan139_done
+    goto rxscan139_scan
+  rxscan139_loop:
+    ($P10) = rx135_cur."from"()
+    inc $P10
+    set rx135_pos, $P10
+    ge rx135_pos, rx135_eos, rxscan139_done
+  rxscan139_scan:
+    set_addr $I10, rxscan139_loop
+    rx135_cur."!mark_push"(0, rx135_pos, $I10)
+  rxscan139_done:
 .annotate 'line', 53
   # rx subcapture "sym"
-    set_addr $I10, rxcap_139_fail
-    rx134_cur."!mark_push"(0, rx134_pos, $I10)
+    set_addr $I10, rxcap_140_fail
+    rx135_cur."!mark_push"(0, rx135_pos, $I10)
   # rx literal  "*"
-    add $I11, rx134_pos, 1
-    gt $I11, rx134_eos, rx134_fail
-    sub $I11, rx134_pos, rx134_off
-    substr $S10, rx134_tgt, $I11, 1
-    ne $S10, "*", rx134_fail
-    add rx134_pos, 1
-    set_addr $I10, rxcap_139_fail
-    ($I12, $I11) = rx134_cur."!mark_peek"($I10)
-    rx134_cur."!cursor_pos"($I11)
-    ($P10) = rx134_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx134_pos, "")
-    rx134_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx135_pos, 1
+    gt $I11, rx135_eos, rx135_fail
+    sub $I11, rx135_pos, rx135_off
+    substr $S10, rx135_tgt, $I11, 1
+    ne $S10, "*", rx135_fail
+    add rx135_pos, 1
+    set_addr $I10, rxcap_140_fail
+    ($I12, $I11) = rx135_cur."!mark_peek"($I10)
+    rx135_cur."!cursor_pos"($I11)
+    ($P10) = rx135_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx135_pos, "")
+    rx135_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_139_done
-  rxcap_139_fail:
-    goto rx134_fail
-  rxcap_139_done:
+    goto rxcap_140_done
+  rxcap_140_fail:
+    goto rx135_fail
+  rxcap_140_done:
   # rx subrule "backmod" subtype=capture negate=
-    rx134_cur."!cursor_pos"(rx134_pos)
-    $P10 = rx134_cur."backmod"()
-    unless $P10, rx134_fail
-    rx134_cur."!mark_push"(0, -1, 0, $P10)
+    rx135_cur."!cursor_pos"(rx135_pos)
+    $P10 = rx135_cur."backmod"()
+    unless $P10, rx135_fail
+    rx135_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backmod")
-    rx134_pos = $P10."pos"()
+    rx135_pos = $P10."pos"()
   # rx pass
-    rx134_cur."!cursor_pass"(rx134_pos, "quantifier:sym<*>")
-    rx134_cur."!cursor_debug"("PASS  ", "quantifier:sym<*>", " at pos=", rx134_pos)
-    .return (rx134_cur)
-  rx134_fail:
+    rx135_cur."!cursor_pass"(rx135_pos, "quantifier:sym<*>")
+    rx135_cur."!cursor_debug"("PASS  ", "quantifier:sym<*>", " at pos=", rx135_pos)
+    .return (rx135_cur)
+  rx135_fail:
 .annotate 'line', 3
-    (rx134_rep, rx134_pos, $I10, $P10) = rx134_cur."!mark_fail"(0)
-    lt rx134_pos, -1, rx134_done
-    eq rx134_pos, -1, rx134_fail
+    (rx135_rep, rx135_pos, $I10, $P10) = rx135_cur."!mark_fail"(0)
+    lt rx135_pos, -1, rx135_done
+    eq rx135_pos, -1, rx135_fail
     jump $I10
-  rx134_done:
-    rx134_cur."!cursor_fail"()
-    rx134_cur."!cursor_debug"("FAIL  ", "quantifier:sym<*>")
-    .return (rx134_cur)
+  rx135_done:
+    rx135_cur."!cursor_fail"()
+    rx135_cur."!cursor_debug"("FAIL  ", "quantifier:sym<*>")
+    .return (rx135_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<*>"  :subid("37_1275599996.35368") :method
+.sub "!PREFIX__quantifier:sym<*>"  :subid("37_1275811476.7961") :method
 .annotate 'line', 3
-    $P136 = self."!PREFIX__!subrule"("backmod", "*")
-    new $P137, "ResizablePMCArray"
-    push $P137, $P136
-    .return ($P137)
+    $P137 = self."!PREFIX__!subrule"("backmod", "*")
+    new $P138, "ResizablePMCArray"
+    push $P138, $P137
+    .return ($P138)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<+>"  :subid("38_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "quantifier:sym<+>"  :subid("38_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx141_tgt
-    .local int rx141_pos
-    .local int rx141_off
-    .local int rx141_eos
-    .local int rx141_rep
-    .local pmc rx141_cur
-    (rx141_cur, rx141_pos, rx141_tgt) = self."!cursor_start"()
-    rx141_cur."!cursor_debug"("START ", "quantifier:sym<+>")
-    .lex unicode:"$\x{a2}", rx141_cur
+    .local string rx142_tgt
+    .local int rx142_pos
+    .local int rx142_off
+    .local int rx142_eos
+    .local int rx142_rep
+    .local pmc rx142_cur
+    (rx142_cur, rx142_pos, rx142_tgt) = self."!cursor_start"()
+    rx142_cur."!cursor_debug"("START ", "quantifier:sym<+>")
+    .lex unicode:"$\x{a2}", rx142_cur
     .local pmc match
     .lex "$/", match
-    length rx141_eos, rx141_tgt
-    gt rx141_pos, rx141_eos, rx141_done
-    set rx141_off, 0
-    lt rx141_pos, 2, rx141_start
-    sub rx141_off, rx141_pos, 1
-    substr rx141_tgt, rx141_tgt, rx141_off
-  rx141_start:
+    length rx142_eos, rx142_tgt
+    gt rx142_pos, rx142_eos, rx142_done
+    set rx142_off, 0
+    lt rx142_pos, 2, rx142_start
+    sub rx142_off, rx142_pos, 1
+    substr rx142_tgt, rx142_tgt, rx142_off
+  rx142_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan145_done
-    goto rxscan145_scan
-  rxscan145_loop:
-    ($P10) = rx141_cur."from"()
+    ne $I10, -1, rxscan146_done
+    goto rxscan146_scan
+  rxscan146_loop:
+    ($P10) = rx142_cur."from"()
     inc $P10
-    set rx141_pos, $P10
-    ge rx141_pos, rx141_eos, rxscan145_done
-  rxscan145_scan:
-    set_addr $I10, rxscan145_loop
-    rx141_cur."!mark_push"(0, rx141_pos, $I10)
-  rxscan145_done:
+    set rx142_pos, $P10
+    ge rx142_pos, rx142_eos, rxscan146_done
+  rxscan146_scan:
+    set_addr $I10, rxscan146_loop
+    rx142_cur."!mark_push"(0, rx142_pos, $I10)
+  rxscan146_done:
 .annotate 'line', 54
   # rx subcapture "sym"
-    set_addr $I10, rxcap_146_fail
-    rx141_cur."!mark_push"(0, rx141_pos, $I10)
+    set_addr $I10, rxcap_147_fail
+    rx142_cur."!mark_push"(0, rx142_pos, $I10)
   # rx literal  "+"
-    add $I11, rx141_pos, 1
-    gt $I11, rx141_eos, rx141_fail
-    sub $I11, rx141_pos, rx141_off
-    substr $S10, rx141_tgt, $I11, 1
-    ne $S10, "+", rx141_fail
-    add rx141_pos, 1
-    set_addr $I10, rxcap_146_fail
-    ($I12, $I11) = rx141_cur."!mark_peek"($I10)
-    rx141_cur."!cursor_pos"($I11)
-    ($P10) = rx141_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx141_pos, "")
-    rx141_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx142_pos, 1
+    gt $I11, rx142_eos, rx142_fail
+    sub $I11, rx142_pos, rx142_off
+    substr $S10, rx142_tgt, $I11, 1
+    ne $S10, "+", rx142_fail
+    add rx142_pos, 1
+    set_addr $I10, rxcap_147_fail
+    ($I12, $I11) = rx142_cur."!mark_peek"($I10)
+    rx142_cur."!cursor_pos"($I11)
+    ($P10) = rx142_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx142_pos, "")
+    rx142_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_146_done
-  rxcap_146_fail:
-    goto rx141_fail
-  rxcap_146_done:
+    goto rxcap_147_done
+  rxcap_147_fail:
+    goto rx142_fail
+  rxcap_147_done:
   # rx subrule "backmod" subtype=capture negate=
-    rx141_cur."!cursor_pos"(rx141_pos)
-    $P10 = rx141_cur."backmod"()
-    unless $P10, rx141_fail
-    rx141_cur."!mark_push"(0, -1, 0, $P10)
+    rx142_cur."!cursor_pos"(rx142_pos)
+    $P10 = rx142_cur."backmod"()
+    unless $P10, rx142_fail
+    rx142_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backmod")
-    rx141_pos = $P10."pos"()
+    rx142_pos = $P10."pos"()
   # rx pass
-    rx141_cur."!cursor_pass"(rx141_pos, "quantifier:sym<+>")
-    rx141_cur."!cursor_debug"("PASS  ", "quantifier:sym<+>", " at pos=", rx141_pos)
-    .return (rx141_cur)
-  rx141_fail:
+    rx142_cur."!cursor_pass"(rx142_pos, "quantifier:sym<+>")
+    rx142_cur."!cursor_debug"("PASS  ", "quantifier:sym<+>", " at pos=", rx142_pos)
+    .return (rx142_cur)
+  rx142_fail:
 .annotate 'line', 3
-    (rx141_rep, rx141_pos, $I10, $P10) = rx141_cur."!mark_fail"(0)
-    lt rx141_pos, -1, rx141_done
-    eq rx141_pos, -1, rx141_fail
+    (rx142_rep, rx142_pos, $I10, $P10) = rx142_cur."!mark_fail"(0)
+    lt rx142_pos, -1, rx142_done
+    eq rx142_pos, -1, rx142_fail
     jump $I10
-  rx141_done:
-    rx141_cur."!cursor_fail"()
-    rx141_cur."!cursor_debug"("FAIL  ", "quantifier:sym<+>")
-    .return (rx141_cur)
+  rx142_done:
+    rx142_cur."!cursor_fail"()
+    rx142_cur."!cursor_debug"("FAIL  ", "quantifier:sym<+>")
+    .return (rx142_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<+>"  :subid("39_1275599996.35368") :method
+.sub "!PREFIX__quantifier:sym<+>"  :subid("39_1275811476.7961") :method
 .annotate 'line', 3
-    $P143 = self."!PREFIX__!subrule"("backmod", "+")
-    new $P144, "ResizablePMCArray"
-    push $P144, $P143
-    .return ($P144)
+    $P144 = self."!PREFIX__!subrule"("backmod", "+")
+    new $P145, "ResizablePMCArray"
+    push $P145, $P144
+    .return ($P145)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<?>"  :subid("40_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "quantifier:sym<?>"  :subid("40_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx148_tgt
-    .local int rx148_pos
-    .local int rx148_off
-    .local int rx148_eos
-    .local int rx148_rep
-    .local pmc rx148_cur
-    (rx148_cur, rx148_pos, rx148_tgt) = self."!cursor_start"()
-    rx148_cur."!cursor_debug"("START ", "quantifier:sym<?>")
-    .lex unicode:"$\x{a2}", rx148_cur
+    .local string rx149_tgt
+    .local int rx149_pos
+    .local int rx149_off
+    .local int rx149_eos
+    .local int rx149_rep
+    .local pmc rx149_cur
+    (rx149_cur, rx149_pos, rx149_tgt) = self."!cursor_start"()
+    rx149_cur."!cursor_debug"("START ", "quantifier:sym<?>")
+    .lex unicode:"$\x{a2}", rx149_cur
     .local pmc match
     .lex "$/", match
-    length rx148_eos, rx148_tgt
-    gt rx148_pos, rx148_eos, rx148_done
-    set rx148_off, 0
-    lt rx148_pos, 2, rx148_start
-    sub rx148_off, rx148_pos, 1
-    substr rx148_tgt, rx148_tgt, rx148_off
-  rx148_start:
+    length rx149_eos, rx149_tgt
+    gt rx149_pos, rx149_eos, rx149_done
+    set rx149_off, 0
+    lt rx149_pos, 2, rx149_start
+    sub rx149_off, rx149_pos, 1
+    substr rx149_tgt, rx149_tgt, rx149_off
+  rx149_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan152_done
-    goto rxscan152_scan
-  rxscan152_loop:
-    ($P10) = rx148_cur."from"()
+    ne $I10, -1, rxscan153_done
+    goto rxscan153_scan
+  rxscan153_loop:
+    ($P10) = rx149_cur."from"()
     inc $P10
-    set rx148_pos, $P10
-    ge rx148_pos, rx148_eos, rxscan152_done
-  rxscan152_scan:
-    set_addr $I10, rxscan152_loop
-    rx148_cur."!mark_push"(0, rx148_pos, $I10)
-  rxscan152_done:
+    set rx149_pos, $P10
+    ge rx149_pos, rx149_eos, rxscan153_done
+  rxscan153_scan:
+    set_addr $I10, rxscan153_loop
+    rx149_cur."!mark_push"(0, rx149_pos, $I10)
+  rxscan153_done:
 .annotate 'line', 55
   # rx subcapture "sym"
-    set_addr $I10, rxcap_153_fail
-    rx148_cur."!mark_push"(0, rx148_pos, $I10)
+    set_addr $I10, rxcap_154_fail
+    rx149_cur."!mark_push"(0, rx149_pos, $I10)
   # rx literal  "?"
-    add $I11, rx148_pos, 1
-    gt $I11, rx148_eos, rx148_fail
-    sub $I11, rx148_pos, rx148_off
-    substr $S10, rx148_tgt, $I11, 1
-    ne $S10, "?", rx148_fail
-    add rx148_pos, 1
-    set_addr $I10, rxcap_153_fail
-    ($I12, $I11) = rx148_cur."!mark_peek"($I10)
-    rx148_cur."!cursor_pos"($I11)
-    ($P10) = rx148_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx148_pos, "")
-    rx148_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx149_pos, 1
+    gt $I11, rx149_eos, rx149_fail
+    sub $I11, rx149_pos, rx149_off
+    substr $S10, rx149_tgt, $I11, 1
+    ne $S10, "?", rx149_fail
+    add rx149_pos, 1
+    set_addr $I10, rxcap_154_fail
+    ($I12, $I11) = rx149_cur."!mark_peek"($I10)
+    rx149_cur."!cursor_pos"($I11)
+    ($P10) = rx149_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx149_pos, "")
+    rx149_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_153_done
-  rxcap_153_fail:
-    goto rx148_fail
-  rxcap_153_done:
+    goto rxcap_154_done
+  rxcap_154_fail:
+    goto rx149_fail
+  rxcap_154_done:
   # rx subrule "backmod" subtype=capture negate=
-    rx148_cur."!cursor_pos"(rx148_pos)
-    $P10 = rx148_cur."backmod"()
-    unless $P10, rx148_fail
-    rx148_cur."!mark_push"(0, -1, 0, $P10)
+    rx149_cur."!cursor_pos"(rx149_pos)
+    $P10 = rx149_cur."backmod"()
+    unless $P10, rx149_fail
+    rx149_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backmod")
-    rx148_pos = $P10."pos"()
+    rx149_pos = $P10."pos"()
   # rx pass
-    rx148_cur."!cursor_pass"(rx148_pos, "quantifier:sym<?>")
-    rx148_cur."!cursor_debug"("PASS  ", "quantifier:sym<?>", " at pos=", rx148_pos)
-    .return (rx148_cur)
-  rx148_fail:
+    rx149_cur."!cursor_pass"(rx149_pos, "quantifier:sym<?>")
+    rx149_cur."!cursor_debug"("PASS  ", "quantifier:sym<?>", " at pos=", rx149_pos)
+    .return (rx149_cur)
+  rx149_fail:
 .annotate 'line', 3
-    (rx148_rep, rx148_pos, $I10, $P10) = rx148_cur."!mark_fail"(0)
-    lt rx148_pos, -1, rx148_done
-    eq rx148_pos, -1, rx148_fail
+    (rx149_rep, rx149_pos, $I10, $P10) = rx149_cur."!mark_fail"(0)
+    lt rx149_pos, -1, rx149_done
+    eq rx149_pos, -1, rx149_fail
     jump $I10
-  rx148_done:
-    rx148_cur."!cursor_fail"()
-    rx148_cur."!cursor_debug"("FAIL  ", "quantifier:sym<?>")
-    .return (rx148_cur)
+  rx149_done:
+    rx149_cur."!cursor_fail"()
+    rx149_cur."!cursor_debug"("FAIL  ", "quantifier:sym<?>")
+    .return (rx149_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<?>"  :subid("41_1275599996.35368") :method
+.sub "!PREFIX__quantifier:sym<?>"  :subid("41_1275811476.7961") :method
 .annotate 'line', 3
-    $P150 = self."!PREFIX__!subrule"("backmod", "?")
-    new $P151, "ResizablePMCArray"
-    push $P151, $P150
-    .return ($P151)
+    $P151 = self."!PREFIX__!subrule"("backmod", "?")
+    new $P152, "ResizablePMCArray"
+    push $P152, $P151
+    .return ($P152)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<**>"  :subid("42_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "quantifier:sym<**>"  :subid("42_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx155_tgt
-    .local int rx155_pos
-    .local int rx155_off
-    .local int rx155_eos
-    .local int rx155_rep
-    .local pmc rx155_cur
-    (rx155_cur, rx155_pos, rx155_tgt) = self."!cursor_start"()
-    rx155_cur."!cursor_debug"("START ", "quantifier:sym<**>")
-    rx155_cur."!cursor_caparray"("max", "normspace")
-    .lex unicode:"$\x{a2}", rx155_cur
+    .local string rx156_tgt
+    .local int rx156_pos
+    .local int rx156_off
+    .local int rx156_eos
+    .local int rx156_rep
+    .local pmc rx156_cur
+    (rx156_cur, rx156_pos, rx156_tgt) = self."!cursor_start"()
+    rx156_cur."!cursor_debug"("START ", "quantifier:sym<**>")
+    rx156_cur."!cursor_caparray"("max", "normspace")
+    .lex unicode:"$\x{a2}", rx156_cur
     .local pmc match
     .lex "$/", match
-    length rx155_eos, rx155_tgt
-    gt rx155_pos, rx155_eos, rx155_done
-    set rx155_off, 0
-    lt rx155_pos, 2, rx155_start
-    sub rx155_off, rx155_pos, 1
-    substr rx155_tgt, rx155_tgt, rx155_off
-  rx155_start:
+    length rx156_eos, rx156_tgt
+    gt rx156_pos, rx156_eos, rx156_done
+    set rx156_off, 0
+    lt rx156_pos, 2, rx156_start
+    sub rx156_off, rx156_pos, 1
+    substr rx156_tgt, rx156_tgt, rx156_off
+  rx156_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan158_done
-    goto rxscan158_scan
-  rxscan158_loop:
-    ($P10) = rx155_cur."from"()
+    ne $I10, -1, rxscan159_done
+    goto rxscan159_scan
+  rxscan159_loop:
+    ($P10) = rx156_cur."from"()
     inc $P10
-    set rx155_pos, $P10
-    ge rx155_pos, rx155_eos, rxscan158_done
-  rxscan158_scan:
-    set_addr $I10, rxscan158_loop
-    rx155_cur."!mark_push"(0, rx155_pos, $I10)
-  rxscan158_done:
+    set rx156_pos, $P10
+    ge rx156_pos, rx156_eos, rxscan159_done
+  rxscan159_scan:
+    set_addr $I10, rxscan159_loop
+    rx156_cur."!mark_push"(0, rx156_pos, $I10)
+  rxscan159_done:
 .annotate 'line', 57
   # rx subcapture "sym"
-    set_addr $I10, rxcap_159_fail
-    rx155_cur."!mark_push"(0, rx155_pos, $I10)
+    set_addr $I10, rxcap_160_fail
+    rx156_cur."!mark_push"(0, rx156_pos, $I10)
   # rx literal  "**"
-    add $I11, rx155_pos, 2
-    gt $I11, rx155_eos, rx155_fail
-    sub $I11, rx155_pos, rx155_off
-    substr $S10, rx155_tgt, $I11, 2
-    ne $S10, "**", rx155_fail
-    add rx155_pos, 2
-    set_addr $I10, rxcap_159_fail
-    ($I12, $I11) = rx155_cur."!mark_peek"($I10)
-    rx155_cur."!cursor_pos"($I11)
-    ($P10) = rx155_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx155_pos, "")
-    rx155_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx156_pos, 2
+    gt $I11, rx156_eos, rx156_fail
+    sub $I11, rx156_pos, rx156_off
+    substr $S10, rx156_tgt, $I11, 2
+    ne $S10, "**", rx156_fail
+    add rx156_pos, 2
+    set_addr $I10, rxcap_160_fail
+    ($I12, $I11) = rx156_cur."!mark_peek"($I10)
+    rx156_cur."!cursor_pos"($I11)
+    ($P10) = rx156_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx156_pos, "")
+    rx156_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_159_done
-  rxcap_159_fail:
-    goto rx155_fail
-  rxcap_159_done:
-  # rx rxquantr160 ** 0..1
-    set_addr $I161, rxquantr160_done
-    rx155_cur."!mark_push"(0, rx155_pos, $I161)
-  rxquantr160_loop:
+    goto rxcap_160_done
+  rxcap_160_fail:
+    goto rx156_fail
+  rxcap_160_done:
+  # rx rxquantr161 ** 0..1
+    set_addr $I162, rxquantr161_done
+    rx156_cur."!mark_push"(0, rx156_pos, $I162)
+  rxquantr161_loop:
   # rx subrule "normspace" subtype=capture negate=
-    rx155_cur."!cursor_pos"(rx155_pos)
-    $P10 = rx155_cur."normspace"()
-    unless $P10, rx155_fail
-    rx155_cur."!mark_push"(0, -1, 0, $P10)
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."normspace"()
+    unless $P10, rx156_fail
+    rx156_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("normspace")
-    rx155_pos = $P10."pos"()
-    (rx155_rep) = rx155_cur."!mark_commit"($I161)
-  rxquantr160_done:
+    rx156_pos = $P10."pos"()
+    (rx156_rep) = rx156_cur."!mark_commit"($I162)
+  rxquantr161_done:
   # rx subrule "backmod" subtype=capture negate=
-    rx155_cur."!cursor_pos"(rx155_pos)
-    $P10 = rx155_cur."backmod"()
-    unless $P10, rx155_fail
-    rx155_cur."!mark_push"(0, -1, 0, $P10)
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."backmod"()
+    unless $P10, rx156_fail
+    rx156_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backmod")
-    rx155_pos = $P10."pos"()
-  # rx rxquantr162 ** 0..1
-    set_addr $I163, rxquantr162_done
-    rx155_cur."!mark_push"(0, rx155_pos, $I163)
-  rxquantr162_loop:
+    rx156_pos = $P10."pos"()
+  # rx rxquantr163 ** 0..1
+    set_addr $I164, rxquantr163_done
+    rx156_cur."!mark_push"(0, rx156_pos, $I164)
+  rxquantr163_loop:
   # rx subrule "normspace" subtype=capture negate=
-    rx155_cur."!cursor_pos"(rx155_pos)
-    $P10 = rx155_cur."normspace"()
-    unless $P10, rx155_fail
-    rx155_cur."!mark_push"(0, -1, 0, $P10)
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."normspace"()
+    unless $P10, rx156_fail
+    rx156_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("normspace")
-    rx155_pos = $P10."pos"()
-    (rx155_rep) = rx155_cur."!mark_commit"($I163)
-  rxquantr162_done:
-  alt164_0:
+    rx156_pos = $P10."pos"()
+    (rx156_rep) = rx156_cur."!mark_commit"($I164)
+  rxquantr163_done:
+  alt165_0:
 .annotate 'line', 58
-    set_addr $I10, alt164_1
-    rx155_cur."!mark_push"(0, rx155_pos, $I10)
+    set_addr $I10, alt165_1
+    rx156_cur."!mark_push"(0, rx156_pos, $I10)
 .annotate 'line', 59
   # rx subcapture "min"
-    set_addr $I10, rxcap_165_fail
-    rx155_cur."!mark_push"(0, rx155_pos, $I10)
+    set_addr $I10, rxcap_166_fail
+    rx156_cur."!mark_push"(0, rx156_pos, $I10)
   # rx charclass_q d r 1..-1
-    sub $I10, rx155_pos, rx155_off
-    find_not_cclass $I11, 8, rx155_tgt, $I10, rx155_eos
+    sub $I10, rx156_pos, rx156_off
+    find_not_cclass $I11, 8, rx156_tgt, $I10, rx156_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx155_fail
-    add rx155_pos, rx155_off, $I11
-    set_addr $I10, rxcap_165_fail
-    ($I12, $I11) = rx155_cur."!mark_peek"($I10)
-    rx155_cur."!cursor_pos"($I11)
-    ($P10) = rx155_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx155_pos, "")
-    rx155_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx156_fail
+    add rx156_pos, rx156_off, $I11
+    set_addr $I10, rxcap_166_fail
+    ($I12, $I11) = rx156_cur."!mark_peek"($I10)
+    rx156_cur."!cursor_pos"($I11)
+    ($P10) = rx156_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx156_pos, "")
+    rx156_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("min")
-    goto rxcap_165_done
-  rxcap_165_fail:
-    goto rx155_fail
-  rxcap_165_done:
+    goto rxcap_166_done
+  rxcap_166_fail:
+    goto rx156_fail
+  rxcap_166_done:
 .annotate 'line', 66
-  # rx rxquantr166 ** 0..1
-    set_addr $I169, rxquantr166_done
-    rx155_cur."!mark_push"(0, rx155_pos, $I169)
-  rxquantr166_loop:
+  # rx rxquantr167 ** 0..1
+    set_addr $I170, rxquantr167_done
+    rx156_cur."!mark_push"(0, rx156_pos, $I170)
+  rxquantr167_loop:
 .annotate 'line', 60
   # rx literal  ".."
-    add $I11, rx155_pos, 2
-    gt $I11, rx155_eos, rx155_fail
-    sub $I11, rx155_pos, rx155_off
-    substr $S10, rx155_tgt, $I11, 2
-    ne $S10, "..", rx155_fail
-    add rx155_pos, 2
+    add $I11, rx156_pos, 2
+    gt $I11, rx156_eos, rx156_fail
+    sub $I11, rx156_pos, rx156_off
+    substr $S10, rx156_tgt, $I11, 2
+    ne $S10, "..", rx156_fail
+    add rx156_pos, 2
 .annotate 'line', 61
   # rx subcapture "max"
-    set_addr $I10, rxcap_168_fail
-    rx155_cur."!mark_push"(0, rx155_pos, $I10)
-  alt167_0:
-    set_addr $I10, alt167_1
-    rx155_cur."!mark_push"(0, rx155_pos, $I10)
+    set_addr $I10, rxcap_169_fail
+    rx156_cur."!mark_push"(0, rx156_pos, $I10)
+  alt168_0:
+    set_addr $I10, alt168_1
+    rx156_cur."!mark_push"(0, rx156_pos, $I10)
 .annotate 'line', 62
   # rx charclass_q d r 1..-1
-    sub $I10, rx155_pos, rx155_off
-    find_not_cclass $I11, 8, rx155_tgt, $I10, rx155_eos
+    sub $I10, rx156_pos, rx156_off
+    find_not_cclass $I11, 8, rx156_tgt, $I10, rx156_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx155_fail
-    add rx155_pos, rx155_off, $I11
-    goto alt167_end
-  alt167_1:
-    set_addr $I10, alt167_2
-    rx155_cur."!mark_push"(0, rx155_pos, $I10)
+    lt $I11, $I12, rx156_fail
+    add rx156_pos, rx156_off, $I11
+    goto alt168_end
+  alt168_1:
+    set_addr $I10, alt168_2
+    rx156_cur."!mark_push"(0, rx156_pos, $I10)
 .annotate 'line', 63
   # rx literal  "*"
-    add $I11, rx155_pos, 1
-    gt $I11, rx155_eos, rx155_fail
-    sub $I11, rx155_pos, rx155_off
-    substr $S10, rx155_tgt, $I11, 1
-    ne $S10, "*", rx155_fail
-    add rx155_pos, 1
-    goto alt167_end
-  alt167_2:
+    add $I11, rx156_pos, 1
+    gt $I11, rx156_eos, rx156_fail
+    sub $I11, rx156_pos, rx156_off
+    substr $S10, rx156_tgt, $I11, 1
+    ne $S10, "*", rx156_fail
+    add rx156_pos, 1
+    goto alt168_end
+  alt168_2:
 .annotate 'line', 64
   # rx subrule "panic" subtype=method negate=
-    rx155_cur."!cursor_pos"(rx155_pos)
-    $P10 = rx155_cur."panic"("Only integers or '*' allowed as range quantifier endpoint")
-    unless $P10, rx155_fail
-    rx155_pos = $P10."pos"()
-  alt167_end:
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."panic"("Only integers or '*' allowed as range quantifier endpoint")
+    unless $P10, rx156_fail
+    rx156_pos = $P10."pos"()
+  alt168_end:
 .annotate 'line', 61
-    set_addr $I10, rxcap_168_fail
-    ($I12, $I11) = rx155_cur."!mark_peek"($I10)
-    rx155_cur."!cursor_pos"($I11)
-    ($P10) = rx155_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx155_pos, "")
-    rx155_cur."!mark_push"(0, -1, 0, $P10)
+    set_addr $I10, rxcap_169_fail
+    ($I12, $I11) = rx156_cur."!mark_peek"($I10)
+    rx156_cur."!cursor_pos"($I11)
+    ($P10) = rx156_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx156_pos, "")
+    rx156_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("max")
-    goto rxcap_168_done
-  rxcap_168_fail:
-    goto rx155_fail
-  rxcap_168_done:
+    goto rxcap_169_done
+  rxcap_169_fail:
+    goto rx156_fail
+  rxcap_169_done:
 .annotate 'line', 66
-    (rx155_rep) = rx155_cur."!mark_commit"($I169)
-  rxquantr166_done:
+    (rx156_rep) = rx156_cur."!mark_commit"($I170)
+  rxquantr167_done:
 .annotate 'line', 59
-    goto alt164_end
-  alt164_1:
+    goto alt165_end
+  alt165_1:
 .annotate 'line', 67
   # rx subrule "quantified_atom" subtype=capture negate=
-    rx155_cur."!cursor_pos"(rx155_pos)
-    $P10 = rx155_cur."quantified_atom"()
-    unless $P10, rx155_fail
-    rx155_cur."!mark_push"(0, -1, 0, $P10)
+    rx156_cur."!cursor_pos"(rx156_pos)
+    $P10 = rx156_cur."quantified_atom"()
+    unless $P10, rx156_fail
+    rx156_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quantified_atom")
-    rx155_pos = $P10."pos"()
-  alt164_end:
+    rx156_pos = $P10."pos"()
+  alt165_end:
 .annotate 'line', 56
   # rx pass
-    rx155_cur."!cursor_pass"(rx155_pos, "quantifier:sym<**>")
-    rx155_cur."!cursor_debug"("PASS  ", "quantifier:sym<**>", " at pos=", rx155_pos)
-    .return (rx155_cur)
-  rx155_fail:
+    rx156_cur."!cursor_pass"(rx156_pos, "quantifier:sym<**>")
+    rx156_cur."!cursor_debug"("PASS  ", "quantifier:sym<**>", " at pos=", rx156_pos)
+    .return (rx156_cur)
+  rx156_fail:
 .annotate 'line', 3
-    (rx155_rep, rx155_pos, $I10, $P10) = rx155_cur."!mark_fail"(0)
-    lt rx155_pos, -1, rx155_done
-    eq rx155_pos, -1, rx155_fail
+    (rx156_rep, rx156_pos, $I10, $P10) = rx156_cur."!mark_fail"(0)
+    lt rx156_pos, -1, rx156_done
+    eq rx156_pos, -1, rx156_fail
     jump $I10
-  rx155_done:
-    rx155_cur."!cursor_fail"()
-    rx155_cur."!cursor_debug"("FAIL  ", "quantifier:sym<**>")
-    .return (rx155_cur)
+  rx156_done:
+    rx156_cur."!cursor_fail"()
+    rx156_cur."!cursor_debug"("FAIL  ", "quantifier:sym<**>")
+    .return (rx156_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<**>"  :subid("43_1275599996.35368") :method
+.sub "!PREFIX__quantifier:sym<**>"  :subid("43_1275811476.7961") :method
 .annotate 'line', 3
-    new $P157, "ResizablePMCArray"
-    push $P157, "**"
-    .return ($P157)
+    new $P158, "ResizablePMCArray"
+    push $P158, "**"
+    .return ($P158)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backmod"  :subid("44_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "backmod"  :subid("44_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .const 'Sub' $P179 = "46_1275599996.35368" 
-    capture_lex $P179
-    .local string rx171_tgt
-    .local int rx171_pos
-    .local int rx171_off
-    .local int rx171_eos
-    .local int rx171_rep
-    .local pmc rx171_cur
-    (rx171_cur, rx171_pos, rx171_tgt) = self."!cursor_start"()
-    rx171_cur."!cursor_debug"("START ", "backmod")
-    .lex unicode:"$\x{a2}", rx171_cur
+    .const 'Sub' $P180 = "46_1275811476.7961" 
+    capture_lex $P180
+    .local string rx172_tgt
+    .local int rx172_pos
+    .local int rx172_off
+    .local int rx172_eos
+    .local int rx172_rep
+    .local pmc rx172_cur
+    (rx172_cur, rx172_pos, rx172_tgt) = self."!cursor_start"()
+    rx172_cur."!cursor_debug"("START ", "backmod")
+    .lex unicode:"$\x{a2}", rx172_cur
     .local pmc match
     .lex "$/", match
-    length rx171_eos, rx171_tgt
-    gt rx171_pos, rx171_eos, rx171_done
-    set rx171_off, 0
-    lt rx171_pos, 2, rx171_start
-    sub rx171_off, rx171_pos, 1
-    substr rx171_tgt, rx171_tgt, rx171_off
-  rx171_start:
+    length rx172_eos, rx172_tgt
+    gt rx172_pos, rx172_eos, rx172_done
+    set rx172_off, 0
+    lt rx172_pos, 2, rx172_start
+    sub rx172_off, rx172_pos, 1
+    substr rx172_tgt, rx172_tgt, rx172_off
+  rx172_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan174_done
-    goto rxscan174_scan
-  rxscan174_loop:
-    ($P10) = rx171_cur."from"()
+    ne $I10, -1, rxscan175_done
+    goto rxscan175_scan
+  rxscan175_loop:
+    ($P10) = rx172_cur."from"()
     inc $P10
-    set rx171_pos, $P10
-    ge rx171_pos, rx171_eos, rxscan174_done
-  rxscan174_scan:
-    set_addr $I10, rxscan174_loop
-    rx171_cur."!mark_push"(0, rx171_pos, $I10)
-  rxscan174_done:
+    set rx172_pos, $P10
+    ge rx172_pos, rx172_eos, rxscan175_done
+  rxscan175_scan:
+    set_addr $I10, rxscan175_loop
+    rx172_cur."!mark_push"(0, rx172_pos, $I10)
+  rxscan175_done:
 .annotate 'line', 71
-  # rx rxquantr175 ** 0..1
-    set_addr $I176, rxquantr175_done
-    rx171_cur."!mark_push"(0, rx171_pos, $I176)
-  rxquantr175_loop:
+  # rx rxquantr176 ** 0..1
+    set_addr $I177, rxquantr176_done
+    rx172_cur."!mark_push"(0, rx172_pos, $I177)
+  rxquantr176_loop:
   # rx literal  ":"
-    add $I11, rx171_pos, 1
-    gt $I11, rx171_eos, rx171_fail
-    sub $I11, rx171_pos, rx171_off
-    substr $S10, rx171_tgt, $I11, 1
-    ne $S10, ":", rx171_fail
-    add rx171_pos, 1
-    (rx171_rep) = rx171_cur."!mark_commit"($I176)
-  rxquantr175_done:
-  alt177_0:
-    set_addr $I10, alt177_1
-    rx171_cur."!mark_push"(0, rx171_pos, $I10)
+    add $I11, rx172_pos, 1
+    gt $I11, rx172_eos, rx172_fail
+    sub $I11, rx172_pos, rx172_off
+    substr $S10, rx172_tgt, $I11, 1
+    ne $S10, ":", rx172_fail
+    add rx172_pos, 1
+    (rx172_rep) = rx172_cur."!mark_commit"($I177)
+  rxquantr176_done:
+  alt178_0:
+    set_addr $I10, alt178_1
+    rx172_cur."!mark_push"(0, rx172_pos, $I10)
   # rx literal  "?"
-    add $I11, rx171_pos, 1
-    gt $I11, rx171_eos, rx171_fail
-    sub $I11, rx171_pos, rx171_off
-    substr $S10, rx171_tgt, $I11, 1
-    ne $S10, "?", rx171_fail
-    add rx171_pos, 1
-    goto alt177_end
-  alt177_1:
-    set_addr $I10, alt177_2
-    rx171_cur."!mark_push"(0, rx171_pos, $I10)
+    add $I11, rx172_pos, 1
+    gt $I11, rx172_eos, rx172_fail
+    sub $I11, rx172_pos, rx172_off
+    substr $S10, rx172_tgt, $I11, 1
+    ne $S10, "?", rx172_fail
+    add rx172_pos, 1
+    goto alt178_end
+  alt178_1:
+    set_addr $I10, alt178_2
+    rx172_cur."!mark_push"(0, rx172_pos, $I10)
   # rx literal  "!"
-    add $I11, rx171_pos, 1
-    gt $I11, rx171_eos, rx171_fail
-    sub $I11, rx171_pos, rx171_off
-    substr $S10, rx171_tgt, $I11, 1
-    ne $S10, "!", rx171_fail
-    add rx171_pos, 1
-    goto alt177_end
-  alt177_2:
+    add $I11, rx172_pos, 1
+    gt $I11, rx172_eos, rx172_fail
+    sub $I11, rx172_pos, rx172_off
+    substr $S10, rx172_tgt, $I11, 1
+    ne $S10, "!", rx172_fail
+    add rx172_pos, 1
+    goto alt178_end
+  alt178_2:
   # rx subrule "before" subtype=zerowidth negate=1
-    rx171_cur."!cursor_pos"(rx171_pos)
-    .const 'Sub' $P179 = "46_1275599996.35368" 
-    capture_lex $P179
-    $P10 = rx171_cur."before"($P179)
-    if $P10, rx171_fail
-  alt177_end:
+    rx172_cur."!cursor_pos"(rx172_pos)
+    .const 'Sub' $P180 = "46_1275811476.7961" 
+    capture_lex $P180
+    $P10 = rx172_cur."before"($P180)
+    if $P10, rx172_fail
+  alt178_end:
   # rx pass
-    rx171_cur."!cursor_pass"(rx171_pos, "backmod")
-    rx171_cur."!cursor_debug"("PASS  ", "backmod", " at pos=", rx171_pos)
-    .return (rx171_cur)
-  rx171_fail:
+    rx172_cur."!cursor_pass"(rx172_pos, "backmod")
+    rx172_cur."!cursor_debug"("PASS  ", "backmod", " at pos=", rx172_pos)
+    .return (rx172_cur)
+  rx172_fail:
 .annotate 'line', 3
-    (rx171_rep, rx171_pos, $I10, $P10) = rx171_cur."!mark_fail"(0)
-    lt rx171_pos, -1, rx171_done
-    eq rx171_pos, -1, rx171_fail
+    (rx172_rep, rx172_pos, $I10, $P10) = rx172_cur."!mark_fail"(0)
+    lt rx172_pos, -1, rx172_done
+    eq rx172_pos, -1, rx172_fail
     jump $I10
-  rx171_done:
-    rx171_cur."!cursor_fail"()
-    rx171_cur."!cursor_debug"("FAIL  ", "backmod")
-    .return (rx171_cur)
+  rx172_done:
+    rx172_cur."!cursor_fail"()
+    rx172_cur."!cursor_debug"("FAIL  ", "backmod")
+    .return (rx172_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backmod"  :subid("45_1275599996.35368") :method
+.sub "!PREFIX__backmod"  :subid("45_1275811476.7961") :method
 .annotate 'line', 3
-    new $P173, "ResizablePMCArray"
-    push $P173, ""
-    .return ($P173)
+    new $P174, "ResizablePMCArray"
+    push $P174, ""
+    .return ($P174)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block178"  :anon :subid("46_1275599996.35368") :method :outer("44_1275599996.35368")
+.sub "_block179"  :anon :subid("46_1275811476.7961") :method :outer("44_1275811476.7961")
 .annotate 'line', 71
-    .local string rx180_tgt
-    .local int rx180_pos
-    .local int rx180_off
-    .local int rx180_eos
-    .local int rx180_rep
-    .local pmc rx180_cur
-    (rx180_cur, rx180_pos, rx180_tgt) = self."!cursor_start"()
-    rx180_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx180_cur
-    .local pmc match
-    .lex "$/", match
-    length rx180_eos, rx180_tgt
-    gt rx180_pos, rx180_eos, rx180_done
-    set rx180_off, 0
-    lt rx180_pos, 2, rx180_start
-    sub rx180_off, rx180_pos, 1
-    substr rx180_tgt, rx180_tgt, rx180_off
-  rx180_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan181_done
-    goto rxscan181_scan
-  rxscan181_loop:
-    ($P10) = rx180_cur."from"()
-    inc $P10
-    set rx180_pos, $P10
-    ge rx180_pos, rx180_eos, rxscan181_done
-  rxscan181_scan:
-    set_addr $I10, rxscan181_loop
-    rx180_cur."!mark_push"(0, rx180_pos, $I10)
-  rxscan181_done:
+    .local string rx181_tgt
+    .local int rx181_pos
+    .local int rx181_off
+    .local int rx181_eos
+    .local int rx181_rep
+    .local pmc rx181_cur
+    (rx181_cur, rx181_pos, rx181_tgt) = self."!cursor_start"()
+    rx181_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx181_cur
+    .local pmc match
+    .lex "$/", match
+    length rx181_eos, rx181_tgt
+    gt rx181_pos, rx181_eos, rx181_done
+    set rx181_off, 0
+    lt rx181_pos, 2, rx181_start
+    sub rx181_off, rx181_pos, 1
+    substr rx181_tgt, rx181_tgt, rx181_off
+  rx181_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan182_done
+    goto rxscan182_scan
+  rxscan182_loop:
+    ($P10) = rx181_cur."from"()
+    inc $P10
+    set rx181_pos, $P10
+    ge rx181_pos, rx181_eos, rxscan182_done
+  rxscan182_scan:
+    set_addr $I10, rxscan182_loop
+    rx181_cur."!mark_push"(0, rx181_pos, $I10)
+  rxscan182_done:
   # rx literal  ":"
-    add $I11, rx180_pos, 1
-    gt $I11, rx180_eos, rx180_fail
-    sub $I11, rx180_pos, rx180_off
-    substr $S10, rx180_tgt, $I11, 1
-    ne $S10, ":", rx180_fail
-    add rx180_pos, 1
+    add $I11, rx181_pos, 1
+    gt $I11, rx181_eos, rx181_fail
+    sub $I11, rx181_pos, rx181_off
+    substr $S10, rx181_tgt, $I11, 1
+    ne $S10, ":", rx181_fail
+    add rx181_pos, 1
   # rx pass
-    rx180_cur."!cursor_pass"(rx180_pos, "")
-    rx180_cur."!cursor_debug"("PASS  ", "", " at pos=", rx180_pos)
-    .return (rx180_cur)
-  rx180_fail:
-    (rx180_rep, rx180_pos, $I10, $P10) = rx180_cur."!mark_fail"(0)
-    lt rx180_pos, -1, rx180_done
-    eq rx180_pos, -1, rx180_fail
+    rx181_cur."!cursor_pass"(rx181_pos, "")
+    rx181_cur."!cursor_debug"("PASS  ", "", " at pos=", rx181_pos)
+    .return (rx181_cur)
+  rx181_fail:
+    (rx181_rep, rx181_pos, $I10, $P10) = rx181_cur."!mark_fail"(0)
+    lt rx181_pos, -1, rx181_done
+    eq rx181_pos, -1, rx181_fail
     jump $I10
-  rx180_done:
-    rx180_cur."!cursor_fail"()
-    rx180_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx180_cur)
+  rx181_done:
+    rx181_cur."!cursor_fail"()
+    rx181_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx181_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar"  :subid("47_1275599996.35368") :method
+.sub "metachar"  :subid("47_1275811476.7961") :method
 .annotate 'line', 73
-    $P183 = self."!protoregex"("metachar")
-    .return ($P183)
+    $P184 = self."!protoregex"("metachar")
+    .return ($P184)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar"  :subid("48_1275599996.35368") :method
+.sub "!PREFIX__metachar"  :subid("48_1275811476.7961") :method
 .annotate 'line', 73
-    $P185 = self."!PREFIX__!protoregex"("metachar")
-    .return ($P185)
+    $P186 = self."!PREFIX__!protoregex"("metachar")
+    .return ($P186)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<ws>"  :subid("49_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<ws>"  :subid("49_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx187_tgt
-    .local int rx187_pos
-    .local int rx187_off
-    .local int rx187_eos
-    .local int rx187_rep
-    .local pmc rx187_cur
-    (rx187_cur, rx187_pos, rx187_tgt) = self."!cursor_start"()
-    rx187_cur."!cursor_debug"("START ", "metachar:sym<ws>")
-    .lex unicode:"$\x{a2}", rx187_cur
-    .local pmc match
-    .lex "$/", match
-    length rx187_eos, rx187_tgt
-    gt rx187_pos, rx187_eos, rx187_done
-    set rx187_off, 0
-    lt rx187_pos, 2, rx187_start
-    sub rx187_off, rx187_pos, 1
-    substr rx187_tgt, rx187_tgt, rx187_off
-  rx187_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan191_done
-    goto rxscan191_scan
-  rxscan191_loop:
-    ($P10) = rx187_cur."from"()
-    inc $P10
-    set rx187_pos, $P10
-    ge rx187_pos, rx187_eos, rxscan191_done
-  rxscan191_scan:
-    set_addr $I10, rxscan191_loop
-    rx187_cur."!mark_push"(0, rx187_pos, $I10)
-  rxscan191_done:
+    .local string rx188_tgt
+    .local int rx188_pos
+    .local int rx188_off
+    .local int rx188_eos
+    .local int rx188_rep
+    .local pmc rx188_cur
+    (rx188_cur, rx188_pos, rx188_tgt) = self."!cursor_start"()
+    rx188_cur."!cursor_debug"("START ", "metachar:sym<ws>")
+    .lex unicode:"$\x{a2}", rx188_cur
+    .local pmc match
+    .lex "$/", match
+    length rx188_eos, rx188_tgt
+    gt rx188_pos, rx188_eos, rx188_done
+    set rx188_off, 0
+    lt rx188_pos, 2, rx188_start
+    sub rx188_off, rx188_pos, 1
+    substr rx188_tgt, rx188_tgt, rx188_off
+  rx188_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan192_done
+    goto rxscan192_scan
+  rxscan192_loop:
+    ($P10) = rx188_cur."from"()
+    inc $P10
+    set rx188_pos, $P10
+    ge rx188_pos, rx188_eos, rxscan192_done
+  rxscan192_scan:
+    set_addr $I10, rxscan192_loop
+    rx188_cur."!mark_push"(0, rx188_pos, $I10)
+  rxscan192_done:
 .annotate 'line', 74
   # rx subrule "normspace" subtype=method negate=
-    rx187_cur."!cursor_pos"(rx187_pos)
-    $P10 = rx187_cur."normspace"()
-    unless $P10, rx187_fail
-    rx187_pos = $P10."pos"()
+    rx188_cur."!cursor_pos"(rx188_pos)
+    $P10 = rx188_cur."normspace"()
+    unless $P10, rx188_fail
+    rx188_pos = $P10."pos"()
   # rx pass
-    rx187_cur."!cursor_pass"(rx187_pos, "metachar:sym<ws>")
-    rx187_cur."!cursor_debug"("PASS  ", "metachar:sym<ws>", " at pos=", rx187_pos)
-    .return (rx187_cur)
-  rx187_fail:
+    rx188_cur."!cursor_pass"(rx188_pos, "metachar:sym<ws>")
+    rx188_cur."!cursor_debug"("PASS  ", "metachar:sym<ws>", " at pos=", rx188_pos)
+    .return (rx188_cur)
+  rx188_fail:
 .annotate 'line', 3
-    (rx187_rep, rx187_pos, $I10, $P10) = rx187_cur."!mark_fail"(0)
-    lt rx187_pos, -1, rx187_done
-    eq rx187_pos, -1, rx187_fail
+    (rx188_rep, rx188_pos, $I10, $P10) = rx188_cur."!mark_fail"(0)
+    lt rx188_pos, -1, rx188_done
+    eq rx188_pos, -1, rx188_fail
     jump $I10
-  rx187_done:
-    rx187_cur."!cursor_fail"()
-    rx187_cur."!cursor_debug"("FAIL  ", "metachar:sym<ws>")
-    .return (rx187_cur)
+  rx188_done:
+    rx188_cur."!cursor_fail"()
+    rx188_cur."!cursor_debug"("FAIL  ", "metachar:sym<ws>")
+    .return (rx188_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<ws>"  :subid("50_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<ws>"  :subid("50_1275811476.7961") :method
 .annotate 'line', 3
-    $P189 = self."!PREFIX__!subrule"("", "")
-    new $P190, "ResizablePMCArray"
-    push $P190, $P189
-    .return ($P190)
+    $P190 = self."!PREFIX__!subrule"("normspace", "")
+    new $P191, "ResizablePMCArray"
+    push $P191, $P190
+    .return ($P191)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<[ ]>"  :subid("51_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<[ ]>"  :subid("51_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx193_tgt
-    .local int rx193_pos
-    .local int rx193_off
-    .local int rx193_eos
-    .local int rx193_rep
-    .local pmc rx193_cur
-    (rx193_cur, rx193_pos, rx193_tgt) = self."!cursor_start"()
-    rx193_cur."!cursor_debug"("START ", "metachar:sym<[ ]>")
-    .lex unicode:"$\x{a2}", rx193_cur
+    .local string rx194_tgt
+    .local int rx194_pos
+    .local int rx194_off
+    .local int rx194_eos
+    .local int rx194_rep
+    .local pmc rx194_cur
+    (rx194_cur, rx194_pos, rx194_tgt) = self."!cursor_start"()
+    rx194_cur."!cursor_debug"("START ", "metachar:sym<[ ]>")
+    .lex unicode:"$\x{a2}", rx194_cur
     .local pmc match
     .lex "$/", match
-    length rx193_eos, rx193_tgt
-    gt rx193_pos, rx193_eos, rx193_done
-    set rx193_off, 0
-    lt rx193_pos, 2, rx193_start
-    sub rx193_off, rx193_pos, 1
-    substr rx193_tgt, rx193_tgt, rx193_off
-  rx193_start:
+    length rx194_eos, rx194_tgt
+    gt rx194_pos, rx194_eos, rx194_done
+    set rx194_off, 0
+    lt rx194_pos, 2, rx194_start
+    sub rx194_off, rx194_pos, 1
+    substr rx194_tgt, rx194_tgt, rx194_off
+  rx194_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan197_done
-    goto rxscan197_scan
-  rxscan197_loop:
-    ($P10) = rx193_cur."from"()
+    ne $I10, -1, rxscan198_done
+    goto rxscan198_scan
+  rxscan198_loop:
+    ($P10) = rx194_cur."from"()
     inc $P10
-    set rx193_pos, $P10
-    ge rx193_pos, rx193_eos, rxscan197_done
-  rxscan197_scan:
-    set_addr $I10, rxscan197_loop
-    rx193_cur."!mark_push"(0, rx193_pos, $I10)
-  rxscan197_done:
+    set rx194_pos, $P10
+    ge rx194_pos, rx194_eos, rxscan198_done
+  rxscan198_scan:
+    set_addr $I10, rxscan198_loop
+    rx194_cur."!mark_push"(0, rx194_pos, $I10)
+  rxscan198_done:
 .annotate 'line', 75
   # rx literal  "["
-    add $I11, rx193_pos, 1
-    gt $I11, rx193_eos, rx193_fail
-    sub $I11, rx193_pos, rx193_off
-    substr $S10, rx193_tgt, $I11, 1
-    ne $S10, "[", rx193_fail
-    add rx193_pos, 1
+    add $I11, rx194_pos, 1
+    gt $I11, rx194_eos, rx194_fail
+    sub $I11, rx194_pos, rx194_off
+    substr $S10, rx194_tgt, $I11, 1
+    ne $S10, "[", rx194_fail
+    add rx194_pos, 1
   # rx subrule "nibbler" subtype=capture negate=
-    rx193_cur."!cursor_pos"(rx193_pos)
-    $P10 = rx193_cur."nibbler"()
-    unless $P10, rx193_fail
-    rx193_cur."!mark_push"(0, -1, 0, $P10)
+    rx194_cur."!cursor_pos"(rx194_pos)
+    $P10 = rx194_cur."nibbler"()
+    unless $P10, rx194_fail
+    rx194_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx193_pos = $P10."pos"()
+    rx194_pos = $P10."pos"()
   # rx literal  "]"
-    add $I11, rx193_pos, 1
-    gt $I11, rx193_eos, rx193_fail
-    sub $I11, rx193_pos, rx193_off
-    substr $S10, rx193_tgt, $I11, 1
-    ne $S10, "]", rx193_fail
-    add rx193_pos, 1
+    add $I11, rx194_pos, 1
+    gt $I11, rx194_eos, rx194_fail
+    sub $I11, rx194_pos, rx194_off
+    substr $S10, rx194_tgt, $I11, 1
+    ne $S10, "]", rx194_fail
+    add rx194_pos, 1
   # rx pass
-    rx193_cur."!cursor_pass"(rx193_pos, "metachar:sym<[ ]>")
-    rx193_cur."!cursor_debug"("PASS  ", "metachar:sym<[ ]>", " at pos=", rx193_pos)
-    .return (rx193_cur)
-  rx193_fail:
+    rx194_cur."!cursor_pass"(rx194_pos, "metachar:sym<[ ]>")
+    rx194_cur."!cursor_debug"("PASS  ", "metachar:sym<[ ]>", " at pos=", rx194_pos)
+    .return (rx194_cur)
+  rx194_fail:
 .annotate 'line', 3
-    (rx193_rep, rx193_pos, $I10, $P10) = rx193_cur."!mark_fail"(0)
-    lt rx193_pos, -1, rx193_done
-    eq rx193_pos, -1, rx193_fail
+    (rx194_rep, rx194_pos, $I10, $P10) = rx194_cur."!mark_fail"(0)
+    lt rx194_pos, -1, rx194_done
+    eq rx194_pos, -1, rx194_fail
     jump $I10
-  rx193_done:
-    rx193_cur."!cursor_fail"()
-    rx193_cur."!cursor_debug"("FAIL  ", "metachar:sym<[ ]>")
-    .return (rx193_cur)
+  rx194_done:
+    rx194_cur."!cursor_fail"()
+    rx194_cur."!cursor_debug"("FAIL  ", "metachar:sym<[ ]>")
+    .return (rx194_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<[ ]>"  :subid("52_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<[ ]>"  :subid("52_1275811476.7961") :method
 .annotate 'line', 3
-    $P195 = self."!PREFIX__!subrule"("nibbler", "[")
-    new $P196, "ResizablePMCArray"
-    push $P196, $P195
-    .return ($P196)
+    $P196 = self."!PREFIX__!subrule"("nibbler", "[")
+    new $P197, "ResizablePMCArray"
+    push $P197, $P196
+    .return ($P197)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<( )>"  :subid("53_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<( )>"  :subid("53_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx199_tgt
-    .local int rx199_pos
-    .local int rx199_off
-    .local int rx199_eos
-    .local int rx199_rep
-    .local pmc rx199_cur
-    (rx199_cur, rx199_pos, rx199_tgt) = self."!cursor_start"()
-    rx199_cur."!cursor_debug"("START ", "metachar:sym<( )>")
-    .lex unicode:"$\x{a2}", rx199_cur
+    .local string rx200_tgt
+    .local int rx200_pos
+    .local int rx200_off
+    .local int rx200_eos
+    .local int rx200_rep
+    .local pmc rx200_cur
+    (rx200_cur, rx200_pos, rx200_tgt) = self."!cursor_start"()
+    rx200_cur."!cursor_debug"("START ", "metachar:sym<( )>")
+    .lex unicode:"$\x{a2}", rx200_cur
     .local pmc match
     .lex "$/", match
-    length rx199_eos, rx199_tgt
-    gt rx199_pos, rx199_eos, rx199_done
-    set rx199_off, 0
-    lt rx199_pos, 2, rx199_start
-    sub rx199_off, rx199_pos, 1
-    substr rx199_tgt, rx199_tgt, rx199_off
-  rx199_start:
+    length rx200_eos, rx200_tgt
+    gt rx200_pos, rx200_eos, rx200_done
+    set rx200_off, 0
+    lt rx200_pos, 2, rx200_start
+    sub rx200_off, rx200_pos, 1
+    substr rx200_tgt, rx200_tgt, rx200_off
+  rx200_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan203_done
-    goto rxscan203_scan
-  rxscan203_loop:
-    ($P10) = rx199_cur."from"()
+    ne $I10, -1, rxscan204_done
+    goto rxscan204_scan
+  rxscan204_loop:
+    ($P10) = rx200_cur."from"()
     inc $P10
-    set rx199_pos, $P10
-    ge rx199_pos, rx199_eos, rxscan203_done
-  rxscan203_scan:
-    set_addr $I10, rxscan203_loop
-    rx199_cur."!mark_push"(0, rx199_pos, $I10)
-  rxscan203_done:
+    set rx200_pos, $P10
+    ge rx200_pos, rx200_eos, rxscan204_done
+  rxscan204_scan:
+    set_addr $I10, rxscan204_loop
+    rx200_cur."!mark_push"(0, rx200_pos, $I10)
+  rxscan204_done:
 .annotate 'line', 76
   # rx literal  "("
-    add $I11, rx199_pos, 1
-    gt $I11, rx199_eos, rx199_fail
-    sub $I11, rx199_pos, rx199_off
-    substr $S10, rx199_tgt, $I11, 1
-    ne $S10, "(", rx199_fail
-    add rx199_pos, 1
+    add $I11, rx200_pos, 1
+    gt $I11, rx200_eos, rx200_fail
+    sub $I11, rx200_pos, rx200_off
+    substr $S10, rx200_tgt, $I11, 1
+    ne $S10, "(", rx200_fail
+    add rx200_pos, 1
   # rx subrule "nibbler" subtype=capture negate=
-    rx199_cur."!cursor_pos"(rx199_pos)
-    $P10 = rx199_cur."nibbler"()
-    unless $P10, rx199_fail
-    rx199_cur."!mark_push"(0, -1, 0, $P10)
+    rx200_cur."!cursor_pos"(rx200_pos)
+    $P10 = rx200_cur."nibbler"()
+    unless $P10, rx200_fail
+    rx200_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx199_pos = $P10."pos"()
+    rx200_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx199_pos, 1
-    gt $I11, rx199_eos, rx199_fail
-    sub $I11, rx199_pos, rx199_off
-    substr $S10, rx199_tgt, $I11, 1
-    ne $S10, ")", rx199_fail
-    add rx199_pos, 1
+    add $I11, rx200_pos, 1
+    gt $I11, rx200_eos, rx200_fail
+    sub $I11, rx200_pos, rx200_off
+    substr $S10, rx200_tgt, $I11, 1
+    ne $S10, ")", rx200_fail
+    add rx200_pos, 1
   # rx pass
-    rx199_cur."!cursor_pass"(rx199_pos, "metachar:sym<( )>")
-    rx199_cur."!cursor_debug"("PASS  ", "metachar:sym<( )>", " at pos=", rx199_pos)
-    .return (rx199_cur)
-  rx199_fail:
+    rx200_cur."!cursor_pass"(rx200_pos, "metachar:sym<( )>")
+    rx200_cur."!cursor_debug"("PASS  ", "metachar:sym<( )>", " at pos=", rx200_pos)
+    .return (rx200_cur)
+  rx200_fail:
 .annotate 'line', 3
-    (rx199_rep, rx199_pos, $I10, $P10) = rx199_cur."!mark_fail"(0)
-    lt rx199_pos, -1, rx199_done
-    eq rx199_pos, -1, rx199_fail
+    (rx200_rep, rx200_pos, $I10, $P10) = rx200_cur."!mark_fail"(0)
+    lt rx200_pos, -1, rx200_done
+    eq rx200_pos, -1, rx200_fail
     jump $I10
-  rx199_done:
-    rx199_cur."!cursor_fail"()
-    rx199_cur."!cursor_debug"("FAIL  ", "metachar:sym<( )>")
-    .return (rx199_cur)
+  rx200_done:
+    rx200_cur."!cursor_fail"()
+    rx200_cur."!cursor_debug"("FAIL  ", "metachar:sym<( )>")
+    .return (rx200_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<( )>"  :subid("54_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<( )>"  :subid("54_1275811476.7961") :method
 .annotate 'line', 3
-    $P201 = self."!PREFIX__!subrule"("nibbler", "(")
-    new $P202, "ResizablePMCArray"
-    push $P202, $P201
-    .return ($P202)
+    $P202 = self."!PREFIX__!subrule"("nibbler", "(")
+    new $P203, "ResizablePMCArray"
+    push $P203, $P202
+    .return ($P203)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<'>"  :subid("55_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<'>"  :subid("55_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx205_tgt
-    .local int rx205_pos
-    .local int rx205_off
-    .local int rx205_eos
-    .local int rx205_rep
-    .local pmc rx205_cur
-    (rx205_cur, rx205_pos, rx205_tgt) = self."!cursor_start"()
-    rx205_cur."!cursor_debug"("START ", "metachar:sym<'>")
-    .lex unicode:"$\x{a2}", rx205_cur
+    .local string rx206_tgt
+    .local int rx206_pos
+    .local int rx206_off
+    .local int rx206_eos
+    .local int rx206_rep
+    .local pmc rx206_cur
+    (rx206_cur, rx206_pos, rx206_tgt) = self."!cursor_start"()
+    rx206_cur."!cursor_debug"("START ", "metachar:sym<'>")
+    .lex unicode:"$\x{a2}", rx206_cur
     .local pmc match
     .lex "$/", match
-    length rx205_eos, rx205_tgt
-    gt rx205_pos, rx205_eos, rx205_done
-    set rx205_off, 0
-    lt rx205_pos, 2, rx205_start
-    sub rx205_off, rx205_pos, 1
-    substr rx205_tgt, rx205_tgt, rx205_off
-  rx205_start:
+    length rx206_eos, rx206_tgt
+    gt rx206_pos, rx206_eos, rx206_done
+    set rx206_off, 0
+    lt rx206_pos, 2, rx206_start
+    sub rx206_off, rx206_pos, 1
+    substr rx206_tgt, rx206_tgt, rx206_off
+  rx206_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan208_done
-    goto rxscan208_scan
-  rxscan208_loop:
-    ($P10) = rx205_cur."from"()
+    ne $I10, -1, rxscan209_done
+    goto rxscan209_scan
+  rxscan209_loop:
+    ($P10) = rx206_cur."from"()
     inc $P10
-    set rx205_pos, $P10
-    ge rx205_pos, rx205_eos, rxscan208_done
-  rxscan208_scan:
-    set_addr $I10, rxscan208_loop
-    rx205_cur."!mark_push"(0, rx205_pos, $I10)
-  rxscan208_done:
+    set rx206_pos, $P10
+    ge rx206_pos, rx206_eos, rxscan209_done
+  rxscan209_scan:
+    set_addr $I10, rxscan209_loop
+    rx206_cur."!mark_push"(0, rx206_pos, $I10)
+  rxscan209_done:
 .annotate 'line', 77
   # rx enumcharlist negate=0 zerowidth
-    ge rx205_pos, rx205_eos, rx205_fail
-    sub $I10, rx205_pos, rx205_off
-    substr $S10, rx205_tgt, $I10, 1
+    ge rx206_pos, rx206_eos, rx206_fail
+    sub $I10, rx206_pos, rx206_off
+    substr $S10, rx206_tgt, $I10, 1
     index $I11, "'", $S10
-    lt $I11, 0, rx205_fail
+    lt $I11, 0, rx206_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx205_cur."!cursor_pos"(rx205_pos)
-    $P10 = rx205_cur."quote_EXPR"(":q")
-    unless $P10, rx205_fail
-    rx205_cur."!mark_push"(0, -1, 0, $P10)
+    rx206_cur."!cursor_pos"(rx206_pos)
+    $P10 = rx206_cur."quote_EXPR"(":q")
+    unless $P10, rx206_fail
+    rx206_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx205_pos = $P10."pos"()
+    rx206_pos = $P10."pos"()
   # rx pass
-    rx205_cur."!cursor_pass"(rx205_pos, "metachar:sym<'>")
-    rx205_cur."!cursor_debug"("PASS  ", "metachar:sym<'>", " at pos=", rx205_pos)
-    .return (rx205_cur)
-  rx205_fail:
+    rx206_cur."!cursor_pass"(rx206_pos, "metachar:sym<'>")
+    rx206_cur."!cursor_debug"("PASS  ", "metachar:sym<'>", " at pos=", rx206_pos)
+    .return (rx206_cur)
+  rx206_fail:
 .annotate 'line', 3
-    (rx205_rep, rx205_pos, $I10, $P10) = rx205_cur."!mark_fail"(0)
-    lt rx205_pos, -1, rx205_done
-    eq rx205_pos, -1, rx205_fail
+    (rx206_rep, rx206_pos, $I10, $P10) = rx206_cur."!mark_fail"(0)
+    lt rx206_pos, -1, rx206_done
+    eq rx206_pos, -1, rx206_fail
     jump $I10
-  rx205_done:
-    rx205_cur."!cursor_fail"()
-    rx205_cur."!cursor_debug"("FAIL  ", "metachar:sym<'>")
-    .return (rx205_cur)
+  rx206_done:
+    rx206_cur."!cursor_fail"()
+    rx206_cur."!cursor_debug"("FAIL  ", "metachar:sym<'>")
+    .return (rx206_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<'>"  :subid("56_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<'>"  :subid("56_1275811476.7961") :method
 .annotate 'line', 3
-    new $P207, "ResizablePMCArray"
-    push $P207, "'"
-    .return ($P207)
+    new $P208, "ResizablePMCArray"
+    push $P208, "'"
+    .return ($P208)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<\">"  :subid("57_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<\">"  :subid("57_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx210_tgt
-    .local int rx210_pos
-    .local int rx210_off
-    .local int rx210_eos
-    .local int rx210_rep
-    .local pmc rx210_cur
-    (rx210_cur, rx210_pos, rx210_tgt) = self."!cursor_start"()
-    rx210_cur."!cursor_debug"("START ", "metachar:sym<\">")
-    .lex unicode:"$\x{a2}", rx210_cur
+    .local string rx211_tgt
+    .local int rx211_pos
+    .local int rx211_off
+    .local int rx211_eos
+    .local int rx211_rep
+    .local pmc rx211_cur
+    (rx211_cur, rx211_pos, rx211_tgt) = self."!cursor_start"()
+    rx211_cur."!cursor_debug"("START ", "metachar:sym<\">")
+    .lex unicode:"$\x{a2}", rx211_cur
     .local pmc match
     .lex "$/", match
-    length rx210_eos, rx210_tgt
-    gt rx210_pos, rx210_eos, rx210_done
-    set rx210_off, 0
-    lt rx210_pos, 2, rx210_start
-    sub rx210_off, rx210_pos, 1
-    substr rx210_tgt, rx210_tgt, rx210_off
-  rx210_start:
+    length rx211_eos, rx211_tgt
+    gt rx211_pos, rx211_eos, rx211_done
+    set rx211_off, 0
+    lt rx211_pos, 2, rx211_start
+    sub rx211_off, rx211_pos, 1
+    substr rx211_tgt, rx211_tgt, rx211_off
+  rx211_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan213_done
-    goto rxscan213_scan
-  rxscan213_loop:
-    ($P10) = rx210_cur."from"()
+    ne $I10, -1, rxscan214_done
+    goto rxscan214_scan
+  rxscan214_loop:
+    ($P10) = rx211_cur."from"()
     inc $P10
-    set rx210_pos, $P10
-    ge rx210_pos, rx210_eos, rxscan213_done
-  rxscan213_scan:
-    set_addr $I10, rxscan213_loop
-    rx210_cur."!mark_push"(0, rx210_pos, $I10)
-  rxscan213_done:
+    set rx211_pos, $P10
+    ge rx211_pos, rx211_eos, rxscan214_done
+  rxscan214_scan:
+    set_addr $I10, rxscan214_loop
+    rx211_cur."!mark_push"(0, rx211_pos, $I10)
+  rxscan214_done:
 .annotate 'line', 78
   # rx enumcharlist negate=0 zerowidth
-    ge rx210_pos, rx210_eos, rx210_fail
-    sub $I10, rx210_pos, rx210_off
-    substr $S10, rx210_tgt, $I10, 1
+    ge rx211_pos, rx211_eos, rx211_fail
+    sub $I10, rx211_pos, rx211_off
+    substr $S10, rx211_tgt, $I10, 1
     index $I11, "\"", $S10
-    lt $I11, 0, rx210_fail
+    lt $I11, 0, rx211_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx210_cur."!cursor_pos"(rx210_pos)
-    $P10 = rx210_cur."quote_EXPR"(":qq")
-    unless $P10, rx210_fail
-    rx210_cur."!mark_push"(0, -1, 0, $P10)
+    rx211_cur."!cursor_pos"(rx211_pos)
+    $P10 = rx211_cur."quote_EXPR"(":qq")
+    unless $P10, rx211_fail
+    rx211_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx210_pos = $P10."pos"()
+    rx211_pos = $P10."pos"()
   # rx pass
-    rx210_cur."!cursor_pass"(rx210_pos, "metachar:sym<\">")
-    rx210_cur."!cursor_debug"("PASS  ", "metachar:sym<\">", " at pos=", rx210_pos)
-    .return (rx210_cur)
-  rx210_fail:
+    rx211_cur."!cursor_pass"(rx211_pos, "metachar:sym<\">")
+    rx211_cur."!cursor_debug"("PASS  ", "metachar:sym<\">", " at pos=", rx211_pos)
+    .return (rx211_cur)
+  rx211_fail:
 .annotate 'line', 3
-    (rx210_rep, rx210_pos, $I10, $P10) = rx210_cur."!mark_fail"(0)
-    lt rx210_pos, -1, rx210_done
-    eq rx210_pos, -1, rx210_fail
+    (rx211_rep, rx211_pos, $I10, $P10) = rx211_cur."!mark_fail"(0)
+    lt rx211_pos, -1, rx211_done
+    eq rx211_pos, -1, rx211_fail
     jump $I10
-  rx210_done:
-    rx210_cur."!cursor_fail"()
-    rx210_cur."!cursor_debug"("FAIL  ", "metachar:sym<\">")
-    .return (rx210_cur)
+  rx211_done:
+    rx211_cur."!cursor_fail"()
+    rx211_cur."!cursor_debug"("FAIL  ", "metachar:sym<\">")
+    .return (rx211_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<\">"  :subid("58_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<\">"  :subid("58_1275811476.7961") :method
 .annotate 'line', 3
-    new $P212, "ResizablePMCArray"
-    push $P212, "\""
-    .return ($P212)
+    new $P213, "ResizablePMCArray"
+    push $P213, "\""
+    .return ($P213)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<.>"  :subid("59_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<.>"  :subid("59_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx215_tgt
-    .local int rx215_pos
-    .local int rx215_off
-    .local int rx215_eos
-    .local int rx215_rep
-    .local pmc rx215_cur
-    (rx215_cur, rx215_pos, rx215_tgt) = self."!cursor_start"()
-    rx215_cur."!cursor_debug"("START ", "metachar:sym<.>")
-    .lex unicode:"$\x{a2}", rx215_cur
+    .local string rx216_tgt
+    .local int rx216_pos
+    .local int rx216_off
+    .local int rx216_eos
+    .local int rx216_rep
+    .local pmc rx216_cur
+    (rx216_cur, rx216_pos, rx216_tgt) = self."!cursor_start"()
+    rx216_cur."!cursor_debug"("START ", "metachar:sym<.>")
+    .lex unicode:"$\x{a2}", rx216_cur
     .local pmc match
     .lex "$/", match
-    length rx215_eos, rx215_tgt
-    gt rx215_pos, rx215_eos, rx215_done
-    set rx215_off, 0
-    lt rx215_pos, 2, rx215_start
-    sub rx215_off, rx215_pos, 1
-    substr rx215_tgt, rx215_tgt, rx215_off
-  rx215_start:
+    length rx216_eos, rx216_tgt
+    gt rx216_pos, rx216_eos, rx216_done
+    set rx216_off, 0
+    lt rx216_pos, 2, rx216_start
+    sub rx216_off, rx216_pos, 1
+    substr rx216_tgt, rx216_tgt, rx216_off
+  rx216_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan218_done
-    goto rxscan218_scan
-  rxscan218_loop:
-    ($P10) = rx215_cur."from"()
+    ne $I10, -1, rxscan219_done
+    goto rxscan219_scan
+  rxscan219_loop:
+    ($P10) = rx216_cur."from"()
     inc $P10
-    set rx215_pos, $P10
-    ge rx215_pos, rx215_eos, rxscan218_done
-  rxscan218_scan:
-    set_addr $I10, rxscan218_loop
-    rx215_cur."!mark_push"(0, rx215_pos, $I10)
-  rxscan218_done:
+    set rx216_pos, $P10
+    ge rx216_pos, rx216_eos, rxscan219_done
+  rxscan219_scan:
+    set_addr $I10, rxscan219_loop
+    rx216_cur."!mark_push"(0, rx216_pos, $I10)
+  rxscan219_done:
 .annotate 'line', 79
   # rx subcapture "sym"
-    set_addr $I10, rxcap_219_fail
-    rx215_cur."!mark_push"(0, rx215_pos, $I10)
+    set_addr $I10, rxcap_220_fail
+    rx216_cur."!mark_push"(0, rx216_pos, $I10)
   # rx literal  "."
-    add $I11, rx215_pos, 1
-    gt $I11, rx215_eos, rx215_fail
-    sub $I11, rx215_pos, rx215_off
-    substr $S10, rx215_tgt, $I11, 1
-    ne $S10, ".", rx215_fail
-    add rx215_pos, 1
-    set_addr $I10, rxcap_219_fail
-    ($I12, $I11) = rx215_cur."!mark_peek"($I10)
-    rx215_cur."!cursor_pos"($I11)
-    ($P10) = rx215_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx215_pos, "")
-    rx215_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx216_pos, 1
+    gt $I11, rx216_eos, rx216_fail
+    sub $I11, rx216_pos, rx216_off
+    substr $S10, rx216_tgt, $I11, 1
+    ne $S10, ".", rx216_fail
+    add rx216_pos, 1
+    set_addr $I10, rxcap_220_fail
+    ($I12, $I11) = rx216_cur."!mark_peek"($I10)
+    rx216_cur."!cursor_pos"($I11)
+    ($P10) = rx216_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx216_pos, "")
+    rx216_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_219_done
-  rxcap_219_fail:
-    goto rx215_fail
-  rxcap_219_done:
+    goto rxcap_220_done
+  rxcap_220_fail:
+    goto rx216_fail
+  rxcap_220_done:
   # rx pass
-    rx215_cur."!cursor_pass"(rx215_pos, "metachar:sym<.>")
-    rx215_cur."!cursor_debug"("PASS  ", "metachar:sym<.>", " at pos=", rx215_pos)
-    .return (rx215_cur)
-  rx215_fail:
+    rx216_cur."!cursor_pass"(rx216_pos, "metachar:sym<.>")
+    rx216_cur."!cursor_debug"("PASS  ", "metachar:sym<.>", " at pos=", rx216_pos)
+    .return (rx216_cur)
+  rx216_fail:
 .annotate 'line', 3
-    (rx215_rep, rx215_pos, $I10, $P10) = rx215_cur."!mark_fail"(0)
-    lt rx215_pos, -1, rx215_done
-    eq rx215_pos, -1, rx215_fail
+    (rx216_rep, rx216_pos, $I10, $P10) = rx216_cur."!mark_fail"(0)
+    lt rx216_pos, -1, rx216_done
+    eq rx216_pos, -1, rx216_fail
     jump $I10
-  rx215_done:
-    rx215_cur."!cursor_fail"()
-    rx215_cur."!cursor_debug"("FAIL  ", "metachar:sym<.>")
-    .return (rx215_cur)
+  rx216_done:
+    rx216_cur."!cursor_fail"()
+    rx216_cur."!cursor_debug"("FAIL  ", "metachar:sym<.>")
+    .return (rx216_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<.>"  :subid("60_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<.>"  :subid("60_1275811476.7961") :method
 .annotate 'line', 3
-    new $P217, "ResizablePMCArray"
-    push $P217, "."
-    .return ($P217)
+    new $P218, "ResizablePMCArray"
+    push $P218, "."
+    .return ($P218)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^>"  :subid("61_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<^>"  :subid("61_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx221_tgt
-    .local int rx221_pos
-    .local int rx221_off
-    .local int rx221_eos
-    .local int rx221_rep
-    .local pmc rx221_cur
-    (rx221_cur, rx221_pos, rx221_tgt) = self."!cursor_start"()
-    rx221_cur."!cursor_debug"("START ", "metachar:sym<^>")
-    .lex unicode:"$\x{a2}", rx221_cur
+    .local string rx222_tgt
+    .local int rx222_pos
+    .local int rx222_off
+    .local int rx222_eos
+    .local int rx222_rep
+    .local pmc rx222_cur
+    (rx222_cur, rx222_pos, rx222_tgt) = self."!cursor_start"()
+    rx222_cur."!cursor_debug"("START ", "metachar:sym<^>")
+    .lex unicode:"$\x{a2}", rx222_cur
     .local pmc match
     .lex "$/", match
-    length rx221_eos, rx221_tgt
-    gt rx221_pos, rx221_eos, rx221_done
-    set rx221_off, 0
-    lt rx221_pos, 2, rx221_start
-    sub rx221_off, rx221_pos, 1
-    substr rx221_tgt, rx221_tgt, rx221_off
-  rx221_start:
+    length rx222_eos, rx222_tgt
+    gt rx222_pos, rx222_eos, rx222_done
+    set rx222_off, 0
+    lt rx222_pos, 2, rx222_start
+    sub rx222_off, rx222_pos, 1
+    substr rx222_tgt, rx222_tgt, rx222_off
+  rx222_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan224_done
-    goto rxscan224_scan
-  rxscan224_loop:
-    ($P10) = rx221_cur."from"()
+    ne $I10, -1, rxscan225_done
+    goto rxscan225_scan
+  rxscan225_loop:
+    ($P10) = rx222_cur."from"()
     inc $P10
-    set rx221_pos, $P10
-    ge rx221_pos, rx221_eos, rxscan224_done
-  rxscan224_scan:
-    set_addr $I10, rxscan224_loop
-    rx221_cur."!mark_push"(0, rx221_pos, $I10)
-  rxscan224_done:
+    set rx222_pos, $P10
+    ge rx222_pos, rx222_eos, rxscan225_done
+  rxscan225_scan:
+    set_addr $I10, rxscan225_loop
+    rx222_cur."!mark_push"(0, rx222_pos, $I10)
+  rxscan225_done:
 .annotate 'line', 80
   # rx subcapture "sym"
-    set_addr $I10, rxcap_225_fail
-    rx221_cur."!mark_push"(0, rx221_pos, $I10)
+    set_addr $I10, rxcap_226_fail
+    rx222_cur."!mark_push"(0, rx222_pos, $I10)
   # rx literal  "^"
-    add $I11, rx221_pos, 1
-    gt $I11, rx221_eos, rx221_fail
-    sub $I11, rx221_pos, rx221_off
-    substr $S10, rx221_tgt, $I11, 1
-    ne $S10, "^", rx221_fail
-    add rx221_pos, 1
-    set_addr $I10, rxcap_225_fail
-    ($I12, $I11) = rx221_cur."!mark_peek"($I10)
-    rx221_cur."!cursor_pos"($I11)
-    ($P10) = rx221_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx221_pos, "")
-    rx221_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx222_pos, 1
+    gt $I11, rx222_eos, rx222_fail
+    sub $I11, rx222_pos, rx222_off
+    substr $S10, rx222_tgt, $I11, 1
+    ne $S10, "^", rx222_fail
+    add rx222_pos, 1
+    set_addr $I10, rxcap_226_fail
+    ($I12, $I11) = rx222_cur."!mark_peek"($I10)
+    rx222_cur."!cursor_pos"($I11)
+    ($P10) = rx222_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx222_pos, "")
+    rx222_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_225_done
-  rxcap_225_fail:
-    goto rx221_fail
-  rxcap_225_done:
+    goto rxcap_226_done
+  rxcap_226_fail:
+    goto rx222_fail
+  rxcap_226_done:
   # rx pass
-    rx221_cur."!cursor_pass"(rx221_pos, "metachar:sym<^>")
-    rx221_cur."!cursor_debug"("PASS  ", "metachar:sym<^>", " at pos=", rx221_pos)
-    .return (rx221_cur)
-  rx221_fail:
+    rx222_cur."!cursor_pass"(rx222_pos, "metachar:sym<^>")
+    rx222_cur."!cursor_debug"("PASS  ", "metachar:sym<^>", " at pos=", rx222_pos)
+    .return (rx222_cur)
+  rx222_fail:
 .annotate 'line', 3
-    (rx221_rep, rx221_pos, $I10, $P10) = rx221_cur."!mark_fail"(0)
-    lt rx221_pos, -1, rx221_done
-    eq rx221_pos, -1, rx221_fail
+    (rx222_rep, rx222_pos, $I10, $P10) = rx222_cur."!mark_fail"(0)
+    lt rx222_pos, -1, rx222_done
+    eq rx222_pos, -1, rx222_fail
     jump $I10
-  rx221_done:
-    rx221_cur."!cursor_fail"()
-    rx221_cur."!cursor_debug"("FAIL  ", "metachar:sym<^>")
-    .return (rx221_cur)
+  rx222_done:
+    rx222_cur."!cursor_fail"()
+    rx222_cur."!cursor_debug"("FAIL  ", "metachar:sym<^>")
+    .return (rx222_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^>"  :subid("62_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<^>"  :subid("62_1275811476.7961") :method
 .annotate 'line', 3
-    new $P223, "ResizablePMCArray"
-    push $P223, "^"
-    .return ($P223)
+    new $P224, "ResizablePMCArray"
+    push $P224, "^"
+    .return ($P224)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^^>"  :subid("63_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<^^>"  :subid("63_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx227_tgt
-    .local int rx227_pos
-    .local int rx227_off
-    .local int rx227_eos
-    .local int rx227_rep
-    .local pmc rx227_cur
-    (rx227_cur, rx227_pos, rx227_tgt) = self."!cursor_start"()
-    rx227_cur."!cursor_debug"("START ", "metachar:sym<^^>")
-    .lex unicode:"$\x{a2}", rx227_cur
+    .local string rx228_tgt
+    .local int rx228_pos
+    .local int rx228_off
+    .local int rx228_eos
+    .local int rx228_rep
+    .local pmc rx228_cur
+    (rx228_cur, rx228_pos, rx228_tgt) = self."!cursor_start"()
+    rx228_cur."!cursor_debug"("START ", "metachar:sym<^^>")
+    .lex unicode:"$\x{a2}", rx228_cur
     .local pmc match
     .lex "$/", match
-    length rx227_eos, rx227_tgt
-    gt rx227_pos, rx227_eos, rx227_done
-    set rx227_off, 0
-    lt rx227_pos, 2, rx227_start
-    sub rx227_off, rx227_pos, 1
-    substr rx227_tgt, rx227_tgt, rx227_off
-  rx227_start:
+    length rx228_eos, rx228_tgt
+    gt rx228_pos, rx228_eos, rx228_done
+    set rx228_off, 0
+    lt rx228_pos, 2, rx228_start
+    sub rx228_off, rx228_pos, 1
+    substr rx228_tgt, rx228_tgt, rx228_off
+  rx228_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan230_done
-    goto rxscan230_scan
-  rxscan230_loop:
-    ($P10) = rx227_cur."from"()
+    ne $I10, -1, rxscan231_done
+    goto rxscan231_scan
+  rxscan231_loop:
+    ($P10) = rx228_cur."from"()
     inc $P10
-    set rx227_pos, $P10
-    ge rx227_pos, rx227_eos, rxscan230_done
-  rxscan230_scan:
-    set_addr $I10, rxscan230_loop
-    rx227_cur."!mark_push"(0, rx227_pos, $I10)
-  rxscan230_done:
+    set rx228_pos, $P10
+    ge rx228_pos, rx228_eos, rxscan231_done
+  rxscan231_scan:
+    set_addr $I10, rxscan231_loop
+    rx228_cur."!mark_push"(0, rx228_pos, $I10)
+  rxscan231_done:
 .annotate 'line', 81
   # rx subcapture "sym"
-    set_addr $I10, rxcap_231_fail
-    rx227_cur."!mark_push"(0, rx227_pos, $I10)
+    set_addr $I10, rxcap_232_fail
+    rx228_cur."!mark_push"(0, rx228_pos, $I10)
   # rx literal  "^^"
-    add $I11, rx227_pos, 2
-    gt $I11, rx227_eos, rx227_fail
-    sub $I11, rx227_pos, rx227_off
-    substr $S10, rx227_tgt, $I11, 2
-    ne $S10, "^^", rx227_fail
-    add rx227_pos, 2
-    set_addr $I10, rxcap_231_fail
-    ($I12, $I11) = rx227_cur."!mark_peek"($I10)
-    rx227_cur."!cursor_pos"($I11)
-    ($P10) = rx227_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx227_pos, "")
-    rx227_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx228_pos, 2
+    gt $I11, rx228_eos, rx228_fail
+    sub $I11, rx228_pos, rx228_off
+    substr $S10, rx228_tgt, $I11, 2
+    ne $S10, "^^", rx228_fail
+    add rx228_pos, 2
+    set_addr $I10, rxcap_232_fail
+    ($I12, $I11) = rx228_cur."!mark_peek"($I10)
+    rx228_cur."!cursor_pos"($I11)
+    ($P10) = rx228_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx228_pos, "")
+    rx228_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_231_done
-  rxcap_231_fail:
-    goto rx227_fail
-  rxcap_231_done:
+    goto rxcap_232_done
+  rxcap_232_fail:
+    goto rx228_fail
+  rxcap_232_done:
   # rx pass
-    rx227_cur."!cursor_pass"(rx227_pos, "metachar:sym<^^>")
-    rx227_cur."!cursor_debug"("PASS  ", "metachar:sym<^^>", " at pos=", rx227_pos)
-    .return (rx227_cur)
-  rx227_fail:
+    rx228_cur."!cursor_pass"(rx228_pos, "metachar:sym<^^>")
+    rx228_cur."!cursor_debug"("PASS  ", "metachar:sym<^^>", " at pos=", rx228_pos)
+    .return (rx228_cur)
+  rx228_fail:
 .annotate 'line', 3
-    (rx227_rep, rx227_pos, $I10, $P10) = rx227_cur."!mark_fail"(0)
-    lt rx227_pos, -1, rx227_done
-    eq rx227_pos, -1, rx227_fail
+    (rx228_rep, rx228_pos, $I10, $P10) = rx228_cur."!mark_fail"(0)
+    lt rx228_pos, -1, rx228_done
+    eq rx228_pos, -1, rx228_fail
     jump $I10
-  rx227_done:
-    rx227_cur."!cursor_fail"()
-    rx227_cur."!cursor_debug"("FAIL  ", "metachar:sym<^^>")
-    .return (rx227_cur)
+  rx228_done:
+    rx228_cur."!cursor_fail"()
+    rx228_cur."!cursor_debug"("FAIL  ", "metachar:sym<^^>")
+    .return (rx228_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^^>"  :subid("64_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<^^>"  :subid("64_1275811476.7961") :method
 .annotate 'line', 3
-    new $P229, "ResizablePMCArray"
-    push $P229, "^^"
-    .return ($P229)
+    new $P230, "ResizablePMCArray"
+    push $P230, "^^"
+    .return ($P230)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$>"  :subid("65_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<$>"  :subid("65_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx233_tgt
-    .local int rx233_pos
-    .local int rx233_off
-    .local int rx233_eos
-    .local int rx233_rep
-    .local pmc rx233_cur
-    (rx233_cur, rx233_pos, rx233_tgt) = self."!cursor_start"()
-    rx233_cur."!cursor_debug"("START ", "metachar:sym<$>")
-    .lex unicode:"$\x{a2}", rx233_cur
+    .local string rx234_tgt
+    .local int rx234_pos
+    .local int rx234_off
+    .local int rx234_eos
+    .local int rx234_rep
+    .local pmc rx234_cur
+    (rx234_cur, rx234_pos, rx234_tgt) = self."!cursor_start"()
+    rx234_cur."!cursor_debug"("START ", "metachar:sym<$>")
+    .lex unicode:"$\x{a2}", rx234_cur
     .local pmc match
     .lex "$/", match
-    length rx233_eos, rx233_tgt
-    gt rx233_pos, rx233_eos, rx233_done
-    set rx233_off, 0
-    lt rx233_pos, 2, rx233_start
-    sub rx233_off, rx233_pos, 1
-    substr rx233_tgt, rx233_tgt, rx233_off
-  rx233_start:
+    length rx234_eos, rx234_tgt
+    gt rx234_pos, rx234_eos, rx234_done
+    set rx234_off, 0
+    lt rx234_pos, 2, rx234_start
+    sub rx234_off, rx234_pos, 1
+    substr rx234_tgt, rx234_tgt, rx234_off
+  rx234_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan236_done
-    goto rxscan236_scan
-  rxscan236_loop:
-    ($P10) = rx233_cur."from"()
+    ne $I10, -1, rxscan237_done
+    goto rxscan237_scan
+  rxscan237_loop:
+    ($P10) = rx234_cur."from"()
     inc $P10
-    set rx233_pos, $P10
-    ge rx233_pos, rx233_eos, rxscan236_done
-  rxscan236_scan:
-    set_addr $I10, rxscan236_loop
-    rx233_cur."!mark_push"(0, rx233_pos, $I10)
-  rxscan236_done:
+    set rx234_pos, $P10
+    ge rx234_pos, rx234_eos, rxscan237_done
+  rxscan237_scan:
+    set_addr $I10, rxscan237_loop
+    rx234_cur."!mark_push"(0, rx234_pos, $I10)
+  rxscan237_done:
 .annotate 'line', 82
   # rx subcapture "sym"
-    set_addr $I10, rxcap_237_fail
-    rx233_cur."!mark_push"(0, rx233_pos, $I10)
+    set_addr $I10, rxcap_238_fail
+    rx234_cur."!mark_push"(0, rx234_pos, $I10)
   # rx literal  "$"
-    add $I11, rx233_pos, 1
-    gt $I11, rx233_eos, rx233_fail
-    sub $I11, rx233_pos, rx233_off
-    substr $S10, rx233_tgt, $I11, 1
-    ne $S10, "$", rx233_fail
-    add rx233_pos, 1
-    set_addr $I10, rxcap_237_fail
-    ($I12, $I11) = rx233_cur."!mark_peek"($I10)
-    rx233_cur."!cursor_pos"($I11)
-    ($P10) = rx233_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx233_pos, "")
-    rx233_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx234_pos, 1
+    gt $I11, rx234_eos, rx234_fail
+    sub $I11, rx234_pos, rx234_off
+    substr $S10, rx234_tgt, $I11, 1
+    ne $S10, "$", rx234_fail
+    add rx234_pos, 1
+    set_addr $I10, rxcap_238_fail
+    ($I12, $I11) = rx234_cur."!mark_peek"($I10)
+    rx234_cur."!cursor_pos"($I11)
+    ($P10) = rx234_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx234_pos, "")
+    rx234_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_237_done
-  rxcap_237_fail:
-    goto rx233_fail
-  rxcap_237_done:
+    goto rxcap_238_done
+  rxcap_238_fail:
+    goto rx234_fail
+  rxcap_238_done:
   # rx pass
-    rx233_cur."!cursor_pass"(rx233_pos, "metachar:sym<$>")
-    rx233_cur."!cursor_debug"("PASS  ", "metachar:sym<$>", " at pos=", rx233_pos)
-    .return (rx233_cur)
-  rx233_fail:
+    rx234_cur."!cursor_pass"(rx234_pos, "metachar:sym<$>")
+    rx234_cur."!cursor_debug"("PASS  ", "metachar:sym<$>", " at pos=", rx234_pos)
+    .return (rx234_cur)
+  rx234_fail:
 .annotate 'line', 3
-    (rx233_rep, rx233_pos, $I10, $P10) = rx233_cur."!mark_fail"(0)
-    lt rx233_pos, -1, rx233_done
-    eq rx233_pos, -1, rx233_fail
+    (rx234_rep, rx234_pos, $I10, $P10) = rx234_cur."!mark_fail"(0)
+    lt rx234_pos, -1, rx234_done
+    eq rx234_pos, -1, rx234_fail
     jump $I10
-  rx233_done:
-    rx233_cur."!cursor_fail"()
-    rx233_cur."!cursor_debug"("FAIL  ", "metachar:sym<$>")
-    .return (rx233_cur)
+  rx234_done:
+    rx234_cur."!cursor_fail"()
+    rx234_cur."!cursor_debug"("FAIL  ", "metachar:sym<$>")
+    .return (rx234_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$>"  :subid("66_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<$>"  :subid("66_1275811476.7961") :method
 .annotate 'line', 3
-    new $P235, "ResizablePMCArray"
-    push $P235, "$"
-    .return ($P235)
+    new $P236, "ResizablePMCArray"
+    push $P236, "$"
+    .return ($P236)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$$>"  :subid("67_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<$$>"  :subid("67_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx239_tgt
-    .local int rx239_pos
-    .local int rx239_off
-    .local int rx239_eos
-    .local int rx239_rep
-    .local pmc rx239_cur
-    (rx239_cur, rx239_pos, rx239_tgt) = self."!cursor_start"()
-    rx239_cur."!cursor_debug"("START ", "metachar:sym<$$>")
-    .lex unicode:"$\x{a2}", rx239_cur
+    .local string rx240_tgt
+    .local int rx240_pos
+    .local int rx240_off
+    .local int rx240_eos
+    .local int rx240_rep
+    .local pmc rx240_cur
+    (rx240_cur, rx240_pos, rx240_tgt) = self."!cursor_start"()
+    rx240_cur."!cursor_debug"("START ", "metachar:sym<$$>")
+    .lex unicode:"$\x{a2}", rx240_cur
     .local pmc match
     .lex "$/", match
-    length rx239_eos, rx239_tgt
-    gt rx239_pos, rx239_eos, rx239_done
-    set rx239_off, 0
-    lt rx239_pos, 2, rx239_start
-    sub rx239_off, rx239_pos, 1
-    substr rx239_tgt, rx239_tgt, rx239_off
-  rx239_start:
+    length rx240_eos, rx240_tgt
+    gt rx240_pos, rx240_eos, rx240_done
+    set rx240_off, 0
+    lt rx240_pos, 2, rx240_start
+    sub rx240_off, rx240_pos, 1
+    substr rx240_tgt, rx240_tgt, rx240_off
+  rx240_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan242_done
-    goto rxscan242_scan
-  rxscan242_loop:
-    ($P10) = rx239_cur."from"()
+    ne $I10, -1, rxscan243_done
+    goto rxscan243_scan
+  rxscan243_loop:
+    ($P10) = rx240_cur."from"()
     inc $P10
-    set rx239_pos, $P10
-    ge rx239_pos, rx239_eos, rxscan242_done
-  rxscan242_scan:
-    set_addr $I10, rxscan242_loop
-    rx239_cur."!mark_push"(0, rx239_pos, $I10)
-  rxscan242_done:
+    set rx240_pos, $P10
+    ge rx240_pos, rx240_eos, rxscan243_done
+  rxscan243_scan:
+    set_addr $I10, rxscan243_loop
+    rx240_cur."!mark_push"(0, rx240_pos, $I10)
+  rxscan243_done:
 .annotate 'line', 83
   # rx subcapture "sym"
-    set_addr $I10, rxcap_243_fail
-    rx239_cur."!mark_push"(0, rx239_pos, $I10)
+    set_addr $I10, rxcap_244_fail
+    rx240_cur."!mark_push"(0, rx240_pos, $I10)
   # rx literal  "$$"
-    add $I11, rx239_pos, 2
-    gt $I11, rx239_eos, rx239_fail
-    sub $I11, rx239_pos, rx239_off
-    substr $S10, rx239_tgt, $I11, 2
-    ne $S10, "$$", rx239_fail
-    add rx239_pos, 2
-    set_addr $I10, rxcap_243_fail
-    ($I12, $I11) = rx239_cur."!mark_peek"($I10)
-    rx239_cur."!cursor_pos"($I11)
-    ($P10) = rx239_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx239_pos, "")
-    rx239_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx240_pos, 2
+    gt $I11, rx240_eos, rx240_fail
+    sub $I11, rx240_pos, rx240_off
+    substr $S10, rx240_tgt, $I11, 2
+    ne $S10, "$$", rx240_fail
+    add rx240_pos, 2
+    set_addr $I10, rxcap_244_fail
+    ($I12, $I11) = rx240_cur."!mark_peek"($I10)
+    rx240_cur."!cursor_pos"($I11)
+    ($P10) = rx240_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx240_pos, "")
+    rx240_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_243_done
-  rxcap_243_fail:
-    goto rx239_fail
-  rxcap_243_done:
+    goto rxcap_244_done
+  rxcap_244_fail:
+    goto rx240_fail
+  rxcap_244_done:
   # rx pass
-    rx239_cur."!cursor_pass"(rx239_pos, "metachar:sym<$$>")
-    rx239_cur."!cursor_debug"("PASS  ", "metachar:sym<$$>", " at pos=", rx239_pos)
-    .return (rx239_cur)
-  rx239_fail:
+    rx240_cur."!cursor_pass"(rx240_pos, "metachar:sym<$$>")
+    rx240_cur."!cursor_debug"("PASS  ", "metachar:sym<$$>", " at pos=", rx240_pos)
+    .return (rx240_cur)
+  rx240_fail:
 .annotate 'line', 3
-    (rx239_rep, rx239_pos, $I10, $P10) = rx239_cur."!mark_fail"(0)
-    lt rx239_pos, -1, rx239_done
-    eq rx239_pos, -1, rx239_fail
+    (rx240_rep, rx240_pos, $I10, $P10) = rx240_cur."!mark_fail"(0)
+    lt rx240_pos, -1, rx240_done
+    eq rx240_pos, -1, rx240_fail
     jump $I10
-  rx239_done:
-    rx239_cur."!cursor_fail"()
-    rx239_cur."!cursor_debug"("FAIL  ", "metachar:sym<$$>")
-    .return (rx239_cur)
+  rx240_done:
+    rx240_cur."!cursor_fail"()
+    rx240_cur."!cursor_debug"("FAIL  ", "metachar:sym<$$>")
+    .return (rx240_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$$>"  :subid("68_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<$$>"  :subid("68_1275811476.7961") :method
 .annotate 'line', 3
-    new $P241, "ResizablePMCArray"
-    push $P241, "$$"
-    .return ($P241)
+    new $P242, "ResizablePMCArray"
+    push $P242, "$$"
+    .return ($P242)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<:::>"  :subid("69_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<:::>"  :subid("69_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx245_tgt
-    .local int rx245_pos
-    .local int rx245_off
-    .local int rx245_eos
-    .local int rx245_rep
-    .local pmc rx245_cur
-    (rx245_cur, rx245_pos, rx245_tgt) = self."!cursor_start"()
-    rx245_cur."!cursor_debug"("START ", "metachar:sym<:::>")
-    .lex unicode:"$\x{a2}", rx245_cur
-    .local pmc match
-    .lex "$/", match
-    length rx245_eos, rx245_tgt
-    gt rx245_pos, rx245_eos, rx245_done
-    set rx245_off, 0
-    lt rx245_pos, 2, rx245_start
-    sub rx245_off, rx245_pos, 1
-    substr rx245_tgt, rx245_tgt, rx245_off
-  rx245_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan249_done
-    goto rxscan249_scan
-  rxscan249_loop:
-    ($P10) = rx245_cur."from"()
-    inc $P10
-    set rx245_pos, $P10
-    ge rx245_pos, rx245_eos, rxscan249_done
-  rxscan249_scan:
-    set_addr $I10, rxscan249_loop
-    rx245_cur."!mark_push"(0, rx245_pos, $I10)
-  rxscan249_done:
+    .local string rx246_tgt
+    .local int rx246_pos
+    .local int rx246_off
+    .local int rx246_eos
+    .local int rx246_rep
+    .local pmc rx246_cur
+    (rx246_cur, rx246_pos, rx246_tgt) = self."!cursor_start"()
+    rx246_cur."!cursor_debug"("START ", "metachar:sym<:::>")
+    .lex unicode:"$\x{a2}", rx246_cur
+    .local pmc match
+    .lex "$/", match
+    length rx246_eos, rx246_tgt
+    gt rx246_pos, rx246_eos, rx246_done
+    set rx246_off, 0
+    lt rx246_pos, 2, rx246_start
+    sub rx246_off, rx246_pos, 1
+    substr rx246_tgt, rx246_tgt, rx246_off
+  rx246_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan250_done
+    goto rxscan250_scan
+  rxscan250_loop:
+    ($P10) = rx246_cur."from"()
+    inc $P10
+    set rx246_pos, $P10
+    ge rx246_pos, rx246_eos, rxscan250_done
+  rxscan250_scan:
+    set_addr $I10, rxscan250_loop
+    rx246_cur."!mark_push"(0, rx246_pos, $I10)
+  rxscan250_done:
 .annotate 'line', 84
   # rx subcapture "sym"
-    set_addr $I10, rxcap_250_fail
-    rx245_cur."!mark_push"(0, rx245_pos, $I10)
+    set_addr $I10, rxcap_251_fail
+    rx246_cur."!mark_push"(0, rx246_pos, $I10)
   # rx literal  ":::"
-    add $I11, rx245_pos, 3
-    gt $I11, rx245_eos, rx245_fail
-    sub $I11, rx245_pos, rx245_off
-    substr $S10, rx245_tgt, $I11, 3
-    ne $S10, ":::", rx245_fail
-    add rx245_pos, 3
-    set_addr $I10, rxcap_250_fail
-    ($I12, $I11) = rx245_cur."!mark_peek"($I10)
-    rx245_cur."!cursor_pos"($I11)
-    ($P10) = rx245_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx245_pos, "")
-    rx245_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx246_pos, 3
+    gt $I11, rx246_eos, rx246_fail
+    sub $I11, rx246_pos, rx246_off
+    substr $S10, rx246_tgt, $I11, 3
+    ne $S10, ":::", rx246_fail
+    add rx246_pos, 3
+    set_addr $I10, rxcap_251_fail
+    ($I12, $I11) = rx246_cur."!mark_peek"($I10)
+    rx246_cur."!cursor_pos"($I11)
+    ($P10) = rx246_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx246_pos, "")
+    rx246_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_250_done
-  rxcap_250_fail:
-    goto rx245_fail
-  rxcap_250_done:
+    goto rxcap_251_done
+  rxcap_251_fail:
+    goto rx246_fail
+  rxcap_251_done:
   # rx subrule "panic" subtype=method negate=
-    rx245_cur."!cursor_pos"(rx245_pos)
-    $P10 = rx245_cur."panic"("::: not yet implemented")
-    unless $P10, rx245_fail
-    rx245_pos = $P10."pos"()
+    rx246_cur."!cursor_pos"(rx246_pos)
+    $P10 = rx246_cur."panic"("::: not yet implemented")
+    unless $P10, rx246_fail
+    rx246_pos = $P10."pos"()
   # rx pass
-    rx245_cur."!cursor_pass"(rx245_pos, "metachar:sym<:::>")
-    rx245_cur."!cursor_debug"("PASS  ", "metachar:sym<:::>", " at pos=", rx245_pos)
-    .return (rx245_cur)
-  rx245_fail:
+    rx246_cur."!cursor_pass"(rx246_pos, "metachar:sym<:::>")
+    rx246_cur."!cursor_debug"("PASS  ", "metachar:sym<:::>", " at pos=", rx246_pos)
+    .return (rx246_cur)
+  rx246_fail:
 .annotate 'line', 3
-    (rx245_rep, rx245_pos, $I10, $P10) = rx245_cur."!mark_fail"(0)
-    lt rx245_pos, -1, rx245_done
-    eq rx245_pos, -1, rx245_fail
+    (rx246_rep, rx246_pos, $I10, $P10) = rx246_cur."!mark_fail"(0)
+    lt rx246_pos, -1, rx246_done
+    eq rx246_pos, -1, rx246_fail
     jump $I10
-  rx245_done:
-    rx245_cur."!cursor_fail"()
-    rx245_cur."!cursor_debug"("FAIL  ", "metachar:sym<:::>")
-    .return (rx245_cur)
+  rx246_done:
+    rx246_cur."!cursor_fail"()
+    rx246_cur."!cursor_debug"("FAIL  ", "metachar:sym<:::>")
+    .return (rx246_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<:::>"  :subid("70_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<:::>"  :subid("70_1275811476.7961") :method
 .annotate 'line', 3
-    $P247 = self."!PREFIX__!subrule"("", ":::")
-    new $P248, "ResizablePMCArray"
-    push $P248, $P247
-    .return ($P248)
+    $P248 = self."!PREFIX__!subrule"("panic", ":::")
+    new $P249, "ResizablePMCArray"
+    push $P249, $P248
+    .return ($P249)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<::>"  :subid("71_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<::>"  :subid("71_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx252_tgt
-    .local int rx252_pos
-    .local int rx252_off
-    .local int rx252_eos
-    .local int rx252_rep
-    .local pmc rx252_cur
-    (rx252_cur, rx252_pos, rx252_tgt) = self."!cursor_start"()
-    rx252_cur."!cursor_debug"("START ", "metachar:sym<::>")
-    .lex unicode:"$\x{a2}", rx252_cur
+    .local string rx253_tgt
+    .local int rx253_pos
+    .local int rx253_off
+    .local int rx253_eos
+    .local int rx253_rep
+    .local pmc rx253_cur
+    (rx253_cur, rx253_pos, rx253_tgt) = self."!cursor_start"()
+    rx253_cur."!cursor_debug"("START ", "metachar:sym<::>")
+    .lex unicode:"$\x{a2}", rx253_cur
     .local pmc match
     .lex "$/", match
-    length rx252_eos, rx252_tgt
-    gt rx252_pos, rx252_eos, rx252_done
-    set rx252_off, 0
-    lt rx252_pos, 2, rx252_start
-    sub rx252_off, rx252_pos, 1
-    substr rx252_tgt, rx252_tgt, rx252_off
-  rx252_start:
+    length rx253_eos, rx253_tgt
+    gt rx253_pos, rx253_eos, rx253_done
+    set rx253_off, 0
+    lt rx253_pos, 2, rx253_start
+    sub rx253_off, rx253_pos, 1
+    substr rx253_tgt, rx253_tgt, rx253_off
+  rx253_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan256_done
-    goto rxscan256_scan
-  rxscan256_loop:
-    ($P10) = rx252_cur."from"()
+    ne $I10, -1, rxscan257_done
+    goto rxscan257_scan
+  rxscan257_loop:
+    ($P10) = rx253_cur."from"()
     inc $P10
-    set rx252_pos, $P10
-    ge rx252_pos, rx252_eos, rxscan256_done
-  rxscan256_scan:
-    set_addr $I10, rxscan256_loop
-    rx252_cur."!mark_push"(0, rx252_pos, $I10)
-  rxscan256_done:
+    set rx253_pos, $P10
+    ge rx253_pos, rx253_eos, rxscan257_done
+  rxscan257_scan:
+    set_addr $I10, rxscan257_loop
+    rx253_cur."!mark_push"(0, rx253_pos, $I10)
+  rxscan257_done:
 .annotate 'line', 85
   # rx subcapture "sym"
-    set_addr $I10, rxcap_257_fail
-    rx252_cur."!mark_push"(0, rx252_pos, $I10)
+    set_addr $I10, rxcap_258_fail
+    rx253_cur."!mark_push"(0, rx253_pos, $I10)
   # rx literal  "::"
-    add $I11, rx252_pos, 2
-    gt $I11, rx252_eos, rx252_fail
-    sub $I11, rx252_pos, rx252_off
-    substr $S10, rx252_tgt, $I11, 2
-    ne $S10, "::", rx252_fail
-    add rx252_pos, 2
-    set_addr $I10, rxcap_257_fail
-    ($I12, $I11) = rx252_cur."!mark_peek"($I10)
-    rx252_cur."!cursor_pos"($I11)
-    ($P10) = rx252_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx252_pos, "")
-    rx252_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx253_pos, 2
+    gt $I11, rx253_eos, rx253_fail
+    sub $I11, rx253_pos, rx253_off
+    substr $S10, rx253_tgt, $I11, 2
+    ne $S10, "::", rx253_fail
+    add rx253_pos, 2
+    set_addr $I10, rxcap_258_fail
+    ($I12, $I11) = rx253_cur."!mark_peek"($I10)
+    rx253_cur."!cursor_pos"($I11)
+    ($P10) = rx253_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx253_pos, "")
+    rx253_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_257_done
-  rxcap_257_fail:
-    goto rx252_fail
-  rxcap_257_done:
+    goto rxcap_258_done
+  rxcap_258_fail:
+    goto rx253_fail
+  rxcap_258_done:
   # rx subrule "panic" subtype=method negate=
-    rx252_cur."!cursor_pos"(rx252_pos)
-    $P10 = rx252_cur."panic"(":: not yet implemented")
-    unless $P10, rx252_fail
-    rx252_pos = $P10."pos"()
+    rx253_cur."!cursor_pos"(rx253_pos)
+    $P10 = rx253_cur."panic"(":: not yet implemented")
+    unless $P10, rx253_fail
+    rx253_pos = $P10."pos"()
   # rx pass
-    rx252_cur."!cursor_pass"(rx252_pos, "metachar:sym<::>")
-    rx252_cur."!cursor_debug"("PASS  ", "metachar:sym<::>", " at pos=", rx252_pos)
-    .return (rx252_cur)
-  rx252_fail:
+    rx253_cur."!cursor_pass"(rx253_pos, "metachar:sym<::>")
+    rx253_cur."!cursor_debug"("PASS  ", "metachar:sym<::>", " at pos=", rx253_pos)
+    .return (rx253_cur)
+  rx253_fail:
 .annotate 'line', 3
-    (rx252_rep, rx252_pos, $I10, $P10) = rx252_cur."!mark_fail"(0)
-    lt rx252_pos, -1, rx252_done
-    eq rx252_pos, -1, rx252_fail
+    (rx253_rep, rx253_pos, $I10, $P10) = rx253_cur."!mark_fail"(0)
+    lt rx253_pos, -1, rx253_done
+    eq rx253_pos, -1, rx253_fail
     jump $I10
-  rx252_done:
-    rx252_cur."!cursor_fail"()
-    rx252_cur."!cursor_debug"("FAIL  ", "metachar:sym<::>")
-    .return (rx252_cur)
+  rx253_done:
+    rx253_cur."!cursor_fail"()
+    rx253_cur."!cursor_debug"("FAIL  ", "metachar:sym<::>")
+    .return (rx253_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<::>"  :subid("72_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<::>"  :subid("72_1275811476.7961") :method
 .annotate 'line', 3
-    $P254 = self."!PREFIX__!subrule"("", "::")
-    new $P255, "ResizablePMCArray"
-    push $P255, $P254
-    .return ($P255)
+    $P255 = self."!PREFIX__!subrule"("panic", "::")
+    new $P256, "ResizablePMCArray"
+    push $P256, $P255
+    .return ($P256)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<lwb>"  :subid("73_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<lwb>"  :subid("73_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx259_tgt
-    .local int rx259_pos
-    .local int rx259_off
-    .local int rx259_eos
-    .local int rx259_rep
-    .local pmc rx259_cur
-    (rx259_cur, rx259_pos, rx259_tgt) = self."!cursor_start"()
-    rx259_cur."!cursor_debug"("START ", "metachar:sym<lwb>")
-    .lex unicode:"$\x{a2}", rx259_cur
+    .local string rx260_tgt
+    .local int rx260_pos
+    .local int rx260_off
+    .local int rx260_eos
+    .local int rx260_rep
+    .local pmc rx260_cur
+    (rx260_cur, rx260_pos, rx260_tgt) = self."!cursor_start"()
+    rx260_cur."!cursor_debug"("START ", "metachar:sym<lwb>")
+    .lex unicode:"$\x{a2}", rx260_cur
     .local pmc match
     .lex "$/", match
-    length rx259_eos, rx259_tgt
-    gt rx259_pos, rx259_eos, rx259_done
-    set rx259_off, 0
-    lt rx259_pos, 2, rx259_start
-    sub rx259_off, rx259_pos, 1
-    substr rx259_tgt, rx259_tgt, rx259_off
-  rx259_start:
+    length rx260_eos, rx260_tgt
+    gt rx260_pos, rx260_eos, rx260_done
+    set rx260_off, 0
+    lt rx260_pos, 2, rx260_start
+    sub rx260_off, rx260_pos, 1
+    substr rx260_tgt, rx260_tgt, rx260_off
+  rx260_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan262_done
-    goto rxscan262_scan
-  rxscan262_loop:
-    ($P10) = rx259_cur."from"()
+    ne $I10, -1, rxscan263_done
+    goto rxscan263_scan
+  rxscan263_loop:
+    ($P10) = rx260_cur."from"()
     inc $P10
-    set rx259_pos, $P10
-    ge rx259_pos, rx259_eos, rxscan262_done
-  rxscan262_scan:
-    set_addr $I10, rxscan262_loop
-    rx259_cur."!mark_push"(0, rx259_pos, $I10)
-  rxscan262_done:
+    set rx260_pos, $P10
+    ge rx260_pos, rx260_eos, rxscan263_done
+  rxscan263_scan:
+    set_addr $I10, rxscan263_loop
+    rx260_cur."!mark_push"(0, rx260_pos, $I10)
+  rxscan263_done:
 .annotate 'line', 86
   # rx subcapture "sym"
-    set_addr $I10, rxcap_264_fail
-    rx259_cur."!mark_push"(0, rx259_pos, $I10)
-  alt263_0:
-    set_addr $I10, alt263_1
-    rx259_cur."!mark_push"(0, rx259_pos, $I10)
+    set_addr $I10, rxcap_265_fail
+    rx260_cur."!mark_push"(0, rx260_pos, $I10)
+  alt264_0:
+    set_addr $I10, alt264_1
+    rx260_cur."!mark_push"(0, rx260_pos, $I10)
   # rx literal  "<<"
-    add $I11, rx259_pos, 2
-    gt $I11, rx259_eos, rx259_fail
-    sub $I11, rx259_pos, rx259_off
-    substr $S10, rx259_tgt, $I11, 2
-    ne $S10, "<<", rx259_fail
-    add rx259_pos, 2
-    goto alt263_end
-  alt263_1:
+    add $I11, rx260_pos, 2
+    gt $I11, rx260_eos, rx260_fail
+    sub $I11, rx260_pos, rx260_off
+    substr $S10, rx260_tgt, $I11, 2
+    ne $S10, "<<", rx260_fail
+    add rx260_pos, 2
+    goto alt264_end
+  alt264_1:
   # rx literal  unicode:"\x{ab}"
-    add $I11, rx259_pos, 1
-    gt $I11, rx259_eos, rx259_fail
-    sub $I11, rx259_pos, rx259_off
-    substr $S10, rx259_tgt, $I11, 1
-    ne $S10, unicode:"\x{ab}", rx259_fail
-    add rx259_pos, 1
-  alt263_end:
-    set_addr $I10, rxcap_264_fail
-    ($I12, $I11) = rx259_cur."!mark_peek"($I10)
-    rx259_cur."!cursor_pos"($I11)
-    ($P10) = rx259_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx259_pos, "")
-    rx259_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx260_pos, 1
+    gt $I11, rx260_eos, rx260_fail
+    sub $I11, rx260_pos, rx260_off
+    substr $S10, rx260_tgt, $I11, 1
+    ne $S10, unicode:"\x{ab}", rx260_fail
+    add rx260_pos, 1
+  alt264_end:
+    set_addr $I10, rxcap_265_fail
+    ($I12, $I11) = rx260_cur."!mark_peek"($I10)
+    rx260_cur."!cursor_pos"($I11)
+    ($P10) = rx260_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx260_pos, "")
+    rx260_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_264_done
-  rxcap_264_fail:
-    goto rx259_fail
-  rxcap_264_done:
+    goto rxcap_265_done
+  rxcap_265_fail:
+    goto rx260_fail
+  rxcap_265_done:
   # rx pass
-    rx259_cur."!cursor_pass"(rx259_pos, "metachar:sym<lwb>")
-    rx259_cur."!cursor_debug"("PASS  ", "metachar:sym<lwb>", " at pos=", rx259_pos)
-    .return (rx259_cur)
-  rx259_fail:
+    rx260_cur."!cursor_pass"(rx260_pos, "metachar:sym<lwb>")
+    rx260_cur."!cursor_debug"("PASS  ", "metachar:sym<lwb>", " at pos=", rx260_pos)
+    .return (rx260_cur)
+  rx260_fail:
 .annotate 'line', 3
-    (rx259_rep, rx259_pos, $I10, $P10) = rx259_cur."!mark_fail"(0)
-    lt rx259_pos, -1, rx259_done
-    eq rx259_pos, -1, rx259_fail
+    (rx260_rep, rx260_pos, $I10, $P10) = rx260_cur."!mark_fail"(0)
+    lt rx260_pos, -1, rx260_done
+    eq rx260_pos, -1, rx260_fail
     jump $I10
-  rx259_done:
-    rx259_cur."!cursor_fail"()
-    rx259_cur."!cursor_debug"("FAIL  ", "metachar:sym<lwb>")
-    .return (rx259_cur)
+  rx260_done:
+    rx260_cur."!cursor_fail"()
+    rx260_cur."!cursor_debug"("FAIL  ", "metachar:sym<lwb>")
+    .return (rx260_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<lwb>"  :subid("74_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<lwb>"  :subid("74_1275811476.7961") :method
 .annotate 'line', 3
-    new $P261, "ResizablePMCArray"
-    push $P261, unicode:"\x{ab}"
-    push $P261, "<<"
-    .return ($P261)
+    new $P262, "ResizablePMCArray"
+    push $P262, unicode:"\x{ab}"
+    push $P262, "<<"
+    .return ($P262)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<rwb>"  :subid("75_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<rwb>"  :subid("75_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx266_tgt
-    .local int rx266_pos
-    .local int rx266_off
-    .local int rx266_eos
-    .local int rx266_rep
-    .local pmc rx266_cur
-    (rx266_cur, rx266_pos, rx266_tgt) = self."!cursor_start"()
-    rx266_cur."!cursor_debug"("START ", "metachar:sym<rwb>")
-    .lex unicode:"$\x{a2}", rx266_cur
+    .local string rx267_tgt
+    .local int rx267_pos
+    .local int rx267_off
+    .local int rx267_eos
+    .local int rx267_rep
+    .local pmc rx267_cur
+    (rx267_cur, rx267_pos, rx267_tgt) = self."!cursor_start"()
+    rx267_cur."!cursor_debug"("START ", "metachar:sym<rwb>")
+    .lex unicode:"$\x{a2}", rx267_cur
     .local pmc match
     .lex "$/", match
-    length rx266_eos, rx266_tgt
-    gt rx266_pos, rx266_eos, rx266_done
-    set rx266_off, 0
-    lt rx266_pos, 2, rx266_start
-    sub rx266_off, rx266_pos, 1
-    substr rx266_tgt, rx266_tgt, rx266_off
-  rx266_start:
+    length rx267_eos, rx267_tgt
+    gt rx267_pos, rx267_eos, rx267_done
+    set rx267_off, 0
+    lt rx267_pos, 2, rx267_start
+    sub rx267_off, rx267_pos, 1
+    substr rx267_tgt, rx267_tgt, rx267_off
+  rx267_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan269_done
-    goto rxscan269_scan
-  rxscan269_loop:
-    ($P10) = rx266_cur."from"()
+    ne $I10, -1, rxscan270_done
+    goto rxscan270_scan
+  rxscan270_loop:
+    ($P10) = rx267_cur."from"()
     inc $P10
-    set rx266_pos, $P10
-    ge rx266_pos, rx266_eos, rxscan269_done
-  rxscan269_scan:
-    set_addr $I10, rxscan269_loop
-    rx266_cur."!mark_push"(0, rx266_pos, $I10)
-  rxscan269_done:
+    set rx267_pos, $P10
+    ge rx267_pos, rx267_eos, rxscan270_done
+  rxscan270_scan:
+    set_addr $I10, rxscan270_loop
+    rx267_cur."!mark_push"(0, rx267_pos, $I10)
+  rxscan270_done:
 .annotate 'line', 87
   # rx subcapture "sym"
-    set_addr $I10, rxcap_271_fail
-    rx266_cur."!mark_push"(0, rx266_pos, $I10)
-  alt270_0:
-    set_addr $I10, alt270_1
-    rx266_cur."!mark_push"(0, rx266_pos, $I10)
+    set_addr $I10, rxcap_272_fail
+    rx267_cur."!mark_push"(0, rx267_pos, $I10)
+  alt271_0:
+    set_addr $I10, alt271_1
+    rx267_cur."!mark_push"(0, rx267_pos, $I10)
   # rx literal  ">>"
-    add $I11, rx266_pos, 2
-    gt $I11, rx266_eos, rx266_fail
-    sub $I11, rx266_pos, rx266_off
-    substr $S10, rx266_tgt, $I11, 2
-    ne $S10, ">>", rx266_fail
-    add rx266_pos, 2
-    goto alt270_end
-  alt270_1:
+    add $I11, rx267_pos, 2
+    gt $I11, rx267_eos, rx267_fail
+    sub $I11, rx267_pos, rx267_off
+    substr $S10, rx267_tgt, $I11, 2
+    ne $S10, ">>", rx267_fail
+    add rx267_pos, 2
+    goto alt271_end
+  alt271_1:
   # rx literal  unicode:"\x{bb}"
-    add $I11, rx266_pos, 1
-    gt $I11, rx266_eos, rx266_fail
-    sub $I11, rx266_pos, rx266_off
-    substr $S10, rx266_tgt, $I11, 1
-    ne $S10, unicode:"\x{bb}", rx266_fail
-    add rx266_pos, 1
-  alt270_end:
-    set_addr $I10, rxcap_271_fail
-    ($I12, $I11) = rx266_cur."!mark_peek"($I10)
-    rx266_cur."!cursor_pos"($I11)
-    ($P10) = rx266_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx266_pos, "")
-    rx266_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx267_pos, 1
+    gt $I11, rx267_eos, rx267_fail
+    sub $I11, rx267_pos, rx267_off
+    substr $S10, rx267_tgt, $I11, 1
+    ne $S10, unicode:"\x{bb}", rx267_fail
+    add rx267_pos, 1
+  alt271_end:
+    set_addr $I10, rxcap_272_fail
+    ($I12, $I11) = rx267_cur."!mark_peek"($I10)
+    rx267_cur."!cursor_pos"($I11)
+    ($P10) = rx267_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx267_pos, "")
+    rx267_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_271_done
-  rxcap_271_fail:
-    goto rx266_fail
-  rxcap_271_done:
+    goto rxcap_272_done
+  rxcap_272_fail:
+    goto rx267_fail
+  rxcap_272_done:
   # rx pass
-    rx266_cur."!cursor_pass"(rx266_pos, "metachar:sym<rwb>")
-    rx266_cur."!cursor_debug"("PASS  ", "metachar:sym<rwb>", " at pos=", rx266_pos)
-    .return (rx266_cur)
-  rx266_fail:
+    rx267_cur."!cursor_pass"(rx267_pos, "metachar:sym<rwb>")
+    rx267_cur."!cursor_debug"("PASS  ", "metachar:sym<rwb>", " at pos=", rx267_pos)
+    .return (rx267_cur)
+  rx267_fail:
 .annotate 'line', 3
-    (rx266_rep, rx266_pos, $I10, $P10) = rx266_cur."!mark_fail"(0)
-    lt rx266_pos, -1, rx266_done
-    eq rx266_pos, -1, rx266_fail
+    (rx267_rep, rx267_pos, $I10, $P10) = rx267_cur."!mark_fail"(0)
+    lt rx267_pos, -1, rx267_done
+    eq rx267_pos, -1, rx267_fail
     jump $I10
-  rx266_done:
-    rx266_cur."!cursor_fail"()
-    rx266_cur."!cursor_debug"("FAIL  ", "metachar:sym<rwb>")
-    .return (rx266_cur)
+  rx267_done:
+    rx267_cur."!cursor_fail"()
+    rx267_cur."!cursor_debug"("FAIL  ", "metachar:sym<rwb>")
+    .return (rx267_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<rwb>"  :subid("76_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<rwb>"  :subid("76_1275811476.7961") :method
 .annotate 'line', 3
-    new $P268, "ResizablePMCArray"
-    push $P268, unicode:"\x{bb}"
-    push $P268, ">>"
-    .return ($P268)
+    new $P269, "ResizablePMCArray"
+    push $P269, unicode:"\x{bb}"
+    push $P269, ">>"
+    .return ($P269)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<bs>"  :subid("77_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<bs>"  :subid("77_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx273_tgt
-    .local int rx273_pos
-    .local int rx273_off
-    .local int rx273_eos
-    .local int rx273_rep
-    .local pmc rx273_cur
-    (rx273_cur, rx273_pos, rx273_tgt) = self."!cursor_start"()
-    rx273_cur."!cursor_debug"("START ", "metachar:sym<bs>")
-    .lex unicode:"$\x{a2}", rx273_cur
+    .local string rx274_tgt
+    .local int rx274_pos
+    .local int rx274_off
+    .local int rx274_eos
+    .local int rx274_rep
+    .local pmc rx274_cur
+    (rx274_cur, rx274_pos, rx274_tgt) = self."!cursor_start"()
+    rx274_cur."!cursor_debug"("START ", "metachar:sym<bs>")
+    .lex unicode:"$\x{a2}", rx274_cur
     .local pmc match
     .lex "$/", match
-    length rx273_eos, rx273_tgt
-    gt rx273_pos, rx273_eos, rx273_done
-    set rx273_off, 0
-    lt rx273_pos, 2, rx273_start
-    sub rx273_off, rx273_pos, 1
-    substr rx273_tgt, rx273_tgt, rx273_off
-  rx273_start:
+    length rx274_eos, rx274_tgt
+    gt rx274_pos, rx274_eos, rx274_done
+    set rx274_off, 0
+    lt rx274_pos, 2, rx274_start
+    sub rx274_off, rx274_pos, 1
+    substr rx274_tgt, rx274_tgt, rx274_off
+  rx274_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan277_done
-    goto rxscan277_scan
-  rxscan277_loop:
-    ($P10) = rx273_cur."from"()
+    ne $I10, -1, rxscan278_done
+    goto rxscan278_scan
+  rxscan278_loop:
+    ($P10) = rx274_cur."from"()
     inc $P10
-    set rx273_pos, $P10
-    ge rx273_pos, rx273_eos, rxscan277_done
-  rxscan277_scan:
-    set_addr $I10, rxscan277_loop
-    rx273_cur."!mark_push"(0, rx273_pos, $I10)
-  rxscan277_done:
+    set rx274_pos, $P10
+    ge rx274_pos, rx274_eos, rxscan278_done
+  rxscan278_scan:
+    set_addr $I10, rxscan278_loop
+    rx274_cur."!mark_push"(0, rx274_pos, $I10)
+  rxscan278_done:
 .annotate 'line', 88
   # rx literal  "\\"
-    add $I11, rx273_pos, 1
-    gt $I11, rx273_eos, rx273_fail
-    sub $I11, rx273_pos, rx273_off
-    substr $S10, rx273_tgt, $I11, 1
-    ne $S10, "\\", rx273_fail
-    add rx273_pos, 1
+    add $I11, rx274_pos, 1
+    gt $I11, rx274_eos, rx274_fail
+    sub $I11, rx274_pos, rx274_off
+    substr $S10, rx274_tgt, $I11, 1
+    ne $S10, "\\", rx274_fail
+    add rx274_pos, 1
   # rx subrule "backslash" subtype=capture negate=
-    rx273_cur."!cursor_pos"(rx273_pos)
-    $P10 = rx273_cur."backslash"()
-    unless $P10, rx273_fail
-    rx273_cur."!mark_push"(0, -1, 0, $P10)
+    rx274_cur."!cursor_pos"(rx274_pos)
+    $P10 = rx274_cur."backslash"()
+    unless $P10, rx274_fail
+    rx274_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backslash")
-    rx273_pos = $P10."pos"()
+    rx274_pos = $P10."pos"()
   # rx pass
-    rx273_cur."!cursor_pass"(rx273_pos, "metachar:sym<bs>")
-    rx273_cur."!cursor_debug"("PASS  ", "metachar:sym<bs>", " at pos=", rx273_pos)
-    .return (rx273_cur)
-  rx273_fail:
+    rx274_cur."!cursor_pass"(rx274_pos, "metachar:sym<bs>")
+    rx274_cur."!cursor_debug"("PASS  ", "metachar:sym<bs>", " at pos=", rx274_pos)
+    .return (rx274_cur)
+  rx274_fail:
 .annotate 'line', 3
-    (rx273_rep, rx273_pos, $I10, $P10) = rx273_cur."!mark_fail"(0)
-    lt rx273_pos, -1, rx273_done
-    eq rx273_pos, -1, rx273_fail
+    (rx274_rep, rx274_pos, $I10, $P10) = rx274_cur."!mark_fail"(0)
+    lt rx274_pos, -1, rx274_done
+    eq rx274_pos, -1, rx274_fail
     jump $I10
-  rx273_done:
-    rx273_cur."!cursor_fail"()
-    rx273_cur."!cursor_debug"("FAIL  ", "metachar:sym<bs>")
-    .return (rx273_cur)
+  rx274_done:
+    rx274_cur."!cursor_fail"()
+    rx274_cur."!cursor_debug"("FAIL  ", "metachar:sym<bs>")
+    .return (rx274_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<bs>"  :subid("78_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<bs>"  :subid("78_1275811476.7961") :method
 .annotate 'line', 3
-    $P275 = self."!PREFIX__!subrule"("backslash", "\\")
-    new $P276, "ResizablePMCArray"
-    push $P276, $P275
-    .return ($P276)
+    $P276 = self."!PREFIX__!subrule"("backslash", "\\")
+    new $P277, "ResizablePMCArray"
+    push $P277, $P276
+    .return ($P277)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<mod>"  :subid("79_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<mod>"  :subid("79_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx279_tgt
-    .local int rx279_pos
-    .local int rx279_off
-    .local int rx279_eos
-    .local int rx279_rep
-    .local pmc rx279_cur
-    (rx279_cur, rx279_pos, rx279_tgt) = self."!cursor_start"()
-    rx279_cur."!cursor_debug"("START ", "metachar:sym<mod>")
-    .lex unicode:"$\x{a2}", rx279_cur
+    .local string rx280_tgt
+    .local int rx280_pos
+    .local int rx280_off
+    .local int rx280_eos
+    .local int rx280_rep
+    .local pmc rx280_cur
+    (rx280_cur, rx280_pos, rx280_tgt) = self."!cursor_start"()
+    rx280_cur."!cursor_debug"("START ", "metachar:sym<mod>")
+    .lex unicode:"$\x{a2}", rx280_cur
     .local pmc match
     .lex "$/", match
-    length rx279_eos, rx279_tgt
-    gt rx279_pos, rx279_eos, rx279_done
-    set rx279_off, 0
-    lt rx279_pos, 2, rx279_start
-    sub rx279_off, rx279_pos, 1
-    substr rx279_tgt, rx279_tgt, rx279_off
-  rx279_start:
+    length rx280_eos, rx280_tgt
+    gt rx280_pos, rx280_eos, rx280_done
+    set rx280_off, 0
+    lt rx280_pos, 2, rx280_start
+    sub rx280_off, rx280_pos, 1
+    substr rx280_tgt, rx280_tgt, rx280_off
+  rx280_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan283_done
-    goto rxscan283_scan
-  rxscan283_loop:
-    ($P10) = rx279_cur."from"()
+    ne $I10, -1, rxscan284_done
+    goto rxscan284_scan
+  rxscan284_loop:
+    ($P10) = rx280_cur."from"()
     inc $P10
-    set rx279_pos, $P10
-    ge rx279_pos, rx279_eos, rxscan283_done
-  rxscan283_scan:
-    set_addr $I10, rxscan283_loop
-    rx279_cur."!mark_push"(0, rx279_pos, $I10)
-  rxscan283_done:
+    set rx280_pos, $P10
+    ge rx280_pos, rx280_eos, rxscan284_done
+  rxscan284_scan:
+    set_addr $I10, rxscan284_loop
+    rx280_cur."!mark_push"(0, rx280_pos, $I10)
+  rxscan284_done:
 .annotate 'line', 89
   # rx subrule "mod_internal" subtype=capture negate=
-    rx279_cur."!cursor_pos"(rx279_pos)
-    $P10 = rx279_cur."mod_internal"()
-    unless $P10, rx279_fail
-    rx279_cur."!mark_push"(0, -1, 0, $P10)
+    rx280_cur."!cursor_pos"(rx280_pos)
+    $P10 = rx280_cur."mod_internal"()
+    unless $P10, rx280_fail
+    rx280_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("mod_internal")
-    rx279_pos = $P10."pos"()
+    rx280_pos = $P10."pos"()
   # rx pass
-    rx279_cur."!cursor_pass"(rx279_pos, "metachar:sym<mod>")
-    rx279_cur."!cursor_debug"("PASS  ", "metachar:sym<mod>", " at pos=", rx279_pos)
-    .return (rx279_cur)
-  rx279_fail:
+    rx280_cur."!cursor_pass"(rx280_pos, "metachar:sym<mod>")
+    rx280_cur."!cursor_debug"("PASS  ", "metachar:sym<mod>", " at pos=", rx280_pos)
+    .return (rx280_cur)
+  rx280_fail:
 .annotate 'line', 3
-    (rx279_rep, rx279_pos, $I10, $P10) = rx279_cur."!mark_fail"(0)
-    lt rx279_pos, -1, rx279_done
-    eq rx279_pos, -1, rx279_fail
+    (rx280_rep, rx280_pos, $I10, $P10) = rx280_cur."!mark_fail"(0)
+    lt rx280_pos, -1, rx280_done
+    eq rx280_pos, -1, rx280_fail
     jump $I10
-  rx279_done:
-    rx279_cur."!cursor_fail"()
-    rx279_cur."!cursor_debug"("FAIL  ", "metachar:sym<mod>")
-    .return (rx279_cur)
+  rx280_done:
+    rx280_cur."!cursor_fail"()
+    rx280_cur."!cursor_debug"("FAIL  ", "metachar:sym<mod>")
+    .return (rx280_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<mod>"  :subid("80_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<mod>"  :subid("80_1275811476.7961") :method
 .annotate 'line', 3
-    $P281 = self."!PREFIX__!subrule"("mod_internal", "")
-    new $P282, "ResizablePMCArray"
-    push $P282, $P281
-    .return ($P282)
+    $P282 = self."!PREFIX__!subrule"("mod_internal", "")
+    new $P283, "ResizablePMCArray"
+    push $P283, $P282
+    .return ($P283)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<~>"  :subid("81_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<~>"  :subid("81_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx285_tgt
-    .local int rx285_pos
-    .local int rx285_off
-    .local int rx285_eos
-    .local int rx285_rep
-    .local pmc rx285_cur
-    (rx285_cur, rx285_pos, rx285_tgt) = self."!cursor_start"()
-    rx285_cur."!cursor_debug"("START ", "metachar:sym<~>")
-    .lex unicode:"$\x{a2}", rx285_cur
+    .local string rx286_tgt
+    .local int rx286_pos
+    .local int rx286_off
+    .local int rx286_eos
+    .local int rx286_rep
+    .local pmc rx286_cur
+    (rx286_cur, rx286_pos, rx286_tgt) = self."!cursor_start"()
+    rx286_cur."!cursor_debug"("START ", "metachar:sym<~>")
+    .lex unicode:"$\x{a2}", rx286_cur
     .local pmc match
     .lex "$/", match
-    length rx285_eos, rx285_tgt
-    gt rx285_pos, rx285_eos, rx285_done
-    set rx285_off, 0
-    lt rx285_pos, 2, rx285_start
-    sub rx285_off, rx285_pos, 1
-    substr rx285_tgt, rx285_tgt, rx285_off
-  rx285_start:
+    length rx286_eos, rx286_tgt
+    gt rx286_pos, rx286_eos, rx286_done
+    set rx286_off, 0
+    lt rx286_pos, 2, rx286_start
+    sub rx286_off, rx286_pos, 1
+    substr rx286_tgt, rx286_tgt, rx286_off
+  rx286_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan289_done
-    goto rxscan289_scan
-  rxscan289_loop:
-    ($P10) = rx285_cur."from"()
+    ne $I10, -1, rxscan290_done
+    goto rxscan290_scan
+  rxscan290_loop:
+    ($P10) = rx286_cur."from"()
     inc $P10
-    set rx285_pos, $P10
-    ge rx285_pos, rx285_eos, rxscan289_done
-  rxscan289_scan:
-    set_addr $I10, rxscan289_loop
-    rx285_cur."!mark_push"(0, rx285_pos, $I10)
-  rxscan289_done:
+    set rx286_pos, $P10
+    ge rx286_pos, rx286_eos, rxscan290_done
+  rxscan290_scan:
+    set_addr $I10, rxscan290_loop
+    rx286_cur."!mark_push"(0, rx286_pos, $I10)
+  rxscan290_done:
 .annotate 'line', 93
   # rx subcapture "sym"
-    set_addr $I10, rxcap_290_fail
-    rx285_cur."!mark_push"(0, rx285_pos, $I10)
+    set_addr $I10, rxcap_291_fail
+    rx286_cur."!mark_push"(0, rx286_pos, $I10)
   # rx literal  "~"
-    add $I11, rx285_pos, 1
-    gt $I11, rx285_eos, rx285_fail
-    sub $I11, rx285_pos, rx285_off
-    substr $S10, rx285_tgt, $I11, 1
-    ne $S10, "~", rx285_fail
-    add rx285_pos, 1
-    set_addr $I10, rxcap_290_fail
-    ($I12, $I11) = rx285_cur."!mark_peek"($I10)
-    rx285_cur."!cursor_pos"($I11)
-    ($P10) = rx285_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx285_pos, "")
-    rx285_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx286_pos, 1
+    gt $I11, rx286_eos, rx286_fail
+    sub $I11, rx286_pos, rx286_off
+    substr $S10, rx286_tgt, $I11, 1
+    ne $S10, "~", rx286_fail
+    add rx286_pos, 1
+    set_addr $I10, rxcap_291_fail
+    ($I12, $I11) = rx286_cur."!mark_peek"($I10)
+    rx286_cur."!cursor_pos"($I11)
+    ($P10) = rx286_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx286_pos, "")
+    rx286_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_290_done
-  rxcap_290_fail:
-    goto rx285_fail
-  rxcap_290_done:
+    goto rxcap_291_done
+  rxcap_291_fail:
+    goto rx286_fail
+  rxcap_291_done:
 .annotate 'line', 94
   # rx subrule "ws" subtype=method negate=
-    rx285_cur."!cursor_pos"(rx285_pos)
-    $P10 = rx285_cur."ws"()
-    unless $P10, rx285_fail
-    rx285_pos = $P10."pos"()
+    rx286_cur."!cursor_pos"(rx286_pos)
+    $P10 = rx286_cur."ws"()
+    unless $P10, rx286_fail
+    rx286_pos = $P10."pos"()
   # rx subrule "quantified_atom" subtype=capture negate=
-    rx285_cur."!cursor_pos"(rx285_pos)
-    $P10 = rx285_cur."quantified_atom"()
-    unless $P10, rx285_fail
-    rx285_cur."!mark_push"(0, -1, 0, $P10)
+    rx286_cur."!cursor_pos"(rx286_pos)
+    $P10 = rx286_cur."quantified_atom"()
+    unless $P10, rx286_fail
+    rx286_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("GOAL")
-    rx285_pos = $P10."pos"()
+    rx286_pos = $P10."pos"()
 .annotate 'line', 95
   # rx subrule "ws" subtype=method negate=
-    rx285_cur."!cursor_pos"(rx285_pos)
-    $P10 = rx285_cur."ws"()
-    unless $P10, rx285_fail
-    rx285_pos = $P10."pos"()
+    rx286_cur."!cursor_pos"(rx286_pos)
+    $P10 = rx286_cur."ws"()
+    unless $P10, rx286_fail
+    rx286_pos = $P10."pos"()
   # rx subrule "quantified_atom" subtype=capture negate=
-    rx285_cur."!cursor_pos"(rx285_pos)
-    $P10 = rx285_cur."quantified_atom"()
-    unless $P10, rx285_fail
-    rx285_cur."!mark_push"(0, -1, 0, $P10)
+    rx286_cur."!cursor_pos"(rx286_pos)
+    $P10 = rx286_cur."quantified_atom"()
+    unless $P10, rx286_fail
+    rx286_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx285_pos = $P10."pos"()
+    rx286_pos = $P10."pos"()
 .annotate 'line', 92
   # rx pass
-    rx285_cur."!cursor_pass"(rx285_pos, "metachar:sym<~>")
-    rx285_cur."!cursor_debug"("PASS  ", "metachar:sym<~>", " at pos=", rx285_pos)
-    .return (rx285_cur)
-  rx285_fail:
+    rx286_cur."!cursor_pass"(rx286_pos, "metachar:sym<~>")
+    rx286_cur."!cursor_debug"("PASS  ", "metachar:sym<~>", " at pos=", rx286_pos)
+    .return (rx286_cur)
+  rx286_fail:
 .annotate 'line', 3
-    (rx285_rep, rx285_pos, $I10, $P10) = rx285_cur."!mark_fail"(0)
-    lt rx285_pos, -1, rx285_done
-    eq rx285_pos, -1, rx285_fail
+    (rx286_rep, rx286_pos, $I10, $P10) = rx286_cur."!mark_fail"(0)
+    lt rx286_pos, -1, rx286_done
+    eq rx286_pos, -1, rx286_fail
     jump $I10
-  rx285_done:
-    rx285_cur."!cursor_fail"()
-    rx285_cur."!cursor_debug"("FAIL  ", "metachar:sym<~>")
-    .return (rx285_cur)
+  rx286_done:
+    rx286_cur."!cursor_fail"()
+    rx286_cur."!cursor_debug"("FAIL  ", "metachar:sym<~>")
+    .return (rx286_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<~>"  :subid("82_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<~>"  :subid("82_1275811476.7961") :method
 .annotate 'line', 3
-    $P287 = self."!PREFIX__!subrule"("", "~")
-    new $P288, "ResizablePMCArray"
-    push $P288, $P287
-    .return ($P288)
+    $P288 = self."!PREFIX__!subrule"("ws", "~")
+    new $P289, "ResizablePMCArray"
+    push $P289, $P288
+    .return ($P289)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<{*}>"  :subid("83_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<{*}>"  :subid("83_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx292_tgt
-    .local int rx292_pos
-    .local int rx292_off
-    .local int rx292_eos
-    .local int rx292_rep
-    .local pmc rx292_cur
-    (rx292_cur, rx292_pos, rx292_tgt) = self."!cursor_start"()
-    rx292_cur."!cursor_debug"("START ", "metachar:sym<{*}>")
-    rx292_cur."!cursor_caparray"("key")
-    .lex unicode:"$\x{a2}", rx292_cur
+    .local string rx293_tgt
+    .local int rx293_pos
+    .local int rx293_off
+    .local int rx293_eos
+    .local int rx293_rep
+    .local pmc rx293_cur
+    (rx293_cur, rx293_pos, rx293_tgt) = self."!cursor_start"()
+    rx293_cur."!cursor_debug"("START ", "metachar:sym<{*}>")
+    rx293_cur."!cursor_caparray"("key")
+    .lex unicode:"$\x{a2}", rx293_cur
     .local pmc match
     .lex "$/", match
-    length rx292_eos, rx292_tgt
-    gt rx292_pos, rx292_eos, rx292_done
-    set rx292_off, 0
-    lt rx292_pos, 2, rx292_start
-    sub rx292_off, rx292_pos, 1
-    substr rx292_tgt, rx292_tgt, rx292_off
-  rx292_start:
+    length rx293_eos, rx293_tgt
+    gt rx293_pos, rx293_eos, rx293_done
+    set rx293_off, 0
+    lt rx293_pos, 2, rx293_start
+    sub rx293_off, rx293_pos, 1
+    substr rx293_tgt, rx293_tgt, rx293_off
+  rx293_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan295_done
-    goto rxscan295_scan
-  rxscan295_loop:
-    ($P10) = rx292_cur."from"()
+    ne $I10, -1, rxscan296_done
+    goto rxscan296_scan
+  rxscan296_loop:
+    ($P10) = rx293_cur."from"()
     inc $P10
-    set rx292_pos, $P10
-    ge rx292_pos, rx292_eos, rxscan295_done
-  rxscan295_scan:
-    set_addr $I10, rxscan295_loop
-    rx292_cur."!mark_push"(0, rx292_pos, $I10)
-  rxscan295_done:
+    set rx293_pos, $P10
+    ge rx293_pos, rx293_eos, rxscan296_done
+  rxscan296_scan:
+    set_addr $I10, rxscan296_loop
+    rx293_cur."!mark_push"(0, rx293_pos, $I10)
+  rxscan296_done:
 .annotate 'line', 99
   # rx subcapture "sym"
-    set_addr $I10, rxcap_296_fail
-    rx292_cur."!mark_push"(0, rx292_pos, $I10)
+    set_addr $I10, rxcap_297_fail
+    rx293_cur."!mark_push"(0, rx293_pos, $I10)
   # rx literal  "{*}"
-    add $I11, rx292_pos, 3
-    gt $I11, rx292_eos, rx292_fail
-    sub $I11, rx292_pos, rx292_off
-    substr $S10, rx292_tgt, $I11, 3
-    ne $S10, "{*}", rx292_fail
-    add rx292_pos, 3
-    set_addr $I10, rxcap_296_fail
-    ($I12, $I11) = rx292_cur."!mark_peek"($I10)
-    rx292_cur."!cursor_pos"($I11)
-    ($P10) = rx292_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx292_pos, "")
-    rx292_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx293_pos, 3
+    gt $I11, rx293_eos, rx293_fail
+    sub $I11, rx293_pos, rx293_off
+    substr $S10, rx293_tgt, $I11, 3
+    ne $S10, "{*}", rx293_fail
+    add rx293_pos, 3
+    set_addr $I10, rxcap_297_fail
+    ($I12, $I11) = rx293_cur."!mark_peek"($I10)
+    rx293_cur."!cursor_pos"($I11)
+    ($P10) = rx293_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx293_pos, "")
+    rx293_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_296_done
-  rxcap_296_fail:
-    goto rx292_fail
-  rxcap_296_done:
+    goto rxcap_297_done
+  rxcap_297_fail:
+    goto rx293_fail
+  rxcap_297_done:
 .annotate 'line', 100
-  # rx rxquantr297 ** 0..1
-    set_addr $I307, rxquantr297_done
-    rx292_cur."!mark_push"(0, rx292_pos, $I307)
-  rxquantr297_loop:
-  # rx rxquantr298 ** 0..*
-    set_addr $I299, rxquantr298_done
-    rx292_cur."!mark_push"(0, rx292_pos, $I299)
+  # rx rxquantr298 ** 0..1
+    set_addr $I308, rxquantr298_done
+    rx293_cur."!mark_push"(0, rx293_pos, $I308)
   rxquantr298_loop:
+  # rx rxquantr299 ** 0..*
+    set_addr $I300, rxquantr299_done
+    rx293_cur."!mark_push"(0, rx293_pos, $I300)
+  rxquantr299_loop:
   # rx enumcharlist negate=0 
-    ge rx292_pos, rx292_eos, rx292_fail
-    sub $I10, rx292_pos, rx292_off
-    substr $S10, rx292_tgt, $I10, 1
+    ge rx293_pos, rx293_eos, rx293_fail
+    sub $I10, rx293_pos, rx293_off
+    substr $S10, rx293_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, rx292_fail
-    inc rx292_pos
-    (rx292_rep) = rx292_cur."!mark_commit"($I299)
-    rx292_cur."!mark_push"(rx292_rep, rx292_pos, $I299)
-    goto rxquantr298_loop
-  rxquantr298_done:
+    lt $I11, 0, rx293_fail
+    inc rx293_pos
+    (rx293_rep) = rx293_cur."!mark_commit"($I300)
+    rx293_cur."!mark_push"(rx293_rep, rx293_pos, $I300)
+    goto rxquantr299_loop
+  rxquantr299_done:
   # rx literal  "#= "
-    add $I11, rx292_pos, 3
-    gt $I11, rx292_eos, rx292_fail
-    sub $I11, rx292_pos, rx292_off
-    substr $S10, rx292_tgt, $I11, 3
-    ne $S10, "#= ", rx292_fail
-    add rx292_pos, 3
-  # rx rxquantr300 ** 0..*
-    set_addr $I301, rxquantr300_done
-    rx292_cur."!mark_push"(0, rx292_pos, $I301)
-  rxquantr300_loop:
+    add $I11, rx293_pos, 3
+    gt $I11, rx293_eos, rx293_fail
+    sub $I11, rx293_pos, rx293_off
+    substr $S10, rx293_tgt, $I11, 3
+    ne $S10, "#= ", rx293_fail
+    add rx293_pos, 3
+  # rx rxquantr301 ** 0..*
+    set_addr $I302, rxquantr301_done
+    rx293_cur."!mark_push"(0, rx293_pos, $I302)
+  rxquantr301_loop:
   # rx enumcharlist negate=0 
-    ge rx292_pos, rx292_eos, rx292_fail
-    sub $I10, rx292_pos, rx292_off
-    substr $S10, rx292_tgt, $I10, 1
+    ge rx293_pos, rx293_eos, rx293_fail
+    sub $I10, rx293_pos, rx293_off
+    substr $S10, rx293_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, rx292_fail
-    inc rx292_pos
-    (rx292_rep) = rx292_cur."!mark_commit"($I301)
-    rx292_cur."!mark_push"(rx292_rep, rx292_pos, $I301)
-    goto rxquantr300_loop
-  rxquantr300_done:
+    lt $I11, 0, rx293_fail
+    inc rx293_pos
+    (rx293_rep) = rx293_cur."!mark_commit"($I302)
+    rx293_cur."!mark_push"(rx293_rep, rx293_pos, $I302)
+    goto rxquantr301_loop
+  rxquantr301_done:
   # rx subcapture "key"
-    set_addr $I10, rxcap_306_fail
-    rx292_cur."!mark_push"(0, rx292_pos, $I10)
+    set_addr $I10, rxcap_307_fail
+    rx293_cur."!mark_push"(0, rx293_pos, $I10)
   # rx charclass_q S r 1..-1
-    sub $I10, rx292_pos, rx292_off
-    find_cclass $I11, 32, rx292_tgt, $I10, rx292_eos
+    sub $I10, rx293_pos, rx293_off
+    find_cclass $I11, 32, rx293_tgt, $I10, rx293_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx292_fail
-    add rx292_pos, rx292_off, $I11
-  # rx rxquantr302 ** 0..*
-    set_addr $I305, rxquantr302_done
-    rx292_cur."!mark_push"(0, rx292_pos, $I305)
-  rxquantr302_loop:
-  # rx rxquantr303 ** 1..*
-    set_addr $I304, rxquantr303_done
-    rx292_cur."!mark_push"(0, -1, $I304)
+    lt $I11, $I12, rx293_fail
+    add rx293_pos, rx293_off, $I11
+  # rx rxquantr303 ** 0..*
+    set_addr $I306, rxquantr303_done
+    rx293_cur."!mark_push"(0, rx293_pos, $I306)
   rxquantr303_loop:
+  # rx rxquantr304 ** 1..*
+    set_addr $I305, rxquantr304_done
+    rx293_cur."!mark_push"(0, -1, $I305)
+  rxquantr304_loop:
   # rx enumcharlist negate=0 
-    ge rx292_pos, rx292_eos, rx292_fail
-    sub $I10, rx292_pos, rx292_off
-    substr $S10, rx292_tgt, $I10, 1
+    ge rx293_pos, rx293_eos, rx293_fail
+    sub $I10, rx293_pos, rx293_off
+    substr $S10, rx293_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, rx292_fail
-    inc rx292_pos
-    (rx292_rep) = rx292_cur."!mark_commit"($I304)
-    rx292_cur."!mark_push"(rx292_rep, rx292_pos, $I304)
-    goto rxquantr303_loop
-  rxquantr303_done:
+    lt $I11, 0, rx293_fail
+    inc rx293_pos
+    (rx293_rep) = rx293_cur."!mark_commit"($I305)
+    rx293_cur."!mark_push"(rx293_rep, rx293_pos, $I305)
+    goto rxquantr304_loop
+  rxquantr304_done:
   # rx charclass_q S r 1..-1
-    sub $I10, rx292_pos, rx292_off
-    find_cclass $I11, 32, rx292_tgt, $I10, rx292_eos
+    sub $I10, rx293_pos, rx293_off
+    find_cclass $I11, 32, rx293_tgt, $I10, rx293_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx292_fail
-    add rx292_pos, rx292_off, $I11
-    (rx292_rep) = rx292_cur."!mark_commit"($I305)
-    rx292_cur."!mark_push"(rx292_rep, rx292_pos, $I305)
-    goto rxquantr302_loop
-  rxquantr302_done:
-    set_addr $I10, rxcap_306_fail
-    ($I12, $I11) = rx292_cur."!mark_peek"($I10)
-    rx292_cur."!cursor_pos"($I11)
-    ($P10) = rx292_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx292_pos, "")
-    rx292_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx293_fail
+    add rx293_pos, rx293_off, $I11
+    (rx293_rep) = rx293_cur."!mark_commit"($I306)
+    rx293_cur."!mark_push"(rx293_rep, rx293_pos, $I306)
+    goto rxquantr303_loop
+  rxquantr303_done:
+    set_addr $I10, rxcap_307_fail
+    ($I12, $I11) = rx293_cur."!mark_peek"($I10)
+    rx293_cur."!cursor_pos"($I11)
+    ($P10) = rx293_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx293_pos, "")
+    rx293_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("key")
-    goto rxcap_306_done
-  rxcap_306_fail:
-    goto rx292_fail
-  rxcap_306_done:
-    (rx292_rep) = rx292_cur."!mark_commit"($I307)
-  rxquantr297_done:
+    goto rxcap_307_done
+  rxcap_307_fail:
+    goto rx293_fail
+  rxcap_307_done:
+    (rx293_rep) = rx293_cur."!mark_commit"($I308)
+  rxquantr298_done:
 .annotate 'line', 98
   # rx pass
-    rx292_cur."!cursor_pass"(rx292_pos, "metachar:sym<{*}>")
-    rx292_cur."!cursor_debug"("PASS  ", "metachar:sym<{*}>", " at pos=", rx292_pos)
-    .return (rx292_cur)
-  rx292_fail:
+    rx293_cur."!cursor_pass"(rx293_pos, "metachar:sym<{*}>")
+    rx293_cur."!cursor_debug"("PASS  ", "metachar:sym<{*}>", " at pos=", rx293_pos)
+    .return (rx293_cur)
+  rx293_fail:
 .annotate 'line', 3
-    (rx292_rep, rx292_pos, $I10, $P10) = rx292_cur."!mark_fail"(0)
-    lt rx292_pos, -1, rx292_done
-    eq rx292_pos, -1, rx292_fail
+    (rx293_rep, rx293_pos, $I10, $P10) = rx293_cur."!mark_fail"(0)
+    lt rx293_pos, -1, rx293_done
+    eq rx293_pos, -1, rx293_fail
     jump $I10
-  rx292_done:
-    rx292_cur."!cursor_fail"()
-    rx292_cur."!cursor_debug"("FAIL  ", "metachar:sym<{*}>")
-    .return (rx292_cur)
+  rx293_done:
+    rx293_cur."!cursor_fail"()
+    rx293_cur."!cursor_debug"("FAIL  ", "metachar:sym<{*}>")
+    .return (rx293_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<{*}>"  :subid("84_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<{*}>"  :subid("84_1275811476.7961") :method
 .annotate 'line', 3
-    new $P294, "ResizablePMCArray"
-    push $P294, "{*}"
-    .return ($P294)
+    new $P295, "ResizablePMCArray"
+    push $P295, "{*}"
+    .return ($P295)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<assert>"  :subid("85_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<assert>"  :subid("85_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx309_tgt
-    .local int rx309_pos
-    .local int rx309_off
-    .local int rx309_eos
-    .local int rx309_rep
-    .local pmc rx309_cur
-    (rx309_cur, rx309_pos, rx309_tgt) = self."!cursor_start"()
-    rx309_cur."!cursor_debug"("START ", "metachar:sym<assert>")
-    .lex unicode:"$\x{a2}", rx309_cur
+    .local string rx310_tgt
+    .local int rx310_pos
+    .local int rx310_off
+    .local int rx310_eos
+    .local int rx310_rep
+    .local pmc rx310_cur
+    (rx310_cur, rx310_pos, rx310_tgt) = self."!cursor_start"()
+    rx310_cur."!cursor_debug"("START ", "metachar:sym<assert>")
+    .lex unicode:"$\x{a2}", rx310_cur
     .local pmc match
     .lex "$/", match
-    length rx309_eos, rx309_tgt
-    gt rx309_pos, rx309_eos, rx309_done
-    set rx309_off, 0
-    lt rx309_pos, 2, rx309_start
-    sub rx309_off, rx309_pos, 1
-    substr rx309_tgt, rx309_tgt, rx309_off
-  rx309_start:
+    length rx310_eos, rx310_tgt
+    gt rx310_pos, rx310_eos, rx310_done
+    set rx310_off, 0
+    lt rx310_pos, 2, rx310_start
+    sub rx310_off, rx310_pos, 1
+    substr rx310_tgt, rx310_tgt, rx310_off
+  rx310_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan313_done
-    goto rxscan313_scan
-  rxscan313_loop:
-    ($P10) = rx309_cur."from"()
+    ne $I10, -1, rxscan314_done
+    goto rxscan314_scan
+  rxscan314_loop:
+    ($P10) = rx310_cur."from"()
     inc $P10
-    set rx309_pos, $P10
-    ge rx309_pos, rx309_eos, rxscan313_done
-  rxscan313_scan:
-    set_addr $I10, rxscan313_loop
-    rx309_cur."!mark_push"(0, rx309_pos, $I10)
-  rxscan313_done:
+    set rx310_pos, $P10
+    ge rx310_pos, rx310_eos, rxscan314_done
+  rxscan314_scan:
+    set_addr $I10, rxscan314_loop
+    rx310_cur."!mark_push"(0, rx310_pos, $I10)
+  rxscan314_done:
 .annotate 'line', 103
   # rx literal  "<"
-    add $I11, rx309_pos, 1
-    gt $I11, rx309_eos, rx309_fail
-    sub $I11, rx309_pos, rx309_off
-    substr $S10, rx309_tgt, $I11, 1
-    ne $S10, "<", rx309_fail
-    add rx309_pos, 1
+    add $I11, rx310_pos, 1
+    gt $I11, rx310_eos, rx310_fail
+    sub $I11, rx310_pos, rx310_off
+    substr $S10, rx310_tgt, $I11, 1
+    ne $S10, "<", rx310_fail
+    add rx310_pos, 1
   # rx subrule "assertion" subtype=capture negate=
-    rx309_cur."!cursor_pos"(rx309_pos)
-    $P10 = rx309_cur."assertion"()
-    unless $P10, rx309_fail
-    rx309_cur."!mark_push"(0, -1, 0, $P10)
+    rx310_cur."!cursor_pos"(rx310_pos)
+    $P10 = rx310_cur."assertion"()
+    unless $P10, rx310_fail
+    rx310_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx309_pos = $P10."pos"()
-  alt314_0:
+    rx310_pos = $P10."pos"()
+  alt315_0:
 .annotate 'line', 104
-    set_addr $I10, alt314_1
-    rx309_cur."!mark_push"(0, rx309_pos, $I10)
+    set_addr $I10, alt315_1
+    rx310_cur."!mark_push"(0, rx310_pos, $I10)
   # rx literal  ">"
-    add $I11, rx309_pos, 1
-    gt $I11, rx309_eos, rx309_fail
-    sub $I11, rx309_pos, rx309_off
-    substr $S10, rx309_tgt, $I11, 1
-    ne $S10, ">", rx309_fail
-    add rx309_pos, 1
-    goto alt314_end
-  alt314_1:
+    add $I11, rx310_pos, 1
+    gt $I11, rx310_eos, rx310_fail
+    sub $I11, rx310_pos, rx310_off
+    substr $S10, rx310_tgt, $I11, 1
+    ne $S10, ">", rx310_fail
+    add rx310_pos, 1
+    goto alt315_end
+  alt315_1:
   # rx subrule "panic" subtype=method negate=
-    rx309_cur."!cursor_pos"(rx309_pos)
-    $P10 = rx309_cur."panic"("regex assertion not terminated by angle bracket")
-    unless $P10, rx309_fail
-    rx309_pos = $P10."pos"()
-  alt314_end:
+    rx310_cur."!cursor_pos"(rx310_pos)
+    $P10 = rx310_cur."panic"("regex assertion not terminated by angle bracket")
+    unless $P10, rx310_fail
+    rx310_pos = $P10."pos"()
+  alt315_end:
 .annotate 'line', 102
   # rx pass
-    rx309_cur."!cursor_pass"(rx309_pos, "metachar:sym<assert>")
-    rx309_cur."!cursor_debug"("PASS  ", "metachar:sym<assert>", " at pos=", rx309_pos)
-    .return (rx309_cur)
-  rx309_fail:
+    rx310_cur."!cursor_pass"(rx310_pos, "metachar:sym<assert>")
+    rx310_cur."!cursor_debug"("PASS  ", "metachar:sym<assert>", " at pos=", rx310_pos)
+    .return (rx310_cur)
+  rx310_fail:
 .annotate 'line', 3
-    (rx309_rep, rx309_pos, $I10, $P10) = rx309_cur."!mark_fail"(0)
-    lt rx309_pos, -1, rx309_done
-    eq rx309_pos, -1, rx309_fail
+    (rx310_rep, rx310_pos, $I10, $P10) = rx310_cur."!mark_fail"(0)
+    lt rx310_pos, -1, rx310_done
+    eq rx310_pos, -1, rx310_fail
     jump $I10
-  rx309_done:
-    rx309_cur."!cursor_fail"()
-    rx309_cur."!cursor_debug"("FAIL  ", "metachar:sym<assert>")
-    .return (rx309_cur)
+  rx310_done:
+    rx310_cur."!cursor_fail"()
+    rx310_cur."!cursor_debug"("FAIL  ", "metachar:sym<assert>")
+    .return (rx310_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<assert>"  :subid("86_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<assert>"  :subid("86_1275811476.7961") :method
 .annotate 'line', 3
-    $P311 = self."!PREFIX__!subrule"("assertion", "<")
-    new $P312, "ResizablePMCArray"
-    push $P312, $P311
-    .return ($P312)
+    $P312 = self."!PREFIX__!subrule"("assertion", "<")
+    new $P313, "ResizablePMCArray"
+    push $P313, $P312
+    .return ($P313)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<var>"  :subid("87_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<var>"  :subid("87_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx316_tgt
-    .local int rx316_pos
-    .local int rx316_off
-    .local int rx316_eos
-    .local int rx316_rep
-    .local pmc rx316_cur
-    (rx316_cur, rx316_pos, rx316_tgt) = self."!cursor_start"()
-    rx316_cur."!cursor_debug"("START ", "metachar:sym<var>")
-    rx316_cur."!cursor_caparray"("quantified_atom")
-    .lex unicode:"$\x{a2}", rx316_cur
+    .local string rx317_tgt
+    .local int rx317_pos
+    .local int rx317_off
+    .local int rx317_eos
+    .local int rx317_rep
+    .local pmc rx317_cur
+    (rx317_cur, rx317_pos, rx317_tgt) = self."!cursor_start"()
+    rx317_cur."!cursor_debug"("START ", "metachar:sym<var>")
+    rx317_cur."!cursor_caparray"("quantified_atom")
+    .lex unicode:"$\x{a2}", rx317_cur
     .local pmc match
     .lex "$/", match
-    length rx316_eos, rx316_tgt
-    gt rx316_pos, rx316_eos, rx316_done
-    set rx316_off, 0
-    lt rx316_pos, 2, rx316_start
-    sub rx316_off, rx316_pos, 1
-    substr rx316_tgt, rx316_tgt, rx316_off
-  rx316_start:
+    length rx317_eos, rx317_tgt
+    gt rx317_pos, rx317_eos, rx317_done
+    set rx317_off, 0
+    lt rx317_pos, 2, rx317_start
+    sub rx317_off, rx317_pos, 1
+    substr rx317_tgt, rx317_tgt, rx317_off
+  rx317_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan319_done
-    goto rxscan319_scan
-  rxscan319_loop:
-    ($P10) = rx316_cur."from"()
+    ne $I10, -1, rxscan320_done
+    goto rxscan320_scan
+  rxscan320_loop:
+    ($P10) = rx317_cur."from"()
     inc $P10
-    set rx316_pos, $P10
-    ge rx316_pos, rx316_eos, rxscan319_done
-  rxscan319_scan:
-    set_addr $I10, rxscan319_loop
-    rx316_cur."!mark_push"(0, rx316_pos, $I10)
-  rxscan319_done:
-  alt320_0:
+    set rx317_pos, $P10
+    ge rx317_pos, rx317_eos, rxscan320_done
+  rxscan320_scan:
+    set_addr $I10, rxscan320_loop
+    rx317_cur."!mark_push"(0, rx317_pos, $I10)
+  rxscan320_done:
+  alt321_0:
 .annotate 'line', 108
-    set_addr $I10, alt320_1
-    rx316_cur."!mark_push"(0, rx316_pos, $I10)
+    set_addr $I10, alt321_1
+    rx317_cur."!mark_push"(0, rx317_pos, $I10)
 .annotate 'line', 109
   # rx literal  "$<"
-    add $I11, rx316_pos, 2
-    gt $I11, rx316_eos, rx316_fail
-    sub $I11, rx316_pos, rx316_off
-    substr $S10, rx316_tgt, $I11, 2
-    ne $S10, "$<", rx316_fail
-    add rx316_pos, 2
+    add $I11, rx317_pos, 2
+    gt $I11, rx317_eos, rx317_fail
+    sub $I11, rx317_pos, rx317_off
+    substr $S10, rx317_tgt, $I11, 2
+    ne $S10, "$<", rx317_fail
+    add rx317_pos, 2
   # rx subcapture "name"
-    set_addr $I10, rxcap_323_fail
-    rx316_cur."!mark_push"(0, rx316_pos, $I10)
-  # rx rxquantr321 ** 1..*
-    set_addr $I322, rxquantr321_done
-    rx316_cur."!mark_push"(0, -1, $I322)
-  rxquantr321_loop:
+    set_addr $I10, rxcap_324_fail
+    rx317_cur."!mark_push"(0, rx317_pos, $I10)
+  # rx rxquantr322 ** 1..*
+    set_addr $I323, rxquantr322_done
+    rx317_cur."!mark_push"(0, -1, $I323)
+  rxquantr322_loop:
   # rx enumcharlist negate=1 
-    ge rx316_pos, rx316_eos, rx316_fail
-    sub $I10, rx316_pos, rx316_off
-    substr $S10, rx316_tgt, $I10, 1
+    ge rx317_pos, rx317_eos, rx317_fail
+    sub $I10, rx317_pos, rx317_off
+    substr $S10, rx317_tgt, $I10, 1
     index $I11, ">", $S10
-    ge $I11, 0, rx316_fail
-    inc rx316_pos
-    (rx316_rep) = rx316_cur."!mark_commit"($I322)
-    rx316_cur."!mark_push"(rx316_rep, rx316_pos, $I322)
-    goto rxquantr321_loop
-  rxquantr321_done:
-    set_addr $I10, rxcap_323_fail
-    ($I12, $I11) = rx316_cur."!mark_peek"($I10)
-    rx316_cur."!cursor_pos"($I11)
-    ($P10) = rx316_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx316_pos, "")
-    rx316_cur."!mark_push"(0, -1, 0, $P10)
+    ge $I11, 0, rx317_fail
+    inc rx317_pos
+    (rx317_rep) = rx317_cur."!mark_commit"($I323)
+    rx317_cur."!mark_push"(rx317_rep, rx317_pos, $I323)
+    goto rxquantr322_loop
+  rxquantr322_done:
+    set_addr $I10, rxcap_324_fail
+    ($I12, $I11) = rx317_cur."!mark_peek"($I10)
+    rx317_cur."!cursor_pos"($I11)
+    ($P10) = rx317_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx317_pos, "")
+    rx317_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    goto rxcap_323_done
-  rxcap_323_fail:
-    goto rx316_fail
-  rxcap_323_done:
+    goto rxcap_324_done
+  rxcap_324_fail:
+    goto rx317_fail
+  rxcap_324_done:
   # rx literal  ">"
-    add $I11, rx316_pos, 1
-    gt $I11, rx316_eos, rx316_fail
-    sub $I11, rx316_pos, rx316_off
-    substr $S10, rx316_tgt, $I11, 1
-    ne $S10, ">", rx316_fail
-    add rx316_pos, 1
-    goto alt320_end
-  alt320_1:
+    add $I11, rx317_pos, 1
+    gt $I11, rx317_eos, rx317_fail
+    sub $I11, rx317_pos, rx317_off
+    substr $S10, rx317_tgt, $I11, 1
+    ne $S10, ">", rx317_fail
+    add rx317_pos, 1
+    goto alt321_end
+  alt321_1:
 .annotate 'line', 110
   # rx literal  "$"
-    add $I11, rx316_pos, 1
-    gt $I11, rx316_eos, rx316_fail
-    sub $I11, rx316_pos, rx316_off
-    substr $S10, rx316_tgt, $I11, 1
-    ne $S10, "$", rx316_fail
-    add rx316_pos, 1
+    add $I11, rx317_pos, 1
+    gt $I11, rx317_eos, rx317_fail
+    sub $I11, rx317_pos, rx317_off
+    substr $S10, rx317_tgt, $I11, 1
+    ne $S10, "$", rx317_fail
+    add rx317_pos, 1
   # rx subcapture "pos"
-    set_addr $I10, rxcap_324_fail
-    rx316_cur."!mark_push"(0, rx316_pos, $I10)
+    set_addr $I10, rxcap_325_fail
+    rx317_cur."!mark_push"(0, rx317_pos, $I10)
   # rx charclass_q d r 1..-1
-    sub $I10, rx316_pos, rx316_off
-    find_not_cclass $I11, 8, rx316_tgt, $I10, rx316_eos
+    sub $I10, rx317_pos, rx317_off
+    find_not_cclass $I11, 8, rx317_tgt, $I10, rx317_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx316_fail
-    add rx316_pos, rx316_off, $I11
-    set_addr $I10, rxcap_324_fail
-    ($I12, $I11) = rx316_cur."!mark_peek"($I10)
-    rx316_cur."!cursor_pos"($I11)
-    ($P10) = rx316_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx316_pos, "")
-    rx316_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx317_fail
+    add rx317_pos, rx317_off, $I11
+    set_addr $I10, rxcap_325_fail
+    ($I12, $I11) = rx317_cur."!mark_peek"($I10)
+    rx317_cur."!cursor_pos"($I11)
+    ($P10) = rx317_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx317_pos, "")
+    rx317_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pos")
-    goto rxcap_324_done
-  rxcap_324_fail:
-    goto rx316_fail
-  rxcap_324_done:
-  alt320_end:
+    goto rxcap_325_done
+  rxcap_325_fail:
+    goto rx317_fail
+  rxcap_325_done:
+  alt321_end:
 .annotate 'line', 113
-  # rx rxquantr325 ** 0..1
-    set_addr $I326, rxquantr325_done
-    rx316_cur."!mark_push"(0, rx316_pos, $I326)
-  rxquantr325_loop:
+  # rx rxquantr326 ** 0..1
+    set_addr $I327, rxquantr326_done
+    rx317_cur."!mark_push"(0, rx317_pos, $I327)
+  rxquantr326_loop:
   # rx subrule "ws" subtype=method negate=
-    rx316_cur."!cursor_pos"(rx316_pos)
-    $P10 = rx316_cur."ws"()
-    unless $P10, rx316_fail
-    rx316_pos = $P10."pos"()
+    rx317_cur."!cursor_pos"(rx317_pos)
+    $P10 = rx317_cur."ws"()
+    unless $P10, rx317_fail
+    rx317_pos = $P10."pos"()
   # rx literal  "="
-    add $I11, rx316_pos, 1
-    gt $I11, rx316_eos, rx316_fail
-    sub $I11, rx316_pos, rx316_off
-    substr $S10, rx316_tgt, $I11, 1
-    ne $S10, "=", rx316_fail
-    add rx316_pos, 1
+    add $I11, rx317_pos, 1
+    gt $I11, rx317_eos, rx317_fail
+    sub $I11, rx317_pos, rx317_off
+    substr $S10, rx317_tgt, $I11, 1
+    ne $S10, "=", rx317_fail
+    add rx317_pos, 1
   # rx subrule "ws" subtype=method negate=
-    rx316_cur."!cursor_pos"(rx316_pos)
-    $P10 = rx316_cur."ws"()
-    unless $P10, rx316_fail
-    rx316_pos = $P10."pos"()
+    rx317_cur."!cursor_pos"(rx317_pos)
+    $P10 = rx317_cur."ws"()
+    unless $P10, rx317_fail
+    rx317_pos = $P10."pos"()
   # rx subrule "quantified_atom" subtype=capture negate=
-    rx316_cur."!cursor_pos"(rx316_pos)
-    $P10 = rx316_cur."quantified_atom"()
-    unless $P10, rx316_fail
-    rx316_cur."!mark_push"(0, -1, 0, $P10)
+    rx317_cur."!cursor_pos"(rx317_pos)
+    $P10 = rx317_cur."quantified_atom"()
+    unless $P10, rx317_fail
+    rx317_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quantified_atom")
-    rx316_pos = $P10."pos"()
-    (rx316_rep) = rx316_cur."!mark_commit"($I326)
-  rxquantr325_done:
+    rx317_pos = $P10."pos"()
+    (rx317_rep) = rx317_cur."!mark_commit"($I327)
+  rxquantr326_done:
 .annotate 'line', 107
   # rx pass
-    rx316_cur."!cursor_pass"(rx316_pos, "metachar:sym<var>")
-    rx316_cur."!cursor_debug"("PASS  ", "metachar:sym<var>", " at pos=", rx316_pos)
-    .return (rx316_cur)
-  rx316_fail:
+    rx317_cur."!cursor_pass"(rx317_pos, "metachar:sym<var>")
+    rx317_cur."!cursor_debug"("PASS  ", "metachar:sym<var>", " at pos=", rx317_pos)
+    .return (rx317_cur)
+  rx317_fail:
 .annotate 'line', 3
-    (rx316_rep, rx316_pos, $I10, $P10) = rx316_cur."!mark_fail"(0)
-    lt rx316_pos, -1, rx316_done
-    eq rx316_pos, -1, rx316_fail
+    (rx317_rep, rx317_pos, $I10, $P10) = rx317_cur."!mark_fail"(0)
+    lt rx317_pos, -1, rx317_done
+    eq rx317_pos, -1, rx317_fail
     jump $I10
-  rx316_done:
-    rx316_cur."!cursor_fail"()
-    rx316_cur."!cursor_debug"("FAIL  ", "metachar:sym<var>")
-    .return (rx316_cur)
+  rx317_done:
+    rx317_cur."!cursor_fail"()
+    rx317_cur."!cursor_debug"("FAIL  ", "metachar:sym<var>")
+    .return (rx317_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<var>"  :subid("88_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<var>"  :subid("88_1275811476.7961") :method
 .annotate 'line', 3
-    new $P318, "ResizablePMCArray"
-    push $P318, "$"
-    push $P318, "$<"
-    .return ($P318)
+    new $P319, "ResizablePMCArray"
+    push $P319, "$"
+    push $P319, "$<"
+    .return ($P319)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<PIR>"  :subid("89_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "metachar:sym<PIR>"  :subid("89_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx328_tgt
-    .local int rx328_pos
-    .local int rx328_off
-    .local int rx328_eos
-    .local int rx328_rep
-    .local pmc rx328_cur
-    (rx328_cur, rx328_pos, rx328_tgt) = self."!cursor_start"()
-    rx328_cur."!cursor_debug"("START ", "metachar:sym<PIR>")
-    .lex unicode:"$\x{a2}", rx328_cur
+    .local string rx329_tgt
+    .local int rx329_pos
+    .local int rx329_off
+    .local int rx329_eos
+    .local int rx329_rep
+    .local pmc rx329_cur
+    (rx329_cur, rx329_pos, rx329_tgt) = self."!cursor_start"()
+    rx329_cur."!cursor_debug"("START ", "metachar:sym<PIR>")
+    .lex unicode:"$\x{a2}", rx329_cur
     .local pmc match
     .lex "$/", match
-    length rx328_eos, rx328_tgt
-    gt rx328_pos, rx328_eos, rx328_done
-    set rx328_off, 0
-    lt rx328_pos, 2, rx328_start
-    sub rx328_off, rx328_pos, 1
-    substr rx328_tgt, rx328_tgt, rx328_off
-  rx328_start:
+    length rx329_eos, rx329_tgt
+    gt rx329_pos, rx329_eos, rx329_done
+    set rx329_off, 0
+    lt rx329_pos, 2, rx329_start
+    sub rx329_off, rx329_pos, 1
+    substr rx329_tgt, rx329_tgt, rx329_off
+  rx329_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan331_done
-    goto rxscan331_scan
-  rxscan331_loop:
-    ($P10) = rx328_cur."from"()
+    ne $I10, -1, rxscan332_done
+    goto rxscan332_scan
+  rxscan332_loop:
+    ($P10) = rx329_cur."from"()
     inc $P10
-    set rx328_pos, $P10
-    ge rx328_pos, rx328_eos, rxscan331_done
-  rxscan331_scan:
-    set_addr $I10, rxscan331_loop
-    rx328_cur."!mark_push"(0, rx328_pos, $I10)
-  rxscan331_done:
+    set rx329_pos, $P10
+    ge rx329_pos, rx329_eos, rxscan332_done
+  rxscan332_scan:
+    set_addr $I10, rxscan332_loop
+    rx329_cur."!mark_push"(0, rx329_pos, $I10)
+  rxscan332_done:
 .annotate 'line', 117
   # rx literal  ":PIR{{"
-    add $I11, rx328_pos, 6
-    gt $I11, rx328_eos, rx328_fail
-    sub $I11, rx328_pos, rx328_off
-    substr $S10, rx328_tgt, $I11, 6
-    ne $S10, ":PIR{{", rx328_fail
-    add rx328_pos, 6
+    add $I11, rx329_pos, 6
+    gt $I11, rx329_eos, rx329_fail
+    sub $I11, rx329_pos, rx329_off
+    substr $S10, rx329_tgt, $I11, 6
+    ne $S10, ":PIR{{", rx329_fail
+    add rx329_pos, 6
   # rx subcapture "pir"
-    set_addr $I10, rxcap_334_fail
-    rx328_cur."!mark_push"(0, rx328_pos, $I10)
-  # rx rxquantf332 ** 0..*
-    set_addr $I10, rxquantf332_loop
-    rx328_cur."!mark_push"(0, rx328_pos, $I10)
-    goto rxquantf332_done
-  rxquantf332_loop:
+    set_addr $I10, rxcap_335_fail
+    rx329_cur."!mark_push"(0, rx329_pos, $I10)
+  # rx rxquantf333 ** 0..*
+    set_addr $I10, rxquantf333_loop
+    rx329_cur."!mark_push"(0, rx329_pos, $I10)
+    goto rxquantf333_done
+  rxquantf333_loop:
   # rx charclass .
-    ge rx328_pos, rx328_eos, rx328_fail
-    inc rx328_pos
-    set_addr $I10, rxquantf332_loop
-    rx328_cur."!mark_push"($I333, rx328_pos, $I10)
-  rxquantf332_done:
-    set_addr $I10, rxcap_334_fail
-    ($I12, $I11) = rx328_cur."!mark_peek"($I10)
-    rx328_cur."!cursor_pos"($I11)
-    ($P10) = rx328_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx328_pos, "")
-    rx328_cur."!mark_push"(0, -1, 0, $P10)
+    ge rx329_pos, rx329_eos, rx329_fail
+    inc rx329_pos
+    set_addr $I10, rxquantf333_loop
+    rx329_cur."!mark_push"($I334, rx329_pos, $I10)
+  rxquantf333_done:
+    set_addr $I10, rxcap_335_fail
+    ($I12, $I11) = rx329_cur."!mark_peek"($I10)
+    rx329_cur."!cursor_pos"($I11)
+    ($P10) = rx329_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx329_pos, "")
+    rx329_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pir")
-    goto rxcap_334_done
-  rxcap_334_fail:
-    goto rx328_fail
-  rxcap_334_done:
+    goto rxcap_335_done
+  rxcap_335_fail:
+    goto rx329_fail
+  rxcap_335_done:
   # rx literal  "}}"
-    add $I11, rx328_pos, 2
-    gt $I11, rx328_eos, rx328_fail
-    sub $I11, rx328_pos, rx328_off
-    substr $S10, rx328_tgt, $I11, 2
-    ne $S10, "}}", rx328_fail
-    add rx328_pos, 2
+    add $I11, rx329_pos, 2
+    gt $I11, rx329_eos, rx329_fail
+    sub $I11, rx329_pos, rx329_off
+    substr $S10, rx329_tgt, $I11, 2
+    ne $S10, "}}", rx329_fail
+    add rx329_pos, 2
 .annotate 'line', 116
   # rx pass
-    rx328_cur."!cursor_pass"(rx328_pos, "metachar:sym<PIR>")
-    rx328_cur."!cursor_debug"("PASS  ", "metachar:sym<PIR>", " at pos=", rx328_pos)
-    .return (rx328_cur)
-  rx328_fail:
+    rx329_cur."!cursor_pass"(rx329_pos, "metachar:sym<PIR>")
+    rx329_cur."!cursor_debug"("PASS  ", "metachar:sym<PIR>", " at pos=", rx329_pos)
+    .return (rx329_cur)
+  rx329_fail:
 .annotate 'line', 3
-    (rx328_rep, rx328_pos, $I10, $P10) = rx328_cur."!mark_fail"(0)
-    lt rx328_pos, -1, rx328_done
-    eq rx328_pos, -1, rx328_fail
+    (rx329_rep, rx329_pos, $I10, $P10) = rx329_cur."!mark_fail"(0)
+    lt rx329_pos, -1, rx329_done
+    eq rx329_pos, -1, rx329_fail
     jump $I10
-  rx328_done:
-    rx328_cur."!cursor_fail"()
-    rx328_cur."!cursor_debug"("FAIL  ", "metachar:sym<PIR>")
-    .return (rx328_cur)
+  rx329_done:
+    rx329_cur."!cursor_fail"()
+    rx329_cur."!cursor_debug"("FAIL  ", "metachar:sym<PIR>")
+    .return (rx329_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<PIR>"  :subid("90_1275599996.35368") :method
+.sub "!PREFIX__metachar:sym<PIR>"  :subid("90_1275811476.7961") :method
 .annotate 'line', 3
-    new $P330, "ResizablePMCArray"
-    push $P330, ":PIR{{"
-    .return ($P330)
+    new $P331, "ResizablePMCArray"
+    push $P331, ":PIR{{"
+    .return ($P331)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash"  :subid("91_1275599996.35368") :method
+.sub "backslash"  :subid("91_1275811476.7961") :method
 .annotate 'line', 120
-    $P336 = self."!protoregex"("backslash")
-    .return ($P336)
+    $P337 = self."!protoregex"("backslash")
+    .return ($P337)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash"  :subid("92_1275599996.35368") :method
+.sub "!PREFIX__backslash"  :subid("92_1275811476.7961") :method
 .annotate 'line', 120
-    $P338 = self."!PREFIX__!protoregex"("backslash")
-    .return ($P338)
+    $P339 = self."!PREFIX__!protoregex"("backslash")
+    .return ($P339)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<w>"  :subid("93_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "backslash:sym<w>"  :subid("93_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx340_tgt
-    .local int rx340_pos
-    .local int rx340_off
-    .local int rx340_eos
-    .local int rx340_rep
-    .local pmc rx340_cur
-    (rx340_cur, rx340_pos, rx340_tgt) = self."!cursor_start"()
-    rx340_cur."!cursor_debug"("START ", "backslash:sym<w>")
-    .lex unicode:"$\x{a2}", rx340_cur
-    .local pmc match
-    .lex "$/", match
-    length rx340_eos, rx340_tgt
-    gt rx340_pos, rx340_eos, rx340_done
-    set rx340_off, 0
-    lt rx340_pos, 2, rx340_start
-    sub rx340_off, rx340_pos, 1
-    substr rx340_tgt, rx340_tgt, rx340_off
-  rx340_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan343_done
-    goto rxscan343_scan
-  rxscan343_loop:
-    ($P10) = rx340_cur."from"()
-    inc $P10
-    set rx340_pos, $P10
-    ge rx340_pos, rx340_eos, rxscan343_done
-  rxscan343_scan:
-    set_addr $I10, rxscan343_loop
-    rx340_cur."!mark_push"(0, rx340_pos, $I10)
-  rxscan343_done:
+    .local string rx341_tgt
+    .local int rx341_pos
+    .local int rx341_off
+    .local int rx341_eos
+    .local int rx341_rep
+    .local pmc rx341_cur
+    (rx341_cur, rx341_pos, rx341_tgt) = self."!cursor_start"()
+    rx341_cur."!cursor_debug"("START ", "backslash:sym<w>")
+    .lex unicode:"$\x{a2}", rx341_cur
+    .local pmc match
+    .lex "$/", match
+    length rx341_eos, rx341_tgt
+    gt rx341_pos, rx341_eos, rx341_done
+    set rx341_off, 0
+    lt rx341_pos, 2, rx341_start
+    sub rx341_off, rx341_pos, 1
+    substr rx341_tgt, rx341_tgt, rx341_off
+  rx341_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan344_done
+    goto rxscan344_scan
+  rxscan344_loop:
+    ($P10) = rx341_cur."from"()
+    inc $P10
+    set rx341_pos, $P10
+    ge rx341_pos, rx341_eos, rxscan344_done
+  rxscan344_scan:
+    set_addr $I10, rxscan344_loop
+    rx341_cur."!mark_push"(0, rx341_pos, $I10)
+  rxscan344_done:
 .annotate 'line', 121
   # rx subcapture "sym"
-    set_addr $I10, rxcap_344_fail
-    rx340_cur."!mark_push"(0, rx340_pos, $I10)
+    set_addr $I10, rxcap_345_fail
+    rx341_cur."!mark_push"(0, rx341_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx340_pos, rx340_eos, rx340_fail
-    sub $I10, rx340_pos, rx340_off
-    substr $S10, rx340_tgt, $I10, 1
+    ge rx341_pos, rx341_eos, rx341_fail
+    sub $I10, rx341_pos, rx341_off
+    substr $S10, rx341_tgt, $I10, 1
     index $I11, "dswnDSWN", $S10
-    lt $I11, 0, rx340_fail
-    inc rx340_pos
-    set_addr $I10, rxcap_344_fail
-    ($I12, $I11) = rx340_cur."!mark_peek"($I10)
-    rx340_cur."!cursor_pos"($I11)
-    ($P10) = rx340_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx340_pos, "")
-    rx340_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx341_fail
+    inc rx341_pos
+    set_addr $I10, rxcap_345_fail
+    ($I12, $I11) = rx341_cur."!mark_peek"($I10)
+    rx341_cur."!cursor_pos"($I11)
+    ($P10) = rx341_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx341_pos, "")
+    rx341_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_344_done
-  rxcap_344_fail:
-    goto rx340_fail
-  rxcap_344_done:
+    goto rxcap_345_done
+  rxcap_345_fail:
+    goto rx341_fail
+  rxcap_345_done:
   # rx pass
-    rx340_cur."!cursor_pass"(rx340_pos, "backslash:sym<w>")
-    rx340_cur."!cursor_debug"("PASS  ", "backslash:sym<w>", " at pos=", rx340_pos)
-    .return (rx340_cur)
-  rx340_fail:
+    rx341_cur."!cursor_pass"(rx341_pos, "backslash:sym<w>")
+    rx341_cur."!cursor_debug"("PASS  ", "backslash:sym<w>", " at pos=", rx341_pos)
+    .return (rx341_cur)
+  rx341_fail:
 .annotate 'line', 3
-    (rx340_rep, rx340_pos, $I10, $P10) = rx340_cur."!mark_fail"(0)
-    lt rx340_pos, -1, rx340_done
-    eq rx340_pos, -1, rx340_fail
+    (rx341_rep, rx341_pos, $I10, $P10) = rx341_cur."!mark_fail"(0)
+    lt rx341_pos, -1, rx341_done
+    eq rx341_pos, -1, rx341_fail
     jump $I10
-  rx340_done:
-    rx340_cur."!cursor_fail"()
-    rx340_cur."!cursor_debug"("FAIL  ", "backslash:sym<w>")
-    .return (rx340_cur)
+  rx341_done:
+    rx341_cur."!cursor_fail"()
+    rx341_cur."!cursor_debug"("FAIL  ", "backslash:sym<w>")
+    .return (rx341_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<w>"  :subid("94_1275599996.35368") :method
+.sub "!PREFIX__backslash:sym<w>"  :subid("94_1275811476.7961") :method
 .annotate 'line', 3
-    new $P342, "ResizablePMCArray"
-    push $P342, "N"
-    push $P342, "W"
-    push $P342, "S"
-    push $P342, "D"
-    push $P342, "n"
-    push $P342, "w"
-    push $P342, "s"
-    push $P342, "d"
-    .return ($P342)
+    new $P343, "ResizablePMCArray"
+    push $P343, "N"
+    push $P343, "W"
+    push $P343, "S"
+    push $P343, "D"
+    push $P343, "n"
+    push $P343, "w"
+    push $P343, "s"
+    push $P343, "d"
+    .return ($P343)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<b>"  :subid("95_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "backslash:sym<b>"  :subid("95_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx346_tgt
-    .local int rx346_pos
-    .local int rx346_off
-    .local int rx346_eos
-    .local int rx346_rep
-    .local pmc rx346_cur
-    (rx346_cur, rx346_pos, rx346_tgt) = self."!cursor_start"()
-    rx346_cur."!cursor_debug"("START ", "backslash:sym<b>")
-    .lex unicode:"$\x{a2}", rx346_cur
+    .local string rx347_tgt
+    .local int rx347_pos
+    .local int rx347_off
+    .local int rx347_eos
+    .local int rx347_rep
+    .local pmc rx347_cur
+    (rx347_cur, rx347_pos, rx347_tgt) = self."!cursor_start"()
+    rx347_cur."!cursor_debug"("START ", "backslash:sym<b>")
+    .lex unicode:"$\x{a2}", rx347_cur
     .local pmc match
     .lex "$/", match
-    length rx346_eos, rx346_tgt
-    gt rx346_pos, rx346_eos, rx346_done
-    set rx346_off, 0
-    lt rx346_pos, 2, rx346_start
-    sub rx346_off, rx346_pos, 1
-    substr rx346_tgt, rx346_tgt, rx346_off
-  rx346_start:
+    length rx347_eos, rx347_tgt
+    gt rx347_pos, rx347_eos, rx347_done
+    set rx347_off, 0
+    lt rx347_pos, 2, rx347_start
+    sub rx347_off, rx347_pos, 1
+    substr rx347_tgt, rx347_tgt, rx347_off
+  rx347_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan349_done
-    goto rxscan349_scan
-  rxscan349_loop:
-    ($P10) = rx346_cur."from"()
+    ne $I10, -1, rxscan350_done
+    goto rxscan350_scan
+  rxscan350_loop:
+    ($P10) = rx347_cur."from"()
     inc $P10
-    set rx346_pos, $P10
-    ge rx346_pos, rx346_eos, rxscan349_done
-  rxscan349_scan:
-    set_addr $I10, rxscan349_loop
-    rx346_cur."!mark_push"(0, rx346_pos, $I10)
-  rxscan349_done:
+    set rx347_pos, $P10
+    ge rx347_pos, rx347_eos, rxscan350_done
+  rxscan350_scan:
+    set_addr $I10, rxscan350_loop
+    rx347_cur."!mark_push"(0, rx347_pos, $I10)
+  rxscan350_done:
 .annotate 'line', 122
   # rx subcapture "sym"
-    set_addr $I10, rxcap_350_fail
-    rx346_cur."!mark_push"(0, rx346_pos, $I10)
+    set_addr $I10, rxcap_351_fail
+    rx347_cur."!mark_push"(0, rx347_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx346_pos, rx346_eos, rx346_fail
-    sub $I10, rx346_pos, rx346_off
-    substr $S10, rx346_tgt, $I10, 1
+    ge rx347_pos, rx347_eos, rx347_fail
+    sub $I10, rx347_pos, rx347_off
+    substr $S10, rx347_tgt, $I10, 1
     index $I11, "bB", $S10
-    lt $I11, 0, rx346_fail
-    inc rx346_pos
-    set_addr $I10, rxcap_350_fail
-    ($I12, $I11) = rx346_cur."!mark_peek"($I10)
-    rx346_cur."!cursor_pos"($I11)
-    ($P10) = rx346_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx346_pos, "")
-    rx346_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx347_fail
+    inc rx347_pos
+    set_addr $I10, rxcap_351_fail
+    ($I12, $I11) = rx347_cur."!mark_peek"($I10)
+    rx347_cur."!cursor_pos"($I11)
+    ($P10) = rx347_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx347_pos, "")
+    rx347_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_350_done
-  rxcap_350_fail:
-    goto rx346_fail
-  rxcap_350_done:
+    goto rxcap_351_done
+  rxcap_351_fail:
+    goto rx347_fail
+  rxcap_351_done:
   # rx pass
-    rx346_cur."!cursor_pass"(rx346_pos, "backslash:sym<b>")
-    rx346_cur."!cursor_debug"("PASS  ", "backslash:sym<b>", " at pos=", rx346_pos)
-    .return (rx346_cur)
-  rx346_fail:
+    rx347_cur."!cursor_pass"(rx347_pos, "backslash:sym<b>")
+    rx347_cur."!cursor_debug"("PASS  ", "backslash:sym<b>", " at pos=", rx347_pos)
+    .return (rx347_cur)
+  rx347_fail:
 .annotate 'line', 3
-    (rx346_rep, rx346_pos, $I10, $P10) = rx346_cur."!mark_fail"(0)
-    lt rx346_pos, -1, rx346_done
-    eq rx346_pos, -1, rx346_fail
+    (rx347_rep, rx347_pos, $I10, $P10) = rx347_cur."!mark_fail"(0)
+    lt rx347_pos, -1, rx347_done
+    eq rx347_pos, -1, rx347_fail
     jump $I10
-  rx346_done:
-    rx346_cur."!cursor_fail"()
-    rx346_cur."!cursor_debug"("FAIL  ", "backslash:sym<b>")
-    .return (rx346_cur)
+  rx347_done:
+    rx347_cur."!cursor_fail"()
+    rx347_cur."!cursor_debug"("FAIL  ", "backslash:sym<b>")
+    .return (rx347_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<b>"  :subid("96_1275599996.35368") :method
+.sub "!PREFIX__backslash:sym<b>"  :subid("96_1275811476.7961") :method
 .annotate 'line', 3
-    new $P348, "ResizablePMCArray"
-    push $P348, "B"
-    push $P348, "b"
-    .return ($P348)
+    new $P349, "ResizablePMCArray"
+    push $P349, "B"
+    push $P349, "b"
+    .return ($P349)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<e>"  :subid("97_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "backslash:sym<e>"  :subid("97_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx352_tgt
-    .local int rx352_pos
-    .local int rx352_off
-    .local int rx352_eos
-    .local int rx352_rep
-    .local pmc rx352_cur
-    (rx352_cur, rx352_pos, rx352_tgt) = self."!cursor_start"()
-    rx352_cur."!cursor_debug"("START ", "backslash:sym<e>")
-    .lex unicode:"$\x{a2}", rx352_cur
+    .local string rx353_tgt
+    .local int rx353_pos
+    .local int rx353_off
+    .local int rx353_eos
+    .local int rx353_rep
+    .local pmc rx353_cur
+    (rx353_cur, rx353_pos, rx353_tgt) = self."!cursor_start"()
+    rx353_cur."!cursor_debug"("START ", "backslash:sym<e>")
+    .lex unicode:"$\x{a2}", rx353_cur
     .local pmc match
     .lex "$/", match
-    length rx352_eos, rx352_tgt
-    gt rx352_pos, rx352_eos, rx352_done
-    set rx352_off, 0
-    lt rx352_pos, 2, rx352_start
-    sub rx352_off, rx352_pos, 1
-    substr rx352_tgt, rx352_tgt, rx352_off
-  rx352_start:
+    length rx353_eos, rx353_tgt
+    gt rx353_pos, rx353_eos, rx353_done
+    set rx353_off, 0
+    lt rx353_pos, 2, rx353_start
+    sub rx353_off, rx353_pos, 1
+    substr rx353_tgt, rx353_tgt, rx353_off
+  rx353_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan355_done
-    goto rxscan355_scan
-  rxscan355_loop:
-    ($P10) = rx352_cur."from"()
+    ne $I10, -1, rxscan356_done
+    goto rxscan356_scan
+  rxscan356_loop:
+    ($P10) = rx353_cur."from"()
     inc $P10
-    set rx352_pos, $P10
-    ge rx352_pos, rx352_eos, rxscan355_done
-  rxscan355_scan:
-    set_addr $I10, rxscan355_loop
-    rx352_cur."!mark_push"(0, rx352_pos, $I10)
-  rxscan355_done:
+    set rx353_pos, $P10
+    ge rx353_pos, rx353_eos, rxscan356_done
+  rxscan356_scan:
+    set_addr $I10, rxscan356_loop
+    rx353_cur."!mark_push"(0, rx353_pos, $I10)
+  rxscan356_done:
 .annotate 'line', 123
   # rx subcapture "sym"
-    set_addr $I10, rxcap_356_fail
-    rx352_cur."!mark_push"(0, rx352_pos, $I10)
+    set_addr $I10, rxcap_357_fail
+    rx353_cur."!mark_push"(0, rx353_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx352_pos, rx352_eos, rx352_fail
-    sub $I10, rx352_pos, rx352_off
-    substr $S10, rx352_tgt, $I10, 1
+    ge rx353_pos, rx353_eos, rx353_fail
+    sub $I10, rx353_pos, rx353_off
+    substr $S10, rx353_tgt, $I10, 1
     index $I11, "eE", $S10
-    lt $I11, 0, rx352_fail
-    inc rx352_pos
-    set_addr $I10, rxcap_356_fail
-    ($I12, $I11) = rx352_cur."!mark_peek"($I10)
-    rx352_cur."!cursor_pos"($I11)
-    ($P10) = rx352_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx352_pos, "")
-    rx352_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx353_fail
+    inc rx353_pos
+    set_addr $I10, rxcap_357_fail
+    ($I12, $I11) = rx353_cur."!mark_peek"($I10)
+    rx353_cur."!cursor_pos"($I11)
+    ($P10) = rx353_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx353_pos, "")
+    rx353_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_356_done
-  rxcap_356_fail:
-    goto rx352_fail
-  rxcap_356_done:
+    goto rxcap_357_done
+  rxcap_357_fail:
+    goto rx353_fail
+  rxcap_357_done:
   # rx pass
-    rx352_cur."!cursor_pass"(rx352_pos, "backslash:sym<e>")
-    rx352_cur."!cursor_debug"("PASS  ", "backslash:sym<e>", " at pos=", rx352_pos)
-    .return (rx352_cur)
-  rx352_fail:
+    rx353_cur."!cursor_pass"(rx353_pos, "backslash:sym<e>")
+    rx353_cur."!cursor_debug"("PASS  ", "backslash:sym<e>", " at pos=", rx353_pos)
+    .return (rx353_cur)
+  rx353_fail:
 .annotate 'line', 3
-    (rx352_rep, rx352_pos, $I10, $P10) = rx352_cur."!mark_fail"(0)
-    lt rx352_pos, -1, rx352_done
-    eq rx352_pos, -1, rx352_fail
+    (rx353_rep, rx353_pos, $I10, $P10) = rx353_cur."!mark_fail"(0)
+    lt rx353_pos, -1, rx353_done
+    eq rx353_pos, -1, rx353_fail
     jump $I10
-  rx352_done:
-    rx352_cur."!cursor_fail"()
-    rx352_cur."!cursor_debug"("FAIL  ", "backslash:sym<e>")
-    .return (rx352_cur)
+  rx353_done:
+    rx353_cur."!cursor_fail"()
+    rx353_cur."!cursor_debug"("FAIL  ", "backslash:sym<e>")
+    .return (rx353_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<e>"  :subid("98_1275599996.35368") :method
+.sub "!PREFIX__backslash:sym<e>"  :subid("98_1275811476.7961") :method
 .annotate 'line', 3
-    new $P354, "ResizablePMCArray"
-    push $P354, "E"
-    push $P354, "e"
-    .return ($P354)
+    new $P355, "ResizablePMCArray"
+    push $P355, "E"
+    push $P355, "e"
+    .return ($P355)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<f>"  :subid("99_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "backslash:sym<f>"  :subid("99_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx358_tgt
-    .local int rx358_pos
-    .local int rx358_off
-    .local int rx358_eos
-    .local int rx358_rep
-    .local pmc rx358_cur
-    (rx358_cur, rx358_pos, rx358_tgt) = self."!cursor_start"()
-    rx358_cur."!cursor_debug"("START ", "backslash:sym<f>")
-    .lex unicode:"$\x{a2}", rx358_cur
+    .local string rx359_tgt
+    .local int rx359_pos
+    .local int rx359_off
+    .local int rx359_eos
+    .local int rx359_rep
+    .local pmc rx359_cur
+    (rx359_cur, rx359_pos, rx359_tgt) = self."!cursor_start"()
+    rx359_cur."!cursor_debug"("START ", "backslash:sym<f>")
+    .lex unicode:"$\x{a2}", rx359_cur
     .local pmc match
     .lex "$/", match
-    length rx358_eos, rx358_tgt
-    gt rx358_pos, rx358_eos, rx358_done
-    set rx358_off, 0
-    lt rx358_pos, 2, rx358_start
-    sub rx358_off, rx358_pos, 1
-    substr rx358_tgt, rx358_tgt, rx358_off
-  rx358_start:
+    length rx359_eos, rx359_tgt
+    gt rx359_pos, rx359_eos, rx359_done
+    set rx359_off, 0
+    lt rx359_pos, 2, rx359_start
+    sub rx359_off, rx359_pos, 1
+    substr rx359_tgt, rx359_tgt, rx359_off
+  rx359_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan361_done
-    goto rxscan361_scan
-  rxscan361_loop:
-    ($P10) = rx358_cur."from"()
+    ne $I10, -1, rxscan362_done
+    goto rxscan362_scan
+  rxscan362_loop:
+    ($P10) = rx359_cur."from"()
     inc $P10
-    set rx358_pos, $P10
-    ge rx358_pos, rx358_eos, rxscan361_done
-  rxscan361_scan:
-    set_addr $I10, rxscan361_loop
-    rx358_cur."!mark_push"(0, rx358_pos, $I10)
-  rxscan361_done:
+    set rx359_pos, $P10
+    ge rx359_pos, rx359_eos, rxscan362_done
+  rxscan362_scan:
+    set_addr $I10, rxscan362_loop
+    rx359_cur."!mark_push"(0, rx359_pos, $I10)
+  rxscan362_done:
 .annotate 'line', 124
   # rx subcapture "sym"
-    set_addr $I10, rxcap_362_fail
-    rx358_cur."!mark_push"(0, rx358_pos, $I10)
+    set_addr $I10, rxcap_363_fail
+    rx359_cur."!mark_push"(0, rx359_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx358_pos, rx358_eos, rx358_fail
-    sub $I10, rx358_pos, rx358_off
-    substr $S10, rx358_tgt, $I10, 1
+    ge rx359_pos, rx359_eos, rx359_fail
+    sub $I10, rx359_pos, rx359_off
+    substr $S10, rx359_tgt, $I10, 1
     index $I11, "fF", $S10
-    lt $I11, 0, rx358_fail
-    inc rx358_pos
-    set_addr $I10, rxcap_362_fail
-    ($I12, $I11) = rx358_cur."!mark_peek"($I10)
-    rx358_cur."!cursor_pos"($I11)
-    ($P10) = rx358_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx358_pos, "")
-    rx358_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx359_fail
+    inc rx359_pos
+    set_addr $I10, rxcap_363_fail
+    ($I12, $I11) = rx359_cur."!mark_peek"($I10)
+    rx359_cur."!cursor_pos"($I11)
+    ($P10) = rx359_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx359_pos, "")
+    rx359_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_362_done
-  rxcap_362_fail:
-    goto rx358_fail
-  rxcap_362_done:
+    goto rxcap_363_done
+  rxcap_363_fail:
+    goto rx359_fail
+  rxcap_363_done:
   # rx pass
-    rx358_cur."!cursor_pass"(rx358_pos, "backslash:sym<f>")
-    rx358_cur."!cursor_debug"("PASS  ", "backslash:sym<f>", " at pos=", rx358_pos)
-    .return (rx358_cur)
-  rx358_fail:
+    rx359_cur."!cursor_pass"(rx359_pos, "backslash:sym<f>")
+    rx359_cur."!cursor_debug"("PASS  ", "backslash:sym<f>", " at pos=", rx359_pos)
+    .return (rx359_cur)
+  rx359_fail:
 .annotate 'line', 3
-    (rx358_rep, rx358_pos, $I10, $P10) = rx358_cur."!mark_fail"(0)
-    lt rx358_pos, -1, rx358_done
-    eq rx358_pos, -1, rx358_fail
+    (rx359_rep, rx359_pos, $I10, $P10) = rx359_cur."!mark_fail"(0)
+    lt rx359_pos, -1, rx359_done
+    eq rx359_pos, -1, rx359_fail
     jump $I10
-  rx358_done:
-    rx358_cur."!cursor_fail"()
-    rx358_cur."!cursor_debug"("FAIL  ", "backslash:sym<f>")
-    .return (rx358_cur)
+  rx359_done:
+    rx359_cur."!cursor_fail"()
+    rx359_cur."!cursor_debug"("FAIL  ", "backslash:sym<f>")
+    .return (rx359_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<f>"  :subid("100_1275599996.35368") :method
+.sub "!PREFIX__backslash:sym<f>"  :subid("100_1275811476.7961") :method
 .annotate 'line', 3
-    new $P360, "ResizablePMCArray"
-    push $P360, "F"
-    push $P360, "f"
-    .return ($P360)
+    new $P361, "ResizablePMCArray"
+    push $P361, "F"
+    push $P361, "f"
+    .return ($P361)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<h>"  :subid("101_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "backslash:sym<h>"  :subid("101_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx364_tgt
-    .local int rx364_pos
-    .local int rx364_off
-    .local int rx364_eos
-    .local int rx364_rep
-    .local pmc rx364_cur
-    (rx364_cur, rx364_pos, rx364_tgt) = self."!cursor_start"()
-    rx364_cur."!cursor_debug"("START ", "backslash:sym<h>")
-    .lex unicode:"$\x{a2}", rx364_cur
+    .local string rx365_tgt
+    .local int rx365_pos
+    .local int rx365_off
+    .local int rx365_eos
+    .local int rx365_rep
+    .local pmc rx365_cur
+    (rx365_cur, rx365_pos, rx365_tgt) = self."!cursor_start"()
+    rx365_cur."!cursor_debug"("START ", "backslash:sym<h>")
+    .lex unicode:"$\x{a2}", rx365_cur
     .local pmc match
     .lex "$/", match
-    length rx364_eos, rx364_tgt
-    gt rx364_pos, rx364_eos, rx364_done
-    set rx364_off, 0
-    lt rx364_pos, 2, rx364_start
-    sub rx364_off, rx364_pos, 1
-    substr rx364_tgt, rx364_tgt, rx364_off
-  rx364_start:
+    length rx365_eos, rx365_tgt
+    gt rx365_pos, rx365_eos, rx365_done
+    set rx365_off, 0
+    lt rx365_pos, 2, rx365_start
+    sub rx365_off, rx365_pos, 1
+    substr rx365_tgt, rx365_tgt, rx365_off
+  rx365_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan367_done
-    goto rxscan367_scan
-  rxscan367_loop:
-    ($P10) = rx364_cur."from"()
+    ne $I10, -1, rxscan368_done
+    goto rxscan368_scan
+  rxscan368_loop:
+    ($P10) = rx365_cur."from"()
     inc $P10
-    set rx364_pos, $P10
-    ge rx364_pos, rx364_eos, rxscan367_done
-  rxscan367_scan:
-    set_addr $I10, rxscan367_loop
-    rx364_cur."!mark_push"(0, rx364_pos, $I10)
-  rxscan367_done:
+    set rx365_pos, $P10
+    ge rx365_pos, rx365_eos, rxscan368_done
+  rxscan368_scan:
+    set_addr $I10, rxscan368_loop
+    rx365_cur."!mark_push"(0, rx365_pos, $I10)
+  rxscan368_done:
 .annotate 'line', 125
   # rx subcapture "sym"
-    set_addr $I10, rxcap_368_fail
-    rx364_cur."!mark_push"(0, rx364_pos, $I10)
+    set_addr $I10, rxcap_369_fail
+    rx365_cur."!mark_push"(0, rx365_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx364_pos, rx364_eos, rx364_fail
-    sub $I10, rx364_pos, rx364_off
-    substr $S10, rx364_tgt, $I10, 1
+    ge rx365_pos, rx365_eos, rx365_fail
+    sub $I10, rx365_pos, rx365_off
+    substr $S10, rx365_tgt, $I10, 1
     index $I11, "hH", $S10
-    lt $I11, 0, rx364_fail
-    inc rx364_pos
-    set_addr $I10, rxcap_368_fail
-    ($I12, $I11) = rx364_cur."!mark_peek"($I10)
-    rx364_cur."!cursor_pos"($I11)
-    ($P10) = rx364_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx364_pos, "")
-    rx364_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx365_fail
+    inc rx365_pos
+    set_addr $I10, rxcap_369_fail
+    ($I12, $I11) = rx365_cur."!mark_peek"($I10)
+    rx365_cur."!cursor_pos"($I11)
+    ($P10) = rx365_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx365_pos, "")
+    rx365_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_368_done
-  rxcap_368_fail:
-    goto rx364_fail
-  rxcap_368_done:
+    goto rxcap_369_done
+  rxcap_369_fail:
+    goto rx365_fail
+  rxcap_369_done:
   # rx pass
-    rx364_cur."!cursor_pass"(rx364_pos, "backslash:sym<h>")
-    rx364_cur."!cursor_debug"("PASS  ", "backslash:sym<h>", " at pos=", rx364_pos)
-    .return (rx364_cur)
-  rx364_fail:
+    rx365_cur."!cursor_pass"(rx365_pos, "backslash:sym<h>")
+    rx365_cur."!cursor_debug"("PASS  ", "backslash:sym<h>", " at pos=", rx365_pos)
+    .return (rx365_cur)
+  rx365_fail:
 .annotate 'line', 3
-    (rx364_rep, rx364_pos, $I10, $P10) = rx364_cur."!mark_fail"(0)
-    lt rx364_pos, -1, rx364_done
-    eq rx364_pos, -1, rx364_fail
+    (rx365_rep, rx365_pos, $I10, $P10) = rx365_cur."!mark_fail"(0)
+    lt rx365_pos, -1, rx365_done
+    eq rx365_pos, -1, rx365_fail
     jump $I10
-  rx364_done:
-    rx364_cur."!cursor_fail"()
-    rx364_cur."!cursor_debug"("FAIL  ", "backslash:sym<h>")
-    .return (rx364_cur)
+  rx365_done:
+    rx365_cur."!cursor_fail"()
+    rx365_cur."!cursor_debug"("FAIL  ", "backslash:sym<h>")
+    .return (rx365_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<h>"  :subid("102_1275599996.35368") :method
+.sub "!PREFIX__backslash:sym<h>"  :subid("102_1275811476.7961") :method
 .annotate 'line', 3
-    new $P366, "ResizablePMCArray"
-    push $P366, "H"
-    push $P366, "h"
-    .return ($P366)
+    new $P367, "ResizablePMCArray"
+    push $P367, "H"
+    push $P367, "h"
+    .return ($P367)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<r>"  :subid("103_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "backslash:sym<r>"  :subid("103_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx370_tgt
-    .local int rx370_pos
-    .local int rx370_off
-    .local int rx370_eos
-    .local int rx370_rep
-    .local pmc rx370_cur
-    (rx370_cur, rx370_pos, rx370_tgt) = self."!cursor_start"()
-    rx370_cur."!cursor_debug"("START ", "backslash:sym<r>")
-    .lex unicode:"$\x{a2}", rx370_cur
+    .local string rx371_tgt
+    .local int rx371_pos
+    .local int rx371_off
+    .local int rx371_eos
+    .local int rx371_rep
+    .local pmc rx371_cur
+    (rx371_cur, rx371_pos, rx371_tgt) = self."!cursor_start"()
+    rx371_cur."!cursor_debug"("START ", "backslash:sym<r>")
+    .lex unicode:"$\x{a2}", rx371_cur
     .local pmc match
     .lex "$/", match
-    length rx370_eos, rx370_tgt
-    gt rx370_pos, rx370_eos, rx370_done
-    set rx370_off, 0
-    lt rx370_pos, 2, rx370_start
-    sub rx370_off, rx370_pos, 1
-    substr rx370_tgt, rx370_tgt, rx370_off
-  rx370_start:
+    length rx371_eos, rx371_tgt
+    gt rx371_pos, rx371_eos, rx371_done
+    set rx371_off, 0
+    lt rx371_pos, 2, rx371_start
+    sub rx371_off, rx371_pos, 1
+    substr rx371_tgt, rx371_tgt, rx371_off
+  rx371_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan373_done
-    goto rxscan373_scan
-  rxscan373_loop:
-    ($P10) = rx370_cur."from"()
+    ne $I10, -1, rxscan374_done
+    goto rxscan374_scan
+  rxscan374_loop:
+    ($P10) = rx371_cur."from"()
     inc $P10
-    set rx370_pos, $P10
-    ge rx370_pos, rx370_eos, rxscan373_done
-  rxscan373_scan:
-    set_addr $I10, rxscan373_loop
-    rx370_cur."!mark_push"(0, rx370_pos, $I10)
-  rxscan373_done:
+    set rx371_pos, $P10
+    ge rx371_pos, rx371_eos, rxscan374_done
+  rxscan374_scan:
+    set_addr $I10, rxscan374_loop
+    rx371_cur."!mark_push"(0, rx371_pos, $I10)
+  rxscan374_done:
 .annotate 'line', 126
   # rx subcapture "sym"
-    set_addr $I10, rxcap_374_fail
-    rx370_cur."!mark_push"(0, rx370_pos, $I10)
+    set_addr $I10, rxcap_375_fail
+    rx371_cur."!mark_push"(0, rx371_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx370_pos, rx370_eos, rx370_fail
-    sub $I10, rx370_pos, rx370_off
-    substr $S10, rx370_tgt, $I10, 1
+    ge rx371_pos, rx371_eos, rx371_fail
+    sub $I10, rx371_pos, rx371_off
+    substr $S10, rx371_tgt, $I10, 1
     index $I11, "rR", $S10
-    lt $I11, 0, rx370_fail
-    inc rx370_pos
-    set_addr $I10, rxcap_374_fail
-    ($I12, $I11) = rx370_cur."!mark_peek"($I10)
-    rx370_cur."!cursor_pos"($I11)
-    ($P10) = rx370_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx370_pos, "")
-    rx370_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx371_fail
+    inc rx371_pos
+    set_addr $I10, rxcap_375_fail
+    ($I12, $I11) = rx371_cur."!mark_peek"($I10)
+    rx371_cur."!cursor_pos"($I11)
+    ($P10) = rx371_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx371_pos, "")
+    rx371_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_374_done
-  rxcap_374_fail:
-    goto rx370_fail
-  rxcap_374_done:
+    goto rxcap_375_done
+  rxcap_375_fail:
+    goto rx371_fail
+  rxcap_375_done:
   # rx pass
-    rx370_cur."!cursor_pass"(rx370_pos, "backslash:sym<r>")
-    rx370_cur."!cursor_debug"("PASS  ", "backslash:sym<r>", " at pos=", rx370_pos)
-    .return (rx370_cur)
-  rx370_fail:
+    rx371_cur."!cursor_pass"(rx371_pos, "backslash:sym<r>")
+    rx371_cur."!cursor_debug"("PASS  ", "backslash:sym<r>", " at pos=", rx371_pos)
+    .return (rx371_cur)
+  rx371_fail:
 .annotate 'line', 3
-    (rx370_rep, rx370_pos, $I10, $P10) = rx370_cur."!mark_fail"(0)
-    lt rx370_pos, -1, rx370_done
-    eq rx370_pos, -1, rx370_fail
+    (rx371_rep, rx371_pos, $I10, $P10) = rx371_cur."!mark_fail"(0)
+    lt rx371_pos, -1, rx371_done
+    eq rx371_pos, -1, rx371_fail
     jump $I10
-  rx370_done:
-    rx370_cur."!cursor_fail"()
-    rx370_cur."!cursor_debug"("FAIL  ", "backslash:sym<r>")
-    .return (rx370_cur)
+  rx371_done:
+    rx371_cur."!cursor_fail"()
+    rx371_cur."!cursor_debug"("FAIL  ", "backslash:sym<r>")
+    .return (rx371_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<r>"  :subid("104_1275599996.35368") :method
+.sub "!PREFIX__backslash:sym<r>"  :subid("104_1275811476.7961") :method
 .annotate 'line', 3
-    new $P372, "ResizablePMCArray"
-    push $P372, "R"
-    push $P372, "r"
-    .return ($P372)
+    new $P373, "ResizablePMCArray"
+    push $P373, "R"
+    push $P373, "r"
+    .return ($P373)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<t>"  :subid("105_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "backslash:sym<t>"  :subid("105_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx376_tgt
-    .local int rx376_pos
-    .local int rx376_off
-    .local int rx376_eos
-    .local int rx376_rep
-    .local pmc rx376_cur
-    (rx376_cur, rx376_pos, rx376_tgt) = self."!cursor_start"()
-    rx376_cur."!cursor_debug"("START ", "backslash:sym<t>")
-    .lex unicode:"$\x{a2}", rx376_cur
+    .local string rx377_tgt
+    .local int rx377_pos
+    .local int rx377_off
+    .local int rx377_eos
+    .local int rx377_rep
+    .local pmc rx377_cur
+    (rx377_cur, rx377_pos, rx377_tgt) = self."!cursor_start"()
+    rx377_cur."!cursor_debug"("START ", "backslash:sym<t>")
+    .lex unicode:"$\x{a2}", rx377_cur
     .local pmc match
     .lex "$/", match
-    length rx376_eos, rx376_tgt
-    gt rx376_pos, rx376_eos, rx376_done
-    set rx376_off, 0
-    lt rx376_pos, 2, rx376_start
-    sub rx376_off, rx376_pos, 1
-    substr rx376_tgt, rx376_tgt, rx376_off
-  rx376_start:
+    length rx377_eos, rx377_tgt
+    gt rx377_pos, rx377_eos, rx377_done
+    set rx377_off, 0
+    lt rx377_pos, 2, rx377_start
+    sub rx377_off, rx377_pos, 1
+    substr rx377_tgt, rx377_tgt, rx377_off
+  rx377_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan379_done
-    goto rxscan379_scan
-  rxscan379_loop:
-    ($P10) = rx376_cur."from"()
+    ne $I10, -1, rxscan380_done
+    goto rxscan380_scan
+  rxscan380_loop:
+    ($P10) = rx377_cur."from"()
     inc $P10
-    set rx376_pos, $P10
-    ge rx376_pos, rx376_eos, rxscan379_done
-  rxscan379_scan:
-    set_addr $I10, rxscan379_loop
-    rx376_cur."!mark_push"(0, rx376_pos, $I10)
-  rxscan379_done:
+    set rx377_pos, $P10
+    ge rx377_pos, rx377_eos, rxscan380_done
+  rxscan380_scan:
+    set_addr $I10, rxscan380_loop
+    rx377_cur."!mark_push"(0, rx377_pos, $I10)
+  rxscan380_done:
 .annotate 'line', 127
   # rx subcapture "sym"
-    set_addr $I10, rxcap_380_fail
-    rx376_cur."!mark_push"(0, rx376_pos, $I10)
+    set_addr $I10, rxcap_381_fail
+    rx377_cur."!mark_push"(0, rx377_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx376_pos, rx376_eos, rx376_fail
-    sub $I10, rx376_pos, rx376_off
-    substr $S10, rx376_tgt, $I10, 1
+    ge rx377_pos, rx377_eos, rx377_fail
+    sub $I10, rx377_pos, rx377_off
+    substr $S10, rx377_tgt, $I10, 1
     index $I11, "tT", $S10
-    lt $I11, 0, rx376_fail
-    inc rx376_pos
-    set_addr $I10, rxcap_380_fail
-    ($I12, $I11) = rx376_cur."!mark_peek"($I10)
-    rx376_cur."!cursor_pos"($I11)
-    ($P10) = rx376_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx376_pos, "")
-    rx376_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx377_fail
+    inc rx377_pos
+    set_addr $I10, rxcap_381_fail
+    ($I12, $I11) = rx377_cur."!mark_peek"($I10)
+    rx377_cur."!cursor_pos"($I11)
+    ($P10) = rx377_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx377_pos, "")
+    rx377_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_380_done
-  rxcap_380_fail:
-    goto rx376_fail
-  rxcap_380_done:
+    goto rxcap_381_done
+  rxcap_381_fail:
+    goto rx377_fail
+  rxcap_381_done:
   # rx pass
-    rx376_cur."!cursor_pass"(rx376_pos, "backslash:sym<t>")
-    rx376_cur."!cursor_debug"("PASS  ", "backslash:sym<t>", " at pos=", rx376_pos)
-    .return (rx376_cur)
-  rx376_fail:
+    rx377_cur."!cursor_pass"(rx377_pos, "backslash:sym<t>")
+    rx377_cur."!cursor_debug"("PASS  ", "backslash:sym<t>", " at pos=", rx377_pos)
+    .return (rx377_cur)
+  rx377_fail:
 .annotate 'line', 3
-    (rx376_rep, rx376_pos, $I10, $P10) = rx376_cur."!mark_fail"(0)
-    lt rx376_pos, -1, rx376_done
-    eq rx376_pos, -1, rx376_fail
+    (rx377_rep, rx377_pos, $I10, $P10) = rx377_cur."!mark_fail"(0)
+    lt rx377_pos, -1, rx377_done
+    eq rx377_pos, -1, rx377_fail
     jump $I10
-  rx376_done:
-    rx376_cur."!cursor_fail"()
-    rx376_cur."!cursor_debug"("FAIL  ", "backslash:sym<t>")
-    .return (rx376_cur)
+  rx377_done:
+    rx377_cur."!cursor_fail"()
+    rx377_cur."!cursor_debug"("FAIL  ", "backslash:sym<t>")
+    .return (rx377_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<t>"  :subid("106_1275599996.35368") :method
+.sub "!PREFIX__backslash:sym<t>"  :subid("106_1275811476.7961") :method
 .annotate 'line', 3
-    new $P378, "ResizablePMCArray"
-    push $P378, "T"
-    push $P378, "t"
-    .return ($P378)
+    new $P379, "ResizablePMCArray"
+    push $P379, "T"
+    push $P379, "t"
+    .return ($P379)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<v>"  :subid("107_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "backslash:sym<v>"  :subid("107_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx382_tgt
-    .local int rx382_pos
-    .local int rx382_off
-    .local int rx382_eos
-    .local int rx382_rep
-    .local pmc rx382_cur
-    (rx382_cur, rx382_pos, rx382_tgt) = self."!cursor_start"()
-    rx382_cur."!cursor_debug"("START ", "backslash:sym<v>")
-    .lex unicode:"$\x{a2}", rx382_cur
+    .local string rx383_tgt
+    .local int rx383_pos
+    .local int rx383_off
+    .local int rx383_eos
+    .local int rx383_rep
+    .local pmc rx383_cur
+    (rx383_cur, rx383_pos, rx383_tgt) = self."!cursor_start"()
+    rx383_cur."!cursor_debug"("START ", "backslash:sym<v>")
+    .lex unicode:"$\x{a2}", rx383_cur
     .local pmc match
     .lex "$/", match
-    length rx382_eos, rx382_tgt
-    gt rx382_pos, rx382_eos, rx382_done
-    set rx382_off, 0
-    lt rx382_pos, 2, rx382_start
-    sub rx382_off, rx382_pos, 1
-    substr rx382_tgt, rx382_tgt, rx382_off
-  rx382_start:
+    length rx383_eos, rx383_tgt
+    gt rx383_pos, rx383_eos, rx383_done
+    set rx383_off, 0
+    lt rx383_pos, 2, rx383_start
+    sub rx383_off, rx383_pos, 1
+    substr rx383_tgt, rx383_tgt, rx383_off
+  rx383_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan385_done
-    goto rxscan385_scan
-  rxscan385_loop:
-    ($P10) = rx382_cur."from"()
+    ne $I10, -1, rxscan386_done
+    goto rxscan386_scan
+  rxscan386_loop:
+    ($P10) = rx383_cur."from"()
     inc $P10
-    set rx382_pos, $P10
-    ge rx382_pos, rx382_eos, rxscan385_done
-  rxscan385_scan:
-    set_addr $I10, rxscan385_loop
-    rx382_cur."!mark_push"(0, rx382_pos, $I10)
-  rxscan385_done:
+    set rx383_pos, $P10
+    ge rx383_pos, rx383_eos, rxscan386_done
+  rxscan386_scan:
+    set_addr $I10, rxscan386_loop
+    rx383_cur."!mark_push"(0, rx383_pos, $I10)
+  rxscan386_done:
 .annotate 'line', 128
   # rx subcapture "sym"
-    set_addr $I10, rxcap_386_fail
-    rx382_cur."!mark_push"(0, rx382_pos, $I10)
+    set_addr $I10, rxcap_387_fail
+    rx383_cur."!mark_push"(0, rx383_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx382_pos, rx382_eos, rx382_fail
-    sub $I10, rx382_pos, rx382_off
-    substr $S10, rx382_tgt, $I10, 1
+    ge rx383_pos, rx383_eos, rx383_fail
+    sub $I10, rx383_pos, rx383_off
+    substr $S10, rx383_tgt, $I10, 1
     index $I11, "vV", $S10
-    lt $I11, 0, rx382_fail
-    inc rx382_pos
-    set_addr $I10, rxcap_386_fail
-    ($I12, $I11) = rx382_cur."!mark_peek"($I10)
-    rx382_cur."!cursor_pos"($I11)
-    ($P10) = rx382_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx382_pos, "")
-    rx382_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx383_fail
+    inc rx383_pos
+    set_addr $I10, rxcap_387_fail
+    ($I12, $I11) = rx383_cur."!mark_peek"($I10)
+    rx383_cur."!cursor_pos"($I11)
+    ($P10) = rx383_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx383_pos, "")
+    rx383_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_386_done
-  rxcap_386_fail:
-    goto rx382_fail
-  rxcap_386_done:
+    goto rxcap_387_done
+  rxcap_387_fail:
+    goto rx383_fail
+  rxcap_387_done:
   # rx pass
-    rx382_cur."!cursor_pass"(rx382_pos, "backslash:sym<v>")
-    rx382_cur."!cursor_debug"("PASS  ", "backslash:sym<v>", " at pos=", rx382_pos)
-    .return (rx382_cur)
-  rx382_fail:
+    rx383_cur."!cursor_pass"(rx383_pos, "backslash:sym<v>")
+    rx383_cur."!cursor_debug"("PASS  ", "backslash:sym<v>", " at pos=", rx383_pos)
+    .return (rx383_cur)
+  rx383_fail:
 .annotate 'line', 3
-    (rx382_rep, rx382_pos, $I10, $P10) = rx382_cur."!mark_fail"(0)
-    lt rx382_pos, -1, rx382_done
-    eq rx382_pos, -1, rx382_fail
+    (rx383_rep, rx383_pos, $I10, $P10) = rx383_cur."!mark_fail"(0)
+    lt rx383_pos, -1, rx383_done
+    eq rx383_pos, -1, rx383_fail
     jump $I10
-  rx382_done:
-    rx382_cur."!cursor_fail"()
-    rx382_cur."!cursor_debug"("FAIL  ", "backslash:sym<v>")
-    .return (rx382_cur)
+  rx383_done:
+    rx383_cur."!cursor_fail"()
+    rx383_cur."!cursor_debug"("FAIL  ", "backslash:sym<v>")
+    .return (rx383_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<v>"  :subid("108_1275599996.35368") :method
+.sub "!PREFIX__backslash:sym<v>"  :subid("108_1275811476.7961") :method
 .annotate 'line', 3
-    new $P384, "ResizablePMCArray"
-    push $P384, "V"
-    push $P384, "v"
-    .return ($P384)
+    new $P385, "ResizablePMCArray"
+    push $P385, "V"
+    push $P385, "v"
+    .return ($P385)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<o>"  :subid("109_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "backslash:sym<o>"  :subid("109_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx388_tgt
-    .local int rx388_pos
-    .local int rx388_off
-    .local int rx388_eos
-    .local int rx388_rep
-    .local pmc rx388_cur
-    (rx388_cur, rx388_pos, rx388_tgt) = self."!cursor_start"()
-    rx388_cur."!cursor_debug"("START ", "backslash:sym<o>")
-    .lex unicode:"$\x{a2}", rx388_cur
+    .local string rx389_tgt
+    .local int rx389_pos
+    .local int rx389_off
+    .local int rx389_eos
+    .local int rx389_rep
+    .local pmc rx389_cur
+    (rx389_cur, rx389_pos, rx389_tgt) = self."!cursor_start"()
+    rx389_cur."!cursor_debug"("START ", "backslash:sym<o>")
+    .lex unicode:"$\x{a2}", rx389_cur
     .local pmc match
     .lex "$/", match
-    length rx388_eos, rx388_tgt
-    gt rx388_pos, rx388_eos, rx388_done
-    set rx388_off, 0
-    lt rx388_pos, 2, rx388_start
-    sub rx388_off, rx388_pos, 1
-    substr rx388_tgt, rx388_tgt, rx388_off
-  rx388_start:
+    length rx389_eos, rx389_tgt
+    gt rx389_pos, rx389_eos, rx389_done
+    set rx389_off, 0
+    lt rx389_pos, 2, rx389_start
+    sub rx389_off, rx389_pos, 1
+    substr rx389_tgt, rx389_tgt, rx389_off
+  rx389_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan395_done
-    goto rxscan395_scan
-  rxscan395_loop:
-    ($P10) = rx388_cur."from"()
+    ne $I10, -1, rxscan396_done
+    goto rxscan396_scan
+  rxscan396_loop:
+    ($P10) = rx389_cur."from"()
     inc $P10
-    set rx388_pos, $P10
-    ge rx388_pos, rx388_eos, rxscan395_done
-  rxscan395_scan:
-    set_addr $I10, rxscan395_loop
-    rx388_cur."!mark_push"(0, rx388_pos, $I10)
-  rxscan395_done:
+    set rx389_pos, $P10
+    ge rx389_pos, rx389_eos, rxscan396_done
+  rxscan396_scan:
+    set_addr $I10, rxscan396_loop
+    rx389_cur."!mark_push"(0, rx389_pos, $I10)
+  rxscan396_done:
 .annotate 'line', 129
   # rx subcapture "sym"
-    set_addr $I10, rxcap_396_fail
-    rx388_cur."!mark_push"(0, rx388_pos, $I10)
+    set_addr $I10, rxcap_397_fail
+    rx389_cur."!mark_push"(0, rx389_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx388_pos, rx388_eos, rx388_fail
-    sub $I10, rx388_pos, rx388_off
-    substr $S10, rx388_tgt, $I10, 1
+    ge rx389_pos, rx389_eos, rx389_fail
+    sub $I10, rx389_pos, rx389_off
+    substr $S10, rx389_tgt, $I10, 1
     index $I11, "oO", $S10
-    lt $I11, 0, rx388_fail
-    inc rx388_pos
-    set_addr $I10, rxcap_396_fail
-    ($I12, $I11) = rx388_cur."!mark_peek"($I10)
-    rx388_cur."!cursor_pos"($I11)
-    ($P10) = rx388_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx388_pos, "")
-    rx388_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx389_fail
+    inc rx389_pos
+    set_addr $I10, rxcap_397_fail
+    ($I12, $I11) = rx389_cur."!mark_peek"($I10)
+    rx389_cur."!cursor_pos"($I11)
+    ($P10) = rx389_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx389_pos, "")
+    rx389_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_396_done
-  rxcap_396_fail:
-    goto rx388_fail
-  rxcap_396_done:
-  alt397_0:
-    set_addr $I10, alt397_1
-    rx388_cur."!mark_push"(0, rx388_pos, $I10)
+    goto rxcap_397_done
+  rxcap_397_fail:
+    goto rx389_fail
+  rxcap_397_done:
+  alt398_0:
+    set_addr $I10, alt398_1
+    rx389_cur."!mark_push"(0, rx389_pos, $I10)
   # rx subrule "octint" subtype=capture negate=
-    rx388_cur."!cursor_pos"(rx388_pos)
-    $P10 = rx388_cur."octint"()
-    unless $P10, rx388_fail
-    rx388_cur."!mark_push"(0, -1, 0, $P10)
+    rx389_cur."!cursor_pos"(rx389_pos)
+    $P10 = rx389_cur."octint"()
+    unless $P10, rx389_fail
+    rx389_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("octint")
-    rx388_pos = $P10."pos"()
-    goto alt397_end
-  alt397_1:
+    rx389_pos = $P10."pos"()
+    goto alt398_end
+  alt398_1:
   # rx literal  "["
-    add $I11, rx388_pos, 1
-    gt $I11, rx388_eos, rx388_fail
-    sub $I11, rx388_pos, rx388_off
-    substr $S10, rx388_tgt, $I11, 1
-    ne $S10, "[", rx388_fail
-    add rx388_pos, 1
+    add $I11, rx389_pos, 1
+    gt $I11, rx389_eos, rx389_fail
+    sub $I11, rx389_pos, rx389_off
+    substr $S10, rx389_tgt, $I11, 1
+    ne $S10, "[", rx389_fail
+    add rx389_pos, 1
   # rx subrule "octints" subtype=capture negate=
-    rx388_cur."!cursor_pos"(rx388_pos)
-    $P10 = rx388_cur."octints"()
-    unless $P10, rx388_fail
-    rx388_cur."!mark_push"(0, -1, 0, $P10)
+    rx389_cur."!cursor_pos"(rx389_pos)
+    $P10 = rx389_cur."octints"()
+    unless $P10, rx389_fail
+    rx389_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("octints")
-    rx388_pos = $P10."pos"()
+    rx389_pos = $P10."pos"()
   # rx literal  "]"
-    add $I11, rx388_pos, 1
-    gt $I11, rx388_eos, rx388_fail
-    sub $I11, rx388_pos, rx388_off
-    substr $S10, rx388_tgt, $I11, 1
-    ne $S10, "]", rx388_fail
-    add rx388_pos, 1
-  alt397_end:
-  # rx pass
-    rx388_cur."!cursor_pass"(rx388_pos, "backslash:sym<o>")
-    rx388_cur."!cursor_debug"("PASS  ", "backslash:sym<o>", " at pos=", rx388_pos)
-    .return (rx388_cur)
-  rx388_fail:
-.annotate 'line', 3
-    (rx388_rep, rx388_pos, $I10, $P10) = rx388_cur."!mark_fail"(0)
-    lt rx388_pos, -1, rx388_done
-    eq rx388_pos, -1, rx388_fail
-    jump $I10
-  rx388_done:
-    rx388_cur."!cursor_fail"()
-    rx388_cur."!cursor_debug"("FAIL  ", "backslash:sym<o>")
-    .return (rx388_cur)
+    add $I11, rx389_pos, 1
+    gt $I11, rx389_eos, rx389_fail
+    sub $I11, rx389_pos, rx389_off
+    substr $S10, rx389_tgt, $I11, 1
+    ne $S10, "]", rx389_fail
+    add rx389_pos, 1
+  alt398_end:
+  # rx pass
+    rx389_cur."!cursor_pass"(rx389_pos, "backslash:sym<o>")
+    rx389_cur."!cursor_debug"("PASS  ", "backslash:sym<o>", " at pos=", rx389_pos)
+    .return (rx389_cur)
+  rx389_fail:
+.annotate 'line', 3
+    (rx389_rep, rx389_pos, $I10, $P10) = rx389_cur."!mark_fail"(0)
+    lt rx389_pos, -1, rx389_done
+    eq rx389_pos, -1, rx389_fail
+    jump $I10
+  rx389_done:
+    rx389_cur."!cursor_fail"()
+    rx389_cur."!cursor_debug"("FAIL  ", "backslash:sym<o>")
+    .return (rx389_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<o>"  :subid("110_1275599996.35368") :method
-.annotate 'line', 3
-    $P390 = self."!PREFIX__!subrule"("octints", "O[")
-    $P391 = self."!PREFIX__!subrule"("octint", "O")
-    $P392 = self."!PREFIX__!subrule"("octints", "o[")
-    $P393 = self."!PREFIX__!subrule"("octint", "o")
-    new $P394, "ResizablePMCArray"
-    push $P394, $P390
-    push $P394, $P391
-    push $P394, $P392
-    push $P394, $P393
-    .return ($P394)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<x>"  :subid("111_1275599996.35368") :method :outer("11_1275599996.35368")
-.annotate 'line', 3
-    .local string rx399_tgt
-    .local int rx399_pos
-    .local int rx399_off
-    .local int rx399_eos
-    .local int rx399_rep
-    .local pmc rx399_cur
-    (rx399_cur, rx399_pos, rx399_tgt) = self."!cursor_start"()
-    rx399_cur."!cursor_debug"("START ", "backslash:sym<x>")
-    .lex unicode:"$\x{a2}", rx399_cur
-    .local pmc match
-    .lex "$/", match
-    length rx399_eos, rx399_tgt
-    gt rx399_pos, rx399_eos, rx399_done
-    set rx399_off, 0
-    lt rx399_pos, 2, rx399_start
-    sub rx399_off, rx399_pos, 1
-    substr rx399_tgt, rx399_tgt, rx399_off
-  rx399_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan406_done
-    goto rxscan406_scan
-  rxscan406_loop:
-    ($P10) = rx399_cur."from"()
-    inc $P10
-    set rx399_pos, $P10
-    ge rx399_pos, rx399_eos, rxscan406_done
-  rxscan406_scan:
-    set_addr $I10, rxscan406_loop
-    rx399_cur."!mark_push"(0, rx399_pos, $I10)
-  rxscan406_done:
+.sub "!PREFIX__backslash:sym<o>"  :subid("110_1275811476.7961") :method
+.annotate 'line', 3
+    $P391 = self."!PREFIX__!subrule"("octints", "O[")
+    $P392 = self."!PREFIX__!subrule"("octint", "O")
+    $P393 = self."!PREFIX__!subrule"("octints", "o[")
+    $P394 = self."!PREFIX__!subrule"("octint", "o")
+    new $P395, "ResizablePMCArray"
+    push $P395, $P391
+    push $P395, $P392
+    push $P395, $P393
+    push $P395, $P394
+    .return ($P395)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Grammar"]
+.sub "backslash:sym<x>"  :subid("111_1275811476.7961") :method :outer("11_1275811476.7961")
+.annotate 'line', 3
+    .local string rx400_tgt
+    .local int rx400_pos
+    .local int rx400_off
+    .local int rx400_eos
+    .local int rx400_rep
+    .local pmc rx400_cur
+    (rx400_cur, rx400_pos, rx400_tgt) = self."!cursor_start"()
+    rx400_cur."!cursor_debug"("START ", "backslash:sym<x>")
+    .lex unicode:"$\x{a2}", rx400_cur
+    .local pmc match
+    .lex "$/", match
+    length rx400_eos, rx400_tgt
+    gt rx400_pos, rx400_eos, rx400_done
+    set rx400_off, 0
+    lt rx400_pos, 2, rx400_start
+    sub rx400_off, rx400_pos, 1
+    substr rx400_tgt, rx400_tgt, rx400_off
+  rx400_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan407_done
+    goto rxscan407_scan
+  rxscan407_loop:
+    ($P10) = rx400_cur."from"()
+    inc $P10
+    set rx400_pos, $P10
+    ge rx400_pos, rx400_eos, rxscan407_done
+  rxscan407_scan:
+    set_addr $I10, rxscan407_loop
+    rx400_cur."!mark_push"(0, rx400_pos, $I10)
+  rxscan407_done:
 .annotate 'line', 130
   # rx subcapture "sym"
-    set_addr $I10, rxcap_407_fail
-    rx399_cur."!mark_push"(0, rx399_pos, $I10)
+    set_addr $I10, rxcap_408_fail
+    rx400_cur."!mark_push"(0, rx400_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx399_pos, rx399_eos, rx399_fail
-    sub $I10, rx399_pos, rx399_off
-    substr $S10, rx399_tgt, $I10, 1
+    ge rx400_pos, rx400_eos, rx400_fail
+    sub $I10, rx400_pos, rx400_off
+    substr $S10, rx400_tgt, $I10, 1
     index $I11, "xX", $S10
-    lt $I11, 0, rx399_fail
-    inc rx399_pos
-    set_addr $I10, rxcap_407_fail
-    ($I12, $I11) = rx399_cur."!mark_peek"($I10)
-    rx399_cur."!cursor_pos"($I11)
-    ($P10) = rx399_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx399_pos, "")
-    rx399_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx400_fail
+    inc rx400_pos
+    set_addr $I10, rxcap_408_fail
+    ($I12, $I11) = rx400_cur."!mark_peek"($I10)
+    rx400_cur."!cursor_pos"($I11)
+    ($P10) = rx400_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx400_pos, "")
+    rx400_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_407_done
-  rxcap_407_fail:
-    goto rx399_fail
-  rxcap_407_done:
-  alt408_0:
-    set_addr $I10, alt408_1
-    rx399_cur."!mark_push"(0, rx399_pos, $I10)
+    goto rxcap_408_done
+  rxcap_408_fail:
+    goto rx400_fail
+  rxcap_408_done:
+  alt409_0:
+    set_addr $I10, alt409_1
+    rx400_cur."!mark_push"(0, rx400_pos, $I10)
   # rx subrule "hexint" subtype=capture negate=
-    rx399_cur."!cursor_pos"(rx399_pos)
-    $P10 = rx399_cur."hexint"()
-    unless $P10, rx399_fail
-    rx399_cur."!mark_push"(0, -1, 0, $P10)
+    rx400_cur."!cursor_pos"(rx400_pos)
+    $P10 = rx400_cur."hexint"()
+    unless $P10, rx400_fail
+    rx400_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("hexint")
-    rx399_pos = $P10."pos"()
-    goto alt408_end
-  alt408_1:
+    rx400_pos = $P10."pos"()
+    goto alt409_end
+  alt409_1:
   # rx literal  "["
-    add $I11, rx399_pos, 1
-    gt $I11, rx399_eos, rx399_fail
-    sub $I11, rx399_pos, rx399_off
-    substr $S10, rx399_tgt, $I11, 1
-    ne $S10, "[", rx399_fail
-    add rx399_pos, 1
+    add $I11, rx400_pos, 1
+    gt $I11, rx400_eos, rx400_fail
+    sub $I11, rx400_pos, rx400_off
+    substr $S10, rx400_tgt, $I11, 1
+    ne $S10, "[", rx400_fail
+    add rx400_pos, 1
   # rx subrule "hexints" subtype=capture negate=
-    rx399_cur."!cursor_pos"(rx399_pos)
-    $P10 = rx399_cur."hexints"()
-    unless $P10, rx399_fail
-    rx399_cur."!mark_push"(0, -1, 0, $P10)
+    rx400_cur."!cursor_pos"(rx400_pos)
+    $P10 = rx400_cur."hexints"()
+    unless $P10, rx400_fail
+    rx400_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("hexints")
-    rx399_pos = $P10."pos"()
+    rx400_pos = $P10."pos"()
   # rx literal  "]"
-    add $I11, rx399_pos, 1
-    gt $I11, rx399_eos, rx399_fail
-    sub $I11, rx399_pos, rx399_off
-    substr $S10, rx399_tgt, $I11, 1
-    ne $S10, "]", rx399_fail
-    add rx399_pos, 1
-  alt408_end:
-  # rx pass
-    rx399_cur."!cursor_pass"(rx399_pos, "backslash:sym<x>")
-    rx399_cur."!cursor_debug"("PASS  ", "backslash:sym<x>", " at pos=", rx399_pos)
-    .return (rx399_cur)
-  rx399_fail:
-.annotate 'line', 3
-    (rx399_rep, rx399_pos, $I10, $P10) = rx399_cur."!mark_fail"(0)
-    lt rx399_pos, -1, rx399_done
-    eq rx399_pos, -1, rx399_fail
-    jump $I10
-  rx399_done:
-    rx399_cur."!cursor_fail"()
-    rx399_cur."!cursor_debug"("FAIL  ", "backslash:sym<x>")
-    .return (rx399_cur)
+    add $I11, rx400_pos, 1
+    gt $I11, rx400_eos, rx400_fail
+    sub $I11, rx400_pos, rx400_off
+    substr $S10, rx400_tgt, $I11, 1
+    ne $S10, "]", rx400_fail
+    add rx400_pos, 1
+  alt409_end:
+  # rx pass
+    rx400_cur."!cursor_pass"(rx400_pos, "backslash:sym<x>")
+    rx400_cur."!cursor_debug"("PASS  ", "backslash:sym<x>", " at pos=", rx400_pos)
+    .return (rx400_cur)
+  rx400_fail:
+.annotate 'line', 3
+    (rx400_rep, rx400_pos, $I10, $P10) = rx400_cur."!mark_fail"(0)
+    lt rx400_pos, -1, rx400_done
+    eq rx400_pos, -1, rx400_fail
+    jump $I10
+  rx400_done:
+    rx400_cur."!cursor_fail"()
+    rx400_cur."!cursor_debug"("FAIL  ", "backslash:sym<x>")
+    .return (rx400_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<x>"  :subid("112_1275599996.35368") :method
-.annotate 'line', 3
-    $P401 = self."!PREFIX__!subrule"("hexints", "X[")
-    $P402 = self."!PREFIX__!subrule"("hexint", "X")
-    $P403 = self."!PREFIX__!subrule"("hexints", "x[")
-    $P404 = self."!PREFIX__!subrule"("hexint", "x")
-    new $P405, "ResizablePMCArray"
-    push $P405, $P401
-    push $P405, $P402
-    push $P405, $P403
-    push $P405, $P404
-    .return ($P405)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<c>"  :subid("113_1275599996.35368") :method :outer("11_1275599996.35368")
-.annotate 'line', 3
-    .local string rx410_tgt
-    .local int rx410_pos
-    .local int rx410_off
-    .local int rx410_eos
-    .local int rx410_rep
-    .local pmc rx410_cur
-    (rx410_cur, rx410_pos, rx410_tgt) = self."!cursor_start"()
-    rx410_cur."!cursor_debug"("START ", "backslash:sym<c>")
-    .lex unicode:"$\x{a2}", rx410_cur
-    .local pmc match
-    .lex "$/", match
-    length rx410_eos, rx410_tgt
-    gt rx410_pos, rx410_eos, rx410_done
-    set rx410_off, 0
-    lt rx410_pos, 2, rx410_start
-    sub rx410_off, rx410_pos, 1
-    substr rx410_tgt, rx410_tgt, rx410_off
-  rx410_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan415_done
-    goto rxscan415_scan
-  rxscan415_loop:
-    ($P10) = rx410_cur."from"()
-    inc $P10
-    set rx410_pos, $P10
-    ge rx410_pos, rx410_eos, rxscan415_done
-  rxscan415_scan:
-    set_addr $I10, rxscan415_loop
-    rx410_cur."!mark_push"(0, rx410_pos, $I10)
-  rxscan415_done:
+.sub "!PREFIX__backslash:sym<x>"  :subid("112_1275811476.7961") :method
+.annotate 'line', 3
+    $P402 = self."!PREFIX__!subrule"("hexints", "X[")
+    $P403 = self."!PREFIX__!subrule"("hexint", "X")
+    $P404 = self."!PREFIX__!subrule"("hexints", "x[")
+    $P405 = self."!PREFIX__!subrule"("hexint", "x")
+    new $P406, "ResizablePMCArray"
+    push $P406, $P402
+    push $P406, $P403
+    push $P406, $P404
+    push $P406, $P405
+    .return ($P406)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Grammar"]
+.sub "backslash:sym<c>"  :subid("113_1275811476.7961") :method :outer("11_1275811476.7961")
+.annotate 'line', 3
+    .local string rx411_tgt
+    .local int rx411_pos
+    .local int rx411_off
+    .local int rx411_eos
+    .local int rx411_rep
+    .local pmc rx411_cur
+    (rx411_cur, rx411_pos, rx411_tgt) = self."!cursor_start"()
+    rx411_cur."!cursor_debug"("START ", "backslash:sym<c>")
+    .lex unicode:"$\x{a2}", rx411_cur
+    .local pmc match
+    .lex "$/", match
+    length rx411_eos, rx411_tgt
+    gt rx411_pos, rx411_eos, rx411_done
+    set rx411_off, 0
+    lt rx411_pos, 2, rx411_start
+    sub rx411_off, rx411_pos, 1
+    substr rx411_tgt, rx411_tgt, rx411_off
+  rx411_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan416_done
+    goto rxscan416_scan
+  rxscan416_loop:
+    ($P10) = rx411_cur."from"()
+    inc $P10
+    set rx411_pos, $P10
+    ge rx411_pos, rx411_eos, rxscan416_done
+  rxscan416_scan:
+    set_addr $I10, rxscan416_loop
+    rx411_cur."!mark_push"(0, rx411_pos, $I10)
+  rxscan416_done:
 .annotate 'line', 131
   # rx subcapture "sym"
-    set_addr $I10, rxcap_416_fail
-    rx410_cur."!mark_push"(0, rx410_pos, $I10)
+    set_addr $I10, rxcap_417_fail
+    rx411_cur."!mark_push"(0, rx411_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx410_pos, rx410_eos, rx410_fail
-    sub $I10, rx410_pos, rx410_off
-    substr $S10, rx410_tgt, $I10, 1
+    ge rx411_pos, rx411_eos, rx411_fail
+    sub $I10, rx411_pos, rx411_off
+    substr $S10, rx411_tgt, $I10, 1
     index $I11, "cC", $S10
-    lt $I11, 0, rx410_fail
-    inc rx410_pos
-    set_addr $I10, rxcap_416_fail
-    ($I12, $I11) = rx410_cur."!mark_peek"($I10)
-    rx410_cur."!cursor_pos"($I11)
-    ($P10) = rx410_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx410_pos, "")
-    rx410_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx411_fail
+    inc rx411_pos
+    set_addr $I10, rxcap_417_fail
+    ($I12, $I11) = rx411_cur."!mark_peek"($I10)
+    rx411_cur."!cursor_pos"($I11)
+    ($P10) = rx411_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx411_pos, "")
+    rx411_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_416_done
-  rxcap_416_fail:
-    goto rx410_fail
-  rxcap_416_done:
+    goto rxcap_417_done
+  rxcap_417_fail:
+    goto rx411_fail
+  rxcap_417_done:
   # rx subrule "charspec" subtype=capture negate=
-    rx410_cur."!cursor_pos"(rx410_pos)
-    $P10 = rx410_cur."charspec"()
-    unless $P10, rx410_fail
-    rx410_cur."!mark_push"(0, -1, 0, $P10)
+    rx411_cur."!cursor_pos"(rx411_pos)
+    $P10 = rx411_cur."charspec"()
+    unless $P10, rx411_fail
+    rx411_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("charspec")
-    rx410_pos = $P10."pos"()
+    rx411_pos = $P10."pos"()
   # rx pass
-    rx410_cur."!cursor_pass"(rx410_pos, "backslash:sym<c>")
-    rx410_cur."!cursor_debug"("PASS  ", "backslash:sym<c>", " at pos=", rx410_pos)
-    .return (rx410_cur)
-  rx410_fail:
+    rx411_cur."!cursor_pass"(rx411_pos, "backslash:sym<c>")
+    rx411_cur."!cursor_debug"("PASS  ", "backslash:sym<c>", " at pos=", rx411_pos)
+    .return (rx411_cur)
+  rx411_fail:
 .annotate 'line', 3
-    (rx410_rep, rx410_pos, $I10, $P10) = rx410_cur."!mark_fail"(0)
-    lt rx410_pos, -1, rx410_done
-    eq rx410_pos, -1, rx410_fail
+    (rx411_rep, rx411_pos, $I10, $P10) = rx411_cur."!mark_fail"(0)
+    lt rx411_pos, -1, rx411_done
+    eq rx411_pos, -1, rx411_fail
     jump $I10
-  rx410_done:
-    rx410_cur."!cursor_fail"()
-    rx410_cur."!cursor_debug"("FAIL  ", "backslash:sym<c>")
-    .return (rx410_cur)
+  rx411_done:
+    rx411_cur."!cursor_fail"()
+    rx411_cur."!cursor_debug"("FAIL  ", "backslash:sym<c>")
+    .return (rx411_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<c>"  :subid("114_1275599996.35368") :method
+.sub "!PREFIX__backslash:sym<c>"  :subid("114_1275811476.7961") :method
 .annotate 'line', 3
-    $P412 = self."!PREFIX__!subrule"("charspec", "C")
-    $P413 = self."!PREFIX__!subrule"("charspec", "c")
-    new $P414, "ResizablePMCArray"
-    push $P414, $P412
-    push $P414, $P413
-    .return ($P414)
+    $P413 = self."!PREFIX__!subrule"("charspec", "C")
+    $P414 = self."!PREFIX__!subrule"("charspec", "c")
+    new $P415, "ResizablePMCArray"
+    push $P415, $P413
+    push $P415, $P414
+    .return ($P415)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<A>"  :subid("115_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "backslash:sym<A>"  :subid("115_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx418_tgt
-    .local int rx418_pos
-    .local int rx418_off
-    .local int rx418_eos
-    .local int rx418_rep
-    .local pmc rx418_cur
-    (rx418_cur, rx418_pos, rx418_tgt) = self."!cursor_start"()
-    rx418_cur."!cursor_debug"("START ", "backslash:sym<A>")
-    .lex unicode:"$\x{a2}", rx418_cur
+    .local string rx419_tgt
+    .local int rx419_pos
+    .local int rx419_off
+    .local int rx419_eos
+    .local int rx419_rep
+    .local pmc rx419_cur
+    (rx419_cur, rx419_pos, rx419_tgt) = self."!cursor_start"()
+    rx419_cur."!cursor_debug"("START ", "backslash:sym<A>")
+    .lex unicode:"$\x{a2}", rx419_cur
     .local pmc match
     .lex "$/", match
-    length rx418_eos, rx418_tgt
-    gt rx418_pos, rx418_eos, rx418_done
-    set rx418_off, 0
-    lt rx418_pos, 2, rx418_start
-    sub rx418_off, rx418_pos, 1
-    substr rx418_tgt, rx418_tgt, rx418_off
-  rx418_start:
+    length rx419_eos, rx419_tgt
+    gt rx419_pos, rx419_eos, rx419_done
+    set rx419_off, 0
+    lt rx419_pos, 2, rx419_start
+    sub rx419_off, rx419_pos, 1
+    substr rx419_tgt, rx419_tgt, rx419_off
+  rx419_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan422_done
-    goto rxscan422_scan
-  rxscan422_loop:
-    ($P10) = rx418_cur."from"()
+    ne $I10, -1, rxscan423_done
+    goto rxscan423_scan
+  rxscan423_loop:
+    ($P10) = rx419_cur."from"()
     inc $P10
-    set rx418_pos, $P10
-    ge rx418_pos, rx418_eos, rxscan422_done
-  rxscan422_scan:
-    set_addr $I10, rxscan422_loop
-    rx418_cur."!mark_push"(0, rx418_pos, $I10)
-  rxscan422_done:
+    set rx419_pos, $P10
+    ge rx419_pos, rx419_eos, rxscan423_done
+  rxscan423_scan:
+    set_addr $I10, rxscan423_loop
+    rx419_cur."!mark_push"(0, rx419_pos, $I10)
+  rxscan423_done:
 .annotate 'line', 132
   # rx literal  "A"
-    add $I11, rx418_pos, 1
-    gt $I11, rx418_eos, rx418_fail
-    sub $I11, rx418_pos, rx418_off
-    substr $S10, rx418_tgt, $I11, 1
-    ne $S10, "A", rx418_fail
-    add rx418_pos, 1
+    add $I11, rx419_pos, 1
+    gt $I11, rx419_eos, rx419_fail
+    sub $I11, rx419_pos, rx419_off
+    substr $S10, rx419_tgt, $I11, 1
+    ne $S10, "A", rx419_fail
+    add rx419_pos, 1
   # rx subrule "obs" subtype=method negate=
-    rx418_cur."!cursor_pos"(rx418_pos)
-    $P10 = rx418_cur."obs"("\\A as beginning-of-string matcher", "^")
-    unless $P10, rx418_fail
-    rx418_pos = $P10."pos"()
+    rx419_cur."!cursor_pos"(rx419_pos)
+    $P10 = rx419_cur."obs"("\\A as beginning-of-string matcher", "^")
+    unless $P10, rx419_fail
+    rx419_pos = $P10."pos"()
   # rx pass
-    rx418_cur."!cursor_pass"(rx418_pos, "backslash:sym<A>")
-    rx418_cur."!cursor_debug"("PASS  ", "backslash:sym<A>", " at pos=", rx418_pos)
-    .return (rx418_cur)
-  rx418_fail:
+    rx419_cur."!cursor_pass"(rx419_pos, "backslash:sym<A>")
+    rx419_cur."!cursor_debug"("PASS  ", "backslash:sym<A>", " at pos=", rx419_pos)
+    .return (rx419_cur)
+  rx419_fail:
 .annotate 'line', 3
-    (rx418_rep, rx418_pos, $I10, $P10) = rx418_cur."!mark_fail"(0)
-    lt rx418_pos, -1, rx418_done
-    eq rx418_pos, -1, rx418_fail
+    (rx419_rep, rx419_pos, $I10, $P10) = rx419_cur."!mark_fail"(0)
+    lt rx419_pos, -1, rx419_done
+    eq rx419_pos, -1, rx419_fail
     jump $I10
-  rx418_done:
-    rx418_cur."!cursor_fail"()
-    rx418_cur."!cursor_debug"("FAIL  ", "backslash:sym<A>")
-    .return (rx418_cur)
+  rx419_done:
+    rx419_cur."!cursor_fail"()
+    rx419_cur."!cursor_debug"("FAIL  ", "backslash:sym<A>")
+    .return (rx419_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<A>"  :subid("116_1275599996.35368") :method
+.sub "!PREFIX__backslash:sym<A>"  :subid("116_1275811476.7961") :method
 .annotate 'line', 3
-    $P420 = self."!PREFIX__!subrule"("", "A")
-    new $P421, "ResizablePMCArray"
-    push $P421, $P420
-    .return ($P421)
+    $P421 = self."!PREFIX__!subrule"("obs", "A")
+    new $P422, "ResizablePMCArray"
+    push $P422, $P421
+    .return ($P422)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<z>"  :subid("117_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "backslash:sym<z>"  :subid("117_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx424_tgt
-    .local int rx424_pos
-    .local int rx424_off
-    .local int rx424_eos
-    .local int rx424_rep
-    .local pmc rx424_cur
-    (rx424_cur, rx424_pos, rx424_tgt) = self."!cursor_start"()
-    rx424_cur."!cursor_debug"("START ", "backslash:sym<z>")
-    .lex unicode:"$\x{a2}", rx424_cur
+    .local string rx425_tgt
+    .local int rx425_pos
+    .local int rx425_off
+    .local int rx425_eos
+    .local int rx425_rep
+    .local pmc rx425_cur
+    (rx425_cur, rx425_pos, rx425_tgt) = self."!cursor_start"()
+    rx425_cur."!cursor_debug"("START ", "backslash:sym<z>")
+    .lex unicode:"$\x{a2}", rx425_cur
     .local pmc match
     .lex "$/", match
-    length rx424_eos, rx424_tgt
-    gt rx424_pos, rx424_eos, rx424_done
-    set rx424_off, 0
-    lt rx424_pos, 2, rx424_start
-    sub rx424_off, rx424_pos, 1
-    substr rx424_tgt, rx424_tgt, rx424_off
-  rx424_start:
+    length rx425_eos, rx425_tgt
+    gt rx425_pos, rx425_eos, rx425_done
+    set rx425_off, 0
+    lt rx425_pos, 2, rx425_start
+    sub rx425_off, rx425_pos, 1
+    substr rx425_tgt, rx425_tgt, rx425_off
+  rx425_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan428_done
-    goto rxscan428_scan
-  rxscan428_loop:
-    ($P10) = rx424_cur."from"()
+    ne $I10, -1, rxscan429_done
+    goto rxscan429_scan
+  rxscan429_loop:
+    ($P10) = rx425_cur."from"()
     inc $P10
-    set rx424_pos, $P10
-    ge rx424_pos, rx424_eos, rxscan428_done
-  rxscan428_scan:
-    set_addr $I10, rxscan428_loop
-    rx424_cur."!mark_push"(0, rx424_pos, $I10)
-  rxscan428_done:
+    set rx425_pos, $P10
+    ge rx425_pos, rx425_eos, rxscan429_done
+  rxscan429_scan:
+    set_addr $I10, rxscan429_loop
+    rx425_cur."!mark_push"(0, rx425_pos, $I10)
+  rxscan429_done:
 .annotate 'line', 133
   # rx literal  "z"
-    add $I11, rx424_pos, 1
-    gt $I11, rx424_eos, rx424_fail
-    sub $I11, rx424_pos, rx424_off
-    substr $S10, rx424_tgt, $I11, 1
-    ne $S10, "z", rx424_fail
-    add rx424_pos, 1
+    add $I11, rx425_pos, 1
+    gt $I11, rx425_eos, rx425_fail
+    sub $I11, rx425_pos, rx425_off
+    substr $S10, rx425_tgt, $I11, 1
+    ne $S10, "z", rx425_fail
+    add rx425_pos, 1
   # rx subrule "obs" subtype=method negate=
-    rx424_cur."!cursor_pos"(rx424_pos)
-    $P10 = rx424_cur."obs"("\\z as end-of-string matcher", "$")
-    unless $P10, rx424_fail
-    rx424_pos = $P10."pos"()
+    rx425_cur."!cursor_pos"(rx425_pos)
+    $P10 = rx425_cur."obs"("\\z as end-of-string matcher", "$")
+    unless $P10, rx425_fail
+    rx425_pos = $P10."pos"()
   # rx pass
-    rx424_cur."!cursor_pass"(rx424_pos, "backslash:sym<z>")
-    rx424_cur."!cursor_debug"("PASS  ", "backslash:sym<z>", " at pos=", rx424_pos)
-    .return (rx424_cur)
-  rx424_fail:
+    rx425_cur."!cursor_pass"(rx425_pos, "backslash:sym<z>")
+    rx425_cur."!cursor_debug"("PASS  ", "backslash:sym<z>", " at pos=", rx425_pos)
+    .return (rx425_cur)
+  rx425_fail:
 .annotate 'line', 3
-    (rx424_rep, rx424_pos, $I10, $P10) = rx424_cur."!mark_fail"(0)
-    lt rx424_pos, -1, rx424_done
-    eq rx424_pos, -1, rx424_fail
+    (rx425_rep, rx425_pos, $I10, $P10) = rx425_cur."!mark_fail"(0)
+    lt rx425_pos, -1, rx425_done
+    eq rx425_pos, -1, rx425_fail
     jump $I10
-  rx424_done:
-    rx424_cur."!cursor_fail"()
-    rx424_cur."!cursor_debug"("FAIL  ", "backslash:sym<z>")
-    .return (rx424_cur)
+  rx425_done:
+    rx425_cur."!cursor_fail"()
+    rx425_cur."!cursor_debug"("FAIL  ", "backslash:sym<z>")
+    .return (rx425_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<z>"  :subid("118_1275599996.35368") :method
+.sub "!PREFIX__backslash:sym<z>"  :subid("118_1275811476.7961") :method
 .annotate 'line', 3
-    $P426 = self."!PREFIX__!subrule"("", "z")
-    new $P427, "ResizablePMCArray"
-    push $P427, $P426
-    .return ($P427)
+    $P427 = self."!PREFIX__!subrule"("obs", "z")
+    new $P428, "ResizablePMCArray"
+    push $P428, $P427
+    .return ($P428)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Z>"  :subid("119_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "backslash:sym<Z>"  :subid("119_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx430_tgt
-    .local int rx430_pos
-    .local int rx430_off
-    .local int rx430_eos
-    .local int rx430_rep
-    .local pmc rx430_cur
-    (rx430_cur, rx430_pos, rx430_tgt) = self."!cursor_start"()
-    rx430_cur."!cursor_debug"("START ", "backslash:sym<Z>")
-    .lex unicode:"$\x{a2}", rx430_cur
+    .local string rx431_tgt
+    .local int rx431_pos
+    .local int rx431_off
+    .local int rx431_eos
+    .local int rx431_rep
+    .local pmc rx431_cur
+    (rx431_cur, rx431_pos, rx431_tgt) = self."!cursor_start"()
+    rx431_cur."!cursor_debug"("START ", "backslash:sym<Z>")
+    .lex unicode:"$\x{a2}", rx431_cur
     .local pmc match
     .lex "$/", match
-    length rx430_eos, rx430_tgt
-    gt rx430_pos, rx430_eos, rx430_done
-    set rx430_off, 0
-    lt rx430_pos, 2, rx430_start
-    sub rx430_off, rx430_pos, 1
-    substr rx430_tgt, rx430_tgt, rx430_off
-  rx430_start:
+    length rx431_eos, rx431_tgt
+    gt rx431_pos, rx431_eos, rx431_done
+    set rx431_off, 0
+    lt rx431_pos, 2, rx431_start
+    sub rx431_off, rx431_pos, 1
+    substr rx431_tgt, rx431_tgt, rx431_off
+  rx431_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan434_done
-    goto rxscan434_scan
-  rxscan434_loop:
-    ($P10) = rx430_cur."from"()
+    ne $I10, -1, rxscan435_done
+    goto rxscan435_scan
+  rxscan435_loop:
+    ($P10) = rx431_cur."from"()
     inc $P10
-    set rx430_pos, $P10
-    ge rx430_pos, rx430_eos, rxscan434_done
-  rxscan434_scan:
-    set_addr $I10, rxscan434_loop
-    rx430_cur."!mark_push"(0, rx430_pos, $I10)
-  rxscan434_done:
+    set rx431_pos, $P10
+    ge rx431_pos, rx431_eos, rxscan435_done
+  rxscan435_scan:
+    set_addr $I10, rxscan435_loop
+    rx431_cur."!mark_push"(0, rx431_pos, $I10)
+  rxscan435_done:
 .annotate 'line', 134
   # rx literal  "Z"
-    add $I11, rx430_pos, 1
-    gt $I11, rx430_eos, rx430_fail
-    sub $I11, rx430_pos, rx430_off
-    substr $S10, rx430_tgt, $I11, 1
-    ne $S10, "Z", rx430_fail
-    add rx430_pos, 1
+    add $I11, rx431_pos, 1
+    gt $I11, rx431_eos, rx431_fail
+    sub $I11, rx431_pos, rx431_off
+    substr $S10, rx431_tgt, $I11, 1
+    ne $S10, "Z", rx431_fail
+    add rx431_pos, 1
   # rx subrule "obs" subtype=method negate=
-    rx430_cur."!cursor_pos"(rx430_pos)
-    $P10 = rx430_cur."obs"("\\Z as end-of-string matcher", "\\n?$")
-    unless $P10, rx430_fail
-    rx430_pos = $P10."pos"()
+    rx431_cur."!cursor_pos"(rx431_pos)
+    $P10 = rx431_cur."obs"("\\Z as end-of-string matcher", "\\n?$")
+    unless $P10, rx431_fail
+    rx431_pos = $P10."pos"()
   # rx pass
-    rx430_cur."!cursor_pass"(rx430_pos, "backslash:sym<Z>")
-    rx430_cur."!cursor_debug"("PASS  ", "backslash:sym<Z>", " at pos=", rx430_pos)
-    .return (rx430_cur)
-  rx430_fail:
+    rx431_cur."!cursor_pass"(rx431_pos, "backslash:sym<Z>")
+    rx431_cur."!cursor_debug"("PASS  ", "backslash:sym<Z>", " at pos=", rx431_pos)
+    .return (rx431_cur)
+  rx431_fail:
 .annotate 'line', 3
-    (rx430_rep, rx430_pos, $I10, $P10) = rx430_cur."!mark_fail"(0)
-    lt rx430_pos, -1, rx430_done
-    eq rx430_pos, -1, rx430_fail
+    (rx431_rep, rx431_pos, $I10, $P10) = rx431_cur."!mark_fail"(0)
+    lt rx431_pos, -1, rx431_done
+    eq rx431_pos, -1, rx431_fail
     jump $I10
-  rx430_done:
-    rx430_cur."!cursor_fail"()
-    rx430_cur."!cursor_debug"("FAIL  ", "backslash:sym<Z>")
-    .return (rx430_cur)
+  rx431_done:
+    rx431_cur."!cursor_fail"()
+    rx431_cur."!cursor_debug"("FAIL  ", "backslash:sym<Z>")
+    .return (rx431_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Z>"  :subid("120_1275599996.35368") :method
+.sub "!PREFIX__backslash:sym<Z>"  :subid("120_1275811476.7961") :method
 .annotate 'line', 3
-    $P432 = self."!PREFIX__!subrule"("", "Z")
-    new $P433, "ResizablePMCArray"
-    push $P433, $P432
-    .return ($P433)
+    $P433 = self."!PREFIX__!subrule"("obs", "Z")
+    new $P434, "ResizablePMCArray"
+    push $P434, $P433
+    .return ($P434)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Q>"  :subid("121_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "backslash:sym<Q>"  :subid("121_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx436_tgt
-    .local int rx436_pos
-    .local int rx436_off
-    .local int rx436_eos
-    .local int rx436_rep
-    .local pmc rx436_cur
-    (rx436_cur, rx436_pos, rx436_tgt) = self."!cursor_start"()
-    rx436_cur."!cursor_debug"("START ", "backslash:sym<Q>")
-    .lex unicode:"$\x{a2}", rx436_cur
+    .local string rx437_tgt
+    .local int rx437_pos
+    .local int rx437_off
+    .local int rx437_eos
+    .local int rx437_rep
+    .local pmc rx437_cur
+    (rx437_cur, rx437_pos, rx437_tgt) = self."!cursor_start"()
+    rx437_cur."!cursor_debug"("START ", "backslash:sym<Q>")
+    .lex unicode:"$\x{a2}", rx437_cur
     .local pmc match
     .lex "$/", match
-    length rx436_eos, rx436_tgt
-    gt rx436_pos, rx436_eos, rx436_done
-    set rx436_off, 0
-    lt rx436_pos, 2, rx436_start
-    sub rx436_off, rx436_pos, 1
-    substr rx436_tgt, rx436_tgt, rx436_off
-  rx436_start:
+    length rx437_eos, rx437_tgt
+    gt rx437_pos, rx437_eos, rx437_done
+    set rx437_off, 0
+    lt rx437_pos, 2, rx437_start
+    sub rx437_off, rx437_pos, 1
+    substr rx437_tgt, rx437_tgt, rx437_off
+  rx437_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan440_done
-    goto rxscan440_scan
-  rxscan440_loop:
-    ($P10) = rx436_cur."from"()
+    ne $I10, -1, rxscan441_done
+    goto rxscan441_scan
+  rxscan441_loop:
+    ($P10) = rx437_cur."from"()
     inc $P10
-    set rx436_pos, $P10
-    ge rx436_pos, rx436_eos, rxscan440_done
-  rxscan440_scan:
-    set_addr $I10, rxscan440_loop
-    rx436_cur."!mark_push"(0, rx436_pos, $I10)
-  rxscan440_done:
+    set rx437_pos, $P10
+    ge rx437_pos, rx437_eos, rxscan441_done
+  rxscan441_scan:
+    set_addr $I10, rxscan441_loop
+    rx437_cur."!mark_push"(0, rx437_pos, $I10)
+  rxscan441_done:
 .annotate 'line', 135
   # rx literal  "Q"
-    add $I11, rx436_pos, 1
-    gt $I11, rx436_eos, rx436_fail
-    sub $I11, rx436_pos, rx436_off
-    substr $S10, rx436_tgt, $I11, 1
-    ne $S10, "Q", rx436_fail
-    add rx436_pos, 1
+    add $I11, rx437_pos, 1
+    gt $I11, rx437_eos, rx437_fail
+    sub $I11, rx437_pos, rx437_off
+    substr $S10, rx437_tgt, $I11, 1
+    ne $S10, "Q", rx437_fail
+    add rx437_pos, 1
   # rx subrule "obs" subtype=method negate=
-    rx436_cur."!cursor_pos"(rx436_pos)
-    $P10 = rx436_cur."obs"("\\Q as quotemeta", "quotes or literal variable match")
-    unless $P10, rx436_fail
-    rx436_pos = $P10."pos"()
+    rx437_cur."!cursor_pos"(rx437_pos)
+    $P10 = rx437_cur."obs"("\\Q as quotemeta", "quotes or literal variable match")
+    unless $P10, rx437_fail
+    rx437_pos = $P10."pos"()
   # rx pass
-    rx436_cur."!cursor_pass"(rx436_pos, "backslash:sym<Q>")
-    rx436_cur."!cursor_debug"("PASS  ", "backslash:sym<Q>", " at pos=", rx436_pos)
-    .return (rx436_cur)
-  rx436_fail:
+    rx437_cur."!cursor_pass"(rx437_pos, "backslash:sym<Q>")
+    rx437_cur."!cursor_debug"("PASS  ", "backslash:sym<Q>", " at pos=", rx437_pos)
+    .return (rx437_cur)
+  rx437_fail:
 .annotate 'line', 3
-    (rx436_rep, rx436_pos, $I10, $P10) = rx436_cur."!mark_fail"(0)
-    lt rx436_pos, -1, rx436_done
-    eq rx436_pos, -1, rx436_fail
+    (rx437_rep, rx437_pos, $I10, $P10) = rx437_cur."!mark_fail"(0)
+    lt rx437_pos, -1, rx437_done
+    eq rx437_pos, -1, rx437_fail
     jump $I10
-  rx436_done:
-    rx436_cur."!cursor_fail"()
-    rx436_cur."!cursor_debug"("FAIL  ", "backslash:sym<Q>")
-    .return (rx436_cur)
+  rx437_done:
+    rx437_cur."!cursor_fail"()
+    rx437_cur."!cursor_debug"("FAIL  ", "backslash:sym<Q>")
+    .return (rx437_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Q>"  :subid("122_1275599996.35368") :method
+.sub "!PREFIX__backslash:sym<Q>"  :subid("122_1275811476.7961") :method
 .annotate 'line', 3
-    $P438 = self."!PREFIX__!subrule"("", "Q")
-    new $P439, "ResizablePMCArray"
-    push $P439, $P438
-    .return ($P439)
+    $P439 = self."!PREFIX__!subrule"("obs", "Q")
+    new $P440, "ResizablePMCArray"
+    push $P440, $P439
+    .return ($P440)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<misc>"  :subid("123_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "backslash:sym<misc>"  :subid("123_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx442_tgt
-    .local int rx442_pos
-    .local int rx442_off
-    .local int rx442_eos
-    .local int rx442_rep
-    .local pmc rx442_cur
-    (rx442_cur, rx442_pos, rx442_tgt) = self."!cursor_start"()
-    rx442_cur."!cursor_debug"("START ", "backslash:sym<misc>")
-    .lex unicode:"$\x{a2}", rx442_cur
+    .local string rx443_tgt
+    .local int rx443_pos
+    .local int rx443_off
+    .local int rx443_eos
+    .local int rx443_rep
+    .local pmc rx443_cur
+    (rx443_cur, rx443_pos, rx443_tgt) = self."!cursor_start"()
+    rx443_cur."!cursor_debug"("START ", "backslash:sym<misc>")
+    .lex unicode:"$\x{a2}", rx443_cur
     .local pmc match
     .lex "$/", match
-    length rx442_eos, rx442_tgt
-    gt rx442_pos, rx442_eos, rx442_done
-    set rx442_off, 0
-    lt rx442_pos, 2, rx442_start
-    sub rx442_off, rx442_pos, 1
-    substr rx442_tgt, rx442_tgt, rx442_off
-  rx442_start:
+    length rx443_eos, rx443_tgt
+    gt rx443_pos, rx443_eos, rx443_done
+    set rx443_off, 0
+    lt rx443_pos, 2, rx443_start
+    sub rx443_off, rx443_pos, 1
+    substr rx443_tgt, rx443_tgt, rx443_off
+  rx443_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan445_done
-    goto rxscan445_scan
-  rxscan445_loop:
-    ($P10) = rx442_cur."from"()
+    ne $I10, -1, rxscan446_done
+    goto rxscan446_scan
+  rxscan446_loop:
+    ($P10) = rx443_cur."from"()
     inc $P10
-    set rx442_pos, $P10
-    ge rx442_pos, rx442_eos, rxscan445_done
-  rxscan445_scan:
-    set_addr $I10, rxscan445_loop
-    rx442_cur."!mark_push"(0, rx442_pos, $I10)
-  rxscan445_done:
+    set rx443_pos, $P10
+    ge rx443_pos, rx443_eos, rxscan446_done
+  rxscan446_scan:
+    set_addr $I10, rxscan446_loop
+    rx443_cur."!mark_push"(0, rx443_pos, $I10)
+  rxscan446_done:
 .annotate 'line', 136
   # rx charclass W
-    ge rx442_pos, rx442_eos, rx442_fail
-    sub $I10, rx442_pos, rx442_off
-    is_cclass $I11, 8192, rx442_tgt, $I10
-    if $I11, rx442_fail
-    inc rx442_pos
+    ge rx443_pos, rx443_eos, rx443_fail
+    sub $I10, rx443_pos, rx443_off
+    is_cclass $I11, 8192, rx443_tgt, $I10
+    if $I11, rx443_fail
+    inc rx443_pos
   # rx pass
-    rx442_cur."!cursor_pass"(rx442_pos, "backslash:sym<misc>")
-    rx442_cur."!cursor_debug"("PASS  ", "backslash:sym<misc>", " at pos=", rx442_pos)
-    .return (rx442_cur)
-  rx442_fail:
+    rx443_cur."!cursor_pass"(rx443_pos, "backslash:sym<misc>")
+    rx443_cur."!cursor_debug"("PASS  ", "backslash:sym<misc>", " at pos=", rx443_pos)
+    .return (rx443_cur)
+  rx443_fail:
 .annotate 'line', 3
-    (rx442_rep, rx442_pos, $I10, $P10) = rx442_cur."!mark_fail"(0)
-    lt rx442_pos, -1, rx442_done
-    eq rx442_pos, -1, rx442_fail
+    (rx443_rep, rx443_pos, $I10, $P10) = rx443_cur."!mark_fail"(0)
+    lt rx443_pos, -1, rx443_done
+    eq rx443_pos, -1, rx443_fail
     jump $I10
-  rx442_done:
-    rx442_cur."!cursor_fail"()
-    rx442_cur."!cursor_debug"("FAIL  ", "backslash:sym<misc>")
-    .return (rx442_cur)
+  rx443_done:
+    rx443_cur."!cursor_fail"()
+    rx443_cur."!cursor_debug"("FAIL  ", "backslash:sym<misc>")
+    .return (rx443_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<misc>"  :subid("124_1275599996.35368") :method
+.sub "!PREFIX__backslash:sym<misc>"  :subid("124_1275811476.7961") :method
 .annotate 'line', 3
-    new $P444, "ResizablePMCArray"
-    push $P444, ""
-    .return ($P444)
+    new $P445, "ResizablePMCArray"
+    push $P445, ""
+    .return ($P445)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion"  :subid("125_1275599996.35368") :method
+.sub "assertion"  :subid("125_1275811476.7961") :method
 .annotate 'line', 138
-    $P447 = self."!protoregex"("assertion")
-    .return ($P447)
+    $P448 = self."!protoregex"("assertion")
+    .return ($P448)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion"  :subid("126_1275599996.35368") :method
+.sub "!PREFIX__assertion"  :subid("126_1275811476.7961") :method
 .annotate 'line', 138
-    $P449 = self."!PREFIX__!protoregex"("assertion")
-    .return ($P449)
+    $P450 = self."!PREFIX__!protoregex"("assertion")
+    .return ($P450)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<?>"  :subid("127_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "assertion:sym<?>"  :subid("127_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .const 'Sub' $P458 = "129_1275599996.35368" 
-    capture_lex $P458
-    .local string rx451_tgt
-    .local int rx451_pos
-    .local int rx451_off
-    .local int rx451_eos
-    .local int rx451_rep
-    .local pmc rx451_cur
-    (rx451_cur, rx451_pos, rx451_tgt) = self."!cursor_start"()
-    rx451_cur."!cursor_debug"("START ", "assertion:sym<?>")
-    .lex unicode:"$\x{a2}", rx451_cur
-    .local pmc match
-    .lex "$/", match
-    length rx451_eos, rx451_tgt
-    gt rx451_pos, rx451_eos, rx451_done
-    set rx451_off, 0
-    lt rx451_pos, 2, rx451_start
-    sub rx451_off, rx451_pos, 1
-    substr rx451_tgt, rx451_tgt, rx451_off
-  rx451_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan455_done
-    goto rxscan455_scan
-  rxscan455_loop:
-    ($P10) = rx451_cur."from"()
-    inc $P10
-    set rx451_pos, $P10
-    ge rx451_pos, rx451_eos, rxscan455_done
-  rxscan455_scan:
-    set_addr $I10, rxscan455_loop
-    rx451_cur."!mark_push"(0, rx451_pos, $I10)
-  rxscan455_done:
+    .const 'Sub' $P459 = "129_1275811476.7961" 
+    capture_lex $P459
+    .local string rx452_tgt
+    .local int rx452_pos
+    .local int rx452_off
+    .local int rx452_eos
+    .local int rx452_rep
+    .local pmc rx452_cur
+    (rx452_cur, rx452_pos, rx452_tgt) = self."!cursor_start"()
+    rx452_cur."!cursor_debug"("START ", "assertion:sym<?>")
+    .lex unicode:"$\x{a2}", rx452_cur
+    .local pmc match
+    .lex "$/", match
+    length rx452_eos, rx452_tgt
+    gt rx452_pos, rx452_eos, rx452_done
+    set rx452_off, 0
+    lt rx452_pos, 2, rx452_start
+    sub rx452_off, rx452_pos, 1
+    substr rx452_tgt, rx452_tgt, rx452_off
+  rx452_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan456_done
+    goto rxscan456_scan
+  rxscan456_loop:
+    ($P10) = rx452_cur."from"()
+    inc $P10
+    set rx452_pos, $P10
+    ge rx452_pos, rx452_eos, rxscan456_done
+  rxscan456_scan:
+    set_addr $I10, rxscan456_loop
+    rx452_cur."!mark_push"(0, rx452_pos, $I10)
+  rxscan456_done:
 .annotate 'line', 140
   # rx literal  "?"
-    add $I11, rx451_pos, 1
-    gt $I11, rx451_eos, rx451_fail
-    sub $I11, rx451_pos, rx451_off
-    substr $S10, rx451_tgt, $I11, 1
-    ne $S10, "?", rx451_fail
-    add rx451_pos, 1
-  alt456_0:
-    set_addr $I10, alt456_1
-    rx451_cur."!mark_push"(0, rx451_pos, $I10)
+    add $I11, rx452_pos, 1
+    gt $I11, rx452_eos, rx452_fail
+    sub $I11, rx452_pos, rx452_off
+    substr $S10, rx452_tgt, $I11, 1
+    ne $S10, "?", rx452_fail
+    add rx452_pos, 1
+  alt457_0:
+    set_addr $I10, alt457_1
+    rx452_cur."!mark_push"(0, rx452_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
-    rx451_cur."!cursor_pos"(rx451_pos)
-    .const 'Sub' $P458 = "129_1275599996.35368" 
-    capture_lex $P458
-    $P10 = rx451_cur."before"($P458)
-    unless $P10, rx451_fail
-    goto alt456_end
-  alt456_1:
+    rx452_cur."!cursor_pos"(rx452_pos)
+    .const 'Sub' $P459 = "129_1275811476.7961" 
+    capture_lex $P459
+    $P10 = rx452_cur."before"($P459)
+    unless $P10, rx452_fail
+    goto alt457_end
+  alt457_1:
   # rx subrule "assertion" subtype=capture negate=
-    rx451_cur."!cursor_pos"(rx451_pos)
-    $P10 = rx451_cur."assertion"()
-    unless $P10, rx451_fail
-    rx451_cur."!mark_push"(0, -1, 0, $P10)
+    rx452_cur."!cursor_pos"(rx452_pos)
+    $P10 = rx452_cur."assertion"()
+    unless $P10, rx452_fail
+    rx452_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx451_pos = $P10."pos"()
-  alt456_end:
+    rx452_pos = $P10."pos"()
+  alt457_end:
   # rx pass
-    rx451_cur."!cursor_pass"(rx451_pos, "assertion:sym<?>")
-    rx451_cur."!cursor_debug"("PASS  ", "assertion:sym<?>", " at pos=", rx451_pos)
-    .return (rx451_cur)
-  rx451_fail:
+    rx452_cur."!cursor_pass"(rx452_pos, "assertion:sym<?>")
+    rx452_cur."!cursor_debug"("PASS  ", "assertion:sym<?>", " at pos=", rx452_pos)
+    .return (rx452_cur)
+  rx452_fail:
 .annotate 'line', 3
-    (rx451_rep, rx451_pos, $I10, $P10) = rx451_cur."!mark_fail"(0)
-    lt rx451_pos, -1, rx451_done
-    eq rx451_pos, -1, rx451_fail
+    (rx452_rep, rx452_pos, $I10, $P10) = rx452_cur."!mark_fail"(0)
+    lt rx452_pos, -1, rx452_done
+    eq rx452_pos, -1, rx452_fail
     jump $I10
-  rx451_done:
-    rx451_cur."!cursor_fail"()
-    rx451_cur."!cursor_debug"("FAIL  ", "assertion:sym<?>")
-    .return (rx451_cur)
+  rx452_done:
+    rx452_cur."!cursor_fail"()
+    rx452_cur."!cursor_debug"("FAIL  ", "assertion:sym<?>")
+    .return (rx452_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<?>"  :subid("128_1275599996.35368") :method
+.sub "!PREFIX__assertion:sym<?>"  :subid("128_1275811476.7961") :method
 .annotate 'line', 3
-    $P453 = self."!PREFIX__!subrule"("assertion", "?")
-    new $P454, "ResizablePMCArray"
-    push $P454, $P453
-    push $P454, "?"
-    .return ($P454)
+    $P454 = self."!PREFIX__!subrule"("assertion", "?")
+    new $P455, "ResizablePMCArray"
+    push $P455, $P454
+    push $P455, "?"
+    .return ($P455)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block457"  :anon :subid("129_1275599996.35368") :method :outer("127_1275599996.35368")
+.sub "_block458"  :anon :subid("129_1275811476.7961") :method :outer("127_1275811476.7961")
 .annotate 'line', 140
-    .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 ", "")
-    .lex unicode:"$\x{a2}", rx459_cur
-    .local pmc match
-    .lex "$/", match
-    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, rxscan460_done
-    goto rxscan460_scan
-  rxscan460_loop:
-    ($P10) = rx459_cur."from"()
-    inc $P10
-    set rx459_pos, $P10
-    ge rx459_pos, rx459_eos, rxscan460_done
-  rxscan460_scan:
-    set_addr $I10, rxscan460_loop
-    rx459_cur."!mark_push"(0, rx459_pos, $I10)
-  rxscan460_done:
+    .local string rx460_tgt
+    .local int rx460_pos
+    .local int rx460_off
+    .local int rx460_eos
+    .local int rx460_rep
+    .local pmc rx460_cur
+    (rx460_cur, rx460_pos, rx460_tgt) = self."!cursor_start"()
+    rx460_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx460_cur
+    .local pmc match
+    .lex "$/", match
+    length rx460_eos, rx460_tgt
+    gt rx460_pos, rx460_eos, rx460_done
+    set rx460_off, 0
+    lt rx460_pos, 2, rx460_start
+    sub rx460_off, rx460_pos, 1
+    substr rx460_tgt, rx460_tgt, rx460_off
+  rx460_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan461_done
+    goto rxscan461_scan
+  rxscan461_loop:
+    ($P10) = rx460_cur."from"()
+    inc $P10
+    set rx460_pos, $P10
+    ge rx460_pos, rx460_eos, rxscan461_done
+  rxscan461_scan:
+    set_addr $I10, rxscan461_loop
+    rx460_cur."!mark_push"(0, rx460_pos, $I10)
+  rxscan461_done:
   # rx literal  ">"
-    add $I11, rx459_pos, 1
-    gt $I11, rx459_eos, rx459_fail
-    sub $I11, rx459_pos, rx459_off
-    substr $S10, rx459_tgt, $I11, 1
-    ne $S10, ">", rx459_fail
-    add rx459_pos, 1
-  # rx pass
-    rx459_cur."!cursor_pass"(rx459_pos, "")
-    rx459_cur."!cursor_debug"("PASS  ", "", " at pos=", rx459_pos)
-    .return (rx459_cur)
-  rx459_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
-  rx459_done:
-    rx459_cur."!cursor_fail"()
-    rx459_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx459_cur)
+    add $I11, rx460_pos, 1
+    gt $I11, rx460_eos, rx460_fail
+    sub $I11, rx460_pos, rx460_off
+    substr $S10, rx460_tgt, $I11, 1
+    ne $S10, ">", rx460_fail
+    add rx460_pos, 1
+  # rx pass
+    rx460_cur."!cursor_pass"(rx460_pos, "")
+    rx460_cur."!cursor_debug"("PASS  ", "", " at pos=", rx460_pos)
+    .return (rx460_cur)
+  rx460_fail:
+    (rx460_rep, rx460_pos, $I10, $P10) = rx460_cur."!mark_fail"(0)
+    lt rx460_pos, -1, rx460_done
+    eq rx460_pos, -1, rx460_fail
+    jump $I10
+  rx460_done:
+    rx460_cur."!cursor_fail"()
+    rx460_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx460_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<!>"  :subid("130_1275599996.35368") :method :outer("11_1275599996.35368")
-.annotate 'line', 3
-    .const 'Sub' $P469 = "132_1275599996.35368" 
-    capture_lex $P469
-    .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 ", "assertion:sym<!>")
-    .lex unicode:"$\x{a2}", rx462_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:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan466_done
-    goto rxscan466_scan
-  rxscan466_loop:
-    ($P10) = rx462_cur."from"()
-    inc $P10
-    set rx462_pos, $P10
-    ge rx462_pos, rx462_eos, rxscan466_done
-  rxscan466_scan:
-    set_addr $I10, rxscan466_loop
-    rx462_cur."!mark_push"(0, rx462_pos, $I10)
-  rxscan466_done:
+.sub "assertion:sym<!>"  :subid("130_1275811476.7961") :method :outer("11_1275811476.7961")
+.annotate 'line', 3
+    .const 'Sub' $P470 = "132_1275811476.7961" 
+    capture_lex $P470
+    .local string rx463_tgt
+    .local int rx463_pos
+    .local int rx463_off
+    .local int rx463_eos
+    .local int rx463_rep
+    .local pmc rx463_cur
+    (rx463_cur, rx463_pos, rx463_tgt) = self."!cursor_start"()
+    rx463_cur."!cursor_debug"("START ", "assertion:sym<!>")
+    .lex unicode:"$\x{a2}", rx463_cur
+    .local pmc match
+    .lex "$/", match
+    length rx463_eos, rx463_tgt
+    gt rx463_pos, rx463_eos, rx463_done
+    set rx463_off, 0
+    lt rx463_pos, 2, rx463_start
+    sub rx463_off, rx463_pos, 1
+    substr rx463_tgt, rx463_tgt, rx463_off
+  rx463_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan467_done
+    goto rxscan467_scan
+  rxscan467_loop:
+    ($P10) = rx463_cur."from"()
+    inc $P10
+    set rx463_pos, $P10
+    ge rx463_pos, rx463_eos, rxscan467_done
+  rxscan467_scan:
+    set_addr $I10, rxscan467_loop
+    rx463_cur."!mark_push"(0, rx463_pos, $I10)
+  rxscan467_done:
 .annotate 'line', 141
   # rx literal  "!"
-    add $I11, rx462_pos, 1
-    gt $I11, rx462_eos, rx462_fail
-    sub $I11, rx462_pos, rx462_off
-    substr $S10, rx462_tgt, $I11, 1
-    ne $S10, "!", rx462_fail
-    add rx462_pos, 1
-  alt467_0:
-    set_addr $I10, alt467_1
-    rx462_cur."!mark_push"(0, rx462_pos, $I10)
+    add $I11, rx463_pos, 1
+    gt $I11, rx463_eos, rx463_fail
+    sub $I11, rx463_pos, rx463_off
+    substr $S10, rx463_tgt, $I11, 1
+    ne $S10, "!", rx463_fail
+    add rx463_pos, 1
+  alt468_0:
+    set_addr $I10, alt468_1
+    rx463_cur."!mark_push"(0, rx463_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
-    rx462_cur."!cursor_pos"(rx462_pos)
-    .const 'Sub' $P469 = "132_1275599996.35368" 
-    capture_lex $P469
-    $P10 = rx462_cur."before"($P469)
-    unless $P10, rx462_fail
-    goto alt467_end
-  alt467_1:
+    rx463_cur."!cursor_pos"(rx463_pos)
+    .const 'Sub' $P470 = "132_1275811476.7961" 
+    capture_lex $P470
+    $P10 = rx463_cur."before"($P470)
+    unless $P10, rx463_fail
+    goto alt468_end
+  alt468_1:
   # rx subrule "assertion" subtype=capture negate=
-    rx462_cur."!cursor_pos"(rx462_pos)
-    $P10 = rx462_cur."assertion"()
-    unless $P10, rx462_fail
-    rx462_cur."!mark_push"(0, -1, 0, $P10)
+    rx463_cur."!cursor_pos"(rx463_pos)
+    $P10 = rx463_cur."assertion"()
+    unless $P10, rx463_fail
+    rx463_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx462_pos = $P10."pos"()
-  alt467_end:
+    rx463_pos = $P10."pos"()
+  alt468_end:
   # rx pass
-    rx462_cur."!cursor_pass"(rx462_pos, "assertion:sym<!>")
-    rx462_cur."!cursor_debug"("PASS  ", "assertion:sym<!>", " at pos=", rx462_pos)
-    .return (rx462_cur)
-  rx462_fail:
+    rx463_cur."!cursor_pass"(rx463_pos, "assertion:sym<!>")
+    rx463_cur."!cursor_debug"("PASS  ", "assertion:sym<!>", " at pos=", rx463_pos)
+    .return (rx463_cur)
+  rx463_fail:
 .annotate 'line', 3
-    (rx462_rep, rx462_pos, $I10, $P10) = rx462_cur."!mark_fail"(0)
-    lt rx462_pos, -1, rx462_done
-    eq rx462_pos, -1, rx462_fail
+    (rx463_rep, rx463_pos, $I10, $P10) = rx463_cur."!mark_fail"(0)
+    lt rx463_pos, -1, rx463_done
+    eq rx463_pos, -1, rx463_fail
     jump $I10
-  rx462_done:
-    rx462_cur."!cursor_fail"()
-    rx462_cur."!cursor_debug"("FAIL  ", "assertion:sym<!>")
-    .return (rx462_cur)
+  rx463_done:
+    rx463_cur."!cursor_fail"()
+    rx463_cur."!cursor_debug"("FAIL  ", "assertion:sym<!>")
+    .return (rx463_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<!>"  :subid("131_1275599996.35368") :method
+.sub "!PREFIX__assertion:sym<!>"  :subid("131_1275811476.7961") :method
 .annotate 'line', 3
-    $P464 = self."!PREFIX__!subrule"("assertion", "!")
-    new $P465, "ResizablePMCArray"
-    push $P465, $P464
-    push $P465, "!"
-    .return ($P465)
+    $P465 = self."!PREFIX__!subrule"("assertion", "!")
+    new $P466, "ResizablePMCArray"
+    push $P466, $P465
+    push $P466, "!"
+    .return ($P466)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block468"  :anon :subid("132_1275599996.35368") :method :outer("130_1275599996.35368")
+.sub "_block469"  :anon :subid("132_1275811476.7961") :method :outer("130_1275811476.7961")
 .annotate 'line', 141
-    .local string rx470_tgt
-    .local int rx470_pos
-    .local int rx470_off
-    .local int rx470_eos
-    .local int rx470_rep
-    .local pmc rx470_cur
-    (rx470_cur, rx470_pos, rx470_tgt) = self."!cursor_start"()
-    rx470_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx470_cur
-    .local pmc match
-    .lex "$/", match
-    length rx470_eos, rx470_tgt
-    gt rx470_pos, rx470_eos, rx470_done
-    set rx470_off, 0
-    lt rx470_pos, 2, rx470_start
-    sub rx470_off, rx470_pos, 1
-    substr rx470_tgt, rx470_tgt, rx470_off
-  rx470_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan471_done
-    goto rxscan471_scan
-  rxscan471_loop:
-    ($P10) = rx470_cur."from"()
-    inc $P10
-    set rx470_pos, $P10
-    ge rx470_pos, rx470_eos, rxscan471_done
-  rxscan471_scan:
-    set_addr $I10, rxscan471_loop
-    rx470_cur."!mark_push"(0, rx470_pos, $I10)
-  rxscan471_done:
+    .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 ", "")
+    .lex unicode:"$\x{a2}", rx471_cur
+    .local pmc match
+    .lex "$/", match
+    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, rxscan472_done
+    goto rxscan472_scan
+  rxscan472_loop:
+    ($P10) = rx471_cur."from"()
+    inc $P10
+    set rx471_pos, $P10
+    ge rx471_pos, rx471_eos, rxscan472_done
+  rxscan472_scan:
+    set_addr $I10, rxscan472_loop
+    rx471_cur."!mark_push"(0, rx471_pos, $I10)
+  rxscan472_done:
   # rx literal  ">"
-    add $I11, rx470_pos, 1
-    gt $I11, rx470_eos, rx470_fail
-    sub $I11, rx470_pos, rx470_off
-    substr $S10, rx470_tgt, $I11, 1
-    ne $S10, ">", rx470_fail
-    add rx470_pos, 1
-  # rx pass
-    rx470_cur."!cursor_pass"(rx470_pos, "")
-    rx470_cur."!cursor_debug"("PASS  ", "", " at pos=", rx470_pos)
-    .return (rx470_cur)
-  rx470_fail:
-    (rx470_rep, rx470_pos, $I10, $P10) = rx470_cur."!mark_fail"(0)
-    lt rx470_pos, -1, rx470_done
-    eq rx470_pos, -1, rx470_fail
-    jump $I10
-  rx470_done:
-    rx470_cur."!cursor_fail"()
-    rx470_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx470_cur)
+    add $I11, rx471_pos, 1
+    gt $I11, rx471_eos, rx471_fail
+    sub $I11, rx471_pos, rx471_off
+    substr $S10, rx471_tgt, $I11, 1
+    ne $S10, ">", rx471_fail
+    add rx471_pos, 1
+  # rx pass
+    rx471_cur."!cursor_pass"(rx471_pos, "")
+    rx471_cur."!cursor_debug"("PASS  ", "", " at pos=", rx471_pos)
+    .return (rx471_cur)
+  rx471_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
+  rx471_done:
+    rx471_cur."!cursor_fail"()
+    rx471_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx471_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<method>"  :subid("133_1275599996.35368") :method :outer("11_1275599996.35368")
-.annotate 'line', 3
-    .local string rx473_tgt
-    .local int rx473_pos
-    .local int rx473_off
-    .local int rx473_eos
-    .local int rx473_rep
-    .local pmc rx473_cur
-    (rx473_cur, rx473_pos, rx473_tgt) = self."!cursor_start"()
-    rx473_cur."!cursor_debug"("START ", "assertion:sym<method>")
-    .lex unicode:"$\x{a2}", rx473_cur
-    .local pmc match
-    .lex "$/", match
-    length rx473_eos, rx473_tgt
-    gt rx473_pos, rx473_eos, rx473_done
-    set rx473_off, 0
-    lt rx473_pos, 2, rx473_start
-    sub rx473_off, rx473_pos, 1
-    substr rx473_tgt, rx473_tgt, rx473_off
-  rx473_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan477_done
-    goto rxscan477_scan
-  rxscan477_loop:
-    ($P10) = rx473_cur."from"()
-    inc $P10
-    set rx473_pos, $P10
-    ge rx473_pos, rx473_eos, rxscan477_done
-  rxscan477_scan:
-    set_addr $I10, rxscan477_loop
-    rx473_cur."!mark_push"(0, rx473_pos, $I10)
-  rxscan477_done:
+.sub "assertion:sym<method>"  :subid("133_1275811476.7961") :method :outer("11_1275811476.7961")
+.annotate 'line', 3
+    .local string rx474_tgt
+    .local int rx474_pos
+    .local int rx474_off
+    .local int rx474_eos
+    .local int rx474_rep
+    .local pmc rx474_cur
+    (rx474_cur, rx474_pos, rx474_tgt) = self."!cursor_start"()
+    rx474_cur."!cursor_debug"("START ", "assertion:sym<method>")
+    .lex unicode:"$\x{a2}", rx474_cur
+    .local pmc match
+    .lex "$/", match
+    length rx474_eos, rx474_tgt
+    gt rx474_pos, rx474_eos, rx474_done
+    set rx474_off, 0
+    lt rx474_pos, 2, rx474_start
+    sub rx474_off, rx474_pos, 1
+    substr rx474_tgt, rx474_tgt, rx474_off
+  rx474_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan478_done
+    goto rxscan478_scan
+  rxscan478_loop:
+    ($P10) = rx474_cur."from"()
+    inc $P10
+    set rx474_pos, $P10
+    ge rx474_pos, rx474_eos, rxscan478_done
+  rxscan478_scan:
+    set_addr $I10, rxscan478_loop
+    rx474_cur."!mark_push"(0, rx474_pos, $I10)
+  rxscan478_done:
 .annotate 'line', 144
   # rx literal  "."
-    add $I11, rx473_pos, 1
-    gt $I11, rx473_eos, rx473_fail
-    sub $I11, rx473_pos, rx473_off
-    substr $S10, rx473_tgt, $I11, 1
-    ne $S10, ".", rx473_fail
-    add rx473_pos, 1
+    add $I11, rx474_pos, 1
+    gt $I11, rx474_eos, rx474_fail
+    sub $I11, rx474_pos, rx474_off
+    substr $S10, rx474_tgt, $I11, 1
+    ne $S10, ".", rx474_fail
+    add rx474_pos, 1
   # rx subrule "assertion" subtype=capture negate=
-    rx473_cur."!cursor_pos"(rx473_pos)
-    $P10 = rx473_cur."assertion"()
-    unless $P10, rx473_fail
-    rx473_cur."!mark_push"(0, -1, 0, $P10)
+    rx474_cur."!cursor_pos"(rx474_pos)
+    $P10 = rx474_cur."assertion"()
+    unless $P10, rx474_fail
+    rx474_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx473_pos = $P10."pos"()
+    rx474_pos = $P10."pos"()
 .annotate 'line', 143
   # rx pass
-    rx473_cur."!cursor_pass"(rx473_pos, "assertion:sym<method>")
-    rx473_cur."!cursor_debug"("PASS  ", "assertion:sym<method>", " at pos=", rx473_pos)
-    .return (rx473_cur)
-  rx473_fail:
+    rx474_cur."!cursor_pass"(rx474_pos, "assertion:sym<method>")
+    rx474_cur."!cursor_debug"("PASS  ", "assertion:sym<method>", " at pos=", rx474_pos)
+    .return (rx474_cur)
+  rx474_fail:
 .annotate 'line', 3
-    (rx473_rep, rx473_pos, $I10, $P10) = rx473_cur."!mark_fail"(0)
-    lt rx473_pos, -1, rx473_done
-    eq rx473_pos, -1, rx473_fail
+    (rx474_rep, rx474_pos, $I10, $P10) = rx474_cur."!mark_fail"(0)
+    lt rx474_pos, -1, rx474_done
+    eq rx474_pos, -1, rx474_fail
     jump $I10
-  rx473_done:
-    rx473_cur."!cursor_fail"()
-    rx473_cur."!cursor_debug"("FAIL  ", "assertion:sym<method>")
-    .return (rx473_cur)
+  rx474_done:
+    rx474_cur."!cursor_fail"()
+    rx474_cur."!cursor_debug"("FAIL  ", "assertion:sym<method>")
+    .return (rx474_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<method>"  :subid("134_1275599996.35368") :method
+.sub "!PREFIX__assertion:sym<method>"  :subid("134_1275811476.7961") :method
 .annotate 'line', 3
-    $P475 = self."!PREFIX__!subrule"("assertion", ".")
-    new $P476, "ResizablePMCArray"
-    push $P476, $P475
-    .return ($P476)
+    $P476 = self."!PREFIX__!subrule"("assertion", ".")
+    new $P477, "ResizablePMCArray"
+    push $P477, $P476
+    .return ($P477)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<name>"  :subid("135_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "assertion:sym<name>"  :subid("135_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .const 'Sub' $P487 = "137_1275599996.35368" 
-    capture_lex $P487
-    .local string rx479_tgt
-    .local int rx479_pos
-    .local int rx479_off
-    .local int rx479_eos
-    .local int rx479_rep
-    .local pmc rx479_cur
-    (rx479_cur, rx479_pos, rx479_tgt) = self."!cursor_start"()
-    rx479_cur."!cursor_debug"("START ", "assertion:sym<name>")
-    rx479_cur."!cursor_caparray"("arglist", "nibbler", "assertion")
-    .lex unicode:"$\x{a2}", rx479_cur
+    .const 'Sub' $P488 = "137_1275811476.7961" 
+    capture_lex $P488
+    .local string rx480_tgt
+    .local int rx480_pos
+    .local int rx480_off
+    .local int rx480_eos
+    .local int rx480_rep
+    .local pmc rx480_cur
+    (rx480_cur, rx480_pos, rx480_tgt) = self."!cursor_start"()
+    rx480_cur."!cursor_debug"("START ", "assertion:sym<name>")
+    rx480_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
+    .lex unicode:"$\x{a2}", rx480_cur
     .local pmc match
     .lex "$/", match
-    length rx479_eos, rx479_tgt
-    gt rx479_pos, rx479_eos, rx479_done
-    set rx479_off, 0
-    lt rx479_pos, 2, rx479_start
-    sub rx479_off, rx479_pos, 1
-    substr rx479_tgt, rx479_tgt, rx479_off
-  rx479_start:
+    length rx480_eos, rx480_tgt
+    gt rx480_pos, rx480_eos, rx480_done
+    set rx480_off, 0
+    lt rx480_pos, 2, rx480_start
+    sub rx480_off, rx480_pos, 1
+    substr rx480_tgt, rx480_tgt, rx480_off
+  rx480_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan482_done
-    goto rxscan482_scan
-  rxscan482_loop:
-    ($P10) = rx479_cur."from"()
+    ne $I10, -1, rxscan483_done
+    goto rxscan483_scan
+  rxscan483_loop:
+    ($P10) = rx480_cur."from"()
     inc $P10
-    set rx479_pos, $P10
-    ge rx479_pos, rx479_eos, rxscan482_done
-  rxscan482_scan:
-    set_addr $I10, rxscan482_loop
-    rx479_cur."!mark_push"(0, rx479_pos, $I10)
-  rxscan482_done:
+    set rx480_pos, $P10
+    ge rx480_pos, rx480_eos, rxscan483_done
+  rxscan483_scan:
+    set_addr $I10, rxscan483_loop
+    rx480_cur."!mark_push"(0, rx480_pos, $I10)
+  rxscan483_done:
 .annotate 'line', 148
   # rx subcapture "longname"
-    set_addr $I10, rxcap_483_fail
-    rx479_cur."!mark_push"(0, rx479_pos, $I10)
+    set_addr $I10, rxcap_484_fail
+    rx480_cur."!mark_push"(0, rx480_pos, $I10)
   # rx charclass_q w r 1..-1
-    sub $I10, rx479_pos, rx479_off
-    find_not_cclass $I11, 8192, rx479_tgt, $I10, rx479_eos
+    sub $I10, rx480_pos, rx480_off
+    find_not_cclass $I11, 8192, rx480_tgt, $I10, rx480_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx479_fail
-    add rx479_pos, rx479_off, $I11
-    set_addr $I10, rxcap_483_fail
-    ($I12, $I11) = rx479_cur."!mark_peek"($I10)
-    rx479_cur."!cursor_pos"($I11)
-    ($P10) = rx479_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx479_pos, "")
-    rx479_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx480_fail
+    add rx480_pos, rx480_off, $I11
+    set_addr $I10, rxcap_484_fail
+    ($I12, $I11) = rx480_cur."!mark_peek"($I10)
+    rx480_cur."!cursor_pos"($I11)
+    ($P10) = rx480_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx480_pos, "")
+    rx480_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("longname")
-    goto rxcap_483_done
-  rxcap_483_fail:
-    goto rx479_fail
-  rxcap_483_done:
+    goto rxcap_484_done
+  rxcap_484_fail:
+    goto rx480_fail
+  rxcap_484_done:
 .annotate 'line', 155
-  # rx rxquantr484 ** 0..1
-    set_addr $I490, rxquantr484_done
-    rx479_cur."!mark_push"(0, rx479_pos, $I490)
-  rxquantr484_loop:
-  alt485_0:
+  # rx rxquantr485 ** 0..1
+    set_addr $I491, rxquantr485_done
+    rx480_cur."!mark_push"(0, rx480_pos, $I491)
+  rxquantr485_loop:
+  alt486_0:
 .annotate 'line', 149
-    set_addr $I10, alt485_1
-    rx479_cur."!mark_push"(0, rx479_pos, $I10)
+    set_addr $I10, alt486_1
+    rx480_cur."!mark_push"(0, rx480_pos, $I10)
 .annotate 'line', 150
   # rx subrule "before" subtype=zerowidth negate=
-    rx479_cur."!cursor_pos"(rx479_pos)
-    .const 'Sub' $P487 = "137_1275599996.35368" 
-    capture_lex $P487
-    $P10 = rx479_cur."before"($P487)
-    unless $P10, rx479_fail
-    goto alt485_end
-  alt485_1:
-    set_addr $I10, alt485_2
-    rx479_cur."!mark_push"(0, rx479_pos, $I10)
+    rx480_cur."!cursor_pos"(rx480_pos)
+    .const 'Sub' $P488 = "137_1275811476.7961" 
+    capture_lex $P488
+    $P10 = rx480_cur."before"($P488)
+    unless $P10, rx480_fail
+    goto alt486_end
+  alt486_1:
+    set_addr $I10, alt486_2
+    rx480_cur."!mark_push"(0, rx480_pos, $I10)
 .annotate 'line', 151
   # rx literal  "="
-    add $I11, rx479_pos, 1
-    gt $I11, rx479_eos, rx479_fail
-    sub $I11, rx479_pos, rx479_off
-    substr $S10, rx479_tgt, $I11, 1
-    ne $S10, "=", rx479_fail
-    add rx479_pos, 1
+    add $I11, rx480_pos, 1
+    gt $I11, rx480_eos, rx480_fail
+    sub $I11, rx480_pos, rx480_off
+    substr $S10, rx480_tgt, $I11, 1
+    ne $S10, "=", rx480_fail
+    add rx480_pos, 1
   # rx subrule "assertion" subtype=capture negate=
-    rx479_cur."!cursor_pos"(rx479_pos)
-    $P10 = rx479_cur."assertion"()
-    unless $P10, rx479_fail
-    rx479_cur."!mark_push"(0, -1, 0, $P10)
+    rx480_cur."!cursor_pos"(rx480_pos)
+    $P10 = rx480_cur."assertion"()
+    unless $P10, rx480_fail
+    rx480_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx479_pos = $P10."pos"()
-    goto alt485_end
-  alt485_2:
-    set_addr $I10, alt485_3
-    rx479_cur."!mark_push"(0, rx479_pos, $I10)
+    rx480_pos = $P10."pos"()
+    goto alt486_end
+  alt486_2:
+    set_addr $I10, alt486_3
+    rx480_cur."!mark_push"(0, rx480_pos, $I10)
 .annotate 'line', 152
   # rx literal  ":"
-    add $I11, rx479_pos, 1
-    gt $I11, rx479_eos, rx479_fail
-    sub $I11, rx479_pos, rx479_off
-    substr $S10, rx479_tgt, $I11, 1
-    ne $S10, ":", rx479_fail
-    add rx479_pos, 1
+    add $I11, rx480_pos, 1
+    gt $I11, rx480_eos, rx480_fail
+    sub $I11, rx480_pos, rx480_off
+    substr $S10, rx480_tgt, $I11, 1
+    ne $S10, ":", rx480_fail
+    add rx480_pos, 1
   # rx subrule "arglist" subtype=capture negate=
-    rx479_cur."!cursor_pos"(rx479_pos)
-    $P10 = rx479_cur."arglist"()
-    unless $P10, rx479_fail
-    rx479_cur."!mark_push"(0, -1, 0, $P10)
+    rx480_cur."!cursor_pos"(rx480_pos)
+    $P10 = rx480_cur."arglist"()
+    unless $P10, rx480_fail
+    rx480_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx479_pos = $P10."pos"()
-    goto alt485_end
-  alt485_3:
-    set_addr $I10, alt485_4
-    rx479_cur."!mark_push"(0, rx479_pos, $I10)
+    rx480_pos = $P10."pos"()
+    goto alt486_end
+  alt486_3:
+    set_addr $I10, alt486_4
+    rx480_cur."!mark_push"(0, rx480_pos, $I10)
 .annotate 'line', 153
   # rx literal  "("
-    add $I11, rx479_pos, 1
-    gt $I11, rx479_eos, rx479_fail
-    sub $I11, rx479_pos, rx479_off
-    substr $S10, rx479_tgt, $I11, 1
-    ne $S10, "(", rx479_fail
-    add rx479_pos, 1
+    add $I11, rx480_pos, 1
+    gt $I11, rx480_eos, rx480_fail
+    sub $I11, rx480_pos, rx480_off
+    substr $S10, rx480_tgt, $I11, 1
+    ne $S10, "(", rx480_fail
+    add rx480_pos, 1
   # rx subrule "arglist" subtype=capture negate=
-    rx479_cur."!cursor_pos"(rx479_pos)
-    $P10 = rx479_cur."arglist"()
-    unless $P10, rx479_fail
-    rx479_cur."!mark_push"(0, -1, 0, $P10)
+    rx480_cur."!cursor_pos"(rx480_pos)
+    $P10 = rx480_cur."arglist"()
+    unless $P10, rx480_fail
+    rx480_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx479_pos = $P10."pos"()
+    rx480_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx479_pos, 1
-    gt $I11, rx479_eos, rx479_fail
-    sub $I11, rx479_pos, rx479_off
-    substr $S10, rx479_tgt, $I11, 1
-    ne $S10, ")", rx479_fail
-    add rx479_pos, 1
-    goto alt485_end
-  alt485_4:
+    add $I11, rx480_pos, 1
+    gt $I11, rx480_eos, rx480_fail
+    sub $I11, rx480_pos, rx480_off
+    substr $S10, rx480_tgt, $I11, 1
+    ne $S10, ")", rx480_fail
+    add rx480_pos, 1
+    goto alt486_end
+  alt486_4:
 .annotate 'line', 154
   # rx subrule "normspace" subtype=method negate=
-    rx479_cur."!cursor_pos"(rx479_pos)
-    $P10 = rx479_cur."normspace"()
-    unless $P10, rx479_fail
-    rx479_pos = $P10."pos"()
+    rx480_cur."!cursor_pos"(rx480_pos)
+    $P10 = rx480_cur."normspace"()
+    unless $P10, rx480_fail
+    rx480_pos = $P10."pos"()
   # rx subrule "nibbler" subtype=capture negate=
-    rx479_cur."!cursor_pos"(rx479_pos)
-    $P10 = rx479_cur."nibbler"()
-    unless $P10, rx479_fail
-    rx479_cur."!mark_push"(0, -1, 0, $P10)
+    rx480_cur."!cursor_pos"(rx480_pos)
+    $P10 = rx480_cur."nibbler"()
+    unless $P10, rx480_fail
+    rx480_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx479_pos = $P10."pos"()
-  alt485_end:
+    rx480_pos = $P10."pos"()
+  alt486_end:
 .annotate 'line', 155
-    (rx479_rep) = rx479_cur."!mark_commit"($I490)
-  rxquantr484_done:
+    (rx480_rep) = rx480_cur."!mark_commit"($I491)
+  rxquantr485_done:
 .annotate 'line', 147
   # rx pass
-    rx479_cur."!cursor_pass"(rx479_pos, "assertion:sym<name>")
-    rx479_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx479_pos)
-    .return (rx479_cur)
-  rx479_fail:
+    rx480_cur."!cursor_pass"(rx480_pos, "assertion:sym<name>")
+    rx480_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx480_pos)
+    .return (rx480_cur)
+  rx480_fail:
 .annotate 'line', 3
-    (rx479_rep, rx479_pos, $I10, $P10) = rx479_cur."!mark_fail"(0)
-    lt rx479_pos, -1, rx479_done
-    eq rx479_pos, -1, rx479_fail
+    (rx480_rep, rx480_pos, $I10, $P10) = rx480_cur."!mark_fail"(0)
+    lt rx480_pos, -1, rx480_done
+    eq rx480_pos, -1, rx480_fail
     jump $I10
-  rx479_done:
-    rx479_cur."!cursor_fail"()
-    rx479_cur."!cursor_debug"("FAIL  ", "assertion:sym<name>")
-    .return (rx479_cur)
+  rx480_done:
+    rx480_cur."!cursor_fail"()
+    rx480_cur."!cursor_debug"("FAIL  ", "assertion:sym<name>")
+    .return (rx480_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("136_1275599996.35368") :method
+.sub "!PREFIX__assertion:sym<name>"  :subid("136_1275811476.7961") :method
 .annotate 'line', 3
-    new $P481, "ResizablePMCArray"
-    push $P481, ""
-    .return ($P481)
+    new $P482, "ResizablePMCArray"
+    push $P482, ""
+    .return ($P482)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block486"  :anon :subid("137_1275599996.35368") :method :outer("135_1275599996.35368")
+.sub "_block487"  :anon :subid("137_1275811476.7961") :method :outer("135_1275811476.7961")
 .annotate 'line', 150
-    .local string rx488_tgt
-    .local int rx488_pos
-    .local int rx488_off
-    .local int rx488_eos
-    .local int rx488_rep
-    .local pmc rx488_cur
-    (rx488_cur, rx488_pos, rx488_tgt) = self."!cursor_start"()
-    rx488_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx488_cur
-    .local pmc match
-    .lex "$/", match
-    length rx488_eos, rx488_tgt
-    gt rx488_pos, rx488_eos, rx488_done
-    set rx488_off, 0
-    lt rx488_pos, 2, rx488_start
-    sub rx488_off, rx488_pos, 1
-    substr rx488_tgt, rx488_tgt, rx488_off
-  rx488_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan489_done
-    goto rxscan489_scan
-  rxscan489_loop:
-    ($P10) = rx488_cur."from"()
-    inc $P10
-    set rx488_pos, $P10
-    ge rx488_pos, rx488_eos, rxscan489_done
-  rxscan489_scan:
-    set_addr $I10, rxscan489_loop
-    rx488_cur."!mark_push"(0, rx488_pos, $I10)
-  rxscan489_done:
+    .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 ", "")
+    .lex unicode:"$\x{a2}", rx489_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:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan490_done
+    goto rxscan490_scan
+  rxscan490_loop:
+    ($P10) = rx489_cur."from"()
+    inc $P10
+    set rx489_pos, $P10
+    ge rx489_pos, rx489_eos, rxscan490_done
+  rxscan490_scan:
+    set_addr $I10, rxscan490_loop
+    rx489_cur."!mark_push"(0, rx489_pos, $I10)
+  rxscan490_done:
   # rx literal  ">"
-    add $I11, rx488_pos, 1
-    gt $I11, rx488_eos, rx488_fail
-    sub $I11, rx488_pos, rx488_off
-    substr $S10, rx488_tgt, $I11, 1
-    ne $S10, ">", rx488_fail
-    add rx488_pos, 1
-  # rx pass
-    rx488_cur."!cursor_pass"(rx488_pos, "")
-    rx488_cur."!cursor_debug"("PASS  ", "", " at pos=", rx488_pos)
-    .return (rx488_cur)
-  rx488_fail:
-    (rx488_rep, rx488_pos, $I10, $P10) = rx488_cur."!mark_fail"(0)
-    lt rx488_pos, -1, rx488_done
-    eq rx488_pos, -1, rx488_fail
-    jump $I10
-  rx488_done:
-    rx488_cur."!cursor_fail"()
-    rx488_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx488_cur)
+    add $I11, rx489_pos, 1
+    gt $I11, rx489_eos, rx489_fail
+    sub $I11, rx489_pos, rx489_off
+    substr $S10, rx489_tgt, $I11, 1
+    ne $S10, ">", rx489_fail
+    add rx489_pos, 1
+  # rx pass
+    rx489_cur."!cursor_pass"(rx489_pos, "")
+    rx489_cur."!cursor_debug"("PASS  ", "", " at pos=", rx489_pos)
+    .return (rx489_cur)
+  rx489_fail:
+    (rx489_rep, rx489_pos, $I10, $P10) = rx489_cur."!mark_fail"(0)
+    lt rx489_pos, -1, rx489_done
+    eq rx489_pos, -1, rx489_fail
+    jump $I10
+  rx489_done:
+    rx489_cur."!cursor_fail"()
+    rx489_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx489_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<[>"  :subid("138_1275599996.35368") :method :outer("11_1275599996.35368")
-.annotate 'line', 3
-    .const 'Sub' $P497 = "140_1275599996.35368" 
-    capture_lex $P497
-    .local string rx492_tgt
-    .local int rx492_pos
-    .local int rx492_off
-    .local int rx492_eos
-    .local int rx492_rep
-    .local pmc rx492_cur
-    (rx492_cur, rx492_pos, rx492_tgt) = self."!cursor_start"()
-    rx492_cur."!cursor_debug"("START ", "assertion:sym<[>")
-    rx492_cur."!cursor_caparray"("cclass_elem")
-    .lex unicode:"$\x{a2}", rx492_cur
-    .local pmc match
-    .lex "$/", match
-    length rx492_eos, rx492_tgt
-    gt rx492_pos, rx492_eos, rx492_done
-    set rx492_off, 0
-    lt rx492_pos, 2, rx492_start
-    sub rx492_off, rx492_pos, 1
-    substr rx492_tgt, rx492_tgt, rx492_off
-  rx492_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan495_done
-    goto rxscan495_scan
-  rxscan495_loop:
-    ($P10) = rx492_cur."from"()
-    inc $P10
-    set rx492_pos, $P10
-    ge rx492_pos, rx492_eos, rxscan495_done
-  rxscan495_scan:
-    set_addr $I10, rxscan495_loop
-    rx492_cur."!mark_push"(0, rx492_pos, $I10)
-  rxscan495_done:
+.sub "assertion:sym<[>"  :subid("138_1275811476.7961") :method :outer("11_1275811476.7961")
+.annotate 'line', 3
+    .const 'Sub' $P498 = "140_1275811476.7961" 
+    capture_lex $P498
+    .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 ", "assertion:sym<[>")
+    rx493_cur."!cursor_caparray"("cclass_elem")
+    .lex unicode:"$\x{a2}", rx493_cur
+    .local pmc match
+    .lex "$/", match
+    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, rxscan496_done
+    goto rxscan496_scan
+  rxscan496_loop:
+    ($P10) = rx493_cur."from"()
+    inc $P10
+    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', 158
   # rx subrule "before" subtype=zerowidth negate=
-    rx492_cur."!cursor_pos"(rx492_pos)
-    .const 'Sub' $P497 = "140_1275599996.35368" 
-    capture_lex $P497
-    $P10 = rx492_cur."before"($P497)
-    unless $P10, rx492_fail
-  # rx rxquantr501 ** 1..*
-    set_addr $I502, rxquantr501_done
-    rx492_cur."!mark_push"(0, -1, $I502)
-  rxquantr501_loop:
+    rx493_cur."!cursor_pos"(rx493_pos)
+    .const 'Sub' $P498 = "140_1275811476.7961" 
+    capture_lex $P498
+    $P10 = rx493_cur."before"($P498)
+    unless $P10, rx493_fail
+  # rx rxquantr502 ** 1..*
+    set_addr $I503, rxquantr502_done
+    rx493_cur."!mark_push"(0, -1, $I503)
+  rxquantr502_loop:
   # rx subrule "cclass_elem" subtype=capture negate=
-    rx492_cur."!cursor_pos"(rx492_pos)
-    $P10 = rx492_cur."cclass_elem"()
-    unless $P10, rx492_fail
-    rx492_cur."!mark_push"(0, -1, 0, $P10)
+    rx493_cur."!cursor_pos"(rx493_pos)
+    $P10 = rx493_cur."cclass_elem"()
+    unless $P10, rx493_fail
+    rx493_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("cclass_elem")
-    rx492_pos = $P10."pos"()
-    (rx492_rep) = rx492_cur."!mark_commit"($I502)
-    rx492_cur."!mark_push"(rx492_rep, rx492_pos, $I502)
-    goto rxquantr501_loop
-  rxquantr501_done:
+    rx493_pos = $P10."pos"()
+    (rx493_rep) = rx493_cur."!mark_commit"($I503)
+    rx493_cur."!mark_push"(rx493_rep, rx493_pos, $I503)
+    goto rxquantr502_loop
+  rxquantr502_done:
   # rx pass
-    rx492_cur."!cursor_pass"(rx492_pos, "assertion:sym<[>")
-    rx492_cur."!cursor_debug"("PASS  ", "assertion:sym<[>", " at pos=", rx492_pos)
-    .return (rx492_cur)
-  rx492_fail:
+    rx493_cur."!cursor_pass"(rx493_pos, "assertion:sym<[>")
+    rx493_cur."!cursor_debug"("PASS  ", "assertion:sym<[>", " at pos=", rx493_pos)
+    .return (rx493_cur)
+  rx493_fail:
 .annotate 'line', 3
-    (rx492_rep, rx492_pos, $I10, $P10) = rx492_cur."!mark_fail"(0)
-    lt rx492_pos, -1, rx492_done
-    eq rx492_pos, -1, rx492_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
-  rx492_done:
-    rx492_cur."!cursor_fail"()
-    rx492_cur."!cursor_debug"("FAIL  ", "assertion:sym<[>")
-    .return (rx492_cur)
+  rx493_done:
+    rx493_cur."!cursor_fail"()
+    rx493_cur."!cursor_debug"("FAIL  ", "assertion:sym<[>")
+    .return (rx493_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<[>"  :subid("139_1275599996.35368") :method
+.sub "!PREFIX__assertion:sym<[>"  :subid("139_1275811476.7961") :method
 .annotate 'line', 3
-    new $P494, "ResizablePMCArray"
-    push $P494, ""
-    .return ($P494)
+    new $P495, "ResizablePMCArray"
+    push $P495, ""
+    .return ($P495)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block496"  :anon :subid("140_1275599996.35368") :method :outer("138_1275599996.35368")
+.sub "_block497"  :anon :subid("140_1275811476.7961") :method :outer("138_1275811476.7961")
 .annotate 'line', 158
-    .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 ", "")
-    .lex unicode:"$\x{a2}", rx498_cur
-    .local pmc match
-    .lex "$/", match
-    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, rxscan499_done
-    goto rxscan499_scan
-  rxscan499_loop:
-    ($P10) = rx498_cur."from"()
-    inc $P10
-    set rx498_pos, $P10
-    ge rx498_pos, rx498_eos, rxscan499_done
-  rxscan499_scan:
-    set_addr $I10, rxscan499_loop
-    rx498_cur."!mark_push"(0, rx498_pos, $I10)
-  rxscan499_done:
-  alt500_0:
-    set_addr $I10, alt500_1
-    rx498_cur."!mark_push"(0, rx498_pos, $I10)
+    .local string rx499_tgt
+    .local int rx499_pos
+    .local int rx499_off
+    .local int rx499_eos
+    .local int rx499_rep
+    .local pmc rx499_cur
+    (rx499_cur, rx499_pos, rx499_tgt) = self."!cursor_start"()
+    rx499_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx499_cur
+    .local pmc match
+    .lex "$/", match
+    length rx499_eos, rx499_tgt
+    gt rx499_pos, rx499_eos, rx499_done
+    set rx499_off, 0
+    lt rx499_pos, 2, rx499_start
+    sub rx499_off, rx499_pos, 1
+    substr rx499_tgt, rx499_tgt, rx499_off
+  rx499_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan500_done
+    goto rxscan500_scan
+  rxscan500_loop:
+    ($P10) = rx499_cur."from"()
+    inc $P10
+    set rx499_pos, $P10
+    ge rx499_pos, rx499_eos, rxscan500_done
+  rxscan500_scan:
+    set_addr $I10, rxscan500_loop
+    rx499_cur."!mark_push"(0, rx499_pos, $I10)
+  rxscan500_done:
+  alt501_0:
+    set_addr $I10, alt501_1
+    rx499_cur."!mark_push"(0, rx499_pos, $I10)
   # rx literal  "["
-    add $I11, rx498_pos, 1
-    gt $I11, rx498_eos, rx498_fail
-    sub $I11, rx498_pos, rx498_off
-    substr $S10, rx498_tgt, $I11, 1
-    ne $S10, "[", rx498_fail
-    add rx498_pos, 1
-    goto alt500_end
-  alt500_1:
-    set_addr $I10, alt500_2
-    rx498_cur."!mark_push"(0, rx498_pos, $I10)
+    add $I11, rx499_pos, 1
+    gt $I11, rx499_eos, rx499_fail
+    sub $I11, rx499_pos, rx499_off
+    substr $S10, rx499_tgt, $I11, 1
+    ne $S10, "[", rx499_fail
+    add rx499_pos, 1
+    goto alt501_end
+  alt501_1:
+    set_addr $I10, alt501_2
+    rx499_cur."!mark_push"(0, rx499_pos, $I10)
   # rx literal  "+"
-    add $I11, rx498_pos, 1
-    gt $I11, rx498_eos, rx498_fail
-    sub $I11, rx498_pos, rx498_off
-    substr $S10, rx498_tgt, $I11, 1
-    ne $S10, "+", rx498_fail
-    add rx498_pos, 1
-    goto alt500_end
-  alt500_2:
+    add $I11, rx499_pos, 1
+    gt $I11, rx499_eos, rx499_fail
+    sub $I11, rx499_pos, rx499_off
+    substr $S10, rx499_tgt, $I11, 1
+    ne $S10, "+", rx499_fail
+    add rx499_pos, 1
+    goto alt501_end
+  alt501_2:
   # rx literal  "-"
-    add $I11, rx498_pos, 1
-    gt $I11, rx498_eos, rx498_fail
-    sub $I11, rx498_pos, rx498_off
-    substr $S10, rx498_tgt, $I11, 1
-    ne $S10, "-", rx498_fail
-    add rx498_pos, 1
-  alt500_end:
-  # rx pass
-    rx498_cur."!cursor_pass"(rx498_pos, "")
-    rx498_cur."!cursor_debug"("PASS  ", "", " at pos=", rx498_pos)
-    .return (rx498_cur)
-  rx498_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
-  rx498_done:
-    rx498_cur."!cursor_fail"()
-    rx498_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx498_cur)
+    add $I11, rx499_pos, 1
+    gt $I11, rx499_eos, rx499_fail
+    sub $I11, rx499_pos, rx499_off
+    substr $S10, rx499_tgt, $I11, 1
+    ne $S10, "-", rx499_fail
+    add rx499_pos, 1
+  alt501_end:
+  # rx pass
+    rx499_cur."!cursor_pass"(rx499_pos, "")
+    rx499_cur."!cursor_debug"("PASS  ", "", " at pos=", rx499_pos)
+    .return (rx499_cur)
+  rx499_fail:
+    (rx499_rep, rx499_pos, $I10, $P10) = rx499_cur."!mark_fail"(0)
+    lt rx499_pos, -1, rx499_done
+    eq rx499_pos, -1, rx499_fail
+    jump $I10
+  rx499_done:
+    rx499_cur."!cursor_fail"()
+    rx499_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx499_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "cclass_elem"  :subid("141_1275599996.35368") :method :outer("11_1275599996.35368")
-.annotate 'line', 3
-    .const 'Sub' $P515 = "143_1275599996.35368" 
-    capture_lex $P515
-    .local string rx504_tgt
-    .local int rx504_pos
-    .local int rx504_off
-    .local int rx504_eos
-    .local int rx504_rep
-    .local pmc rx504_cur
-    (rx504_cur, rx504_pos, rx504_tgt) = self."!cursor_start"()
-    rx504_cur."!cursor_debug"("START ", "cclass_elem")
-    rx504_cur."!cursor_caparray"("charspec")
-    .lex unicode:"$\x{a2}", rx504_cur
-    .local pmc match
-    .lex "$/", match
-    length rx504_eos, rx504_tgt
-    gt rx504_pos, rx504_eos, rx504_done
-    set rx504_off, 0
-    lt rx504_pos, 2, rx504_start
-    sub rx504_off, rx504_pos, 1
-    substr rx504_tgt, rx504_tgt, rx504_off
-  rx504_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan507_done
-    goto rxscan507_scan
-  rxscan507_loop:
-    ($P10) = rx504_cur."from"()
-    inc $P10
-    set rx504_pos, $P10
-    ge rx504_pos, rx504_eos, rxscan507_done
-  rxscan507_scan:
-    set_addr $I10, rxscan507_loop
-    rx504_cur."!mark_push"(0, rx504_pos, $I10)
-  rxscan507_done:
+.sub "cclass_elem"  :subid("141_1275811476.7961") :method :outer("11_1275811476.7961")
+.annotate 'line', 3
+    .const 'Sub' $P516 = "143_1275811476.7961" 
+    capture_lex $P516
+    .local string rx505_tgt
+    .local int rx505_pos
+    .local int rx505_off
+    .local int rx505_eos
+    .local int rx505_rep
+    .local pmc rx505_cur
+    (rx505_cur, rx505_pos, rx505_tgt) = self."!cursor_start"()
+    rx505_cur."!cursor_debug"("START ", "cclass_elem")
+    rx505_cur."!cursor_caparray"("charspec")
+    .lex unicode:"$\x{a2}", rx505_cur
+    .local pmc match
+    .lex "$/", match
+    length rx505_eos, rx505_tgt
+    gt rx505_pos, rx505_eos, rx505_done
+    set rx505_off, 0
+    lt rx505_pos, 2, rx505_start
+    sub rx505_off, rx505_pos, 1
+    substr rx505_tgt, rx505_tgt, rx505_off
+  rx505_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan508_done
+    goto rxscan508_scan
+  rxscan508_loop:
+    ($P10) = rx505_cur."from"()
+    inc $P10
+    set rx505_pos, $P10
+    ge rx505_pos, rx505_eos, rxscan508_done
+  rxscan508_scan:
+    set_addr $I10, rxscan508_loop
+    rx505_cur."!mark_push"(0, rx505_pos, $I10)
+  rxscan508_done:
 .annotate 'line', 161
   # rx subcapture "sign"
-    set_addr $I10, rxcap_509_fail
-    rx504_cur."!mark_push"(0, rx504_pos, $I10)
-  alt508_0:
-    set_addr $I10, alt508_1
-    rx504_cur."!mark_push"(0, rx504_pos, $I10)
+    set_addr $I10, rxcap_510_fail
+    rx505_cur."!mark_push"(0, rx505_pos, $I10)
+  alt509_0:
+    set_addr $I10, alt509_1
+    rx505_cur."!mark_push"(0, rx505_pos, $I10)
   # rx literal  "+"
-    add $I11, rx504_pos, 1
-    gt $I11, rx504_eos, rx504_fail
-    sub $I11, rx504_pos, rx504_off
-    substr $S10, rx504_tgt, $I11, 1
-    ne $S10, "+", rx504_fail
-    add rx504_pos, 1
-    goto alt508_end
-  alt508_1:
-    set_addr $I10, alt508_2
-    rx504_cur."!mark_push"(0, rx504_pos, $I10)
+    add $I11, rx505_pos, 1
+    gt $I11, rx505_eos, rx505_fail
+    sub $I11, rx505_pos, rx505_off
+    substr $S10, rx505_tgt, $I11, 1
+    ne $S10, "+", rx505_fail
+    add rx505_pos, 1
+    goto alt509_end
+  alt509_1:
+    set_addr $I10, alt509_2
+    rx505_cur."!mark_push"(0, rx505_pos, $I10)
   # rx literal  "-"
-    add $I11, rx504_pos, 1
-    gt $I11, rx504_eos, rx504_fail
-    sub $I11, rx504_pos, rx504_off
-    substr $S10, rx504_tgt, $I11, 1
-    ne $S10, "-", rx504_fail
-    add rx504_pos, 1
-    goto alt508_end
-  alt508_2:
-  alt508_end:
-    set_addr $I10, rxcap_509_fail
-    ($I12, $I11) = rx504_cur."!mark_peek"($I10)
-    rx504_cur."!cursor_pos"($I11)
-    ($P10) = rx504_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx504_pos, "")
-    rx504_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx505_pos, 1
+    gt $I11, rx505_eos, rx505_fail
+    sub $I11, rx505_pos, rx505_off
+    substr $S10, rx505_tgt, $I11, 1
+    ne $S10, "-", rx505_fail
+    add rx505_pos, 1
+    goto alt509_end
+  alt509_2:
+  alt509_end:
+    set_addr $I10, rxcap_510_fail
+    ($I12, $I11) = rx505_cur."!mark_peek"($I10)
+    rx505_cur."!cursor_pos"($I11)
+    ($P10) = rx505_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx505_pos, "")
+    rx505_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sign")
-    goto rxcap_509_done
-  rxcap_509_fail:
-    goto rx504_fail
-  rxcap_509_done:
+    goto rxcap_510_done
+  rxcap_510_fail:
+    goto rx505_fail
+  rxcap_510_done:
 .annotate 'line', 162
-  # rx rxquantr510 ** 0..1
-    set_addr $I511, rxquantr510_done
-    rx504_cur."!mark_push"(0, rx504_pos, $I511)
-  rxquantr510_loop:
+  # rx rxquantr511 ** 0..1
+    set_addr $I512, rxquantr511_done
+    rx505_cur."!mark_push"(0, rx505_pos, $I512)
+  rxquantr511_loop:
   # rx subrule "normspace" subtype=method negate=
-    rx504_cur."!cursor_pos"(rx504_pos)
-    $P10 = rx504_cur."normspace"()
-    unless $P10, rx504_fail
-    rx504_pos = $P10."pos"()
-    (rx504_rep) = rx504_cur."!mark_commit"($I511)
-  rxquantr510_done:
-  alt512_0:
+    rx505_cur."!cursor_pos"(rx505_pos)
+    $P10 = rx505_cur."normspace"()
+    unless $P10, rx505_fail
+    rx505_pos = $P10."pos"()
+    (rx505_rep) = rx505_cur."!mark_commit"($I512)
+  rxquantr511_done:
+  alt513_0:
 .annotate 'line', 163
-    set_addr $I10, alt512_1
-    rx504_cur."!mark_push"(0, rx504_pos, $I10)
+    set_addr $I10, alt513_1
+    rx505_cur."!mark_push"(0, rx505_pos, $I10)
 .annotate 'line', 164
   # rx literal  "["
-    add $I11, rx504_pos, 1
-    gt $I11, rx504_eos, rx504_fail
-    sub $I11, rx504_pos, rx504_off
-    substr $S10, rx504_tgt, $I11, 1
-    ne $S10, "[", rx504_fail
-    add rx504_pos, 1
+    add $I11, rx505_pos, 1
+    gt $I11, rx505_eos, rx505_fail
+    sub $I11, rx505_pos, rx505_off
+    substr $S10, rx505_tgt, $I11, 1
+    ne $S10, "[", rx505_fail
+    add rx505_pos, 1
 .annotate 'line', 167
-  # rx rxquantr513 ** 0..*
-    set_addr $I534, rxquantr513_done
-    rx504_cur."!mark_push"(0, rx504_pos, $I534)
-  rxquantr513_loop:
+  # rx rxquantr514 ** 0..*
+    set_addr $I535, rxquantr514_done
+    rx505_cur."!mark_push"(0, rx505_pos, $I535)
+  rxquantr514_loop:
 .annotate 'line', 164
-  # rx subrule $P515 subtype=capture negate=
-    rx504_cur."!cursor_pos"(rx504_pos)
-    .const 'Sub' $P515 = "143_1275599996.35368" 
-    capture_lex $P515
-    $P10 = rx504_cur.$P515()
-    unless $P10, rx504_fail
-    rx504_cur."!mark_push"(0, -1, 0, $P10)
+  # rx subrule $P516 subtype=capture negate=
+    rx505_cur."!cursor_pos"(rx505_pos)
+    .const 'Sub' $P516 = "143_1275811476.7961" 
+    capture_lex $P516
+    $P10 = rx505_cur.$P516()
+    unless $P10, rx505_fail
+    rx505_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("charspec")
-    rx504_pos = $P10."pos"()
+    rx505_pos = $P10."pos"()
 .annotate 'line', 167
-    (rx504_rep) = rx504_cur."!mark_commit"($I534)
-    rx504_cur."!mark_push"(rx504_rep, rx504_pos, $I534)
-    goto rxquantr513_loop
-  rxquantr513_done:
+    (rx505_rep) = rx505_cur."!mark_commit"($I535)
+    rx505_cur."!mark_push"(rx505_rep, rx505_pos, $I535)
+    goto rxquantr514_loop
+  rxquantr514_done:
 .annotate 'line', 168
   # rx charclass_q s r 0..-1
-    sub $I10, rx504_pos, rx504_off
-    find_not_cclass $I11, 32, rx504_tgt, $I10, rx504_eos
-    add rx504_pos, rx504_off, $I11
+    sub $I10, rx505_pos, rx505_off
+    find_not_cclass $I11, 32, rx505_tgt, $I10, rx505_eos
+    add rx505_pos, rx505_off, $I11
   # rx literal  "]"
-    add $I11, rx504_pos, 1
-    gt $I11, rx504_eos, rx504_fail
-    sub $I11, rx504_pos, rx504_off
-    substr $S10, rx504_tgt, $I11, 1
-    ne $S10, "]", rx504_fail
-    add rx504_pos, 1
+    add $I11, rx505_pos, 1
+    gt $I11, rx505_eos, rx505_fail
+    sub $I11, rx505_pos, rx505_off
+    substr $S10, rx505_tgt, $I11, 1
+    ne $S10, "]", rx505_fail
+    add rx505_pos, 1
 .annotate 'line', 164
-    goto alt512_end
-  alt512_1:
+    goto alt513_end
+  alt513_1:
 .annotate 'line', 169
   # rx subcapture "name"
-    set_addr $I10, rxcap_535_fail
-    rx504_cur."!mark_push"(0, rx504_pos, $I10)
+    set_addr $I10, rxcap_536_fail
+    rx505_cur."!mark_push"(0, rx505_pos, $I10)
   # rx charclass_q w r 1..-1
-    sub $I10, rx504_pos, rx504_off
-    find_not_cclass $I11, 8192, rx504_tgt, $I10, rx504_eos
+    sub $I10, rx505_pos, rx505_off
+    find_not_cclass $I11, 8192, rx505_tgt, $I10, rx505_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx504_fail
-    add rx504_pos, rx504_off, $I11
-    set_addr $I10, rxcap_535_fail
-    ($I12, $I11) = rx504_cur."!mark_peek"($I10)
-    rx504_cur."!cursor_pos"($I11)
-    ($P10) = rx504_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx504_pos, "")
-    rx504_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx505_fail
+    add rx505_pos, rx505_off, $I11
+    set_addr $I10, rxcap_536_fail
+    ($I12, $I11) = rx505_cur."!mark_peek"($I10)
+    rx505_cur."!cursor_pos"($I11)
+    ($P10) = rx505_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx505_pos, "")
+    rx505_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    goto rxcap_535_done
-  rxcap_535_fail:
-    goto rx504_fail
-  rxcap_535_done:
-  alt512_end:
+    goto rxcap_536_done
+  rxcap_536_fail:
+    goto rx505_fail
+  rxcap_536_done:
+  alt513_end:
 .annotate 'line', 171
-  # rx rxquantr536 ** 0..1
-    set_addr $I537, rxquantr536_done
-    rx504_cur."!mark_push"(0, rx504_pos, $I537)
-  rxquantr536_loop:
+  # rx rxquantr537 ** 0..1
+    set_addr $I538, rxquantr537_done
+    rx505_cur."!mark_push"(0, rx505_pos, $I538)
+  rxquantr537_loop:
   # rx subrule "normspace" subtype=method negate=
-    rx504_cur."!cursor_pos"(rx504_pos)
-    $P10 = rx504_cur."normspace"()
-    unless $P10, rx504_fail
-    rx504_pos = $P10."pos"()
-    (rx504_rep) = rx504_cur."!mark_commit"($I537)
-  rxquantr536_done:
+    rx505_cur."!cursor_pos"(rx505_pos)
+    $P10 = rx505_cur."normspace"()
+    unless $P10, rx505_fail
+    rx505_pos = $P10."pos"()
+    (rx505_rep) = rx505_cur."!mark_commit"($I538)
+  rxquantr537_done:
 .annotate 'line', 160
   # rx pass
-    rx504_cur."!cursor_pass"(rx504_pos, "cclass_elem")
-    rx504_cur."!cursor_debug"("PASS  ", "cclass_elem", " at pos=", rx504_pos)
-    .return (rx504_cur)
-  rx504_fail:
+    rx505_cur."!cursor_pass"(rx505_pos, "cclass_elem")
+    rx505_cur."!cursor_debug"("PASS  ", "cclass_elem", " at pos=", rx505_pos)
+    .return (rx505_cur)
+  rx505_fail:
 .annotate 'line', 3
-    (rx504_rep, rx504_pos, $I10, $P10) = rx504_cur."!mark_fail"(0)
-    lt rx504_pos, -1, rx504_done
-    eq rx504_pos, -1, rx504_fail
+    (rx505_rep, rx505_pos, $I10, $P10) = rx505_cur."!mark_fail"(0)
+    lt rx505_pos, -1, rx505_done
+    eq rx505_pos, -1, rx505_fail
     jump $I10
-  rx504_done:
-    rx504_cur."!cursor_fail"()
-    rx504_cur."!cursor_debug"("FAIL  ", "cclass_elem")
-    .return (rx504_cur)
+  rx505_done:
+    rx505_cur."!cursor_fail"()
+    rx505_cur."!cursor_debug"("FAIL  ", "cclass_elem")
+    .return (rx505_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__cclass_elem"  :subid("142_1275599996.35368") :method
+.sub "!PREFIX__cclass_elem"  :subid("142_1275811476.7961") :method
 .annotate 'line', 3
-    new $P506, "ResizablePMCArray"
-    push $P506, ""
-    push $P506, "-"
-    push $P506, "+"
-    .return ($P506)
+    new $P507, "ResizablePMCArray"
+    push $P507, ""
+    push $P507, "-"
+    push $P507, "+"
+    .return ($P507)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block514"  :anon :subid("143_1275599996.35368") :method :outer("141_1275599996.35368")
+.sub "_block515"  :anon :subid("143_1275811476.7961") :method :outer("141_1275811476.7961")
 .annotate 'line', 164
-    .const 'Sub' $P530 = "146_1275599996.35368" 
-    capture_lex $P530
-    .const 'Sub' $P525 = "145_1275599996.35368" 
-    capture_lex $P525
-    .const 'Sub' $P521 = "144_1275599996.35368" 
-    capture_lex $P521
-    .local string rx516_tgt
-    .local int rx516_pos
-    .local int rx516_off
-    .local int rx516_eos
-    .local int rx516_rep
-    .local pmc rx516_cur
-    (rx516_cur, rx516_pos, rx516_tgt) = self."!cursor_start"()
-    rx516_cur."!cursor_debug"("START ", "")
-    rx516_cur."!cursor_caparray"("1")
-    .lex unicode:"$\x{a2}", rx516_cur
-    .local pmc match
-    .lex "$/", match
-    length rx516_eos, rx516_tgt
-    gt rx516_pos, rx516_eos, rx516_done
-    set rx516_off, 0
-    lt rx516_pos, 2, rx516_start
-    sub rx516_off, rx516_pos, 1
-    substr rx516_tgt, rx516_tgt, rx516_off
-  rx516_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan517_done
-    goto rxscan517_scan
-  rxscan517_loop:
-    ($P10) = rx516_cur."from"()
-    inc $P10
-    set rx516_pos, $P10
-    ge rx516_pos, rx516_eos, rxscan517_done
-  rxscan517_scan:
-    set_addr $I10, rxscan517_loop
-    rx516_cur."!mark_push"(0, rx516_pos, $I10)
-  rxscan517_done:
-  alt518_0:
-    set_addr $I10, alt518_1
-    rx516_cur."!mark_push"(0, rx516_pos, $I10)
+    .const 'Sub' $P531 = "146_1275811476.7961" 
+    capture_lex $P531
+    .const 'Sub' $P526 = "145_1275811476.7961" 
+    capture_lex $P526
+    .const 'Sub' $P522 = "144_1275811476.7961" 
+    capture_lex $P522
+    .local string rx517_tgt
+    .local int rx517_pos
+    .local int rx517_off
+    .local int rx517_eos
+    .local int rx517_rep
+    .local pmc rx517_cur
+    (rx517_cur, rx517_pos, rx517_tgt) = self."!cursor_start"()
+    rx517_cur."!cursor_debug"("START ", "")
+    rx517_cur."!cursor_caparray"("1")
+    .lex unicode:"$\x{a2}", rx517_cur
+    .local pmc match
+    .lex "$/", match
+    length rx517_eos, rx517_tgt
+    gt rx517_pos, rx517_eos, rx517_done
+    set rx517_off, 0
+    lt rx517_pos, 2, rx517_start
+    sub rx517_off, rx517_pos, 1
+    substr rx517_tgt, rx517_tgt, rx517_off
+  rx517_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan518_done
+    goto rxscan518_scan
+  rxscan518_loop:
+    ($P10) = rx517_cur."from"()
+    inc $P10
+    set rx517_pos, $P10
+    ge rx517_pos, rx517_eos, rxscan518_done
+  rxscan518_scan:
+    set_addr $I10, rxscan518_loop
+    rx517_cur."!mark_push"(0, rx517_pos, $I10)
+  rxscan518_done:
+  alt519_0:
+    set_addr $I10, alt519_1
+    rx517_cur."!mark_push"(0, rx517_pos, $I10)
 .annotate 'line', 165
   # rx charclass_q s r 0..-1
-    sub $I10, rx516_pos, rx516_off
-    find_not_cclass $I11, 32, rx516_tgt, $I10, rx516_eos
-    add rx516_pos, rx516_off, $I11
+    sub $I10, rx517_pos, rx517_off
+    find_not_cclass $I11, 32, rx517_tgt, $I10, rx517_eos
+    add rx517_pos, rx517_off, $I11
   # rx literal  "-"
-    add $I11, rx516_pos, 1
-    gt $I11, rx516_eos, rx516_fail
-    sub $I11, rx516_pos, rx516_off
-    substr $S10, rx516_tgt, $I11, 1
-    ne $S10, "-", rx516_fail
-    add rx516_pos, 1
+    add $I11, rx517_pos, 1
+    gt $I11, rx517_eos, rx517_fail
+    sub $I11, rx517_pos, rx517_off
+    substr $S10, rx517_tgt, $I11, 1
+    ne $S10, "-", rx517_fail
+    add rx517_pos, 1
   # rx subrule "obs" subtype=method negate=
-    rx516_cur."!cursor_pos"(rx516_pos)
-    $P10 = rx516_cur."obs"("hyphen in enumerated character class", "..")
-    unless $P10, rx516_fail
-    rx516_pos = $P10."pos"()
-    goto alt518_end
-  alt518_1:
+    rx517_cur."!cursor_pos"(rx517_pos)
+    $P10 = rx517_cur."obs"("hyphen in enumerated character class", "..")
+    unless $P10, rx517_fail
+    rx517_pos = $P10."pos"()
+    goto alt519_end
+  alt519_1:
 .annotate 'line', 166
   # rx charclass_q s r 0..-1
-    sub $I10, rx516_pos, rx516_off
-    find_not_cclass $I11, 32, rx516_tgt, $I10, rx516_eos
-    add rx516_pos, rx516_off, $I11
-  alt519_0:
-    set_addr $I10, alt519_1
-    rx516_cur."!mark_push"(0, rx516_pos, $I10)
+    sub $I10, rx517_pos, rx517_off
+    find_not_cclass $I11, 32, rx517_tgt, $I10, rx517_eos
+    add rx517_pos, rx517_off, $I11
+  alt520_0:
+    set_addr $I10, alt520_1
+    rx517_cur."!mark_push"(0, rx517_pos, $I10)
   # rx literal  "\\"
-    add $I11, rx516_pos, 1
-    gt $I11, rx516_eos, rx516_fail
-    sub $I11, rx516_pos, rx516_off
-    substr $S10, rx516_tgt, $I11, 1
-    ne $S10, "\\", rx516_fail
-    add rx516_pos, 1
-  # rx subrule $P521 subtype=capture negate=
-    rx516_cur."!cursor_pos"(rx516_pos)
-    .const 'Sub' $P521 = "144_1275599996.35368" 
-    capture_lex $P521
-    $P10 = rx516_cur.$P521()
-    unless $P10, rx516_fail
-    rx516_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx517_pos, 1
+    gt $I11, rx517_eos, rx517_fail
+    sub $I11, rx517_pos, rx517_off
+    substr $S10, rx517_tgt, $I11, 1
+    ne $S10, "\\", rx517_fail
+    add rx517_pos, 1
+  # rx subrule $P522 subtype=capture negate=
+    rx517_cur."!cursor_pos"(rx517_pos)
+    .const 'Sub' $P522 = "144_1275811476.7961" 
+    capture_lex $P522
+    $P10 = rx517_cur.$P522()
+    unless $P10, rx517_fail
+    rx517_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"(0)
-    rx516_pos = $P10."pos"()
-    goto alt519_end
-  alt519_1:
-  # rx subrule $P525 subtype=capture negate=
-    rx516_cur."!cursor_pos"(rx516_pos)
-    .const 'Sub' $P525 = "145_1275599996.35368" 
-    capture_lex $P525
-    $P10 = rx516_cur.$P525()
-    unless $P10, rx516_fail
-    rx516_cur."!mark_push"(0, -1, 0, $P10)
+    rx517_pos = $P10."pos"()
+    goto alt520_end
+  alt520_1:
+  # rx subrule $P526 subtype=capture negate=
+    rx517_cur."!cursor_pos"(rx517_pos)
+    .const 'Sub' $P526 = "145_1275811476.7961" 
+    capture_lex $P526
+    $P10 = rx517_cur.$P526()
+    unless $P10, rx517_fail
+    rx517_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"(0)
-    rx516_pos = $P10."pos"()
-  alt519_end:
-  # rx rxquantr528 ** 0..1
-    set_addr $I533, rxquantr528_done
-    rx516_cur."!mark_push"(0, rx516_pos, $I533)
-  rxquantr528_loop:
+    rx517_pos = $P10."pos"()
+  alt520_end:
+  # rx rxquantr529 ** 0..1
+    set_addr $I534, rxquantr529_done
+    rx517_cur."!mark_push"(0, rx517_pos, $I534)
+  rxquantr529_loop:
   # rx charclass_q s r 0..-1
-    sub $I10, rx516_pos, rx516_off
-    find_not_cclass $I11, 32, rx516_tgt, $I10, rx516_eos
-    add rx516_pos, rx516_off, $I11
+    sub $I10, rx517_pos, rx517_off
+    find_not_cclass $I11, 32, rx517_tgt, $I10, rx517_eos
+    add rx517_pos, rx517_off, $I11
   # rx literal  ".."
-    add $I11, rx516_pos, 2
-    gt $I11, rx516_eos, rx516_fail
-    sub $I11, rx516_pos, rx516_off
-    substr $S10, rx516_tgt, $I11, 2
-    ne $S10, "..", rx516_fail
-    add rx516_pos, 2
+    add $I11, rx517_pos, 2
+    gt $I11, rx517_eos, rx517_fail
+    sub $I11, rx517_pos, rx517_off
+    substr $S10, rx517_tgt, $I11, 2
+    ne $S10, "..", rx517_fail
+    add rx517_pos, 2
   # rx charclass_q s r 0..-1
-    sub $I10, rx516_pos, rx516_off
-    find_not_cclass $I11, 32, rx516_tgt, $I10, rx516_eos
-    add rx516_pos, rx516_off, $I11
-  # rx subrule $P530 subtype=capture negate=
-    rx516_cur."!cursor_pos"(rx516_pos)
-    .const 'Sub' $P530 = "146_1275599996.35368" 
-    capture_lex $P530
-    $P10 = rx516_cur.$P530()
-    unless $P10, rx516_fail
-    rx516_cur."!mark_push"(0, -1, 0, $P10)
+    sub $I10, rx517_pos, rx517_off
+    find_not_cclass $I11, 32, rx517_tgt, $I10, rx517_eos
+    add rx517_pos, rx517_off, $I11
+  # rx subrule $P531 subtype=capture negate=
+    rx517_cur."!cursor_pos"(rx517_pos)
+    .const 'Sub' $P531 = "146_1275811476.7961" 
+    capture_lex $P531
+    $P10 = rx517_cur.$P531()
+    unless $P10, rx517_fail
+    rx517_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("1")
-    rx516_pos = $P10."pos"()
-    (rx516_rep) = rx516_cur."!mark_commit"($I533)
-  rxquantr528_done:
-  alt518_end:
+    rx517_pos = $P10."pos"()
+    (rx517_rep) = rx517_cur."!mark_commit"($I534)
+  rxquantr529_done:
+  alt519_end:
 .annotate 'line', 164
   # rx pass
-    rx516_cur."!cursor_pass"(rx516_pos, "")
-    rx516_cur."!cursor_debug"("PASS  ", "", " at pos=", rx516_pos)
-    .return (rx516_cur)
-  rx516_fail:
-    (rx516_rep, rx516_pos, $I10, $P10) = rx516_cur."!mark_fail"(0)
-    lt rx516_pos, -1, rx516_done
-    eq rx516_pos, -1, rx516_fail
+    rx517_cur."!cursor_pass"(rx517_pos, "")
+    rx517_cur."!cursor_debug"("PASS  ", "", " at pos=", rx517_pos)
+    .return (rx517_cur)
+  rx517_fail:
+    (rx517_rep, rx517_pos, $I10, $P10) = rx517_cur."!mark_fail"(0)
+    lt rx517_pos, -1, rx517_done
+    eq rx517_pos, -1, rx517_fail
     jump $I10
-  rx516_done:
-    rx516_cur."!cursor_fail"()
-    rx516_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx516_cur)
+  rx517_done:
+    rx517_cur."!cursor_fail"()
+    rx517_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx517_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block520"  :anon :subid("144_1275599996.35368") :method :outer("143_1275599996.35368")
+.sub "_block521"  :anon :subid("144_1275811476.7961") :method :outer("143_1275811476.7961")
 .annotate 'line', 166
-    .local string rx522_tgt
-    .local int rx522_pos
-    .local int rx522_off
-    .local int rx522_eos
-    .local int rx522_rep
-    .local pmc rx522_cur
-    (rx522_cur, rx522_pos, rx522_tgt) = self."!cursor_start"()
-    rx522_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx522_cur
-    .local pmc match
-    .lex "$/", match
-    length rx522_eos, rx522_tgt
-    gt rx522_pos, rx522_eos, rx522_done
-    set rx522_off, 0
-    lt rx522_pos, 2, rx522_start
-    sub rx522_off, rx522_pos, 1
-    substr rx522_tgt, rx522_tgt, rx522_off
-  rx522_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan523_done
-    goto rxscan523_scan
-  rxscan523_loop:
-    ($P10) = rx522_cur."from"()
-    inc $P10
-    set rx522_pos, $P10
-    ge rx522_pos, rx522_eos, rxscan523_done
-  rxscan523_scan:
-    set_addr $I10, rxscan523_loop
-    rx522_cur."!mark_push"(0, rx522_pos, $I10)
-  rxscan523_done:
+    .local string rx523_tgt
+    .local int rx523_pos
+    .local int rx523_off
+    .local int rx523_eos
+    .local int rx523_rep
+    .local pmc rx523_cur
+    (rx523_cur, rx523_pos, rx523_tgt) = self."!cursor_start"()
+    rx523_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx523_cur
+    .local pmc match
+    .lex "$/", match
+    length rx523_eos, rx523_tgt
+    gt rx523_pos, rx523_eos, rx523_done
+    set rx523_off, 0
+    lt rx523_pos, 2, rx523_start
+    sub rx523_off, rx523_pos, 1
+    substr rx523_tgt, rx523_tgt, rx523_off
+  rx523_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan524_done
+    goto rxscan524_scan
+  rxscan524_loop:
+    ($P10) = rx523_cur."from"()
+    inc $P10
+    set rx523_pos, $P10
+    ge rx523_pos, rx523_eos, rxscan524_done
+  rxscan524_scan:
+    set_addr $I10, rxscan524_loop
+    rx523_cur."!mark_push"(0, rx523_pos, $I10)
+  rxscan524_done:
   # rx charclass .
-    ge rx522_pos, rx522_eos, rx522_fail
-    inc rx522_pos
+    ge rx523_pos, rx523_eos, rx523_fail
+    inc rx523_pos
   # rx pass
-    rx522_cur."!cursor_pass"(rx522_pos, "")
-    rx522_cur."!cursor_debug"("PASS  ", "", " at pos=", rx522_pos)
-    .return (rx522_cur)
-  rx522_fail:
-    (rx522_rep, rx522_pos, $I10, $P10) = rx522_cur."!mark_fail"(0)
-    lt rx522_pos, -1, rx522_done
-    eq rx522_pos, -1, rx522_fail
+    rx523_cur."!cursor_pass"(rx523_pos, "")
+    rx523_cur."!cursor_debug"("PASS  ", "", " at pos=", rx523_pos)
+    .return (rx523_cur)
+  rx523_fail:
+    (rx523_rep, rx523_pos, $I10, $P10) = rx523_cur."!mark_fail"(0)
+    lt rx523_pos, -1, rx523_done
+    eq rx523_pos, -1, rx523_fail
     jump $I10
-  rx522_done:
-    rx522_cur."!cursor_fail"()
-    rx522_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx522_cur)
+  rx523_done:
+    rx523_cur."!cursor_fail"()
+    rx523_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx523_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block524"  :anon :subid("145_1275599996.35368") :method :outer("143_1275599996.35368")
+.sub "_block525"  :anon :subid("145_1275811476.7961") :method :outer("143_1275811476.7961")
 .annotate 'line', 166
-    .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 ", "")
-    .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, rxscan527_done
-    goto rxscan527_scan
-  rxscan527_loop:
-    ($P10) = rx526_cur."from"()
-    inc $P10
-    set rx526_pos, $P10
-    ge rx526_pos, rx526_eos, rxscan527_done
-  rxscan527_scan:
-    set_addr $I10, rxscan527_loop
-    rx526_cur."!mark_push"(0, rx526_pos, $I10)
-  rxscan527_done:
+    .local string rx527_tgt
+    .local int rx527_pos
+    .local int rx527_off
+    .local int rx527_eos
+    .local int rx527_rep
+    .local pmc rx527_cur
+    (rx527_cur, rx527_pos, rx527_tgt) = self."!cursor_start"()
+    rx527_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx527_cur
+    .local pmc match
+    .lex "$/", match
+    length rx527_eos, rx527_tgt
+    gt rx527_pos, rx527_eos, rx527_done
+    set rx527_off, 0
+    lt rx527_pos, 2, rx527_start
+    sub rx527_off, rx527_pos, 1
+    substr rx527_tgt, rx527_tgt, rx527_off
+  rx527_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan528_done
+    goto rxscan528_scan
+  rxscan528_loop:
+    ($P10) = rx527_cur."from"()
+    inc $P10
+    set rx527_pos, $P10
+    ge rx527_pos, rx527_eos, rxscan528_done
+  rxscan528_scan:
+    set_addr $I10, rxscan528_loop
+    rx527_cur."!mark_push"(0, rx527_pos, $I10)
+  rxscan528_done:
   # rx enumcharlist negate=1 
-    ge rx526_pos, rx526_eos, rx526_fail
-    sub $I10, rx526_pos, rx526_off
-    substr $S10, rx526_tgt, $I10, 1
+    ge rx527_pos, rx527_eos, rx527_fail
+    sub $I10, rx527_pos, rx527_off
+    substr $S10, rx527_tgt, $I10, 1
     index $I11, "]\\", $S10
-    ge $I11, 0, rx526_fail
-    inc rx526_pos
+    ge $I11, 0, rx527_fail
+    inc rx527_pos
   # rx pass
-    rx526_cur."!cursor_pass"(rx526_pos, "")
-    rx526_cur."!cursor_debug"("PASS  ", "", " at pos=", rx526_pos)
-    .return (rx526_cur)
-  rx526_fail:
-    (rx526_rep, rx526_pos, $I10, $P10) = rx526_cur."!mark_fail"(0)
-    lt rx526_pos, -1, rx526_done
-    eq rx526_pos, -1, rx526_fail
+    rx527_cur."!cursor_pass"(rx527_pos, "")
+    rx527_cur."!cursor_debug"("PASS  ", "", " at pos=", rx527_pos)
+    .return (rx527_cur)
+  rx527_fail:
+    (rx527_rep, rx527_pos, $I10, $P10) = rx527_cur."!mark_fail"(0)
+    lt rx527_pos, -1, rx527_done
+    eq rx527_pos, -1, rx527_fail
     jump $I10
-  rx526_done:
-    rx526_cur."!cursor_fail"()
-    rx526_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx526_cur)
+  rx527_done:
+    rx527_cur."!cursor_fail"()
+    rx527_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx527_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block529"  :anon :subid("146_1275599996.35368") :method :outer("143_1275599996.35368")
+.sub "_block530"  :anon :subid("146_1275811476.7961") :method :outer("143_1275811476.7961")
 .annotate 'line', 166
-    .local string rx531_tgt
-    .local int rx531_pos
-    .local int rx531_off
-    .local int rx531_eos
-    .local int rx531_rep
-    .local pmc rx531_cur
-    (rx531_cur, rx531_pos, rx531_tgt) = self."!cursor_start"()
-    rx531_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx531_cur
-    .local pmc match
-    .lex "$/", match
-    length rx531_eos, rx531_tgt
-    gt rx531_pos, rx531_eos, rx531_done
-    set rx531_off, 0
-    lt rx531_pos, 2, rx531_start
-    sub rx531_off, rx531_pos, 1
-    substr rx531_tgt, rx531_tgt, rx531_off
-  rx531_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan532_done
-    goto rxscan532_scan
-  rxscan532_loop:
-    ($P10) = rx531_cur."from"()
-    inc $P10
-    set rx531_pos, $P10
-    ge rx531_pos, rx531_eos, rxscan532_done
-  rxscan532_scan:
-    set_addr $I10, rxscan532_loop
-    rx531_cur."!mark_push"(0, rx531_pos, $I10)
-  rxscan532_done:
+    .local string rx532_tgt
+    .local int rx532_pos
+    .local int rx532_off
+    .local int rx532_eos
+    .local int rx532_rep
+    .local pmc rx532_cur
+    (rx532_cur, rx532_pos, rx532_tgt) = self."!cursor_start"()
+    rx532_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx532_cur
+    .local pmc match
+    .lex "$/", match
+    length rx532_eos, rx532_tgt
+    gt rx532_pos, rx532_eos, rx532_done
+    set rx532_off, 0
+    lt rx532_pos, 2, rx532_start
+    sub rx532_off, rx532_pos, 1
+    substr rx532_tgt, rx532_tgt, rx532_off
+  rx532_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan533_done
+    goto rxscan533_scan
+  rxscan533_loop:
+    ($P10) = rx532_cur."from"()
+    inc $P10
+    set rx532_pos, $P10
+    ge rx532_pos, rx532_eos, rxscan533_done
+  rxscan533_scan:
+    set_addr $I10, rxscan533_loop
+    rx532_cur."!mark_push"(0, rx532_pos, $I10)
+  rxscan533_done:
   # rx charclass .
-    ge rx531_pos, rx531_eos, rx531_fail
-    inc rx531_pos
+    ge rx532_pos, rx532_eos, rx532_fail
+    inc rx532_pos
   # rx pass
-    rx531_cur."!cursor_pass"(rx531_pos, "")
-    rx531_cur."!cursor_debug"("PASS  ", "", " at pos=", rx531_pos)
-    .return (rx531_cur)
-  rx531_fail:
-    (rx531_rep, rx531_pos, $I10, $P10) = rx531_cur."!mark_fail"(0)
-    lt rx531_pos, -1, rx531_done
-    eq rx531_pos, -1, rx531_fail
-    jump $I10
-  rx531_done:
-    rx531_cur."!cursor_fail"()
-    rx531_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx531_cur)
+    rx532_cur."!cursor_pass"(rx532_pos, "")
+    rx532_cur."!cursor_debug"("PASS  ", "", " at pos=", rx532_pos)
+    .return (rx532_cur)
+  rx532_fail:
+    (rx532_rep, rx532_pos, $I10, $P10) = rx532_cur."!mark_fail"(0)
+    lt rx532_pos, -1, rx532_done
+    eq rx532_pos, -1, rx532_fail
+    jump $I10
+  rx532_done:
+    rx532_cur."!cursor_fail"()
+    rx532_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx532_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_internal"  :subid("147_1275599996.35368") :method :outer("11_1275599996.35368")
-.annotate 'line', 3
-    .const 'Sub' $P547 = "149_1275599996.35368" 
-    capture_lex $P547
-    .local string rx539_tgt
-    .local int rx539_pos
-    .local int rx539_off
-    .local int rx539_eos
-    .local int rx539_rep
-    .local pmc rx539_cur
-    (rx539_cur, rx539_pos, rx539_tgt) = self."!cursor_start"()
-    rx539_cur."!cursor_debug"("START ", "mod_internal")
-    rx539_cur."!cursor_caparray"("n")
-    .lex unicode:"$\x{a2}", rx539_cur
-    .local pmc match
-    .lex "$/", match
-    length rx539_eos, rx539_tgt
-    gt rx539_pos, rx539_eos, rx539_done
-    set rx539_off, 0
-    lt rx539_pos, 2, rx539_start
-    sub rx539_off, rx539_pos, 1
-    substr rx539_tgt, rx539_tgt, rx539_off
-  rx539_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan543_done
-    goto rxscan543_scan
-  rxscan543_loop:
-    ($P10) = rx539_cur."from"()
-    inc $P10
-    set rx539_pos, $P10
-    ge rx539_pos, rx539_eos, rxscan543_done
-  rxscan543_scan:
-    set_addr $I10, rxscan543_loop
-    rx539_cur."!mark_push"(0, rx539_pos, $I10)
-  rxscan543_done:
-  alt544_0:
+.sub "mod_internal"  :subid("147_1275811476.7961") :method :outer("11_1275811476.7961")
+.annotate 'line', 3
+    .const 'Sub' $P548 = "149_1275811476.7961" 
+    capture_lex $P548
+    .local string rx540_tgt
+    .local int rx540_pos
+    .local int rx540_off
+    .local int rx540_eos
+    .local int rx540_rep
+    .local pmc rx540_cur
+    (rx540_cur, rx540_pos, rx540_tgt) = self."!cursor_start"()
+    rx540_cur."!cursor_debug"("START ", "mod_internal")
+    rx540_cur."!cursor_caparray"("n")
+    .lex unicode:"$\x{a2}", rx540_cur
+    .local pmc match
+    .lex "$/", match
+    length rx540_eos, rx540_tgt
+    gt rx540_pos, rx540_eos, rx540_done
+    set rx540_off, 0
+    lt rx540_pos, 2, rx540_start
+    sub rx540_off, rx540_pos, 1
+    substr rx540_tgt, rx540_tgt, rx540_off
+  rx540_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan544_done
+    goto rxscan544_scan
+  rxscan544_loop:
+    ($P10) = rx540_cur."from"()
+    inc $P10
+    set rx540_pos, $P10
+    ge rx540_pos, rx540_eos, rxscan544_done
+  rxscan544_scan:
+    set_addr $I10, rxscan544_loop
+    rx540_cur."!mark_push"(0, rx540_pos, $I10)
+  rxscan544_done:
+  alt545_0:
 .annotate 'line', 175
-    set_addr $I10, alt544_1
-    rx539_cur."!mark_push"(0, rx539_pos, $I10)
+    set_addr $I10, alt545_1
+    rx540_cur."!mark_push"(0, rx540_pos, $I10)
 .annotate 'line', 176
   # rx literal  ":"
-    add $I11, rx539_pos, 1
-    gt $I11, rx539_eos, rx539_fail
-    sub $I11, rx539_pos, rx539_off
-    substr $S10, rx539_tgt, $I11, 1
-    ne $S10, ":", rx539_fail
-    add rx539_pos, 1
-  # rx rxquantr545 ** 1..1
-    set_addr $I551, rxquantr545_done
-    rx539_cur."!mark_push"(0, -1, $I551)
-  rxquantr545_loop:
-  # rx subrule $P547 subtype=capture negate=
-    rx539_cur."!cursor_pos"(rx539_pos)
-    .const 'Sub' $P547 = "149_1275599996.35368" 
-    capture_lex $P547
-    $P10 = rx539_cur.$P547()
-    unless $P10, rx539_fail
-    rx539_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx540_pos, 1
+    gt $I11, rx540_eos, rx540_fail
+    sub $I11, rx540_pos, rx540_off
+    substr $S10, rx540_tgt, $I11, 1
+    ne $S10, ":", rx540_fail
+    add rx540_pos, 1
+  # rx rxquantr546 ** 1..1
+    set_addr $I552, rxquantr546_done
+    rx540_cur."!mark_push"(0, -1, $I552)
+  rxquantr546_loop:
+  # rx subrule $P548 subtype=capture negate=
+    rx540_cur."!cursor_pos"(rx540_pos)
+    .const 'Sub' $P548 = "149_1275811476.7961" 
+    capture_lex $P548
+    $P10 = rx540_cur.$P548()
+    unless $P10, rx540_fail
+    rx540_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("n")
-    rx539_pos = $P10."pos"()
-    (rx539_rep) = rx539_cur."!mark_commit"($I551)
-  rxquantr545_done:
+    rx540_pos = $P10."pos"()
+    (rx540_rep) = rx540_cur."!mark_commit"($I552)
+  rxquantr546_done:
   # rx subrule "mod_ident" subtype=capture negate=
-    rx539_cur."!cursor_pos"(rx539_pos)
-    $P10 = rx539_cur."mod_ident"()
-    unless $P10, rx539_fail
-    rx539_cur."!mark_push"(0, -1, 0, $P10)
+    rx540_cur."!cursor_pos"(rx540_pos)
+    $P10 = rx540_cur."mod_ident"()
+    unless $P10, rx540_fail
+    rx540_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("mod_ident")
-    rx539_pos = $P10."pos"()
+    rx540_pos = $P10."pos"()
   # rxanchor rwb
-    le rx539_pos, 0, rx539_fail
-    sub $I10, rx539_pos, rx539_off
-    is_cclass $I11, 8192, rx539_tgt, $I10
-    if $I11, rx539_fail
+    le rx540_pos, 0, rx540_fail
+    sub $I10, rx540_pos, rx540_off
+    is_cclass $I11, 8192, rx540_tgt, $I10
+    if $I11, rx540_fail
     dec $I10
-    is_cclass $I11, 8192, rx539_tgt, $I10
-    unless $I11, rx539_fail
-    goto alt544_end
-  alt544_1:
+    is_cclass $I11, 8192, rx540_tgt, $I10
+    unless $I11, rx540_fail
+    goto alt545_end
+  alt545_1:
 .annotate 'line', 177
   # rx literal  ":"
-    add $I11, rx539_pos, 1
-    gt $I11, rx539_eos, rx539_fail
-    sub $I11, rx539_pos, rx539_off
-    substr $S10, rx539_tgt, $I11, 1
-    ne $S10, ":", rx539_fail
-    add rx539_pos, 1
+    add $I11, rx540_pos, 1
+    gt $I11, rx540_eos, rx540_fail
+    sub $I11, rx540_pos, rx540_off
+    substr $S10, rx540_tgt, $I11, 1
+    ne $S10, ":", rx540_fail
+    add rx540_pos, 1
   # rx subrule "mod_ident" subtype=capture negate=
-    rx539_cur."!cursor_pos"(rx539_pos)
-    $P10 = rx539_cur."mod_ident"()
-    unless $P10, rx539_fail
-    rx539_cur."!mark_push"(0, -1, 0, $P10)
+    rx540_cur."!cursor_pos"(rx540_pos)
+    $P10 = rx540_cur."mod_ident"()
+    unless $P10, rx540_fail
+    rx540_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("mod_ident")
-    rx539_pos = $P10."pos"()
-  # rx rxquantr552 ** 0..1
-    set_addr $I554, rxquantr552_done
-    rx539_cur."!mark_push"(0, rx539_pos, $I554)
-  rxquantr552_loop:
+    rx540_pos = $P10."pos"()
+  # rx rxquantr553 ** 0..1
+    set_addr $I555, rxquantr553_done
+    rx540_cur."!mark_push"(0, rx540_pos, $I555)
+  rxquantr553_loop:
   # rx literal  "("
-    add $I11, rx539_pos, 1
-    gt $I11, rx539_eos, rx539_fail
-    sub $I11, rx539_pos, rx539_off
-    substr $S10, rx539_tgt, $I11, 1
-    ne $S10, "(", rx539_fail
-    add rx539_pos, 1
+    add $I11, rx540_pos, 1
+    gt $I11, rx540_eos, rx540_fail
+    sub $I11, rx540_pos, rx540_off
+    substr $S10, rx540_tgt, $I11, 1
+    ne $S10, "(", rx540_fail
+    add rx540_pos, 1
   # rx subcapture "n"
-    set_addr $I10, rxcap_553_fail
-    rx539_cur."!mark_push"(0, rx539_pos, $I10)
+    set_addr $I10, rxcap_554_fail
+    rx540_cur."!mark_push"(0, rx540_pos, $I10)
   # rx charclass_q d r 1..-1
-    sub $I10, rx539_pos, rx539_off
-    find_not_cclass $I11, 8, rx539_tgt, $I10, rx539_eos
+    sub $I10, rx540_pos, rx540_off
+    find_not_cclass $I11, 8, rx540_tgt, $I10, rx540_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx539_fail
-    add rx539_pos, rx539_off, $I11
-    set_addr $I10, rxcap_553_fail
-    ($I12, $I11) = rx539_cur."!mark_peek"($I10)
-    rx539_cur."!cursor_pos"($I11)
-    ($P10) = rx539_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx539_pos, "")
-    rx539_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx540_fail
+    add rx540_pos, rx540_off, $I11
+    set_addr $I10, rxcap_554_fail
+    ($I12, $I11) = rx540_cur."!mark_peek"($I10)
+    rx540_cur."!cursor_pos"($I11)
+    ($P10) = rx540_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx540_pos, "")
+    rx540_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("n")
-    goto rxcap_553_done
-  rxcap_553_fail:
-    goto rx539_fail
-  rxcap_553_done:
+    goto rxcap_554_done
+  rxcap_554_fail:
+    goto rx540_fail
+  rxcap_554_done:
   # rx literal  ")"
-    add $I11, rx539_pos, 1
-    gt $I11, rx539_eos, rx539_fail
-    sub $I11, rx539_pos, rx539_off
-    substr $S10, rx539_tgt, $I11, 1
-    ne $S10, ")", rx539_fail
-    add rx539_pos, 1
-    (rx539_rep) = rx539_cur."!mark_commit"($I554)
-  rxquantr552_done:
-  alt544_end:
+    add $I11, rx540_pos, 1
+    gt $I11, rx540_eos, rx540_fail
+    sub $I11, rx540_pos, rx540_off
+    substr $S10, rx540_tgt, $I11, 1
+    ne $S10, ")", rx540_fail
+    add rx540_pos, 1
+    (rx540_rep) = rx540_cur."!mark_commit"($I555)
+  rxquantr553_done:
+  alt545_end:
 .annotate 'line', 174
   # rx pass
-    rx539_cur."!cursor_pass"(rx539_pos, "mod_internal")
-    rx539_cur."!cursor_debug"("PASS  ", "mod_internal", " at pos=", rx539_pos)
-    .return (rx539_cur)
-  rx539_fail:
+    rx540_cur."!cursor_pass"(rx540_pos, "mod_internal")
+    rx540_cur."!cursor_debug"("PASS  ", "mod_internal", " at pos=", rx540_pos)
+    .return (rx540_cur)
+  rx540_fail:
 .annotate 'line', 3
-    (rx539_rep, rx539_pos, $I10, $P10) = rx539_cur."!mark_fail"(0)
-    lt rx539_pos, -1, rx539_done
-    eq rx539_pos, -1, rx539_fail
+    (rx540_rep, rx540_pos, $I10, $P10) = rx540_cur."!mark_fail"(0)
+    lt rx540_pos, -1, rx540_done
+    eq rx540_pos, -1, rx540_fail
     jump $I10
-  rx539_done:
-    rx539_cur."!cursor_fail"()
-    rx539_cur."!cursor_debug"("FAIL  ", "mod_internal")
-    .return (rx539_cur)
+  rx540_done:
+    rx540_cur."!cursor_fail"()
+    rx540_cur."!cursor_debug"("FAIL  ", "mod_internal")
+    .return (rx540_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_internal"  :subid("148_1275599996.35368") :method
+.sub "!PREFIX__mod_internal"  :subid("148_1275811476.7961") :method
 .annotate 'line', 3
-    $P541 = self."!PREFIX__!subrule"("mod_ident", ":")
-    new $P542, "ResizablePMCArray"
-    push $P542, $P541
-    push $P542, ":"
-    .return ($P542)
+    $P542 = self."!PREFIX__!subrule"("mod_ident", ":")
+    new $P543, "ResizablePMCArray"
+    push $P543, $P542
+    push $P543, ":"
+    .return ($P543)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block546"  :anon :subid("149_1275599996.35368") :method :outer("147_1275599996.35368")
+.sub "_block547"  :anon :subid("149_1275811476.7961") :method :outer("147_1275811476.7961")
 .annotate 'line', 176
-    .local string rx548_tgt
-    .local int rx548_pos
-    .local int rx548_off
-    .local int rx548_eos
-    .local int rx548_rep
-    .local pmc rx548_cur
-    (rx548_cur, rx548_pos, rx548_tgt) = self."!cursor_start"()
-    rx548_cur."!cursor_debug"("START ", "")
-    .lex unicode:"$\x{a2}", rx548_cur
-    .local pmc match
-    .lex "$/", match
-    length rx548_eos, rx548_tgt
-    gt rx548_pos, rx548_eos, rx548_done
-    set rx548_off, 0
-    lt rx548_pos, 2, rx548_start
-    sub rx548_off, rx548_pos, 1
-    substr rx548_tgt, rx548_tgt, rx548_off
-  rx548_start:
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan549_done
-    goto rxscan549_scan
-  rxscan549_loop:
-    ($P10) = rx548_cur."from"()
-    inc $P10
-    set rx548_pos, $P10
-    ge rx548_pos, rx548_eos, rxscan549_done
-  rxscan549_scan:
-    set_addr $I10, rxscan549_loop
-    rx548_cur."!mark_push"(0, rx548_pos, $I10)
-  rxscan549_done:
-  alt550_0:
-    set_addr $I10, alt550_1
-    rx548_cur."!mark_push"(0, rx548_pos, $I10)
+    .local string rx549_tgt
+    .local int rx549_pos
+    .local int rx549_off
+    .local int rx549_eos
+    .local int rx549_rep
+    .local pmc rx549_cur
+    (rx549_cur, rx549_pos, rx549_tgt) = self."!cursor_start"()
+    rx549_cur."!cursor_debug"("START ", "")
+    .lex unicode:"$\x{a2}", rx549_cur
+    .local pmc match
+    .lex "$/", match
+    length rx549_eos, rx549_tgt
+    gt rx549_pos, rx549_eos, rx549_done
+    set rx549_off, 0
+    lt rx549_pos, 2, rx549_start
+    sub rx549_off, rx549_pos, 1
+    substr rx549_tgt, rx549_tgt, rx549_off
+  rx549_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan550_done
+    goto rxscan550_scan
+  rxscan550_loop:
+    ($P10) = rx549_cur."from"()
+    inc $P10
+    set rx549_pos, $P10
+    ge rx549_pos, rx549_eos, rxscan550_done
+  rxscan550_scan:
+    set_addr $I10, rxscan550_loop
+    rx549_cur."!mark_push"(0, rx549_pos, $I10)
+  rxscan550_done:
+  alt551_0:
+    set_addr $I10, alt551_1
+    rx549_cur."!mark_push"(0, rx549_pos, $I10)
   # rx literal  "!"
-    add $I11, rx548_pos, 1
-    gt $I11, rx548_eos, rx548_fail
-    sub $I11, rx548_pos, rx548_off
-    substr $S10, rx548_tgt, $I11, 1
-    ne $S10, "!", rx548_fail
-    add rx548_pos, 1
-    goto alt550_end
-  alt550_1:
+    add $I11, rx549_pos, 1
+    gt $I11, rx549_eos, rx549_fail
+    sub $I11, rx549_pos, rx549_off
+    substr $S10, rx549_tgt, $I11, 1
+    ne $S10, "!", rx549_fail
+    add rx549_pos, 1
+    goto alt551_end
+  alt551_1:
   # rx charclass_q d r 1..-1
-    sub $I10, rx548_pos, rx548_off
-    find_not_cclass $I11, 8, rx548_tgt, $I10, rx548_eos
+    sub $I10, rx549_pos, rx549_off
+    find_not_cclass $I11, 8, rx549_tgt, $I10, rx549_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx548_fail
-    add rx548_pos, rx548_off, $I11
-  alt550_end:
+    lt $I11, $I12, rx549_fail
+    add rx549_pos, rx549_off, $I11
+  alt551_end:
   # rx pass
-    rx548_cur."!cursor_pass"(rx548_pos, "")
-    rx548_cur."!cursor_debug"("PASS  ", "", " at pos=", rx548_pos)
-    .return (rx548_cur)
-  rx548_fail:
-    (rx548_rep, rx548_pos, $I10, $P10) = rx548_cur."!mark_fail"(0)
-    lt rx548_pos, -1, rx548_done
-    eq rx548_pos, -1, rx548_fail
+    rx549_cur."!cursor_pass"(rx549_pos, "")
+    rx549_cur."!cursor_debug"("PASS  ", "", " at pos=", rx549_pos)
+    .return (rx549_cur)
+  rx549_fail:
+    (rx549_rep, rx549_pos, $I10, $P10) = rx549_cur."!mark_fail"(0)
+    lt rx549_pos, -1, rx549_done
+    eq rx549_pos, -1, rx549_fail
     jump $I10
-  rx548_done:
-    rx548_cur."!cursor_fail"()
-    rx548_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx548_cur)
+  rx549_done:
+    rx549_cur."!cursor_fail"()
+    rx549_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx549_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident"  :subid("150_1275599996.35368") :method
+.sub "mod_ident"  :subid("150_1275811476.7961") :method
 .annotate 'line', 181
-    $P556 = self."!protoregex"("mod_ident")
-    .return ($P556)
+    $P557 = self."!protoregex"("mod_ident")
+    .return ($P557)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident"  :subid("151_1275599996.35368") :method
+.sub "!PREFIX__mod_ident"  :subid("151_1275811476.7961") :method
 .annotate 'line', 181
-    $P558 = self."!PREFIX__!protoregex"("mod_ident")
-    .return ($P558)
+    $P559 = self."!PREFIX__!protoregex"("mod_ident")
+    .return ($P559)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ignorecase>"  :subid("152_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "mod_ident:sym<ignorecase>"  :subid("152_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .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 ", "mod_ident:sym<ignorecase>")
-    .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, rxscan563_done
-    goto rxscan563_scan
-  rxscan563_loop:
-    ($P10) = rx560_cur."from"()
-    inc $P10
-    set rx560_pos, $P10
-    ge rx560_pos, rx560_eos, rxscan563_done
-  rxscan563_scan:
-    set_addr $I10, rxscan563_loop
-    rx560_cur."!mark_push"(0, rx560_pos, $I10)
-  rxscan563_done:
+    .local string rx561_tgt
+    .local int rx561_pos
+    .local int rx561_off
+    .local int rx561_eos
+    .local int rx561_rep
+    .local pmc rx561_cur
+    (rx561_cur, rx561_pos, rx561_tgt) = self."!cursor_start"()
+    rx561_cur."!cursor_debug"("START ", "mod_ident:sym<ignorecase>")
+    .lex unicode:"$\x{a2}", rx561_cur
+    .local pmc match
+    .lex "$/", match
+    length rx561_eos, rx561_tgt
+    gt rx561_pos, rx561_eos, rx561_done
+    set rx561_off, 0
+    lt rx561_pos, 2, rx561_start
+    sub rx561_off, rx561_pos, 1
+    substr rx561_tgt, rx561_tgt, rx561_off
+  rx561_start:
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan564_done
+    goto rxscan564_scan
+  rxscan564_loop:
+    ($P10) = rx561_cur."from"()
+    inc $P10
+    set rx561_pos, $P10
+    ge rx561_pos, rx561_eos, rxscan564_done
+  rxscan564_scan:
+    set_addr $I10, rxscan564_loop
+    rx561_cur."!mark_push"(0, rx561_pos, $I10)
+  rxscan564_done:
 .annotate 'line', 182
   # rx subcapture "sym"
-    set_addr $I10, rxcap_564_fail
-    rx560_cur."!mark_push"(0, rx560_pos, $I10)
+    set_addr $I10, rxcap_565_fail
+    rx561_cur."!mark_push"(0, rx561_pos, $I10)
   # rx literal  "i"
-    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, "i", rx560_fail
-    add rx560_pos, 1
-    set_addr $I10, rxcap_564_fail
-    ($I12, $I11) = rx560_cur."!mark_peek"($I10)
-    rx560_cur."!cursor_pos"($I11)
-    ($P10) = rx560_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx560_pos, "")
-    rx560_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx561_pos, 1
+    gt $I11, rx561_eos, rx561_fail
+    sub $I11, rx561_pos, rx561_off
+    substr $S10, rx561_tgt, $I11, 1
+    ne $S10, "i", rx561_fail
+    add rx561_pos, 1
+    set_addr $I10, rxcap_565_fail
+    ($I12, $I11) = rx561_cur."!mark_peek"($I10)
+    rx561_cur."!cursor_pos"($I11)
+    ($P10) = rx561_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx561_pos, "")
+    rx561_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_564_done
-  rxcap_564_fail:
-    goto rx560_fail
-  rxcap_564_done:
-  # rx rxquantr565 ** 0..1
-    set_addr $I566, rxquantr565_done
-    rx560_cur."!mark_push"(0, rx560_pos, $I566)
-  rxquantr565_loop:
+    goto rxcap_565_done
+  rxcap_565_fail:
+    goto rx561_fail
+  rxcap_565_done:
+  # rx rxquantr566 ** 0..1
+    set_addr $I567, rxquantr566_done
+    rx561_cur."!mark_push"(0, rx561_pos, $I567)
+  rxquantr566_loop:
   # rx literal  "gnorecase"
-    add $I11, rx560_pos, 9
-    gt $I11, rx560_eos, rx560_fail
-    sub $I11, rx560_pos, rx560_off
-    substr $S10, rx560_tgt, $I11, 9
-    ne $S10, "gnorecase", rx560_fail
-    add rx560_pos, 9
-    (rx560_rep) = rx560_cur."!mark_commit"($I566)
-  rxquantr565_done:
+    add $I11, rx561_pos, 9
+    gt $I11, rx561_eos, rx561_fail
+    sub $I11, rx561_pos, rx561_off
+    substr $S10, rx561_tgt, $I11, 9
+    ne $S10, "gnorecase", rx561_fail
+    add rx561_pos, 9
+    (rx561_rep) = rx561_cur."!mark_commit"($I567)
+  rxquantr566_done:
   # rx pass
-    rx560_cur."!cursor_pass"(rx560_pos, "mod_ident:sym<ignorecase>")
-    rx560_cur."!cursor_debug"("PASS  ", "mod_ident:sym<ignorecase>", " at pos=", rx560_pos)
-    .return (rx560_cur)
-  rx560_fail:
+    rx561_cur."!cursor_pass"(rx561_pos, "mod_ident:sym<ignorecase>")
+    rx561_cur."!cursor_debug"("PASS  ", "mod_ident:sym<ignorecase>", " at pos=", rx561_pos)
+    .return (rx561_cur)
+  rx561_fail:
 .annotate 'line', 3
-    (rx560_rep, rx560_pos, $I10, $P10) = rx560_cur."!mark_fail"(0)
-    lt rx560_pos, -1, rx560_done
-    eq rx560_pos, -1, rx560_fail
+    (rx561_rep, rx561_pos, $I10, $P10) = rx561_cur."!mark_fail"(0)
+    lt rx561_pos, -1, rx561_done
+    eq rx561_pos, -1, rx561_fail
     jump $I10
-  rx560_done:
-    rx560_cur."!cursor_fail"()
-    rx560_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<ignorecase>")
-    .return (rx560_cur)
+  rx561_done:
+    rx561_cur."!cursor_fail"()
+    rx561_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<ignorecase>")
+    .return (rx561_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("153_1275599996.35368") :method
+.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("153_1275811476.7961") :method
 .annotate 'line', 3
-    new $P562, "ResizablePMCArray"
-    push $P562, "i"
-    .return ($P562)
+    new $P563, "ResizablePMCArray"
+    push $P563, "i"
+    .return ($P563)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ratchet>"  :subid("154_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "mod_ident:sym<ratchet>"  :subid("154_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx568_tgt
-    .local int rx568_pos
-    .local int rx568_off
-    .local int rx568_eos
-    .local int rx568_rep
-    .local pmc rx568_cur
-    (rx568_cur, rx568_pos, rx568_tgt) = self."!cursor_start"()
-    rx568_cur."!cursor_debug"("START ", "mod_ident:sym<ratchet>")
-    .lex unicode:"$\x{a2}", rx568_cur
+    .local string rx569_tgt
+    .local int rx569_pos
+    .local int rx569_off
+    .local int rx569_eos
+    .local int rx569_rep
+    .local pmc rx569_cur
+    (rx569_cur, rx569_pos, rx569_tgt) = self."!cursor_start"()
+    rx569_cur."!cursor_debug"("START ", "mod_ident:sym<ratchet>")
+    .lex unicode:"$\x{a2}", rx569_cur
     .local pmc match
     .lex "$/", match
-    length rx568_eos, rx568_tgt
-    gt rx568_pos, rx568_eos, rx568_done
-    set rx568_off, 0
-    lt rx568_pos, 2, rx568_start
-    sub rx568_off, rx568_pos, 1
-    substr rx568_tgt, rx568_tgt, rx568_off
-  rx568_start:
+    length rx569_eos, rx569_tgt
+    gt rx569_pos, rx569_eos, rx569_done
+    set rx569_off, 0
+    lt rx569_pos, 2, rx569_start
+    sub rx569_off, rx569_pos, 1
+    substr rx569_tgt, rx569_tgt, rx569_off
+  rx569_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan571_done
-    goto rxscan571_scan
-  rxscan571_loop:
-    ($P10) = rx568_cur."from"()
+    ne $I10, -1, rxscan572_done
+    goto rxscan572_scan
+  rxscan572_loop:
+    ($P10) = rx569_cur."from"()
     inc $P10
-    set rx568_pos, $P10
-    ge rx568_pos, rx568_eos, rxscan571_done
-  rxscan571_scan:
-    set_addr $I10, rxscan571_loop
-    rx568_cur."!mark_push"(0, rx568_pos, $I10)
-  rxscan571_done:
+    set rx569_pos, $P10
+    ge rx569_pos, rx569_eos, rxscan572_done
+  rxscan572_scan:
+    set_addr $I10, rxscan572_loop
+    rx569_cur."!mark_push"(0, rx569_pos, $I10)
+  rxscan572_done:
 .annotate 'line', 183
   # rx subcapture "sym"
-    set_addr $I10, rxcap_572_fail
-    rx568_cur."!mark_push"(0, rx568_pos, $I10)
+    set_addr $I10, rxcap_573_fail
+    rx569_cur."!mark_push"(0, rx569_pos, $I10)
   # rx literal  "r"
-    add $I11, rx568_pos, 1
-    gt $I11, rx568_eos, rx568_fail
-    sub $I11, rx568_pos, rx568_off
-    substr $S10, rx568_tgt, $I11, 1
-    ne $S10, "r", rx568_fail
-    add rx568_pos, 1
-    set_addr $I10, rxcap_572_fail
-    ($I12, $I11) = rx568_cur."!mark_peek"($I10)
-    rx568_cur."!cursor_pos"($I11)
-    ($P10) = rx568_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx568_pos, "")
-    rx568_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx569_pos, 1
+    gt $I11, rx569_eos, rx569_fail
+    sub $I11, rx569_pos, rx569_off
+    substr $S10, rx569_tgt, $I11, 1
+    ne $S10, "r", rx569_fail
+    add rx569_pos, 1
+    set_addr $I10, rxcap_573_fail
+    ($I12, $I11) = rx569_cur."!mark_peek"($I10)
+    rx569_cur."!cursor_pos"($I11)
+    ($P10) = rx569_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx569_pos, "")
+    rx569_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_572_done
-  rxcap_572_fail:
-    goto rx568_fail
-  rxcap_572_done:
-  # rx rxquantr573 ** 0..1
-    set_addr $I574, rxquantr573_done
-    rx568_cur."!mark_push"(0, rx568_pos, $I574)
-  rxquantr573_loop:
+    goto rxcap_573_done
+  rxcap_573_fail:
+    goto rx569_fail
+  rxcap_573_done:
+  # rx rxquantr574 ** 0..1
+    set_addr $I575, rxquantr574_done
+    rx569_cur."!mark_push"(0, rx569_pos, $I575)
+  rxquantr574_loop:
   # rx literal  "atchet"
-    add $I11, rx568_pos, 6
-    gt $I11, rx568_eos, rx568_fail
-    sub $I11, rx568_pos, rx568_off
-    substr $S10, rx568_tgt, $I11, 6
-    ne $S10, "atchet", rx568_fail
-    add rx568_pos, 6
-    (rx568_rep) = rx568_cur."!mark_commit"($I574)
-  rxquantr573_done:
+    add $I11, rx569_pos, 6
+    gt $I11, rx569_eos, rx569_fail
+    sub $I11, rx569_pos, rx569_off
+    substr $S10, rx569_tgt, $I11, 6
+    ne $S10, "atchet", rx569_fail
+    add rx569_pos, 6
+    (rx569_rep) = rx569_cur."!mark_commit"($I575)
+  rxquantr574_done:
   # rx pass
-    rx568_cur."!cursor_pass"(rx568_pos, "mod_ident:sym<ratchet>")
-    rx568_cur."!cursor_debug"("PASS  ", "mod_ident:sym<ratchet>", " at pos=", rx568_pos)
-    .return (rx568_cur)
-  rx568_fail:
+    rx569_cur."!cursor_pass"(rx569_pos, "mod_ident:sym<ratchet>")
+    rx569_cur."!cursor_debug"("PASS  ", "mod_ident:sym<ratchet>", " at pos=", rx569_pos)
+    .return (rx569_cur)
+  rx569_fail:
 .annotate 'line', 3
-    (rx568_rep, rx568_pos, $I10, $P10) = rx568_cur."!mark_fail"(0)
-    lt rx568_pos, -1, rx568_done
-    eq rx568_pos, -1, rx568_fail
+    (rx569_rep, rx569_pos, $I10, $P10) = rx569_cur."!mark_fail"(0)
+    lt rx569_pos, -1, rx569_done
+    eq rx569_pos, -1, rx569_fail
     jump $I10
-  rx568_done:
-    rx568_cur."!cursor_fail"()
-    rx568_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<ratchet>")
-    .return (rx568_cur)
+  rx569_done:
+    rx569_cur."!cursor_fail"()
+    rx569_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<ratchet>")
+    .return (rx569_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("155_1275599996.35368") :method
+.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("155_1275811476.7961") :method
 .annotate 'line', 3
-    new $P570, "ResizablePMCArray"
-    push $P570, "r"
-    .return ($P570)
+    new $P571, "ResizablePMCArray"
+    push $P571, "r"
+    .return ($P571)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<sigspace>"  :subid("156_1275599996.35368") :method :outer("11_1275599996.35368")
+.sub "mod_ident:sym<sigspace>"  :subid("156_1275811476.7961") :method :outer("11_1275811476.7961")
 .annotate 'line', 3
-    .local string rx576_tgt
-    .local int rx576_pos
-    .local int rx576_off
-    .local int rx576_eos
-    .local int rx576_rep
-    .local pmc rx576_cur
-    (rx576_cur, rx576_pos, rx576_tgt) = self."!cursor_start"()
-    rx576_cur."!cursor_debug"("START ", "mod_ident:sym<sigspace>")
-    .lex unicode:"$\x{a2}", rx576_cur
+    .local string rx577_tgt
+    .local int rx577_pos
+    .local int rx577_off
+    .local int rx577_eos
+    .local int rx577_rep
+    .local pmc rx577_cur
+    (rx577_cur, rx577_pos, rx577_tgt) = self."!cursor_start"()
+    rx577_cur."!cursor_debug"("START ", "mod_ident:sym<sigspace>")
+    .lex unicode:"$\x{a2}", rx577_cur
     .local pmc match
     .lex "$/", match
-    length rx576_eos, rx576_tgt
-    gt rx576_pos, rx576_eos, rx576_done
-    set rx576_off, 0
-    lt rx576_pos, 2, rx576_start
-    sub rx576_off, rx576_pos, 1
-    substr rx576_tgt, rx576_tgt, rx576_off
-  rx576_start:
+    length rx577_eos, rx577_tgt
+    gt rx577_pos, rx577_eos, rx577_done
+    set rx577_off, 0
+    lt rx577_pos, 2, rx577_start
+    sub rx577_off, rx577_pos, 1
+    substr rx577_tgt, rx577_tgt, rx577_off
+  rx577_start:
     $I10 = self.'from'()
-    ne $I10, -1, rxscan579_done
-    goto rxscan579_scan
-  rxscan579_loop:
-    ($P10) = rx576_cur."from"()
+    ne $I10, -1, rxscan580_done
+    goto rxscan580_scan
+  rxscan580_loop:
+    ($P10) = rx577_cur."from"()
     inc $P10
-    set rx576_pos, $P10
-    ge rx576_pos, rx576_eos, rxscan579_done
-  rxscan579_scan:
-    set_addr $I10, rxscan579_loop
-    rx576_cur."!mark_push"(0, rx576_pos, $I10)
-  rxscan579_done:
+    set rx577_pos, $P10
+    ge rx577_pos, rx577_eos, rxscan580_done
+  rxscan580_scan:
+    set_addr $I10, rxscan580_loop
+    rx577_cur."!mark_push"(0, rx577_pos, $I10)
+  rxscan580_done:
 .annotate 'line', 184
   # rx subcapture "sym"
-    set_addr $I10, rxcap_580_fail
-    rx576_cur."!mark_push"(0, rx576_pos, $I10)
+    set_addr $I10, rxcap_581_fail
+    rx577_cur."!mark_push"(0, rx577_pos, $I10)
   # rx literal  "s"
-    add $I11, rx576_pos, 1
-    gt $I11, rx576_eos, rx576_fail
-    sub $I11, rx576_pos, rx576_off
-    substr $S10, rx576_tgt, $I11, 1
-    ne $S10, "s", rx576_fail
-    add rx576_pos, 1
-    set_addr $I10, rxcap_580_fail
-    ($I12, $I11) = rx576_cur."!mark_peek"($I10)
-    rx576_cur."!cursor_pos"($I11)
-    ($P10) = rx576_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx576_pos, "")
-    rx576_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx577_pos, 1
+    gt $I11, rx577_eos, rx577_fail
+    sub $I11, rx577_pos, rx577_off
+    substr $S10, rx577_tgt, $I11, 1
+    ne $S10, "s", rx577_fail
+    add rx577_pos, 1
+    set_addr $I10, rxcap_581_fail
+    ($I12, $I11) = rx577_cur."!mark_peek"($I10)
+    rx577_cur."!cursor_pos"($I11)
+    ($P10) = rx577_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx577_pos, "")
+    rx577_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_580_done
-  rxcap_580_fail:
-    goto rx576_fail
-  rxcap_580_done:
-  # rx rxquantr581 ** 0..1
-    set_addr $I582, rxquantr581_done
-    rx576_cur."!mark_push"(0, rx576_pos, $I582)
-  rxquantr581_loop:
+    goto rxcap_581_done
+  rxcap_581_fail:
+    goto rx577_fail
+  rxcap_581_done:
+  # rx rxquantr582 ** 0..1
+    set_addr $I583, rxquantr582_done
+    rx577_cur."!mark_push"(0, rx577_pos, $I583)
+  rxquantr582_loop:
   # rx literal  "igspace"
-    add $I11, rx576_pos, 7
-    gt $I11, rx576_eos, rx576_fail
-    sub $I11, rx576_pos, rx576_off
-    substr $S10, rx576_tgt, $I11, 7
-    ne $S10, "igspace", rx576_fail
-    add rx576_pos, 7
-    (rx576_rep) = rx576_cur."!mark_commit"($I582)
-  rxquantr581_done:
+    add $I11, rx577_pos, 7
+    gt $I11, rx577_eos, rx577_fail
+    sub $I11, rx577_pos, rx577_off
+    substr $S10, rx577_tgt, $I11, 7
+    ne $S10, "igspace", rx577_fail
+    add rx577_pos, 7
+    (rx577_rep) = rx577_cur."!mark_commit"($I583)
+  rxquantr582_done:
   # rx pass
-    rx576_cur."!cursor_pass"(rx576_pos, "mod_ident:sym<sigspace>")
-    rx576_cur."!cursor_debug"("PASS  ", "mod_ident:sym<sigspace>", " at pos=", rx576_pos)
-    .return (rx576_cur)
-  rx576_fail:
+    rx577_cur."!cursor_pass"(rx577_pos, "mod_ident:sym<sigspace>")
+    rx577_cur."!cursor_debug"("PASS  ", "mod_ident:sym<sigspace>", " at pos=", rx577_pos)
+    .return (rx577_cur)
+  rx577_fail:
 .annotate 'line', 3
-    (rx576_rep, rx576_pos, $I10, $P10) = rx576_cur."!mark_fail"(0)
-    lt rx576_pos, -1, rx576_done
-    eq rx576_pos, -1, rx576_fail
+    (rx577_rep, rx577_pos, $I10, $P10) = rx577_cur."!mark_fail"(0)
+    lt rx577_pos, -1, rx577_done
+    eq rx577_pos, -1, rx577_fail
     jump $I10
-  rx576_done:
-    rx576_cur."!cursor_fail"()
-    rx576_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<sigspace>")
-    .return (rx576_cur)
+  rx577_done:
+    rx577_cur."!cursor_fail"()
+    rx577_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<sigspace>")
+    .return (rx577_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("157_1275599996.35368") :method
+.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("157_1275811476.7961") :method
 .annotate 'line', 3
-    new $P578, "ResizablePMCArray"
-    push $P578, "s"
-    .return ($P578)
+    new $P579, "ResizablePMCArray"
+    push $P579, "s"
+    .return ($P579)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block583" :load :anon :subid("158_1275599996.35368")
+.sub "_block584" :load :anon :subid("158_1275811476.7961")
 .annotate 'line', 3
-    .const 'Sub' $P585 = "11_1275599996.35368" 
-    $P586 = $P585()
-    .return ($P586)
+    .const 'Sub' $P586 = "11_1275811476.7961" 
+    $P587 = $P586()
+    .return ($P587)
 .end
 
 
 .namespace []
-.sub "_block588" :load :anon :subid("159_1275599996.35368")
+.sub "_block589" :load :anon :subid("159_1275811476.7961")
 .annotate 'line', 1
-    .const 'Sub' $P590 = "10_1275599996.35368" 
-    $P591 = $P590()
-    .return ($P591)
+    .const 'Sub' $P591 = "10_1275811476.7961" 
+    $P592 = $P591()
+    .return ($P592)
 .end
 
 ### .include 'gen/p6regex-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1275600002.0917")
+.sub "_block11"  :anon :subid("10_1275811482.3686")
 .annotate 'line', 0
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     capture_lex $P14
@@ -7297,15 +7299,15 @@
     $P1599 = $P14()
 .annotate 'line', 1
     .return ($P1599)
-    .const 'Sub' $P1601 = "91_1275600002.0917" 
+    .const 'Sub' $P1601 = "91_1275811482.3686" 
     .return ($P1601)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post92") :outer("10_1275600002.0917")
+.sub "" :load :init :subid("post92") :outer("10_1275811482.3686")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1275600002.0917" 
+    .const 'Sub' $P12 = "10_1275811482.3686" 
     .local pmc block
     set block, $P12
     $P1604 = get_root_global ["parrot"], "P6metaclass"
@@ -7314,115 +7316,115 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block13"  :subid("11_1275600002.0917") :outer("10_1275600002.0917")
+.sub "_block13"  :subid("11_1275811482.3686") :outer("10_1275811482.3686")
 .annotate 'line', 4
-    .const 'Sub' $P1561 = "89_1275600002.0917" 
+    .const 'Sub' $P1561 = "89_1275811482.3686" 
     capture_lex $P1561
-    .const 'Sub' $P1492 = "85_1275600002.0917" 
+    .const 'Sub' $P1492 = "85_1275811482.3686" 
     capture_lex $P1492
-    .const 'Sub' $P1424 = "83_1275600002.0917" 
+    .const 'Sub' $P1424 = "83_1275811482.3686" 
     capture_lex $P1424
-    .const 'Sub' $P1351 = "80_1275600002.0917" 
+    .const 'Sub' $P1351 = "80_1275811482.3686" 
     capture_lex $P1351
-    .const 'Sub' $P1337 = "79_1275600002.0917" 
+    .const 'Sub' $P1337 = "79_1275811482.3686" 
     capture_lex $P1337
-    .const 'Sub' $P1313 = "78_1275600002.0917" 
+    .const 'Sub' $P1313 = "78_1275811482.3686" 
     capture_lex $P1313
-    .const 'Sub' $P1295 = "77_1275600002.0917" 
+    .const 'Sub' $P1295 = "77_1275811482.3686" 
     capture_lex $P1295
-    .const 'Sub' $P1281 = "76_1275600002.0917" 
+    .const 'Sub' $P1281 = "76_1275811482.3686" 
     capture_lex $P1281
-    .const 'Sub' $P1268 = "75_1275600002.0917" 
+    .const 'Sub' $P1268 = "75_1275811482.3686" 
     capture_lex $P1268
-    .const 'Sub' $P1237 = "74_1275600002.0917" 
+    .const 'Sub' $P1237 = "74_1275811482.3686" 
     capture_lex $P1237
-    .const 'Sub' $P1206 = "73_1275600002.0917" 
+    .const 'Sub' $P1206 = "73_1275811482.3686" 
     capture_lex $P1206
-    .const 'Sub' $P1190 = "72_1275600002.0917" 
+    .const 'Sub' $P1190 = "72_1275811482.3686" 
     capture_lex $P1190
-    .const 'Sub' $P1174 = "71_1275600002.0917" 
+    .const 'Sub' $P1174 = "71_1275811482.3686" 
     capture_lex $P1174
-    .const 'Sub' $P1158 = "70_1275600002.0917" 
+    .const 'Sub' $P1158 = "70_1275811482.3686" 
     capture_lex $P1158
-    .const 'Sub' $P1142 = "69_1275600002.0917" 
+    .const 'Sub' $P1142 = "69_1275811482.3686" 
     capture_lex $P1142
-    .const 'Sub' $P1126 = "68_1275600002.0917" 
+    .const 'Sub' $P1126 = "68_1275811482.3686" 
     capture_lex $P1126
-    .const 'Sub' $P1110 = "67_1275600002.0917" 
+    .const 'Sub' $P1110 = "67_1275811482.3686" 
     capture_lex $P1110
-    .const 'Sub' $P1094 = "66_1275600002.0917" 
+    .const 'Sub' $P1094 = "66_1275811482.3686" 
     capture_lex $P1094
-    .const 'Sub' $P1070 = "65_1275600002.0917" 
+    .const 'Sub' $P1070 = "65_1275811482.3686" 
     capture_lex $P1070
-    .const 'Sub' $P1055 = "64_1275600002.0917" 
+    .const 'Sub' $P1055 = "64_1275811482.3686" 
     capture_lex $P1055
-    .const 'Sub' $P999 = "63_1275600002.0917" 
+    .const 'Sub' $P999 = "63_1275811482.3686" 
     capture_lex $P999
-    .const 'Sub' $P978 = "62_1275600002.0917" 
+    .const 'Sub' $P978 = "62_1275811482.3686" 
     capture_lex $P978
-    .const 'Sub' $P956 = "61_1275600002.0917" 
+    .const 'Sub' $P956 = "61_1275811482.3686" 
     capture_lex $P956
-    .const 'Sub' $P946 = "60_1275600002.0917" 
+    .const 'Sub' $P946 = "60_1275811482.3686" 
     capture_lex $P946
-    .const 'Sub' $P936 = "59_1275600002.0917" 
+    .const 'Sub' $P936 = "59_1275811482.3686" 
     capture_lex $P936
-    .const 'Sub' $P926 = "58_1275600002.0917" 
+    .const 'Sub' $P926 = "58_1275811482.3686" 
     capture_lex $P926
-    .const 'Sub' $P914 = "57_1275600002.0917" 
+    .const 'Sub' $P914 = "57_1275811482.3686" 
     capture_lex $P914
-    .const 'Sub' $P902 = "56_1275600002.0917" 
+    .const 'Sub' $P902 = "56_1275811482.3686" 
     capture_lex $P902
-    .const 'Sub' $P890 = "55_1275600002.0917" 
+    .const 'Sub' $P890 = "55_1275811482.3686" 
     capture_lex $P890
-    .const 'Sub' $P878 = "54_1275600002.0917" 
+    .const 'Sub' $P878 = "54_1275811482.3686" 
     capture_lex $P878
-    .const 'Sub' $P866 = "53_1275600002.0917" 
+    .const 'Sub' $P866 = "53_1275811482.3686" 
     capture_lex $P866
-    .const 'Sub' $P854 = "52_1275600002.0917" 
+    .const 'Sub' $P854 = "52_1275811482.3686" 
     capture_lex $P854
-    .const 'Sub' $P842 = "51_1275600002.0917" 
+    .const 'Sub' $P842 = "51_1275811482.3686" 
     capture_lex $P842
-    .const 'Sub' $P830 = "50_1275600002.0917" 
+    .const 'Sub' $P830 = "50_1275811482.3686" 
     capture_lex $P830
-    .const 'Sub' $P807 = "49_1275600002.0917" 
+    .const 'Sub' $P807 = "49_1275811482.3686" 
     capture_lex $P807
-    .const 'Sub' $P784 = "48_1275600002.0917" 
+    .const 'Sub' $P784 = "48_1275811482.3686" 
     capture_lex $P784
-    .const 'Sub' $P766 = "47_1275600002.0917" 
+    .const 'Sub' $P766 = "47_1275811482.3686" 
     capture_lex $P766
-    .const 'Sub' $P756 = "46_1275600002.0917" 
+    .const 'Sub' $P756 = "46_1275811482.3686" 
     capture_lex $P756
-    .const 'Sub' $P738 = "45_1275600002.0917" 
+    .const 'Sub' $P738 = "45_1275811482.3686" 
     capture_lex $P738
-    .const 'Sub' $P665 = "43_1275600002.0917" 
+    .const 'Sub' $P665 = "43_1275811482.3686" 
     capture_lex $P665
-    .const 'Sub' $P648 = "42_1275600002.0917" 
+    .const 'Sub' $P648 = "42_1275811482.3686" 
     capture_lex $P648
-    .const 'Sub' $P633 = "41_1275600002.0917" 
+    .const 'Sub' $P633 = "41_1275811482.3686" 
     capture_lex $P633
-    .const 'Sub' $P618 = "40_1275600002.0917" 
+    .const 'Sub' $P618 = "40_1275811482.3686" 
     capture_lex $P618
-    .const 'Sub' $P592 = "39_1275600002.0917" 
+    .const 'Sub' $P592 = "39_1275811482.3686" 
     capture_lex $P592
-    .const 'Sub' $P541 = "37_1275600002.0917" 
+    .const 'Sub' $P541 = "37_1275811482.3686" 
     capture_lex $P541
-    .const 'Sub' $P473 = "35_1275600002.0917" 
+    .const 'Sub' $P473 = "35_1275811482.3686" 
     capture_lex $P473
-    .const 'Sub' $P418 = "32_1275600002.0917" 
+    .const 'Sub' $P418 = "32_1275811482.3686" 
     capture_lex $P418
-    .const 'Sub' $P403 = "31_1275600002.0917" 
+    .const 'Sub' $P403 = "31_1275811482.3686" 
     capture_lex $P403
-    .const 'Sub' $P377 = "29_1275600002.0917" 
+    .const 'Sub' $P377 = "29_1275811482.3686" 
     capture_lex $P377
-    .const 'Sub' $P360 = "28_1275600002.0917" 
+    .const 'Sub' $P360 = "28_1275811482.3686" 
     capture_lex $P360
-    .const 'Sub' $P338 = "27_1275600002.0917" 
+    .const 'Sub' $P338 = "27_1275811482.3686" 
     capture_lex $P338
-    .const 'Sub' $P305 = "26_1275600002.0917" 
+    .const 'Sub' $P305 = "26_1275811482.3686" 
     capture_lex $P305
-    .const 'Sub' $P50 = "13_1275600002.0917" 
+    .const 'Sub' $P50 = "13_1275811482.3686" 
     capture_lex $P50
-    .const 'Sub' $P16 = "12_1275600002.0917" 
+    .const 'Sub' $P16 = "12_1275811482.3686" 
     capture_lex $P16
     get_global $P15, "@MODIFIERS"
     unless_null $P15, vivify_94
@@ -7430,19 +7432,19 @@
     set_global "@MODIFIERS", $P15
   vivify_94:
 .annotate 'line', 494
-    .const 'Sub' $P16 = "12_1275600002.0917" 
+    .const 'Sub' $P16 = "12_1275811482.3686" 
     newclosure $P49, $P16
     .lex "buildsub", $P49
 .annotate 'line', 511
-    .const 'Sub' $P50 = "13_1275600002.0917" 
+    .const 'Sub' $P50 = "13_1275811482.3686" 
     newclosure $P304, $P50
     .lex "capnames", $P304
 .annotate 'line', 577
-    .const 'Sub' $P305 = "26_1275600002.0917" 
+    .const 'Sub' $P305 = "26_1275811482.3686" 
     newclosure $P337, $P305
     .lex "backmod", $P337
 .annotate 'line', 584
-    .const 'Sub' $P338 = "27_1275600002.0917" 
+    .const 'Sub' $P338 = "27_1275811482.3686" 
     newclosure $P358, $P338
     .lex "subrule_alias", $P358
 .annotate 'line', 4
@@ -7460,13 +7462,13 @@
     find_lex $P1593, "subrule_alias"
 .annotate 'line', 4
     .return ($P1593)
-    .const 'Sub' $P1595 = "90_1275600002.0917" 
+    .const 'Sub' $P1595 = "90_1275811482.3686" 
     .return ($P1595)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "" :load :init :subid("post93") :outer("11_1275600002.0917")
+.sub "" :load :init :subid("post93") :outer("11_1275811482.3686")
 .annotate 'line', 4
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     .local pmc block
@@ -7482,14 +7484,15 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "buildsub"  :subid("12_1275600002.0917") :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "buildsub"  :subid("12_1275811482.3686") :outer("11_1275811482.3686")
     .param pmc param_19
     .param pmc param_20 :optional
     .param int has_param_20 :opt_flag
 .annotate 'line', 494
     new $P18, 'ExceptionHandler'
     set_addr $P18, control_17
-    $P18."handle_types"(57)
+    $P18."handle_types"(.CONTROL_RETURN)
     push_eh $P18
     .lex "$rpast", param_19
     if has_param_20, optparam_95
@@ -7559,23 +7562,24 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "capnames"  :subid("13_1275600002.0917") :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "capnames"  :subid("13_1275811482.3686") :outer("11_1275811482.3686")
     .param pmc param_53
     .param pmc param_54
 .annotate 'line', 511
-    .const 'Sub' $P279 = "24_1275600002.0917" 
+    .const 'Sub' $P279 = "24_1275811482.3686" 
     capture_lex $P279
-    .const 'Sub' $P216 = "21_1275600002.0917" 
+    .const 'Sub' $P216 = "21_1275811482.3686" 
     capture_lex $P216
-    .const 'Sub' $P174 = "19_1275600002.0917" 
+    .const 'Sub' $P174 = "19_1275811482.3686" 
     capture_lex $P174
-    .const 'Sub' $P132 = "17_1275600002.0917" 
+    .const 'Sub' $P132 = "17_1275811482.3686" 
     capture_lex $P132
-    .const 'Sub' $P65 = "14_1275600002.0917" 
+    .const 'Sub' $P65 = "14_1275811482.3686" 
     capture_lex $P65
     new $P52, 'ExceptionHandler'
     set_addr $P52, control_51
-    $P52."handle_types"(57)
+    $P52."handle_types"(.CONTROL_RETURN)
     push_eh $P52
     .lex "$ast", param_53
     .lex "$count", param_54
@@ -7627,21 +7631,21 @@
     set $S276, $P275
     iseq $I277, $S276, "quant"
     unless $I277, if_274_end
-    .const 'Sub' $P279 = "24_1275600002.0917" 
+    .const 'Sub' $P279 = "24_1275811482.3686" 
     capture_lex $P279
     $P279()
   if_274_end:
     goto if_211_end
   if_211:
 .annotate 'line', 549
-    .const 'Sub' $P216 = "21_1275600002.0917" 
+    .const 'Sub' $P216 = "21_1275811482.3686" 
     capture_lex $P216
     $P216()
   if_211_end:
     goto if_164_end
   if_164:
 .annotate 'line', 536
-    .const 'Sub' $P174 = "19_1275600002.0917" 
+    .const 'Sub' $P174 = "19_1275811482.3686" 
     capture_lex $P174
     $P174()
   if_164_end:
@@ -7655,13 +7659,13 @@
     iter $P126, $P128
     new $P162, 'ExceptionHandler'
     set_addr $P162, loop161_handler
-    $P162."handle_types"(64, 66, 65)
+    $P162."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P162
   loop161_test:
     unless $P126, loop161_done
     shift $P130, $P126
   loop161_redo:
-    .const 'Sub' $P132 = "17_1275600002.0917" 
+    .const 'Sub' $P132 = "17_1275811482.3686" 
     capture_lex $P132
     $P132($P130)
   loop161_next:
@@ -7670,8 +7674,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P163, exception, 'type'
-    eq $P163, 64, loop161_next
-    eq $P163, 66, loop161_redo
+    eq $P163, .CONTROL_LOOP_NEXT, loop161_next
+    eq $P163, .CONTROL_LOOP_REDO, loop161_redo
   loop161_done:
     pop_eh 
   for_undef_117:
@@ -7680,7 +7684,7 @@
     goto if_60_end
   if_60:
 .annotate 'line', 514
-    .const 'Sub' $P65 = "14_1275600002.0917" 
+    .const 'Sub' $P65 = "14_1275811482.3686" 
     capture_lex $P65
     $P65()
   if_60_end:
@@ -7704,9 +7708,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block278"  :anon :subid("24_1275600002.0917") :outer("13_1275600002.0917")
+.include "except_types.pasm"
+.sub "_block278"  :anon :subid("24_1275811482.3686") :outer("13_1275811482.3686")
 .annotate 'line', 566
-    .const 'Sub' $P290 = "25_1275600002.0917" 
+    .const 'Sub' $P290 = "25_1275811482.3686" 
     capture_lex $P290
 .annotate 'line', 567
     $P280 = root_new ['parrot';'Hash']
@@ -7729,13 +7734,13 @@
     iter $P285, $P286
     new $P296, 'ExceptionHandler'
     set_addr $P296, loop295_handler
-    $P296."handle_types"(64, 66, 65)
+    $P296."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P296
   loop295_test:
     unless $P285, loop295_done
     shift $P288, $P285
   loop295_redo:
-    .const 'Sub' $P290 = "25_1275600002.0917" 
+    .const 'Sub' $P290 = "25_1275811482.3686" 
     capture_lex $P290
     $P290($P288)
   loop295_next:
@@ -7744,8 +7749,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P297, exception, 'type'
-    eq $P297, 64, loop295_next
-    eq $P297, 66, loop295_redo
+    eq $P297, .CONTROL_LOOP_NEXT, loop295_next
+    eq $P297, .CONTROL_LOOP_REDO, loop295_redo
   loop295_done:
     pop_eh 
   for_undef_99:
@@ -7765,7 +7770,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block289"  :anon :subid("25_1275600002.0917") :outer("24_1275600002.0917")
+.sub "_block289"  :anon :subid("25_1275811482.3686") :outer("24_1275811482.3686")
     .param pmc param_291
 .annotate 'line', 568
     .lex "$_", param_291
@@ -7785,11 +7790,12 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block215"  :anon :subid("21_1275600002.0917") :outer("13_1275600002.0917")
+.include "except_types.pasm"
+.sub "_block215"  :anon :subid("21_1275811482.3686") :outer("13_1275811482.3686")
 .annotate 'line', 549
-    .const 'Sub' $P256 = "23_1275600002.0917" 
+    .const 'Sub' $P256 = "23_1275811482.3686" 
     capture_lex $P256
-    .const 'Sub' $P228 = "22_1275600002.0917" 
+    .const 'Sub' $P228 = "22_1275811482.3686" 
     capture_lex $P228
 .annotate 'line', 550
     new $P217, "Undef"
@@ -7818,13 +7824,13 @@
     iter $P223, $P224
     new $P245, 'ExceptionHandler'
     set_addr $P245, loop244_handler
-    $P245."handle_types"(64, 66, 65)
+    $P245."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P245
   loop244_test:
     unless $P223, loop244_done
     shift $P226, $P223
   loop244_redo:
-    .const 'Sub' $P228 = "22_1275600002.0917" 
+    .const 'Sub' $P228 = "22_1275811482.3686" 
     capture_lex $P228
     $P228($P226)
   loop244_next:
@@ -7833,8 +7839,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P246, exception, 'type'
-    eq $P246, 64, loop244_next
-    eq $P246, 66, loop244_redo
+    eq $P246, .CONTROL_LOOP_NEXT, loop244_next
+    eq $P246, .CONTROL_LOOP_REDO, loop244_redo
   loop244_done:
     pop_eh 
   for_undef_103:
@@ -7857,13 +7863,13 @@
     iter $P251, $P252
     new $P270, 'ExceptionHandler'
     set_addr $P270, loop269_handler
-    $P270."handle_types"(64, 66, 65)
+    $P270."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P270
   loop269_test:
     unless $P251, loop269_done
     shift $P254, $P251
   loop269_redo:
-    .const 'Sub' $P256 = "23_1275600002.0917" 
+    .const 'Sub' $P256 = "23_1275811482.3686" 
     capture_lex $P256
     $P256($P254)
   loop269_next:
@@ -7872,8 +7878,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P271, exception, 'type'
-    eq $P271, 64, loop269_next
-    eq $P271, 66, loop269_redo
+    eq $P271, .CONTROL_LOOP_NEXT, loop269_next
+    eq $P271, .CONTROL_LOOP_REDO, loop269_redo
   loop269_done:
     pop_eh 
   for_undef_107:
@@ -7893,7 +7899,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block227"  :anon :subid("22_1275600002.0917") :outer("21_1275600002.0917")
+.sub "_block227"  :anon :subid("22_1275811482.3686") :outer("21_1275811482.3686")
     .param pmc param_229
 .annotate 'line', 556
     .lex "$_", param_229
@@ -7933,7 +7939,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block255"  :anon :subid("23_1275600002.0917") :outer("21_1275600002.0917")
+.sub "_block255"  :anon :subid("23_1275811482.3686") :outer("21_1275811482.3686")
     .param pmc param_257
 .annotate 'line', 561
     .lex "$_", param_257
@@ -7973,9 +7979,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block173"  :anon :subid("19_1275600002.0917") :outer("13_1275600002.0917")
+.include "except_types.pasm"
+.sub "_block173"  :anon :subid("19_1275811482.3686") :outer("13_1275811482.3686")
 .annotate 'line', 536
-    .const 'Sub' $P192 = "20_1275600002.0917" 
+    .const 'Sub' $P192 = "20_1275811482.3686" 
     capture_lex $P192
 .annotate 'line', 537
     new $P175, "Undef"
@@ -8012,13 +8019,13 @@
     iter $P187, $P188
     new $P209, 'ExceptionHandler'
     set_addr $P209, loop208_handler
-    $P209."handle_types"(64, 66, 65)
+    $P209."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P209
   loop208_test:
     unless $P187, loop208_done
     shift $P190, $P187
   loop208_redo:
-    .const 'Sub' $P192 = "20_1275600002.0917" 
+    .const 'Sub' $P192 = "20_1275811482.3686" 
     capture_lex $P192
     $P192($P190)
   loop208_next:
@@ -8027,8 +8034,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P210, exception, 'type'
-    eq $P210, 64, loop208_next
-    eq $P210, 66, loop208_redo
+    eq $P210, .CONTROL_LOOP_NEXT, loop208_next
+    eq $P210, .CONTROL_LOOP_REDO, loop208_redo
   loop208_done:
     pop_eh 
   for_undef_115:
@@ -8038,7 +8045,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block191"  :anon :subid("20_1275600002.0917") :outer("19_1275600002.0917")
+.sub "_block191"  :anon :subid("20_1275811482.3686") :outer("19_1275811482.3686")
     .param pmc param_193
 .annotate 'line', 544
     .lex "$_", param_193
@@ -8078,10 +8085,11 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block131"  :anon :subid("17_1275600002.0917") :outer("13_1275600002.0917")
+.include "except_types.pasm"
+.sub "_block131"  :anon :subid("17_1275811482.3686") :outer("13_1275811482.3686")
     .param pmc param_134
 .annotate 'line', 528
-    .const 'Sub' $P143 = "18_1275600002.0917" 
+    .const 'Sub' $P143 = "18_1275811482.3686" 
     capture_lex $P143
 .annotate 'line', 529
     $P133 = root_new ['parrot';'Hash']
@@ -8098,13 +8106,13 @@
     iter $P138, $P139
     new $P157, 'ExceptionHandler'
     set_addr $P157, loop156_handler
-    $P157."handle_types"(64, 66, 65)
+    $P157."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P157
   loop156_test:
     unless $P138, loop156_done
     shift $P141, $P138
   loop156_redo:
-    .const 'Sub' $P143 = "18_1275600002.0917" 
+    .const 'Sub' $P143 = "18_1275811482.3686" 
     capture_lex $P143
     $P143($P141)
   loop156_next:
@@ -8113,8 +8121,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P158, exception, 'type'
-    eq $P158, 64, loop156_next
-    eq $P158, 66, loop156_redo
+    eq $P158, .CONTROL_LOOP_NEXT, loop156_next
+    eq $P158, .CONTROL_LOOP_REDO, loop156_redo
   loop156_done:
     pop_eh 
   for_undef_118:
@@ -8134,7 +8142,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block142"  :anon :subid("18_1275600002.0917") :outer("17_1275600002.0917")
+.sub "_block142"  :anon :subid("18_1275811482.3686") :outer("17_1275811482.3686")
     .param pmc param_144
 .annotate 'line', 530
     .lex "$_", param_144
@@ -8174,9 +8182,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block64"  :anon :subid("14_1275600002.0917") :outer("13_1275600002.0917")
+.include "except_types.pasm"
+.sub "_block64"  :anon :subid("14_1275811482.3686") :outer("13_1275811482.3686")
 .annotate 'line', 514
-    .const 'Sub' $P74 = "15_1275600002.0917" 
+    .const 'Sub' $P74 = "15_1275811482.3686" 
     capture_lex $P74
 .annotate 'line', 515
     new $P66, "Undef"
@@ -8191,13 +8200,13 @@
     iter $P68, $P70
     new $P119, 'ExceptionHandler'
     set_addr $P119, loop118_handler
-    $P119."handle_types"(64, 66, 65)
+    $P119."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P119
   loop118_test:
     unless $P68, loop118_done
     shift $P72, $P68
   loop118_redo:
-    .const 'Sub' $P74 = "15_1275600002.0917" 
+    .const 'Sub' $P74 = "15_1275811482.3686" 
     capture_lex $P74
     $P74($P72)
   loop118_next:
@@ -8206,8 +8215,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P120, exception, 'type'
-    eq $P120, 64, loop118_next
-    eq $P120, 66, loop118_redo
+    eq $P120, .CONTROL_LOOP_NEXT, loop118_next
+    eq $P120, .CONTROL_LOOP_REDO, loop118_redo
   loop118_done:
     pop_eh 
   for_undef_126:
@@ -8220,10 +8229,11 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block73"  :anon :subid("15_1275600002.0917") :outer("14_1275600002.0917")
+.include "except_types.pasm"
+.sub "_block73"  :anon :subid("15_1275811482.3686") :outer("14_1275811482.3686")
     .param pmc param_76
 .annotate 'line', 516
-    .const 'Sub' $P85 = "16_1275600002.0917" 
+    .const 'Sub' $P85 = "16_1275811482.3686" 
     capture_lex $P85
 .annotate 'line', 517
     $P75 = root_new ['parrot';'Hash']
@@ -8240,13 +8250,13 @@
     iter $P80, $P81
     new $P106, 'ExceptionHandler'
     set_addr $P106, loop105_handler
-    $P106."handle_types"(64, 66, 65)
+    $P106."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P106
   loop105_test:
     unless $P80, loop105_done
     shift $P83, $P80
   loop105_redo:
-    .const 'Sub' $P85 = "16_1275600002.0917" 
+    .const 'Sub' $P85 = "16_1275811482.3686" 
     capture_lex $P85
     $P85($P83)
   loop105_next:
@@ -8255,8 +8265,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P107, exception, 'type'
-    eq $P107, 64, loop105_next
-    eq $P107, 66, loop105_redo
+    eq $P107, .CONTROL_LOOP_NEXT, loop105_next
+    eq $P107, .CONTROL_LOOP_REDO, loop105_redo
   loop105_done:
     pop_eh 
   for_undef_127:
@@ -8295,7 +8305,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block84"  :anon :subid("16_1275600002.0917") :outer("15_1275600002.0917")
+.sub "_block84"  :anon :subid("16_1275811482.3686") :outer("15_1275811482.3686")
     .param pmc param_86
 .annotate 'line', 518
     .lex "$_", param_86
@@ -8354,13 +8364,14 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backmod"  :subid("26_1275600002.0917") :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "backmod"  :subid("26_1275811482.3686") :outer("11_1275811482.3686")
     .param pmc param_308
     .param pmc param_309
 .annotate 'line', 577
     new $P307, 'ExceptionHandler'
     set_addr $P307, control_306
-    $P307."handle_types"(57)
+    $P307."handle_types"(.CONTROL_RETURN)
     push_eh $P307
     .lex "$ast", param_308
     .lex "$backmod", param_309
@@ -8428,13 +8439,14 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "subrule_alias"  :subid("27_1275600002.0917") :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "subrule_alias"  :subid("27_1275811482.3686") :outer("11_1275811482.3686")
     .param pmc param_341
     .param pmc param_342
 .annotate 'line', 584
     new $P340, 'ExceptionHandler'
     set_addr $P340, control_339
-    $P340."handle_types"(57)
+    $P340."handle_types"(.CONTROL_RETURN)
     push_eh $P340
     .lex "$past", param_341
     .lex "$name", param_342
@@ -8472,12 +8484,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "arg"  :subid("28_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "arg"  :subid("28_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_363
 .annotate 'line', 14
     new $P362, 'ExceptionHandler'
     set_addr $P362, control_361
-    $P362."handle_types"(57)
+    $P362."handle_types"(.CONTROL_RETURN)
     push_eh $P362
     .lex "self", self
     .lex "$/", param_363
@@ -8528,14 +8541,15 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "arglist"  :subid("29_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "arglist"  :subid("29_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_380
 .annotate 'line', 18
-    .const 'Sub' $P390 = "30_1275600002.0917" 
+    .const 'Sub' $P390 = "30_1275811482.3686" 
     capture_lex $P390
     new $P379, 'ExceptionHandler'
     set_addr $P379, control_378
-    $P379."handle_types"(57)
+    $P379."handle_types"(.CONTROL_RETURN)
     push_eh $P379
     .lex "self", self
     .lex "$/", param_380
@@ -8559,13 +8573,13 @@
     iter $P384, $P386
     new $P397, 'ExceptionHandler'
     set_addr $P397, loop396_handler
-    $P397."handle_types"(64, 66, 65)
+    $P397."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P397
   loop396_test:
     unless $P384, loop396_done
     shift $P388, $P384
   loop396_redo:
-    .const 'Sub' $P390 = "30_1275600002.0917" 
+    .const 'Sub' $P390 = "30_1275811482.3686" 
     capture_lex $P390
     $P390($P388)
   loop396_next:
@@ -8574,8 +8588,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P398, exception, 'type'
-    eq $P398, 64, loop396_next
-    eq $P398, 66, loop396_redo
+    eq $P398, .CONTROL_LOOP_NEXT, loop396_next
+    eq $P398, .CONTROL_LOOP_REDO, loop396_redo
   loop396_done:
     pop_eh 
   for_undef_146:
@@ -8594,7 +8608,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block389"  :anon :subid("30_1275600002.0917") :outer("29_1275600002.0917")
+.sub "_block389"  :anon :subid("30_1275811482.3686") :outer("29_1275811482.3686")
     .param pmc param_391
 .annotate 'line', 20
     .lex "$_", param_391
@@ -8607,12 +8621,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "TOP"  :subid("31_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "TOP"  :subid("31_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_406
 .annotate 'line', 24
     new $P405, 'ExceptionHandler'
     set_addr $P405, control_404
-    $P405."handle_types"(57)
+    $P405."handle_types"(.CONTROL_RETURN)
     push_eh $P405
     .lex "self", self
     .lex "$/", param_406
@@ -8649,18 +8664,19 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "nibbler"  :subid("32_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "nibbler"  :subid("32_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_421
     .param pmc param_422 :optional
     .param int has_param_422 :opt_flag
 .annotate 'line', 30
-    .const 'Sub' $P456 = "34_1275600002.0917" 
+    .const 'Sub' $P456 = "34_1275811482.3686" 
     capture_lex $P456
-    .const 'Sub' $P430 = "33_1275600002.0917" 
+    .const 'Sub' $P430 = "33_1275811482.3686" 
     capture_lex $P430
     new $P420, 'ExceptionHandler'
     set_addr $P420, control_419
-    $P420."handle_types"(57)
+    $P420."handle_types"(.CONTROL_RETURN)
     push_eh $P420
     .lex "self", self
     .lex "$/", param_421
@@ -8677,7 +8693,7 @@
     set $S427, $P426
     iseq $I428, $S427, "open"
     unless $I428, if_425_end
-    .const 'Sub' $P430 = "33_1275600002.0917" 
+    .const 'Sub' $P430 = "33_1275811482.3686" 
     capture_lex $P430
     $P430()
   if_425_end:
@@ -8734,13 +8750,13 @@
     iter $P450, $P452
     new $P463, 'ExceptionHandler'
     set_addr $P463, loop462_handler
-    $P463."handle_types"(64, 66, 65)
+    $P463."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P463
   loop462_test:
     unless $P450, loop462_done
     shift $P454, $P450
   loop462_redo:
-    .const 'Sub' $P456 = "34_1275600002.0917" 
+    .const 'Sub' $P456 = "34_1275811482.3686" 
     capture_lex $P456
     $P456($P454)
   loop462_next:
@@ -8749,8 +8765,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P464, exception, 'type'
-    eq $P464, 64, loop462_next
-    eq $P464, 66, loop462_redo
+    eq $P464, .CONTROL_LOOP_NEXT, loop462_next
+    eq $P464, .CONTROL_LOOP_REDO, loop462_redo
   loop462_done:
     pop_eh 
   for_undef_159:
@@ -8770,7 +8786,8 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block429"  :anon :subid("33_1275600002.0917") :outer("32_1275600002.0917")
+.include "except_types.pasm"
+.sub "_block429"  :anon :subid("33_1275811482.3686") :outer("32_1275811482.3686")
 .annotate 'line', 32
     $P431 = root_new ['parrot';'Hash']
     .lex "%old", $P431
@@ -8799,7 +8816,7 @@
     $P436."unshift"($P437)
 .annotate 'line', 38
     new $P438, "Exception"
-    set $P438['type'], 57
+    set $P438['type'], .CONTROL_RETURN
     new $P439, "Integer"
     assign $P439, 1
     setattribute $P438, 'payload', $P439
@@ -8810,7 +8827,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block455"  :anon :subid("34_1275600002.0917") :outer("32_1275600002.0917")
+.sub "_block455"  :anon :subid("34_1275811482.3686") :outer("32_1275811482.3686")
     .param pmc param_457
 .annotate 'line', 45
     .lex "$_", param_457
@@ -8825,14 +8842,15 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "termish"  :subid("35_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "termish"  :subid("35_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_476
 .annotate 'line', 55
-    .const 'Sub' $P489 = "36_1275600002.0917" 
+    .const 'Sub' $P489 = "36_1275811482.3686" 
     capture_lex $P489
     new $P475, 'ExceptionHandler'
     set_addr $P475, control_474
-    $P475."handle_types"(57)
+    $P475."handle_types"(.CONTROL_RETURN)
     push_eh $P475
     .lex "self", self
     .lex "$/", param_476
@@ -8865,13 +8883,13 @@
     iter $P483, $P485
     new $P535, 'ExceptionHandler'
     set_addr $P535, loop534_handler
-    $P535."handle_types"(64, 66, 65)
+    $P535."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P535
   loop534_test:
     unless $P483, loop534_done
     shift $P487, $P483
   loop534_redo:
-    .const 'Sub' $P489 = "36_1275600002.0917" 
+    .const 'Sub' $P489 = "36_1275811482.3686" 
     capture_lex $P489
     $P489($P487)
   loop534_next:
@@ -8880,8 +8898,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P536, exception, 'type'
-    eq $P536, 64, loop534_next
-    eq $P536, 66, loop534_redo
+    eq $P536, .CONTROL_LOOP_NEXT, loop534_next
+    eq $P536, .CONTROL_LOOP_REDO, loop534_redo
   loop534_done:
     pop_eh 
   for_undef_162:
@@ -8900,7 +8918,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block488"  :anon :subid("36_1275600002.0917") :outer("35_1275600002.0917")
+.sub "_block488"  :anon :subid("36_1275811482.3686") :outer("35_1275811482.3686")
     .param pmc param_491
 .annotate 'line', 59
     new $P490, "Undef"
@@ -9027,14 +9045,15 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantified_atom"  :subid("37_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "quantified_atom"  :subid("37_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_544
 .annotate 'line', 76
-    .const 'Sub' $P553 = "38_1275600002.0917" 
+    .const 'Sub' $P553 = "38_1275811482.3686" 
     capture_lex $P553
     new $P543, 'ExceptionHandler'
     set_addr $P543, control_542
-    $P543."handle_types"(57)
+    $P543."handle_types"(.CONTROL_RETURN)
     push_eh $P543
     .lex "self", self
     .lex "$/", param_544
@@ -9093,7 +9112,7 @@
     goto if_549_end
   if_549:
 .annotate 'line', 78
-    .const 'Sub' $P553 = "38_1275600002.0917" 
+    .const 'Sub' $P553 = "38_1275811482.3686" 
     capture_lex $P553
     $P553()
   if_549_end:
@@ -9147,7 +9166,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block552"  :anon :subid("38_1275600002.0917") :outer("37_1275600002.0917")
+.sub "_block552"  :anon :subid("38_1275811482.3686") :outer("37_1275811482.3686")
 .annotate 'line', 80
     new $P554, "Undef"
     .lex "$qast", $P554
@@ -9187,12 +9206,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "atom"  :subid("39_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "atom"  :subid("39_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_595
 .annotate 'line', 91
     new $P594, 'ExceptionHandler'
     set_addr $P594, control_593
-    $P594."handle_types"(57)
+    $P594."handle_types"(.CONTROL_RETURN)
     push_eh $P594
     .lex "self", self
     .lex "$/", param_595
@@ -9265,12 +9285,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<*>"  :subid("40_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "quantifier:sym<*>"  :subid("40_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_621
 .annotate 'line', 101
     new $P620, 'ExceptionHandler'
     set_addr $P620, control_619
-    $P620."handle_types"(57)
+    $P620."handle_types"(.CONTROL_RETURN)
     push_eh $P620
     .lex "self", self
     .lex "$/", param_621
@@ -9305,12 +9326,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<+>"  :subid("41_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "quantifier:sym<+>"  :subid("41_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_636
 .annotate 'line', 106
     new $P635, 'ExceptionHandler'
     set_addr $P635, control_634
-    $P635."handle_types"(57)
+    $P635."handle_types"(.CONTROL_RETURN)
     push_eh $P635
     .lex "self", self
     .lex "$/", param_636
@@ -9345,12 +9367,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<?>"  :subid("42_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "quantifier:sym<?>"  :subid("42_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_651
 .annotate 'line', 111
     new $P650, 'ExceptionHandler'
     set_addr $P650, control_649
-    $P650."handle_types"(57)
+    $P650."handle_types"(.CONTROL_RETURN)
     push_eh $P650
     .lex "self", self
     .lex "$/", param_651
@@ -9389,14 +9412,15 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<**>"  :subid("43_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "quantifier:sym<**>"  :subid("43_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_668
 .annotate 'line', 117
-    .const 'Sub' $P683 = "44_1275600002.0917" 
+    .const 'Sub' $P683 = "44_1275811482.3686" 
     capture_lex $P683
     new $P667, 'ExceptionHandler'
     set_addr $P667, control_666
-    $P667."handle_types"(57)
+    $P667."handle_types"(.CONTROL_RETURN)
     push_eh $P667
     .lex "self", self
     .lex "$/", param_668
@@ -9530,7 +9554,7 @@
     goto if_679_end
   if_679:
 .annotate 'line', 120
-    .const 'Sub' $P683 = "44_1275600002.0917" 
+    .const 'Sub' $P683 = "44_1275811482.3686" 
     capture_lex $P683
     $P683()
   if_679_end:
@@ -9558,7 +9582,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block682"  :anon :subid("44_1275600002.0917") :outer("43_1275600002.0917")
+.sub "_block682"  :anon :subid("44_1275811482.3686") :outer("43_1275811482.3686")
 .annotate 'line', 121
     new $P684, "Undef"
     .lex "$ast", $P684
@@ -9600,12 +9624,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<ws>"  :subid("45_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<ws>"  :subid("45_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_741
 .annotate 'line', 146
     new $P740, 'ExceptionHandler'
     set_addr $P740, control_739
-    $P740."handle_types"(57)
+    $P740."handle_types"(.CONTROL_RETURN)
     push_eh $P740
     .lex "self", self
     .lex "$/", param_741
@@ -9652,12 +9677,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<[ ]>"  :subid("46_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<[ ]>"  :subid("46_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_759
 .annotate 'line', 155
     new $P758, 'ExceptionHandler'
     set_addr $P758, control_757
-    $P758."handle_types"(57)
+    $P758."handle_types"(.CONTROL_RETURN)
     push_eh $P758
     .lex "self", self
     .lex "$/", param_759
@@ -9684,12 +9710,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<( )>"  :subid("47_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<( )>"  :subid("47_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_769
 .annotate 'line', 159
     new $P768, 'ExceptionHandler'
     set_addr $P768, control_767
-    $P768."handle_types"(57)
+    $P768."handle_types"(.CONTROL_RETURN)
     push_eh $P768
     .lex "self", self
     .lex "$/", param_769
@@ -9732,12 +9759,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<'>"  :subid("48_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<'>"  :subid("48_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_787
 .annotate 'line', 166
     new $P786, 'ExceptionHandler'
     set_addr $P786, control_785
-    $P786."handle_types"(57)
+    $P786."handle_types"(.CONTROL_RETURN)
     push_eh $P786
     .lex "self", self
     .lex "$/", param_787
@@ -9788,12 +9816,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<\">"  :subid("49_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<\">"  :subid("49_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_810
 .annotate 'line', 173
     new $P809, 'ExceptionHandler'
     set_addr $P809, control_808
-    $P809."handle_types"(57)
+    $P809."handle_types"(.CONTROL_RETURN)
     push_eh $P809
     .lex "self", self
     .lex "$/", param_810
@@ -9844,12 +9873,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<.>"  :subid("50_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<.>"  :subid("50_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_833
 .annotate 'line', 180
     new $P832, 'ExceptionHandler'
     set_addr $P832, control_831
-    $P832."handle_types"(57)
+    $P832."handle_types"(.CONTROL_RETURN)
     push_eh $P832
     .lex "self", self
     .lex "$/", param_833
@@ -9875,12 +9905,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^>"  :subid("51_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<^>"  :subid("51_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_845
 .annotate 'line', 185
     new $P844, 'ExceptionHandler'
     set_addr $P844, control_843
-    $P844."handle_types"(57)
+    $P844."handle_types"(.CONTROL_RETURN)
     push_eh $P844
     .lex "self", self
     .lex "$/", param_845
@@ -9906,12 +9937,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^^>"  :subid("52_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<^^>"  :subid("52_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_857
 .annotate 'line', 190
     new $P856, 'ExceptionHandler'
     set_addr $P856, control_855
-    $P856."handle_types"(57)
+    $P856."handle_types"(.CONTROL_RETURN)
     push_eh $P856
     .lex "self", self
     .lex "$/", param_857
@@ -9937,12 +9969,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$>"  :subid("53_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<$>"  :subid("53_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_869
 .annotate 'line', 195
     new $P868, 'ExceptionHandler'
     set_addr $P868, control_867
-    $P868."handle_types"(57)
+    $P868."handle_types"(.CONTROL_RETURN)
     push_eh $P868
     .lex "self", self
     .lex "$/", param_869
@@ -9968,12 +10001,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$$>"  :subid("54_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<$$>"  :subid("54_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_881
 .annotate 'line', 200
     new $P880, 'ExceptionHandler'
     set_addr $P880, control_879
-    $P880."handle_types"(57)
+    $P880."handle_types"(.CONTROL_RETURN)
     push_eh $P880
     .lex "self", self
     .lex "$/", param_881
@@ -9999,12 +10033,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<:::>"  :subid("55_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<:::>"  :subid("55_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_893
 .annotate 'line', 205
     new $P892, 'ExceptionHandler'
     set_addr $P892, control_891
-    $P892."handle_types"(57)
+    $P892."handle_types"(.CONTROL_RETURN)
     push_eh $P892
     .lex "self", self
     .lex "$/", param_893
@@ -10030,12 +10065,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<lwb>"  :subid("56_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<lwb>"  :subid("56_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_905
 .annotate 'line', 210
     new $P904, 'ExceptionHandler'
     set_addr $P904, control_903
-    $P904."handle_types"(57)
+    $P904."handle_types"(.CONTROL_RETURN)
     push_eh $P904
     .lex "self", self
     .lex "$/", param_905
@@ -10061,12 +10097,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<rwb>"  :subid("57_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<rwb>"  :subid("57_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_917
 .annotate 'line', 215
     new $P916, 'ExceptionHandler'
     set_addr $P916, control_915
-    $P916."handle_types"(57)
+    $P916."handle_types"(.CONTROL_RETURN)
     push_eh $P916
     .lex "self", self
     .lex "$/", param_917
@@ -10092,12 +10129,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<bs>"  :subid("58_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<bs>"  :subid("58_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_929
 .annotate 'line', 220
     new $P928, 'ExceptionHandler'
     set_addr $P928, control_927
-    $P928."handle_types"(57)
+    $P928."handle_types"(.CONTROL_RETURN)
     push_eh $P928
     .lex "self", self
     .lex "$/", param_929
@@ -10124,12 +10162,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<mod>"  :subid("59_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<mod>"  :subid("59_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_939
 .annotate 'line', 224
     new $P938, 'ExceptionHandler'
     set_addr $P938, control_937
-    $P938."handle_types"(57)
+    $P938."handle_types"(.CONTROL_RETURN)
     push_eh $P938
     .lex "self", self
     .lex "$/", param_939
@@ -10156,12 +10195,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<assert>"  :subid("60_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<assert>"  :subid("60_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_949
 .annotate 'line', 228
     new $P948, 'ExceptionHandler'
     set_addr $P948, control_947
-    $P948."handle_types"(57)
+    $P948."handle_types"(.CONTROL_RETURN)
     push_eh $P948
     .lex "self", self
     .lex "$/", param_949
@@ -10188,12 +10228,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<~>"  :subid("61_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<~>"  :subid("61_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_959
 .annotate 'line', 232
     new $P958, 'ExceptionHandler'
     set_addr $P958, control_957
-    $P958."handle_types"(57)
+    $P958."handle_types"(.CONTROL_RETURN)
     push_eh $P958
     .lex "self", self
     .lex "$/", param_959
@@ -10250,12 +10291,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<{*}>"  :subid("62_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<{*}>"  :subid("62_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_981
 .annotate 'line', 245
     new $P980, 'ExceptionHandler'
     set_addr $P980, control_979
-    $P980."handle_types"(57)
+    $P980."handle_types"(.CONTROL_RETURN)
     push_eh $P980
     .lex "self", self
     .lex "$/", param_981
@@ -10311,12 +10353,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<var>"  :subid("63_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<var>"  :subid("63_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1002
 .annotate 'line', 252
     new $P1001, 'ExceptionHandler'
     set_addr $P1001, control_1000
-    $P1001."handle_types"(57)
+    $P1001."handle_types"(.CONTROL_RETURN)
     push_eh $P1001
     .lex "self", self
     .lex "$/", param_1002
@@ -10471,12 +10514,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<PIR>"  :subid("64_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "metachar:sym<PIR>"  :subid("64_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1058
 .annotate 'line', 272
     new $P1057, 'ExceptionHandler'
     set_addr $P1057, control_1056
-    $P1057."handle_types"(57)
+    $P1057."handle_types"(.CONTROL_RETURN)
     push_eh $P1057
     .lex "self", self
     .lex "$/", param_1058
@@ -10510,12 +10554,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<w>"  :subid("65_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "backslash:sym<w>"  :subid("65_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1073
 .annotate 'line', 280
     new $P1072, 'ExceptionHandler'
     set_addr $P1072, control_1071
-    $P1072."handle_types"(57)
+    $P1072."handle_types"(.CONTROL_RETURN)
     push_eh $P1072
     .lex "self", self
     .lex "$/", param_1073
@@ -10576,12 +10621,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<b>"  :subid("66_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "backslash:sym<b>"  :subid("66_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1097
 .annotate 'line', 286
     new $P1096, 'ExceptionHandler'
     set_addr $P1096, control_1095
-    $P1096."handle_types"(57)
+    $P1096."handle_types"(.CONTROL_RETURN)
     push_eh $P1096
     .lex "self", self
     .lex "$/", param_1097
@@ -10619,12 +10665,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<e>"  :subid("67_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "backslash:sym<e>"  :subid("67_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1113
 .annotate 'line', 292
     new $P1112, 'ExceptionHandler'
     set_addr $P1112, control_1111
-    $P1112."handle_types"(57)
+    $P1112."handle_types"(.CONTROL_RETURN)
     push_eh $P1112
     .lex "self", self
     .lex "$/", param_1113
@@ -10662,12 +10709,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<f>"  :subid("68_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "backslash:sym<f>"  :subid("68_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1129
 .annotate 'line', 298
     new $P1128, 'ExceptionHandler'
     set_addr $P1128, control_1127
-    $P1128."handle_types"(57)
+    $P1128."handle_types"(.CONTROL_RETURN)
     push_eh $P1128
     .lex "self", self
     .lex "$/", param_1129
@@ -10705,12 +10753,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<h>"  :subid("69_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "backslash:sym<h>"  :subid("69_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1145
 .annotate 'line', 304
     new $P1144, 'ExceptionHandler'
     set_addr $P1144, control_1143
-    $P1144."handle_types"(57)
+    $P1144."handle_types"(.CONTROL_RETURN)
     push_eh $P1144
     .lex "self", self
     .lex "$/", param_1145
@@ -10748,12 +10797,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<r>"  :subid("70_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "backslash:sym<r>"  :subid("70_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1161
 .annotate 'line', 310
     new $P1160, 'ExceptionHandler'
     set_addr $P1160, control_1159
-    $P1160."handle_types"(57)
+    $P1160."handle_types"(.CONTROL_RETURN)
     push_eh $P1160
     .lex "self", self
     .lex "$/", param_1161
@@ -10791,12 +10841,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<t>"  :subid("71_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "backslash:sym<t>"  :subid("71_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1177
 .annotate 'line', 316
     new $P1176, 'ExceptionHandler'
     set_addr $P1176, control_1175
-    $P1176."handle_types"(57)
+    $P1176."handle_types"(.CONTROL_RETURN)
     push_eh $P1176
     .lex "self", self
     .lex "$/", param_1177
@@ -10834,12 +10885,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<v>"  :subid("72_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "backslash:sym<v>"  :subid("72_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1193
 .annotate 'line', 322
     new $P1192, 'ExceptionHandler'
     set_addr $P1192, control_1191
-    $P1192."handle_types"(57)
+    $P1192."handle_types"(.CONTROL_RETURN)
     push_eh $P1192
     .lex "self", self
     .lex "$/", param_1193
@@ -10877,12 +10929,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<o>"  :subid("73_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "backslash:sym<o>"  :subid("73_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1209
 .annotate 'line', 329
     new $P1208, 'ExceptionHandler'
     set_addr $P1208, control_1207
-    $P1208."handle_types"(57)
+    $P1208."handle_types"(.CONTROL_RETURN)
     push_eh $P1208
     .lex "self", self
     .lex "$/", param_1209
@@ -10960,12 +11013,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<x>"  :subid("74_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "backslash:sym<x>"  :subid("74_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1240
 .annotate 'line', 338
     new $P1239, 'ExceptionHandler'
     set_addr $P1239, control_1238
-    $P1239."handle_types"(57)
+    $P1239."handle_types"(.CONTROL_RETURN)
     push_eh $P1239
     .lex "self", self
     .lex "$/", param_1240
@@ -11043,12 +11097,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<c>"  :subid("75_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "backslash:sym<c>"  :subid("75_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1271
 .annotate 'line', 347
     new $P1270, 'ExceptionHandler'
     set_addr $P1270, control_1269
-    $P1270."handle_types"(57)
+    $P1270."handle_types"(.CONTROL_RETURN)
     push_eh $P1270
     .lex "self", self
     .lex "$/", param_1271
@@ -11078,12 +11133,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<misc>"  :subid("76_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "backslash:sym<misc>"  :subid("76_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1284
 .annotate 'line', 351
     new $P1283, 'ExceptionHandler'
     set_addr $P1283, control_1282
-    $P1283."handle_types"(57)
+    $P1283."handle_types"(.CONTROL_RETURN)
     push_eh $P1283
     .lex "self", self
     .lex "$/", param_1284
@@ -11111,12 +11167,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<?>"  :subid("77_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "assertion:sym<?>"  :subid("77_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1298
 .annotate 'line', 357
     new $P1297, 'ExceptionHandler'
     set_addr $P1297, control_1296
-    $P1297."handle_types"(57)
+    $P1297."handle_types"(.CONTROL_RETURN)
     push_eh $P1297
     .lex "self", self
     .lex "$/", param_1298
@@ -11171,12 +11228,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<!>"  :subid("78_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "assertion:sym<!>"  :subid("78_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1316
 .annotate 'line', 367
     new $P1315, 'ExceptionHandler'
     set_addr $P1315, control_1314
-    $P1315."handle_types"(57)
+    $P1315."handle_types"(.CONTROL_RETURN)
     push_eh $P1315
     .lex "self", self
     .lex "$/", param_1316
@@ -11239,12 +11297,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<method>"  :subid("79_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "assertion:sym<method>"  :subid("79_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1340
 .annotate 'line', 380
     new $P1339, 'ExceptionHandler'
     set_addr $P1339, control_1338
-    $P1339."handle_types"(57)
+    $P1339."handle_types"(.CONTROL_RETURN)
     push_eh $P1339
     .lex "self", self
     .lex "$/", param_1340
@@ -11282,16 +11341,17 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<name>"  :subid("80_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "assertion:sym<name>"  :subid("80_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1354
 .annotate 'line', 387
-    .const 'Sub' $P1412 = "82_1275600002.0917" 
+    .const 'Sub' $P1412 = "82_1275811482.3686" 
     capture_lex $P1412
-    .const 'Sub' $P1376 = "81_1275600002.0917" 
+    .const 'Sub' $P1376 = "81_1275811482.3686" 
     capture_lex $P1376
     new $P1353, 'ExceptionHandler'
     set_addr $P1353, control_1352
-    $P1353."handle_types"(57)
+    $P1353."handle_types"(.CONTROL_RETURN)
     push_eh $P1353
     .lex "self", self
     .lex "$/", param_1354
@@ -11377,13 +11437,13 @@
     iter $P1403, $P1408
     new $P1418, 'ExceptionHandler'
     set_addr $P1418, loop1417_handler
-    $P1418."handle_types"(64, 66, 65)
+    $P1418."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P1418
   loop1417_test:
     unless $P1403, loop1417_done
     shift $P1410, $P1403
   loop1417_redo:
-    .const 'Sub' $P1412 = "82_1275600002.0917" 
+    .const 'Sub' $P1412 = "82_1275811482.3686" 
     capture_lex $P1412
     $P1412($P1410)
   loop1417_next:
@@ -11392,8 +11452,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P1419, exception, 'type'
-    eq $P1419, 64, loop1417_next
-    eq $P1419, 66, loop1417_redo
+    eq $P1419, .CONTROL_LOOP_NEXT, loop1417_next
+    eq $P1419, .CONTROL_LOOP_REDO, loop1417_redo
   loop1417_done:
     pop_eh 
   for_undef_324:
@@ -11423,7 +11483,7 @@
     goto if_1371_end
   if_1371:
 .annotate 'line', 394
-    .const 'Sub' $P1376 = "81_1275600002.0917" 
+    .const 'Sub' $P1376 = "81_1275811482.3686" 
     capture_lex $P1376
     $P1376()
   if_1371_end:
@@ -11464,7 +11524,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1411"  :anon :subid("82_1275600002.0917") :outer("80_1275600002.0917")
+.sub "_block1411"  :anon :subid("82_1275811482.3686") :outer("80_1275811482.3686")
     .param pmc param_1413
 .annotate 'line', 416
     .lex "$_", param_1413
@@ -11476,7 +11536,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1375"  :anon :subid("81_1275600002.0917") :outer("80_1275600002.0917")
+.sub "_block1375"  :anon :subid("81_1275811482.3686") :outer("80_1275811482.3686")
 .annotate 'line', 395
     new $P1377, "Undef"
     .lex "$regexsym", $P1377
@@ -11507,14 +11567,15 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<[>"  :subid("83_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "assertion:sym<[>"  :subid("83_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1427
 .annotate 'line', 422
-    .const 'Sub' $P1462 = "84_1275600002.0917" 
+    .const 'Sub' $P1462 = "84_1275811482.3686" 
     capture_lex $P1462
     new $P1426, 'ExceptionHandler'
     set_addr $P1426, control_1425
-    $P1426."handle_types"(57)
+    $P1426."handle_types"(.CONTROL_RETURN)
     push_eh $P1426
     .lex "self", self
     .lex "$/", param_1427
@@ -11592,7 +11653,7 @@
 .annotate 'line', 435
     new $P1486, 'ExceptionHandler'
     set_addr $P1486, loop1485_handler
-    $P1486."handle_types"(64, 66, 65)
+    $P1486."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P1486
   loop1485_test:
     find_lex $P1456, "$i"
@@ -11602,7 +11663,7 @@
     islt $I1460, $N1457, $N1459
     unless $I1460, loop1485_done
   loop1485_redo:
-    .const 'Sub' $P1462 = "84_1275600002.0917" 
+    .const 'Sub' $P1462 = "84_1275811482.3686" 
     capture_lex $P1462
     $P1462()
   loop1485_next:
@@ -11611,8 +11672,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P1487, exception, 'type'
-    eq $P1487, 64, loop1485_next
-    eq $P1487, 66, loop1485_redo
+    eq $P1487, .CONTROL_LOOP_NEXT, loop1485_next
+    eq $P1487, .CONTROL_LOOP_REDO, loop1485_redo
   loop1485_done:
     pop_eh 
 .annotate 'line', 446
@@ -11630,7 +11691,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1461"  :anon :subid("84_1275600002.0917") :outer("83_1275600002.0917")
+.sub "_block1461"  :anon :subid("84_1275811482.3686") :outer("83_1275811482.3686")
 .annotate 'line', 436
     new $P1463, "Undef"
     .lex "$ast", $P1463
@@ -11681,16 +11742,17 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "cclass_elem"  :subid("85_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "cclass_elem"  :subid("85_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1495
 .annotate 'line', 449
-    .const 'Sub' $P1520 = "87_1275600002.0917" 
+    .const 'Sub' $P1520 = "87_1275811482.3686" 
     capture_lex $P1520
-    .const 'Sub' $P1504 = "86_1275600002.0917" 
+    .const 'Sub' $P1504 = "86_1275811482.3686" 
     capture_lex $P1504
     new $P1494, 'ExceptionHandler'
     set_addr $P1494, control_1493
-    $P1494."handle_types"(57)
+    $P1494."handle_types"(.CONTROL_RETURN)
     push_eh $P1494
     .lex "self", self
     .lex "$/", param_1495
@@ -11729,13 +11791,13 @@
     iter $P1514, $P1516
     new $P1546, 'ExceptionHandler'
     set_addr $P1546, loop1545_handler
-    $P1546."handle_types"(64, 66, 65)
+    $P1546."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
     push_eh $P1546
   loop1545_test:
     unless $P1514, loop1545_done
     shift $P1518, $P1514
   loop1545_redo:
-    .const 'Sub' $P1520 = "87_1275600002.0917" 
+    .const 'Sub' $P1520 = "87_1275811482.3686" 
     capture_lex $P1520
     $P1520($P1518)
   loop1545_next:
@@ -11744,8 +11806,8 @@
     .local pmc exception 
     .get_results (exception) 
     getattribute $P1547, exception, 'type'
-    eq $P1547, 64, loop1545_next
-    eq $P1547, 66, loop1545_redo
+    eq $P1547, .CONTROL_LOOP_NEXT, loop1545_next
+    eq $P1547, .CONTROL_LOOP_REDO, loop1545_redo
   loop1545_done:
     pop_eh 
   for_undef_341:
@@ -11759,7 +11821,7 @@
     goto if_1500_end
   if_1500:
 .annotate 'line', 452
-    .const 'Sub' $P1504 = "86_1275600002.0917" 
+    .const 'Sub' $P1504 = "86_1275811482.3686" 
     capture_lex $P1504
     $P1504()
   if_1500_end:
@@ -11791,10 +11853,10 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1519"  :anon :subid("87_1275600002.0917") :outer("85_1275600002.0917")
+.sub "_block1519"  :anon :subid("87_1275811482.3686") :outer("85_1275811482.3686")
     .param pmc param_1521
 .annotate 'line', 456
-    .const 'Sub' $P1527 = "88_1275600002.0917" 
+    .const 'Sub' $P1527 = "88_1275811482.3686" 
     capture_lex $P1527
     .lex "$_", param_1521
 .annotate 'line', 457
@@ -11823,7 +11885,7 @@
 .annotate 'line', 457
     goto if_1523_end
   if_1523:
-    .const 'Sub' $P1527 = "88_1275600002.0917" 
+    .const 'Sub' $P1527 = "88_1275811482.3686" 
     capture_lex $P1527
     $P1540 = $P1527()
     set $P1522, $P1540
@@ -11834,7 +11896,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1526"  :anon :subid("88_1275600002.0917") :outer("87_1275600002.0917")
+.sub "_block1526"  :anon :subid("88_1275811482.3686") :outer("87_1275811482.3686")
 .annotate 'line', 458
     new $P1528, "Undef"
     .lex "$a", $P1528
@@ -11898,7 +11960,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1503"  :anon :subid("86_1275600002.0917") :outer("85_1275600002.0917")
+.sub "_block1503"  :anon :subid("86_1275811482.3686") :outer("85_1275811482.3686")
 .annotate 'line', 453
     new $P1505, "Undef"
     .lex "$name", $P1505
@@ -11926,12 +11988,13 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "mod_internal"  :subid("89_1275600002.0917") :method :outer("11_1275600002.0917")
+.include "except_types.pasm"
+.sub "mod_internal"  :subid("89_1275811482.3686") :method :outer("11_1275811482.3686")
     .param pmc param_1564
 .annotate 'line', 487
     new $P1563, 'ExceptionHandler'
     set_addr $P1563, control_1562
-    $P1563."handle_types"(57)
+    $P1563."handle_types"(.CONTROL_RETURN)
     push_eh $P1563
     .lex "self", self
     .lex "$/", param_1564
@@ -12024,18 +12087,18 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1594" :load :anon :subid("90_1275600002.0917")
+.sub "_block1594" :load :anon :subid("90_1275811482.3686")
 .annotate 'line', 4
-    .const 'Sub' $P1596 = "11_1275600002.0917" 
+    .const 'Sub' $P1596 = "11_1275811482.3686" 
     $P1597 = $P1596()
     .return ($P1597)
 .end
 
 
 .namespace []
-.sub "_block1600" :load :anon :subid("91_1275600002.0917")
+.sub "_block1600" :load :anon :subid("91_1275811482.3686")
 .annotate 'line', 1
-    .const 'Sub' $P1602 = "10_1275600002.0917" 
+    .const 'Sub' $P1602 = "10_1275811482.3686" 
     $P1603 = $P1602()
     .return ($P1603)
 .end

Modified: branches/gc_massacre/ext/nqp-rx/src/stage0/Regex-s0.pir
==============================================================================
--- branches/gc_massacre/ext/nqp-rx/src/stage0/Regex-s0.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/ext/nqp-rx/src/stage0/Regex-s0.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -2294,6 +2294,22 @@
     .tailcall head.'prefix'(prefix, tail :flat)
 .end
 
+.sub 'prefix_pastnode' :method
+    .param string prefix
+    .param pmc tail
+
+    unless tail goto pastnode_none
+    .local string subtype
+    subtype = self.'subtype'()
+    if subtype != 'declarative' goto pastnode_none
+
+    .local pmc head
+    head = shift tail
+    .tailcall head.'prefix'(prefix, tail :flat)
+
+  pastnode_none:
+    .return (prefix)
+.end
 
 .sub 'prefix_subcapture' :method
     .param string prefix
@@ -2307,7 +2323,7 @@
     .param pmc tail
 
     .local pmc name, negate, subtype
-    name = self.'name'()
+    name = self[0]
     negate = self.'negate'()
     subtype = self.'subtype'()
     $I0 = does name, 'string'
@@ -2395,7 +2411,7 @@
     .lex '$*REG', reghash
 
     .local pmc regexname, regexname_esc
-    $P0 = get_global '@?BLOCK'
+    $P0 = find_dynamic_lex '@*BLOCKPAST'
     $P1 = $P0[0]
     $S0 = $P1.'name'()
     regexname = box $S0

Modified: branches/gc_massacre/include/parrot/exceptions.h
==============================================================================
--- branches/gc_massacre/include/parrot/exceptions.h	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/include/parrot/exceptions.h	Tue Jun  8 12:16:25 2010	(r47466)
@@ -90,6 +90,7 @@
     CONTROL_ERROR,
     CONTROL_TAKE,
     CONTROL_LEAVE,
+    CONTROL_EXIT,
 
     CONTROL_LOOP_NEXT,
     CONTROL_LOOP_LAST,

Modified: branches/gc_massacre/include/parrot/oplib/core_ops.h
==============================================================================
--- branches/gc_massacre/include/parrot/oplib/core_ops.h	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/include/parrot/oplib/core_ops.h	Tue Jun  8 12:16:25 2010	(r47466)
@@ -11,7 +11,8 @@
  * This file is generated automatically from 'src/ops/core.ops' (and possibly other
  * .ops files). by ops2c.nqp.
  *
- * Any changes made here will be lost!
+ * Any changes made here will be lost!  To regenerate this file after making
+ * changes to any ops, use the bootstap-ops makefile target.
  *
  */
 

Modified: branches/gc_massacre/include/parrot/oplib/ops.h
==============================================================================
--- branches/gc_massacre/include/parrot/oplib/ops.h	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/include/parrot/oplib/ops.h	Tue Jun  8 12:16:25 2010	(r47466)
@@ -11,7 +11,8 @@
  * This file is generated automatically from 'src/ops/core.ops' (and possibly other
  * .ops files). by ops2c.nqp.
  *
- * Any changes made here will be lost!
+ * Any changes made here will be lost!  To regenerate this file after making
+ * changes to any ops, use the bootstap-ops makefile target.
  *
  */
 

Modified: branches/gc_massacre/include/parrot/opsenum.h
==============================================================================
--- branches/gc_massacre/include/parrot/opsenum.h	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/include/parrot/opsenum.h	Tue Jun  8 12:16:25 2010	(r47466)
@@ -11,7 +11,8 @@
  * This file is generated automatically from 'src/ops/core.ops' (and possibly other
  * .ops files). by ops2c.nqp.
  *
- * Any changes made here will be lost!
+ * Any changes made here will be lost!  To regenerate this file after making
+ * changes to any ops, use the bootstap-ops makefile target.
  *
  */
 enum OPS_ENUM {

Modified: branches/gc_massacre/runtime/parrot/library/Archive/Tar.pir
==============================================================================
--- branches/gc_massacre/runtime/parrot/library/Archive/Tar.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/runtime/parrot/library/Archive/Tar.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -440,7 +440,8 @@
     .param pmc args :slurpy
     $S0 = join '', args
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(2)
+    .include 'stdio.pasm'
+    $P1 = $P0.'stdhandle'(.PIO_STDERR_FILENO)
     $P1.'print'($S0)
     $P1.'print'("\n")
 .end

Modified: branches/gc_massacre/runtime/parrot/library/Archive/Zip.pir
==============================================================================
--- branches/gc_massacre/runtime/parrot/library/Archive/Zip.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/runtime/parrot/library/Archive/Zip.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -46,7 +46,8 @@
     .param pmc args :slurpy
     $S0 = join '', args
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(2)
+    .include 'stdio.pasm'
+    $P1 = $P0.'stdhandle'(.PIO_STDERR_FILENO)
     $P1.'print'($S0)
     $P1.'print'("\n")
 .end

Modified: branches/gc_massacre/runtime/parrot/library/CGI/QueryHash.pir
==============================================================================
--- branches/gc_massacre/runtime/parrot/library/CGI/QueryHash.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/runtime/parrot/library/CGI/QueryHash.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -70,7 +70,8 @@
         content_length  = my_env['CONTENT_LENGTH']
         len             = content_length
         $P0             = getinterp
-        in              = $P0.'stdhandle'(0)
+        .include 'stdio.pasm'
+        in              = $P0.'stdhandle'(.PIO_STDIN_FILENO)
         query           = in.'read'(len)
         in.'close'()
         #_dumper( query, 'queryPOST:' )

Modified: branches/gc_massacre/runtime/parrot/library/Configure/genfile.pir
==============================================================================
--- branches/gc_massacre/runtime/parrot/library/Configure/genfile.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/runtime/parrot/library/Configure/genfile.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -358,7 +358,8 @@
     .param int pos
     .param string msg
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(2)
+    .include 'stdio.pasm'
+    $P1 = $P0.'stdhandle'(.PIO_STDERR_FILENO)
     $P1.'print'("in '")
     $P1.'print'(str)
     $P1.'print'("' at ")
@@ -405,7 +406,8 @@
     goto L8
   L7:
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(2)
+    .include 'stdio.pasm'
+    $P1 = $P0.'stdhandle'(.PIO_STDERR_FILENO)
     $P1.'print'("\tunknown config: ")
     $P1.'print'($S1)
     $P1.'print'("\n")

Modified: branches/gc_massacre/runtime/parrot/library/PGE/Util.pir
==============================================================================
--- branches/gc_massacre/runtime/parrot/library/PGE/Util.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/runtime/parrot/library/PGE/Util.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -133,7 +133,8 @@
     message .= "\n"
   emit_message:
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(2)
+    .include 'stdio.pasm'
+    $P1 = $P0.'stdhandle'(.PIO_STDERR_FILENO)
     $P1.'print'(message)
 
     mob.'to'(pos)

Modified: branches/gc_massacre/runtime/parrot/library/TAP/Parser.pir
==============================================================================
--- branches/gc_massacre/runtime/parrot/library/TAP/Parser.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/runtime/parrot/library/TAP/Parser.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -1086,7 +1086,8 @@
     goto L5
   L2:
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(2)
+    .include 'stdio.pasm'
+    $P1 = $P0.'stdhandle'(.PIO_STDERR_FILENO)
     $P1.'print'("Unhandled token type: ")
     $P1.'print'(type)
     $P1.'print'("\n")

Modified: branches/gc_massacre/runtime/parrot/library/Test/Builder/Output.pir
==============================================================================
--- branches/gc_massacre/runtime/parrot/library/Test/Builder/Output.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/runtime/parrot/library/Test/Builder/Output.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -57,16 +57,18 @@
 	.local pmc output
 	.local pmc diag_output
 
+        .include 'stdio.pasm'
+
 	output = args['output']
 	unless null output goto CHECK_ERROR_OUTPUT
         $P0 = getinterp
-        output = $P0.'stdhandle'(1)
+        output = $P0.'stdhandle'(.PIO_STDOUT_FILENO)
 
   CHECK_ERROR_OUTPUT:
 	diag_output = args['diag_output']
 	unless null diag_output goto SET_OUTPUT
         $P0 = getinterp
-        diag_output = $P0.'stdhandle'(1)
+        diag_output = $P0.'stdhandle'(.PIO_STDOUT_FILENO)
 
   SET_OUTPUT:
 	setattribute self, "output", output

Modified: branches/gc_massacre/src/ops/bit.ops
==============================================================================
--- branches/gc_massacre/src/ops/bit.ops	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/ops/bit.ops	Tue Jun  8 12:16:25 2010	(r47466)
@@ -32,6 +32,9 @@
 
 The variant with an appended B<s> like B<bands> work on strings.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =over 4
 
 =cut

Modified: branches/gc_massacre/src/ops/cmp.ops
==============================================================================
--- branches/gc_massacre/src/ops/cmp.ops	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/ops/cmp.ops	Tue Jun  8 12:16:25 2010	(r47466)
@@ -15,6 +15,9 @@
 Some of these operations affect control flow directly; others
 do not.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =cut
 
 ###############################################################################

Modified: branches/gc_massacre/src/ops/core.ops
==============================================================================
--- branches/gc_massacre/src/ops/core.ops	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/ops/core.ops	Tue Jun  8 12:16:25 2010	(r47466)
@@ -26,6 +26,9 @@
 Core operations are primarily flow control and interpreter
 introspection.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =cut
 
 # ' for emacs
@@ -823,7 +826,8 @@
     opcode_t        *dest;
     opcode_t * const ret       = expr NEXT();
     PMC      * const resume    = pmc_new(interp, enum_class_Continuation);
-    PMC      * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit, $1, NULL);
+    PMC      * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit,
+                                                           CONTROL_EXIT, NULL);
 
     VTABLE_set_pointer(interp, resume, ret);
 

Modified: branches/gc_massacre/src/ops/core_ops.c
==============================================================================
--- branches/gc_massacre/src/ops/core_ops.c	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/ops/core_ops.c	Tue Jun  8 12:16:25 2010	(r47466)
@@ -5,7 +5,8 @@
  * This file is generated automatically from 'src/ops/core.ops' (and possibly other
  * .ops files). by ops2c.nqp.
  *
- * Any changes made here will be lost!
+ * Any changes made here will be lost!  To regenerate this file after making
+ * changes to any ops, use the bootstap-ops makefile target.
  *
  */
 
@@ -14796,7 +14797,8 @@
     opcode_t        *dest;
     opcode_t * const ret       =cur_opcode + 2;
     PMC      * const resume    = pmc_new(interp, enum_class_Continuation);
-    PMC      * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit, IREG(1), NULL);
+    PMC      * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit, 
+                                                           CONTROL_EXIT, NULL);
 
     VTABLE_set_pointer(interp, resume, ret);
 
@@ -14813,7 +14815,8 @@
     opcode_t        *dest;
     opcode_t * const ret       =cur_opcode + 2;
     PMC      * const resume    = pmc_new(interp, enum_class_Continuation);
-    PMC      * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit, cur_opcode[1], NULL);
+    PMC      * const exception = Parrot_ex_build_exception(interp, EXCEPT_exit, 
+                                                           CONTROL_EXIT, NULL);
 
     VTABLE_set_pointer(interp, resume, ret);
 

Modified: branches/gc_massacre/src/ops/experimental.ops
==============================================================================
--- branches/gc_massacre/src/ops/experimental.ops	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/ops/experimental.ops	Tue Jun  8 12:16:25 2010	(r47466)
@@ -27,6 +27,8 @@
 If you rely on any of these opcodes, please open a
 Trac ticket at L<https://trac.parrot.org/>.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
 
 =cut
 

Modified: branches/gc_massacre/src/ops/io.ops
==============================================================================
--- branches/gc_massacre/src/ops/io.ops	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/ops/io.ops	Tue Jun  8 12:16:25 2010	(r47466)
@@ -19,6 +19,9 @@
 
 Parrot's IO API
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =cut
 
 ###############################################################################

Modified: branches/gc_massacre/src/ops/math.ops
==============================================================================
--- branches/gc_massacre/src/ops/math.ops	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/ops/math.ops	Tue Jun  8 12:16:25 2010	(r47466)
@@ -14,6 +14,9 @@
 Operations that perform basic mathematics. See F<src/dynoplibs/> for more
 advanced operations.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =head2 Arithmetic operations
 
 These operations store the results of arithmetic on other registers and

Modified: branches/gc_massacre/src/ops/object.ops
==============================================================================
--- branches/gc_massacre/src/ops/object.ops	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/ops/object.ops	Tue Jun  8 12:16:25 2010	(r47466)
@@ -14,6 +14,9 @@
 
 Parrot's library of object ops
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =over 4
 
 =cut

Modified: branches/gc_massacre/src/ops/pmc.ops
==============================================================================
--- branches/gc_massacre/src/ops/pmc.ops	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/ops/pmc.ops	Tue Jun  8 12:16:25 2010	(r47466)
@@ -15,6 +15,9 @@
 Operations that deal with PMCs, including creation and
 destruction, manipulation, and introspection.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =cut
 
 ###############################################################################

Modified: branches/gc_massacre/src/ops/set.ops
==============================================================================
--- branches/gc_massacre/src/ops/set.ops	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/ops/set.ops	Tue Jun  8 12:16:25 2010	(r47466)
@@ -11,6 +11,9 @@
 
 These operations all set registers to various values.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =over 4
 
 =cut

Modified: branches/gc_massacre/src/ops/string.ops
==============================================================================
--- branches/gc_massacre/src/ops/string.ops	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/ops/string.ops	Tue Jun  8 12:16:25 2010	(r47466)
@@ -12,6 +12,9 @@
 Operations that work on strings, whether constructing, modifying
 or examining them.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =over 4
 
 =cut

Modified: branches/gc_massacre/src/ops/sys.ops
==============================================================================
--- branches/gc_massacre/src/ops/sys.ops	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/ops/sys.ops	Tue Jun  8 12:16:25 2010	(r47466)
@@ -11,6 +11,9 @@
 
 Operations that allow the user to interact with the system.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =over 4
 
 =cut

Modified: branches/gc_massacre/src/ops/var.ops
==============================================================================
--- branches/gc_massacre/src/ops/var.ops	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/ops/var.ops	Tue Jun  8 12:16:25 2010	(r47466)
@@ -12,6 +12,9 @@
 These operations deal with both lexical and global variables,
 as well as the symbol tables that contain them.
 
+When making changes to any ops file, run C<make bootstrap-ops> to regenerate
+all generated ops files.
+
 =cut
 
 ###############################################################################

Modified: branches/gc_massacre/src/pmc/filehandle.pmc
==============================================================================
--- branches/gc_massacre/src/pmc/filehandle.pmc	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/pmc/filehandle.pmc	Tue Jun  8 12:16:25 2010	(r47466)
@@ -736,11 +736,12 @@
 
 */
 
-    METHOD seek(INTVAL whence, INTVAL offs, INTVAL offs_overflow :optional) {
-        const PIOOFF_T pio_offs = offs_overflow ?
+    METHOD seek(INTVAL whence, INTVAL offs, INTVAL offs_overflow :optional,
+                int has_overflow :opt_flag) {
+        const PIOOFF_T pio_offs = has_overflow ?
                                     Parrot_io_make_offset32(offs_overflow, offs) :
                                     offs;
-        if (Parrot_io_seek(INTERP, SELF, pio_offs, whence))
+        if (0 > Parrot_io_seek(INTERP, SELF, pio_offs, whence))
             Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_PIO_ERROR, "seek failed");
     }
 

Modified: branches/gc_massacre/src/pmc/stringbuilder.pmc
==============================================================================
--- branches/gc_massacre/src/pmc/stringbuilder.pmc	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/pmc/stringbuilder.pmc	Tue Jun  8 12:16:25 2010	(r47466)
@@ -73,32 +73,27 @@
 
         SET_ATTR_buffer(INTERP, SELF, buffer);
 
-        PObj_custom_mark_destroy_SETALL(SELF);
+        PObj_custom_destroy_SET(SELF);
     }
 
 /*
 
-=item C<void mark()>
+=item C<void destroy()>
 
-Marks the StringBuilder as live.
+Free the buffer on destruction.
 
 =cut
 
 */
 
-    VTABLE void mark() {
-    }
-
     VTABLE void destroy() {
-        STRING *buffer;
-
-        if (!PMC_data(SELF))
-            return;
-
-        GET_ATTR_buffer(INTERP, SELF, buffer);
-        if (buffer->_bufstart)
-            mem_gc_free(INTERP, buffer->_bufstart);
-        mem_gc_free(INTERP, buffer);
+        if (PMC_data(SELF)) {
+            STRING *buffer;
+            GET_ATTR_buffer(INTERP, SELF, buffer);
+            if (buffer->_bufstart)
+                mem_gc_free(INTERP, buffer->_bufstart);
+            mem_gc_free(INTERP, buffer);
+        }
     }
 
 /*

Modified: branches/gc_massacre/src/string/api.c
==============================================================================
--- branches/gc_massacre/src/string/api.c	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/src/string/api.c	Tue Jun  8 12:16:25 2010	(r47466)
@@ -2084,8 +2084,6 @@
         else if (Parrot_str_equal(interp, t, CONST_STRING(interp, "-INF"))
              ||  Parrot_str_equal(interp, t, CONST_STRING(interp, "-INFINITY")))
             return PARROT_FLOATVAL_INF_NEGATIVE;
-        else
-            return 0.0;
     }
 
 /* powl() could be used here, but it is an optional POSIX extension that

Modified: branches/gc_massacre/t/codingstd/c_function_docs.t
==============================================================================
--- branches/gc_massacre/t/codingstd/c_function_docs.t	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/t/codingstd/c_function_docs.t	Tue Jun  8 12:16:25 2010	(r47466)
@@ -91,8 +91,6 @@
 }
 
 __DATA__
-compilers/imcc/pcc.c
-compilers/imcc/reg_alloc.c
 compilers/pirc/src/pircapi.c
 config/gen/platform/ansi/dl.c
 config/gen/platform/ansi/exec.c

Modified: branches/gc_massacre/t/compilers/pct/past.t
==============================================================================
--- branches/gc_massacre/t/compilers/pct/past.t	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/t/compilers/pct/past.t	Tue Jun  8 12:16:25 2010	(r47466)
@@ -7,7 +7,7 @@
 use warnings;
 use lib qw(t . lib ../lib ../../lib ../../../lib);
 
-use Parrot::Test tests => 10;
+use Parrot::Test tests => 11;
 
 foreach my $name (qw(Node Val Var Op Block Stmts)) {
     my $module = "'PAST';'$name'";
@@ -133,6 +133,36 @@
 }
 OUT
 
+pir_output_is( <<'CODE', <<'OUT', 'PAST::Val constant nodes' );
+.sub 'main' :main
+    load_bytecode 'PCT.pbc'
+
+    .local pmc block
+    $P0 = get_hll_global ['PAST'], 'Block'
+    block = $P0.'new'('name'=>'xyz', 'subid'=>'xyz')
+
+    .local pmc node
+    $P0 = get_hll_global ['PAST'], 'Val'
+    node = $P0.'new'('value'=> 'CONTROL_NEXT', 'returns'=>'!except_types')
+    block.'push'(node)
+
+    .local pmc compiler
+    compiler = get_hll_global ['PAST'], 'Compiler'
+    $S0 = compiler.'compile'(block, 'target'=>'pir')
+    say $S0
+.end
+CODE
+
+.namespace []
+.include "except_types.pasm"
+.sub "xyz"  :subid("xyz")
+.annotate 'line', 0
+    .return (.CONTROL_NEXT)
+.end
+
+
+OUT
+
 # Local Variables:
 #   mode: cperl
 #   cperl-indent-level: 4

Modified: branches/gc_massacre/t/compilers/pct/post.t
==============================================================================
--- branches/gc_massacre/t/compilers/pct/post.t	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/t/compilers/pct/post.t	Tue Jun  8 12:16:25 2010	(r47466)
@@ -6,7 +6,7 @@
 use strict;
 use warnings;
 use lib qw(t . lib ../lib ../../lib ../../../lib);
-use Parrot::Test tests => 7;
+use Parrot::Test tests => 8;
 
 foreach my $name (qw(Op Ops Sub Label)) {
     my $module = "'POST';'$name'";
@@ -114,6 +114,35 @@
 
 OUT
 
+
+pir_output_is( <<'CODE', <<'OUT', 'Generate directives' );
+.sub _main
+    load_bytecode 'PCT.pbc'
+    load_bytecode 'dumper.pbc'
+    .local pmc node
+    node = new ['POST';'Sub']
+    node.'name'('foo')
+    node.'add_directive'('.include "cclass.pasm"')
+    node.'add_directive'('.include "exception_types.pasm"')
+
+    .local pmc compiler
+    compiler = new ['POST';'Compiler']
+    $S0 = compiler.'to_pir'(node)
+    say $S0
+    .return ()
+.end
+CODE
+
+.namespace []
+.include "cclass.pasm"
+.include "exception_types.pasm"
+.sub "foo"  :subid("post10")
+.end
+
+
+OUT
+
+
 # Local Variables:
 #   mode: cperl
 #   cperl-indent-level: 4

Modified: branches/gc_massacre/t/dynoplibs/io.t
==============================================================================
--- branches/gc_massacre/t/dynoplibs/io.t	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/t/dynoplibs/io.t	Tue Jun  8 12:16:25 2010	(r47466)
@@ -1,5 +1,5 @@
 #!./parrot
-# Copyright (C) 2008, Parrot Foundation.
+# Copyright (C) 2008-2010, Parrot Foundation.
 # $Id$
 
 =head1 NAME
@@ -16,7 +16,7 @@
 
 =cut
 
-.const int TESTS = 5
+.const int TESTS = 12
 
 .loadlib 'io_ops'
 
@@ -25,12 +25,18 @@
 
     plan(TESTS)
 
+    read_on_null()
     open_delegates_to_filehandle_pmc()
     open_null_filename()
     open_null_mode()
     open_pipe_for_reading()
     getfd_fdopen()
-    open_pipe_for_writing() # must be last (doesn't use test_more)
+    printerr_tests()
+    stat_tests()
+
+    # must come after (these don't use test_more)
+    open_pipe_for_writing()
+    read_invalid_fh()
 .end
 
 .sub open_delegates_to_filehandle_pmc
@@ -154,7 +160,7 @@
     pipe = open command, 'wp'
     unless pipe goto open_pipe_for_writing_failed
 
-    pipe.'puts'("ok 5 - open pipe for writing\n")
+    pipe.'puts'("ok 9 - open pipe for writing\n")
     close pipe
     .return ()
 
@@ -173,16 +179,97 @@
     $I0 = $P0.'get_fd'()
     fdopen $P1, $I0, 'w'
     $I0 = defined $P1
-    ok($I0, 'get_fd()/fdopen')
-    close $P1
-
-    getstdout $P0
-    $I0 = $P0.'get_fd'()
-    fdopen $P1, $I0, 'w'
-    $I0 = defined $P1
     ok($I0, 'fdopen - no close')
 .end
 
+.sub 'read_on_null'
+    .const string description = "read on null PMC throws exception"
+    push_eh eh
+    null $P1
+    $S0 = read $P1, 1
+    ok(0, description)
+    goto ret
+  eh:
+    ok(1, description)
+  ret:
+    pop_eh
+    .return ()
+.end
+
+.sub 'read_invalid_fh'
+    $P0 = new ['FileHandle']
+
+    push_eh _readline_handler
+    $S0 = readline $P0
+    print "not "
+
+_readline_handler:
+        print "ok 10\n"
+        pop_eh
+
+    push_eh _read_handler
+    $S0 = read $P0, 1
+    print "not "
+
+_read_handler:
+        print "ok 11\n"
+        pop_eh
+
+    push_eh _print_handler
+    print $P0, "kill me now\n"
+    print "not "
+
+_print_handler:
+        print "ok 12\n"
+        pop_eh
+.end
+
+.sub 'printerr_tests'
+    # temporarily capture stderr
+    $P0 = getstderr
+    $P1 = new ['StringHandle']
+    $S0 = null
+    $P1.'open'($S0, 'w')
+    setstderr $P1
+
+    $P2 = new ['String']
+    $P2 = "This is a test\n"
+    printerr 10
+    printerr "\n"
+    printerr 1.0
+    printerr "\n"
+    printerr "foo"
+    printerr "\n"
+    printerr $P2
+
+    # restore stderr
+    setstderr $P0
+
+    $S0 = $P1.'readall'()
+    is($S0, <<'OUTPUT', 'printerr opcode')
+10
+1
+foo
+This is a test
+OUTPUT
+.end
+
+.sub 'stat_tests'
+    .local pmc pio
+    .local int len
+    .const string description = 'stat failed'
+    .include "stat.pasm"
+  push_eh eh
+    len = stat 'no_such_file', .STAT_FILESIZE
+    ok(0, description)
+    goto ret
+  eh:
+    ok(1, description)
+  ret:
+    pop_eh
+    .return ()
+.end
+
 .namespace ["Testing"]
 
 .sub open :method

Modified: branches/gc_massacre/t/op/exit.t
==============================================================================
--- branches/gc_massacre/t/op/exit.t	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/t/op/exit.t	Tue Jun  8 12:16:25 2010	(r47466)
@@ -7,7 +7,7 @@
 use lib qw( . lib ../lib ../../lib );
 
 use Test::More;
-use Parrot::Test tests => 7;
+use Parrot::Test tests => 8;
 
 =head1 NAME
 
@@ -65,6 +65,20 @@
     pbc_exit_code_is($pbc, 0, 'pbc exits with 0 by default');
 }
 
+pir_exit_code_is( <<'CODE', 2, "pir exit code isn't exception type" );
+.sub main
+    $P0 = new ['ExceptionHandler']
+    set_addr $P0, catcher
+    $P0.'handle_types'(2)
+    push_eh $P0
+    exit 2
+  catcher:
+    # we shouldn't arrive here
+    pop_eh
+    exit 10
+.end
+CODE
+
 # Local Variables:
 #   mode: cperl
 #   cperl-indent-level: 4

Modified: branches/gc_massacre/t/op/string.t
==============================================================================
--- branches/gc_massacre/t/op/string.t	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/t/op/string.t	Tue Jun  8 12:16:25 2010	(r47466)
@@ -19,8 +19,6 @@
 .sub main :main
     .include 'test_more.pir'
 
-    plan(284)
-
     set_s_s_sc()
     test_clone()
     clone_null()
@@ -108,6 +106,7 @@
     index_multibyte_matching_two()
     num_to_string()
     string_to_int()
+    string_to_num()
     concat_or_substr_cow()
     constant_to_cstring()
     cow_with_chopn_leaving_original_untouched()
@@ -148,6 +147,7 @@
     # END_OF_TESTS
     join_get_string_returns_a_null_string()
 
+    done_testing()
 .end
 
 .macro exception_is ( M )
@@ -1069,6 +1069,16 @@
     is( $I0, "0", 'string to int' )
 .end
 
+.sub string_to_num
+    set $S0, "6foo"
+    set $N0, $S0
+    is( $N0, "6", '6foo to num' )
+
+    set $S0, "16foo"
+    set $N0, $S0
+    is( $N0, "16", '16foo to num' )
+.end
+
 .sub concat_or_substr_cow
     set $S0, "<JA"
     set $S1, "PH>"

Modified: branches/gc_massacre/t/op/stringu.t
==============================================================================
--- branches/gc_massacre/t/op/stringu.t	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/t/op/stringu.t	Tue Jun  8 12:16:25 2010	(r47466)
@@ -24,9 +24,10 @@
 =cut
 
 pir_output_is( <<'CODE', <<OUTPUT, "angstrom" );
+.include 'stdio.pasm'
 .sub main :main
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(1)
+    $P1 = $P0.'stdhandle'(.PIO_STDOUT_FILENO)
     $P1.'encoding'("utf8")
     chr $S0, 0x212B
     print $S0
@@ -38,9 +39,10 @@
 OUTPUT
 
 pir_output_is( <<'CODE', <<OUTPUT, "escaped angstrom" );
+.include 'stdio.pasm'
 .sub main :main
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(1)
+    $P1 = $P0.'stdhandle'(.PIO_STDOUT_FILENO)
     $P1.'encoding'("utf8")
     set $S0, unicode:"\x{212b}"
     print $S0
@@ -52,9 +54,10 @@
 OUTPUT
 
 pir_output_is( <<'CODE', <<OUTPUT, "escaped angstrom 2" );
+.include 'stdio.pasm'
 .sub main :main
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(1)
+    $P1 = $P0.'stdhandle'(.PIO_STDOUT_FILENO)
     $P1.'encoding'("utf8")
     set $S0, unicode:"aaaaaa\x{212b}"
     print $S0
@@ -66,9 +69,10 @@
 OUTPUT
 
 pir_output_is( <<'CODE', <<OUTPUT, "escaped angstrom 3" );
+.include 'stdio.pasm'
 .sub main :main
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(1)
+    $P1 = $P0.'stdhandle'(.PIO_STDOUT_FILENO)
     $P1.'encoding'("utf8")
     set $S0, unicode:"aaaaaa\x{212b}-aaaaaa"
     print $S0
@@ -80,9 +84,10 @@
 OUTPUT
 
 pir_output_is( <<'CODE', <<OUTPUT, 'escaped angstrom 3 \uhhhh' );
+.include 'stdio.pasm'
 .sub main :main
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(1)
+    $P1 = $P0.'stdhandle'(.PIO_STDOUT_FILENO)
     $P1.'encoding'("utf8")
     set $S0, unicode:"aaaaaa\u212b-aaaaaa"
     print $S0
@@ -94,9 +99,10 @@
 OUTPUT
 
 pir_output_is( <<'CODE', <<OUTPUT, "MATHEMATICAL BOLD CAPITAL A" );
+.include 'stdio.pasm'
 .sub main :main
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(1)
+    $P1 = $P0.'stdhandle'(.PIO_STDOUT_FILENO)
     $P1.'encoding'("utf8")
     set $S0, unicode:"aaaaaa\x{1d400}-aaaaaa"
     print $S0
@@ -108,9 +114,10 @@
 OUTPUT
 
 pir_output_is( <<'CODE', <<OUTPUT, 'MATHEMATICAL BOLD CAPITAL A \U' );
+.include 'stdio.pasm'
 .sub main :main
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(1)
+    $P1 = $P0.'stdhandle'(.PIO_STDOUT_FILENO)
     $P1.'encoding'("utf8")
     set $S0, unicode:"aaaaaa\U0001d400-aaaaaa"
     print $S0
@@ -122,9 +129,10 @@
 OUTPUT
 
 pir_output_is( <<'CODE', <<OUTPUT, "two upscales" );
+.include 'stdio.pasm'
 .sub main :main
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(1)
+    $P1 = $P0.'stdhandle'(.PIO_STDOUT_FILENO)
     $P1.'encoding'("utf8")
     set $S0, unicode:"aaaaaa\x{212b}-bbbbbb\x{1d400}-cccccc"
     print $S0
@@ -140,9 +148,10 @@
 OUTPUT
 
 pir_output_is( <<'CODE', <<OUTPUT, "two upscales - don't downscale" );
+.include 'stdio.pasm'
 .sub main :main
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(1)
+    $P1 = $P0.'stdhandle'(.PIO_STDOUT_FILENO)
     $P1.'encoding'("utf8")
     set $S0, unicode:"aaaaaa\x{1d400}-bbbbbb\x{212b}-cccccc"
     print $S0
@@ -158,9 +167,10 @@
 OUTPUT
 
 pir_output_is( <<'CODE', <<OUTPUT, '\cX, \ooo' );
+.include 'stdio.pasm'
 .sub main :main
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(1)
+    $P1 = $P0.'stdhandle'(.PIO_STDOUT_FILENO)
     $P1.'encoding'("utf8")
     set $S0, "ok 1\cJ"
     print $S0

Modified: branches/gc_massacre/t/pmc/io.t
==============================================================================
--- branches/gc_massacre/t/pmc/io.t	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/t/pmc/io.t	Tue Jun  8 12:16:25 2010	(r47466)
@@ -7,7 +7,7 @@
 use lib qw( . lib ../lib ../../lib );
 
 use Test::More;
-use Parrot::Test tests => 40;
+use Parrot::Test tests => 36;
 use Parrot::Test::Util 'create_tempfile';
 use Parrot::Test::Util 'create_tempfile';
 
@@ -41,13 +41,13 @@
 
 my (undef, $temp_file) = create_tempfile( UNLINK => 1 );
 
-pir_output_is( sprintf(<<'CODE', $temp_file), <<'OUTPUT', "timely destruction (ops)");
-.loadlib 'io_ops'
+pir_output_is( sprintf(<<'CODE', $temp_file), <<'OUTPUT', "timely destruction", todo => 'TT #1659');
 .const string temp_file = '%s'
 .sub main :main
     interpinfo $I0, 2    # GC mark runs
-    $P0 = open temp_file, 'w'
-        needs_destroy $P0
+    $P0 = new ['FileHandle']
+    $P0.'open'(temp_file, 'w')
+    needs_destroy $P0
     print $P0, "a line\n"
     null $P0            # kill it
     sweep 0            # a lazy GC has to close the PIO
@@ -59,42 +59,6 @@
 a line
 OUTPUT
 
-pir_output_is( <<'CODE', <<'OUTPUT', "read on invalid fh should throw exception (ops)" );
-.loadlib 'io_ops'
-.sub main :main
-    new $P0, ['FileHandle']
-
-    push_eh _readline_handler
-    $S0 = readline $P0
-    print "not "
-
-_readline_handler:
-        print "ok 1\n"
-        pop_eh
-
-    push_eh _read_handler
-    $S0 = read $P0, 1
-    print "not "
-
-_read_handler:
-        print "ok 2\n"
-        pop_eh
-
-    push_eh _print_handler
-    print $P0, "kill me now\n"
-    print "not "
-
-_print_handler:
-        print "ok 3\n"
-        pop_eh
-
-.end
-CODE
-ok 1
-ok 2
-ok 3
-OUTPUT
-
 pir_output_is( <<'CODE', <<'OUTPUT', "read on invalid fh should throw exception" );
 .sub main :main
     new $P0, ['FileHandle']
@@ -149,16 +113,21 @@
 print $FOO "2\n1\n";
 close $FOO;
 
-pasm_output_is( <<"CODE", <<'OUTPUT', "open and readline" );
-.loadlib 'io_ops'
-    open P0, "$temp_file"
-    set S0, ""
-    set S1, ""
-    readline S0, P0
-    readline S1, P0
-    print S1
-    print S0
-    end
+pir_output_is( sprintf( <<'CODE', $temp_file ), <<'OUTPUT', "open and readline" );
+.const string temp_file = '%s'
+.sub 'main' :main
+    $P0 = new ['FileHandle']
+    $P0.'open'(temp_file)
+
+    $S0 = ''
+    $S1 = ''
+
+    $S0 = $P0.'readline'()
+    $S1 = $P0.'readline'()
+
+    print $S1
+    print $S0
+.end
 CODE
 1
 2
@@ -168,16 +137,21 @@
 print $FOO "12\n34";
 close $FOO;
 
-pasm_output_is( <<"CODE", <<'OUTPUT', "open and readline, no final newline" );
-.loadlib 'io_ops'
-    open P0, "$temp_file"
-    set S0, ""
-    set S1, ""
-    readline S0, P0
-    readline S1, P0
-    print S1
-    print S0
-    end
+pir_output_is( sprintf( <<'CODE', $temp_file ), <<'OUTPUT', "open and readline, no final newline" );
+.const string temp_file = '%s'
+.sub 'main' :main
+    $P0 = new ['FileHandle']
+    $P0.'open'(temp_file)
+
+    $S0 = ''
+    $S1 = ''
+
+    $S0 = $P0.'readline'()
+    $S1 = $P0.'readline'()
+
+    print $S1
+    print $S0
+.end
 CODE
 3412
 OUTPUT
@@ -185,27 +159,30 @@
 ($FOO, $temp_file) = create_tempfile( UNLINK => 1 );
 close $FOO;
 
-pasm_output_is( <<"CODE", <<'OUTPUT', "open & print" );
-.loadlib 'io_ops'
-   set I0, -12
-   set N0, 2.2
-   set S0, "Foo"
-   new P0, ['String']
-   set P0, "Bar\\n"
-
-   open P1, "$temp_file", "w"
-   print P1, I0
-   print P1, N0
-   print P1, S0
-   print P1, P0
-   close P1
-
-   open P2, "$temp_file"
-   readline S1, P2
-   close P2
+pir_output_is( sprintf(<<'CODE', $temp_file), <<'OUTPUT', "open & print" );
+.const string temp_file = '%s'
+.sub 'main' :main
+    $I0 = -12
+    $N0 = 2.2
+    $S0 = "Foo"
+    $P0 = new ['String']
+    $P0 = "Bar\n"
 
-   print S1
-   end
+    $P1 = new ['FileHandle']
+    $P1.'open'(temp_file, 'w')
+    $P1.'print'($I0)
+    $P1.'print'($N0)
+    $P1.'print'($S0)
+    $P1.'print'($P0)
+    $P1.'close'()
+
+    $P2 = new ['FileHandle']
+    $P2.'open'(temp_file)
+    $S1 = $P2.'readline'()
+    $P2.'close'()
+
+    print $S1
+.end
 CODE
 -122.2FooBar
 OUTPUT
@@ -214,43 +191,47 @@
 close $FOO;
 
 # write to file opened for reading
-pasm_output_is( <<"CODE", <<'OUTPUT', "3-arg open" );
-.loadlib 'io_ops'
-   open P1, "$temp_file", 'w'
-   print P1, "Foobar\\n"
-   close P1
-
-   push_eh _print_to_read_only
-
-   open P2, "$temp_file", 'r'
-   print P2, "baz\\n"
-   say "skipped"
-
-_print_to_read_only:
-   say "caught writing to file opened for reading"
-   pop_eh
-
-   close P2
-
-   open P3, "$temp_file", 'r'
-   readline S1, P3
-   close P3
-   print S1
+pir_output_is( sprintf(<<'CODE', $temp_file), <<'OUTPUT', "3-arg open" );
+.const string temp_file = '%s'
+.sub 'main' :main
+    $P1 = new ['FileHandle']
+    $P1.'open'(temp_file, 'w')
+    $P1.'print'("Foobar\n")
+    $P1.'close'()
 
+    push_eh _print_to_read_only
 
-   end
+    $P2 = new ['FileHandle']
+    $P2.'open'(temp_file, 'r')
+    $P2.'print'("baz\n")
+    say "skipped"
+
+  _print_to_read_only:
+    say "caught writing to file opened for reading"
+    pop_eh
+
+    $P2.'close'()
+
+    $P3 = new ['FileHandle']
+    $P3.'open'(temp_file, 'r')
+    $S1 = $P3.'readline'()
+    $P3.'close'()
+    print $S1
+.end
 CODE
 caught writing to file opened for reading
 Foobar
 OUTPUT
 
-pasm_output_is( <<"CODE", <<'OUTPUT', 'open and close' );
-.loadlib 'io_ops'
-   open P1, "$temp_file", "w"
-   print P1, "Hello, World!\\n"
-   close P1
-   say "done"
-   end
+pir_output_is( sprintf(<<'CODE', $temp_file), <<'OUTPUT', 'open and close' );
+.const string temp_file = '%s'
+.sub 'main' :main
+    $P1 = new ['FileHandle']
+    $P1.'open'(temp_file, "w")
+    $P1.'print'("Hello, World!\n")
+    $P1.'close'()
+    say "done"
+.end
 CODE
 done
 OUTPUT
@@ -259,12 +240,14 @@
 Hello, World!
 OUTPUT
 
-pasm_output_is( <<"CODE", '', 'append' );
-.loadlib 'io_ops'
-   open P1, "$temp_file", 'wa'
-   print P1, "Parrot flies\\n"
-   close P1
-   end
+pir_output_is( sprintf(<<'CODE', $temp_file), '', 'append' );
+.const string temp_file = '%s'
+.sub 'main' :main
+    $P1 = new ['FileHandle']
+    $P1.'open'(temp_file, 'wa')
+    $P1.'print'("Parrot flies\n")
+    $P1.'close'()
+.end
 CODE
 
 file_content_is( $temp_file, <<'OUTPUT', 'append file contents' );
@@ -272,12 +255,14 @@
 Parrot flies
 OUTPUT
 
-pasm_output_is( <<"CODE", '', 'write to file' );
-.loadlib 'io_ops'
-   open P1, "$temp_file", 'w'
-   print P1, "Parrot overwrites\\n"
-   close P1
-   end
+pir_output_is( sprintf(<<'CODE', $temp_file), '', 'write to file' );
+.const string temp_file = '%s'
+.sub 'main' :main
+    $P1 = new ['FileHandle']
+    $P1.'open'(temp_file, 'w')
+    $P1.'print'("Parrot overwrites\n")
+    $P1.'close'()
+.end
 CODE
 
 file_content_is( $temp_file, <<'OUTPUT', 'file contents' );
@@ -399,20 +384,21 @@
 
 # TT #1178
 pir_output_is( <<'CODE', <<'OUT', 'standard file descriptors' );
+.include 'stdio.pasm'
 .sub main :main
     $P99 = getinterp
-    $P0  = $P99.'stdhandle'(0)
+    $P0  = $P99.'stdhandle'(.PIO_STDIN_FILENO)
     $I0  = $P0.'get_fd'()
     # I0 is 0 on Unix and non-Null on stdio and win32
     print "ok 1\n"
 
-    $P1 = $P99.'stdhandle'(1)
+    $P1 = $P99.'stdhandle'(.PIO_STDOUT_FILENO)
     $I1 = $P1.'get_fd'()
     if $I1, OK_2
     print "not "
 OK_2:
     say "ok 2"
-    $P2 = $P99.'stdhandle'(2)
+    $P2 = $P99.'stdhandle'(.PIO_STDERR_FILENO)
     $I2 = $P2.'get_fd'()
     if $I2, OK_3
     print "not "
@@ -425,29 +411,11 @@
 ok 3
 OUT
 
-pasm_output_is( <<'CODE', <<'OUTPUT', 'printerr op' );
-.loadlib 'io_ops'
-   new P0, ['String']
-   set P0, "This is a test\n"
-   printerr 10
-   printerr "\n"
-   printerr 1.0
-   printerr "\n"
-   printerr "foo"
-   printerr "\n"
-   printerr P0
-   end
-CODE
-10
-1
-foo
-This is a test
-OUTPUT
-
 pir_output_is( <<'CODE', <<'OUTPUT', 'puts method' );
+.include 'stdio.pasm'
 .sub main :main
     $P0 = getinterp
-    $P2 = $P0.'stdhandle'(1)
+    $P2 = $P0.'stdhandle'(.PIO_STDOUT_FILENO)
     can $I0, $P2, "puts"
     if $I0, ok1
     print "not "
@@ -461,13 +429,13 @@
 OUTPUT
 
 pir_output_is( <<'CODE', <<'OUTPUT', 'puts method - PIR' );
-
+.include 'stdio.pasm'
 .sub main :main
    .local string s
    s = "ok 2\n"
    .local pmc io
    $P0 = getinterp
-   io = $P0.'stdhandle'(1)
+   io = $P0.'stdhandle'(.PIO_STDOUT_FILENO)
    $I0 = can io, "puts"
    if $I0 goto ok1
    print "not "
@@ -481,35 +449,46 @@
 OUTPUT
 
 pasm_output_is( <<'CODE', <<'OUTPUT', 'callmethod puts' );
-.loadlib 'io_ops'
-   getstderr P2    # the object
-   set S0, "puts"    # method
-   set S5, "ok 1\n"    # 2nd param
-   set_args "0,0", P2, S5
-   callmethodcc P2, S0
-   set S5, "ok 2\n"
-   set_args "0,0", P2, S5
-   callmethodcc P2, S0
-   end
+.include 'stdio.pasm'
+    getinterp P0                 # invocant
+    set I0, .PIO_STDERR_FILENO   # 1st argument
+    set_args "0,0", P0, I0
+    callmethodcc P0, "stdhandle"
+    get_results "0", P2          # STDERR
+
+    set S0, "puts"               # method
+    set S5, "ok 1\n"             # 2nd param
+    set_args "0,0", P2, S5
+    callmethodcc P2, S0
+
+    set S5, "ok 2\n"
+    set_args "0,0", P2, S5
+    callmethodcc P2, S0
+
+    end
 CODE
 ok 1
 ok 2
 OUTPUT
 
-pasm_output_is( <<"CODE", <<'OUTPUT', 'seek/tell' );
-.loadlib 'io_ops'
-   open P0, "$temp_file", 'w'
-   print P0, "Hello "
-   tell I0, P0
-   print P0, "World!"
-   seek P0, I0, 0
-   print P0, "Parrot!\\n"
-   close P0
-   say "ok 1"
-   open P0, "$temp_file", 'r'
-   read S0, P0, 65635
-   print S0
-   end
+pir_output_is( sprintf(<<'CODE', $temp_file), <<'OUTPUT', 'seek/tell' );
+.const string temp_file = '%s'
+.sub 'main' :main
+    $P0 = new ['FileHandle']
+
+    $P0.'open'(temp_file, 'w')
+    $P0.'print'("Hello ")
+    $I0 = $P0.'tell'()
+    $P0.'print'("World!")
+    $P0.'seek'(0, $I0)
+    $P0.'print'("Parrot!\n")
+    $P0.'close'()
+    say "ok 1"
+
+    $P0.'open'(temp_file, 'r')
+    $S0 = $P0.'read'(65635)
+    print $S0
+.end
 CODE
 ok 1
 Hello Parrot!
@@ -706,50 +685,33 @@
 sub_2: 345
 OUTPUT
 
-pir_error_output_like( <<'CODE', <<'OUT', 'read on null PMC throws exception');
-.loadlib 'io_ops'
-.sub main :main
-    null $P1
-    $S0 = read $P1, 1
-    end
-.end
-CODE
-/read from null/
-OUT
-
 ($FOO, $temp_file) = create_tempfile( UNLINK => 1 );
 
 print $FOO "T\xc3\xb6tsch\n";
 close $FOO;
 
-pir_output_is( <<"CODE", <<"OUTPUT", "utf8 read enabled, read parts" );
-.loadlib 'io_ops'
+pir_output_is( sprintf(<<'CODE', $temp_file), <<"OUTPUT", "utf8 read enabled, read parts" );
+.const string temp_file = '%s'
 .sub main :main
     .local pmc pio
-    .local int len
-    .include "stat.pasm"
-    .local string f
-    f = '$temp_file'
-    len = stat f, .STAT_FILESIZE
     pio = new ['FileHandle']
-    pio.'open'(f, 'r')
+    pio.'open'(temp_file, 'r')
     pio.'encoding'("utf8")
-    \$S0 = pio.'read'(2)
-    len -= 2
-    \$S1 = pio.'read'(len)
-    \$S0 .= \$S1
+    $S0 = pio.'read'(2)
+    $S1 = pio.'read'(1024) # read the rest of the file (much shorter than 1K)
+    $S0 .= $S1
     pio.'close'()
-    \$I1 = charset \$S0
-    \$S2 = charsetname \$I1
-    say \$S2
-
-    \$I1 = encoding \$S0
-    \$S2 = encodingname \$I1
-    say \$S2
-
-    \$I1 = find_charset 'iso-8859-1'
-    trans_charset \$S1, \$S0, \$I1
-    print \$S1
+    $I1 = charset $S0
+    $S2 = charsetname $I1
+    say $S2
+
+    $I1 = encoding $S0
+    $S2 = encodingname $I1
+    say $S2
+
+    $I1 = find_charset 'iso-8859-1'
+    trans_charset $S1, $S0, $I1
+    print $S1
 .end
 CODE
 unicode
@@ -805,21 +767,6 @@
 ok
 OUTPUT
 
-pir_error_output_like( <<'CODE', <<"OUTPUT", "stat failed" );
-.loadlib 'io_ops'
-.sub main :main
-    .local pmc pio
-    .local int len
-    .include "stat.pasm"
-    .local string f
-    f = 'no_such_file'
-    len = stat f, .STAT_FILESIZE
-    print "never\n"
-.end
-CODE
-/stat failed:/
-OUTPUT
-
 # Local Variables:
 #   mode: cperl
 #   cperl-indent-level: 4

Modified: branches/gc_massacre/t/pmc/stringbuilder.t
==============================================================================
--- branches/gc_massacre/t/pmc/stringbuilder.t	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/t/pmc/stringbuilder.t	Tue Jun  8 12:16:25 2010	(r47466)
@@ -21,12 +21,14 @@
     .include 'test_more.pir'
 
     test_create()               # 2 tests
-    test_push_string()          # 9 tests
+    test_push_string()
     test_push_pmc()             # 4 tests
     test_push_string_unicode()  # 1 test
     test_i_concatenate()        # 1 test
     test_set_string_native()    # 3 tests
     test_set_string_native_with_hash()    # 2 tests
+    test_set_pmc()
+    test_substr()
 
     emit_with_pos_args()
     emit_with_percent_args()
@@ -104,6 +106,11 @@
     $I0 = sb
     is( $I0, 16384, "... and capacity increased" )
 
+    null $S0
+    push sb, $S0
+    $I0 = sb
+    is( $I0, 16384, "push a null string does nothing" )
+
 .end
 
 .sub 'test_push_pmc'
@@ -152,7 +159,6 @@
 
     $S0 = sb
     is( $S0, "foobarbaz", "StringBuilder handles concat properly")
-
 .end
 
 .sub 'test_set_string_native'
@@ -195,6 +201,24 @@
 
 .end
 
+.sub 'test_set_pmc'
+    .local pmc sb, i
+    sb = new ["StringBuilder"]
+    i  = new ["Integer"], 17
+    assign sb, i
+    $S0 = sb
+    $I0 = iseq $S0, '17'
+    is( $I0, 1, "set_pmc gives the pmc string value")
+.end
+
+.sub test_substr
+    .local pmc sb
+    sb = new ["StringBuilder"]
+    sb = 'foobar'
+    $S0 = substr sb, 2, 3
+    is( $S0, 'oba', "substr result is correct")
+.end
+
 .sub emit_with_pos_args
     .local pmc code
     code = new ["StringBuilder"]

Modified: branches/gc_massacre/tools/dev/nci_thunk_gen.pir
==============================================================================
--- branches/gc_massacre/tools/dev/nci_thunk_gen.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/tools/dev/nci_thunk_gen.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -48,7 +48,8 @@
     $P0 = new ['FileHandle']
     $P0.'open'($S0, 'w')
     $P1 = getinterp
-    $P1.'stdhandle'(1, $P0)
+    .include 'stdio.pasm'
+    $P1.'stdhandle'(.PIO_STDOUT_FILENO, $P0)
 
     if targ == 'head'          goto get_targ
     if targ == 'thunks'        goto get_targ
@@ -711,7 +712,8 @@
 .sub 'read_sigs'
     .local pmc stdin, seen, sigs
     $P0 = getinterp
-    stdin = $P0.'stdhandle'(0)
+    .include 'stdio.pasm'
+    stdin = $P0.'stdhandle'(.PIO_STDIN_FILENO)
     seen  = new ['Hash']
     sigs  = new ['ResizablePMCArray']
 
@@ -739,7 +741,8 @@
 Ignored signature '%s' on line %d (previously seen on line %d)
 ERROR
                 $P0 = getinterp
-                $P1 = $P0.'stdhandle'(2)
+                .include 'stdio.pasm'
+                $P1 = $P0.'stdhandle'(.PIO_STDERR_FILENO)
                 $P1.'print'($S0)
             end_dup_warn:
             goto read_loop

Modified: branches/gc_massacre/tools/util/parrot-config.pir
==============================================================================
--- branches/gc_massacre/tools/util/parrot-config.pir	Tue Jun  8 12:15:12 2010	(r47465)
+++ branches/gc_massacre/tools/util/parrot-config.pir	Tue Jun  8 12:16:25 2010	(r47466)
@@ -89,7 +89,8 @@
 usage:
     $S0 = argv[0]
     $P0 = getinterp
-    $P1 = $P0.'stdhandle'(2)
+    .include 'stdio.pasm'
+    $P1 = $P0.'stdhandle'(.PIO_STDERR_FILENO)
     $P1.'print'($S0)
     $P1.'print'(" [ <config-key> | --dump | --help ]\n")
     exit 1


More information about the parrot-commits mailing list