[svn:parrot] r48299 - in branches/html_cleanup: . compilers/imcc compilers/opsc compilers/opsc/src/Ops/Trans config/auto config/gen config/gen/makefiles config/init docs/pdds docs/project docs/resources examples/languages/squaak examples/languages/squaak/doc ext/nqp-rx/src/stage0 include/parrot lib/Parrot lib/Parrot/Pmc2c lib/Parrot/Pmc2c/PMC ports/debian ports/debian/patches ports/fedora/2.3.0 ports/fedora/2.5.0 ports/fedora/2.6.0 ports/suse/2.2.0 ports/suse/2.5.0 runtime/parrot/library src src/call src/dynoplibs src/interp src/io src/nci src/ops src/packfile src/pmc src/runcore src/string src/string/charset t/compilers/pct t/library t/native_pbc t/op t/pmc t/src t/tools tools/dev

mikehh at svn.parrot.org mikehh at svn.parrot.org
Tue Aug 3 22:29:29 UTC 2010


Author: mikehh
Date: Tue Aug  3 22:29:26 2010
New Revision: 48299
URL: https://trac.parrot.org/parrot/changeset/48299

Log:
merge trunk into branch

Added:
   branches/html_cleanup/compilers/opsc/README.pod
      - copied unchanged from r48297, trunk/compilers/opsc/README.pod
   branches/html_cleanup/ports/debian/patches/04_fix_opsc_man.patch
      - copied unchanged from r48297, trunk/ports/debian/patches/04_fix_opsc_man.patch
   branches/html_cleanup/ports/fedora/2.6.0/
      - copied from r48297, trunk/ports/fedora/2.6.0/
   branches/html_cleanup/ports/suse/2.5.0/
      - copied from r48297, trunk/ports/suse/2.5.0/
Replaced:
   branches/html_cleanup/ports/fedora/2.6.0/parrot.desk.in.tar.gz
      - copied unchanged from r48297, trunk/ports/fedora/2.6.0/parrot.desk.in.tar.gz
   branches/html_cleanup/ports/fedora/2.6.0/parrot.spec
      - copied unchanged from r48297, trunk/ports/fedora/2.6.0/parrot.spec
   branches/html_cleanup/ports/suse/2.5.0/parrot.diff
      - copied unchanged from r48297, trunk/ports/suse/2.5.0/parrot.diff
   branches/html_cleanup/ports/suse/2.5.0/parrot.spec
      - copied unchanged from r48297, trunk/ports/suse/2.5.0/parrot.spec
Deleted:
   branches/html_cleanup/examples/languages/squaak/PARROT_REVISION
   branches/html_cleanup/ports/fedora/2.3.0/
   branches/html_cleanup/ports/fedora/2.5.0/
   branches/html_cleanup/ports/suse/2.2.0/
   branches/html_cleanup/tools/dev/pprof2cg.nqp
Modified:
   branches/html_cleanup/   (props changed)
   branches/html_cleanup/MANIFEST
   branches/html_cleanup/compilers/imcc/pbc.c
   branches/html_cleanup/compilers/opsc/src/Ops/Trans/C.pm
   branches/html_cleanup/config/auto/icu.pm
   branches/html_cleanup/config/gen/config_pm.pm
   branches/html_cleanup/config/gen/makefiles/root.in
   branches/html_cleanup/config/init/defaults.pm
   branches/html_cleanup/docs/pdds/pdd27_multiple_dispatch.pod
   branches/html_cleanup/docs/project/release_manager_guide.pod
   branches/html_cleanup/docs/project/support_policy.pod
   branches/html_cleanup/docs/resources/parrot.css
   branches/html_cleanup/examples/languages/squaak/doc/tutorial_episode_3.pod
   branches/html_cleanup/ext/nqp-rx/src/stage0/HLL-s0.pir
   branches/html_cleanup/ext/nqp-rx/src/stage0/NQP-s0.pir
   branches/html_cleanup/ext/nqp-rx/src/stage0/P6Regex-s0.pir
   branches/html_cleanup/ext/nqp-rx/src/stage0/Regex-s0.pir
   branches/html_cleanup/include/parrot/call.h
   branches/html_cleanup/include/parrot/context.h
   branches/html_cleanup/include/parrot/packfile.h
   branches/html_cleanup/include/parrot/pmc_freeze.h
   branches/html_cleanup/include/parrot/runcore_trace.h   (props changed)
   branches/html_cleanup/lib/Parrot/Manifest.pm
   branches/html_cleanup/lib/Parrot/Pmc2c/PMC/Object.pm
   branches/html_cleanup/lib/Parrot/Pmc2c/PMCEmitter.pm
   branches/html_cleanup/ports/debian/changelog
   branches/html_cleanup/ports/debian/control
   branches/html_cleanup/ports/debian/control.in
   branches/html_cleanup/ports/debian/parrot-devel.install.in
   branches/html_cleanup/ports/debian/patches/series
   branches/html_cleanup/ports/debian/rules
   branches/html_cleanup/runtime/parrot/library/P6object.pir
   branches/html_cleanup/src/call/args.c
   branches/html_cleanup/src/call/context_accessors.c
   branches/html_cleanup/src/call/pcc.c
   branches/html_cleanup/src/debug.c
   branches/html_cleanup/src/dynoplibs/Rules.in
   branches/html_cleanup/src/embed.c
   branches/html_cleanup/src/hash.c
   branches/html_cleanup/src/interp/inter_cb.c
   branches/html_cleanup/src/interp/inter_create.c   (props changed)
   branches/html_cleanup/src/interp/inter_misc.c
   branches/html_cleanup/src/io/api.c
   branches/html_cleanup/src/nci/extra_thunks.c
   branches/html_cleanup/src/ops/core_ops.c
   branches/html_cleanup/src/ops/math.ops
   branches/html_cleanup/src/packdump.c
   branches/html_cleanup/src/packfile.c
   branches/html_cleanup/src/packfile/pf_items.c
   branches/html_cleanup/src/packout.c
   branches/html_cleanup/src/pbc_merge.c
   branches/html_cleanup/src/pmc/callcontext.pmc
   branches/html_cleanup/src/pmc/capture.pmc
   branches/html_cleanup/src/pmc/class.pmc
   branches/html_cleanup/src/pmc/eval.pmc
   branches/html_cleanup/src/pmc/imageio.pmc
   branches/html_cleanup/src/pmc/object.pmc
   branches/html_cleanup/src/pmc/oplib.pmc
   branches/html_cleanup/src/pmc/packfileconstanttable.pmc
   branches/html_cleanup/src/pmc/stringhandle.pmc
   branches/html_cleanup/src/pmc/sub.pmc
   branches/html_cleanup/src/pmc_freeze.c
   branches/html_cleanup/src/runcore/cores.c   (props changed)
   branches/html_cleanup/src/runcore/trace.c   (contents, props changed)
   branches/html_cleanup/src/scheduler.c
   branches/html_cleanup/src/string/api.c
   branches/html_cleanup/src/string/charset/binary.c
   branches/html_cleanup/src/thread.c
   branches/html_cleanup/src/utils.c
   branches/html_cleanup/t/compilers/pct/complete_workflow.t
   branches/html_cleanup/t/library/p6object.t
   branches/html_cleanup/t/native_pbc/annotations.pbc
   branches/html_cleanup/t/native_pbc/integer.pbc
   branches/html_cleanup/t/native_pbc/number.pbc
   branches/html_cleanup/t/native_pbc/string.pbc
   branches/html_cleanup/t/op/64bit.t
   branches/html_cleanup/t/op/integer.t
   branches/html_cleanup/t/op/string.t
   branches/html_cleanup/t/pmc/capture.t
   branches/html_cleanup/t/pmc/exceptionhandler.t
   branches/html_cleanup/t/pmc/opcode.t
   branches/html_cleanup/t/pmc/oplib.t
   branches/html_cleanup/t/pmc/packfile.t
   branches/html_cleanup/t/src/embed.t   (props changed)
   branches/html_cleanup/t/tools/pbc_dump.t
   branches/html_cleanup/tools/dev/mk_gitignore.pl   (props changed)
   branches/html_cleanup/tools/dev/pbc_to_exe.pir
   branches/html_cleanup/tools/dev/pprof2cg.pl   (props changed)

Modified: branches/html_cleanup/MANIFEST
==============================================================================
--- branches/html_cleanup/MANIFEST	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/MANIFEST	Tue Aug  3 22:29:26 2010	(r48299)
@@ -63,6 +63,7 @@
 compilers/imcc/symreg.h                                     [imcc]
 compilers/imcc/unit.h                                       [imcc]
 compilers/opsc/Defines.mak                                  [opsc]
+compilers/opsc/README.pod                                   []doc
 compilers/opsc/Rules.mak                                    [opsc]
 compilers/opsc/TODO                                         [opsc]
 compilers/opsc/gen/Ops/Compiler/IGNOREME                    [opsc]
@@ -626,7 +627,6 @@
 examples/languages/abc/t/abc_special_variables              [examples]
 examples/languages/abc/t/abc_statement                      [examples]
 examples/languages/squaak/MAINTAINER                        [examples]
-examples/languages/squaak/PARROT_REVISION                   [examples]
 examples/languages/squaak/README                            [examples]
 examples/languages/squaak/doc/tutorial_episode_1.pod        [examples]
 examples/languages/squaak/doc/tutorial_episode_2.pod        [examples]
@@ -2148,8 +2148,7 @@
 tools/dev/pbc_to_exe.pir                                    [devel]
 tools/dev/pmcrenumber.pl                                    []
 tools/dev/pmctree.pl                                        []
-tools/dev/pprof2cg.nqp                                      []
-tools/dev/pprof2cg.pl                                       []
+tools/dev/pprof2cg.pl                                       [devel]
 tools/dev/reconfigure.pl                                    [devel]
 tools/dev/search-ops.pl                                     []
 tools/dev/svnclobber.pl                                     []

Modified: branches/html_cleanup/compilers/imcc/pbc.c
==============================================================================
--- branches/html_cleanup/compilers/imcc/pbc.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/compilers/imcc/pbc.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -147,7 +147,7 @@
         __attribute__nonnull__(1);
 
 PARROT_WARN_UNUSED_RESULT
-static size_t get_codesize(PARROT_INTERP,
+static size_t get_code_size(PARROT_INTERP,
     ARGIN(const IMC_Unit *unit),
     ARGOUT(size_t *src_lines))
         __attribute__nonnull__(1)
@@ -257,7 +257,7 @@
     , PARROT_ASSERT_ARG(pc))
 #define ASSERT_ARGS_fixup_globals __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_get_codesize __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+#define ASSERT_ARGS_get_code_size __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(unit) \
     , PARROT_ASSERT_ARG(src_lines))
@@ -352,14 +352,11 @@
     const size_t oldcount = interp->code->const_table->const_count;
     const size_t newcount = oldcount + 1;
 
-    /* Allocate a new constant */
-    PackFile_Constant *new_constant = PackFile_Constant_new(interp);
-
     /* Update the constant count and reallocate */
     if (interp->code->const_table->constants) {
         interp->code->const_table->constants =
             mem_gc_realloc_n_typed_zeroed(interp, interp->code->const_table->constants,
-                newcount, oldcount, PackFile_Constant *);
+                newcount, oldcount, PackFile_Constant);
     }
     else {
         /* initialize rlookup cache */
@@ -369,10 +366,9 @@
             (hash_comp_fn)STRING_compare_distinct_cs_enc;
 
         interp->code->const_table->constants =
-            mem_gc_allocate_n_zeroed_typed(interp, newcount, PackFile_Constant *);
+            mem_gc_allocate_n_zeroed_typed(interp, newcount, PackFile_Constant);
     }
 
-    interp->code->const_table->constants[oldcount] = new_constant;
     interp->code->const_table->const_count         = newcount;
 
     return oldcount;
@@ -394,7 +390,7 @@
 {
     ASSERT_ARGS(add_const_table_pmc)
     const int newitem = add_const_table(interp);
-    PackFile_Constant * const constant = interp->code->const_table->constants[newitem];
+    PackFile_Constant * const constant = &interp->code->const_table->constants[newitem];
 
     constant->type  = PFC_PMC;
     constant->u.key = pmc;
@@ -418,7 +414,7 @@
 {
     ASSERT_ARGS(add_const_table_key)
     const int newitem = add_const_table(interp);
-    PackFile_Constant * const constant = interp->code->const_table->constants[newitem];
+    PackFile_Constant * const constant = &interp->code->const_table->constants[newitem];
 
     constant->type  = PFC_KEY;
     constant->u.key = key;
@@ -630,7 +626,7 @@
 
 /*
 
-=item C<static size_t get_codesize(PARROT_INTERP, const IMC_Unit *unit, size_t
+=item C<static size_t get_code_size(PARROT_INTERP, const IMC_Unit *unit, size_t
 *src_lines)>
 
 Stores globals for later fixup, returning the code size in number of ops.
@@ -641,9 +637,9 @@
 
 PARROT_WARN_UNUSED_RESULT
 static size_t
-get_codesize(PARROT_INTERP, ARGIN(const IMC_Unit *unit), ARGOUT(size_t *src_lines))
+get_code_size(PARROT_INTERP, ARGIN(const IMC_Unit *unit), ARGOUT(size_t *src_lines))
 {
-    ASSERT_ARGS(get_codesize)
+    ASSERT_ARGS(get_code_size)
     Instruction *ins = unit->instructions;
     size_t       code_size;
 
@@ -669,7 +665,7 @@
         else if (ins->opname && *ins->opname) {
             (*src_lines)++;
             if (ins->opnum < 0)
-                IMCC_fatal(interp, 1, "get_codesize: "
+                IMCC_fatal(interp, 1, "get_code_size: "
                         "no opnum ins#%d %I\n",
                         ins->index, ins);
 
@@ -685,7 +681,7 @@
             code_size += ins->opsize;
         }
         else if (ins->opsize)
-            IMCC_fatal(interp, 1, "get_codesize: "
+            IMCC_fatal(interp, 1, "get_code_size: "
                     "non instruction with size found\n");
     }
 
@@ -1062,7 +1058,7 @@
     /* otherwise... */
     {
         int                k        = add_const_table(interp);
-        PackFile_Constant *constant = table->constants[k];
+        PackFile_Constant *constant = &table->constants[k];
         constant->type              = PFC_STRING;
         constant->u.string          = s;
 
@@ -1091,7 +1087,7 @@
     const int      k = add_const_table(interp);
     STRING * const s = Parrot_str_new(interp, buf, 0);
 
-    PackFile_Constant * const constant = interp->code->const_table->constants[k];
+    PackFile_Constant * const constant = &interp->code->const_table->constants[k];
 
     constant->type     = PFC_NUMBER;
     constant->u.number = Parrot_str_to_num(interp, s);
@@ -1136,7 +1132,7 @@
         r = pcc_sub->multi[i];
 
         if (r->set == 'S') {
-            STRING * const type_name = ct->constants[r->color]->u.string;
+            STRING * const type_name = ct->constants[r->color].u.string;
             const INTVAL type_num    = Parrot_pmc_get_type_str(interp, type_name);
 
             if (type_num == enum_type_undef) {
@@ -1149,7 +1145,7 @@
         }
         else {
             PARROT_ASSERT(r->set == 'K');
-            sig_pmc = ct->constants[r->color]->u.key;
+            sig_pmc = ct->constants[r->color].u.key;
         }
 
         VTABLE_set_pmc_keyed_int(interp, multi_sig, i, sig_pmc);
@@ -1180,10 +1176,10 @@
                int need_lex)
 {
     ASSERT_ARGS(create_lexinfo)
-    PMC                *lex_info    = NULL;
-    SymHash            *hsh         = &unit->hash;
-    PackFile_Constant **constants   = interp->code->const_table->constants;
-    const INTVAL        lex_info_id = Parrot_get_ctx_HLL_type(interp,
+    PMC               *lex_info    = NULL;
+    SymHash           *hsh         = &unit->hash;
+    PackFile_Constant *constants   = interp->code->const_table->constants;
+    const INTVAL       lex_info_id = Parrot_get_ctx_HLL_type(interp,
                                         enum_class_LexInfo);
     unsigned int        i;
 
@@ -1208,7 +1204,7 @@
                     Parrot_Sub_attributes *sub;
                     PARROT_ASSERT(k >= 0);
 
-                    lex_name = constants[k]->u.string;
+                    lex_name = constants[k].u.string;
                     PARROT_ASSERT(PObj_is_string_TEST(lex_name));
 
                     PMC_get_sub(interp, sub_pmc, sub);
@@ -1403,7 +1399,7 @@
     Sub_comp_get_FLAGS(sub) |= (r->pcc_sub->pragma & SUB_COMP_FLAG_MASK);
 
     r->color  = add_const_str(interp, IMCC_string_from_reg(interp, r));
-    sub->name = ct->constants[r->color]->u.string;
+    sub->name = ct->constants[r->color].u.string;
 
     /* If the unit has no subid, set the subid to match the name. */
     if (!unit->subid)
@@ -1420,18 +1416,18 @@
             IMCC_string_from_reg(interp, unit->subid));
     }
 
-    sub->subid = ct->constants[unit->subid->color]->u.string;
+    sub->subid = ct->constants[unit->subid->color].u.string;
     ns_pmc     = NULL;
 
     if (ns_const >= 0 && ns_const < ct->const_count) {
-        switch (ct->constants[ns_const]->type) {
+        switch (ct->constants[ns_const].type) {
           case PFC_KEY:
-            ns_pmc = ct->constants[ns_const]->u.key;
+            ns_pmc = ct->constants[ns_const].u.key;
             break;
           case PFC_STRING:
             ns_pmc = Parrot_pmc_new_constant(interp, enum_class_String);
             VTABLE_set_string_native(interp, ns_pmc,
-                ct->constants[ns_const]->u.string);
+                ct->constants[ns_const].u.string);
             break;
           default:
             break;
@@ -1524,8 +1520,8 @@
 
     /* store the sub */
     {
-        const int            k          = add_const_table(interp);
-        PackFile_Constant   * const pfc = ct->constants[k];
+        const int                   k = add_const_table(interp);
+        PackFile_Constant * const pfc = &ct->constants[k];
 
         pfc->type     = PFC_PMC;
         pfc->u.key    = sub_pmc;
@@ -2150,7 +2146,7 @@
 {
     ASSERT_ARGS(verify_signature)
     PMC    *changed_sig    = NULL;
-    PMC    * const sig_arr = interp->code->const_table->constants[pc[-1]]->u.key;
+    PMC    * const sig_arr = interp->code->const_table->constants[pc[-1]].u.key;
     int     needed         = 0;
     int     no_consts      = (ins->opnum == PARROT_OP_get_results_pc
                            || ins->opnum == PARROT_OP_get_params_pc);
@@ -2233,42 +2229,42 @@
 
     /* first instruction, do initialisation ... */
     if (ins == unit->instructions) {
-        size_t       ins_size;
-        const size_t oldsize   = get_old_size(interp,
+        size_t       ins_size, seg_size;
+        const size_t old_size  = get_old_size(interp,
                                     &IMCC_INFO(interp)->ins_line);
-        const size_t code_size = get_codesize(interp, unit, &ins_size);
-        const size_t bytes     = (oldsize + code_size) * sizeof (opcode_t);
+        const size_t code_size = get_code_size(interp, unit, &ins_size);
+        const size_t bytes     = (old_size + code_size) * sizeof (opcode_t);
 
-        IMCC_debug(interp, DEBUG_PBC, "code_size(ops) %d  oldsize %d\n",
-                code_size, oldsize);
+        IMCC_debug(interp, DEBUG_PBC, "code_size(ops) %d  old_size %d\n",
+                code_size, old_size);
 
         constant_folding(interp, unit);
         store_sub_size(interp, code_size, ins_size);
 
         /* allocate code */
-        interp->code->base.data       = (opcode_t *)
+        interp->code->base.data = (opcode_t *)
             mem_sys_realloc(interp->code->base.data, bytes);
 
         /* reallocating this removes its mmaped-ness; needs encapsulation */
         interp->code->base.pf->is_mmap_ped = 0;
 
-        interp->code->base.size       = oldsize + code_size;
+        interp->code->base.size = old_size + code_size;
 
-        IMCC_INFO(interp)->pc  = (opcode_t *)interp->code->base.data + oldsize;
-        IMCC_INFO(interp)->npc = 0;
+        IMCC_INFO(interp)->pc   = (opcode_t *)interp->code->base.data + old_size;
+        IMCC_INFO(interp)->npc  = 0;
 
         /* FIXME length and multiple subs */
-        IMCC_INFO(interp)->debug_seg  = Parrot_new_debug_seg(interp,
-            interp->code,
-            (size_t)IMCC_INFO(interp)->ins_line + ins_size + 1);
+        seg_size = (size_t)IMCC_INFO(interp)->ins_line + ins_size + 1;
+        IMCC_INFO(interp)->debug_seg  =
+            Parrot_new_debug_seg(interp, interp->code, seg_size);
 
         Parrot_debug_add_mapping(interp, IMCC_INFO(interp)->debug_seg,
-            IMCC_INFO(interp)->ins_line, unit->file);
+            old_size, unit->file);
 
         /* if item is a PCC_SUB entry then store it constants */
         if (ins->symregs[0] && ins->symregs[0]->pcc_sub) {
-            add_const_pmc_sub(interp, ins->symregs[0], oldsize,
-                              oldsize + code_size);
+            add_const_pmc_sub(interp, ins->symregs[0], old_size,
+                              old_size + code_size);
         }
         else {
             /* need a dummy to hold register usage */
@@ -2276,7 +2272,7 @@
             r->type          = VT_PCC_SUB;
             r->pcc_sub       = mem_gc_allocate_zeroed_typed(interp, pcc_sub_t);
 
-            add_const_pmc_sub(interp, r, oldsize, oldsize + code_size);
+            add_const_pmc_sub(interp, r, old_size, old_size + code_size);
         }
     }
 

Copied: branches/html_cleanup/compilers/opsc/README.pod (from r48297, trunk/compilers/opsc/README.pod)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/html_cleanup/compilers/opsc/README.pod	Tue Aug  3 22:29:26 2010	(r48299, copy of r48297, trunk/compilers/opsc/README.pod)
@@ -0,0 +1,47 @@
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+opsc - An opcode compiler for Parrot
+
+=head1 DESCRIPTION
+
+Ops-to-C is a compiler to generate opcode definition files in C from
+Parrot's opcode definition language.
+
+=head1 SYNOPSIS
+
+ opsc [-options] <file>
+
+=head1 OPTIONS
+
+=over 4
+
+=item -c, --core
+
+Generate C code for core ops (for use only in building the Parrot VM)
+
+=item -d, --dynamic
+
+Generate C code for dynamic ops in a single file.
+
+=item -q, --quiet
+
+Only report error messages, other messages are silent.
+
+=item -h, --help
+
+Print usage information.
+
+=item -n, --no-lines
+
+Do not print #line directives in generated C code.
+
+=item -g, --debug
+
+Perform all processing but do not write to any files.
+
+=back
+
+=cut

Modified: branches/html_cleanup/compilers/opsc/src/Ops/Trans/C.pm
==============================================================================
--- branches/html_cleanup/compilers/opsc/src/Ops/Trans/C.pm	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/compilers/opsc/src/Ops/Trans/C.pm	Tue Aug  3 22:29:26 2010	(r48299)
@@ -25,10 +25,10 @@
         :ki("IREG(NUM)"),
 
         :ic("cur_opcode[NUM]"),
-        :nc("CONST(NUM)->u.number"),
-        :pc("CONST(NUM)->u.key"),
-        :sc("CONST(NUM)->u.string"),
-        :kc("CONST(NUM)->u.key"),
+        :nc("CONST(NUM).u.number"),
+        :pc("CONST(NUM).u.key"),
+        :sc("CONST(NUM).u.string"),
+        :kc("CONST(NUM).u.key"),
         :kic("cur_opcode[NUM]")
     );
 

Modified: branches/html_cleanup/config/auto/icu.pm
==============================================================================
--- branches/html_cleanup/config/auto/icu.pm	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/config/auto/icu.pm	Tue Aug  3 22:29:26 2010	(r48299)
@@ -312,7 +312,8 @@
         else {
             # on MacOS X there's sometimes an errornous \c at the end of the
             # output line. Remove it.
-            $icushared =~ s/\s\\c$//;
+            # see TT #1722
+            $icushared =~ s/\s\\c\s/ /g;
         }
     }
 

Modified: branches/html_cleanup/config/gen/config_pm.pm
==============================================================================
--- branches/html_cleanup/config/gen/config_pm.pm	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/config/gen/config_pm.pm	Tue Aug  3 22:29:26 2010	(r48299)
@@ -1,4 +1,4 @@
-# Copyright (C) 2001-2009, Parrot Foundation.
+# Copyright (C) 2001-2010, Parrot Foundation.
 # $Id$
 
 =head1 NAME
@@ -65,6 +65,18 @@
     open( my $OUT, ">", $gen_pm )
         or die "Can't open $gen_pm: $!";
 
+    # escape spaces in current directory
+    my $cwd = cwd();
+    $cwd =~ s{ }{\\ }g;
+
+    # Build directory can have non ascii characters
+    # Maybe not the better fix, but allows keep working on the issue.
+    # See TT #1717
+    my $cwdcharset = q{};
+    if ($cwd =~ /[^[:ascii:]]/) {
+        $cwdcharset = 'binary:';
+    }
+
     my $pkg = __PACKAGE__;
     print {$OUT} <<"END";
 # ex: set ro:
@@ -117,7 +129,10 @@
                         die "type of '$k' is not supported : $type\n";
                     }
                     # String
-                    $v =~ s/(["\\])/\\$1/g;
+                    $v =~ s/\\/\\\\/g;
+                    $v =~ s/\\\\"/\\"/g;
+                    # escape unescaped double quotes
+                    $v =~ s/(?<!\\)"/\\"/g;
                     $v =~ s/\n/\\n/g;
                     my $charset = q{};
                     if ($v =~ /[^[:ascii:]]/) {
@@ -131,7 +146,7 @@
                 }
             }
         }
-        elsif (s/\@PWD\@/cwd/e) {
+        elsif (s/\"\@PWD\@\"/$cwdcharset\"$cwd\"/) {
             print {$OUT} $_;
         }
         else {

Modified: branches/html_cleanup/config/gen/makefiles/root.in
==============================================================================
--- branches/html_cleanup/config/gen/makefiles/root.in	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/config/gen/makefiles/root.in	Tue Aug  3 22:29:26 2010	(r48299)
@@ -987,18 +987,9 @@
 # Parrot Debugger
 #
 
-src/parrot_debugger$(O) : $(INC_DIR)/embed.h \
-	src/parrot_debugger.c \
-	$(INC_DIR)/runcore_api.h \
-	compilers/imcc/imc.h $(PARROT_H_HEADERS) compilers/imcc/parser.h \
-	compilers/imcc/cfg.h \
-	compilers/imcc/debug.h \
-	compilers/imcc/imcparser.h \
-	compilers/imcc/instructions.h \
-	compilers/imcc/sets.h \
-	compilers/imcc/symreg.h \
-	compilers/imcc/unit.h \
-	$(INC_DIR)/oplib/ops.h
+src/parrot_debugger$(O) : $(PARROT_H_HEADERS) src/parrot_debugger.c \
+	$(INC_DIR)/embed.h \
+	$(INC_DIR)/runcore_api.h
 
 $(PDB) : src/parrot_debugger$(O) src/parrot_config$(O) $(LIBPARROT)
 	$(LINK) @ld_out@$@ \
@@ -2472,6 +2463,12 @@
 src/extra_nci_thunks.c : src/nci/extra_thunks.nci $(NCI_THUNK_GEN)
 	$(NCI_THUNK_GEN) --dynext --no-warn-dups \
 		--output=src/extra_nci_thunks.c <src/nci/extra_thunks.nci
+#
+# remove the following two lines commited in r48180 which cause this to be re-generated
+# every time the all target is invoked - see TT #1719
+#
+#	$(NCI_THUNK_GEN) --core --loader-name=Parrot_nci_load_extra_thunks --no-warn-dups \
+#		--output=src/nci/extra_thunks.c <src/nci/extra_thunks.nci
 
 ## SUFFIX OVERRIDE
 src/extra_nci_thunks$(O) : $(PARROT_H_HEADERS) src/extra_nci_thunks.c \
@@ -2518,6 +2515,11 @@
 
 tags.vi.dummy:
 
+tags: tags.dummy
+	@echo 'There is no "tags" target. You want tags-vi or tags-emacs.'
+
+tags.dummy:
+
 CRITIC_FILES = 'lib/Parrot'
 
 perlcritic:

Modified: branches/html_cleanup/config/init/defaults.pm
==============================================================================
--- branches/html_cleanup/config/init/defaults.pm	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/config/init/defaults.pm	Tue Aug  3 22:29:26 2010	(r48299)
@@ -80,13 +80,17 @@
     my $ccdlflags = $Config{ccdlflags};
     $ccdlflags =~ s/\s*-Wl,-rpath,\S*//g if $conf->options->get('disable-rpath');
 
+    # escape spaces in build directory
+    my $build_dir =  abs_path($FindBin::Bin);
+    $build_dir    =~ s{ }{\\ }g;
+
     my $cc_option = $conf->options->get('cc');
     # We need a Glossary somewhere!
     $conf->data->set(
         debugging => $conf->options->get('debugging') ? 1 : 0,
         optimize  => '',
         verbose   => $conf->options->get('verbose'),
-        build_dir => abs_path($FindBin::Bin),
+        build_dir => $build_dir,
         configured_from_file =>
             $conf->options->get('configured_from_file') || '',
         configuration_steps => ( join q{ } => $conf->get_list_of_steps() ),

Modified: branches/html_cleanup/docs/pdds/pdd27_multiple_dispatch.pod
==============================================================================
--- branches/html_cleanup/docs/pdds/pdd27_multiple_dispatch.pod	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/docs/pdds/pdd27_multiple_dispatch.pod	Tue Aug  3 22:29:26 2010	(r48299)
@@ -207,11 +207,7 @@
 
 =item Parrot_mmd_invoke
 
-Make a multiple dispatch call. Similar in syntax to C<Parrot_PCCINVOKE>, but
-doesn't separate out the invocant before the signature since the call can have
-multiple invocants. A significant part of the code from C<Parrot_PCCINVOKE>
-can be factored out to helper routines used by both C<Parrot_PCCINVOKE> and
-C<Parrot_mmd_invoke>.
+Make a multiple dispatch call.
 
   void
   Parrot_mmd_invoke(PARROT_INTERP, NOTNULL(STRING *sub_name),

Modified: branches/html_cleanup/docs/project/release_manager_guide.pod
==============================================================================
--- branches/html_cleanup/docs/project/release_manager_guide.pod	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/docs/project/release_manager_guide.pod	Tue Aug  3 22:29:26 2010	(r48299)
@@ -415,7 +415,7 @@
 
  - Aug 17, 2010 - 2.7   - mikehh
  - Sep 21, 2010 - 2.8   - gerd
- - Oct 19, 2010 - 2.9*  - ??
+ - Oct 19, 2010 - 2.9*  - gerd
  - Nov 16, 2010 - 2.10  - ??
  - Dec 21, 2010 - 2.11  - ??
  - Jan 18, 2010 - 3.0*  - ??

Modified: branches/html_cleanup/docs/project/support_policy.pod
==============================================================================
--- branches/html_cleanup/docs/project/support_policy.pod	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/docs/project/support_policy.pod	Tue Aug  3 22:29:26 2010	(r48299)
@@ -58,9 +58,12 @@
 features we will also regularly deprecate features and remove them. To
 ease the burden of these changes on the users, our policy is to notify
 users of these deprecations in at least one supported release before
-removal. Deprecation notices are listed in the file L<DEPRECATED.pod>,
-together with a version number to help us track when the feature is safe
-to remove.
+removal and to provide users with a reasonable upgrade path. Deprecation
+notices are listed in the file L<DEPRECATED.pod>, together with a version
+number to help us track when the feature is safe to remove.  The suggested
+upgrade paths for deprecated features can be found on the ParrotDeprecations
+wiki page. Note that deprecation removals that are committed without an
+appropriate upgrade path are subject to reversion.
 
 For example, if a feature exists in Parrot 2.0 (January 2010), and is
 not listed for deprecation in that release, the user can be confident
@@ -77,6 +80,32 @@
 developer release between 2.0 and the next supported release, though we're
 likely to stagger the removals.
 
+=head2 Deprecation Notifications
+
+HLLs, libraries and other users of Parrot will inevitably find that we
+deprecate some core features which they depend on.  In order to minimize the
+pain caused by this deprecation and the subsequent "upgrade tax" (i.e. the time
+users must spend to keep their code working after an upgrade), we now forbid
+the removal of any deprecated feature until an appropriate upgrade path has
+been documented.  Any deprecated features that are removed without an
+appropriate notification are subject to reversion until such notifications have
+been added.  The single (rare) exception to this rule is any core feature which
+is broken or incomplete to the point that it is deemed unusable by any user.
+
+These notifications must be listed on the ParrotDeprecations wiki page, along
+with ticket numbers, a short summary of the deprecation and the expected impact
+on users.  A longer explanation of each deprecation must be put on a page
+dedicated to the deprecations for a specific supported release.  This page
+provides a short description of each change, its rationale and at least one
+example of how affected code can be modified to work after the deprecation
+takes effect.
+
+The purpose of these notifications is to make life easier for users of Parrot.
+If an existing feature is incomplete or broken to the degree that no external
+projects is likely to be able to make use of it, the removal of that feature
+does not require a documented upgrade path.  We expect such deprecations to be
+very rare.
+
 =head2 Experimental Features
 
 From time to time, we may add features to get feedback on their utility and

Modified: branches/html_cleanup/docs/resources/parrot.css
==============================================================================
--- branches/html_cleanup/docs/resources/parrot.css	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/docs/resources/parrot.css	Tue Aug  3 22:29:26 2010	(r48299)
@@ -79,6 +79,7 @@
 div#footer {
 	background: #121A28;
 	text-align: center;
+    color: white;
         padding-top: 1px;
         padding-bottom: 10px;
 }

Deleted: branches/html_cleanup/examples/languages/squaak/PARROT_REVISION
==============================================================================
--- branches/html_cleanup/examples/languages/squaak/PARROT_REVISION	Tue Aug  3 22:29:26 2010	(r48298)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1 +0,0 @@
-47087

Modified: branches/html_cleanup/examples/languages/squaak/doc/tutorial_episode_3.pod
==============================================================================
--- branches/html_cleanup/examples/languages/squaak/doc/tutorial_episode_3.pod	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/examples/languages/squaak/doc/tutorial_episode_3.pod	Tue Aug  3 22:29:26 2010	(r48299)
@@ -425,7 +425,7 @@
 
  method assignment($/) {
      my $lhs := $<primary>.ast;
-     my $rhs := $<expression>.ast;
+     my $rhs := $<EXPR>.ast;
      $lhs.lvalue(1);
      make PAST::Op.new( $lhs, $rhs, :pasttype('bind'), :node($/) );
  }
@@ -437,7 +437,7 @@
 Write the action method for stat_or_def. Simply retrieve the result object from statement and make
 that the result object.
 
- method stat_or_def {
+ method stat_or_def($/) {
      make $<statement>.ast;
  }
 

Modified: branches/html_cleanup/ext/nqp-rx/src/stage0/HLL-s0.pir
==============================================================================
--- branches/html_cleanup/ext/nqp-rx/src/stage0/HLL-s0.pir	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/ext/nqp-rx/src/stage0/HLL-s0.pir	Tue Aug  3 22:29:26 2010	(r48299)
@@ -902,7 +902,7 @@
 ### .include 'gen/hllgrammar-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1279589159.66297")
+.sub "_block11"  :anon :subid("10_1280467467.13603")
 .annotate 'line', 0
     get_hll_global $P14, ["HLL";"Grammar"], "_block13" 
     capture_lex $P14
@@ -919,15 +919,15 @@
     $P332 = $P14()
 .annotate 'line', 1
     .return ($P332)
-    .const 'Sub' $P334 = "106_1279589159.66297" 
+    .const 'Sub' $P334 = "106_1280467467.13603" 
     .return ($P334)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post107") :outer("10_1279589159.66297")
+.sub "" :load :init :subid("post107") :outer("10_1280467467.13603")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1279589159.66297" 
+    .const 'Sub' $P12 = "10_1280467467.13603" 
     .local pmc block
     set block, $P12
     $P337 = get_root_global ["parrot"], "P6metaclass"
@@ -936,83 +936,83 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block13"  :subid("11_1279589159.66297") :outer("10_1279589159.66297")
+.sub "_block13"  :subid("11_1280467467.13603") :outer("10_1280467467.13603")
 .annotate 'line', 5
-    .const 'Sub' $P319 = "103_1279589159.66297" 
+    .const 'Sub' $P319 = "103_1280467467.13603" 
     capture_lex $P319
-    .const 'Sub' $P313 = "101_1279589159.66297" 
+    .const 'Sub' $P313 = "101_1280467467.13603" 
     capture_lex $P313
-    .const 'Sub' $P300 = "98_1279589159.66297" 
+    .const 'Sub' $P300 = "98_1280467467.13603" 
     capture_lex $P300
-    .const 'Sub' $P268 = "93_1279589159.66297" 
+    .const 'Sub' $P268 = "93_1280467467.13603" 
     capture_lex $P268
-    .const 'Sub' $P262 = "91_1279589159.66297" 
+    .const 'Sub' $P262 = "91_1280467467.13603" 
     capture_lex $P262
-    .const 'Sub' $P257 = "89_1279589159.66297" 
+    .const 'Sub' $P257 = "89_1280467467.13603" 
     capture_lex $P257
-    .const 'Sub' $P251 = "87_1279589159.66297" 
+    .const 'Sub' $P251 = "87_1280467467.13603" 
     capture_lex $P251
-    .const 'Sub' $P245 = "85_1279589159.66297" 
+    .const 'Sub' $P245 = "85_1280467467.13603" 
     capture_lex $P245
-    .const 'Sub' $P240 = "83_1279589159.66297" 
+    .const 'Sub' $P240 = "83_1280467467.13603" 
     capture_lex $P240
-    .const 'Sub' $P235 = "81_1279589159.66297" 
+    .const 'Sub' $P235 = "81_1280467467.13603" 
     capture_lex $P235
-    .const 'Sub' $P230 = "79_1279589159.66297" 
+    .const 'Sub' $P230 = "79_1280467467.13603" 
     capture_lex $P230
-    .const 'Sub' $P225 = "77_1279589159.66297" 
+    .const 'Sub' $P225 = "77_1280467467.13603" 
     capture_lex $P225
-    .const 'Sub' $P220 = "75_1279589159.66297" 
+    .const 'Sub' $P220 = "75_1280467467.13603" 
     capture_lex $P220
-    .const 'Sub' $P215 = "73_1279589159.66297" 
+    .const 'Sub' $P215 = "73_1280467467.13603" 
     capture_lex $P215
-    .const 'Sub' $P210 = "71_1279589159.66297" 
+    .const 'Sub' $P210 = "71_1280467467.13603" 
     capture_lex $P210
-    .const 'Sub' $P205 = "69_1279589159.66297" 
+    .const 'Sub' $P205 = "69_1280467467.13603" 
     capture_lex $P205
-    .const 'Sub' $P195 = "65_1279589159.66297" 
+    .const 'Sub' $P195 = "65_1280467467.13603" 
     capture_lex $P195
-    .const 'Sub' $P182 = "63_1279589159.66297" 
+    .const 'Sub' $P182 = "63_1280467467.13603" 
     capture_lex $P182
-    .const 'Sub' $P170 = "61_1279589159.66297" 
+    .const 'Sub' $P170 = "61_1280467467.13603" 
     capture_lex $P170
-    .const 'Sub' $P164 = "59_1279589159.66297" 
+    .const 'Sub' $P164 = "59_1280467467.13603" 
     capture_lex $P164
-    .const 'Sub' $P157 = "57_1279589159.66297" 
+    .const 'Sub' $P157 = "57_1280467467.13603" 
     capture_lex $P157
-    .const 'Sub' $P151 = "55_1279589159.66297" 
+    .const 'Sub' $P151 = "55_1280467467.13603" 
     capture_lex $P151
-    .const 'Sub' $P144 = "53_1279589159.66297" 
+    .const 'Sub' $P144 = "53_1280467467.13603" 
     capture_lex $P144
-    .const 'Sub' $P138 = "51_1279589159.66297" 
+    .const 'Sub' $P138 = "51_1280467467.13603" 
     capture_lex $P138
-    .const 'Sub' $P131 = "49_1279589159.66297" 
+    .const 'Sub' $P131 = "49_1280467467.13603" 
     capture_lex $P131
-    .const 'Sub' $P125 = "47_1279589159.66297" 
+    .const 'Sub' $P125 = "47_1280467467.13603" 
     capture_lex $P125
-    .const 'Sub' $P119 = "45_1279589159.66297" 
+    .const 'Sub' $P119 = "45_1280467467.13603" 
     capture_lex $P119
-    .const 'Sub' $P110 = "43_1279589159.66297" 
+    .const 'Sub' $P110 = "43_1280467467.13603" 
     capture_lex $P110
-    .const 'Sub' $P102 = "41_1279589159.66297" 
+    .const 'Sub' $P102 = "41_1280467467.13603" 
     capture_lex $P102
-    .const 'Sub' $P92 = "40_1279589159.66297" 
+    .const 'Sub' $P92 = "40_1280467467.13603" 
     capture_lex $P92
-    .const 'Sub' $P86 = "38_1279589159.66297" 
+    .const 'Sub' $P86 = "38_1280467467.13603" 
     capture_lex $P86
-    .const 'Sub' $P81 = "36_1279589159.66297" 
+    .const 'Sub' $P81 = "36_1280467467.13603" 
     capture_lex $P81
-    .const 'Sub' $P73 = "34_1279589159.66297" 
+    .const 'Sub' $P73 = "34_1280467467.13603" 
     capture_lex $P73
-    .const 'Sub' $P67 = "32_1279589159.66297" 
+    .const 'Sub' $P67 = "32_1280467467.13603" 
     capture_lex $P67
-    .const 'Sub' $P61 = "30_1279589159.66297" 
+    .const 'Sub' $P61 = "30_1280467467.13603" 
     capture_lex $P61
-    .const 'Sub' $P55 = "28_1279589159.66297" 
+    .const 'Sub' $P55 = "28_1280467467.13603" 
     capture_lex $P55
-    .const 'Sub' $P22 = "14_1279589159.66297" 
+    .const 'Sub' $P22 = "14_1280467467.13603" 
     capture_lex $P22
-    .const 'Sub' $P15 = "12_1279589159.66297" 
+    .const 'Sub' $P15 = "12_1280467467.13603" 
     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' $P319 = "103_1279589159.66297" 
+    .const 'Sub' $P319 = "103_1280467467.13603" 
     capture_lex $P319
 .annotate 'line', 5
     .return ($P319)
-    .const 'Sub' $P329 = "105_1279589159.66297" 
+    .const 'Sub' $P329 = "105_1280467467.13603" 
     .return ($P329)
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "ws"  :subid("12_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "ws"  :subid("12_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 5
     .local string rx16_tgt
     .local int rx16_pos
@@ -1121,7 +1121,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__ws"  :subid("13_1279589159.66297") :method
+.sub "!PREFIX__ws"  :subid("13_1280467467.13603") :method
 .annotate 'line', 5
     new $P18, "ResizablePMCArray"
     push $P18, ""
@@ -1130,7 +1130,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "termish"  :subid("14_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "termish"  :subid("14_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 5
     .local string rx23_tgt
     .local int rx23_pos
@@ -1139,7 +1139,7 @@
     .local int rx23_rep
     .local pmc rx23_cur
     (rx23_cur, rx23_pos, rx23_tgt, $I10) = self."!cursor_start"()
-    rx23_cur."!cursor_caparray"("postfixish", "prefixish")
+    rx23_cur."!cursor_caparray"("prefixish", "postfixish")
     .lex unicode:"$\x{a2}", rx23_cur
     .local pmc match
     .lex "$/", match
@@ -1242,7 +1242,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__termish"  :subid("15_1279589159.66297") :method
+.sub "!PREFIX__termish"  :subid("15_1280467467.13603") :method
 .annotate 'line', 5
     new $P25, "ResizablePMCArray"
     push $P25, ""
@@ -1251,7 +1251,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term"  :subid("16_1279589159.66297") :method
+.sub "term"  :subid("16_1280467467.13603") :method
 .annotate 'line', 13
     $P32 = self."!protoregex"("term")
     .return ($P32)
@@ -1259,7 +1259,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term"  :subid("17_1279589159.66297") :method
+.sub "!PREFIX__term"  :subid("17_1280467467.13603") :method
 .annotate 'line', 13
     $P34 = self."!PREFIX__!protoregex"("term")
     .return ($P34)
@@ -1267,7 +1267,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infix"  :subid("18_1279589159.66297") :method
+.sub "infix"  :subid("18_1280467467.13603") :method
 .annotate 'line', 14
     $P36 = self."!protoregex"("infix")
     .return ($P36)
@@ -1275,7 +1275,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infix"  :subid("19_1279589159.66297") :method
+.sub "!PREFIX__infix"  :subid("19_1280467467.13603") :method
 .annotate 'line', 14
     $P38 = self."!PREFIX__!protoregex"("infix")
     .return ($P38)
@@ -1283,7 +1283,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefix"  :subid("20_1279589159.66297") :method
+.sub "prefix"  :subid("20_1280467467.13603") :method
 .annotate 'line', 15
     $P40 = self."!protoregex"("prefix")
     .return ($P40)
@@ -1291,7 +1291,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefix"  :subid("21_1279589159.66297") :method
+.sub "!PREFIX__prefix"  :subid("21_1280467467.13603") :method
 .annotate 'line', 15
     $P42 = self."!PREFIX__!protoregex"("prefix")
     .return ($P42)
@@ -1299,7 +1299,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfix"  :subid("22_1279589159.66297") :method
+.sub "postfix"  :subid("22_1280467467.13603") :method
 .annotate 'line', 16
     $P44 = self."!protoregex"("postfix")
     .return ($P44)
@@ -1307,7 +1307,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfix"  :subid("23_1279589159.66297") :method
+.sub "!PREFIX__postfix"  :subid("23_1280467467.13603") :method
 .annotate 'line', 16
     $P46 = self."!PREFIX__!protoregex"("postfix")
     .return ($P46)
@@ -1315,7 +1315,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "circumfix"  :subid("24_1279589159.66297") :method
+.sub "circumfix"  :subid("24_1280467467.13603") :method
 .annotate 'line', 17
     $P48 = self."!protoregex"("circumfix")
     .return ($P48)
@@ -1323,7 +1323,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__circumfix"  :subid("25_1279589159.66297") :method
+.sub "!PREFIX__circumfix"  :subid("25_1280467467.13603") :method
 .annotate 'line', 17
     $P50 = self."!PREFIX__!protoregex"("circumfix")
     .return ($P50)
@@ -1331,7 +1331,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postcircumfix"  :subid("26_1279589159.66297") :method
+.sub "postcircumfix"  :subid("26_1280467467.13603") :method
 .annotate 'line', 18
     $P52 = self."!protoregex"("postcircumfix")
     .return ($P52)
@@ -1339,7 +1339,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postcircumfix"  :subid("27_1279589159.66297") :method
+.sub "!PREFIX__postcircumfix"  :subid("27_1280467467.13603") :method
 .annotate 'line', 18
     $P54 = self."!PREFIX__!protoregex"("postcircumfix")
     .return ($P54)
@@ -1347,7 +1347,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "term:sym<circumfix>"  :subid("28_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "term:sym<circumfix>"  :subid("28_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 5
     .local string rx56_tgt
     .local int rx56_pos
@@ -1409,7 +1409,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term:sym<circumfix>"  :subid("29_1279589159.66297") :method
+.sub "!PREFIX__term:sym<circumfix>"  :subid("29_1280467467.13603") :method
 .annotate 'line', 5
     $P58 = self."!PREFIX__!subrule"("circumfix", "")
     new $P59, "ResizablePMCArray"
@@ -1419,7 +1419,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "infixish"  :subid("30_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "infixish"  :subid("30_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 5
     .local string rx62_tgt
     .local int rx62_pos
@@ -1481,7 +1481,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("31_1279589159.66297") :method
+.sub "!PREFIX__infixish"  :subid("31_1280467467.13603") :method
 .annotate 'line', 5
     $P64 = self."!PREFIX__!subrule"("infix", "")
     new $P65, "ResizablePMCArray"
@@ -1491,7 +1491,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "prefixish"  :subid("32_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "prefixish"  :subid("32_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 5
     .local string rx68_tgt
     .local int rx68_pos
@@ -1558,7 +1558,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefixish"  :subid("33_1279589159.66297") :method
+.sub "!PREFIX__prefixish"  :subid("33_1280467467.13603") :method
 .annotate 'line', 5
     $P70 = self."!PREFIX__!subrule"("prefix", "")
     new $P71, "ResizablePMCArray"
@@ -1568,7 +1568,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "postfixish"  :subid("34_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "postfixish"  :subid("34_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 5
     .local string rx74_tgt
     .local int rx74_pos
@@ -1646,7 +1646,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfixish"  :subid("35_1279589159.66297") :method
+.sub "!PREFIX__postfixish"  :subid("35_1280467467.13603") :method
 .annotate 'line', 5
     $P76 = self."!PREFIX__!subrule"("postcircumfix", "")
     $P77 = self."!PREFIX__!subrule"("postfix", "")
@@ -1658,7 +1658,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nullterm"  :subid("36_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "nullterm"  :subid("36_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 5
     .local string rx82_tgt
     .local int rx82_pos
@@ -1713,7 +1713,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm"  :subid("37_1279589159.66297") :method
+.sub "!PREFIX__nullterm"  :subid("37_1280467467.13603") :method
 .annotate 'line', 5
     new $P84, "ResizablePMCArray"
     push $P84, ""
@@ -1722,7 +1722,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "nullterm_alt"  :subid("38_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "nullterm_alt"  :subid("38_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 5
     .local string rx87_tgt
     .local int rx87_pos
@@ -1784,7 +1784,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm_alt"  :subid("39_1279589159.66297") :method
+.sub "!PREFIX__nullterm_alt"  :subid("39_1280467467.13603") :method
 .annotate 'line', 5
     $P89 = self."!PREFIX__!subrule"("nullterm", "")
     new $P90, "ResizablePMCArray"
@@ -1795,7 +1795,7 @@
 
 .namespace ["HLL";"Grammar"]
 .include "except_types.pasm"
-.sub "nulltermish"  :subid("40_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "nulltermish"  :subid("40_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     new $P94, 'ExceptionHandler'
     set_addr $P94, control_93
@@ -1822,7 +1822,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_delimited"  :subid("41_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_delimited"  :subid("41_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx103_tgt
     .local int rx103_pos
@@ -1916,7 +1916,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_delimited"  :subid("42_1279589159.66297") :method
+.sub "!PREFIX__quote_delimited"  :subid("42_1280467467.13603") :method
 .annotate 'line', 33
     $P105 = self."!PREFIX__!subrule"("starter", "")
     new $P106, "ResizablePMCArray"
@@ -1926,7 +1926,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_atom"  :subid("43_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_atom"  :subid("43_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx111_tgt
     .local int rx111_pos
@@ -2023,7 +2023,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_atom"  :subid("44_1279589159.66297") :method
+.sub "!PREFIX__quote_atom"  :subid("44_1280467467.13603") :method
 .annotate 'line', 33
     new $P113, "ResizablePMCArray"
     push $P113, ""
@@ -2032,7 +2032,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "decint"  :subid("45_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "decint"  :subid("45_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx120_tgt
     .local int rx120_pos
@@ -2110,7 +2110,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decint"  :subid("46_1279589159.66297") :method
+.sub "!PREFIX__decint"  :subid("46_1280467467.13603") :method
 .annotate 'line', 33
     new $P122, "ResizablePMCArray"
     push $P122, ""
@@ -2119,7 +2119,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "decints"  :subid("47_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "decints"  :subid("47_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx126_tgt
     .local int rx126_pos
@@ -2209,7 +2209,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decints"  :subid("48_1279589159.66297") :method
+.sub "!PREFIX__decints"  :subid("48_1280467467.13603") :method
 .annotate 'line', 33
     new $P128, "ResizablePMCArray"
     push $P128, ""
@@ -2218,7 +2218,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexint"  :subid("49_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "hexint"  :subid("49_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx132_tgt
     .local int rx132_pos
@@ -2307,7 +2307,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexint"  :subid("50_1279589159.66297") :method
+.sub "!PREFIX__hexint"  :subid("50_1280467467.13603") :method
 .annotate 'line', 33
     new $P134, "ResizablePMCArray"
     push $P134, ""
@@ -2316,7 +2316,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "hexints"  :subid("51_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "hexints"  :subid("51_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx139_tgt
     .local int rx139_pos
@@ -2406,7 +2406,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints"  :subid("52_1279589159.66297") :method
+.sub "!PREFIX__hexints"  :subid("52_1280467467.13603") :method
 .annotate 'line', 33
     new $P141, "ResizablePMCArray"
     push $P141, ""
@@ -2415,7 +2415,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octint"  :subid("53_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "octint"  :subid("53_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx145_tgt
     .local int rx145_pos
@@ -2504,7 +2504,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octint"  :subid("54_1279589159.66297") :method
+.sub "!PREFIX__octint"  :subid("54_1280467467.13603") :method
 .annotate 'line', 33
     new $P147, "ResizablePMCArray"
     push $P147, ""
@@ -2513,7 +2513,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "octints"  :subid("55_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "octints"  :subid("55_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx152_tgt
     .local int rx152_pos
@@ -2603,7 +2603,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octints"  :subid("56_1279589159.66297") :method
+.sub "!PREFIX__octints"  :subid("56_1280467467.13603") :method
 .annotate 'line', 33
     new $P154, "ResizablePMCArray"
     push $P154, ""
@@ -2612,7 +2612,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binint"  :subid("57_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "binint"  :subid("57_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx158_tgt
     .local int rx158_pos
@@ -2701,7 +2701,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binint"  :subid("58_1279589159.66297") :method
+.sub "!PREFIX__binint"  :subid("58_1280467467.13603") :method
 .annotate 'line', 33
     new $P160, "ResizablePMCArray"
     push $P160, ""
@@ -2710,7 +2710,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "binints"  :subid("59_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "binints"  :subid("59_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx165_tgt
     .local int rx165_pos
@@ -2800,7 +2800,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binints"  :subid("60_1279589159.66297") :method
+.sub "!PREFIX__binints"  :subid("60_1280467467.13603") :method
 .annotate 'line', 33
     new $P167, "ResizablePMCArray"
     push $P167, ""
@@ -2809,7 +2809,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "integer"  :subid("61_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "integer"  :subid("61_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx171_tgt
     .local int rx171_pos
@@ -2961,7 +2961,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__integer"  :subid("62_1279589159.66297") :method
+.sub "!PREFIX__integer"  :subid("62_1280467467.13603") :method
 .annotate 'line', 33
     $P173 = self."!PREFIX__!subrule"("decint", "")
     $P174 = self."!PREFIX__!subrule"("decint", "0d")
@@ -2979,7 +2979,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "dec_number"  :subid("63_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "dec_number"  :subid("63_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx183_tgt
     .local int rx183_pos
@@ -3176,7 +3176,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__dec_number"  :subid("64_1279589159.66297") :method
+.sub "!PREFIX__dec_number"  :subid("64_1280467467.13603") :method
 .annotate 'line', 33
     new $P185, "ResizablePMCArray"
     push $P185, ""
@@ -3187,7 +3187,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "escale"  :subid("65_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "escale"  :subid("65_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx196_tgt
     .local int rx196_pos
@@ -3269,7 +3269,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__escale"  :subid("66_1279589159.66297") :method
+.sub "!PREFIX__escale"  :subid("66_1280467467.13603") :method
 .annotate 'line', 33
     new $P198, "ResizablePMCArray"
     push $P198, "e"
@@ -3279,7 +3279,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape"  :subid("67_1279589159.66297") :method
+.sub "quote_escape"  :subid("67_1280467467.13603") :method
 .annotate 'line', 79
     $P202 = self."!protoregex"("quote_escape")
     .return ($P202)
@@ -3287,7 +3287,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape"  :subid("68_1279589159.66297") :method
+.sub "!PREFIX__quote_escape"  :subid("68_1280467467.13603") :method
 .annotate 'line', 79
     $P204 = self."!PREFIX__!protoregex"("quote_escape")
     .return ($P204)
@@ -3295,7 +3295,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<backslash>"  :subid("69_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<backslash>"  :subid("69_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx206_tgt
     .local int rx206_pos
@@ -3361,7 +3361,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<backslash>"  :subid("70_1280467467.13603") :method
 .annotate 'line', 33
     new $P208, "ResizablePMCArray"
     push $P208, "\\\\"
@@ -3370,7 +3370,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<stopper>"  :subid("71_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<stopper>"  :subid("71_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx211_tgt
     .local int rx211_pos
@@ -3443,7 +3443,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<stopper>"  :subid("72_1280467467.13603") :method
 .annotate 'line', 33
     new $P213, "ResizablePMCArray"
     push $P213, "\\"
@@ -3452,7 +3452,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<bs>"  :subid("73_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<bs>"  :subid("73_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx216_tgt
     .local int rx216_pos
@@ -3518,7 +3518,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<bs>"  :subid("74_1280467467.13603") :method
 .annotate 'line', 33
     new $P218, "ResizablePMCArray"
     push $P218, "\\b"
@@ -3527,7 +3527,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<nl>"  :subid("75_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<nl>"  :subid("75_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx221_tgt
     .local int rx221_pos
@@ -3593,7 +3593,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<nl>"  :subid("76_1280467467.13603") :method
 .annotate 'line', 33
     new $P223, "ResizablePMCArray"
     push $P223, "\\n"
@@ -3602,7 +3602,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<cr>"  :subid("77_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<cr>"  :subid("77_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx226_tgt
     .local int rx226_pos
@@ -3668,7 +3668,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<cr>"  :subid("78_1280467467.13603") :method
 .annotate 'line', 33
     new $P228, "ResizablePMCArray"
     push $P228, "\\r"
@@ -3677,7 +3677,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<tab>"  :subid("79_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<tab>"  :subid("79_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx231_tgt
     .local int rx231_pos
@@ -3743,7 +3743,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<tab>"  :subid("80_1280467467.13603") :method
 .annotate 'line', 33
     new $P233, "ResizablePMCArray"
     push $P233, "\\t"
@@ -3752,7 +3752,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<ff>"  :subid("81_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<ff>"  :subid("81_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx236_tgt
     .local int rx236_pos
@@ -3818,7 +3818,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<ff>"  :subid("82_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<ff>"  :subid("82_1280467467.13603") :method
 .annotate 'line', 33
     new $P238, "ResizablePMCArray"
     push $P238, "\\f"
@@ -3827,7 +3827,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<esc>"  :subid("83_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<esc>"  :subid("83_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx241_tgt
     .local int rx241_pos
@@ -3893,7 +3893,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>"  :subid("84_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<esc>"  :subid("84_1280467467.13603") :method
 .annotate 'line', 33
     new $P243, "ResizablePMCArray"
     push $P243, "\\e"
@@ -3902,7 +3902,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<hex>"  :subid("85_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<hex>"  :subid("85_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx246_tgt
     .local int rx246_pos
@@ -4004,7 +4004,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<hex>"  :subid("86_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<hex>"  :subid("86_1280467467.13603") :method
 .annotate 'line', 33
     new $P248, "ResizablePMCArray"
     push $P248, unicode:"\\x"
@@ -4013,7 +4013,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<oct>"  :subid("87_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<oct>"  :subid("87_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx252_tgt
     .local int rx252_pos
@@ -4115,7 +4115,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<oct>"  :subid("88_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<oct>"  :subid("88_1280467467.13603") :method
 .annotate 'line', 33
     new $P254, "ResizablePMCArray"
     push $P254, "\\o"
@@ -4124,7 +4124,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<chr>"  :subid("89_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<chr>"  :subid("89_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx258_tgt
     .local int rx258_pos
@@ -4197,7 +4197,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<chr>"  :subid("90_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<chr>"  :subid("90_1280467467.13603") :method
 .annotate 'line', 33
     new $P260, "ResizablePMCArray"
     push $P260, "\\c"
@@ -4206,7 +4206,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<0>"  :subid("91_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<0>"  :subid("91_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx263_tgt
     .local int rx263_pos
@@ -4293,7 +4293,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<0>"  :subid("92_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<0>"  :subid("92_1280467467.13603") :method
 .annotate 'line', 33
     new $P265, "ResizablePMCArray"
     push $P265, "\\0"
@@ -4302,13 +4302,13 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<misc>"  :subid("93_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "quote_escape:sym<misc>"  :subid("93_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
-    .const 'Sub' $P288 = "97_1279589159.66297" 
+    .const 'Sub' $P288 = "97_1280467467.13603" 
     capture_lex $P288
-    .const 'Sub' $P281 = "96_1279589159.66297" 
+    .const 'Sub' $P281 = "96_1280467467.13603" 
     capture_lex $P281
-    .const 'Sub' $P276 = "95_1279589159.66297" 
+    .const 'Sub' $P276 = "95_1280467467.13603" 
     capture_lex $P276
     .local string rx269_tgt
     .local int rx269_pos
@@ -4346,7 +4346,7 @@
     find_lex $P273, unicode:"$\x{a2}"
     $P274 = $P273."MATCH"()
     store_lex "$/", $P274
-    .const 'Sub' $P276 = "95_1279589159.66297" 
+    .const 'Sub' $P276 = "95_1280467467.13603" 
     capture_lex $P276
     $P277 = $P276()
   # rx literal  "\\"
@@ -4372,7 +4372,7 @@
 .annotate 'line', 104
   # rx subrule $P281 subtype=capture negate=
     rx269_cur."!cursor_pos"(rx269_pos)
-    .const 'Sub' $P281 = "96_1279589159.66297" 
+    .const 'Sub' $P281 = "96_1280467467.13603" 
     capture_lex $P281
     $P10 = rx269_cur.$P281()
     unless $P10, rx269_fail
@@ -4406,7 +4406,7 @@
     find_lex $P285, unicode:"$\x{a2}"
     $P286 = $P285."MATCH"()
     store_lex "$/", $P286
-    .const 'Sub' $P288 = "97_1279589159.66297" 
+    .const 'Sub' $P288 = "97_1280467467.13603" 
     capture_lex $P288
     $P298 = $P288()
   alt279_end:
@@ -4454,7 +4454,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<misc>"  :subid("94_1279589159.66297") :method
+.sub "!PREFIX__quote_escape:sym<misc>"  :subid("94_1280467467.13603") :method
 .annotate 'line', 33
     new $P271, "ResizablePMCArray"
     push $P271, ""
@@ -4463,14 +4463,14 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block275"  :anon :subid("95_1279589159.66297") :outer("93_1279589159.66297")
+.sub "_block275"  :anon :subid("95_1280467467.13603") :outer("93_1280467467.13603")
 .annotate 'line', 100
     .return ()
 .end
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block280"  :anon :subid("96_1279589159.66297") :method :outer("93_1279589159.66297")
+.sub "_block280"  :anon :subid("96_1280467467.13603") :method :outer("93_1280467467.13603")
 .annotate 'line', 104
     .local string rx282_tgt
     .local int rx282_pos
@@ -4529,7 +4529,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block287"  :anon :subid("97_1279589159.66297") :outer("93_1279589159.66297")
+.sub "_block287"  :anon :subid("97_1280467467.13603") :outer("93_1280467467.13603")
 .annotate 'line', 105
     find_lex $P289, "$/"
     $P290 = $P289."CURSOR"()
@@ -4552,9 +4552,9 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charname"  :subid("98_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "charname"  :subid("98_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
-    .const 'Sub' $P310 = "100_1279589159.66297" 
+    .const 'Sub' $P310 = "100_1280467467.13603" 
     capture_lex $P310
     .local string rx301_tgt
     .local int rx301_pos
@@ -4634,7 +4634,7 @@
 .annotate 'line', 114
   # rx subrule "before" subtype=zerowidth negate=
     rx301_cur."!cursor_pos"(rx301_pos)
-    .const 'Sub' $P310 = "100_1279589159.66297" 
+    .const 'Sub' $P310 = "100_1280467467.13603" 
     capture_lex $P310
     $P10 = rx301_cur."before"($P310)
     unless $P10, rx301_fail
@@ -4661,7 +4661,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charname"  :subid("99_1279589159.66297") :method
+.sub "!PREFIX__charname"  :subid("99_1280467467.13603") :method
 .annotate 'line', 33
     $P303 = self."!PREFIX__!subrule"("integer", "")
     new $P304, "ResizablePMCArray"
@@ -4723,7 +4723,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block309"  :anon :subid("100_1279589159.66297") :method :outer("98_1279589159.66297")
+.sub "_block309"  :anon :subid("100_1280467467.13603") :method :outer("98_1280467467.13603")
 .annotate 'line', 114
     .local string rx311_tgt
     .local int rx311_pos
@@ -4787,7 +4787,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charnames"  :subid("101_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "charnames"  :subid("101_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx314_tgt
     .local int rx314_pos
@@ -4877,7 +4877,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charnames"  :subid("102_1279589159.66297") :method
+.sub "!PREFIX__charnames"  :subid("102_1280467467.13603") :method
 .annotate 'line', 33
     new $P316, "ResizablePMCArray"
     push $P316, ""
@@ -4886,7 +4886,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "charspec"  :subid("103_1279589159.66297") :method :outer("11_1279589159.66297")
+.sub "charspec"  :subid("103_1280467467.13603") :method :outer("11_1280467467.13603")
 .annotate 'line', 33
     .local string rx320_tgt
     .local int rx320_pos
@@ -5022,7 +5022,7 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charspec"  :subid("104_1279589159.66297") :method
+.sub "!PREFIX__charspec"  :subid("104_1280467467.13603") :method
 .annotate 'line', 33
     $P322 = self."!PREFIX__!subrule"("panic", "")
     $P323 = self."!PREFIX__!subrule"("charnames", "[")
@@ -5063,18 +5063,18 @@
 
 
 .namespace ["HLL";"Grammar"]
-.sub "_block328" :load :anon :subid("105_1279589159.66297")
+.sub "_block328" :load :anon :subid("105_1280467467.13603")
 .annotate 'line', 5
-    .const 'Sub' $P330 = "11_1279589159.66297" 
+    .const 'Sub' $P330 = "11_1280467467.13603" 
     $P331 = $P330()
     .return ($P331)
 .end
 
 
 .namespace []
-.sub "_block333" :load :anon :subid("106_1279589159.66297")
+.sub "_block333" :load :anon :subid("106_1280467467.13603")
 .annotate 'line', 1
-    .const 'Sub' $P335 = "10_1279589159.66297" 
+    .const 'Sub' $P335 = "10_1280467467.13603" 
     $P336 = $P335()
     .return ($P336)
 .end
@@ -5082,7 +5082,7 @@
 ### .include 'gen/hllgrammar-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1279589161.01068")
+.sub "_block11"  :anon :subid("10_1280467468.44761")
 .annotate 'line', 0
     get_hll_global $P14, ["HLL";"Actions"], "_block13" 
     capture_lex $P14
@@ -5099,15 +5099,15 @@
     $P627 = $P14()
 .annotate 'line', 1
     .return ($P627)
-    .const 'Sub' $P629 = "55_1279589161.01068" 
+    .const 'Sub' $P629 = "55_1280467468.44761" 
     .return ($P629)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post56") :outer("10_1279589161.01068")
+.sub "" :load :init :subid("post56") :outer("10_1280467468.44761")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1279589161.01068" 
+    .const 'Sub' $P12 = "10_1280467468.44761" 
     .local pmc block
     set block, $P12
     $P632 = get_root_global ["parrot"], "P6metaclass"
@@ -5116,75 +5116,75 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block13"  :subid("11_1279589161.01068") :outer("10_1279589161.01068")
+.sub "_block13"  :subid("11_1280467468.44761") :outer("10_1280467468.44761")
 .annotate 'line', 3
-    .const 'Sub' $P605 = "53_1279589161.01068" 
+    .const 'Sub' $P605 = "53_1280467468.44761" 
     capture_lex $P605
-    .const 'Sub' $P580 = "51_1279589161.01068" 
+    .const 'Sub' $P580 = "51_1280467468.44761" 
     capture_lex $P580
-    .const 'Sub' $P550 = "50_1279589161.01068" 
+    .const 'Sub' $P550 = "50_1280467468.44761" 
     capture_lex $P550
-    .const 'Sub' $P531 = "49_1279589161.01068" 
+    .const 'Sub' $P531 = "49_1280467468.44761" 
     capture_lex $P531
-    .const 'Sub' $P524 = "48_1279589161.01068" 
+    .const 'Sub' $P524 = "48_1280467468.44761" 
     capture_lex $P524
-    .const 'Sub' $P514 = "47_1279589161.01068" 
+    .const 'Sub' $P514 = "47_1280467468.44761" 
     capture_lex $P514
-    .const 'Sub' $P497 = "46_1279589161.01068" 
+    .const 'Sub' $P497 = "46_1280467468.44761" 
     capture_lex $P497
-    .const 'Sub' $P480 = "45_1279589161.01068" 
+    .const 'Sub' $P480 = "45_1280467468.44761" 
     capture_lex $P480
-    .const 'Sub' $P473 = "44_1279589161.01068" 
+    .const 'Sub' $P473 = "44_1280467468.44761" 
     capture_lex $P473
-    .const 'Sub' $P466 = "43_1279589161.01068" 
+    .const 'Sub' $P466 = "43_1280467468.44761" 
     capture_lex $P466
-    .const 'Sub' $P459 = "42_1279589161.01068" 
+    .const 'Sub' $P459 = "42_1280467468.44761" 
     capture_lex $P459
-    .const 'Sub' $P452 = "41_1279589161.01068" 
+    .const 'Sub' $P452 = "41_1280467468.44761" 
     capture_lex $P452
-    .const 'Sub' $P445 = "40_1279589161.01068" 
+    .const 'Sub' $P445 = "40_1280467468.44761" 
     capture_lex $P445
-    .const 'Sub' $P438 = "39_1279589161.01068" 
+    .const 'Sub' $P438 = "39_1280467468.44761" 
     capture_lex $P438
-    .const 'Sub' $P428 = "38_1279589161.01068" 
+    .const 'Sub' $P428 = "38_1280467468.44761" 
     capture_lex $P428
-    .const 'Sub' $P421 = "37_1279589161.01068" 
+    .const 'Sub' $P421 = "37_1280467468.44761" 
     capture_lex $P421
-    .const 'Sub' $P405 = "36_1279589161.01068" 
+    .const 'Sub' $P405 = "36_1280467468.44761" 
     capture_lex $P405
-    .const 'Sub' $P330 = "34_1279589161.01068" 
+    .const 'Sub' $P330 = "34_1280467468.44761" 
     capture_lex $P330
-    .const 'Sub' $P267 = "31_1279589161.01068" 
+    .const 'Sub' $P267 = "31_1280467468.44761" 
     capture_lex $P267
-    .const 'Sub' $P258 = "30_1279589161.01068" 
+    .const 'Sub' $P258 = "30_1280467468.44761" 
     capture_lex $P258
-    .const 'Sub' $P249 = "29_1279589161.01068" 
+    .const 'Sub' $P249 = "29_1280467468.44761" 
     capture_lex $P249
-    .const 'Sub' $P240 = "28_1279589161.01068" 
+    .const 'Sub' $P240 = "28_1280467468.44761" 
     capture_lex $P240
-    .const 'Sub' $P231 = "27_1279589161.01068" 
+    .const 'Sub' $P231 = "27_1280467468.44761" 
     capture_lex $P231
-    .const 'Sub' $P222 = "26_1279589161.01068" 
+    .const 'Sub' $P222 = "26_1280467468.44761" 
     capture_lex $P222
-    .const 'Sub' $P212 = "25_1279589161.01068" 
+    .const 'Sub' $P212 = "25_1280467468.44761" 
     capture_lex $P212
-    .const 'Sub' $P202 = "24_1279589161.01068" 
+    .const 'Sub' $P202 = "24_1280467468.44761" 
     capture_lex $P202
-    .const 'Sub' $P194 = "23_1279589161.01068" 
+    .const 'Sub' $P194 = "23_1280467468.44761" 
     capture_lex $P194
-    .const 'Sub' $P184 = "22_1279589161.01068" 
+    .const 'Sub' $P184 = "22_1280467468.44761" 
     capture_lex $P184
-    .const 'Sub' $P174 = "21_1279589161.01068" 
+    .const 'Sub' $P174 = "21_1280467468.44761" 
     capture_lex $P174
-    .const 'Sub' $P73 = "18_1279589161.01068" 
+    .const 'Sub' $P73 = "18_1280467468.44761" 
     capture_lex $P73
-    .const 'Sub' $P35 = "15_1279589161.01068" 
+    .const 'Sub' $P35 = "15_1280467468.44761" 
     capture_lex $P35
-    .const 'Sub' $P28 = "14_1279589161.01068" 
+    .const 'Sub' $P28 = "14_1280467468.44761" 
     capture_lex $P28
-    .const 'Sub' $P22 = "13_1279589161.01068" 
+    .const 'Sub' $P22 = "13_1280467468.44761" 
     capture_lex $P22
-    .const 'Sub' $P15 = "12_1279589161.01068" 
+    .const 'Sub' $P15 = "12_1280467468.44761" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -5193,18 +5193,18 @@
     $P0."ctxsave"()
   ctxsave_done:
 .annotate 'line', 225
-    .const 'Sub' $P605 = "53_1279589161.01068" 
+    .const 'Sub' $P605 = "53_1280467468.44761" 
     newclosure $P622, $P605
 .annotate 'line', 3
     .return ($P622)
-    .const 'Sub' $P624 = "54_1279589161.01068" 
+    .const 'Sub' $P624 = "54_1280467468.44761" 
     .return ($P624)
 .end
 
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "string_to_int"  :subid("12_1279589161.01068") :outer("11_1279589161.01068")
+.sub "string_to_int"  :subid("12_1280467468.44761") :outer("11_1280467468.44761")
     .param pmc param_18
     .param pmc param_19
 .annotate 'line', 3
@@ -5258,7 +5258,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "ints_to_string"  :subid("13_1279589161.01068") :outer("11_1279589161.01068")
+.sub "ints_to_string"  :subid("13_1280467468.44761") :outer("11_1280467468.44761")
     .param pmc param_25
 .annotate 'line', 37
     new $P24, 'ExceptionHandler'
@@ -5300,7 +5300,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "CTXSAVE"  :subid("14_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "CTXSAVE"  :subid("14_1280467468.44761") :method :outer("11_1280467468.44761")
 .annotate 'line', 62
     new $P30, 'ExceptionHandler'
     set_addr $P30, control_29
@@ -5330,10 +5330,10 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "SET_BLOCK_OUTER_CTX"  :subid("15_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "SET_BLOCK_OUTER_CTX"  :subid("15_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_38
 .annotate 'line', 76
-    .const 'Sub' $P48 = "16_1279589161.01068" 
+    .const 'Sub' $P48 = "16_1280467468.44761" 
     capture_lex $P48
     new $P37, 'ExceptionHandler'
     set_addr $P37, control_36
@@ -5368,7 +5368,7 @@
     set $P43, $I46
     goto if_44_end
   if_44:
-    .const 'Sub' $P48 = "16_1279589161.01068" 
+    .const 'Sub' $P48 = "16_1280467468.44761" 
     capture_lex $P48
     $P71 = $P48()
     set $P43, $P71
@@ -5385,9 +5385,9 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "_block47"  :anon :subid("16_1279589161.01068") :outer("15_1279589161.01068")
+.sub "_block47"  :anon :subid("16_1280467468.44761") :outer("15_1280467468.44761")
 .annotate 'line', 78
-    .const 'Sub' $P62 = "17_1279589161.01068" 
+    .const 'Sub' $P62 = "17_1280467468.44761" 
     capture_lex $P62
 .annotate 'line', 79
     $P49 = root_new ['parrot';'ResizablePMCArray']
@@ -5417,7 +5417,7 @@
     unless $P56, loop68_done
     shift $P60, $P56
   loop68_redo:
-    .const 'Sub' $P62 = "17_1279589161.01068" 
+    .const 'Sub' $P62 = "17_1280467468.44761" 
     capture_lex $P62
     $P62($P60)
   loop68_next:
@@ -5437,7 +5437,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block61"  :anon :subid("17_1279589161.01068") :outer("16_1279589161.01068")
+.sub "_block61"  :anon :subid("17_1280467468.44761") :outer("16_1280467468.44761")
     .param pmc param_63
 .annotate 'line', 82
     .lex "$_", param_63
@@ -5453,14 +5453,14 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "EXPR"  :subid("18_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "EXPR"  :subid("18_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_76
     .param pmc param_77 :optional
     .param int has_param_77 :opt_flag
 .annotate 'line', 89
-    .const 'Sub' $P156 = "20_1279589161.01068" 
+    .const 'Sub' $P156 = "20_1280467468.44761" 
     capture_lex $P156
-    .const 'Sub' $P123 = "19_1279589161.01068" 
+    .const 'Sub' $P123 = "19_1280467468.44761" 
     capture_lex $P123
     new $P75, 'ExceptionHandler'
     set_addr $P75, control_74
@@ -5595,7 +5595,7 @@
     find_lex $P120, "$past"
     $P121 = $P120."name"()
     if $P121, unless_119_end
-    .const 'Sub' $P123 = "19_1279589161.01068" 
+    .const 'Sub' $P123 = "19_1280467468.44761" 
     capture_lex $P123
     $P123()
   unless_119_end:
@@ -5619,7 +5619,7 @@
     unless $P150, loop167_done
     shift $P154, $P150
   loop167_redo:
-    .const 'Sub' $P156 = "20_1279589161.01068" 
+    .const 'Sub' $P156 = "20_1280467468.44761" 
     capture_lex $P156
     $P156($P154)
   loop167_next:
@@ -5664,7 +5664,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block122"  :anon :subid("19_1279589161.01068") :outer("18_1279589161.01068")
+.sub "_block122"  :anon :subid("19_1280467468.44761") :outer("18_1280467468.44761")
 .annotate 'line', 98
     new $P124, "Undef"
     .lex "$name", $P124
@@ -5714,7 +5714,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block155"  :anon :subid("20_1279589161.01068") :outer("18_1279589161.01068")
+.sub "_block155"  :anon :subid("20_1280467468.44761") :outer("18_1280467468.44761")
     .param pmc param_157
 .annotate 'line', 109
     .lex "$_", param_157
@@ -5738,7 +5738,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<circumfix>"  :subid("21_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "term:sym<circumfix>"  :subid("21_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_177
 .annotate 'line', 114
     new $P176, 'ExceptionHandler'
@@ -5769,7 +5769,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "termish"  :subid("22_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "termish"  :subid("22_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_187
 .annotate 'line', 116
     new $P186, 'ExceptionHandler'
@@ -5800,7 +5800,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "nullterm"  :subid("23_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "nullterm"  :subid("23_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_197
 .annotate 'line', 117
     new $P196, 'ExceptionHandler'
@@ -5823,7 +5823,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "nullterm_alt"  :subid("24_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "nullterm_alt"  :subid("24_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_205
 .annotate 'line', 118
     new $P204, 'ExceptionHandler'
@@ -5854,7 +5854,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "integer"  :subid("25_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "integer"  :subid("25_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_215
 .annotate 'line', 120
     new $P214, 'ExceptionHandler'
@@ -5885,7 +5885,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "dec_number"  :subid("26_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "dec_number"  :subid("26_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_225
 .annotate 'line', 122
     new $P224, 'ExceptionHandler'
@@ -5909,7 +5909,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "decint"  :subid("27_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "decint"  :subid("27_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_234
 .annotate 'line', 124
     new $P233, 'ExceptionHandler'
@@ -5933,7 +5933,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "hexint"  :subid("28_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "hexint"  :subid("28_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_243
 .annotate 'line', 125
     new $P242, 'ExceptionHandler'
@@ -5957,7 +5957,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "octint"  :subid("29_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "octint"  :subid("29_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_252
 .annotate 'line', 126
     new $P251, 'ExceptionHandler'
@@ -5981,7 +5981,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "binint"  :subid("30_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "binint"  :subid("30_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_261
 .annotate 'line', 127
     new $P260, 'ExceptionHandler'
@@ -6005,10 +6005,10 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_EXPR"  :subid("31_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_EXPR"  :subid("31_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_270
 .annotate 'line', 129
-    .const 'Sub' $P286 = "32_1279589161.01068" 
+    .const 'Sub' $P286 = "32_1280467468.44761" 
     capture_lex $P286
     new $P269, 'ExceptionHandler'
     set_addr $P269, control_268
@@ -6040,7 +6040,7 @@
     $P282 = $P280."ACCEPTS"($P281)
     if $P282, if_279
 .annotate 'line', 135
-    .const 'Sub' $P286 = "32_1279589161.01068" 
+    .const 'Sub' $P286 = "32_1280467468.44761" 
     capture_lex $P286
     $P286()
     goto if_279_end
@@ -6080,9 +6080,9 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "_block285"  :anon :subid("32_1279589161.01068") :outer("31_1279589161.01068")
+.sub "_block285"  :anon :subid("32_1280467468.44761") :outer("31_1280467468.44761")
 .annotate 'line', 135
-    .const 'Sub' $P305 = "33_1279589161.01068" 
+    .const 'Sub' $P305 = "33_1280467468.44761" 
     capture_lex $P305
 .annotate 'line', 136
     $P287 = root_new ['parrot';'ResizablePMCArray']
@@ -6133,7 +6133,7 @@
     unless $P300, loop310_done
     shift $P303, $P300
   loop310_redo:
-    .const 'Sub' $P305 = "33_1279589161.01068" 
+    .const 'Sub' $P305 = "33_1280467468.44761" 
     capture_lex $P305
     $P305($P303)
   loop310_next:
@@ -6156,7 +6156,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block304"  :anon :subid("33_1279589161.01068") :outer("32_1279589161.01068")
+.sub "_block304"  :anon :subid("33_1280467468.44761") :outer("32_1280467468.44761")
     .param pmc param_306
 .annotate 'line', 139
     .lex "$_", param_306
@@ -6169,10 +6169,10 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_delimited"  :subid("34_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_delimited"  :subid("34_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_333
 .annotate 'line', 152
-    .const 'Sub' $P345 = "35_1279589161.01068" 
+    .const 'Sub' $P345 = "35_1280467468.44761" 
     capture_lex $P345
     new $P332, 'ExceptionHandler'
     set_addr $P332, control_331
@@ -6215,7 +6215,7 @@
     unless $P339, loop377_done
     shift $P343, $P339
   loop377_redo:
-    .const 'Sub' $P345 = "35_1279589161.01068" 
+    .const 'Sub' $P345 = "35_1280467468.44761" 
     capture_lex $P345
     $P345($P343)
   loop377_next:
@@ -6293,7 +6293,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block344"  :anon :subid("35_1279589161.01068") :outer("34_1279589161.01068")
+.sub "_block344"  :anon :subid("35_1280467468.44761") :outer("34_1280467468.44761")
     .param pmc param_347
 .annotate 'line', 156
     new $P346, "Undef"
@@ -6363,7 +6363,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_atom"  :subid("36_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_atom"  :subid("36_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_408
 .annotate 'line', 177
     new $P407, 'ExceptionHandler'
@@ -6413,7 +6413,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<backslash>"  :subid("37_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_escape:sym<backslash>"  :subid("37_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_424
 .annotate 'line', 181
     new $P423, 'ExceptionHandler'
@@ -6435,7 +6435,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<stopper>"  :subid("38_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_escape:sym<stopper>"  :subid("38_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_431
 .annotate 'line', 182
     new $P430, 'ExceptionHandler'
@@ -6466,7 +6466,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<bs>"  :subid("39_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_escape:sym<bs>"  :subid("39_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_441
 .annotate 'line', 184
     new $P440, 'ExceptionHandler'
@@ -6488,7 +6488,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<nl>"  :subid("40_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_escape:sym<nl>"  :subid("40_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_448
 .annotate 'line', 185
     new $P447, 'ExceptionHandler'
@@ -6510,7 +6510,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<cr>"  :subid("41_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_escape:sym<cr>"  :subid("41_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_455
 .annotate 'line', 186
     new $P454, 'ExceptionHandler'
@@ -6532,7 +6532,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<tab>"  :subid("42_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_escape:sym<tab>"  :subid("42_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_462
 .annotate 'line', 187
     new $P461, 'ExceptionHandler'
@@ -6554,7 +6554,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<ff>"  :subid("43_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_escape:sym<ff>"  :subid("43_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_469
 .annotate 'line', 188
     new $P468, 'ExceptionHandler'
@@ -6576,7 +6576,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<esc>"  :subid("44_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_escape:sym<esc>"  :subid("44_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_476
 .annotate 'line', 189
     new $P475, 'ExceptionHandler'
@@ -6598,7 +6598,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<hex>"  :subid("45_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_escape:sym<hex>"  :subid("45_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_483
 .annotate 'line', 191
     new $P482, 'ExceptionHandler'
@@ -6657,7 +6657,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<oct>"  :subid("46_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_escape:sym<oct>"  :subid("46_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_500
 .annotate 'line', 195
     new $P499, 'ExceptionHandler'
@@ -6716,7 +6716,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<chr>"  :subid("47_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_escape:sym<chr>"  :subid("47_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_517
 .annotate 'line', 199
     new $P516, 'ExceptionHandler'
@@ -6749,7 +6749,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<0>"  :subid("48_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_escape:sym<0>"  :subid("48_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_527
 .annotate 'line', 203
     new $P526, 'ExceptionHandler'
@@ -6773,7 +6773,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<misc>"  :subid("49_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "quote_escape:sym<misc>"  :subid("49_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_534
 .annotate 'line', 207
     new $P533, 'ExceptionHandler'
@@ -6832,7 +6832,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "charname"  :subid("50_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "charname"  :subid("50_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_553
 .annotate 'line', 211
     new $P552, 'ExceptionHandler'
@@ -6906,10 +6906,10 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "charnames"  :subid("51_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "charnames"  :subid("51_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_583
 .annotate 'line', 219
-    .const 'Sub' $P592 = "52_1279589161.01068" 
+    .const 'Sub' $P592 = "52_1280467468.44761" 
     capture_lex $P592
     new $P582, 'ExceptionHandler'
     set_addr $P582, control_581
@@ -6943,7 +6943,7 @@
     unless $P586, loop598_done
     shift $P590, $P586
   loop598_redo:
-    .const 'Sub' $P592 = "52_1279589161.01068" 
+    .const 'Sub' $P592 = "52_1280467468.44761" 
     capture_lex $P592
     $P592($P590)
   loop598_next:
@@ -6972,7 +6972,7 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block591"  :anon :subid("52_1279589161.01068") :outer("51_1279589161.01068")
+.sub "_block591"  :anon :subid("52_1280467468.44761") :outer("51_1280467468.44761")
     .param pmc param_593
 .annotate 'line', 221
     .lex "$_", param_593
@@ -6987,7 +6987,7 @@
 
 .namespace ["HLL";"Actions"]
 .include "except_types.pasm"
-.sub "charspec"  :subid("53_1279589161.01068") :method :outer("11_1279589161.01068")
+.sub "charspec"  :subid("53_1280467468.44761") :method :outer("11_1280467468.44761")
     .param pmc param_608
 .annotate 'line', 225
     new $P607, 'ExceptionHandler'
@@ -7037,18 +7037,18 @@
 
 
 .namespace ["HLL";"Actions"]
-.sub "_block623" :load :anon :subid("54_1279589161.01068")
+.sub "_block623" :load :anon :subid("54_1280467468.44761")
 .annotate 'line', 3
-    .const 'Sub' $P625 = "11_1279589161.01068" 
+    .const 'Sub' $P625 = "11_1280467468.44761" 
     $P626 = $P625()
     .return ($P626)
 .end
 
 
 .namespace []
-.sub "_block628" :load :anon :subid("55_1279589161.01068")
+.sub "_block628" :load :anon :subid("55_1280467468.44761")
 .annotate 'line', 1
-    .const 'Sub' $P630 = "10_1279589161.01068" 
+    .const 'Sub' $P630 = "10_1280467468.44761" 
     $P631 = $P630()
     .return ($P631)
 .end
@@ -7056,7 +7056,7 @@
 ### .include 'gen/hllcompiler.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1279589161.87188")
+.sub "_block11"  :anon :subid("10_1280467469.30058")
 .annotate 'line', 0
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     capture_lex $P14
@@ -7073,15 +7073,15 @@
     $P497 = $P14()
 .annotate 'line', 1
     .return ($P497)
-    .const 'Sub' $P499 = "36_1279589161.87188" 
+    .const 'Sub' $P499 = "36_1280467469.30058" 
     .return ($P499)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post37") :outer("10_1279589161.87188")
+.sub "" :load :init :subid("post37") :outer("10_1280467469.30058")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1279589161.87188" 
+    .const 'Sub' $P12 = "10_1280467469.30058" 
     .local pmc block
     set block, $P12
 .annotate 'line', 2
@@ -7095,36 +7095,36 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block13"  :subid("11_1279589161.87188") :outer("10_1279589161.87188")
+.sub "_block13"  :subid("11_1280467469.30058") :outer("10_1280467469.30058")
 .annotate 'line', 6
-    .const 'Sub' $P489 = "35_1279589161.87188" 
+    .const 'Sub' $P489 = "35_1280467469.30058" 
     capture_lex $P489
-    .const 'Sub' $P447 = "33_1279589161.87188" 
+    .const 'Sub' $P447 = "33_1280467469.30058" 
     capture_lex $P447
-    .const 'Sub' $P298 = "26_1279589161.87188" 
+    .const 'Sub' $P298 = "26_1280467469.30058" 
     capture_lex $P298
-    .const 'Sub' $P283 = "25_1279589161.87188" 
+    .const 'Sub' $P283 = "25_1280467469.30058" 
     capture_lex $P283
-    .const 'Sub' $P188 = "20_1279589161.87188" 
+    .const 'Sub' $P188 = "20_1280467469.30058" 
     capture_lex $P188
-    .const 'Sub' $P153 = "18_1279589161.87188" 
+    .const 'Sub' $P153 = "18_1280467469.30058" 
     capture_lex $P153
-    .const 'Sub' $P138 = "17_1279589161.87188" 
+    .const 'Sub' $P138 = "17_1280467469.30058" 
     capture_lex $P138
-    .const 'Sub' $P122 = "16_1279589161.87188" 
+    .const 'Sub' $P122 = "16_1280467469.30058" 
     capture_lex $P122
-    .const 'Sub' $P33 = "13_1279589161.87188" 
+    .const 'Sub' $P33 = "13_1280467469.30058" 
     capture_lex $P33
-    .const 'Sub' $P15 = "12_1279589161.87188" 
+    .const 'Sub' $P15 = "12_1280467469.30058" 
     capture_lex $P15
 .annotate 'line', 14
-    .const 'Sub' $P15 = "12_1279589161.87188" 
+    .const 'Sub' $P15 = "12_1280467469.30058" 
     newclosure $P31, $P15
     .lex "value_type", $P31
 .annotate 'line', 10
     find_lex $P32, "value_type"
 .annotate 'line', 165
-    .const 'Sub' $P489 = "35_1279589161.87188" 
+    .const 'Sub' $P489 = "35_1280467469.30058" 
     newclosure $P495, $P489
 .annotate 'line', 6
     .return ($P495)
@@ -7132,7 +7132,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "" :load :init :subid("post38") :outer("11_1279589161.87188")
+.sub "" :load :init :subid("post38") :outer("11_1280467469.30058")
 .annotate 'line', 6
     get_hll_global $P14, ["HLL";"Compiler"], "_block13" 
     .local pmc block
@@ -7145,7 +7145,7 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "value_type"  :subid("12_1279589161.87188") :outer("11_1279589161.87188")
+.sub "value_type"  :subid("12_1280467469.30058") :outer("11_1280467469.30058")
     .param pmc param_18
 .annotate 'line', 14
     new $P17, 'ExceptionHandler'
@@ -7190,15 +7190,15 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "get_exports"  :subid("13_1279589161.87188") :method :outer("11_1279589161.87188")
+.sub "get_exports"  :subid("13_1280467469.30058") :method :outer("11_1280467469.30058")
     .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_1279589161.87188" 
+    .const 'Sub' $P105 = "15_1280467469.30058" 
     capture_lex $P105
-    .const 'Sub' $P84 = "14_1279589161.87188" 
+    .const 'Sub' $P84 = "14_1280467469.30058" 
     capture_lex $P84
     new $P35, 'ExceptionHandler'
     set_addr $P35, control_34
@@ -7304,7 +7304,7 @@
     unless $P100, loop117_done
     shift $P103, $P100
   loop117_redo:
-    .const 'Sub' $P105 = "15_1279589161.87188" 
+    .const 'Sub' $P105 = "15_1280467469.30058" 
     capture_lex $P105
     $P105($P103)
   loop117_next:
@@ -7334,7 +7334,7 @@
     unless $P79, loop97_done
     shift $P82, $P79
   loop97_redo:
-    .const 'Sub' $P84 = "14_1279589161.87188" 
+    .const 'Sub' $P84 = "14_1280467469.30058" 
     capture_lex $P84
     $P84($P82)
   loop97_next:
@@ -7362,7 +7362,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block104"  :anon :subid("15_1279589161.87188") :outer("13_1279589161.87188")
+.sub "_block104"  :anon :subid("15_1280467469.30058") :outer("13_1280467469.30058")
     .param pmc param_107
 .annotate 'line', 40
     new $P106, "Undef"
@@ -7394,7 +7394,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block83"  :anon :subid("14_1279589161.87188") :outer("13_1279589161.87188")
+.sub "_block83"  :anon :subid("14_1280467469.30058") :outer("13_1280467469.30058")
     .param pmc param_86
 .annotate 'line', 34
     new $P85, "Undef"
@@ -7434,7 +7434,7 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "get_module"  :subid("16_1279589161.87188") :method :outer("11_1279589161.87188")
+.sub "get_module"  :subid("16_1280467469.30058") :method :outer("11_1280467469.30058")
     .param pmc param_125
 .annotate 'line', 47
     new $P124, 'ExceptionHandler'
@@ -7475,7 +7475,7 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "language"  :subid("17_1279589161.87188") :method :outer("11_1279589161.87188")
+.sub "language"  :subid("17_1280467469.30058") :method :outer("11_1280467469.30058")
     .param pmc param_141 :optional
     .param int has_param_141 :opt_flag
 .annotate 'line', 53
@@ -7520,10 +7520,10 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "load_module"  :subid("18_1279589161.87188") :method :outer("11_1279589161.87188")
+.sub "load_module"  :subid("18_1280467469.30058") :method :outer("11_1280467469.30058")
     .param pmc param_156
 .annotate 'line', 61
-    .const 'Sub' $P166 = "19_1279589161.87188" 
+    .const 'Sub' $P166 = "19_1280467469.30058" 
     capture_lex $P166
     new $P155, 'ExceptionHandler'
     set_addr $P155, control_154
@@ -7550,7 +7550,7 @@
     assign $P164, 0
     store_lex "$loaded", $P164
 .annotate 'line', 64
-    .const 'Sub' $P166 = "19_1279589161.87188" 
+    .const 'Sub' $P166 = "19_1280467469.30058" 
     capture_lex $P166
     $P166()
 .annotate 'line', 65
@@ -7580,7 +7580,7 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block165"  :anon :subid("19_1279589161.87188") :outer("18_1279589161.87188")
+.sub "_block165"  :anon :subid("19_1280467469.30058") :outer("18_1280467469.30058")
 .annotate 'line', 64
     new $P173, 'ExceptionHandler'
     set_addr $P173, control_172
@@ -7614,11 +7614,11 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "import"  :subid("20_1279589161.87188") :method :outer("11_1279589161.87188")
+.sub "import"  :subid("20_1280467469.30058") :method :outer("11_1280467469.30058")
     .param pmc param_191
     .param pmc param_192
 .annotate 'line', 69
-    .const 'Sub' $P198 = "21_1279589161.87188" 
+    .const 'Sub' $P198 = "21_1280467469.30058" 
     capture_lex $P198
     new $P190, 'ExceptionHandler'
     set_addr $P190, control_189
@@ -7640,7 +7640,7 @@
     unless $P193, loop279_done
     shift $P196, $P193
   loop279_redo:
-    .const 'Sub' $P198 = "21_1279589161.87188" 
+    .const 'Sub' $P198 = "21_1280467469.30058" 
     capture_lex $P198
     $P198($P196)
   loop279_next:
@@ -7666,14 +7666,14 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block197"  :anon :subid("21_1279589161.87188") :outer("20_1279589161.87188")
+.sub "_block197"  :anon :subid("21_1280467469.30058") :outer("20_1280467469.30058")
     .param pmc param_201
 .annotate 'line', 70
-    .const 'Sub' $P268 = "24_1279589161.87188" 
+    .const 'Sub' $P268 = "24_1280467469.30058" 
     capture_lex $P268
-    .const 'Sub' $P248 = "23_1279589161.87188" 
+    .const 'Sub' $P248 = "23_1280467469.30058" 
     capture_lex $P248
-    .const 'Sub' $P219 = "22_1279589161.87188" 
+    .const 'Sub' $P219 = "22_1280467469.30058" 
     capture_lex $P219
 .annotate 'line', 71
     new $P199, "Undef"
@@ -7721,7 +7721,7 @@
     unless $P263, loop276_done
     shift $P266, $P263
   loop276_redo:
-    .const 'Sub' $P268 = "24_1279589161.87188" 
+    .const 'Sub' $P268 = "24_1280467469.30058" 
     capture_lex $P268
     $P268($P266)
   loop276_next:
@@ -7753,7 +7753,7 @@
     unless $P243, loop260_done
     shift $P246, $P243
   loop260_redo:
-    .const 'Sub' $P248 = "23_1279589161.87188" 
+    .const 'Sub' $P248 = "23_1280467469.30058" 
     capture_lex $P248
     $P248($P246)
   loop260_next:
@@ -7787,7 +7787,7 @@
     unless $P214, loop232_done
     shift $P217, $P214
   loop232_redo:
-    .const 'Sub' $P219 = "22_1279589161.87188" 
+    .const 'Sub' $P219 = "22_1280467469.30058" 
     capture_lex $P219
     $P219($P217)
   loop232_next:
@@ -7810,7 +7810,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block267"  :anon :subid("24_1279589161.87188") :outer("21_1279589161.87188")
+.sub "_block267"  :anon :subid("24_1280467469.30058") :outer("21_1280467469.30058")
     .param pmc param_269
 .annotate 'line', 80
     .lex "$_", param_269
@@ -7830,7 +7830,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block247"  :anon :subid("23_1279589161.87188") :outer("21_1279589161.87188")
+.sub "_block247"  :anon :subid("23_1280467469.30058") :outer("21_1280467469.30058")
     .param pmc param_249
 .annotate 'line', 77
     .lex "$_", param_249
@@ -7850,7 +7850,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block218"  :anon :subid("22_1279589161.87188") :outer("21_1279589161.87188")
+.sub "_block218"  :anon :subid("22_1280467469.30058") :outer("21_1280467469.30058")
     .param pmc param_220
 .annotate 'line', 74
     .lex "$_", param_220
@@ -7872,7 +7872,7 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "autoprint"  :subid("25_1279589161.87188") :method :outer("11_1279589161.87188")
+.sub "autoprint"  :subid("25_1280467469.30058") :method :outer("11_1280467469.30058")
     .param pmc param_286
 .annotate 'line', 85
     new $P285, 'ExceptionHandler'
@@ -7916,10 +7916,10 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "interactive"  :subid("26_1279589161.87188") :method :outer("11_1279589161.87188")
+.sub "interactive"  :subid("26_1280467469.30058") :method :outer("11_1280467469.30058")
     .param pmc param_301 :slurpy :named
 .annotate 'line', 90
-    .const 'Sub' $P333 = "27_1279589161.87188" 
+    .const 'Sub' $P333 = "27_1280467469.30058" 
     capture_lex $P333
     new $P300, 'ExceptionHandler'
     set_addr $P300, control_299
@@ -8006,7 +8006,7 @@
     assign $P331, 1
     unless $P331, loop443_done
   loop443_redo:
-    .const 'Sub' $P333 = "27_1279589161.87188" 
+    .const 'Sub' $P333 = "27_1280467469.30058" 
     capture_lex $P333
     $P333()
   loop443_next:
@@ -8031,9 +8031,9 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block332"  :anon :subid("27_1279589161.87188") :outer("26_1279589161.87188")
+.sub "_block332"  :anon :subid("27_1280467469.30058") :outer("26_1280467469.30058")
 .annotate 'line', 102
-    .const 'Sub' $P365 = "28_1279589161.87188" 
+    .const 'Sub' $P365 = "28_1280467469.30058" 
     capture_lex $P365
 .annotate 'line', 105
     new $P334, "Undef"
@@ -8101,7 +8101,7 @@
     set $P361, $P363
     goto if_362_end
   if_362:
-    .const 'Sub' $P365 = "28_1279589161.87188" 
+    .const 'Sub' $P365 = "28_1280467469.30058" 
     capture_lex $P365
     $P442 = $P365()
     set $P361, $P442
@@ -8113,11 +8113,11 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block364"  :anon :subid("28_1279589161.87188") :outer("27_1279589161.87188")
+.sub "_block364"  :anon :subid("28_1280467469.30058") :outer("27_1280467469.30058")
 .annotate 'line', 115
-    .const 'Sub' $P398 = "31_1279589161.87188" 
+    .const 'Sub' $P398 = "31_1280467469.30058" 
     capture_lex $P398
-    .const 'Sub' $P371 = "29_1279589161.87188" 
+    .const 'Sub' $P371 = "29_1280467469.30058" 
     capture_lex $P371
 .annotate 'line', 117
     new $P366, "Undef"
@@ -8128,7 +8128,7 @@
     store_lex "$code", $P368
     find_lex $P369, "$output"
 .annotate 'line', 118
-    .const 'Sub' $P371 = "29_1279589161.87188" 
+    .const 'Sub' $P371 = "29_1280467469.30058" 
     capture_lex $P371
     $P371()
 .annotate 'line', 125
@@ -8141,7 +8141,7 @@
   vivify_67:
     defined $I396, $P395
     unless $I396, if_394_end
-    .const 'Sub' $P398 = "31_1279589161.87188" 
+    .const 'Sub' $P398 = "31_1280467469.30058" 
     capture_lex $P398
     $P398()
   if_394_end:
@@ -8195,9 +8195,9 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block370"  :anon :subid("29_1279589161.87188") :outer("28_1279589161.87188")
+.sub "_block370"  :anon :subid("29_1280467469.30058") :outer("28_1280467469.30058")
 .annotate 'line', 118
-    .const 'Sub' $P383 = "30_1279589161.87188" 
+    .const 'Sub' $P383 = "30_1280467469.30058" 
     capture_lex $P383
     new $P379, 'ExceptionHandler'
     set_addr $P379, control_378
@@ -8217,7 +8217,7 @@
 .annotate 'line', 120
     .local pmc exception 
     .get_results (exception) 
-    .const 'Sub' $P383 = "30_1279589161.87188" 
+    .const 'Sub' $P383 = "30_1280467469.30058" 
     newclosure $P391, $P383
     $P391(exception)
     new $P392, 'Integer'
@@ -8237,7 +8237,7 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block382"  :anon :subid("30_1279589161.87188") :outer("29_1279589161.87188")
+.sub "_block382"  :anon :subid("30_1280467469.30058") :outer("29_1280467469.30058")
     .param pmc param_384
 .annotate 'line', 120
     .lex "$_", param_384
@@ -8260,9 +8260,9 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "_block397"  :anon :subid("31_1279589161.87188") :outer("28_1279589161.87188")
+.sub "_block397"  :anon :subid("31_1280467469.30058") :outer("28_1280467469.30058")
 .annotate 'line', 125
-    .const 'Sub' $P409 = "32_1279589161.87188" 
+    .const 'Sub' $P409 = "32_1280467469.30058" 
     capture_lex $P409
 .annotate 'line', 126
     get_global $P399, "$interactive_ctx"
@@ -8299,7 +8299,7 @@
     unless $P403, loop416_done
     shift $P407, $P403
   loop416_redo:
-    .const 'Sub' $P409 = "32_1279589161.87188" 
+    .const 'Sub' $P409 = "32_1280467469.30058" 
     capture_lex $P409
     $P409($P407)
   loop416_next:
@@ -8322,7 +8322,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block408"  :anon :subid("32_1279589161.87188") :outer("31_1279589161.87188")
+.sub "_block408"  :anon :subid("32_1280467469.30058") :outer("31_1280467469.30058")
     .param pmc param_410
 .annotate 'line', 128
     .lex "$_", param_410
@@ -8344,12 +8344,12 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "eval"  :subid("33_1279589161.87188") :method :outer("11_1279589161.87188")
+.sub "eval"  :subid("33_1280467469.30058") :method :outer("11_1280467469.30058")
     .param pmc param_450
     .param pmc param_451 :slurpy
     .param pmc param_452 :slurpy :named
 .annotate 'line', 146
-    .const 'Sub' $P471 = "34_1279589161.87188" 
+    .const 'Sub' $P471 = "34_1280467469.30058" 
     capture_lex $P471
     new $P449, 'ExceptionHandler'
     set_addr $P449, control_448
@@ -8396,7 +8396,7 @@
     set $P460, $I469
   if_461_end:
     unless $P460, if_459_end
-    .const 'Sub' $P471 = "34_1279589161.87188" 
+    .const 'Sub' $P471 = "34_1280467469.30058" 
     capture_lex $P471
     $P471()
   if_459_end:
@@ -8413,7 +8413,7 @@
 
 
 .namespace ["HLL";"Compiler"]
-.sub "_block470"  :anon :subid("34_1279589161.87188") :outer("33_1279589161.87188")
+.sub "_block470"  :anon :subid("34_1280467469.30058") :outer("33_1280467469.30058")
 .annotate 'line', 152
     new $P472, "Undef"
     .lex "$outer_ctx", $P472
@@ -8467,7 +8467,7 @@
 
 .namespace ["HLL";"Compiler"]
 .include "except_types.pasm"
-.sub "ctxsave"  :subid("35_1279589161.87188") :method :outer("11_1279589161.87188")
+.sub "ctxsave"  :subid("35_1280467469.30058") :method :outer("11_1280467469.30058")
 .annotate 'line', 165
     new $P491, 'ExceptionHandler'
     set_addr $P491, control_490
@@ -8495,9 +8495,9 @@
 
 
 .namespace []
-.sub "_block498" :load :anon :subid("36_1279589161.87188")
+.sub "_block498" :load :anon :subid("36_1280467469.30058")
 .annotate 'line', 1
-    .const 'Sub' $P500 = "10_1279589161.87188" 
+    .const 'Sub' $P500 = "10_1280467469.30058" 
     $P501 = $P500()
     .return ($P501)
 .end

Modified: branches/html_cleanup/ext/nqp-rx/src/stage0/NQP-s0.pir
==============================================================================
--- branches/html_cleanup/ext/nqp-rx/src/stage0/NQP-s0.pir	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/ext/nqp-rx/src/stage0/NQP-s0.pir	Tue Aug  3 22:29:26 2010	(r48299)
@@ -15,7 +15,7 @@
 ### .include 'gen/nqp-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1279589170.0083")
+.sub "_block11"  :anon :subid("10_1280467477.44751")
 .annotate 'line', 0
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     capture_lex $P14
@@ -32,15 +32,15 @@
     $P1423 = $P14()
 .annotate 'line', 1
     .return ($P1423)
-    .const 'Sub' $P1425 = "371_1279589170.0083" 
+    .const 'Sub' $P1425 = "371_1280467477.44751" 
     .return ($P1425)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post372") :outer("10_1279589170.0083")
+.sub "" :load :init :subid("post372") :outer("10_1280467477.44751")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1279589170.0083" 
+    .const 'Sub' $P12 = "10_1280467477.44751" 
     .local pmc block
     set block, $P12
     $P1428 = get_root_global ["parrot"], "P6metaclass"
@@ -49,321 +49,321 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block13"  :subid("11_1279589170.0083") :outer("10_1279589170.0083")
+.sub "_block13"  :subid("11_1280467477.44751") :outer("10_1280467477.44751")
 .annotate 'line', 4
     get_hll_global $P1340, ["NQP";"Regex"], "_block1339" 
     capture_lex $P1340
-    .const 'Sub' $P1326 = "348_1279589170.0083" 
+    .const 'Sub' $P1326 = "348_1280467477.44751" 
     capture_lex $P1326
-    .const 'Sub' $P1320 = "346_1279589170.0083" 
+    .const 'Sub' $P1320 = "346_1280467477.44751" 
     capture_lex $P1320
-    .const 'Sub' $P1314 = "344_1279589170.0083" 
+    .const 'Sub' $P1314 = "344_1280467477.44751" 
     capture_lex $P1314
-    .const 'Sub' $P1308 = "342_1279589170.0083" 
+    .const 'Sub' $P1308 = "342_1280467477.44751" 
     capture_lex $P1308
-    .const 'Sub' $P1302 = "340_1279589170.0083" 
+    .const 'Sub' $P1302 = "340_1280467477.44751" 
     capture_lex $P1302
-    .const 'Sub' $P1296 = "338_1279589170.0083" 
+    .const 'Sub' $P1296 = "338_1280467477.44751" 
     capture_lex $P1296
-    .const 'Sub' $P1289 = "336_1279589170.0083" 
+    .const 'Sub' $P1289 = "336_1280467477.44751" 
     capture_lex $P1289
-    .const 'Sub' $P1282 = "334_1279589170.0083" 
+    .const 'Sub' $P1282 = "334_1280467477.44751" 
     capture_lex $P1282
-    .const 'Sub' $P1275 = "332_1279589170.0083" 
+    .const 'Sub' $P1275 = "332_1280467477.44751" 
     capture_lex $P1275
-    .const 'Sub' $P1268 = "330_1279589170.0083" 
+    .const 'Sub' $P1268 = "330_1280467477.44751" 
     capture_lex $P1268
-    .const 'Sub' $P1262 = "328_1279589170.0083" 
+    .const 'Sub' $P1262 = "328_1280467477.44751" 
     capture_lex $P1262
-    .const 'Sub' $P1255 = "326_1279589170.0083" 
+    .const 'Sub' $P1255 = "326_1280467477.44751" 
     capture_lex $P1255
-    .const 'Sub' $P1248 = "324_1279589170.0083" 
+    .const 'Sub' $P1248 = "324_1280467477.44751" 
     capture_lex $P1248
-    .const 'Sub' $P1241 = "322_1279589170.0083" 
+    .const 'Sub' $P1241 = "322_1280467477.44751" 
     capture_lex $P1241
-    .const 'Sub' $P1234 = "320_1279589170.0083" 
+    .const 'Sub' $P1234 = "320_1280467477.44751" 
     capture_lex $P1234
-    .const 'Sub' $P1227 = "318_1279589170.0083" 
+    .const 'Sub' $P1227 = "318_1280467477.44751" 
     capture_lex $P1227
-    .const 'Sub' $P1220 = "316_1279589170.0083" 
+    .const 'Sub' $P1220 = "316_1280467477.44751" 
     capture_lex $P1220
-    .const 'Sub' $P1213 = "314_1279589170.0083" 
+    .const 'Sub' $P1213 = "314_1280467477.44751" 
     capture_lex $P1213
-    .const 'Sub' $P1206 = "312_1279589170.0083" 
+    .const 'Sub' $P1206 = "312_1280467477.44751" 
     capture_lex $P1206
-    .const 'Sub' $P1199 = "310_1279589170.0083" 
+    .const 'Sub' $P1199 = "310_1280467477.44751" 
     capture_lex $P1199
-    .const 'Sub' $P1192 = "308_1279589170.0083" 
+    .const 'Sub' $P1192 = "308_1280467477.44751" 
     capture_lex $P1192
-    .const 'Sub' $P1185 = "306_1279589170.0083" 
+    .const 'Sub' $P1185 = "306_1280467477.44751" 
     capture_lex $P1185
-    .const 'Sub' $P1178 = "304_1279589170.0083" 
+    .const 'Sub' $P1178 = "304_1280467477.44751" 
     capture_lex $P1178
-    .const 'Sub' $P1171 = "302_1279589170.0083" 
+    .const 'Sub' $P1171 = "302_1280467477.44751" 
     capture_lex $P1171
-    .const 'Sub' $P1164 = "300_1279589170.0083" 
+    .const 'Sub' $P1164 = "300_1280467477.44751" 
     capture_lex $P1164
-    .const 'Sub' $P1157 = "298_1279589170.0083" 
+    .const 'Sub' $P1157 = "298_1280467477.44751" 
     capture_lex $P1157
-    .const 'Sub' $P1150 = "296_1279589170.0083" 
+    .const 'Sub' $P1150 = "296_1280467477.44751" 
     capture_lex $P1150
-    .const 'Sub' $P1143 = "294_1279589170.0083" 
+    .const 'Sub' $P1143 = "294_1280467477.44751" 
     capture_lex $P1143
-    .const 'Sub' $P1136 = "292_1279589170.0083" 
+    .const 'Sub' $P1136 = "292_1280467477.44751" 
     capture_lex $P1136
-    .const 'Sub' $P1129 = "290_1279589170.0083" 
+    .const 'Sub' $P1129 = "290_1280467477.44751" 
     capture_lex $P1129
-    .const 'Sub' $P1122 = "288_1279589170.0083" 
+    .const 'Sub' $P1122 = "288_1280467477.44751" 
     capture_lex $P1122
-    .const 'Sub' $P1115 = "286_1279589170.0083" 
+    .const 'Sub' $P1115 = "286_1280467477.44751" 
     capture_lex $P1115
-    .const 'Sub' $P1108 = "284_1279589170.0083" 
+    .const 'Sub' $P1108 = "284_1280467477.44751" 
     capture_lex $P1108
-    .const 'Sub' $P1101 = "282_1279589170.0083" 
+    .const 'Sub' $P1101 = "282_1280467477.44751" 
     capture_lex $P1101
-    .const 'Sub' $P1094 = "280_1279589170.0083" 
+    .const 'Sub' $P1094 = "280_1280467477.44751" 
     capture_lex $P1094
-    .const 'Sub' $P1087 = "278_1279589170.0083" 
+    .const 'Sub' $P1087 = "278_1280467477.44751" 
     capture_lex $P1087
-    .const 'Sub' $P1080 = "276_1279589170.0083" 
+    .const 'Sub' $P1080 = "276_1280467477.44751" 
     capture_lex $P1080
-    .const 'Sub' $P1073 = "274_1279589170.0083" 
+    .const 'Sub' $P1073 = "274_1280467477.44751" 
     capture_lex $P1073
-    .const 'Sub' $P1066 = "272_1279589170.0083" 
+    .const 'Sub' $P1066 = "272_1280467477.44751" 
     capture_lex $P1066
-    .const 'Sub' $P1059 = "270_1279589170.0083" 
+    .const 'Sub' $P1059 = "270_1280467477.44751" 
     capture_lex $P1059
-    .const 'Sub' $P1053 = "268_1279589170.0083" 
+    .const 'Sub' $P1053 = "268_1280467477.44751" 
     capture_lex $P1053
-    .const 'Sub' $P1046 = "266_1279589170.0083" 
+    .const 'Sub' $P1046 = "266_1280467477.44751" 
     capture_lex $P1046
-    .const 'Sub' $P1039 = "264_1279589170.0083" 
+    .const 'Sub' $P1039 = "264_1280467477.44751" 
     capture_lex $P1039
-    .const 'Sub' $P1032 = "262_1279589170.0083" 
+    .const 'Sub' $P1032 = "262_1280467477.44751" 
     capture_lex $P1032
-    .const 'Sub' $P1025 = "260_1279589170.0083" 
+    .const 'Sub' $P1025 = "260_1280467477.44751" 
     capture_lex $P1025
-    .const 'Sub' $P1018 = "258_1279589170.0083" 
+    .const 'Sub' $P1018 = "258_1280467477.44751" 
     capture_lex $P1018
-    .const 'Sub' $P1011 = "256_1279589170.0083" 
+    .const 'Sub' $P1011 = "256_1280467477.44751" 
     capture_lex $P1011
-    .const 'Sub' $P1004 = "254_1279589170.0083" 
+    .const 'Sub' $P1004 = "254_1280467477.44751" 
     capture_lex $P1004
-    .const 'Sub' $P998 = "252_1279589170.0083" 
+    .const 'Sub' $P998 = "252_1280467477.44751" 
     capture_lex $P998
-    .const 'Sub' $P992 = "250_1279589170.0083" 
+    .const 'Sub' $P992 = "250_1280467477.44751" 
     capture_lex $P992
-    .const 'Sub' $P987 = "248_1279589170.0083" 
+    .const 'Sub' $P987 = "248_1280467477.44751" 
     capture_lex $P987
-    .const 'Sub' $P981 = "246_1279589170.0083" 
+    .const 'Sub' $P981 = "246_1280467477.44751" 
     capture_lex $P981
-    .const 'Sub' $P975 = "244_1279589170.0083" 
+    .const 'Sub' $P975 = "244_1280467477.44751" 
     capture_lex $P975
-    .const 'Sub' $P970 = "242_1279589170.0083" 
+    .const 'Sub' $P970 = "242_1280467477.44751" 
     capture_lex $P970
-    .const 'Sub' $P965 = "240_1279589170.0083" 
+    .const 'Sub' $P965 = "240_1280467477.44751" 
     capture_lex $P965
-    .const 'Sub' $P957 = "238_1279589170.0083" 
+    .const 'Sub' $P957 = "238_1280467477.44751" 
     capture_lex $P957
-    .const 'Sub' $P948 = "236_1279589170.0083" 
+    .const 'Sub' $P948 = "236_1280467477.44751" 
     capture_lex $P948
-    .const 'Sub' $P943 = "234_1279589170.0083" 
+    .const 'Sub' $P943 = "234_1280467477.44751" 
     capture_lex $P943
-    .const 'Sub' $P938 = "232_1279589170.0083" 
+    .const 'Sub' $P938 = "232_1280467477.44751" 
     capture_lex $P938
-    .const 'Sub' $P933 = "230_1279589170.0083" 
+    .const 'Sub' $P933 = "230_1280467477.44751" 
     capture_lex $P933
-    .const 'Sub' $P925 = "228_1279589170.0083" 
+    .const 'Sub' $P925 = "228_1280467477.44751" 
     capture_lex $P925
-    .const 'Sub' $P917 = "226_1279589170.0083" 
+    .const 'Sub' $P917 = "226_1280467477.44751" 
     capture_lex $P917
-    .const 'Sub' $P912 = "224_1279589170.0083" 
+    .const 'Sub' $P912 = "224_1280467477.44751" 
     capture_lex $P912
-    .const 'Sub' $P907 = "222_1279589170.0083" 
+    .const 'Sub' $P907 = "222_1280467477.44751" 
     capture_lex $P907
-    .const 'Sub' $P902 = "220_1279589170.0083" 
+    .const 'Sub' $P902 = "220_1280467477.44751" 
     capture_lex $P902
-    .const 'Sub' $P896 = "218_1279589170.0083" 
+    .const 'Sub' $P896 = "218_1280467477.44751" 
     capture_lex $P896
-    .const 'Sub' $P890 = "216_1279589170.0083" 
+    .const 'Sub' $P890 = "216_1280467477.44751" 
     capture_lex $P890
-    .const 'Sub' $P884 = "214_1279589170.0083" 
+    .const 'Sub' $P884 = "214_1280467477.44751" 
     capture_lex $P884
-    .const 'Sub' $P878 = "212_1279589170.0083" 
+    .const 'Sub' $P878 = "212_1280467477.44751" 
     capture_lex $P878
-    .const 'Sub' $P872 = "210_1279589170.0083" 
+    .const 'Sub' $P872 = "210_1280467477.44751" 
     capture_lex $P872
-    .const 'Sub' $P867 = "208_1279589170.0083" 
+    .const 'Sub' $P867 = "208_1280467477.44751" 
     capture_lex $P867
-    .const 'Sub' $P862 = "206_1279589170.0083" 
+    .const 'Sub' $P862 = "206_1280467477.44751" 
     capture_lex $P862
-    .const 'Sub' $P850 = "202_1279589170.0083" 
+    .const 'Sub' $P850 = "202_1280467477.44751" 
     capture_lex $P850
-    .const 'Sub' $P842 = "200_1279589170.0083" 
+    .const 'Sub' $P842 = "200_1280467477.44751" 
     capture_lex $P842
-    .const 'Sub' $P836 = "198_1279589170.0083" 
+    .const 'Sub' $P836 = "198_1280467477.44751" 
     capture_lex $P836
-    .const 'Sub' $P829 = "196_1279589170.0083" 
+    .const 'Sub' $P829 = "196_1280467477.44751" 
     capture_lex $P829
-    .const 'Sub' $P823 = "194_1279589170.0083" 
+    .const 'Sub' $P823 = "194_1280467477.44751" 
     capture_lex $P823
-    .const 'Sub' $P815 = "192_1279589170.0083" 
+    .const 'Sub' $P815 = "192_1280467477.44751" 
     capture_lex $P815
-    .const 'Sub' $P807 = "190_1279589170.0083" 
+    .const 'Sub' $P807 = "190_1280467477.44751" 
     capture_lex $P807
-    .const 'Sub' $P801 = "188_1279589170.0083" 
+    .const 'Sub' $P801 = "188_1280467477.44751" 
     capture_lex $P801
-    .const 'Sub' $P795 = "186_1279589170.0083" 
+    .const 'Sub' $P795 = "186_1280467477.44751" 
     capture_lex $P795
-    .const 'Sub' $P781 = "182_1279589170.0083" 
+    .const 'Sub' $P781 = "182_1280467477.44751" 
     capture_lex $P781
-    .const 'Sub' $P744 = "180_1279589170.0083" 
+    .const 'Sub' $P744 = "180_1280467477.44751" 
     capture_lex $P744
-    .const 'Sub' $P735 = "178_1279589170.0083" 
+    .const 'Sub' $P735 = "178_1280467477.44751" 
     capture_lex $P735
-    .const 'Sub' $P729 = "176_1279589170.0083" 
+    .const 'Sub' $P729 = "176_1280467477.44751" 
     capture_lex $P729
-    .const 'Sub' $P719 = "174_1279589170.0083" 
+    .const 'Sub' $P719 = "174_1280467477.44751" 
     capture_lex $P719
-    .const 'Sub' $P706 = "172_1279589170.0083" 
+    .const 'Sub' $P706 = "172_1280467477.44751" 
     capture_lex $P706
-    .const 'Sub' $P699 = "170_1279589170.0083" 
+    .const 'Sub' $P699 = "170_1280467477.44751" 
     capture_lex $P699
-    .const 'Sub' $P691 = "168_1279589170.0083" 
+    .const 'Sub' $P691 = "168_1280467477.44751" 
     capture_lex $P691
-    .const 'Sub' $P681 = "166_1279589170.0083" 
+    .const 'Sub' $P681 = "166_1280467477.44751" 
     capture_lex $P681
-    .const 'Sub' $P657 = "162_1279589170.0083" 
+    .const 'Sub' $P657 = "162_1280467477.44751" 
     capture_lex $P657
-    .const 'Sub' $P634 = "160_1279589170.0083" 
+    .const 'Sub' $P634 = "160_1280467477.44751" 
     capture_lex $P634
-    .const 'Sub' $P627 = "158_1279589170.0083" 
+    .const 'Sub' $P627 = "158_1280467477.44751" 
     capture_lex $P627
-    .const 'Sub' $P620 = "156_1279589170.0083" 
+    .const 'Sub' $P620 = "156_1280467477.44751" 
     capture_lex $P620
-    .const 'Sub' $P610 = "152_1279589170.0083" 
+    .const 'Sub' $P610 = "152_1280467477.44751" 
     capture_lex $P610
-    .const 'Sub' $P602 = "150_1279589170.0083" 
+    .const 'Sub' $P602 = "150_1280467477.44751" 
     capture_lex $P602
-    .const 'Sub' $P596 = "148_1279589170.0083" 
+    .const 'Sub' $P596 = "148_1280467477.44751" 
     capture_lex $P596
-    .const 'Sub' $P583 = "146_1279589170.0083" 
+    .const 'Sub' $P583 = "146_1280467477.44751" 
     capture_lex $P583
-    .const 'Sub' $P576 = "144_1279589170.0083" 
+    .const 'Sub' $P576 = "144_1280467477.44751" 
     capture_lex $P576
-    .const 'Sub' $P569 = "142_1279589170.0083" 
+    .const 'Sub' $P569 = "142_1280467477.44751" 
     capture_lex $P569
-    .const 'Sub' $P562 = "140_1279589170.0083" 
+    .const 'Sub' $P562 = "140_1280467477.44751" 
     capture_lex $P562
-    .const 'Sub' $P535 = "136_1279589170.0083" 
+    .const 'Sub' $P535 = "136_1280467477.44751" 
     capture_lex $P535
-    .const 'Sub' $P526 = "134_1279589170.0083" 
+    .const 'Sub' $P526 = "134_1280467477.44751" 
     capture_lex $P526
-    .const 'Sub' $P519 = "132_1279589170.0083" 
+    .const 'Sub' $P519 = "132_1280467477.44751" 
     capture_lex $P519
-    .const 'Sub' $P510 = "128_1279589170.0083" 
+    .const 'Sub' $P510 = "128_1280467477.44751" 
     capture_lex $P510
-    .const 'Sub' $P505 = "126_1279589170.0083" 
+    .const 'Sub' $P505 = "126_1280467477.44751" 
     capture_lex $P505
-    .const 'Sub' $P493 = "124_1279589170.0083" 
+    .const 'Sub' $P493 = "124_1280467477.44751" 
     capture_lex $P493
-    .const 'Sub' $P481 = "122_1279589170.0083" 
+    .const 'Sub' $P481 = "122_1280467477.44751" 
     capture_lex $P481
-    .const 'Sub' $P474 = "120_1279589170.0083" 
+    .const 'Sub' $P474 = "120_1280467477.44751" 
     capture_lex $P474
-    .const 'Sub' $P469 = "118_1279589170.0083" 
+    .const 'Sub' $P469 = "118_1280467477.44751" 
     capture_lex $P469
-    .const 'Sub' $P463 = "116_1279589170.0083" 
+    .const 'Sub' $P463 = "116_1280467477.44751" 
     capture_lex $P463
-    .const 'Sub' $P457 = "114_1279589170.0083" 
+    .const 'Sub' $P457 = "114_1280467477.44751" 
     capture_lex $P457
-    .const 'Sub' $P447 = "111_1279589170.0083" 
+    .const 'Sub' $P447 = "111_1280467477.44751" 
     capture_lex $P447
-    .const 'Sub' $P441 = "109_1279589170.0083" 
+    .const 'Sub' $P441 = "109_1280467477.44751" 
     capture_lex $P441
-    .const 'Sub' $P435 = "107_1279589170.0083" 
+    .const 'Sub' $P435 = "107_1280467477.44751" 
     capture_lex $P435
-    .const 'Sub' $P429 = "105_1279589170.0083" 
+    .const 'Sub' $P429 = "105_1280467477.44751" 
     capture_lex $P429
-    .const 'Sub' $P423 = "103_1279589170.0083" 
+    .const 'Sub' $P423 = "103_1280467477.44751" 
     capture_lex $P423
-    .const 'Sub' $P417 = "101_1279589170.0083" 
+    .const 'Sub' $P417 = "101_1280467477.44751" 
     capture_lex $P417
-    .const 'Sub' $P411 = "99_1279589170.0083" 
+    .const 'Sub' $P411 = "99_1280467477.44751" 
     capture_lex $P411
-    .const 'Sub' $P402 = "97_1279589170.0083" 
+    .const 'Sub' $P402 = "97_1280467477.44751" 
     capture_lex $P402
-    .const 'Sub' $P393 = "95_1279589170.0083" 
+    .const 'Sub' $P393 = "95_1280467477.44751" 
     capture_lex $P393
-    .const 'Sub' $P384 = "93_1279589170.0083" 
+    .const 'Sub' $P384 = "93_1280467477.44751" 
     capture_lex $P384
-    .const 'Sub' $P371 = "89_1279589170.0083" 
+    .const 'Sub' $P371 = "89_1280467477.44751" 
     capture_lex $P371
-    .const 'Sub' $P362 = "87_1279589170.0083" 
+    .const 'Sub' $P362 = "87_1280467477.44751" 
     capture_lex $P362
-    .const 'Sub' $P352 = "83_1279589170.0083" 
+    .const 'Sub' $P352 = "83_1280467477.44751" 
     capture_lex $P352
-    .const 'Sub' $P345 = "81_1279589170.0083" 
+    .const 'Sub' $P345 = "81_1280467477.44751" 
     capture_lex $P345
-    .const 'Sub' $P338 = "79_1279589170.0083" 
+    .const 'Sub' $P338 = "79_1280467477.44751" 
     capture_lex $P338
-    .const 'Sub' $P326 = "75_1279589170.0083" 
+    .const 'Sub' $P326 = "75_1280467477.44751" 
     capture_lex $P326
-    .const 'Sub' $P318 = "73_1279589170.0083" 
+    .const 'Sub' $P318 = "73_1280467477.44751" 
     capture_lex $P318
-    .const 'Sub' $P310 = "71_1279589170.0083" 
+    .const 'Sub' $P310 = "71_1280467477.44751" 
     capture_lex $P310
-    .const 'Sub' $P290 = "69_1279589170.0083" 
+    .const 'Sub' $P290 = "69_1280467477.44751" 
     capture_lex $P290
-    .const 'Sub' $P281 = "67_1279589170.0083" 
+    .const 'Sub' $P281 = "67_1280467477.44751" 
     capture_lex $P281
-    .const 'Sub' $P263 = "64_1279589170.0083" 
+    .const 'Sub' $P263 = "64_1280467477.44751" 
     capture_lex $P263
-    .const 'Sub' $P245 = "62_1279589170.0083" 
+    .const 'Sub' $P245 = "62_1280467477.44751" 
     capture_lex $P245
-    .const 'Sub' $P236 = "58_1279589170.0083" 
+    .const 'Sub' $P236 = "58_1280467477.44751" 
     capture_lex $P236
-    .const 'Sub' $P231 = "56_1279589170.0083" 
+    .const 'Sub' $P231 = "56_1280467477.44751" 
     capture_lex $P231
-    .const 'Sub' $P222 = "52_1279589170.0083" 
+    .const 'Sub' $P222 = "52_1280467477.44751" 
     capture_lex $P222
-    .const 'Sub' $P217 = "50_1279589170.0083" 
+    .const 'Sub' $P217 = "50_1280467477.44751" 
     capture_lex $P217
-    .const 'Sub' $P212 = "48_1279589170.0083" 
+    .const 'Sub' $P212 = "48_1280467477.44751" 
     capture_lex $P212
-    .const 'Sub' $P203 = "46_1279589170.0083" 
+    .const 'Sub' $P203 = "46_1280467477.44751" 
     capture_lex $P203
-    .const 'Sub' $P196 = "44_1279589170.0083" 
+    .const 'Sub' $P196 = "44_1280467477.44751" 
     capture_lex $P196
-    .const 'Sub' $P190 = "42_1279589170.0083" 
+    .const 'Sub' $P190 = "42_1280467477.44751" 
     capture_lex $P190
-    .const 'Sub' $P182 = "40_1279589170.0083" 
+    .const 'Sub' $P182 = "40_1280467477.44751" 
     capture_lex $P182
-    .const 'Sub' $P176 = "38_1279589170.0083" 
+    .const 'Sub' $P176 = "38_1280467477.44751" 
     capture_lex $P176
-    .const 'Sub' $P170 = "36_1279589170.0083" 
+    .const 'Sub' $P170 = "36_1280467477.44751" 
     capture_lex $P170
-    .const 'Sub' $P155 = "33_1279589170.0083" 
+    .const 'Sub' $P155 = "33_1280467477.44751" 
     capture_lex $P155
-    .const 'Sub' $P141 = "31_1279589170.0083" 
+    .const 'Sub' $P141 = "31_1280467477.44751" 
     capture_lex $P141
-    .const 'Sub' $P134 = "29_1279589170.0083" 
+    .const 'Sub' $P134 = "29_1280467477.44751" 
     capture_lex $P134
-    .const 'Sub' $P95 = "26_1279589170.0083" 
+    .const 'Sub' $P95 = "26_1280467477.44751" 
     capture_lex $P95
-    .const 'Sub' $P80 = "23_1279589170.0083" 
+    .const 'Sub' $P80 = "23_1280467477.44751" 
     capture_lex $P80
-    .const 'Sub' $P69 = "21_1279589170.0083" 
+    .const 'Sub' $P69 = "21_1280467477.44751" 
     capture_lex $P69
-    .const 'Sub' $P57 = "19_1279589170.0083" 
+    .const 'Sub' $P57 = "19_1280467477.44751" 
     capture_lex $P57
-    .const 'Sub' $P49 = "17_1279589170.0083" 
+    .const 'Sub' $P49 = "17_1280467477.44751" 
     capture_lex $P49
-    .const 'Sub' $P42 = "15_1279589170.0083" 
+    .const 'Sub' $P42 = "15_1280467477.44751" 
     capture_lex $P42
-    .const 'Sub' $P35 = "13_1279589170.0083" 
+    .const 'Sub' $P35 = "13_1280467477.44751" 
     capture_lex $P35
-    .const 'Sub' $P15 = "12_1279589170.0083" 
+    .const 'Sub' $P15 = "12_1280467477.44751" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -377,13 +377,13 @@
     $P1402 = $P1340()
 .annotate 'line', 4
     .return ($P1402)
-    .const 'Sub' $P1404 = "370_1279589170.0083" 
+    .const 'Sub' $P1404 = "370_1280467477.44751" 
     .return ($P1404)
 .end
 
 
 .namespace ["NQP";"Grammar"]
-.sub "" :load :init :subid("post373") :outer("11_1279589170.0083")
+.sub "" :load :init :subid("post373") :outer("11_1280467477.44751")
 .annotate 'line', 4
     get_hll_global $P14, ["NQP";"Grammar"], "_block13" 
     .local pmc block
@@ -441,7 +441,7 @@
 
 .namespace ["NQP";"Grammar"]
 .include "except_types.pasm"
-.sub "TOP"  :subid("12_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "TOP"  :subid("12_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     new $P17, 'ExceptionHandler'
     set_addr $P17, control_16
@@ -531,7 +531,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "identifier"  :subid("13_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "identifier"  :subid("13_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx36_tgt
     .local int rx36_pos
@@ -613,7 +613,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__identifier"  :subid("14_1279589170.0083") :method
+.sub "!PREFIX__identifier"  :subid("14_1280467477.44751") :method
 .annotate 'line', 4
     $P38 = self."!PREFIX__!subrule"("ident", "")
     new $P39, "ResizablePMCArray"
@@ -623,7 +623,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "name"  :subid("15_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "name"  :subid("15_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx43_tgt
     .local int rx43_pos
@@ -709,7 +709,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__name"  :subid("16_1279589170.0083") :method
+.sub "!PREFIX__name"  :subid("16_1280467477.44751") :method
 .annotate 'line', 4
     new $P45, "ResizablePMCArray"
     push $P45, ""
@@ -718,7 +718,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "deflongname"  :subid("17_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "deflongname"  :subid("17_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx50_tgt
     .local int rx50_pos
@@ -802,7 +802,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__deflongname"  :subid("18_1279589170.0083") :method
+.sub "!PREFIX__deflongname"  :subid("18_1280467477.44751") :method
 .annotate 'line', 4
     $P52 = self."!PREFIX__!subrule"("identifier", "")
     new $P53, "ResizablePMCArray"
@@ -812,7 +812,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ENDSTMT"  :subid("19_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "ENDSTMT"  :subid("19_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx58_tgt
     .local int rx58_pos
@@ -959,7 +959,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ENDSTMT"  :subid("20_1279589170.0083") :method
+.sub "!PREFIX__ENDSTMT"  :subid("20_1280467477.44751") :method
 .annotate 'line', 4
     new $P60, "ResizablePMCArray"
     push $P60, ""
@@ -968,7 +968,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "ws"  :subid("21_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "ws"  :subid("21_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx70_tgt
     .local int rx70_pos
@@ -1133,7 +1133,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ws"  :subid("22_1279589170.0083") :method
+.sub "!PREFIX__ws"  :subid("22_1280467477.44751") :method
 .annotate 'line', 4
     new $P72, "ResizablePMCArray"
     push $P72, ""
@@ -1143,9 +1143,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "unv"  :subid("23_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "unv"  :subid("23_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
-    .const 'Sub' $P88 = "25_1279589170.0083" 
+    .const 'Sub' $P88 = "25_1280467477.44751" 
     capture_lex $P88
     .local string rx81_tgt
     .local int rx81_pos
@@ -1193,7 +1193,7 @@
   rxanchor86_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx81_cur."!cursor_pos"(rx81_pos)
-    .const 'Sub' $P88 = "25_1279589170.0083" 
+    .const 'Sub' $P88 = "25_1280467477.44751" 
     capture_lex $P88
     $P10 = rx81_cur."before"($P88)
     unless $P10, rx81_fail
@@ -1278,7 +1278,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__unv"  :subid("24_1279589170.0083") :method
+.sub "!PREFIX__unv"  :subid("24_1280467477.44751") :method
 .annotate 'line', 4
     new $P83, "ResizablePMCArray"
     push $P83, ""
@@ -1289,7 +1289,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block87"  :anon :subid("25_1279589170.0083") :method :outer("23_1279589170.0083")
+.sub "_block87"  :anon :subid("25_1280467477.44751") :method :outer("23_1280467477.44751")
 .annotate 'line', 46
     .local string rx89_tgt
     .local int rx89_pos
@@ -1385,9 +1385,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pod_comment"  :subid("26_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "pod_comment"  :subid("26_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
-    .const 'Sub' $P127 = "28_1279589170.0083" 
+    .const 'Sub' $P127 = "28_1280467477.44751" 
     capture_lex $P127
     .local string rx96_tgt
     .local int rx96_pos
@@ -1893,7 +1893,7 @@
   rxanchor125_done:
   # rx subrule "before" subtype=zerowidth negate=
     rx96_cur."!cursor_pos"(rx96_pos)
-    .const 'Sub' $P127 = "28_1279589170.0083" 
+    .const 'Sub' $P127 = "28_1280467477.44751" 
     capture_lex $P127
     $P10 = rx96_cur."before"($P127)
     unless $P10, rx96_fail
@@ -1946,7 +1946,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pod_comment"  :subid("27_1279589170.0083") :method
+.sub "!PREFIX__pod_comment"  :subid("27_1280467477.44751") :method
 .annotate 'line', 4
     new $P98, "ResizablePMCArray"
     push $P98, ""
@@ -1955,7 +1955,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block126"  :anon :subid("28_1279589170.0083") :method :outer("26_1279589170.0083")
+.sub "_block126"  :anon :subid("28_1280467477.44751") :method :outer("26_1280467477.44751")
 .annotate 'line', 69
     .local string rx128_tgt
     .local int rx128_pos
@@ -2081,7 +2081,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "comp_unit"  :subid("29_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "comp_unit"  :subid("29_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx135_tgt
     .local int rx135_pos
@@ -2170,7 +2170,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__comp_unit"  :subid("30_1279589170.0083") :method
+.sub "!PREFIX__comp_unit"  :subid("30_1280467477.44751") :method
 .annotate 'line', 4
     $P137 = self."!PREFIX__!subrule"("newpad", "")
     new $P138, "ResizablePMCArray"
@@ -2180,7 +2180,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statementlist"  :subid("31_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statementlist"  :subid("31_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx142_tgt
     .local int rx142_pos
@@ -2294,7 +2294,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statementlist"  :subid("32_1279589170.0083") :method
+.sub "!PREFIX__statementlist"  :subid("32_1280467477.44751") :method
 .annotate 'line', 4
     $P144 = self."!PREFIX__!subrule"("ws", "")
     $P145 = self."!PREFIX__!subrule"("ws", "")
@@ -2306,9 +2306,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement"  :subid("33_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statement"  :subid("33_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
-    .const 'Sub' $P161 = "35_1279589170.0083" 
+    .const 'Sub' $P161 = "35_1280467477.44751" 
     capture_lex $P161
     .local string rx156_tgt
     .local int rx156_pos
@@ -2345,7 +2345,7 @@
 .annotate 'line', 96
   # rx subrule "before" subtype=zerowidth negate=1
     rx156_cur."!cursor_pos"(rx156_pos)
-    .const 'Sub' $P161 = "35_1279589170.0083" 
+    .const 'Sub' $P161 = "35_1280467477.44751" 
     capture_lex $P161
     $P10 = rx156_cur."before"($P161)
     if $P10, rx156_fail
@@ -2460,7 +2460,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement"  :subid("34_1279589170.0083") :method
+.sub "!PREFIX__statement"  :subid("34_1280467477.44751") :method
 .annotate 'line', 4
     new $P158, "ResizablePMCArray"
     push $P158, ""
@@ -2469,7 +2469,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block160"  :anon :subid("35_1279589170.0083") :method :outer("33_1279589170.0083")
+.sub "_block160"  :anon :subid("35_1280467477.44751") :method :outer("33_1280467477.44751")
 .annotate 'line', 96
     .local string rx162_tgt
     .local int rx162_pos
@@ -2537,7 +2537,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "eat_terminator"  :subid("36_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "eat_terminator"  :subid("36_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx171_tgt
     .local int rx171_pos
@@ -2628,7 +2628,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__eat_terminator"  :subid("37_1279589170.0083") :method
+.sub "!PREFIX__eat_terminator"  :subid("37_1280467477.44751") :method
 .annotate 'line', 4
     new $P173, "ResizablePMCArray"
     push $P173, ""
@@ -2640,7 +2640,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "xblock"  :subid("38_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "xblock"  :subid("38_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx177_tgt
     .local int rx177_pos
@@ -2715,7 +2715,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__xblock"  :subid("39_1279589170.0083") :method
+.sub "!PREFIX__xblock"  :subid("39_1280467477.44751") :method
 .annotate 'line', 4
     $P179 = self."!PREFIX__!subrule"("EXPR", "")
     new $P180, "ResizablePMCArray"
@@ -2725,7 +2725,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "pblock"  :subid("40_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "pblock"  :subid("40_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx183_tgt
     .local int rx183_pos
@@ -2848,7 +2848,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pblock"  :subid("41_1279589170.0083") :method
+.sub "!PREFIX__pblock"  :subid("41_1280467477.44751") :method
 .annotate 'line', 4
     $P185 = self."!PREFIX__!subrule"("panic", "")
     $P186 = self."!PREFIX__!subrule"("lambda", "")
@@ -2861,7 +2861,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "lambda"  :subid("42_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "lambda"  :subid("42_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx191_tgt
     .local int rx191_pos
@@ -2936,7 +2936,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__lambda"  :subid("43_1279589170.0083") :method
+.sub "!PREFIX__lambda"  :subid("43_1280467477.44751") :method
 .annotate 'line', 4
     new $P193, "ResizablePMCArray"
     push $P193, "<->"
@@ -2946,7 +2946,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "block"  :subid("44_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "block"  :subid("44_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx197_tgt
     .local int rx197_pos
@@ -3033,7 +3033,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__block"  :subid("45_1279589170.0083") :method
+.sub "!PREFIX__block"  :subid("45_1280467477.44751") :method
 .annotate 'line', 4
     $P199 = self."!PREFIX__!subrule"("panic", "")
     new $P200, "ResizablePMCArray"
@@ -3044,7 +3044,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blockoid"  :subid("46_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "blockoid"  :subid("46_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx204_tgt
     .local int rx204_pos
@@ -3150,7 +3150,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blockoid"  :subid("47_1279589170.0083") :method
+.sub "!PREFIX__blockoid"  :subid("47_1280467477.44751") :method
 .annotate 'line', 4
     $P206 = self."!PREFIX__!subrule"("finishpad", "")
     new $P207, "ResizablePMCArray"
@@ -3160,7 +3160,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "newpad"  :subid("48_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "newpad"  :subid("48_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx213_tgt
     .local int rx213_pos
@@ -3215,7 +3215,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__newpad"  :subid("49_1279589170.0083") :method
+.sub "!PREFIX__newpad"  :subid("49_1280467477.44751") :method
 .annotate 'line', 4
     new $P215, "ResizablePMCArray"
     push $P215, ""
@@ -3224,7 +3224,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "outerctx"  :subid("50_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "outerctx"  :subid("50_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx218_tgt
     .local int rx218_pos
@@ -3279,7 +3279,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__outerctx"  :subid("51_1279589170.0083") :method
+.sub "!PREFIX__outerctx"  :subid("51_1280467477.44751") :method
 .annotate 'line', 4
     new $P220, "ResizablePMCArray"
     push $P220, ""
@@ -3288,7 +3288,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "finishpad"  :subid("52_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "finishpad"  :subid("52_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx223_tgt
     .local int rx223_pos
@@ -3343,7 +3343,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__finishpad"  :subid("53_1279589170.0083") :method
+.sub "!PREFIX__finishpad"  :subid("53_1280467477.44751") :method
 .annotate 'line', 4
     new $P225, "ResizablePMCArray"
     push $P225, ""
@@ -3352,7 +3352,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator"  :subid("54_1279589170.0083") :method
+.sub "terminator"  :subid("54_1280467477.44751") :method
 .annotate 'line', 148
     $P228 = self."!protoregex"("terminator")
     .return ($P228)
@@ -3360,7 +3360,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator"  :subid("55_1279589170.0083") :method
+.sub "!PREFIX__terminator"  :subid("55_1280467477.44751") :method
 .annotate 'line', 148
     $P230 = self."!PREFIX__!protoregex"("terminator")
     .return ($P230)
@@ -3368,7 +3368,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<;>"  :subid("56_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "terminator:sym<;>"  :subid("56_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx232_tgt
     .local int rx232_pos
@@ -3429,7 +3429,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<;>"  :subid("57_1279589170.0083") :method
+.sub "!PREFIX__terminator:sym<;>"  :subid("57_1280467477.44751") :method
 .annotate 'line', 4
     new $P234, "ResizablePMCArray"
     push $P234, ";"
@@ -3438,7 +3438,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "terminator:sym<}>"  :subid("58_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "terminator:sym<}>"  :subid("58_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx237_tgt
     .local int rx237_pos
@@ -3499,7 +3499,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<}>"  :subid("59_1279589170.0083") :method
+.sub "!PREFIX__terminator:sym<}>"  :subid("59_1280467477.44751") :method
 .annotate 'line', 4
     new $P239, "ResizablePMCArray"
     push $P239, "}"
@@ -3508,7 +3508,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control"  :subid("60_1279589170.0083") :method
+.sub "statement_control"  :subid("60_1280467477.44751") :method
 .annotate 'line', 155
     $P242 = self."!protoregex"("statement_control")
     .return ($P242)
@@ -3516,7 +3516,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control"  :subid("61_1279589170.0083") :method
+.sub "!PREFIX__statement_control"  :subid("61_1280467477.44751") :method
 .annotate 'line', 155
     $P244 = self."!PREFIX__!protoregex"("statement_control")
     .return ($P244)
@@ -3524,7 +3524,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<if>"  :subid("62_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statement_control:sym<if>"  :subid("62_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx246_tgt
     .local int rx246_pos
@@ -3533,7 +3533,7 @@
     .local int rx246_rep
     .local pmc rx246_cur
     (rx246_cur, rx246_pos, rx246_tgt, $I10) = self."!cursor_start"()
-    rx246_cur."!cursor_caparray"("else", "xblock")
+    rx246_cur."!cursor_caparray"("xblock", "else")
     .lex unicode:"$\x{a2}", rx246_cur
     .local pmc match
     .lex "$/", match
@@ -3725,7 +3725,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<if>"  :subid("63_1279589170.0083") :method
+.sub "!PREFIX__statement_control:sym<if>"  :subid("63_1280467477.44751") :method
 .annotate 'line', 4
     new $P248, "ResizablePMCArray"
     push $P248, "if"
@@ -3734,9 +3734,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<unless>"  :subid("64_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statement_control:sym<unless>"  :subid("64_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
-    .const 'Sub' $P274 = "66_1279589170.0083" 
+    .const 'Sub' $P274 = "66_1280467477.44751" 
     capture_lex $P274
     .local string rx264_tgt
     .local int rx264_pos
@@ -3826,7 +3826,7 @@
     rx264_pos = $P10."pos"()
   # rx subrule "before" subtype=zerowidth negate=1
     rx264_cur."!cursor_pos"(rx264_pos)
-    .const 'Sub' $P274 = "66_1279589170.0083" 
+    .const 'Sub' $P274 = "66_1280467477.44751" 
     capture_lex $P274
     $P10 = rx264_cur."before"($P274)
     if $P10, rx264_fail
@@ -3880,7 +3880,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<unless>"  :subid("65_1279589170.0083") :method
+.sub "!PREFIX__statement_control:sym<unless>"  :subid("65_1280467477.44751") :method
 .annotate 'line', 4
     new $P266, "ResizablePMCArray"
     push $P266, "unless"
@@ -3889,7 +3889,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block273"  :anon :subid("66_1279589170.0083") :method :outer("64_1279589170.0083")
+.sub "_block273"  :anon :subid("66_1280467477.44751") :method :outer("64_1280467477.44751")
 .annotate 'line', 167
     .local string rx275_tgt
     .local int rx275_pos
@@ -3949,7 +3949,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<while>"  :subid("67_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statement_control:sym<while>"  :subid("67_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx282_tgt
     .local int rx282_pos
@@ -4063,7 +4063,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<while>"  :subid("68_1279589170.0083") :method
+.sub "!PREFIX__statement_control:sym<while>"  :subid("68_1280467477.44751") :method
 .annotate 'line', 4
     new $P284, "ResizablePMCArray"
     push $P284, "until"
@@ -4073,7 +4073,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<repeat>"  :subid("69_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statement_control:sym<repeat>"  :subid("69_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx291_tgt
     .local int rx291_pos
@@ -4312,7 +4312,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<repeat>"  :subid("70_1279589170.0083") :method
+.sub "!PREFIX__statement_control:sym<repeat>"  :subid("70_1280467477.44751") :method
 .annotate 'line', 4
     new $P293, "ResizablePMCArray"
     push $P293, "repeat"
@@ -4321,7 +4321,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<for>"  :subid("71_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statement_control:sym<for>"  :subid("71_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx311_tgt
     .local int rx311_pos
@@ -4422,7 +4422,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<for>"  :subid("72_1279589170.0083") :method
+.sub "!PREFIX__statement_control:sym<for>"  :subid("72_1280467477.44751") :method
 .annotate 'line', 4
     new $P313, "ResizablePMCArray"
     push $P313, "for"
@@ -4431,7 +4431,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CATCH>"  :subid("73_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statement_control:sym<CATCH>"  :subid("73_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx319_tgt
     .local int rx319_pos
@@ -4532,7 +4532,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("74_1279589170.0083") :method
+.sub "!PREFIX__statement_control:sym<CATCH>"  :subid("74_1280467477.44751") :method
 .annotate 'line', 4
     new $P321, "ResizablePMCArray"
     push $P321, "CATCH"
@@ -4541,7 +4541,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CONTROL>"  :subid("75_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statement_control:sym<CONTROL>"  :subid("75_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx327_tgt
     .local int rx327_pos
@@ -4642,7 +4642,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("76_1279589170.0083") :method
+.sub "!PREFIX__statement_control:sym<CONTROL>"  :subid("76_1280467477.44751") :method
 .annotate 'line', 4
     new $P329, "ResizablePMCArray"
     push $P329, "CONTROL"
@@ -4651,7 +4651,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix"  :subid("77_1279589170.0083") :method
+.sub "statement_prefix"  :subid("77_1280467477.44751") :method
 .annotate 'line', 198
     $P335 = self."!protoregex"("statement_prefix")
     .return ($P335)
@@ -4659,7 +4659,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix"  :subid("78_1279589170.0083") :method
+.sub "!PREFIX__statement_prefix"  :subid("78_1280467477.44751") :method
 .annotate 'line', 198
     $P337 = self."!PREFIX__!protoregex"("statement_prefix")
     .return ($P337)
@@ -4667,7 +4667,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<INIT>"  :subid("79_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statement_prefix:sym<INIT>"  :subid("79_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx339_tgt
     .local int rx339_pos
@@ -4750,7 +4750,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("80_1279589170.0083") :method
+.sub "!PREFIX__statement_prefix:sym<INIT>"  :subid("80_1280467477.44751") :method
 .annotate 'line', 4
     $P341 = self."!PREFIX__!subrule"("blorst", "INIT")
     new $P342, "ResizablePMCArray"
@@ -4760,7 +4760,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<try>"  :subid("81_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statement_prefix:sym<try>"  :subid("81_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx346_tgt
     .local int rx346_pos
@@ -4845,7 +4845,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<try>"  :subid("82_1279589170.0083") :method
+.sub "!PREFIX__statement_prefix:sym<try>"  :subid("82_1280467477.44751") :method
 .annotate 'line', 4
     $P348 = self."!PREFIX__!subrule"("blorst", "try")
     new $P349, "ResizablePMCArray"
@@ -4855,7 +4855,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "blorst"  :subid("83_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "blorst"  :subid("83_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx353_tgt
     .local int rx353_pos
@@ -4948,7 +4948,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blorst"  :subid("84_1279589170.0083") :method
+.sub "!PREFIX__blorst"  :subid("84_1280467477.44751") :method
 .annotate 'line', 4
     new $P355, "ResizablePMCArray"
     push $P355, ""
@@ -4957,7 +4957,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond"  :subid("85_1279589170.0083") :method
+.sub "statement_mod_cond"  :subid("85_1280467477.44751") :method
 .annotate 'line', 212
     $P359 = self."!protoregex"("statement_mod_cond")
     .return ($P359)
@@ -4965,7 +4965,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond"  :subid("86_1279589170.0083") :method
+.sub "!PREFIX__statement_mod_cond"  :subid("86_1280467477.44751") :method
 .annotate 'line', 212
     $P361 = self."!PREFIX__!protoregex"("statement_mod_cond")
     .return ($P361)
@@ -4973,7 +4973,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<if>"  :subid("87_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statement_mod_cond:sym<if>"  :subid("87_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx363_tgt
     .local int rx363_pos
@@ -5066,7 +5066,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("88_1279589170.0083") :method
+.sub "!PREFIX__statement_mod_cond:sym<if>"  :subid("88_1280467477.44751") :method
 .annotate 'line', 4
     $P365 = self."!PREFIX__!subrule"("ws", "if")
     new $P366, "ResizablePMCArray"
@@ -5076,7 +5076,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<unless>"  :subid("89_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statement_mod_cond:sym<unless>"  :subid("89_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx372_tgt
     .local int rx372_pos
@@ -5169,7 +5169,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("90_1279589170.0083") :method
+.sub "!PREFIX__statement_mod_cond:sym<unless>"  :subid("90_1280467477.44751") :method
 .annotate 'line', 4
     $P374 = self."!PREFIX__!subrule"("ws", "unless")
     new $P375, "ResizablePMCArray"
@@ -5179,7 +5179,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop"  :subid("91_1279589170.0083") :method
+.sub "statement_mod_loop"  :subid("91_1280467477.44751") :method
 .annotate 'line', 217
     $P381 = self."!protoregex"("statement_mod_loop")
     .return ($P381)
@@ -5187,7 +5187,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop"  :subid("92_1279589170.0083") :method
+.sub "!PREFIX__statement_mod_loop"  :subid("92_1280467477.44751") :method
 .annotate 'line', 217
     $P383 = self."!PREFIX__!protoregex"("statement_mod_loop")
     .return ($P383)
@@ -5195,7 +5195,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<while>"  :subid("93_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statement_mod_loop:sym<while>"  :subid("93_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx385_tgt
     .local int rx385_pos
@@ -5288,7 +5288,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("94_1279589170.0083") :method
+.sub "!PREFIX__statement_mod_loop:sym<while>"  :subid("94_1280467477.44751") :method
 .annotate 'line', 4
     $P387 = self."!PREFIX__!subrule"("ws", "while")
     new $P388, "ResizablePMCArray"
@@ -5298,7 +5298,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<until>"  :subid("95_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statement_mod_loop:sym<until>"  :subid("95_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx394_tgt
     .local int rx394_pos
@@ -5391,7 +5391,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("96_1279589170.0083") :method
+.sub "!PREFIX__statement_mod_loop:sym<until>"  :subid("96_1280467477.44751") :method
 .annotate 'line', 4
     $P396 = self."!PREFIX__!subrule"("ws", "until")
     new $P397, "ResizablePMCArray"
@@ -5401,7 +5401,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<for>"  :subid("97_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "statement_mod_loop:sym<for>"  :subid("97_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx403_tgt
     .local int rx403_pos
@@ -5494,7 +5494,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<for>"  :subid("98_1279589170.0083") :method
+.sub "!PREFIX__statement_mod_loop:sym<for>"  :subid("98_1280467477.44751") :method
 .annotate 'line', 4
     $P405 = self."!PREFIX__!subrule"("ws", "for")
     new $P406, "ResizablePMCArray"
@@ -5504,7 +5504,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<fatarrow>"  :subid("99_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<fatarrow>"  :subid("99_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx412_tgt
     .local int rx412_pos
@@ -5566,7 +5566,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<fatarrow>"  :subid("100_1279589170.0083") :method
+.sub "!PREFIX__term:sym<fatarrow>"  :subid("100_1280467477.44751") :method
 .annotate 'line', 4
     $P414 = self."!PREFIX__!subrule"("fatarrow", "")
     new $P415, "ResizablePMCArray"
@@ -5576,7 +5576,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<colonpair>"  :subid("101_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<colonpair>"  :subid("101_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx418_tgt
     .local int rx418_pos
@@ -5638,7 +5638,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<colonpair>"  :subid("102_1279589170.0083") :method
+.sub "!PREFIX__term:sym<colonpair>"  :subid("102_1280467477.44751") :method
 .annotate 'line', 4
     $P420 = self."!PREFIX__!subrule"("colonpair", "")
     new $P421, "ResizablePMCArray"
@@ -5648,7 +5648,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<variable>"  :subid("103_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<variable>"  :subid("103_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx424_tgt
     .local int rx424_pos
@@ -5710,7 +5710,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<variable>"  :subid("104_1279589170.0083") :method
+.sub "!PREFIX__term:sym<variable>"  :subid("104_1280467477.44751") :method
 .annotate 'line', 4
     $P426 = self."!PREFIX__!subrule"("variable", "")
     new $P427, "ResizablePMCArray"
@@ -5720,7 +5720,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<package_declarator>"  :subid("105_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<package_declarator>"  :subid("105_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx430_tgt
     .local int rx430_pos
@@ -5782,7 +5782,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<package_declarator>"  :subid("106_1279589170.0083") :method
+.sub "!PREFIX__term:sym<package_declarator>"  :subid("106_1280467477.44751") :method
 .annotate 'line', 4
     $P432 = self."!PREFIX__!subrule"("package_declarator", "")
     new $P433, "ResizablePMCArray"
@@ -5792,7 +5792,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<scope_declarator>"  :subid("107_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<scope_declarator>"  :subid("107_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx436_tgt
     .local int rx436_pos
@@ -5854,7 +5854,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<scope_declarator>"  :subid("108_1279589170.0083") :method
+.sub "!PREFIX__term:sym<scope_declarator>"  :subid("108_1280467477.44751") :method
 .annotate 'line', 4
     $P438 = self."!PREFIX__!subrule"("scope_declarator", "")
     new $P439, "ResizablePMCArray"
@@ -5864,7 +5864,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<routine_declarator>"  :subid("109_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<routine_declarator>"  :subid("109_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx442_tgt
     .local int rx442_pos
@@ -5926,7 +5926,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<routine_declarator>"  :subid("110_1279589170.0083") :method
+.sub "!PREFIX__term:sym<routine_declarator>"  :subid("110_1280467477.44751") :method
 .annotate 'line', 4
     $P444 = self."!PREFIX__!subrule"("routine_declarator", "")
     new $P445, "ResizablePMCArray"
@@ -5936,9 +5936,9 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<multi_declarator>"  :subid("111_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<multi_declarator>"  :subid("111_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
-    .const 'Sub' $P453 = "113_1279589170.0083" 
+    .const 'Sub' $P453 = "113_1280467477.44751" 
     capture_lex $P453
     .local string rx448_tgt
     .local int rx448_pos
@@ -5974,7 +5974,7 @@
 .annotate 'line', 231
   # rx subrule "before" subtype=zerowidth negate=
     rx448_cur."!cursor_pos"(rx448_pos)
-    .const 'Sub' $P453 = "113_1279589170.0083" 
+    .const 'Sub' $P453 = "113_1280467477.44751" 
     capture_lex $P453
     $P10 = rx448_cur."before"($P453)
     unless $P10, rx448_fail
@@ -6006,7 +6006,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<multi_declarator>"  :subid("112_1279589170.0083") :method
+.sub "!PREFIX__term:sym<multi_declarator>"  :subid("112_1280467477.44751") :method
 .annotate 'line', 4
     new $P450, "ResizablePMCArray"
     push $P450, ""
@@ -6015,7 +6015,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block452"  :anon :subid("113_1279589170.0083") :method :outer("111_1279589170.0083")
+.sub "_block452"  :anon :subid("113_1280467477.44751") :method :outer("111_1280467477.44751")
 .annotate 'line', 231
     .local string rx454_tgt
     .local int rx454_pos
@@ -6099,7 +6099,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<regex_declarator>"  :subid("114_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<regex_declarator>"  :subid("114_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx458_tgt
     .local int rx458_pos
@@ -6161,7 +6161,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<regex_declarator>"  :subid("115_1279589170.0083") :method
+.sub "!PREFIX__term:sym<regex_declarator>"  :subid("115_1280467477.44751") :method
 .annotate 'line', 4
     $P460 = self."!PREFIX__!subrule"("regex_declarator", "")
     new $P461, "ResizablePMCArray"
@@ -6171,7 +6171,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<statement_prefix>"  :subid("116_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<statement_prefix>"  :subid("116_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx464_tgt
     .local int rx464_pos
@@ -6233,7 +6233,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<statement_prefix>"  :subid("117_1279589170.0083") :method
+.sub "!PREFIX__term:sym<statement_prefix>"  :subid("117_1280467477.44751") :method
 .annotate 'line', 4
     $P466 = self."!PREFIX__!subrule"("statement_prefix", "")
     new $P467, "ResizablePMCArray"
@@ -6243,7 +6243,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<lambda>"  :subid("118_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<lambda>"  :subid("118_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx470_tgt
     .local int rx470_pos
@@ -6309,7 +6309,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<lambda>"  :subid("119_1279589170.0083") :method
+.sub "!PREFIX__term:sym<lambda>"  :subid("119_1280467477.44751") :method
 .annotate 'line', 4
     new $P472, "ResizablePMCArray"
     push $P472, ""
@@ -6318,7 +6318,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "fatarrow"  :subid("120_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "fatarrow"  :subid("120_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx475_tgt
     .local int rx475_pos
@@ -6417,7 +6417,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__fatarrow"  :subid("121_1279589170.0083") :method
+.sub "!PREFIX__fatarrow"  :subid("121_1280467477.44751") :method
 .annotate 'line', 4
     $P477 = self."!PREFIX__!subrule"("identifier", "")
     new $P478, "ResizablePMCArray"
@@ -6427,7 +6427,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "colonpair"  :subid("122_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "colonpair"  :subid("122_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx482_tgt
     .local int rx482_pos
@@ -6567,7 +6567,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__colonpair"  :subid("123_1279589170.0083") :method
+.sub "!PREFIX__colonpair"  :subid("123_1280467477.44751") :method
 .annotate 'line', 4
     $P484 = self."!PREFIX__!subrule"("circumfix", ":")
     $P485 = self."!PREFIX__!subrule"("identifier", ":")
@@ -6581,7 +6581,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable"  :subid("124_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "variable"  :subid("124_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx494_tgt
     .local int rx494_pos
@@ -6747,7 +6747,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable"  :subid("125_1279589170.0083") :method
+.sub "!PREFIX__variable"  :subid("125_1280467477.44751") :method
 .annotate 'line', 4
     $P496 = self."!PREFIX__!subrule"("sigil", "")
     $P497 = self."!PREFIX__!subrule"("sigil", "")
@@ -6762,7 +6762,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "sigil"  :subid("126_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "sigil"  :subid("126_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx506_tgt
     .local int rx506_pos
@@ -6824,7 +6824,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__sigil"  :subid("127_1279589170.0083") :method
+.sub "!PREFIX__sigil"  :subid("127_1280467477.44751") :method
 .annotate 'line', 4
     new $P508, "ResizablePMCArray"
     push $P508, "&"
@@ -6836,7 +6836,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "twigil"  :subid("128_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "twigil"  :subid("128_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx511_tgt
     .local int rx511_pos
@@ -6898,7 +6898,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__twigil"  :subid("129_1279589170.0083") :method
+.sub "!PREFIX__twigil"  :subid("129_1280467477.44751") :method
 .annotate 'line', 4
     new $P513, "ResizablePMCArray"
     push $P513, "?"
@@ -6909,7 +6909,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator"  :subid("130_1279589170.0083") :method
+.sub "package_declarator"  :subid("130_1280467477.44751") :method
 .annotate 'line', 259
     $P516 = self."!protoregex"("package_declarator")
     .return ($P516)
@@ -6917,7 +6917,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator"  :subid("131_1279589170.0083") :method
+.sub "!PREFIX__package_declarator"  :subid("131_1280467477.44751") :method
 .annotate 'line', 259
     $P518 = self."!PREFIX__!protoregex"("package_declarator")
     .return ($P518)
@@ -6925,7 +6925,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<module>"  :subid("132_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "package_declarator:sym<module>"  :subid("132_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx520_tgt
     .local int rx520_pos
@@ -7008,7 +7008,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<module>"  :subid("133_1279589170.0083") :method
+.sub "!PREFIX__package_declarator:sym<module>"  :subid("133_1280467477.44751") :method
 .annotate 'line', 4
     $P522 = self."!PREFIX__!subrule"("package_def", "module")
     new $P523, "ResizablePMCArray"
@@ -7018,7 +7018,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<class>"  :subid("134_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "package_declarator:sym<class>"  :subid("134_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx527_tgt
     .local int rx527_pos
@@ -7114,7 +7114,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<class>"  :subid("135_1279589170.0083") :method
+.sub "!PREFIX__package_declarator:sym<class>"  :subid("135_1280467477.44751") :method
 .annotate 'line', 4
     $P529 = self."!PREFIX__!subrule"("package_def", "grammar")
     $P530 = self."!PREFIX__!subrule"("package_def", "class")
@@ -7126,7 +7126,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "package_def"  :subid("136_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "package_def"  :subid("136_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx536_tgt
     .local int rx536_pos
@@ -7335,7 +7335,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_def"  :subid("137_1279589170.0083") :method
+.sub "!PREFIX__package_def"  :subid("137_1280467477.44751") :method
 .annotate 'line', 4
     $P538 = self."!PREFIX__!subrule"("ws", "")
     new $P539, "ResizablePMCArray"
@@ -7345,7 +7345,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator"  :subid("138_1279589170.0083") :method
+.sub "scope_declarator"  :subid("138_1280467477.44751") :method
 .annotate 'line', 273
     $P559 = self."!protoregex"("scope_declarator")
     .return ($P559)
@@ -7353,7 +7353,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator"  :subid("139_1279589170.0083") :method
+.sub "!PREFIX__scope_declarator"  :subid("139_1280467477.44751") :method
 .annotate 'line', 273
     $P561 = self."!PREFIX__!protoregex"("scope_declarator")
     .return ($P561)
@@ -7361,7 +7361,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<my>"  :subid("140_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "scope_declarator:sym<my>"  :subid("140_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx563_tgt
     .local int rx563_pos
@@ -7444,7 +7444,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<my>"  :subid("141_1279589170.0083") :method
+.sub "!PREFIX__scope_declarator:sym<my>"  :subid("141_1280467477.44751") :method
 .annotate 'line', 4
     $P565 = self."!PREFIX__!subrule"("scoped", "my")
     new $P566, "ResizablePMCArray"
@@ -7454,7 +7454,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<our>"  :subid("142_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "scope_declarator:sym<our>"  :subid("142_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx570_tgt
     .local int rx570_pos
@@ -7537,7 +7537,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<our>"  :subid("143_1279589170.0083") :method
+.sub "!PREFIX__scope_declarator:sym<our>"  :subid("143_1280467477.44751") :method
 .annotate 'line', 4
     $P572 = self."!PREFIX__!subrule"("scoped", "our")
     new $P573, "ResizablePMCArray"
@@ -7547,7 +7547,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<has>"  :subid("144_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "scope_declarator:sym<has>"  :subid("144_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx577_tgt
     .local int rx577_pos
@@ -7630,7 +7630,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<has>"  :subid("145_1279589170.0083") :method
+.sub "!PREFIX__scope_declarator:sym<has>"  :subid("145_1280467477.44751") :method
 .annotate 'line', 4
     $P579 = self."!PREFIX__!subrule"("scoped", "has")
     new $P580, "ResizablePMCArray"
@@ -7640,7 +7640,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "scoped"  :subid("146_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "scoped"  :subid("146_1280467477.44751") :method :outer("11_1280467477.44751")
     .param pmc param_584
 .annotate 'line', 278
     .lex "$*SCOPE", param_584
@@ -7741,7 +7741,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scoped"  :subid("147_1279589170.0083") :method
+.sub "!PREFIX__scoped"  :subid("147_1280467477.44751") :method
 .annotate 'line', 4
     $P587 = self."!PREFIX__!subrule"("ws", "")
     $P588 = self."!PREFIX__!subrule"("ws", "")
@@ -7753,7 +7753,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "typename"  :subid("148_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "typename"  :subid("148_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx597_tgt
     .local int rx597_pos
@@ -7815,7 +7815,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__typename"  :subid("149_1279589170.0083") :method
+.sub "!PREFIX__typename"  :subid("149_1280467477.44751") :method
 .annotate 'line', 4
     $P599 = self."!PREFIX__!subrule"("name", "")
     new $P600, "ResizablePMCArray"
@@ -7825,7 +7825,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "declarator"  :subid("150_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "declarator"  :subid("150_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx603_tgt
     .local int rx603_pos
@@ -7903,7 +7903,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__declarator"  :subid("151_1279589170.0083") :method
+.sub "!PREFIX__declarator"  :subid("151_1280467477.44751") :method
 .annotate 'line', 4
     $P605 = self."!PREFIX__!subrule"("routine_declarator", "")
     $P606 = self."!PREFIX__!subrule"("variable_declarator", "")
@@ -7915,7 +7915,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "variable_declarator"  :subid("152_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "variable_declarator"  :subid("152_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx611_tgt
     .local int rx611_pos
@@ -7977,7 +7977,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable_declarator"  :subid("153_1279589170.0083") :method
+.sub "!PREFIX__variable_declarator"  :subid("153_1280467477.44751") :method
 .annotate 'line', 4
     $P613 = self."!PREFIX__!subrule"("variable", "")
     new $P614, "ResizablePMCArray"
@@ -7987,7 +7987,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator"  :subid("154_1279589170.0083") :method
+.sub "routine_declarator"  :subid("154_1280467477.44751") :method
 .annotate 'line', 292
     $P617 = self."!protoregex"("routine_declarator")
     .return ($P617)
@@ -7995,7 +7995,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator"  :subid("155_1279589170.0083") :method
+.sub "!PREFIX__routine_declarator"  :subid("155_1280467477.44751") :method
 .annotate 'line', 292
     $P619 = self."!PREFIX__!protoregex"("routine_declarator")
     .return ($P619)
@@ -8003,7 +8003,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<sub>"  :subid("156_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "routine_declarator:sym<sub>"  :subid("156_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx621_tgt
     .local int rx621_pos
@@ -8086,7 +8086,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("157_1279589170.0083") :method
+.sub "!PREFIX__routine_declarator:sym<sub>"  :subid("157_1280467477.44751") :method
 .annotate 'line', 4
     $P623 = self."!PREFIX__!subrule"("routine_def", "sub")
     new $P624, "ResizablePMCArray"
@@ -8096,7 +8096,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<method>"  :subid("158_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "routine_declarator:sym<method>"  :subid("158_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx628_tgt
     .local int rx628_pos
@@ -8179,7 +8179,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<method>"  :subid("159_1279589170.0083") :method
+.sub "!PREFIX__routine_declarator:sym<method>"  :subid("159_1280467477.44751") :method
 .annotate 'line', 4
     $P630 = self."!PREFIX__!subrule"("method_def", "method")
     new $P631, "ResizablePMCArray"
@@ -8189,7 +8189,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "routine_def"  :subid("160_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "routine_def"  :subid("160_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx635_tgt
     .local int rx635_pos
@@ -8402,7 +8402,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_def"  :subid("161_1279589170.0083") :method
+.sub "!PREFIX__routine_def"  :subid("161_1280467477.44751") :method
 .annotate 'line', 4
     $P637 = self."!PREFIX__!subrule"("ws", "")
     new $P638, "ResizablePMCArray"
@@ -8412,7 +8412,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "method_def"  :subid("162_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "method_def"  :subid("162_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx658_tgt
     .local int rx658_pos
@@ -8593,7 +8593,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__method_def"  :subid("163_1279589170.0083") :method
+.sub "!PREFIX__method_def"  :subid("163_1280467477.44751") :method
 .annotate 'line', 4
     $P660 = self."!PREFIX__!subrule"("ws", "")
     new $P661, "ResizablePMCArray"
@@ -8603,7 +8603,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "multi_declarator"  :subid("164_1279589170.0083") :method
+.sub "multi_declarator"  :subid("164_1280467477.44751") :method
 .annotate 'line', 312
     $P678 = self."!protoregex"("multi_declarator")
     .return ($P678)
@@ -8611,7 +8611,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__multi_declarator"  :subid("165_1279589170.0083") :method
+.sub "!PREFIX__multi_declarator"  :subid("165_1280467477.44751") :method
 .annotate 'line', 312
     $P680 = self."!PREFIX__!protoregex"("multi_declarator")
     .return ($P680)
@@ -8619,7 +8619,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "multi_declarator:sym<multi>"  :subid("166_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "multi_declarator:sym<multi>"  :subid("166_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 314
     new $P682, "Undef"
     .lex "$*MULTINESS", $P682
@@ -8739,7 +8739,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__multi_declarator:sym<multi>"  :subid("167_1279589170.0083") :method
+.sub "!PREFIX__multi_declarator:sym<multi>"  :subid("167_1280467477.44751") :method
 .annotate 'line', 4
     $P685 = self."!PREFIX__!subrule"("ws", "multi")
     new $P686, "ResizablePMCArray"
@@ -8749,7 +8749,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "multi_declarator:sym<null>"  :subid("168_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "multi_declarator:sym<null>"  :subid("168_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 319
     new $P692, "Undef"
     .lex "$*MULTINESS", $P692
@@ -8820,7 +8820,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__multi_declarator:sym<null>"  :subid("169_1279589170.0083") :method
+.sub "!PREFIX__multi_declarator:sym<null>"  :subid("169_1280467477.44751") :method
 .annotate 'line', 4
     $P695 = self."!PREFIX__!subrule"("declarator", "")
     new $P696, "ResizablePMCArray"
@@ -8830,7 +8830,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "signature"  :subid("170_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "signature"  :subid("170_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx700_tgt
     .local int rx700_pos
@@ -8927,7 +8927,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__signature"  :subid("171_1279589170.0083") :method
+.sub "!PREFIX__signature"  :subid("171_1280467477.44751") :method
 .annotate 'line', 4
     new $P702, "ResizablePMCArray"
     push $P702, ""
@@ -8936,7 +8936,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "parameter"  :subid("172_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "parameter"  :subid("172_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx707_tgt
     .local int rx707_pos
@@ -8945,7 +8945,7 @@
     .local int rx707_rep
     .local pmc rx707_cur
     (rx707_cur, rx707_pos, rx707_tgt, $I10) = self."!cursor_start"()
-    rx707_cur."!cursor_caparray"("default_value", "typename")
+    rx707_cur."!cursor_caparray"("typename", "default_value")
     .lex unicode:"$\x{a2}", rx707_cur
     .local pmc match
     .lex "$/", match
@@ -9131,7 +9131,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__parameter"  :subid("173_1279589170.0083") :method
+.sub "!PREFIX__parameter"  :subid("173_1280467477.44751") :method
 .annotate 'line', 4
     new $P709, "ResizablePMCArray"
     push $P709, ""
@@ -9140,7 +9140,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "param_var"  :subid("174_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "param_var"  :subid("174_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx720_tgt
     .local int rx720_pos
@@ -9259,7 +9259,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__param_var"  :subid("175_1279589170.0083") :method
+.sub "!PREFIX__param_var"  :subid("175_1280467477.44751") :method
 .annotate 'line', 4
     $P722 = self."!PREFIX__!subrule"("sigil", "")
     new $P723, "ResizablePMCArray"
@@ -9269,7 +9269,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "named_param"  :subid("176_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "named_param"  :subid("176_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx730_tgt
     .local int rx730_pos
@@ -9339,7 +9339,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__named_param"  :subid("177_1279589170.0083") :method
+.sub "!PREFIX__named_param"  :subid("177_1280467477.44751") :method
 .annotate 'line', 4
     $P732 = self."!PREFIX__!subrule"("param_var", ":")
     new $P733, "ResizablePMCArray"
@@ -9349,7 +9349,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "default_value"  :subid("178_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "default_value"  :subid("178_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx736_tgt
     .local int rx736_pos
@@ -9433,7 +9433,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__default_value"  :subid("179_1279589170.0083") :method
+.sub "!PREFIX__default_value"  :subid("179_1280467477.44751") :method
 .annotate 'line', 4
     $P738 = self."!PREFIX__!subrule"("ws", "")
     new $P739, "ResizablePMCArray"
@@ -9443,7 +9443,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "regex_declarator"  :subid("180_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "regex_declarator"  :subid("180_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx745_tgt
     .local int rx745_pos
@@ -9849,7 +9849,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__regex_declarator"  :subid("181_1279589170.0083") :method
+.sub "!PREFIX__regex_declarator"  :subid("181_1280467477.44751") :method
 .annotate 'line', 4
     $P747 = self."!PREFIX__!subrule"("ws", "")
     new $P748, "ResizablePMCArray"
@@ -9859,7 +9859,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "dotty"  :subid("182_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "dotty"  :subid("182_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx782_tgt
     .local int rx782_pos
@@ -10020,7 +10020,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__dotty"  :subid("183_1279589170.0083") :method
+.sub "!PREFIX__dotty"  :subid("183_1280467477.44751") :method
 .annotate 'line', 4
     $P784 = self."!PREFIX__!subrule"("deflongname", ".")
     new $P785, "ResizablePMCArray"
@@ -10032,7 +10032,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term"  :subid("184_1279589170.0083") :method
+.sub "term"  :subid("184_1280467477.44751") :method
 .annotate 'line', 376
     $P792 = self."!protoregex"("term")
     .return ($P792)
@@ -10040,7 +10040,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term"  :subid("185_1279589170.0083") :method
+.sub "!PREFIX__term"  :subid("185_1280467477.44751") :method
 .annotate 'line', 376
     $P794 = self."!PREFIX__!protoregex"("term")
     .return ($P794)
@@ -10048,7 +10048,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<self>"  :subid("186_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<self>"  :subid("186_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx796_tgt
     .local int rx796_pos
@@ -10132,7 +10132,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<self>"  :subid("187_1279589170.0083") :method
+.sub "!PREFIX__term:sym<self>"  :subid("187_1280467477.44751") :method
 .annotate 'line', 4
     new $P798, "ResizablePMCArray"
     push $P798, "self"
@@ -10141,7 +10141,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<identifier>"  :subid("188_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<identifier>"  :subid("188_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx802_tgt
     .local int rx802_pos
@@ -10217,7 +10217,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<identifier>"  :subid("189_1279589170.0083") :method
+.sub "!PREFIX__term:sym<identifier>"  :subid("189_1280467477.44751") :method
 .annotate 'line', 4
     $P804 = self."!PREFIX__!subrule"("deflongname", "")
     new $P805, "ResizablePMCArray"
@@ -10227,7 +10227,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<name>"  :subid("190_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<name>"  :subid("190_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx808_tgt
     .local int rx808_pos
@@ -10311,7 +10311,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<name>"  :subid("191_1279589170.0083") :method
+.sub "!PREFIX__term:sym<name>"  :subid("191_1280467477.44751") :method
 .annotate 'line', 4
     $P810 = self."!PREFIX__!subrule"("name", "")
     new $P811, "ResizablePMCArray"
@@ -10321,7 +10321,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<pir::op>"  :subid("192_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<pir::op>"  :subid("192_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx816_tgt
     .local int rx816_pos
@@ -10425,7 +10425,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<pir::op>"  :subid("193_1279589170.0083") :method
+.sub "!PREFIX__term:sym<pir::op>"  :subid("193_1280467477.44751") :method
 .annotate 'line', 4
     new $P818, "ResizablePMCArray"
     push $P818, "pir::"
@@ -10434,7 +10434,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "args"  :subid("194_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "args"  :subid("194_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx824_tgt
     .local int rx824_pos
@@ -10510,7 +10510,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__args"  :subid("195_1279589170.0083") :method
+.sub "!PREFIX__args"  :subid("195_1280467477.44751") :method
 .annotate 'line', 4
     $P826 = self."!PREFIX__!subrule"("arglist", "(")
     new $P827, "ResizablePMCArray"
@@ -10520,7 +10520,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "arglist"  :subid("196_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "arglist"  :subid("196_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx830_tgt
     .local int rx830_pos
@@ -10596,7 +10596,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("197_1279589170.0083") :method
+.sub "!PREFIX__arglist"  :subid("197_1280467477.44751") :method
 .annotate 'line', 4
     $P832 = self."!PREFIX__!subrule"("ws", "")
     new $P833, "ResizablePMCArray"
@@ -10606,7 +10606,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<value>"  :subid("198_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<value>"  :subid("198_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx837_tgt
     .local int rx837_pos
@@ -10668,7 +10668,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<value>"  :subid("199_1279589170.0083") :method
+.sub "!PREFIX__term:sym<value>"  :subid("199_1280467477.44751") :method
 .annotate 'line', 4
     $P839 = self."!PREFIX__!subrule"("value", "")
     new $P840, "ResizablePMCArray"
@@ -10678,7 +10678,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "value"  :subid("200_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "value"  :subid("200_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx843_tgt
     .local int rx843_pos
@@ -10756,7 +10756,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__value"  :subid("201_1279589170.0083") :method
+.sub "!PREFIX__value"  :subid("201_1280467477.44751") :method
 .annotate 'line', 4
     $P845 = self."!PREFIX__!subrule"("number", "")
     $P846 = self."!PREFIX__!subrule"("quote", "")
@@ -10768,7 +10768,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "number"  :subid("202_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "number"  :subid("202_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx851_tgt
     .local int rx851_pos
@@ -10873,7 +10873,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__number"  :subid("203_1279589170.0083") :method
+.sub "!PREFIX__number"  :subid("203_1280467477.44751") :method
 .annotate 'line', 4
     new $P853, "ResizablePMCArray"
     push $P853, ""
@@ -10882,7 +10882,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote"  :subid("204_1279589170.0083") :method
+.sub "quote"  :subid("204_1280467477.44751") :method
 .annotate 'line', 417
     $P859 = self."!protoregex"("quote")
     .return ($P859)
@@ -10890,7 +10890,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote"  :subid("205_1279589170.0083") :method
+.sub "!PREFIX__quote"  :subid("205_1280467477.44751") :method
 .annotate 'line', 417
     $P861 = self."!PREFIX__!protoregex"("quote")
     .return ($P861)
@@ -10898,7 +10898,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<apos>"  :subid("206_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "quote:sym<apos>"  :subid("206_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx863_tgt
     .local int rx863_pos
@@ -10966,7 +10966,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<apos>"  :subid("207_1279589170.0083") :method
+.sub "!PREFIX__quote:sym<apos>"  :subid("207_1280467477.44751") :method
 .annotate 'line', 4
     new $P865, "ResizablePMCArray"
     push $P865, "'"
@@ -10975,7 +10975,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<dblq>"  :subid("208_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "quote:sym<dblq>"  :subid("208_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx868_tgt
     .local int rx868_pos
@@ -11043,7 +11043,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<dblq>"  :subid("209_1279589170.0083") :method
+.sub "!PREFIX__quote:sym<dblq>"  :subid("209_1280467477.44751") :method
 .annotate 'line', 4
     new $P870, "ResizablePMCArray"
     push $P870, "\""
@@ -11052,7 +11052,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<q>"  :subid("210_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "quote:sym<q>"  :subid("210_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx873_tgt
     .local int rx873_pos
@@ -11140,7 +11140,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<q>"  :subid("211_1279589170.0083") :method
+.sub "!PREFIX__quote:sym<q>"  :subid("211_1280467477.44751") :method
 .annotate 'line', 4
     $P875 = self."!PREFIX__!subrule"("ws", "q")
     new $P876, "ResizablePMCArray"
@@ -11150,7 +11150,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<qq>"  :subid("212_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "quote:sym<qq>"  :subid("212_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx879_tgt
     .local int rx879_pos
@@ -11238,7 +11238,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<qq>"  :subid("213_1279589170.0083") :method
+.sub "!PREFIX__quote:sym<qq>"  :subid("213_1280467477.44751") :method
 .annotate 'line', 4
     $P881 = self."!PREFIX__!subrule"("ws", "qq")
     new $P882, "ResizablePMCArray"
@@ -11248,7 +11248,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q>"  :subid("214_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "quote:sym<Q>"  :subid("214_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx885_tgt
     .local int rx885_pos
@@ -11336,7 +11336,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q>"  :subid("215_1279589170.0083") :method
+.sub "!PREFIX__quote:sym<Q>"  :subid("215_1280467477.44751") :method
 .annotate 'line', 4
     $P887 = self."!PREFIX__!subrule"("ws", "Q")
     new $P888, "ResizablePMCArray"
@@ -11346,7 +11346,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q:PIR>"  :subid("216_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "quote:sym<Q:PIR>"  :subid("216_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx891_tgt
     .local int rx891_pos
@@ -11420,7 +11420,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("217_1279589170.0083") :method
+.sub "!PREFIX__quote:sym<Q:PIR>"  :subid("217_1280467477.44751") :method
 .annotate 'line', 4
     $P893 = self."!PREFIX__!subrule"("ws", "Q:PIR")
     new $P894, "ResizablePMCArray"
@@ -11430,7 +11430,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote:sym</ />"  :subid("218_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "quote:sym</ />"  :subid("218_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx897_tgt
     .local int rx897_pos
@@ -11519,7 +11519,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym</ />"  :subid("219_1279589170.0083") :method
+.sub "!PREFIX__quote:sym</ />"  :subid("219_1280467477.44751") :method
 .annotate 'line', 4
     $P899 = self."!PREFIX__!subrule"("newpad", "/")
     new $P900, "ResizablePMCArray"
@@ -11529,7 +11529,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<$>"  :subid("220_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "quote_escape:sym<$>"  :subid("220_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx903_tgt
     .local int rx903_pos
@@ -11601,7 +11601,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<$>"  :subid("221_1279589170.0083") :method
+.sub "!PREFIX__quote_escape:sym<$>"  :subid("221_1280467477.44751") :method
 .annotate 'line', 4
     new $P905, "ResizablePMCArray"
     push $P905, "$"
@@ -11610,7 +11610,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<{ }>"  :subid("222_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "quote_escape:sym<{ }>"  :subid("222_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx908_tgt
     .local int rx908_pos
@@ -11682,7 +11682,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("223_1279589170.0083") :method
+.sub "!PREFIX__quote_escape:sym<{ }>"  :subid("223_1280467477.44751") :method
 .annotate 'line', 4
     new $P910, "ResizablePMCArray"
     push $P910, "{"
@@ -11691,7 +11691,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<esc>"  :subid("224_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "quote_escape:sym<esc>"  :subid("224_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx913_tgt
     .local int rx913_pos
@@ -11757,7 +11757,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>"  :subid("225_1279589170.0083") :method
+.sub "!PREFIX__quote_escape:sym<esc>"  :subid("225_1280467477.44751") :method
 .annotate 'line', 4
     new $P915, "ResizablePMCArray"
     push $P915, "\\e"
@@ -11766,7 +11766,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<( )>"  :subid("226_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "circumfix:sym<( )>"  :subid("226_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx918_tgt
     .local int rx918_pos
@@ -11861,7 +11861,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<( )>"  :subid("227_1279589170.0083") :method
+.sub "!PREFIX__circumfix:sym<( )>"  :subid("227_1280467477.44751") :method
 .annotate 'line', 4
     $P920 = self."!PREFIX__!subrule"("ws", "(")
     new $P921, "ResizablePMCArray"
@@ -11871,7 +11871,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<[ ]>"  :subid("228_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "circumfix:sym<[ ]>"  :subid("228_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx926_tgt
     .local int rx926_pos
@@ -11966,7 +11966,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("229_1279589170.0083") :method
+.sub "!PREFIX__circumfix:sym<[ ]>"  :subid("229_1280467477.44751") :method
 .annotate 'line', 4
     $P928 = self."!PREFIX__!subrule"("ws", "[")
     new $P929, "ResizablePMCArray"
@@ -11976,7 +11976,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<ang>"  :subid("230_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "circumfix:sym<ang>"  :subid("230_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx934_tgt
     .local int rx934_pos
@@ -12044,7 +12044,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<ang>"  :subid("231_1279589170.0083") :method
+.sub "!PREFIX__circumfix:sym<ang>"  :subid("231_1280467477.44751") :method
 .annotate 'line', 4
     new $P936, "ResizablePMCArray"
     push $P936, "<"
@@ -12053,7 +12053,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("232_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("232_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx939_tgt
     .local int rx939_pos
@@ -12121,7 +12121,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("233_1279589170.0083") :method
+.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>"  :subid("233_1280467477.44751") :method
 .annotate 'line', 4
     new $P941, "ResizablePMCArray"
     push $P941, unicode:"\x{ab}"
@@ -12130,7 +12130,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<{ }>"  :subid("234_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "circumfix:sym<{ }>"  :subid("234_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx944_tgt
     .local int rx944_pos
@@ -12198,7 +12198,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<{ }>"  :subid("235_1279589170.0083") :method
+.sub "!PREFIX__circumfix:sym<{ }>"  :subid("235_1280467477.44751") :method
 .annotate 'line', 4
     new $P946, "ResizablePMCArray"
     push $P946, "{"
@@ -12207,7 +12207,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<sigil>"  :subid("236_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "circumfix:sym<sigil>"  :subid("236_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx949_tgt
     .local int rx949_pos
@@ -12308,7 +12308,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<sigil>"  :subid("237_1279589170.0083") :method
+.sub "!PREFIX__circumfix:sym<sigil>"  :subid("237_1280467477.44751") :method
 .annotate 'line', 4
     $P951 = self."!PREFIX__!subrule"("sigil", "")
     new $P952, "ResizablePMCArray"
@@ -12318,7 +12318,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "semilist"  :subid("238_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "semilist"  :subid("238_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 4
     .local string rx958_tgt
     .local int rx958_pos
@@ -12390,7 +12390,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__semilist"  :subid("239_1279589170.0083") :method
+.sub "!PREFIX__semilist"  :subid("239_1280467477.44751") :method
 .annotate 'line', 4
     $P960 = self."!PREFIX__!subrule"("ws", "")
     new $P961, "ResizablePMCArray"
@@ -12400,7 +12400,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixish"  :subid("240_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infixish"  :subid("240_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx966_tgt
     .local int rx966_pos
@@ -12466,7 +12466,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixish"  :subid("241_1279589170.0083") :method
+.sub "!PREFIX__infixish"  :subid("241_1280467477.44751") :method
 .annotate 'line', 447
     new $P968, "ResizablePMCArray"
     push $P968, ""
@@ -12475,7 +12475,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infixstopper"  :subid("242_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infixstopper"  :subid("242_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx971_tgt
     .local int rx971_pos
@@ -12534,7 +12534,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixstopper"  :subid("243_1279589170.0083") :method
+.sub "!PREFIX__infixstopper"  :subid("243_1280467477.44751") :method
 .annotate 'line', 447
     new $P973, "ResizablePMCArray"
     push $P973, ""
@@ -12543,7 +12543,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<[ ]>"  :subid("244_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "postcircumfix:sym<[ ]>"  :subid("244_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx976_tgt
     .local int rx976_pos
@@ -12633,7 +12633,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("245_1279589170.0083") :method
+.sub "!PREFIX__postcircumfix:sym<[ ]>"  :subid("245_1280467477.44751") :method
 .annotate 'line', 447
     $P978 = self."!PREFIX__!subrule"("ws", "[")
     new $P979, "ResizablePMCArray"
@@ -12643,7 +12643,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<{ }>"  :subid("246_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "postcircumfix:sym<{ }>"  :subid("246_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx982_tgt
     .local int rx982_pos
@@ -12733,7 +12733,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("247_1279589170.0083") :method
+.sub "!PREFIX__postcircumfix:sym<{ }>"  :subid("247_1280467477.44751") :method
 .annotate 'line', 447
     $P984 = self."!PREFIX__!subrule"("ws", "{")
     new $P985, "ResizablePMCArray"
@@ -12743,7 +12743,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<ang>"  :subid("248_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "postcircumfix:sym<ang>"  :subid("248_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx988_tgt
     .local int rx988_pos
@@ -12820,7 +12820,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("249_1279589170.0083") :method
+.sub "!PREFIX__postcircumfix:sym<ang>"  :subid("249_1280467477.44751") :method
 .annotate 'line', 447
     new $P990, "ResizablePMCArray"
     push $P990, "<"
@@ -12829,7 +12829,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<( )>"  :subid("250_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "postcircumfix:sym<( )>"  :subid("250_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx993_tgt
     .local int rx993_pos
@@ -12919,7 +12919,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("251_1279589170.0083") :method
+.sub "!PREFIX__postcircumfix:sym<( )>"  :subid("251_1280467477.44751") :method
 .annotate 'line', 447
     $P995 = self."!PREFIX__!subrule"("ws", "(")
     new $P996, "ResizablePMCArray"
@@ -12929,7 +12929,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<.>"  :subid("252_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "postfix:sym<.>"  :subid("252_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx999_tgt
     .local int rx999_pos
@@ -12998,7 +12998,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<.>"  :subid("253_1279589170.0083") :method
+.sub "!PREFIX__postfix:sym<.>"  :subid("253_1280467477.44751") :method
 .annotate 'line', 447
     $P1001 = self."!PREFIX__!subrule"("dotty", "")
     new $P1002, "ResizablePMCArray"
@@ -13008,7 +13008,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<++>"  :subid("254_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "prefix:sym<++>"  :subid("254_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1005_tgt
     .local int rx1005_pos
@@ -13091,7 +13091,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<++>"  :subid("255_1279589170.0083") :method
+.sub "!PREFIX__prefix:sym<++>"  :subid("255_1280467477.44751") :method
 .annotate 'line', 447
     $P1007 = self."!PREFIX__!subrule"("O", "++")
     new $P1008, "ResizablePMCArray"
@@ -13101,7 +13101,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<-->"  :subid("256_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "prefix:sym<-->"  :subid("256_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1012_tgt
     .local int rx1012_pos
@@ -13184,7 +13184,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<-->"  :subid("257_1279589170.0083") :method
+.sub "!PREFIX__prefix:sym<-->"  :subid("257_1280467477.44751") :method
 .annotate 'line', 447
     $P1014 = self."!PREFIX__!subrule"("O", "--")
     new $P1015, "ResizablePMCArray"
@@ -13194,7 +13194,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<++>"  :subid("258_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "postfix:sym<++>"  :subid("258_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1019_tgt
     .local int rx1019_pos
@@ -13277,7 +13277,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<++>"  :subid("259_1279589170.0083") :method
+.sub "!PREFIX__postfix:sym<++>"  :subid("259_1280467477.44751") :method
 .annotate 'line', 447
     $P1021 = self."!PREFIX__!subrule"("O", "++")
     new $P1022, "ResizablePMCArray"
@@ -13287,7 +13287,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "postfix:sym<-->"  :subid("260_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "postfix:sym<-->"  :subid("260_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1026_tgt
     .local int rx1026_pos
@@ -13370,7 +13370,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<-->"  :subid("261_1279589170.0083") :method
+.sub "!PREFIX__postfix:sym<-->"  :subid("261_1280467477.44751") :method
 .annotate 'line', 447
     $P1028 = self."!PREFIX__!subrule"("O", "--")
     new $P1029, "ResizablePMCArray"
@@ -13380,7 +13380,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<**>"  :subid("262_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<**>"  :subid("262_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1033_tgt
     .local int rx1033_pos
@@ -13463,7 +13463,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<**>"  :subid("263_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<**>"  :subid("263_1280467477.44751") :method
 .annotate 'line', 447
     $P1035 = self."!PREFIX__!subrule"("O", "**")
     new $P1036, "ResizablePMCArray"
@@ -13473,7 +13473,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<+>"  :subid("264_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "prefix:sym<+>"  :subid("264_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1040_tgt
     .local int rx1040_pos
@@ -13556,7 +13556,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<+>"  :subid("265_1279589170.0083") :method
+.sub "!PREFIX__prefix:sym<+>"  :subid("265_1280467477.44751") :method
 .annotate 'line', 447
     $P1042 = self."!PREFIX__!subrule"("O", "+")
     new $P1043, "ResizablePMCArray"
@@ -13566,7 +13566,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<~>"  :subid("266_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "prefix:sym<~>"  :subid("266_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1047_tgt
     .local int rx1047_pos
@@ -13649,7 +13649,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<~>"  :subid("267_1279589170.0083") :method
+.sub "!PREFIX__prefix:sym<~>"  :subid("267_1280467477.44751") :method
 .annotate 'line', 447
     $P1049 = self."!PREFIX__!subrule"("O", "~")
     new $P1050, "ResizablePMCArray"
@@ -13659,7 +13659,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<->"  :subid("268_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "prefix:sym<->"  :subid("268_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1054_tgt
     .local int rx1054_pos
@@ -13752,7 +13752,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<->"  :subid("269_1279589170.0083") :method
+.sub "!PREFIX__prefix:sym<->"  :subid("269_1280467477.44751") :method
 .annotate 'line', 447
     new $P1056, "ResizablePMCArray"
     push $P1056, "-"
@@ -13761,7 +13761,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<?>"  :subid("270_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "prefix:sym<?>"  :subid("270_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1060_tgt
     .local int rx1060_pos
@@ -13844,7 +13844,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<?>"  :subid("271_1279589170.0083") :method
+.sub "!PREFIX__prefix:sym<?>"  :subid("271_1280467477.44751") :method
 .annotate 'line', 447
     $P1062 = self."!PREFIX__!subrule"("O", "?")
     new $P1063, "ResizablePMCArray"
@@ -13854,7 +13854,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<!>"  :subid("272_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "prefix:sym<!>"  :subid("272_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1067_tgt
     .local int rx1067_pos
@@ -13937,7 +13937,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<!>"  :subid("273_1279589170.0083") :method
+.sub "!PREFIX__prefix:sym<!>"  :subid("273_1280467477.44751") :method
 .annotate 'line', 447
     $P1069 = self."!PREFIX__!subrule"("O", "!")
     new $P1070, "ResizablePMCArray"
@@ -13947,7 +13947,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<|>"  :subid("274_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "prefix:sym<|>"  :subid("274_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1074_tgt
     .local int rx1074_pos
@@ -14030,7 +14030,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<|>"  :subid("275_1279589170.0083") :method
+.sub "!PREFIX__prefix:sym<|>"  :subid("275_1280467477.44751") :method
 .annotate 'line', 447
     $P1076 = self."!PREFIX__!subrule"("O", "|")
     new $P1077, "ResizablePMCArray"
@@ -14040,7 +14040,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<*>"  :subid("276_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<*>"  :subid("276_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1081_tgt
     .local int rx1081_pos
@@ -14123,7 +14123,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<*>"  :subid("277_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<*>"  :subid("277_1280467477.44751") :method
 .annotate 'line', 447
     $P1083 = self."!PREFIX__!subrule"("O", "*")
     new $P1084, "ResizablePMCArray"
@@ -14133,7 +14133,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym</>"  :subid("278_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym</>"  :subid("278_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1088_tgt
     .local int rx1088_pos
@@ -14216,7 +14216,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym</>"  :subid("279_1279589170.0083") :method
+.sub "!PREFIX__infix:sym</>"  :subid("279_1280467477.44751") :method
 .annotate 'line', 447
     $P1090 = self."!PREFIX__!subrule"("O", "/")
     new $P1091, "ResizablePMCArray"
@@ -14226,7 +14226,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<%>"  :subid("280_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<%>"  :subid("280_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1095_tgt
     .local int rx1095_pos
@@ -14309,7 +14309,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<%>"  :subid("281_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<%>"  :subid("281_1280467477.44751") :method
 .annotate 'line', 447
     $P1097 = self."!PREFIX__!subrule"("O", "%")
     new $P1098, "ResizablePMCArray"
@@ -14319,7 +14319,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<+&>"  :subid("282_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<+&>"  :subid("282_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1102_tgt
     .local int rx1102_pos
@@ -14402,7 +14402,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+&>"  :subid("283_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<+&>"  :subid("283_1280467477.44751") :method
 .annotate 'line', 447
     $P1104 = self."!PREFIX__!subrule"("O", "+&")
     new $P1105, "ResizablePMCArray"
@@ -14412,7 +14412,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<+>"  :subid("284_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<+>"  :subid("284_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1109_tgt
     .local int rx1109_pos
@@ -14495,7 +14495,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+>"  :subid("285_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<+>"  :subid("285_1280467477.44751") :method
 .annotate 'line', 447
     $P1111 = self."!PREFIX__!subrule"("O", "+")
     new $P1112, "ResizablePMCArray"
@@ -14505,7 +14505,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<->"  :subid("286_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<->"  :subid("286_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1116_tgt
     .local int rx1116_pos
@@ -14588,7 +14588,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<->"  :subid("287_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<->"  :subid("287_1280467477.44751") :method
 .annotate 'line', 447
     $P1118 = self."!PREFIX__!subrule"("O", "-")
     new $P1119, "ResizablePMCArray"
@@ -14598,7 +14598,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<+|>"  :subid("288_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<+|>"  :subid("288_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1123_tgt
     .local int rx1123_pos
@@ -14681,7 +14681,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+|>"  :subid("289_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<+|>"  :subid("289_1280467477.44751") :method
 .annotate 'line', 447
     $P1125 = self."!PREFIX__!subrule"("O", "+|")
     new $P1126, "ResizablePMCArray"
@@ -14691,7 +14691,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<+^>"  :subid("290_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<+^>"  :subid("290_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1130_tgt
     .local int rx1130_pos
@@ -14774,7 +14774,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+^>"  :subid("291_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<+^>"  :subid("291_1280467477.44751") :method
 .annotate 'line', 447
     $P1132 = self."!PREFIX__!subrule"("O", "+^")
     new $P1133, "ResizablePMCArray"
@@ -14784,7 +14784,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~>"  :subid("292_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<~>"  :subid("292_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1137_tgt
     .local int rx1137_pos
@@ -14867,7 +14867,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~>"  :subid("293_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<~>"  :subid("293_1280467477.44751") :method
 .annotate 'line', 447
     $P1139 = self."!PREFIX__!subrule"("O", "~")
     new $P1140, "ResizablePMCArray"
@@ -14877,7 +14877,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<==>"  :subid("294_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<==>"  :subid("294_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1144_tgt
     .local int rx1144_pos
@@ -14960,7 +14960,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<==>"  :subid("295_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<==>"  :subid("295_1280467477.44751") :method
 .annotate 'line', 447
     $P1146 = self."!PREFIX__!subrule"("O", "==")
     new $P1147, "ResizablePMCArray"
@@ -14970,7 +14970,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<!=>"  :subid("296_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<!=>"  :subid("296_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1151_tgt
     .local int rx1151_pos
@@ -15053,7 +15053,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<!=>"  :subid("297_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<!=>"  :subid("297_1280467477.44751") :method
 .annotate 'line', 447
     $P1153 = self."!PREFIX__!subrule"("O", "!=")
     new $P1154, "ResizablePMCArray"
@@ -15063,7 +15063,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<=>"  :subid("298_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<<=>"  :subid("298_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1158_tgt
     .local int rx1158_pos
@@ -15146,7 +15146,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<=>"  :subid("299_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<<=>"  :subid("299_1280467477.44751") :method
 .annotate 'line', 447
     $P1160 = self."!PREFIX__!subrule"("O", "<=")
     new $P1161, "ResizablePMCArray"
@@ -15156,7 +15156,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>=>"  :subid("300_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<>=>"  :subid("300_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1165_tgt
     .local int rx1165_pos
@@ -15239,7 +15239,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>=>"  :subid("301_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<>=>"  :subid("301_1280467477.44751") :method
 .annotate 'line', 447
     $P1167 = self."!PREFIX__!subrule"("O", ">=")
     new $P1168, "ResizablePMCArray"
@@ -15249,7 +15249,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<<>"  :subid("302_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<<>"  :subid("302_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1172_tgt
     .local int rx1172_pos
@@ -15332,7 +15332,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<>"  :subid("303_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<<>"  :subid("303_1280467477.44751") :method
 .annotate 'line', 447
     $P1174 = self."!PREFIX__!subrule"("O", "<")
     new $P1175, "ResizablePMCArray"
@@ -15342,7 +15342,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<>>"  :subid("304_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<>>"  :subid("304_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1179_tgt
     .local int rx1179_pos
@@ -15425,7 +15425,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>>"  :subid("305_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<>>"  :subid("305_1280467477.44751") :method
 .annotate 'line', 447
     $P1181 = self."!PREFIX__!subrule"("O", ">")
     new $P1182, "ResizablePMCArray"
@@ -15435,7 +15435,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<eq>"  :subid("306_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<eq>"  :subid("306_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1186_tgt
     .local int rx1186_pos
@@ -15518,7 +15518,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<eq>"  :subid("307_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<eq>"  :subid("307_1280467477.44751") :method
 .annotate 'line', 447
     $P1188 = self."!PREFIX__!subrule"("O", "eq")
     new $P1189, "ResizablePMCArray"
@@ -15528,7 +15528,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ne>"  :subid("308_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<ne>"  :subid("308_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1193_tgt
     .local int rx1193_pos
@@ -15611,7 +15611,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ne>"  :subid("309_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<ne>"  :subid("309_1280467477.44751") :method
 .annotate 'line', 447
     $P1195 = self."!PREFIX__!subrule"("O", "ne")
     new $P1196, "ResizablePMCArray"
@@ -15621,7 +15621,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<le>"  :subid("310_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<le>"  :subid("310_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1200_tgt
     .local int rx1200_pos
@@ -15704,7 +15704,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<le>"  :subid("311_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<le>"  :subid("311_1280467477.44751") :method
 .annotate 'line', 447
     $P1202 = self."!PREFIX__!subrule"("O", "le")
     new $P1203, "ResizablePMCArray"
@@ -15714,7 +15714,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<ge>"  :subid("312_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<ge>"  :subid("312_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1207_tgt
     .local int rx1207_pos
@@ -15797,7 +15797,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ge>"  :subid("313_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<ge>"  :subid("313_1280467477.44751") :method
 .annotate 'line', 447
     $P1209 = self."!PREFIX__!subrule"("O", "ge")
     new $P1210, "ResizablePMCArray"
@@ -15807,7 +15807,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<lt>"  :subid("314_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<lt>"  :subid("314_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1214_tgt
     .local int rx1214_pos
@@ -15890,7 +15890,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<lt>"  :subid("315_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<lt>"  :subid("315_1280467477.44751") :method
 .annotate 'line', 447
     $P1216 = self."!PREFIX__!subrule"("O", "lt")
     new $P1217, "ResizablePMCArray"
@@ -15900,7 +15900,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<gt>"  :subid("316_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<gt>"  :subid("316_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1221_tgt
     .local int rx1221_pos
@@ -15983,7 +15983,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<gt>"  :subid("317_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<gt>"  :subid("317_1280467477.44751") :method
 .annotate 'line', 447
     $P1223 = self."!PREFIX__!subrule"("O", "gt")
     new $P1224, "ResizablePMCArray"
@@ -15993,7 +15993,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=:=>"  :subid("318_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<=:=>"  :subid("318_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1228_tgt
     .local int rx1228_pos
@@ -16076,7 +16076,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=:=>"  :subid("319_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<=:=>"  :subid("319_1280467477.44751") :method
 .annotate 'line', 447
     $P1230 = self."!PREFIX__!subrule"("O", "=:=")
     new $P1231, "ResizablePMCArray"
@@ -16086,7 +16086,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<~~>"  :subid("320_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<~~>"  :subid("320_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1235_tgt
     .local int rx1235_pos
@@ -16169,7 +16169,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~~>"  :subid("321_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<~~>"  :subid("321_1280467477.44751") :method
 .annotate 'line', 447
     $P1237 = self."!PREFIX__!subrule"("O", "~~")
     new $P1238, "ResizablePMCArray"
@@ -16179,7 +16179,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<&&>"  :subid("322_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<&&>"  :subid("322_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1242_tgt
     .local int rx1242_pos
@@ -16262,7 +16262,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<&&>"  :subid("323_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<&&>"  :subid("323_1280467477.44751") :method
 .annotate 'line', 447
     $P1244 = self."!PREFIX__!subrule"("O", "&&")
     new $P1245, "ResizablePMCArray"
@@ -16272,7 +16272,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<||>"  :subid("324_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<||>"  :subid("324_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1249_tgt
     .local int rx1249_pos
@@ -16355,7 +16355,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<||>"  :subid("325_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<||>"  :subid("325_1280467477.44751") :method
 .annotate 'line', 447
     $P1251 = self."!PREFIX__!subrule"("O", "||")
     new $P1252, "ResizablePMCArray"
@@ -16365,7 +16365,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<//>"  :subid("326_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<//>"  :subid("326_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1256_tgt
     .local int rx1256_pos
@@ -16448,7 +16448,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<//>"  :subid("327_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<//>"  :subid("327_1280467477.44751") :method
 .annotate 'line', 447
     $P1258 = self."!PREFIX__!subrule"("O", "//")
     new $P1259, "ResizablePMCArray"
@@ -16458,7 +16458,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<?? !!>"  :subid("328_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<?? !!>"  :subid("328_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1263_tgt
     .local int rx1263_pos
@@ -16551,7 +16551,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<?? !!>"  :subid("329_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<?? !!>"  :subid("329_1280467477.44751") :method
 .annotate 'line', 447
     $P1265 = self."!PREFIX__!subrule"("ws", "??")
     new $P1266, "ResizablePMCArray"
@@ -16561,7 +16561,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<=>"  :subid("330_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<=>"  :subid("330_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1269_tgt
     .local int rx1269_pos
@@ -16643,7 +16643,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=>"  :subid("331_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<=>"  :subid("331_1280467477.44751") :method
 .annotate 'line', 447
     $P1271 = self."!PREFIX__!subrule"("panic", "=")
     new $P1272, "ResizablePMCArray"
@@ -16653,7 +16653,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<:=>"  :subid("332_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<:=>"  :subid("332_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1276_tgt
     .local int rx1276_pos
@@ -16736,7 +16736,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<:=>"  :subid("333_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<:=>"  :subid("333_1280467477.44751") :method
 .annotate 'line', 447
     $P1278 = self."!PREFIX__!subrule"("O", ":=")
     new $P1279, "ResizablePMCArray"
@@ -16746,7 +16746,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<::=>"  :subid("334_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<::=>"  :subid("334_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1283_tgt
     .local int rx1283_pos
@@ -16829,7 +16829,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<::=>"  :subid("335_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<::=>"  :subid("335_1280467477.44751") :method
 .annotate 'line', 447
     $P1285 = self."!PREFIX__!subrule"("O", "::=")
     new $P1286, "ResizablePMCArray"
@@ -16839,7 +16839,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "infix:sym<,>"  :subid("336_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "infix:sym<,>"  :subid("336_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1290_tgt
     .local int rx1290_pos
@@ -16922,7 +16922,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<,>"  :subid("337_1279589170.0083") :method
+.sub "!PREFIX__infix:sym<,>"  :subid("337_1280467477.44751") :method
 .annotate 'line', 447
     $P1292 = self."!PREFIX__!subrule"("O", ",")
     new $P1293, "ResizablePMCArray"
@@ -16932,7 +16932,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<return>"  :subid("338_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "prefix:sym<return>"  :subid("338_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1297_tgt
     .local int rx1297_pos
@@ -17021,7 +17021,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<return>"  :subid("339_1279589170.0083") :method
+.sub "!PREFIX__prefix:sym<return>"  :subid("339_1280467477.44751") :method
 .annotate 'line', 447
     new $P1299, "ResizablePMCArray"
     push $P1299, "return"
@@ -17030,7 +17030,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "prefix:sym<make>"  :subid("340_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "prefix:sym<make>"  :subid("340_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1303_tgt
     .local int rx1303_pos
@@ -17119,7 +17119,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<make>"  :subid("341_1279589170.0083") :method
+.sub "!PREFIX__prefix:sym<make>"  :subid("341_1280467477.44751") :method
 .annotate 'line', 447
     new $P1305, "ResizablePMCArray"
     push $P1305, "make"
@@ -17128,7 +17128,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<last>"  :subid("342_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<last>"  :subid("342_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1309_tgt
     .local int rx1309_pos
@@ -17204,7 +17204,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<last>"  :subid("343_1279589170.0083") :method
+.sub "!PREFIX__term:sym<last>"  :subid("343_1280467477.44751") :method
 .annotate 'line', 447
     new $P1311, "ResizablePMCArray"
     push $P1311, "last"
@@ -17213,7 +17213,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<next>"  :subid("344_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<next>"  :subid("344_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1315_tgt
     .local int rx1315_pos
@@ -17289,7 +17289,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<next>"  :subid("345_1279589170.0083") :method
+.sub "!PREFIX__term:sym<next>"  :subid("345_1280467477.44751") :method
 .annotate 'line', 447
     new $P1317, "ResizablePMCArray"
     push $P1317, "next"
@@ -17298,7 +17298,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "term:sym<redo>"  :subid("346_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "term:sym<redo>"  :subid("346_1280467477.44751") :method :outer("11_1280467477.44751")
 .annotate 'line', 447
     .local string rx1321_tgt
     .local int rx1321_pos
@@ -17374,7 +17374,7 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<redo>"  :subid("347_1279589170.0083") :method
+.sub "!PREFIX__term:sym<redo>"  :subid("347_1280467477.44751") :method
 .annotate 'line', 447
     new $P1323, "ResizablePMCArray"
     push $P1323, "redo"
@@ -17384,7 +17384,7 @@
 
 .namespace ["NQP";"Grammar"]
 .include "except_types.pasm"
-.sub "smartmatch"  :subid("348_1279589170.0083") :method :outer("11_1279589170.0083")
+.sub "smartmatch"  :subid("348_1280467477.44751") :method :outer("11_1280467477.44751")
     .param pmc param_1329
 .annotate 'line', 561
     new $P1328, 'ExceptionHandler'
@@ -17437,34 +17437,34 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1339"  :subid("349_1279589170.0083") :outer("11_1279589170.0083")
+.sub "_block1339"  :subid("349_1280467477.44751") :outer("11_1280467477.44751")
 .annotate 'line', 567
-    .const 'Sub' $P1396 = "368_1279589170.0083" 
+    .const 'Sub' $P1396 = "368_1280467477.44751" 
     capture_lex $P1396
-    .const 'Sub' $P1391 = "366_1279589170.0083" 
+    .const 'Sub' $P1391 = "366_1280467477.44751" 
     capture_lex $P1391
-    .const 'Sub' $P1379 = "363_1279589170.0083" 
+    .const 'Sub' $P1379 = "363_1280467477.44751" 
     capture_lex $P1379
-    .const 'Sub' $P1369 = "360_1279589170.0083" 
+    .const 'Sub' $P1369 = "360_1280467477.44751" 
     capture_lex $P1369
-    .const 'Sub' $P1364 = "358_1279589170.0083" 
+    .const 'Sub' $P1364 = "358_1280467477.44751" 
     capture_lex $P1364
-    .const 'Sub' $P1355 = "355_1279589170.0083" 
+    .const 'Sub' $P1355 = "355_1280467477.44751" 
     capture_lex $P1355
-    .const 'Sub' $P1350 = "353_1279589170.0083" 
+    .const 'Sub' $P1350 = "353_1280467477.44751" 
     capture_lex $P1350
-    .const 'Sub' $P1341 = "350_1279589170.0083" 
+    .const 'Sub' $P1341 = "350_1280467477.44751" 
     capture_lex $P1341
-    .const 'Sub' $P1396 = "368_1279589170.0083" 
+    .const 'Sub' $P1396 = "368_1280467477.44751" 
     capture_lex $P1396
     .return ($P1396)
 .end
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<:my>"  :subid("350_1279589170.0083") :method :outer("349_1279589170.0083")
+.sub "metachar:sym<:my>"  :subid("350_1280467477.44751") :method :outer("349_1280467477.44751")
 .annotate 'line', 567
-    .const 'Sub' $P1347 = "352_1279589170.0083" 
+    .const 'Sub' $P1347 = "352_1280467477.44751" 
     capture_lex $P1347
     .local string rx1342_tgt
     .local int rx1342_pos
@@ -17507,7 +17507,7 @@
     add rx1342_pos, 1
   # rx subrule "before" subtype=zerowidth negate=
     rx1342_cur."!cursor_pos"(rx1342_pos)
-    .const 'Sub' $P1347 = "352_1279589170.0083" 
+    .const 'Sub' $P1347 = "352_1280467477.44751" 
     capture_lex $P1347
     $P10 = rx1342_cur."before"($P1347)
     unless $P10, rx1342_fail
@@ -17552,7 +17552,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<:my>"  :subid("351_1279589170.0083") :method
+.sub "!PREFIX__metachar:sym<:my>"  :subid("351_1280467477.44751") :method
 .annotate 'line', 567
     new $P1344, "ResizablePMCArray"
     push $P1344, ":"
@@ -17561,7 +17561,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1346"  :anon :subid("352_1279589170.0083") :method :outer("350_1279589170.0083")
+.sub "_block1346"  :anon :subid("352_1280467477.44751") :method :outer("350_1280467477.44751")
 .annotate 'line', 569
     .local string rx1348_tgt
     .local int rx1348_pos
@@ -17621,7 +17621,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<{ }>"  :subid("353_1279589170.0083") :method :outer("349_1279589170.0083")
+.sub "metachar:sym<{ }>"  :subid("353_1280467477.44751") :method :outer("349_1280467477.44751")
 .annotate 'line', 567
     .local string rx1351_tgt
     .local int rx1351_pos
@@ -17690,7 +17690,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<{ }>"  :subid("354_1279589170.0083") :method
+.sub "!PREFIX__metachar:sym<{ }>"  :subid("354_1280467477.44751") :method
 .annotate 'line', 567
     new $P1353, "ResizablePMCArray"
     push $P1353, "{"
@@ -17699,9 +17699,9 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "metachar:sym<nqpvar>"  :subid("355_1279589170.0083") :method :outer("349_1279589170.0083")
+.sub "metachar:sym<nqpvar>"  :subid("355_1280467477.44751") :method :outer("349_1280467477.44751")
 .annotate 'line', 567
-    .const 'Sub' $P1361 = "357_1279589170.0083" 
+    .const 'Sub' $P1361 = "357_1280467477.44751" 
     capture_lex $P1361
     .local string rx1356_tgt
     .local int rx1356_pos
@@ -17743,7 +17743,7 @@
     lt $I11, 0, rx1356_fail
   # rx subrule "before" subtype=zerowidth negate=
     rx1356_cur."!cursor_pos"(rx1356_pos)
-    .const 'Sub' $P1361 = "357_1279589170.0083" 
+    .const 'Sub' $P1361 = "357_1280467477.44751" 
     capture_lex $P1361
     $P10 = rx1356_cur."before"($P1361)
     unless $P10, rx1356_fail
@@ -17776,7 +17776,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<nqpvar>"  :subid("356_1279589170.0083") :method
+.sub "!PREFIX__metachar:sym<nqpvar>"  :subid("356_1280467477.44751") :method
 .annotate 'line', 567
     new $P1358, "ResizablePMCArray"
     push $P1358, "$"
@@ -17786,7 +17786,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1360"  :anon :subid("357_1279589170.0083") :method :outer("355_1279589170.0083")
+.sub "_block1360"  :anon :subid("357_1280467477.44751") :method :outer("355_1280467477.44751")
 .annotate 'line', 577
     .local string rx1362_tgt
     .local int rx1362_pos
@@ -17848,7 +17848,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<{ }>"  :subid("358_1279589170.0083") :method :outer("349_1279589170.0083")
+.sub "assertion:sym<{ }>"  :subid("358_1280467477.44751") :method :outer("349_1280467477.44751")
 .annotate 'line', 567
     .local string rx1365_tgt
     .local int rx1365_pos
@@ -17917,7 +17917,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<{ }>"  :subid("359_1279589170.0083") :method
+.sub "!PREFIX__assertion:sym<{ }>"  :subid("359_1280467477.44751") :method
 .annotate 'line', 567
     new $P1367, "ResizablePMCArray"
     push $P1367, "{"
@@ -17926,9 +17926,9 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<?{ }>"  :subid("360_1279589170.0083") :method :outer("349_1279589170.0083")
+.sub "assertion:sym<?{ }>"  :subid("360_1280467477.44751") :method :outer("349_1280467477.44751")
 .annotate 'line', 567
-    .const 'Sub' $P1375 = "362_1279589170.0083" 
+    .const 'Sub' $P1375 = "362_1280467477.44751" 
     capture_lex $P1375
     .local string rx1370_tgt
     .local int rx1370_pos
@@ -17974,7 +17974,7 @@
     inc rx1370_pos
   # rx subrule "before" subtype=zerowidth negate=
     rx1370_cur."!cursor_pos"(rx1370_pos)
-    .const 'Sub' $P1375 = "362_1279589170.0083" 
+    .const 'Sub' $P1375 = "362_1280467477.44751" 
     capture_lex $P1375
     $P10 = rx1370_cur."before"($P1375)
     unless $P10, rx1370_fail
@@ -18018,7 +18018,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<?{ }>"  :subid("361_1279589170.0083") :method
+.sub "!PREFIX__assertion:sym<?{ }>"  :subid("361_1280467477.44751") :method
 .annotate 'line', 567
     new $P1372, "ResizablePMCArray"
     push $P1372, "!"
@@ -18028,7 +18028,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1374"  :anon :subid("362_1279589170.0083") :method :outer("360_1279589170.0083")
+.sub "_block1374"  :anon :subid("362_1280467477.44751") :method :outer("360_1280467477.44751")
 .annotate 'line', 585
     .local string rx1376_tgt
     .local int rx1376_pos
@@ -18088,9 +18088,9 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<name>"  :subid("363_1279589170.0083") :method :outer("349_1279589170.0083")
+.sub "assertion:sym<name>"  :subid("363_1280467477.44751") :method :outer("349_1280467477.44751")
 .annotate 'line', 567
-    .const 'Sub' $P1388 = "365_1279589170.0083" 
+    .const 'Sub' $P1388 = "365_1280467477.44751" 
     capture_lex $P1388
     .local string rx1380_tgt
     .local int rx1380_pos
@@ -18144,7 +18144,7 @@
 .annotate 'line', 591
   # rx subrule "before" subtype=zerowidth negate=
     rx1380_cur."!cursor_pos"(rx1380_pos)
-    .const 'Sub' $P1388 = "365_1279589170.0083" 
+    .const 'Sub' $P1388 = "365_1280467477.44751" 
     capture_lex $P1388
     $P10 = rx1380_cur."before"($P1388)
     unless $P10, rx1380_fail
@@ -18254,7 +18254,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("364_1279589170.0083") :method
+.sub "!PREFIX__assertion:sym<name>"  :subid("364_1280467477.44751") :method
 .annotate 'line', 567
     $P1382 = self."!PREFIX__!subrule"("identifier", "")
     new $P1383, "ResizablePMCArray"
@@ -18264,7 +18264,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "_block1387"  :anon :subid("365_1279589170.0083") :method :outer("363_1279589170.0083")
+.sub "_block1387"  :anon :subid("365_1280467477.44751") :method :outer("363_1280467477.44751")
 .annotate 'line', 591
     .local string rx1389_tgt
     .local int rx1389_pos
@@ -18324,7 +18324,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "assertion:sym<var>"  :subid("366_1279589170.0083") :method :outer("349_1279589170.0083")
+.sub "assertion:sym<var>"  :subid("366_1280467477.44751") :method :outer("349_1280467477.44751")
 .annotate 'line', 567
     .local string rx1392_tgt
     .local int rx1392_pos
@@ -18393,7 +18393,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<var>"  :subid("367_1279589170.0083") :method
+.sub "!PREFIX__assertion:sym<var>"  :subid("367_1280467477.44751") :method
 .annotate 'line', 567
     new $P1394, "ResizablePMCArray"
     push $P1394, "$"
@@ -18403,7 +18403,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "codeblock"  :subid("368_1279589170.0083") :method :outer("349_1279589170.0083")
+.sub "codeblock"  :subid("368_1280467477.44751") :method :outer("349_1280467477.44751")
 .annotate 'line', 567
     .local string rx1397_tgt
     .local int rx1397_pos
@@ -18466,7 +18466,7 @@
 
 
 .namespace ["NQP";"Regex"]
-.sub "!PREFIX__codeblock"  :subid("369_1279589170.0083") :method
+.sub "!PREFIX__codeblock"  :subid("369_1280467477.44751") :method
 .annotate 'line', 567
     $P1399 = self."!PREFIX__!subrule"("LANG", "")
     new $P1400, "ResizablePMCArray"
@@ -18476,18 +18476,18 @@
 
 
 .namespace ["NQP";"Grammar"]
-.sub "_block1403" :load :anon :subid("370_1279589170.0083")
+.sub "_block1403" :load :anon :subid("370_1280467477.44751")
 .annotate 'line', 4
-    .const 'Sub' $P1405 = "11_1279589170.0083" 
+    .const 'Sub' $P1405 = "11_1280467477.44751" 
     $P1406 = $P1405()
     .return ($P1406)
 .end
 
 
 .namespace []
-.sub "_block1424" :load :anon :subid("371_1279589170.0083")
+.sub "_block1424" :load :anon :subid("371_1280467477.44751")
 .annotate 'line', 1
-    .const 'Sub' $P1426 = "10_1279589170.0083" 
+    .const 'Sub' $P1426 = "10_1280467477.44751" 
     $P1427 = $P1426()
     .return ($P1427)
 .end
@@ -18495,7 +18495,7 @@
 ### .include 'gen/nqp-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1279589176.27948")
+.sub "_block11"  :anon :subid("10_1280467483.70067")
 .annotate 'line', 0
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     capture_lex $P14
@@ -18509,237 +18509,237 @@
 .annotate 'line', 3
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     capture_lex $P14
-    $P2447 = $P14()
+    $P2452 = $P14()
 .annotate 'line', 1
-    .return ($P2447)
-    .const 'Sub' $P2449 = "143_1279589176.27948" 
-    .return ($P2449)
+    .return ($P2452)
+    .const 'Sub' $P2454 = "143_1280467483.70067" 
+    .return ($P2454)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post144") :outer("10_1279589176.27948")
+.sub "" :load :init :subid("post144") :outer("10_1280467483.70067")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1279589176.27948" 
+    .const 'Sub' $P12 = "10_1280467483.70067" 
     .local pmc block
     set block, $P12
-    $P2452 = get_root_global ["parrot"], "P6metaclass"
-    $P2452."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
+    $P2457 = get_root_global ["parrot"], "P6metaclass"
+    $P2457."new_class"("NQP::Actions", "HLL::Actions" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block13"  :subid("11_1279589176.27948") :outer("10_1279589176.27948")
+.sub "_block13"  :subid("11_1280467483.70067") :outer("10_1280467483.70067")
 .annotate 'line', 3
-    .const 'Sub' $P2443 = "142_1279589176.27948" 
-    capture_lex $P2443
-    get_hll_global $P2326, ["NQP";"RegexActions"], "_block2325" 
-    capture_lex $P2326
-    .const 'Sub' $P2315 = "132_1279589176.27948" 
-    capture_lex $P2315
-    .const 'Sub' $P2308 = "131_1279589176.27948" 
-    capture_lex $P2308
-    .const 'Sub' $P2301 = "130_1279589176.27948" 
-    capture_lex $P2301
-    .const 'Sub' $P2294 = "129_1279589176.27948" 
-    capture_lex $P2294
-    .const 'Sub' $P2281 = "128_1279589176.27948" 
-    capture_lex $P2281
-    .const 'Sub' $P2271 = "127_1279589176.27948" 
-    capture_lex $P2271
-    .const 'Sub' $P2261 = "126_1279589176.27948" 
-    capture_lex $P2261
-    .const 'Sub' $P2251 = "125_1279589176.27948" 
-    capture_lex $P2251
-    .const 'Sub' $P2244 = "124_1279589176.27948" 
-    capture_lex $P2244
-    .const 'Sub' $P2230 = "123_1279589176.27948" 
-    capture_lex $P2230
-    .const 'Sub' $P2220 = "122_1279589176.27948" 
-    capture_lex $P2220
-    .const 'Sub' $P2183 = "121_1279589176.27948" 
-    capture_lex $P2183
-    .const 'Sub' $P2169 = "120_1279589176.27948" 
-    capture_lex $P2169
-    .const 'Sub' $P2159 = "119_1279589176.27948" 
-    capture_lex $P2159
-    .const 'Sub' $P2149 = "118_1279589176.27948" 
-    capture_lex $P2149
-    .const 'Sub' $P2139 = "117_1279589176.27948" 
-    capture_lex $P2139
-    .const 'Sub' $P2129 = "116_1279589176.27948" 
-    capture_lex $P2129
-    .const 'Sub' $P2119 = "115_1279589176.27948" 
-    capture_lex $P2119
-    .const 'Sub' $P2091 = "114_1279589176.27948" 
-    capture_lex $P2091
-    .const 'Sub' $P2074 = "113_1279589176.27948" 
-    capture_lex $P2074
-    .const 'Sub' $P2064 = "112_1279589176.27948" 
-    capture_lex $P2064
-    .const 'Sub' $P2051 = "111_1279589176.27948" 
-    capture_lex $P2051
-    .const 'Sub' $P2038 = "110_1279589176.27948" 
-    capture_lex $P2038
-    .const 'Sub' $P2025 = "109_1279589176.27948" 
-    capture_lex $P2025
-    .const 'Sub' $P2015 = "108_1279589176.27948" 
-    capture_lex $P2015
-    .const 'Sub' $P1986 = "107_1279589176.27948" 
-    capture_lex $P1986
-    .const 'Sub' $P1962 = "106_1279589176.27948" 
-    capture_lex $P1962
-    .const 'Sub' $P1952 = "105_1279589176.27948" 
-    capture_lex $P1952
-    .const 'Sub' $P1942 = "104_1279589176.27948" 
-    capture_lex $P1942
-    .const 'Sub' $P1915 = "103_1279589176.27948" 
-    capture_lex $P1915
-    .const 'Sub' $P1897 = "102_1279589176.27948" 
-    capture_lex $P1897
-    .const 'Sub' $P1887 = "101_1279589176.27948" 
-    capture_lex $P1887
-    .const 'Sub' $P1783 = "98_1279589176.27948" 
-    capture_lex $P1783
-    .const 'Sub' $P1773 = "97_1279589176.27948" 
-    capture_lex $P1773
-    .const 'Sub' $P1744 = "96_1279589176.27948" 
-    capture_lex $P1744
-    .const 'Sub' $P1702 = "95_1279589176.27948" 
-    capture_lex $P1702
-    .const 'Sub' $P1686 = "94_1279589176.27948" 
-    capture_lex $P1686
-    .const 'Sub' $P1677 = "93_1279589176.27948" 
-    capture_lex $P1677
-    .const 'Sub' $P1645 = "92_1279589176.27948" 
-    capture_lex $P1645
-    .const 'Sub' $P1546 = "89_1279589176.27948" 
-    capture_lex $P1546
-    .const 'Sub' $P1529 = "88_1279589176.27948" 
-    capture_lex $P1529
-    .const 'Sub' $P1509 = "87_1279589176.27948" 
-    capture_lex $P1509
-    .const 'Sub' $P1397 = "84_1279589176.27948" 
-    capture_lex $P1397
-    .const 'Sub' $P1340 = "80_1279589176.27948" 
-    capture_lex $P1340
-    .const 'Sub' $P1300 = "78_1279589176.27948" 
+    .const 'Sub' $P2448 = "142_1280467483.70067" 
+    capture_lex $P2448
+    get_hll_global $P2331, ["NQP";"RegexActions"], "_block2330" 
+    capture_lex $P2331
+    .const 'Sub' $P2320 = "132_1280467483.70067" 
+    capture_lex $P2320
+    .const 'Sub' $P2313 = "131_1280467483.70067" 
+    capture_lex $P2313
+    .const 'Sub' $P2306 = "130_1280467483.70067" 
+    capture_lex $P2306
+    .const 'Sub' $P2299 = "129_1280467483.70067" 
+    capture_lex $P2299
+    .const 'Sub' $P2286 = "128_1280467483.70067" 
+    capture_lex $P2286
+    .const 'Sub' $P2276 = "127_1280467483.70067" 
+    capture_lex $P2276
+    .const 'Sub' $P2266 = "126_1280467483.70067" 
+    capture_lex $P2266
+    .const 'Sub' $P2256 = "125_1280467483.70067" 
+    capture_lex $P2256
+    .const 'Sub' $P2249 = "124_1280467483.70067" 
+    capture_lex $P2249
+    .const 'Sub' $P2235 = "123_1280467483.70067" 
+    capture_lex $P2235
+    .const 'Sub' $P2225 = "122_1280467483.70067" 
+    capture_lex $P2225
+    .const 'Sub' $P2188 = "121_1280467483.70067" 
+    capture_lex $P2188
+    .const 'Sub' $P2174 = "120_1280467483.70067" 
+    capture_lex $P2174
+    .const 'Sub' $P2164 = "119_1280467483.70067" 
+    capture_lex $P2164
+    .const 'Sub' $P2154 = "118_1280467483.70067" 
+    capture_lex $P2154
+    .const 'Sub' $P2144 = "117_1280467483.70067" 
+    capture_lex $P2144
+    .const 'Sub' $P2134 = "116_1280467483.70067" 
+    capture_lex $P2134
+    .const 'Sub' $P2124 = "115_1280467483.70067" 
+    capture_lex $P2124
+    .const 'Sub' $P2096 = "114_1280467483.70067" 
+    capture_lex $P2096
+    .const 'Sub' $P2079 = "113_1280467483.70067" 
+    capture_lex $P2079
+    .const 'Sub' $P2069 = "112_1280467483.70067" 
+    capture_lex $P2069
+    .const 'Sub' $P2056 = "111_1280467483.70067" 
+    capture_lex $P2056
+    .const 'Sub' $P2043 = "110_1280467483.70067" 
+    capture_lex $P2043
+    .const 'Sub' $P2030 = "109_1280467483.70067" 
+    capture_lex $P2030
+    .const 'Sub' $P2020 = "108_1280467483.70067" 
+    capture_lex $P2020
+    .const 'Sub' $P1991 = "107_1280467483.70067" 
+    capture_lex $P1991
+    .const 'Sub' $P1967 = "106_1280467483.70067" 
+    capture_lex $P1967
+    .const 'Sub' $P1957 = "105_1280467483.70067" 
+    capture_lex $P1957
+    .const 'Sub' $P1947 = "104_1280467483.70067" 
+    capture_lex $P1947
+    .const 'Sub' $P1920 = "103_1280467483.70067" 
+    capture_lex $P1920
+    .const 'Sub' $P1902 = "102_1280467483.70067" 
+    capture_lex $P1902
+    .const 'Sub' $P1892 = "101_1280467483.70067" 
+    capture_lex $P1892
+    .const 'Sub' $P1788 = "98_1280467483.70067" 
+    capture_lex $P1788
+    .const 'Sub' $P1778 = "97_1280467483.70067" 
+    capture_lex $P1778
+    .const 'Sub' $P1749 = "96_1280467483.70067" 
+    capture_lex $P1749
+    .const 'Sub' $P1707 = "95_1280467483.70067" 
+    capture_lex $P1707
+    .const 'Sub' $P1691 = "94_1280467483.70067" 
+    capture_lex $P1691
+    .const 'Sub' $P1682 = "93_1280467483.70067" 
+    capture_lex $P1682
+    .const 'Sub' $P1650 = "92_1280467483.70067" 
+    capture_lex $P1650
+    .const 'Sub' $P1551 = "89_1280467483.70067" 
+    capture_lex $P1551
+    .const 'Sub' $P1534 = "88_1280467483.70067" 
+    capture_lex $P1534
+    .const 'Sub' $P1514 = "87_1280467483.70067" 
+    capture_lex $P1514
+    .const 'Sub' $P1402 = "84_1280467483.70067" 
+    capture_lex $P1402
+    .const 'Sub' $P1345 = "80_1280467483.70067" 
+    capture_lex $P1345
+    .const 'Sub' $P1300 = "78_1280467483.70067" 
     capture_lex $P1300
-    .const 'Sub' $P1250 = "76_1279589176.27948" 
+    .const 'Sub' $P1250 = "76_1280467483.70067" 
     capture_lex $P1250
-    .const 'Sub' $P1240 = "75_1279589176.27948" 
+    .const 'Sub' $P1240 = "75_1280467483.70067" 
     capture_lex $P1240
-    .const 'Sub' $P1230 = "74_1279589176.27948" 
+    .const 'Sub' $P1230 = "74_1280467483.70067" 
     capture_lex $P1230
-    .const 'Sub' $P1159 = "72_1279589176.27948" 
+    .const 'Sub' $P1159 = "72_1280467483.70067" 
     capture_lex $P1159
-    .const 'Sub' $P1149 = "71_1279589176.27948" 
+    .const 'Sub' $P1149 = "71_1280467483.70067" 
     capture_lex $P1149
-    .const 'Sub' $P1132 = "70_1279589176.27948" 
+    .const 'Sub' $P1132 = "70_1280467483.70067" 
     capture_lex $P1132
-    .const 'Sub' $P1115 = "69_1279589176.27948" 
+    .const 'Sub' $P1115 = "69_1280467483.70067" 
     capture_lex $P1115
-    .const 'Sub' $P1098 = "68_1279589176.27948" 
+    .const 'Sub' $P1098 = "68_1280467483.70067" 
     capture_lex $P1098
-    .const 'Sub' $P1088 = "67_1279589176.27948" 
+    .const 'Sub' $P1088 = "67_1280467483.70067" 
     capture_lex $P1088
-    .const 'Sub' $P1078 = "66_1279589176.27948" 
+    .const 'Sub' $P1078 = "66_1280467483.70067" 
     capture_lex $P1078
-    .const 'Sub' $P1068 = "65_1279589176.27948" 
+    .const 'Sub' $P1068 = "65_1280467483.70067" 
     capture_lex $P1068
-    .const 'Sub' $P1044 = "64_1279589176.27948" 
+    .const 'Sub' $P1044 = "64_1280467483.70067" 
     capture_lex $P1044
-    .const 'Sub' $P991 = "63_1279589176.27948" 
+    .const 'Sub' $P991 = "63_1280467483.70067" 
     capture_lex $P991
-    .const 'Sub' $P981 = "62_1279589176.27948" 
+    .const 'Sub' $P981 = "62_1280467483.70067" 
     capture_lex $P981
-    .const 'Sub' $P892 = "60_1279589176.27948" 
+    .const 'Sub' $P892 = "60_1280467483.70067" 
     capture_lex $P892
-    .const 'Sub' $P866 = "59_1279589176.27948" 
+    .const 'Sub' $P866 = "59_1280467483.70067" 
     capture_lex $P866
-    .const 'Sub' $P850 = "58_1279589176.27948" 
+    .const 'Sub' $P850 = "58_1280467483.70067" 
     capture_lex $P850
-    .const 'Sub' $P840 = "57_1279589176.27948" 
+    .const 'Sub' $P840 = "57_1280467483.70067" 
     capture_lex $P840
-    .const 'Sub' $P830 = "56_1279589176.27948" 
+    .const 'Sub' $P830 = "56_1280467483.70067" 
     capture_lex $P830
-    .const 'Sub' $P820 = "55_1279589176.27948" 
+    .const 'Sub' $P820 = "55_1280467483.70067" 
     capture_lex $P820
-    .const 'Sub' $P810 = "54_1279589176.27948" 
+    .const 'Sub' $P810 = "54_1280467483.70067" 
     capture_lex $P810
-    .const 'Sub' $P800 = "53_1279589176.27948" 
+    .const 'Sub' $P800 = "53_1280467483.70067" 
     capture_lex $P800
-    .const 'Sub' $P790 = "52_1279589176.27948" 
+    .const 'Sub' $P790 = "52_1280467483.70067" 
     capture_lex $P790
-    .const 'Sub' $P780 = "51_1279589176.27948" 
+    .const 'Sub' $P780 = "51_1280467483.70067" 
     capture_lex $P780
-    .const 'Sub' $P770 = "50_1279589176.27948" 
+    .const 'Sub' $P770 = "50_1280467483.70067" 
     capture_lex $P770
-    .const 'Sub' $P760 = "49_1279589176.27948" 
+    .const 'Sub' $P760 = "49_1280467483.70067" 
     capture_lex $P760
-    .const 'Sub' $P750 = "48_1279589176.27948" 
+    .const 'Sub' $P750 = "48_1280467483.70067" 
     capture_lex $P750
-    .const 'Sub' $P740 = "47_1279589176.27948" 
+    .const 'Sub' $P740 = "47_1280467483.70067" 
     capture_lex $P740
-    .const 'Sub' $P730 = "46_1279589176.27948" 
+    .const 'Sub' $P730 = "46_1280467483.70067" 
     capture_lex $P730
-    .const 'Sub' $P720 = "45_1279589176.27948" 
+    .const 'Sub' $P720 = "45_1280467483.70067" 
     capture_lex $P720
-    .const 'Sub' $P702 = "44_1279589176.27948" 
+    .const 'Sub' $P702 = "44_1280467483.70067" 
     capture_lex $P702
-    .const 'Sub' $P667 = "43_1279589176.27948" 
+    .const 'Sub' $P667 = "43_1280467483.70067" 
     capture_lex $P667
-    .const 'Sub' $P651 = "42_1279589176.27948" 
+    .const 'Sub' $P651 = "42_1280467483.70067" 
     capture_lex $P651
-    .const 'Sub' $P630 = "41_1279589176.27948" 
+    .const 'Sub' $P630 = "41_1280467483.70067" 
     capture_lex $P630
-    .const 'Sub' $P610 = "40_1279589176.27948" 
+    .const 'Sub' $P610 = "40_1280467483.70067" 
     capture_lex $P610
-    .const 'Sub' $P597 = "39_1279589176.27948" 
+    .const 'Sub' $P597 = "39_1280467483.70067" 
     capture_lex $P597
-    .const 'Sub' $P571 = "38_1279589176.27948" 
+    .const 'Sub' $P571 = "38_1280467483.70067" 
     capture_lex $P571
-    .const 'Sub' $P535 = "37_1279589176.27948" 
+    .const 'Sub' $P535 = "37_1280467483.70067" 
     capture_lex $P535
-    .const 'Sub' $P518 = "36_1279589176.27948" 
+    .const 'Sub' $P518 = "36_1280467483.70067" 
     capture_lex $P518
-    .const 'Sub' $P504 = "35_1279589176.27948" 
+    .const 'Sub' $P504 = "35_1280467483.70067" 
     capture_lex $P504
-    .const 'Sub' $P451 = "33_1279589176.27948" 
+    .const 'Sub' $P451 = "33_1280467483.70067" 
     capture_lex $P451
-    .const 'Sub' $P440 = "32_1279589176.27948" 
+    .const 'Sub' $P440 = "32_1280467483.70067" 
     capture_lex $P440
-    .const 'Sub' $P427 = "31_1279589176.27948" 
+    .const 'Sub' $P427 = "31_1280467483.70067" 
     capture_lex $P427
-    .const 'Sub' $P407 = "30_1279589176.27948" 
+    .const 'Sub' $P407 = "30_1280467483.70067" 
     capture_lex $P407
-    .const 'Sub' $P397 = "29_1279589176.27948" 
+    .const 'Sub' $P397 = "29_1280467483.70067" 
     capture_lex $P397
-    .const 'Sub' $P387 = "28_1279589176.27948" 
+    .const 'Sub' $P387 = "28_1280467483.70067" 
     capture_lex $P387
-    .const 'Sub' $P371 = "27_1279589176.27948" 
+    .const 'Sub' $P371 = "27_1280467483.70067" 
     capture_lex $P371
-    .const 'Sub' $P288 = "25_1279589176.27948" 
+    .const 'Sub' $P288 = "25_1280467483.70067" 
     capture_lex $P288
-    .const 'Sub' $P245 = "23_1279589176.27948" 
+    .const 'Sub' $P245 = "23_1280467483.70067" 
     capture_lex $P245
-    .const 'Sub' $P213 = "22_1279589176.27948" 
+    .const 'Sub' $P213 = "22_1280467483.70067" 
     capture_lex $P213
-    .const 'Sub' $P180 = "21_1279589176.27948" 
+    .const 'Sub' $P180 = "21_1280467483.70067" 
     capture_lex $P180
-    .const 'Sub' $P170 = "20_1279589176.27948" 
+    .const 'Sub' $P170 = "20_1280467483.70067" 
     capture_lex $P170
-    .const 'Sub' $P151 = "19_1279589176.27948" 
+    .const 'Sub' $P151 = "19_1280467483.70067" 
     capture_lex $P151
-    .const 'Sub' $P100 = "18_1279589176.27948" 
+    .const 'Sub' $P100 = "18_1280467483.70067" 
     capture_lex $P100
-    .const 'Sub' $P84 = "17_1279589176.27948" 
+    .const 'Sub' $P84 = "17_1280467483.70067" 
     capture_lex $P84
-    .const 'Sub' $P63 = "16_1279589176.27948" 
+    .const 'Sub' $P63 = "16_1280467483.70067" 
     capture_lex $P63
-    .const 'Sub' $P27 = "13_1279589176.27948" 
+    .const 'Sub' $P27 = "13_1280467483.70067" 
     capture_lex $P27
-    .const 'Sub' $P16 = "12_1279589176.27948" 
+    .const 'Sub' $P16 = "12_1280467483.70067" 
     capture_lex $P16
     get_global $P15, "@BLOCK"
     unless_null $P15, vivify_147
@@ -18747,27 +18747,27 @@
     set_global "@BLOCK", $P15
   vivify_147:
 .annotate 'line', 9
-    .const 'Sub' $P16 = "12_1279589176.27948" 
+    .const 'Sub' $P16 = "12_1280467483.70067" 
     newclosure $P26, $P16
     .lex "xblock_immediate", $P26
 .annotate 'line', 14
-    .const 'Sub' $P27 = "13_1279589176.27948" 
+    .const 'Sub' $P27 = "13_1280467483.70067" 
     newclosure $P62, $P27
     .lex "block_immediate", $P62
 .annotate 'line', 24
-    .const 'Sub' $P63 = "16_1279589176.27948" 
+    .const 'Sub' $P63 = "16_1280467483.70067" 
     newclosure $P83, $P63
     .lex "vivitype", $P83
 .annotate 'line', 43
-    .const 'Sub' $P84 = "17_1279589176.27948" 
+    .const 'Sub' $P84 = "17_1280467483.70067" 
     newclosure $P99, $P84
     .lex "colonpair_str", $P99
 .annotate 'line', 223
-    .const 'Sub' $P100 = "18_1279589176.27948" 
+    .const 'Sub' $P100 = "18_1280467483.70067" 
     newclosure $P150, $P100
     .lex "push_block_handler", $P150
-.annotate 'line', 832
-    .const 'Sub' $P151 = "19_1279589176.27948" 
+.annotate 'line', 835
+    .const 'Sub' $P151 = "19_1280467483.70067" 
     newclosure $P165, $P151
     .lex "control", $P165
 .annotate 'line', 3
@@ -18786,52 +18786,52 @@
     find_lex $P212, "colonpair_str"
 .annotate 'line', 216
     find_lex $P650, "push_block_handler"
-.annotate 'line', 823
-    find_lex $P2293, "control"
-.annotate 'line', 850
-    get_hll_global $P2326, ["NQP";"RegexActions"], "_block2325" 
-    capture_lex $P2326
-    $P2437 = $P2326()
+.annotate 'line', 826
+    find_lex $P2298, "control"
+.annotate 'line', 853
+    get_hll_global $P2331, ["NQP";"RegexActions"], "_block2330" 
+    capture_lex $P2331
+    $P2442 = $P2331()
 .annotate 'line', 3
-    .return ($P2437)
-    .const 'Sub' $P2439 = "141_1279589176.27948" 
-    .return ($P2439)
+    .return ($P2442)
+    .const 'Sub' $P2444 = "141_1280467483.70067" 
+    .return ($P2444)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "" :load :init :subid("post145") :outer("11_1279589176.27948")
+.sub "" :load :init :subid("post145") :outer("11_1280467483.70067")
 .annotate 'line', 3
     get_hll_global $P14, ["NQP";"Actions"], "_block13" 
     .local pmc block
     set block, $P14
 .annotate 'line', 5
-    .const 'Sub' $P2443 = "142_1279589176.27948" 
-    capture_lex $P2443
-    $P2443()
-    $P2446 = get_root_global ["parrot"], "P6metaclass"
-    $P2446."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
+    .const 'Sub' $P2448 = "142_1280467483.70067" 
+    capture_lex $P2448
+    $P2448()
+    $P2451 = get_root_global ["parrot"], "P6metaclass"
+    $P2451."new_class"("NQP::RegexActions", "Regex::P6Regex::Actions" :named("parent"))
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block2442"  :anon :subid("142_1279589176.27948") :outer("11_1279589176.27948")
+.sub "_block2447"  :anon :subid("142_1280467483.70067") :outer("11_1280467483.70067")
 .annotate 'line', 6
-    get_global $P2444, "@BLOCK"
-    unless_null $P2444, vivify_146
-    $P2444 = root_new ['parrot';'ResizablePMCArray']
-    set_global "@BLOCK", $P2444
+    get_global $P2449, "@BLOCK"
+    unless_null $P2449, vivify_146
+    $P2449 = root_new ['parrot';'ResizablePMCArray']
+    set_global "@BLOCK", $P2449
   vivify_146:
- $P2445 = new ['ResizablePMCArray'] 
-    set_global "@BLOCK", $P2445
+ $P2450 = new ['ResizablePMCArray'] 
+    set_global "@BLOCK", $P2450
 .annotate 'line', 5
-    .return ($P2445)
+    .return ($P2450)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "xblock_immediate"  :subid("12_1279589176.27948") :outer("11_1279589176.27948")
+.sub "xblock_immediate"  :subid("12_1280467483.70067") :outer("11_1280467483.70067")
     .param pmc param_19
 .annotate 'line', 9
     new $P18, 'ExceptionHandler'
@@ -18868,10 +18868,10 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "block_immediate"  :subid("13_1279589176.27948") :outer("11_1279589176.27948")
+.sub "block_immediate"  :subid("13_1280467483.70067") :outer("11_1280467483.70067")
     .param pmc param_30
 .annotate 'line', 14
-    .const 'Sub' $P40 = "14_1279589176.27948" 
+    .const 'Sub' $P40 = "14_1280467483.70067" 
     capture_lex $P40
     new $P29, 'ExceptionHandler'
     set_addr $P29, control_28
@@ -18893,7 +18893,7 @@
     set $P33, $P38
   unless_34_end:
     if $P33, unless_32_end
-    .const 'Sub' $P40 = "14_1279589176.27948" 
+    .const 'Sub' $P40 = "14_1280467483.70067" 
     capture_lex $P40
     $P40()
   unless_32_end:
@@ -18910,9 +18910,9 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "_block39"  :anon :subid("14_1279589176.27948") :outer("13_1279589176.27948")
+.sub "_block39"  :anon :subid("14_1280467483.70067") :outer("13_1280467483.70067")
 .annotate 'line', 16
-    .const 'Sub' $P51 = "15_1279589176.27948" 
+    .const 'Sub' $P51 = "15_1280467483.70067" 
     capture_lex $P51
 .annotate 'line', 17
     new $P41, "Undef"
@@ -18935,7 +18935,7 @@
     unless $P45, loop56_done
     shift $P49, $P45
   loop56_redo:
-    .const 'Sub' $P51 = "15_1279589176.27948" 
+    .const 'Sub' $P51 = "15_1280467483.70067" 
     capture_lex $P51
     $P51($P49)
   loop56_next:
@@ -18958,7 +18958,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block50"  :anon :subid("15_1279589176.27948") :outer("14_1279589176.27948")
+.sub "_block50"  :anon :subid("15_1280467483.70067") :outer("14_1280467483.70067")
     .param pmc param_52
 .annotate 'line', 18
     .lex "$_", param_52
@@ -18971,7 +18971,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "vivitype"  :subid("16_1279589176.27948") :outer("11_1279589176.27948")
+.sub "vivitype"  :subid("16_1280467483.70067") :outer("11_1280467483.70067")
     .param pmc param_66
 .annotate 'line', 24
     new $P65, 'ExceptionHandler'
@@ -19020,7 +19020,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "colonpair_str"  :subid("17_1279589176.27948") :outer("11_1279589176.27948")
+.sub "colonpair_str"  :subid("17_1280467483.70067") :outer("11_1280467483.70067")
     .param pmc param_87
 .annotate 'line', 43
     new $P86, 'ExceptionHandler'
@@ -19059,7 +19059,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "push_block_handler"  :subid("18_1279589176.27948") :outer("11_1279589176.27948")
+.sub "push_block_handler"  :subid("18_1280467483.70067") :outer("11_1280467483.70067")
     .param pmc param_103
     .param pmc param_104
 .annotate 'line', 223
@@ -19177,28 +19177,28 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "control"  :subid("19_1279589176.27948") :outer("11_1279589176.27948")
+.sub "control"  :subid("19_1280467483.70067") :outer("11_1280467483.70067")
     .param pmc param_154
     .param pmc param_155
-.annotate 'line', 832
+.annotate 'line', 835
     new $P153, 'ExceptionHandler'
     set_addr $P153, control_152
     $P153."handle_types"(.CONTROL_RETURN)
     push_eh $P153
     .lex "$/", param_154
     .lex "$type", param_155
-.annotate 'line', 833
+.annotate 'line', 836
     find_lex $P156, "$/"
     get_hll_global $P157, ["PAST"], "Op"
     find_lex $P158, "$/"
-.annotate 'line', 837
+.annotate 'line', 840
     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', 833
+.annotate 'line', 836
     $P163 = $P156."!make"($P162)
-.annotate 'line', 832
+.annotate 'line', 835
     .return ($P163)
   control_152:
     .local pmc exception 
@@ -19210,7 +19210,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "TOP"  :subid("20_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "TOP"  :subid("20_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_173
 .annotate 'line', 33
     new $P172, 'ExceptionHandler'
@@ -19241,7 +19241,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "deflongname"  :subid("21_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "deflongname"  :subid("21_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_183
 .annotate 'line', 35
     new $P182, 'ExceptionHandler'
@@ -19331,7 +19331,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "comp_unit"  :subid("22_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "comp_unit"  :subid("22_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_216
 .annotate 'line', 49
     new $P215, 'ExceptionHandler'
@@ -19406,10 +19406,10 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statementlist"  :subid("23_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statementlist"  :subid("23_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_248
 .annotate 'line', 76
-    .const 'Sub' $P262 = "24_1279589176.27948" 
+    .const 'Sub' $P262 = "24_1280467483.70067" 
     capture_lex $P262
     new $P247, 'ExceptionHandler'
     set_addr $P247, control_246
@@ -19454,7 +19454,7 @@
     unless $P256, loop281_done
     shift $P260, $P256
   loop281_redo:
-    .const 'Sub' $P262 = "24_1279589176.27948" 
+    .const 'Sub' $P262 = "24_1280467483.70067" 
     capture_lex $P262
     $P262($P260)
   loop281_next:
@@ -19484,7 +19484,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block261"  :anon :subid("24_1279589176.27948") :outer("23_1279589176.27948")
+.sub "_block261"  :anon :subid("24_1280467483.70067") :outer("23_1280467483.70067")
     .param pmc param_264
 .annotate 'line', 80
     new $P263, "Undef"
@@ -19539,12 +19539,12 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement"  :subid("25_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statement"  :subid("25_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_291
     .param pmc param_292 :optional
     .param int has_param_292 :opt_flag
 .annotate 'line', 89
-    .const 'Sub' $P300 = "26_1279589176.27948" 
+    .const 'Sub' $P300 = "26_1280467483.70067" 
     capture_lex $P300
     new $P290, 'ExceptionHandler'
     set_addr $P290, control_289
@@ -19603,7 +19603,7 @@
     goto if_296_end
   if_296:
 .annotate 'line', 91
-    .const 'Sub' $P300 = "26_1279589176.27948" 
+    .const 'Sub' $P300 = "26_1280467483.70067" 
     capture_lex $P300
     $P300()
   if_296_end:
@@ -19622,7 +19622,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block299"  :anon :subid("26_1279589176.27948") :outer("25_1279589176.27948")
+.sub "_block299"  :anon :subid("26_1280467483.70067") :outer("25_1280467483.70067")
 .annotate 'line', 92
     new $P301, "Undef"
     .lex "$mc", $P301
@@ -19795,7 +19795,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "xblock"  :subid("27_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "xblock"  :subid("27_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_374
 .annotate 'line', 117
     new $P373, 'ExceptionHandler'
@@ -19840,7 +19840,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "pblock"  :subid("28_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "pblock"  :subid("28_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_390
 .annotate 'line', 121
     new $P389, 'ExceptionHandler'
@@ -19873,7 +19873,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "block"  :subid("29_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "block"  :subid("29_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_400
 .annotate 'line', 125
     new $P399, 'ExceptionHandler'
@@ -19906,7 +19906,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "blockoid"  :subid("30_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "blockoid"  :subid("30_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_410
 .annotate 'line', 129
     new $P409, 'ExceptionHandler'
@@ -19963,7 +19963,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "newpad"  :subid("31_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "newpad"  :subid("31_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_430
 .annotate 'line', 138
     new $P429, 'ExceptionHandler'
@@ -19999,7 +19999,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "outerctx"  :subid("32_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "outerctx"  :subid("32_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_443
 .annotate 'line', 143
     new $P442, 'ExceptionHandler'
@@ -20039,10 +20039,10 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_control:sym<if>"  :subid("33_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statement_control:sym<if>"  :subid("33_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_454
 .annotate 'line', 150
-    .const 'Sub' $P482 = "34_1279589176.27948" 
+    .const 'Sub' $P482 = "34_1280467483.70067" 
     capture_lex $P482
     new $P453, 'ExceptionHandler'
     set_addr $P453, control_452
@@ -20127,7 +20127,7 @@
     isgt $I480, $N479, 0.0
     unless $I480, loop497_done
   loop497_redo:
-    .const 'Sub' $P482 = "34_1279589176.27948" 
+    .const 'Sub' $P482 = "34_1280467483.70067" 
     capture_lex $P482
     $P482()
   loop497_next:
@@ -20155,7 +20155,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block481"  :anon :subid("34_1279589176.27948") :outer("33_1279589176.27948")
+.sub "_block481"  :anon :subid("34_1280467483.70067") :outer("33_1280467483.70067")
 .annotate 'line', 159
     new $P483, "Undef"
     .lex "$else", $P483
@@ -20195,7 +20195,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_control:sym<unless>"  :subid("35_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statement_control:sym<unless>"  :subid("35_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_507
 .annotate 'line', 166
     new $P506, 'ExceptionHandler'
@@ -20237,7 +20237,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_control:sym<while>"  :subid("36_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statement_control:sym<while>"  :subid("36_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_521
 .annotate 'line', 172
     new $P520, 'ExceptionHandler'
@@ -20288,7 +20288,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_control:sym<repeat>"  :subid("37_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statement_control:sym<repeat>"  :subid("37_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_538
 .annotate 'line', 178
     new $P537, 'ExceptionHandler'
@@ -20389,7 +20389,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_control:sym<for>"  :subid("38_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statement_control:sym<for>"  :subid("38_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_574
 .annotate 'line', 192
     new $P573, 'ExceptionHandler'
@@ -20470,7 +20470,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_control:sym<return>"  :subid("39_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statement_control:sym<return>"  :subid("39_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_600
 .annotate 'line', 205
     new $P599, 'ExceptionHandler'
@@ -20506,7 +20506,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_control:sym<CATCH>"  :subid("40_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statement_control:sym<CATCH>"  :subid("40_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_613
 .annotate 'line', 209
     new $P612, 'ExceptionHandler'
@@ -20565,7 +20565,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_control:sym<CONTROL>"  :subid("41_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statement_control:sym<CONTROL>"  :subid("41_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_633
 .annotate 'line', 216
     new $P632, 'ExceptionHandler'
@@ -20624,7 +20624,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_prefix:sym<INIT>"  :subid("42_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statement_prefix:sym<INIT>"  :subid("42_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_654
 .annotate 'line', 260
     new $P653, 'ExceptionHandler'
@@ -20671,7 +20671,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_prefix:sym<try>"  :subid("43_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statement_prefix:sym<try>"  :subid("43_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_670
 .annotate 'line', 265
     new $P669, 'ExceptionHandler'
@@ -20749,7 +20749,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "blorst"  :subid("44_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "blorst"  :subid("44_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_705
 .annotate 'line', 288
     new $P704, 'ExceptionHandler'
@@ -20809,7 +20809,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_mod_cond:sym<if>"  :subid("45_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statement_mod_cond:sym<if>"  :subid("45_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_723
 .annotate 'line', 296
     new $P722, 'ExceptionHandler'
@@ -20840,7 +20840,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_mod_cond:sym<unless>"  :subid("46_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statement_mod_cond:sym<unless>"  :subid("46_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_733
 .annotate 'line', 297
     new $P732, 'ExceptionHandler'
@@ -20871,7 +20871,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_mod_loop:sym<while>"  :subid("47_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statement_mod_loop:sym<while>"  :subid("47_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_743
 .annotate 'line', 299
     new $P742, 'ExceptionHandler'
@@ -20902,7 +20902,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "statement_mod_loop:sym<until>"  :subid("48_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "statement_mod_loop:sym<until>"  :subid("48_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_753
 .annotate 'line', 300
     new $P752, 'ExceptionHandler'
@@ -20933,7 +20933,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<fatarrow>"  :subid("49_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "term:sym<fatarrow>"  :subid("49_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_763
 .annotate 'line', 304
     new $P762, 'ExceptionHandler'
@@ -20964,7 +20964,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<colonpair>"  :subid("50_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "term:sym<colonpair>"  :subid("50_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_773
 .annotate 'line', 305
     new $P772, 'ExceptionHandler'
@@ -20995,7 +20995,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<variable>"  :subid("51_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "term:sym<variable>"  :subid("51_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_783
 .annotate 'line', 306
     new $P782, 'ExceptionHandler'
@@ -21026,7 +21026,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<package_declarator>"  :subid("52_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "term:sym<package_declarator>"  :subid("52_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_793
 .annotate 'line', 307
     new $P792, 'ExceptionHandler'
@@ -21057,7 +21057,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<scope_declarator>"  :subid("53_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "term:sym<scope_declarator>"  :subid("53_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_803
 .annotate 'line', 308
     new $P802, 'ExceptionHandler'
@@ -21088,7 +21088,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<routine_declarator>"  :subid("54_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "term:sym<routine_declarator>"  :subid("54_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_813
 .annotate 'line', 309
     new $P812, 'ExceptionHandler'
@@ -21119,7 +21119,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<regex_declarator>"  :subid("55_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "term:sym<regex_declarator>"  :subid("55_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_823
 .annotate 'line', 310
     new $P822, 'ExceptionHandler'
@@ -21150,7 +21150,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<statement_prefix>"  :subid("56_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "term:sym<statement_prefix>"  :subid("56_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_833
 .annotate 'line', 311
     new $P832, 'ExceptionHandler'
@@ -21181,7 +21181,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<lambda>"  :subid("57_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "term:sym<lambda>"  :subid("57_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_843
 .annotate 'line', 312
     new $P842, 'ExceptionHandler'
@@ -21212,7 +21212,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "fatarrow"  :subid("58_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "fatarrow"  :subid("58_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_853
 .annotate 'line', 314
     new $P852, 'ExceptionHandler'
@@ -21262,7 +21262,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "colonpair"  :subid("59_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "colonpair"  :subid("59_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_869
 .annotate 'line', 320
     new $P868, 'ExceptionHandler'
@@ -21344,10 +21344,10 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "variable"  :subid("60_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "variable"  :subid("60_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_895
 .annotate 'line', 328
-    .const 'Sub' $P908 = "61_1279589176.27948" 
+    .const 'Sub' $P908 = "61_1280467483.70067" 
     capture_lex $P908
     new $P894, 'ExceptionHandler'
     set_addr $P894, control_893
@@ -21371,7 +21371,7 @@
   vivify_325:
     if $P900, if_898
 .annotate 'line', 334
-    .const 'Sub' $P908 = "61_1279589176.27948" 
+    .const 'Sub' $P908 = "61_1280467483.70067" 
     capture_lex $P908
     $P908()
     goto if_898_end
@@ -21408,7 +21408,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block907"  :anon :subid("61_1279589176.27948") :outer("60_1279589176.27948")
+.sub "_block907"  :anon :subid("61_1280467483.70067") :outer("60_1280467483.70067")
 .annotate 'line', 335
     $P909 = root_new ['parrot';'ResizablePMCArray']
     .lex "@name", $P909
@@ -21578,7 +21578,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "package_declarator:sym<module>"  :subid("62_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "package_declarator:sym<module>"  :subid("62_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_984
 .annotate 'line', 366
     new $P983, 'ExceptionHandler'
@@ -21609,7 +21609,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "package_declarator:sym<class>"  :subid("63_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "package_declarator:sym<class>"  :subid("63_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_994
 .annotate 'line', 367
     new $P993, 'ExceptionHandler'
@@ -21767,7 +21767,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "package_def"  :subid("64_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "package_def"  :subid("64_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_1047
 .annotate 'line', 390
     new $P1046, 'ExceptionHandler'
@@ -21846,7 +21846,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "scope_declarator:sym<my>"  :subid("65_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "scope_declarator:sym<my>"  :subid("65_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_1071
 .annotate 'line', 397
     new $P1070, 'ExceptionHandler'
@@ -21877,7 +21877,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "scope_declarator:sym<our>"  :subid("66_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "scope_declarator:sym<our>"  :subid("66_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_1081
 .annotate 'line', 398
     new $P1080, 'ExceptionHandler'
@@ -21908,7 +21908,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "scope_declarator:sym<has>"  :subid("67_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "scope_declarator:sym<has>"  :subid("67_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_1091
 .annotate 'line', 399
     new $P1090, 'ExceptionHandler'
@@ -21939,7 +21939,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "scoped"  :subid("68_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "scoped"  :subid("68_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_1101
 .annotate 'line', 401
     new $P1100, 'ExceptionHandler'
@@ -21998,7 +21998,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "declarator"  :subid("69_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "declarator"  :subid("69_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_1118
 .annotate 'line', 407
     new $P1117, 'ExceptionHandler'
@@ -22057,7 +22057,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "multi_declarator:sym<multi>"  :subid("70_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "multi_declarator:sym<multi>"  :subid("70_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_1135
 .annotate 'line', 413
     new $P1134, 'ExceptionHandler'
@@ -22111,7 +22111,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "multi_declarator:sym<null>"  :subid("71_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "multi_declarator:sym<null>"  :subid("71_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_1152
 .annotate 'line', 414
     new $P1151, 'ExceptionHandler'
@@ -22142,10 +22142,10 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "variable_declarator"  :subid("72_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "variable_declarator"  :subid("72_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_1162
 .annotate 'line', 417
-    .const 'Sub' $P1202 = "73_1279589176.27948" 
+    .const 'Sub' $P1202 = "73_1280467483.70067" 
     capture_lex $P1202
     new $P1161, 'ExceptionHandler'
     set_addr $P1161, control_1160
@@ -22227,7 +22227,7 @@
     iseq $I1187, $S1186, "has"
     if $I1187, if_1184
 .annotate 'line', 434
-    .const 'Sub' $P1202 = "73_1279589176.27948" 
+    .const 'Sub' $P1202 = "73_1280467483.70067" 
     capture_lex $P1202
     $P1202()
     goto if_1184_end
@@ -22287,7 +22287,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1201"  :anon :subid("73_1279589176.27948") :outer("72_1279589176.27948")
+.sub "_block1201"  :anon :subid("73_1280467483.70067") :outer("72_1280467483.70067")
 .annotate 'line', 435
     new $P1203, "Undef"
     .lex "$scope", $P1203
@@ -22349,7 +22349,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "routine_declarator:sym<sub>"  :subid("74_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "routine_declarator:sym<sub>"  :subid("74_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_1233
 .annotate 'line', 445
     new $P1232, 'ExceptionHandler'
@@ -22380,7 +22380,7 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "routine_declarator:sym<method>"  :subid("75_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "routine_declarator:sym<method>"  :subid("75_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_1243
 .annotate 'line', 446
     new $P1242, 'ExceptionHandler'
@@ -22411,10 +22411,10 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "routine_def"  :subid("76_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "routine_def"  :subid("76_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_1253
 .annotate 'line', 448
-    .const 'Sub' $P1264 = "77_1279589176.27948" 
+    .const 'Sub' $P1264 = "77_1280467483.70067" 
     capture_lex $P1264
     new $P1252, 'ExceptionHandler'
     set_addr $P1252, control_1251
@@ -22451,7 +22451,7 @@
     new $P1262, "Undef"
   vivify_423:
     unless $P1262, if_1260_end
-    .const 'Sub' $P1264 = "77_1279589176.27948" 
+    .const 'Sub' $P1264 = "77_1280467483.70067" 
     capture_lex $P1264
     $P1264()
   if_1260_end:
@@ -22470,7 +22470,7 @@
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1263"  :anon :subid("77_1279589176.27948") :outer("76_1279589176.27948")
+.sub "_block1263"  :anon :subid("77_1280467483.70067") :outer("76_1280467483.70067")
 .annotate 'line', 453
     new $P1265, "Undef"
     .lex "$name", $P1265
@@ -22567,11 +22567,11 @@
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "method_def"  :subid("78_1279589176.27948") :method :outer("11_1279589176.27948")
+.sub "method_def"  :subid("78_1280467483.70067") :method :outer("11_1280467483.70067")
     .param pmc param_1303
 .annotate 'line', 466
-    .const 'Sub' $P1319 = "79_1279589176.27948" 
-    capture_lex $P1319
+    .const 'Sub' $P1324 = "79_1280467483.70067" 
+    capture_lex $P1324
     new $P1302, 'ExceptionHandler'
     set_addr $P1302, control_1301
     $P1302."handle_types"(.CONTROL_RETURN)
@@ -22595,3344 +22595,3359 @@
     find_lex $P1308, "$past"
     $P1308."blocktype"("method")
 .annotate 'line', 469
-    find_lex $P1309, "$past"
-    $P1309."control"("return_pir")
-.annotate 'line', 470
-    find_lex $P1310, "$past"
+    find_dynamic_lex $P1310, "$*SCOPE"
     unless_null $P1310, vivify_439
-    $P1310 = root_new ['parrot';'ResizablePMCArray']
-  vivify_439:
-    set $P1311, $P1310[0]
-    unless_null $P1311, vivify_440
-    new $P1311, "Undef"
+    get_hll_global $P1310, "$SCOPE"
+    unless_null $P1310, vivify_440
+    die "Contextual $*SCOPE not found"
   vivify_440:
-    get_hll_global $P1312, ["PAST"], "Op"
-    $P1313 = $P1312."new"("    .lex \"self\", self" :named("inline"))
-    $P1311."unshift"($P1313)
-.annotate 'line', 471
-    find_lex $P1314, "$past"
-    $P1314."symbol"("self", "lexical" :named("scope"))
+  vivify_439:
+    set $S1311, $P1310
+    iseq $I1312, $S1311, "our"
+    unless $I1312, if_1309_end
+.annotate 'line', 470
+    find_lex $P1313, "$past"
+    $P1313."pirflags"(":nsentry")
+  if_1309_end:
 .annotate 'line', 472
-    find_lex $P1316, "$/"
-    unless_null $P1316, vivify_441
-    $P1316 = root_new ['parrot';'Hash']
+    find_lex $P1314, "$past"
+    $P1314."control"("return_pir")
+.annotate 'line', 473
+    find_lex $P1315, "$past"
+    unless_null $P1315, vivify_441
+    $P1315 = root_new ['parrot';'ResizablePMCArray']
   vivify_441:
-    set $P1317, $P1316["deflongname"]
-    unless_null $P1317, vivify_442
-    new $P1317, "Undef"
+    set $P1316, $P1315[0]
+    unless_null $P1316, vivify_442
+    new $P1316, "Undef"
   vivify_442:
-    unless $P1317, if_1315_end
-    .const 'Sub' $P1319 = "79_1279589176.27948" 
-    capture_lex $P1319
-    $P1319()
-  if_1315_end:
-.annotate 'line', 476
-    find_dynamic_lex $P1331, "$*MULTINESS"
-    unless_null $P1331, vivify_446
-    get_hll_global $P1331, "$MULTINESS"
-    unless_null $P1331, vivify_447
+    get_hll_global $P1317, ["PAST"], "Op"
+    $P1318 = $P1317."new"("    .lex \"self\", self" :named("inline"))
+    $P1316."unshift"($P1318)
+.annotate 'line', 474
+    find_lex $P1319, "$past"
+    $P1319."symbol"("self", "lexical" :named("scope"))
+.annotate 'line', 475
+    find_lex $P1321, "$/"
+    unless_null $P1321, vivify_443
+    $P1321 = root_new ['parrot';'Hash']
+  vivify_443:
+    set $P1322, $P1321["deflongname"]
+    unless_null $P1322, vivify_444
+    new $P1322, "Undef"
+  vivify_444:
+    unless $P1322, if_1320_end
+    .const 'Sub' $P1324 = "79_1280467483.70067" 
+    capture_lex $P1324
+    $P1324()
+  if_1320_end:
+.annotate 'line', 479
+    find_dynamic_lex $P1336, "$*MULTINESS"
+    unless_null $P1336, vivify_448
+    get_hll_global $P1336, "$MULTINESS"
+    unless_null $P1336, vivify_449
     die "Contextual $*MULTINESS not found"
-  vivify_447:
-  vivify_446:
-    set $S1332, $P1331
-    iseq $I1333, $S1332, "multi"
-    unless $I1333, if_1330_end
-    find_lex $P1334, "$past"
-    $P1335 = $P1334."multi"()
-    $P1335."unshift"("_")
-  if_1330_end:
-.annotate 'line', 477
-    find_lex $P1336, "$/"
-    find_lex $P1337, "$past"
-    $P1338 = $P1336."!make"($P1337)
+  vivify_449:
+  vivify_448:
+    set $S1337, $P1336
+    iseq $I1338, $S1337, "multi"
+    unless $I1338, if_1335_end
+    find_lex $P1339, "$past"
+    $P1340 = $P1339."multi"()
+    $P1340."unshift"("_")
+  if_1335_end:
+.annotate 'line', 480
+    find_lex $P1341, "$/"
+    find_lex $P1342, "$past"
+    $P1343 = $P1341."!make"($P1342)
 .annotate 'line', 466
-    .return ($P1338)
+    .return ($P1343)
   control_1301:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1339, exception, "payload"
-    .return ($P1339)
+    getattribute $P1344, exception, "payload"
+    .return ($P1344)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1318"  :anon :subid("79_1279589176.27948") :outer("78_1279589176.27948")
-.annotate 'line', 473
-    new $P1320, "Undef"
-    .lex "$name", $P1320
-    find_lex $P1321, "$/"
-    unless_null $P1321, vivify_443
-    $P1321 = root_new ['parrot';'Hash']
-  vivify_443:
-    set $P1322, $P1321["deflongname"]
-    unless_null $P1322, vivify_444
-    $P1322 = root_new ['parrot';'ResizablePMCArray']
-  vivify_444:
-    set $P1323, $P1322[0]
-    unless_null $P1323, vivify_445
-    new $P1323, "Undef"
+.sub "_block1323"  :anon :subid("79_1280467483.70067") :outer("78_1280467483.70067")
+.annotate 'line', 476
+    new $P1325, "Undef"
+    .lex "$name", $P1325
+    find_lex $P1326, "$/"
+    unless_null $P1326, vivify_445
+    $P1326 = root_new ['parrot';'Hash']
   vivify_445:
-    $P1324 = $P1323."ast"()
-    set $S1325, $P1324
-    new $P1326, 'String'
-    set $P1326, $S1325
-    store_lex "$name", $P1326
-.annotate 'line', 474
-    find_lex $P1327, "$past"
-    find_lex $P1328, "$name"
-    $P1329 = $P1327."name"($P1328)
-.annotate 'line', 472
-    .return ($P1329)
+    set $P1327, $P1326["deflongname"]
+    unless_null $P1327, vivify_446
+    $P1327 = root_new ['parrot';'ResizablePMCArray']
+  vivify_446:
+    set $P1328, $P1327[0]
+    unless_null $P1328, vivify_447
+    new $P1328, "Undef"
+  vivify_447:
+    $P1329 = $P1328."ast"()
+    set $S1330, $P1329
+    new $P1331, 'String'
+    set $P1331, $S1330
+    store_lex "$name", $P1331
+.annotate 'line', 477
+    find_lex $P1332, "$past"
+    find_lex $P1333, "$name"
+    $P1334 = $P1332."name"($P1333)
+.annotate 'line', 475
+    .return ($P1334)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "signature"  :subid("80_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1343
-.annotate 'line', 481
-    .const 'Sub' $P1369 = "82_1279589176.27948" 
-    capture_lex $P1369
-    .const 'Sub' $P1354 = "81_1279589176.27948" 
-    capture_lex $P1354
-    new $P1342, 'ExceptionHandler'
-    set_addr $P1342, control_1341
-    $P1342."handle_types"(.CONTROL_RETURN)
-    push_eh $P1342
-    .lex "self", self
-    .lex "$/", param_1343
-.annotate 'line', 482
-    new $P1344, "Undef"
-    .lex "$BLOCKINIT", $P1344
-    get_global $P1345, "@BLOCK"
-    unless_null $P1345, vivify_448
-    $P1345 = root_new ['parrot';'ResizablePMCArray']
-  vivify_448:
-    set $P1346, $P1345[0]
-    unless_null $P1346, vivify_449
-    $P1346 = root_new ['parrot';'ResizablePMCArray']
-  vivify_449:
-    set $P1347, $P1346[0]
-    unless_null $P1347, vivify_450
-    new $P1347, "Undef"
-  vivify_450:
-    store_lex "$BLOCKINIT", $P1347
+.sub "signature"  :subid("80_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1348
 .annotate 'line', 484
-    find_lex $P1349, "$/"
-    unless_null $P1349, vivify_451
-    $P1349 = root_new ['parrot';'Hash']
+    .const 'Sub' $P1374 = "82_1280467483.70067" 
+    capture_lex $P1374
+    .const 'Sub' $P1359 = "81_1280467483.70067" 
+    capture_lex $P1359
+    new $P1347, 'ExceptionHandler'
+    set_addr $P1347, control_1346
+    $P1347."handle_types"(.CONTROL_RETURN)
+    push_eh $P1347
+    .lex "self", self
+    .lex "$/", param_1348
+.annotate 'line', 485
+    new $P1349, "Undef"
+    .lex "$BLOCKINIT", $P1349
+    get_global $P1350, "@BLOCK"
+    unless_null $P1350, vivify_450
+    $P1350 = root_new ['parrot';'ResizablePMCArray']
+  vivify_450:
+    set $P1351, $P1350[0]
+    unless_null $P1351, vivify_451
+    $P1351 = root_new ['parrot';'ResizablePMCArray']
   vivify_451:
-    set $P1350, $P1349["parameter"]
-    unless_null $P1350, vivify_452
-    new $P1350, "Undef"
+    set $P1352, $P1351[0]
+    unless_null $P1352, vivify_452
+    new $P1352, "Undef"
   vivify_452:
-    defined $I1351, $P1350
-    unless $I1351, for_undef_453
-    iter $P1348, $P1350
-    new $P1361, 'ExceptionHandler'
-    set_addr $P1361, loop1360_handler
-    $P1361."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
-    push_eh $P1361
-  loop1360_test:
-    unless $P1348, loop1360_done
-    shift $P1352, $P1348
-  loop1360_redo:
-    .const 'Sub' $P1354 = "81_1279589176.27948" 
-    capture_lex $P1354
-    $P1354($P1352)
-  loop1360_next:
-    goto loop1360_test
-  loop1360_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1362, exception, 'type'
-    eq $P1362, .CONTROL_LOOP_NEXT, loop1360_next
-    eq $P1362, .CONTROL_LOOP_REDO, loop1360_redo
-  loop1360_done:
-    pop_eh 
-  for_undef_453:
+    store_lex "$BLOCKINIT", $P1352
 .annotate 'line', 487
-    find_dynamic_lex $P1365, "$*MULTINESS"
-    unless_null $P1365, vivify_454
-    get_hll_global $P1365, "$MULTINESS"
-    unless_null $P1365, vivify_455
-    die "Contextual $*MULTINESS not found"
-  vivify_455:
+    find_lex $P1354, "$/"
+    unless_null $P1354, vivify_453
+    $P1354 = root_new ['parrot';'Hash']
+  vivify_453:
+    set $P1355, $P1354["parameter"]
+    unless_null $P1355, vivify_454
+    new $P1355, "Undef"
   vivify_454:
-    set $S1366, $P1365
-    iseq $I1367, $S1366, "multi"
-    if $I1367, if_1364
-    new $P1363, 'Integer'
-    set $P1363, $I1367
-    goto if_1364_end
-  if_1364:
-    .const 'Sub' $P1369 = "82_1279589176.27948" 
-    capture_lex $P1369
-    $P1395 = $P1369()
-    set $P1363, $P1395
-  if_1364_end:
-.annotate 'line', 481
-    .return ($P1363)
-  control_1341:
+    defined $I1356, $P1355
+    unless $I1356, for_undef_455
+    iter $P1353, $P1355
+    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 $P1353, loop1365_done
+    shift $P1357, $P1353
+  loop1365_redo:
+    .const 'Sub' $P1359 = "81_1280467483.70067" 
+    capture_lex $P1359
+    $P1359($P1357)
+  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_455:
+.annotate 'line', 490
+    find_dynamic_lex $P1370, "$*MULTINESS"
+    unless_null $P1370, vivify_456
+    get_hll_global $P1370, "$MULTINESS"
+    unless_null $P1370, vivify_457
+    die "Contextual $*MULTINESS not found"
+  vivify_457:
+  vivify_456:
+    set $S1371, $P1370
+    iseq $I1372, $S1371, "multi"
+    if $I1372, if_1369
+    new $P1368, 'Integer'
+    set $P1368, $I1372
+    goto if_1369_end
+  if_1369:
+    .const 'Sub' $P1374 = "82_1280467483.70067" 
+    capture_lex $P1374
+    $P1400 = $P1374()
+    set $P1368, $P1400
+  if_1369_end:
+.annotate 'line', 484
+    .return ($P1368)
+  control_1346:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1396, exception, "payload"
-    .return ($P1396)
+    getattribute $P1401, exception, "payload"
+    .return ($P1401)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1353"  :anon :subid("81_1279589176.27948") :outer("80_1279589176.27948")
-    .param pmc param_1355
-.annotate 'line', 484
-    .lex "$_", param_1355
-    find_lex $P1356, "$BLOCKINIT"
-    find_lex $P1357, "$_"
-    $P1358 = $P1357."ast"()
-    $P1359 = $P1356."push"($P1358)
-    .return ($P1359)
+.sub "_block1358"  :anon :subid("81_1280467483.70067") :outer("80_1280467483.70067")
+    .param pmc param_1360
+.annotate 'line', 487
+    .lex "$_", param_1360
+    find_lex $P1361, "$BLOCKINIT"
+    find_lex $P1362, "$_"
+    $P1363 = $P1362."ast"()
+    $P1364 = $P1361."push"($P1363)
+    .return ($P1364)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "_block1368"  :anon :subid("82_1279589176.27948") :outer("80_1279589176.27948")
-.annotate 'line', 487
-    .const 'Sub' $P1378 = "83_1279589176.27948" 
-    capture_lex $P1378
-.annotate 'line', 488
-    $P1370 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@params", $P1370
-.annotate 'line', 487
-    find_lex $P1371, "@params"
-.annotate 'line', 489
-    find_lex $P1373, "$BLOCKINIT"
-    $P1374 = $P1373."list"()
-    defined $I1375, $P1374
-    unless $I1375, for_undef_456
-    iter $P1372, $P1374
-    new $P1389, 'ExceptionHandler'
-    set_addr $P1389, loop1388_handler
-    $P1389."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
-    push_eh $P1389
-  loop1388_test:
-    unless $P1372, loop1388_done
-    shift $P1376, $P1372
-  loop1388_redo:
-    .const 'Sub' $P1378 = "83_1279589176.27948" 
-    capture_lex $P1378
-    $P1378($P1376)
-  loop1388_next:
-    goto loop1388_test
-  loop1388_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1390, exception, 'type'
-    eq $P1390, .CONTROL_LOOP_NEXT, loop1388_next
-    eq $P1390, .CONTROL_LOOP_REDO, loop1388_redo
-  loop1388_done:
-    pop_eh 
-  for_undef_456:
+.sub "_block1373"  :anon :subid("82_1280467483.70067") :outer("80_1280467483.70067")
+.annotate 'line', 490
+    .const 'Sub' $P1383 = "83_1280467483.70067" 
+    capture_lex $P1383
+.annotate 'line', 491
+    $P1375 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@params", $P1375
+.annotate 'line', 490
+    find_lex $P1376, "@params"
 .annotate 'line', 492
-    get_global $P1391, "@BLOCK"
-    unless_null $P1391, vivify_457
-    $P1391 = root_new ['parrot';'ResizablePMCArray']
-  vivify_457:
-    set $P1392, $P1391[0]
-    unless_null $P1392, vivify_458
-    new $P1392, "Undef"
-  vivify_458:
-    find_lex $P1393, "@params"
-    $P1394 = $P1392."multi"($P1393)
-.annotate 'line', 487
-    .return ($P1394)
+    find_lex $P1378, "$BLOCKINIT"
+    $P1379 = $P1378."list"()
+    defined $I1380, $P1379
+    unless $I1380, for_undef_458
+    iter $P1377, $P1379
+    new $P1394, 'ExceptionHandler'
+    set_addr $P1394, loop1393_handler
+    $P1394."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P1394
+  loop1393_test:
+    unless $P1377, loop1393_done
+    shift $P1381, $P1377
+  loop1393_redo:
+    .const 'Sub' $P1383 = "83_1280467483.70067" 
+    capture_lex $P1383
+    $P1383($P1381)
+  loop1393_next:
+    goto loop1393_test
+  loop1393_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1395, exception, 'type'
+    eq $P1395, .CONTROL_LOOP_NEXT, loop1393_next
+    eq $P1395, .CONTROL_LOOP_REDO, loop1393_redo
+  loop1393_done:
+    pop_eh 
+  for_undef_458:
+.annotate 'line', 495
+    get_global $P1396, "@BLOCK"
+    unless_null $P1396, vivify_459
+    $P1396 = root_new ['parrot';'ResizablePMCArray']
+  vivify_459:
+    set $P1397, $P1396[0]
+    unless_null $P1397, vivify_460
+    new $P1397, "Undef"
+  vivify_460:
+    find_lex $P1398, "@params"
+    $P1399 = $P1397."multi"($P1398)
+.annotate 'line', 490
+    .return ($P1399)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1377"  :anon :subid("83_1279589176.27948") :outer("82_1279589176.27948")
-    .param pmc param_1379
-.annotate 'line', 489
-    .lex "$_", param_1379
-.annotate 'line', 490
-    find_lex $P1380, "@params"
-    find_lex $P1382, "$_"
-    $P1383 = $P1382."multitype"()
-    set $P1381, $P1383
-    defined $I1385, $P1381
-    if $I1385, default_1384
-    new $P1386, "String"
-    assign $P1386, "_"
-    set $P1381, $P1386
-  default_1384:
-    $P1387 = $P1380."push"($P1381)
-.annotate 'line', 489
-    .return ($P1387)
+.sub "_block1382"  :anon :subid("83_1280467483.70067") :outer("82_1280467483.70067")
+    .param pmc param_1384
+.annotate 'line', 492
+    .lex "$_", param_1384
+.annotate 'line', 493
+    find_lex $P1385, "@params"
+    find_lex $P1387, "$_"
+    $P1388 = $P1387."multitype"()
+    set $P1386, $P1388
+    defined $I1390, $P1386
+    if $I1390, default_1389
+    new $P1391, "String"
+    assign $P1391, "_"
+    set $P1386, $P1391
+  default_1389:
+    $P1392 = $P1385."push"($P1386)
+.annotate 'line', 492
+    .return ($P1392)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "parameter"  :subid("84_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1400
-.annotate 'line', 496
-    .const 'Sub' $P1481 = "85_1279589176.27948" 
-    capture_lex $P1481
-    new $P1399, 'ExceptionHandler'
-    set_addr $P1399, control_1398
-    $P1399."handle_types"(.CONTROL_RETURN)
-    push_eh $P1399
-    .lex "self", self
-    .lex "$/", param_1400
-.annotate 'line', 497
-    new $P1401, "Undef"
-    .lex "$quant", $P1401
-.annotate 'line', 498
-    new $P1402, "Undef"
-    .lex "$past", $P1402
-.annotate 'line', 497
-    find_lex $P1403, "$/"
-    unless_null $P1403, vivify_459
-    $P1403 = root_new ['parrot';'Hash']
-  vivify_459:
-    set $P1404, $P1403["quant"]
-    unless_null $P1404, vivify_460
-    new $P1404, "Undef"
-  vivify_460:
-    store_lex "$quant", $P1404
-    find_lex $P1405, "$past"
+.sub "parameter"  :subid("84_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1405
 .annotate 'line', 499
-    find_lex $P1407, "$/"
-    unless_null $P1407, vivify_461
-    $P1407 = root_new ['parrot';'Hash']
+    .const 'Sub' $P1486 = "85_1280467483.70067" 
+    capture_lex $P1486
+    new $P1404, 'ExceptionHandler'
+    set_addr $P1404, control_1403
+    $P1404."handle_types"(.CONTROL_RETURN)
+    push_eh $P1404
+    .lex "self", self
+    .lex "$/", param_1405
+.annotate 'line', 500
+    new $P1406, "Undef"
+    .lex "$quant", $P1406
+.annotate 'line', 501
+    new $P1407, "Undef"
+    .lex "$past", $P1407
+.annotate 'line', 500
+    find_lex $P1408, "$/"
+    unless_null $P1408, vivify_461
+    $P1408 = root_new ['parrot';'Hash']
   vivify_461:
-    set $P1408, $P1407["named_param"]
-    unless_null $P1408, vivify_462
-    new $P1408, "Undef"
+    set $P1409, $P1408["quant"]
+    unless_null $P1409, vivify_462
+    new $P1409, "Undef"
   vivify_462:
-    if $P1408, if_1406
-.annotate 'line', 506
-    find_lex $P1422, "$/"
-    unless_null $P1422, vivify_463
-    $P1422 = root_new ['parrot';'Hash']
+    store_lex "$quant", $P1409
+    find_lex $P1410, "$past"
+.annotate 'line', 502
+    find_lex $P1412, "$/"
+    unless_null $P1412, vivify_463
+    $P1412 = root_new ['parrot';'Hash']
   vivify_463:
-    set $P1423, $P1422["param_var"]
-    unless_null $P1423, vivify_464
-    new $P1423, "Undef"
+    set $P1413, $P1412["named_param"]
+    unless_null $P1413, vivify_464
+    new $P1413, "Undef"
   vivify_464:
-    $P1424 = $P1423."ast"()
-    store_lex "$past", $P1424
-.annotate 'line', 507
-    find_lex $P1426, "$quant"
-    set $S1427, $P1426
-    iseq $I1428, $S1427, "*"
-    if $I1428, if_1425
-.annotate 'line', 511
-    find_lex $P1437, "$quant"
-    set $S1438, $P1437
-    iseq $I1439, $S1438, "?"
-    unless $I1439, if_1436_end
-.annotate 'line', 512
-    find_lex $P1440, "$past"
-    find_lex $P1441, "$/"
-    unless_null $P1441, vivify_465
-    $P1441 = root_new ['parrot';'Hash']
+    if $P1413, if_1411
+.annotate 'line', 509
+    find_lex $P1427, "$/"
+    unless_null $P1427, vivify_465
+    $P1427 = root_new ['parrot';'Hash']
   vivify_465:
-    set $P1442, $P1441["param_var"]
-    unless_null $P1442, vivify_466
-    $P1442 = root_new ['parrot';'Hash']
+    set $P1428, $P1427["param_var"]
+    unless_null $P1428, vivify_466
+    new $P1428, "Undef"
   vivify_466:
-    set $P1443, $P1442["sigil"]
-    unless_null $P1443, vivify_467
-    new $P1443, "Undef"
+    $P1429 = $P1428."ast"()
+    store_lex "$past", $P1429
+.annotate 'line', 510
+    find_lex $P1431, "$quant"
+    set $S1432, $P1431
+    iseq $I1433, $S1432, "*"
+    if $I1433, if_1430
+.annotate 'line', 514
+    find_lex $P1442, "$quant"
+    set $S1443, $P1442
+    iseq $I1444, $S1443, "?"
+    unless $I1444, if_1441_end
+.annotate 'line', 515
+    find_lex $P1445, "$past"
+    find_lex $P1446, "$/"
+    unless_null $P1446, vivify_467
+    $P1446 = root_new ['parrot';'Hash']
   vivify_467:
-    $P1444 = "vivitype"($P1443)
-    $P1440."viviself"($P1444)
-  if_1436_end:
-.annotate 'line', 511
-    goto if_1425_end
-  if_1425:
-.annotate 'line', 508
-    find_lex $P1429, "$past"
-    $P1429."slurpy"(1)
-.annotate 'line', 509
-    find_lex $P1430, "$past"
-    find_lex $P1431, "$/"
-    unless_null $P1431, vivify_468
-    $P1431 = root_new ['parrot';'Hash']
+    set $P1447, $P1446["param_var"]
+    unless_null $P1447, vivify_468
+    $P1447 = root_new ['parrot';'Hash']
   vivify_468:
-    set $P1432, $P1431["param_var"]
-    unless_null $P1432, vivify_469
-    $P1432 = root_new ['parrot';'Hash']
+    set $P1448, $P1447["sigil"]
+    unless_null $P1448, vivify_469
+    new $P1448, "Undef"
   vivify_469:
-    set $P1433, $P1432["sigil"]
-    unless_null $P1433, vivify_470
-    new $P1433, "Undef"
+    $P1449 = "vivitype"($P1448)
+    $P1445."viviself"($P1449)
+  if_1441_end:
+.annotate 'line', 514
+    goto if_1430_end
+  if_1430:
+.annotate 'line', 511
+    find_lex $P1434, "$past"
+    $P1434."slurpy"(1)
+.annotate 'line', 512
+    find_lex $P1435, "$past"
+    find_lex $P1436, "$/"
+    unless_null $P1436, vivify_470
+    $P1436 = root_new ['parrot';'Hash']
   vivify_470:
-    set $S1434, $P1433
-    iseq $I1435, $S1434, "%"
-    $P1430."named"($I1435)
-  if_1425_end:
-.annotate 'line', 505
-    goto if_1406_end
-  if_1406:
-.annotate 'line', 500
-    find_lex $P1409, "$/"
-    unless_null $P1409, vivify_471
-    $P1409 = root_new ['parrot';'Hash']
+    set $P1437, $P1436["param_var"]
+    unless_null $P1437, vivify_471
+    $P1437 = root_new ['parrot';'Hash']
   vivify_471:
-    set $P1410, $P1409["named_param"]
-    unless_null $P1410, vivify_472
-    new $P1410, "Undef"
+    set $P1438, $P1437["sigil"]
+    unless_null $P1438, vivify_472
+    new $P1438, "Undef"
   vivify_472:
-    $P1411 = $P1410."ast"()
-    store_lex "$past", $P1411
-.annotate 'line', 501
-    find_lex $P1413, "$quant"
-    set $S1414, $P1413
-    isne $I1415, $S1414, "!"
-    unless $I1415, if_1412_end
-.annotate 'line', 502
-    find_lex $P1416, "$past"
-    find_lex $P1417, "$/"
-    unless_null $P1417, vivify_473
-    $P1417 = root_new ['parrot';'Hash']
+    set $S1439, $P1438
+    iseq $I1440, $S1439, "%"
+    $P1435."named"($I1440)
+  if_1430_end:
+.annotate 'line', 508
+    goto if_1411_end
+  if_1411:
+.annotate 'line', 503
+    find_lex $P1414, "$/"
+    unless_null $P1414, vivify_473
+    $P1414 = root_new ['parrot';'Hash']
   vivify_473:
-    set $P1418, $P1417["named_param"]
-    unless_null $P1418, vivify_474
-    $P1418 = root_new ['parrot';'Hash']
+    set $P1415, $P1414["named_param"]
+    unless_null $P1415, vivify_474
+    new $P1415, "Undef"
   vivify_474:
-    set $P1419, $P1418["param_var"]
-    unless_null $P1419, vivify_475
-    $P1419 = root_new ['parrot';'Hash']
+    $P1416 = $P1415."ast"()
+    store_lex "$past", $P1416
+.annotate 'line', 504
+    find_lex $P1418, "$quant"
+    set $S1419, $P1418
+    isne $I1420, $S1419, "!"
+    unless $I1420, if_1417_end
+.annotate 'line', 505
+    find_lex $P1421, "$past"
+    find_lex $P1422, "$/"
+    unless_null $P1422, vivify_475
+    $P1422 = root_new ['parrot';'Hash']
   vivify_475:
-    set $P1420, $P1419["sigil"]
-    unless_null $P1420, vivify_476
-    new $P1420, "Undef"
+    set $P1423, $P1422["named_param"]
+    unless_null $P1423, vivify_476
+    $P1423 = root_new ['parrot';'Hash']
   vivify_476:
-    $P1421 = "vivitype"($P1420)
-    $P1416."viviself"($P1421)
-  if_1412_end:
-  if_1406_end:
-.annotate 'line', 515
-    find_lex $P1446, "$/"
-    unless_null $P1446, vivify_477
-    $P1446 = root_new ['parrot';'Hash']
+    set $P1424, $P1423["param_var"]
+    unless_null $P1424, vivify_477
+    $P1424 = root_new ['parrot';'Hash']
   vivify_477:
-    set $P1447, $P1446["default_value"]
-    unless_null $P1447, vivify_478
-    new $P1447, "Undef"
+    set $P1425, $P1424["sigil"]
+    unless_null $P1425, vivify_478
+    new $P1425, "Undef"
   vivify_478:
-    unless $P1447, if_1445_end
-.annotate 'line', 516
-    find_lex $P1449, "$quant"
-    set $S1450, $P1449
-    iseq $I1451, $S1450, "*"
-    unless $I1451, if_1448_end
-.annotate 'line', 517
-    find_lex $P1452, "$/"
-    $P1453 = $P1452."CURSOR"()
-    $P1453."panic"("Can't put default on slurpy parameter")
-  if_1448_end:
+    $P1426 = "vivitype"($P1425)
+    $P1421."viviself"($P1426)
+  if_1417_end:
+  if_1411_end:
+.annotate 'line', 518
+    find_lex $P1451, "$/"
+    unless_null $P1451, vivify_479
+    $P1451 = root_new ['parrot';'Hash']
+  vivify_479:
+    set $P1452, $P1451["default_value"]
+    unless_null $P1452, vivify_480
+    new $P1452, "Undef"
+  vivify_480:
+    unless $P1452, if_1450_end
 .annotate 'line', 519
-    find_lex $P1455, "$quant"
-    set $S1456, $P1455
-    iseq $I1457, $S1456, "!"
-    unless $I1457, if_1454_end
+    find_lex $P1454, "$quant"
+    set $S1455, $P1454
+    iseq $I1456, $S1455, "*"
+    unless $I1456, if_1453_end
 .annotate 'line', 520
-    find_lex $P1458, "$/"
-    $P1459 = $P1458."CURSOR"()
-    $P1459."panic"("Can't put default on required parameter")
-  if_1454_end:
+    find_lex $P1457, "$/"
+    $P1458 = $P1457."CURSOR"()
+    $P1458."panic"("Can't put default on slurpy parameter")
+  if_1453_end:
 .annotate 'line', 522
-    find_lex $P1460, "$past"
-    find_lex $P1461, "$/"
-    unless_null $P1461, vivify_479
-    $P1461 = root_new ['parrot';'Hash']
-  vivify_479:
-    set $P1462, $P1461["default_value"]
-    unless_null $P1462, vivify_480
-    $P1462 = root_new ['parrot';'ResizablePMCArray']
-  vivify_480:
-    set $P1463, $P1462[0]
-    unless_null $P1463, vivify_481
-    $P1463 = root_new ['parrot';'Hash']
+    find_lex $P1460, "$quant"
+    set $S1461, $P1460
+    iseq $I1462, $S1461, "!"
+    unless $I1462, if_1459_end
+.annotate 'line', 523
+    find_lex $P1463, "$/"
+    $P1464 = $P1463."CURSOR"()
+    $P1464."panic"("Can't put default on required parameter")
+  if_1459_end:
+.annotate 'line', 525
+    find_lex $P1465, "$past"
+    find_lex $P1466, "$/"
+    unless_null $P1466, vivify_481
+    $P1466 = root_new ['parrot';'Hash']
   vivify_481:
-    set $P1464, $P1463["EXPR"]
-    unless_null $P1464, vivify_482
-    new $P1464, "Undef"
+    set $P1467, $P1466["default_value"]
+    unless_null $P1467, vivify_482
+    $P1467 = root_new ['parrot';'ResizablePMCArray']
   vivify_482:
-    $P1465 = $P1464."ast"()
-    $P1460."viviself"($P1465)
-  if_1445_end:
-.annotate 'line', 524
-    find_lex $P1467, "$past"
-    $P1468 = $P1467."viviself"()
-    if $P1468, unless_1466_end
-    get_global $P1469, "@BLOCK"
-    unless_null $P1469, vivify_483
-    $P1469 = root_new ['parrot';'ResizablePMCArray']
+    set $P1468, $P1467[0]
+    unless_null $P1468, vivify_483
+    $P1468 = root_new ['parrot';'Hash']
   vivify_483:
-    set $P1470, $P1469[0]
-    unless_null $P1470, vivify_484
-    new $P1470, "Undef"
+    set $P1469, $P1468["EXPR"]
+    unless_null $P1469, vivify_484
+    new $P1469, "Undef"
   vivify_484:
-    get_global $P1471, "@BLOCK"
-    unless_null $P1471, vivify_485
-    $P1471 = root_new ['parrot';'ResizablePMCArray']
+    $P1470 = $P1469."ast"()
+    $P1465."viviself"($P1470)
+  if_1450_end:
+.annotate 'line', 527
+    find_lex $P1472, "$past"
+    $P1473 = $P1472."viviself"()
+    if $P1473, unless_1471_end
+    get_global $P1474, "@BLOCK"
+    unless_null $P1474, vivify_485
+    $P1474 = root_new ['parrot';'ResizablePMCArray']
   vivify_485:
-    set $P1472, $P1471[0]
-    unless_null $P1472, vivify_486
-    new $P1472, "Undef"
+    set $P1475, $P1474[0]
+    unless_null $P1475, vivify_486
+    new $P1475, "Undef"
   vivify_486:
-    $P1473 = $P1472."arity"()
-    set $N1474, $P1473
-    new $P1475, 'Float'
-    set $P1475, $N1474
-    add $P1476, $P1475, 1
-    $P1470."arity"($P1476)
-  unless_1466_end:
-.annotate 'line', 527
-    find_lex $P1478, "$/"
-    unless_null $P1478, vivify_487
-    $P1478 = root_new ['parrot';'Hash']
+    get_global $P1476, "@BLOCK"
+    unless_null $P1476, vivify_487
+    $P1476 = root_new ['parrot';'ResizablePMCArray']
   vivify_487:
-    set $P1479, $P1478["typename"]
-    unless_null $P1479, vivify_488
-    new $P1479, "Undef"
+    set $P1477, $P1476[0]
+    unless_null $P1477, vivify_488
+    new $P1477, "Undef"
   vivify_488:
-    unless $P1479, if_1477_end
-    .const 'Sub' $P1481 = "85_1279589176.27948" 
-    capture_lex $P1481
-    $P1481()
-  if_1477_end:
-.annotate 'line', 533
-    find_lex $P1505, "$/"
-    find_lex $P1506, "$past"
-    $P1507 = $P1505."!make"($P1506)
-.annotate 'line', 496
-    .return ($P1507)
-  control_1398:
+    $P1478 = $P1477."arity"()
+    set $N1479, $P1478
+    new $P1480, 'Float'
+    set $P1480, $N1479
+    add $P1481, $P1480, 1
+    $P1475."arity"($P1481)
+  unless_1471_end:
+.annotate 'line', 530
+    find_lex $P1483, "$/"
+    unless_null $P1483, vivify_489
+    $P1483 = root_new ['parrot';'Hash']
+  vivify_489:
+    set $P1484, $P1483["typename"]
+    unless_null $P1484, vivify_490
+    new $P1484, "Undef"
+  vivify_490:
+    unless $P1484, if_1482_end
+    .const 'Sub' $P1486 = "85_1280467483.70067" 
+    capture_lex $P1486
+    $P1486()
+  if_1482_end:
+.annotate 'line', 536
+    find_lex $P1510, "$/"
+    find_lex $P1511, "$past"
+    $P1512 = $P1510."!make"($P1511)
+.annotate 'line', 499
+    .return ($P1512)
+  control_1403:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1508, exception, "payload"
-    .return ($P1508)
+    getattribute $P1513, exception, "payload"
+    .return ($P1513)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "_block1480"  :anon :subid("85_1279589176.27948") :outer("84_1279589176.27948")
-.annotate 'line', 527
-    .const 'Sub' $P1493 = "86_1279589176.27948" 
-    capture_lex $P1493
-.annotate 'line', 528
-    $P1482 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@multitype", $P1482
-.annotate 'line', 527
-    find_lex $P1483, "@multitype"
-.annotate 'line', 529
-    find_lex $P1485, "$/"
-    unless_null $P1485, vivify_489
-    $P1485 = root_new ['parrot';'Hash']
-  vivify_489:
-    set $P1486, $P1485["typename"]
-    unless_null $P1486, vivify_490
-    $P1486 = root_new ['parrot';'ResizablePMCArray']
-  vivify_490:
-    set $P1487, $P1486[0]
-    unless_null $P1487, vivify_491
-    $P1487 = root_new ['parrot';'Hash']
+.sub "_block1485"  :anon :subid("85_1280467483.70067") :outer("84_1280467483.70067")
+.annotate 'line', 530
+    .const 'Sub' $P1498 = "86_1280467483.70067" 
+    capture_lex $P1498
+.annotate 'line', 531
+    $P1487 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@multitype", $P1487
+.annotate 'line', 530
+    find_lex $P1488, "@multitype"
+.annotate 'line', 532
+    find_lex $P1490, "$/"
+    unless_null $P1490, vivify_491
+    $P1490 = root_new ['parrot';'Hash']
   vivify_491:
-    set $P1488, $P1487["name"]
-    unless_null $P1488, vivify_492
-    $P1488 = root_new ['parrot';'Hash']
+    set $P1491, $P1490["typename"]
+    unless_null $P1491, vivify_492
+    $P1491 = root_new ['parrot';'ResizablePMCArray']
   vivify_492:
-    set $P1489, $P1488["identifier"]
-    unless_null $P1489, vivify_493
-    new $P1489, "Undef"
+    set $P1492, $P1491[0]
+    unless_null $P1492, vivify_493
+    $P1492 = root_new ['parrot';'Hash']
   vivify_493:
-    defined $I1490, $P1489
-    unless $I1490, for_undef_494
-    iter $P1484, $P1489
-    new $P1500, 'ExceptionHandler'
-    set_addr $P1500, loop1499_handler
-    $P1500."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
-    push_eh $P1500
-  loop1499_test:
-    unless $P1484, loop1499_done
-    shift $P1491, $P1484
-  loop1499_redo:
-    .const 'Sub' $P1493 = "86_1279589176.27948" 
-    capture_lex $P1493
-    $P1493($P1491)
-  loop1499_next:
-    goto loop1499_test
-  loop1499_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1501, exception, 'type'
-    eq $P1501, .CONTROL_LOOP_NEXT, loop1499_next
-    eq $P1501, .CONTROL_LOOP_REDO, loop1499_redo
-  loop1499_done:
+    set $P1493, $P1492["name"]
+    unless_null $P1493, vivify_494
+    $P1493 = root_new ['parrot';'Hash']
+  vivify_494:
+    set $P1494, $P1493["identifier"]
+    unless_null $P1494, vivify_495
+    new $P1494, "Undef"
+  vivify_495:
+    defined $I1495, $P1494
+    unless $I1495, for_undef_496
+    iter $P1489, $P1494
+    new $P1505, 'ExceptionHandler'
+    set_addr $P1505, loop1504_handler
+    $P1505."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P1505
+  loop1504_test:
+    unless $P1489, loop1504_done
+    shift $P1496, $P1489
+  loop1504_redo:
+    .const 'Sub' $P1498 = "86_1280467483.70067" 
+    capture_lex $P1498
+    $P1498($P1496)
+  loop1504_next:
+    goto loop1504_test
+  loop1504_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1506, exception, 'type'
+    eq $P1506, .CONTROL_LOOP_NEXT, loop1504_next
+    eq $P1506, .CONTROL_LOOP_REDO, loop1504_redo
+  loop1504_done:
     pop_eh 
-  for_undef_494:
+  for_undef_496:
+.annotate 'line', 533
+    find_lex $P1507, "$past"
+    find_lex $P1508, "@multitype"
+    $P1509 = $P1507."multitype"($P1508)
 .annotate 'line', 530
-    find_lex $P1502, "$past"
-    find_lex $P1503, "@multitype"
-    $P1504 = $P1502."multitype"($P1503)
-.annotate 'line', 527
-    .return ($P1504)
+    .return ($P1509)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1492"  :anon :subid("86_1279589176.27948") :outer("85_1279589176.27948")
-    .param pmc param_1494
-.annotate 'line', 529
-    .lex "$_", param_1494
-    find_lex $P1495, "@multitype"
-    find_lex $P1496, "$_"
-    set $S1497, $P1496
-    $P1498 = $P1495."push"($S1497)
-    .return ($P1498)
+.sub "_block1497"  :anon :subid("86_1280467483.70067") :outer("85_1280467483.70067")
+    .param pmc param_1499
+.annotate 'line', 532
+    .lex "$_", param_1499
+    find_lex $P1500, "@multitype"
+    find_lex $P1501, "$_"
+    set $S1502, $P1501
+    $P1503 = $P1500."push"($S1502)
+    .return ($P1503)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "param_var"  :subid("87_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1512
-.annotate 'line', 536
-    new $P1511, 'ExceptionHandler'
-    set_addr $P1511, control_1510
-    $P1511."handle_types"(.CONTROL_RETURN)
-    push_eh $P1511
+.sub "param_var"  :subid("87_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1517
+.annotate 'line', 539
+    new $P1516, 'ExceptionHandler'
+    set_addr $P1516, control_1515
+    $P1516."handle_types"(.CONTROL_RETURN)
+    push_eh $P1516
     .lex "self", self
-    .lex "$/", param_1512
-.annotate 'line', 537
-    new $P1513, "Undef"
-    .lex "$name", $P1513
-.annotate 'line', 538
-    new $P1514, "Undef"
-    .lex "$past", $P1514
-.annotate 'line', 537
-    find_lex $P1515, "$/"
-    set $S1516, $P1515
-    new $P1517, 'String'
-    set $P1517, $S1516
-    store_lex "$name", $P1517
-.annotate 'line', 538
-    get_hll_global $P1518, ["PAST"], "Var"
-    find_lex $P1519, "$name"
-    find_lex $P1520, "$/"
-    $P1521 = $P1518."new"($P1519 :named("name"), "parameter" :named("scope"), 1 :named("isdecl"), $P1520 :named("node"))
-    store_lex "$past", $P1521
+    .lex "$/", param_1517
 .annotate 'line', 540
-    get_global $P1522, "@BLOCK"
-    unless_null $P1522, vivify_495
-    $P1522 = root_new ['parrot';'ResizablePMCArray']
-  vivify_495:
-    set $P1523, $P1522[0]
-    unless_null $P1523, vivify_496
-    new $P1523, "Undef"
-  vivify_496:
-    find_lex $P1524, "$name"
-    $P1523."symbol"($P1524, "lexical" :named("scope"))
+    new $P1518, "Undef"
+    .lex "$name", $P1518
 .annotate 'line', 541
+    new $P1519, "Undef"
+    .lex "$past", $P1519
+.annotate 'line', 540
+    find_lex $P1520, "$/"
+    set $S1521, $P1520
+    new $P1522, 'String'
+    set $P1522, $S1521
+    store_lex "$name", $P1522
+.annotate 'line', 541
+    get_hll_global $P1523, ["PAST"], "Var"
+    find_lex $P1524, "$name"
     find_lex $P1525, "$/"
-    find_lex $P1526, "$past"
-    $P1527 = $P1525."!make"($P1526)
-.annotate 'line', 536
-    .return ($P1527)
-  control_1510:
+    $P1526 = $P1523."new"($P1524 :named("name"), "parameter" :named("scope"), 1 :named("isdecl"), $P1525 :named("node"))
+    store_lex "$past", $P1526
+.annotate 'line', 543
+    get_global $P1527, "@BLOCK"
+    unless_null $P1527, vivify_497
+    $P1527 = root_new ['parrot';'ResizablePMCArray']
+  vivify_497:
+    set $P1528, $P1527[0]
+    unless_null $P1528, vivify_498
+    new $P1528, "Undef"
+  vivify_498:
+    find_lex $P1529, "$name"
+    $P1528."symbol"($P1529, "lexical" :named("scope"))
+.annotate 'line', 544
+    find_lex $P1530, "$/"
+    find_lex $P1531, "$past"
+    $P1532 = $P1530."!make"($P1531)
+.annotate 'line', 539
+    .return ($P1532)
+  control_1515:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1528, exception, "payload"
-    .return ($P1528)
+    getattribute $P1533, exception, "payload"
+    .return ($P1533)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "named_param"  :subid("88_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1532
-.annotate 'line', 544
-    new $P1531, 'ExceptionHandler'
-    set_addr $P1531, control_1530
-    $P1531."handle_types"(.CONTROL_RETURN)
-    push_eh $P1531
-    .lex "self", self
-    .lex "$/", param_1532
-.annotate 'line', 545
-    new $P1533, "Undef"
-    .lex "$past", $P1533
-    find_lex $P1534, "$/"
-    unless_null $P1534, vivify_497
-    $P1534 = root_new ['parrot';'Hash']
-  vivify_497:
-    set $P1535, $P1534["param_var"]
-    unless_null $P1535, vivify_498
-    new $P1535, "Undef"
-  vivify_498:
-    $P1536 = $P1535."ast"()
-    store_lex "$past", $P1536
-.annotate 'line', 546
-    find_lex $P1537, "$past"
-    find_lex $P1538, "$/"
-    unless_null $P1538, vivify_499
-    $P1538 = root_new ['parrot';'Hash']
-  vivify_499:
-    set $P1539, $P1538["param_var"]
-    unless_null $P1539, vivify_500
+.sub "named_param"  :subid("88_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1537
+.annotate 'line', 547
+    new $P1536, 'ExceptionHandler'
+    set_addr $P1536, control_1535
+    $P1536."handle_types"(.CONTROL_RETURN)
+    push_eh $P1536
+    .lex "self", self
+    .lex "$/", param_1537
+.annotate 'line', 548
+    new $P1538, "Undef"
+    .lex "$past", $P1538
+    find_lex $P1539, "$/"
+    unless_null $P1539, vivify_499
     $P1539 = root_new ['parrot';'Hash']
-  vivify_500:
-    set $P1540, $P1539["name"]
-    unless_null $P1540, vivify_501
+  vivify_499:
+    set $P1540, $P1539["param_var"]
+    unless_null $P1540, vivify_500
     new $P1540, "Undef"
+  vivify_500:
+    $P1541 = $P1540."ast"()
+    store_lex "$past", $P1541
+.annotate 'line', 549
+    find_lex $P1542, "$past"
+    find_lex $P1543, "$/"
+    unless_null $P1543, vivify_501
+    $P1543 = root_new ['parrot';'Hash']
   vivify_501:
-    set $S1541, $P1540
-    $P1537."named"($S1541)
+    set $P1544, $P1543["param_var"]
+    unless_null $P1544, vivify_502
+    $P1544 = root_new ['parrot';'Hash']
+  vivify_502:
+    set $P1545, $P1544["name"]
+    unless_null $P1545, vivify_503
+    new $P1545, "Undef"
+  vivify_503:
+    set $S1546, $P1545
+    $P1542."named"($S1546)
+.annotate 'line', 550
+    find_lex $P1547, "$/"
+    find_lex $P1548, "$past"
+    $P1549 = $P1547."!make"($P1548)
 .annotate 'line', 547
-    find_lex $P1542, "$/"
-    find_lex $P1543, "$past"
-    $P1544 = $P1542."!make"($P1543)
-.annotate 'line', 544
-    .return ($P1544)
-  control_1530:
+    .return ($P1549)
+  control_1535:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1545, exception, "payload"
-    .return ($P1545)
+    getattribute $P1550, exception, "payload"
+    .return ($P1550)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "regex_declarator"  :subid("89_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1549
-    .param pmc param_1550 :optional
-    .param int has_param_1550 :opt_flag
-.annotate 'line', 550
-    .const 'Sub' $P1620 = "91_1279589176.27948" 
-    capture_lex $P1620
-    .const 'Sub' $P1592 = "90_1279589176.27948" 
-    capture_lex $P1592
-    new $P1548, 'ExceptionHandler'
-    set_addr $P1548, control_1547
-    $P1548."handle_types"(.CONTROL_RETURN)
-    push_eh $P1548
-    .lex "self", self
-    .lex "$/", param_1549
-    if has_param_1550, optparam_502
-    new $P1551, "Undef"
-    set param_1550, $P1551
-  optparam_502:
-    .lex "$key", param_1550
-.annotate 'line', 551
-    $P1552 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@MODIFIERS", $P1552
+.sub "regex_declarator"  :subid("89_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1554
+    .param pmc param_1555 :optional
+    .param int has_param_1555 :opt_flag
+.annotate 'line', 553
+    .const 'Sub' $P1625 = "91_1280467483.70067" 
+    capture_lex $P1625
+    .const 'Sub' $P1597 = "90_1280467483.70067" 
+    capture_lex $P1597
+    new $P1553, 'ExceptionHandler'
+    set_addr $P1553, control_1552
+    $P1553."handle_types"(.CONTROL_RETURN)
+    push_eh $P1553
+    .lex "self", self
+    .lex "$/", param_1554
+    if has_param_1555, optparam_504
+    new $P1556, "Undef"
+    set param_1555, $P1556
+  optparam_504:
+    .lex "$key", param_1555
+.annotate 'line', 554
+    $P1557 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@MODIFIERS", $P1557
+.annotate 'line', 557
+    new $P1558, "Undef"
+    .lex "$name", $P1558
+.annotate 'line', 558
+    new $P1559, "Undef"
+    .lex "$past", $P1559
 .annotate 'line', 554
-    new $P1553, "Undef"
-    .lex "$name", $P1553
-.annotate 'line', 555
-    new $P1554, "Undef"
-    .lex "$past", $P1554
-.annotate 'line', 551
 
-        $P1555 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS'
+        $P1560 = get_hll_global ['Regex';'P6Regex';'Actions'], '@MODIFIERS'
     
-    store_lex "@MODIFIERS", $P1555
-.annotate 'line', 554
-    find_lex $P1556, "$/"
-    unless_null $P1556, vivify_503
-    $P1556 = root_new ['parrot';'Hash']
-  vivify_503:
-    set $P1557, $P1556["deflongname"]
-    unless_null $P1557, vivify_504
-    new $P1557, "Undef"
-  vivify_504:
-    $P1558 = $P1557."ast"()
-    set $S1559, $P1558
-    new $P1560, 'String'
-    set $P1560, $S1559
-    store_lex "$name", $P1560
-    find_lex $P1561, "$past"
-.annotate 'line', 556
-    find_lex $P1563, "$/"
-    unless_null $P1563, vivify_505
-    $P1563 = root_new ['parrot';'Hash']
+    store_lex "@MODIFIERS", $P1560
+.annotate 'line', 557
+    find_lex $P1561, "$/"
+    unless_null $P1561, vivify_505
+    $P1561 = root_new ['parrot';'Hash']
   vivify_505:
-    set $P1564, $P1563["proto"]
-    unless_null $P1564, vivify_506
-    new $P1564, "Undef"
+    set $P1562, $P1561["deflongname"]
+    unless_null $P1562, vivify_506
+    new $P1562, "Undef"
   vivify_506:
-    if $P1564, if_1562
-.annotate 'line', 583
-    find_lex $P1588, "$key"
-    set $S1589, $P1588
-    iseq $I1590, $S1589, "open"
-    if $I1590, if_1587
-.annotate 'line', 596
-    .const 'Sub' $P1620 = "91_1279589176.27948" 
-    capture_lex $P1620
-    $P1620()
-    goto if_1587_end
-  if_1587:
-.annotate 'line', 583
-    .const 'Sub' $P1592 = "90_1279589176.27948" 
-    capture_lex $P1592
-    $P1592()
-  if_1587_end:
-    goto if_1562_end
-  if_1562:
-.annotate 'line', 558
-    get_hll_global $P1565, ["PAST"], "Stmts"
+    $P1563 = $P1562."ast"()
+    set $S1564, $P1563
+    new $P1565, 'String'
+    set $P1565, $S1564
+    store_lex "$name", $P1565
+    find_lex $P1566, "$past"
 .annotate 'line', 559
-    get_hll_global $P1566, ["PAST"], "Block"
-    find_lex $P1567, "$name"
-.annotate 'line', 560
-    get_hll_global $P1568, ["PAST"], "Op"
+    find_lex $P1568, "$/"
+    unless_null $P1568, vivify_507
+    $P1568 = root_new ['parrot';'Hash']
+  vivify_507:
+    set $P1569, $P1568["proto"]
+    unless_null $P1569, vivify_508
+    new $P1569, "Undef"
+  vivify_508:
+    if $P1569, if_1567
+.annotate 'line', 586
+    find_lex $P1593, "$key"
+    set $S1594, $P1593
+    iseq $I1595, $S1594, "open"
+    if $I1595, if_1592
+.annotate 'line', 599
+    .const 'Sub' $P1625 = "91_1280467483.70067" 
+    capture_lex $P1625
+    $P1625()
+    goto if_1592_end
+  if_1592:
+.annotate 'line', 586
+    .const 'Sub' $P1597 = "90_1280467483.70067" 
+    capture_lex $P1597
+    $P1597()
+  if_1592_end:
+    goto if_1567_end
+  if_1567:
 .annotate 'line', 561
-    get_hll_global $P1569, ["PAST"], "Var"
-    $P1570 = $P1569."new"("self" :named("name"), "register" :named("scope"))
-    find_lex $P1571, "$name"
-    $P1572 = $P1568."new"($P1570, $P1571, "!protoregex" :named("name"), "callmethod" :named("pasttype"))
-.annotate 'line', 560
-    find_lex $P1573, "$/"
-    $P1574 = $P1566."new"($P1572, $P1567 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1573 :named("node"))
-.annotate 'line', 570
-    get_hll_global $P1575, ["PAST"], "Block"
-    new $P1576, "String"
-    assign $P1576, "!PREFIX__"
-    find_lex $P1577, "$name"
-    concat $P1578, $P1576, $P1577
-.annotate 'line', 571
-    get_hll_global $P1579, ["PAST"], "Op"
-.annotate 'line', 572
-    get_hll_global $P1580, ["PAST"], "Var"
-    $P1581 = $P1580."new"("self" :named("name"), "register" :named("scope"))
+    get_hll_global $P1570, ["PAST"], "Stmts"
+.annotate 'line', 562
+    get_hll_global $P1571, ["PAST"], "Block"
+    find_lex $P1572, "$name"
+.annotate 'line', 563
+    get_hll_global $P1573, ["PAST"], "Op"
+.annotate 'line', 564
+    get_hll_global $P1574, ["PAST"], "Var"
+    $P1575 = $P1574."new"("self" :named("name"), "register" :named("scope"))
+    find_lex $P1576, "$name"
+    $P1577 = $P1573."new"($P1575, $P1576, "!protoregex" :named("name"), "callmethod" :named("pasttype"))
+.annotate 'line', 563
+    find_lex $P1578, "$/"
+    $P1579 = $P1571."new"($P1577, $P1572 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1578 :named("node"))
+.annotate 'line', 573
+    get_hll_global $P1580, ["PAST"], "Block"
+    new $P1581, "String"
+    assign $P1581, "!PREFIX__"
     find_lex $P1582, "$name"
-    $P1583 = $P1579."new"($P1581, $P1582, "!PREFIX__!protoregex" :named("name"), "callmethod" :named("pasttype"))
-.annotate 'line', 571
-    find_lex $P1584, "$/"
-    $P1585 = $P1575."new"($P1583, $P1578 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1584 :named("node"))
-.annotate 'line', 570
-    $P1586 = $P1565."new"($P1574, $P1585)
-.annotate 'line', 558
-    store_lex "$past", $P1586
-  if_1562_end:
-.annotate 'line', 610
-    find_lex $P1641, "$/"
-    find_lex $P1642, "$past"
-    $P1643 = $P1641."!make"($P1642)
-.annotate 'line', 550
-    .return ($P1643)
-  control_1547:
+    concat $P1583, $P1581, $P1582
+.annotate 'line', 574
+    get_hll_global $P1584, ["PAST"], "Op"
+.annotate 'line', 575
+    get_hll_global $P1585, ["PAST"], "Var"
+    $P1586 = $P1585."new"("self" :named("name"), "register" :named("scope"))
+    find_lex $P1587, "$name"
+    $P1588 = $P1584."new"($P1586, $P1587, "!PREFIX__!protoregex" :named("name"), "callmethod" :named("pasttype"))
+.annotate 'line', 574
+    find_lex $P1589, "$/"
+    $P1590 = $P1580."new"($P1588, $P1583 :named("name"), "method" :named("blocktype"), 0 :named("lexical"), $P1589 :named("node"))
+.annotate 'line', 573
+    $P1591 = $P1570."new"($P1579, $P1590)
+.annotate 'line', 561
+    store_lex "$past", $P1591
+  if_1567_end:
+.annotate 'line', 613
+    find_lex $P1646, "$/"
+    find_lex $P1647, "$past"
+    $P1648 = $P1646."!make"($P1647)
+.annotate 'line', 553
+    .return ($P1648)
+  control_1552:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1644, exception, "payload"
-    .return ($P1644)
+    getattribute $P1649, exception, "payload"
+    .return ($P1649)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1619"  :anon :subid("91_1279589176.27948") :outer("89_1279589176.27948")
-.annotate 'line', 597
-    new $P1621, "Undef"
-    .lex "$regex", $P1621
-.annotate 'line', 598
-    get_hll_global $P1622, ["Regex";"P6Regex";"Actions"], "buildsub"
-    find_lex $P1623, "$/"
-    unless_null $P1623, vivify_507
-    $P1623 = root_new ['parrot';'Hash']
-  vivify_507:
-    set $P1624, $P1623["p6regex"]
-    unless_null $P1624, vivify_508
-    new $P1624, "Undef"
-  vivify_508:
-    $P1625 = $P1624."ast"()
-    get_global $P1626, "@BLOCK"
-    $P1627 = $P1626."shift"()
-    $P1628 = $P1622($P1625, $P1627)
-    store_lex "$regex", $P1628
-.annotate 'line', 599
-    find_lex $P1629, "$regex"
-    find_lex $P1630, "$name"
-    $P1629."name"($P1630)
-.annotate 'line', 601
-    get_hll_global $P1631, ["PAST"], "Op"
-.annotate 'line', 603
-    get_hll_global $P1632, ["PAST"], "Var"
-    new $P1633, "ResizablePMCArray"
-    push $P1633, "Regex"
-    $P1634 = $P1632."new"("Method" :named("name"), $P1633 :named("namespace"), "package" :named("scope"))
-    find_lex $P1635, "$regex"
-    $P1636 = $P1631."new"($P1634, $P1635, "callmethod" :named("pasttype"), "new" :named("name"))
+.sub "_block1624"  :anon :subid("91_1280467483.70067") :outer("89_1280467483.70067")
+.annotate 'line', 600
+    new $P1626, "Undef"
+    .lex "$regex", $P1626
 .annotate 'line', 601
-    store_lex "$past", $P1636
-.annotate 'line', 607
-    find_lex $P1637, "$regex"
-    find_lex $P1638, "$past"
-    unless_null $P1638, vivify_509
-    $P1638 = root_new ['parrot';'Hash']
-    store_lex "$past", $P1638
+    get_hll_global $P1627, ["Regex";"P6Regex";"Actions"], "buildsub"
+    find_lex $P1628, "$/"
+    unless_null $P1628, vivify_509
+    $P1628 = root_new ['parrot';'Hash']
   vivify_509:
-    set $P1638["sink"], $P1637
-.annotate 'line', 608
-    find_lex $P1639, "@MODIFIERS"
-    $P1640 = $P1639."shift"()
-.annotate 'line', 596
-    .return ($P1640)
+    set $P1629, $P1628["p6regex"]
+    unless_null $P1629, vivify_510
+    new $P1629, "Undef"
+  vivify_510:
+    $P1630 = $P1629."ast"()
+    get_global $P1631, "@BLOCK"
+    $P1632 = $P1631."shift"()
+    $P1633 = $P1627($P1630, $P1632)
+    store_lex "$regex", $P1633
+.annotate 'line', 602
+    find_lex $P1634, "$regex"
+    find_lex $P1635, "$name"
+    $P1634."name"($P1635)
+.annotate 'line', 604
+    get_hll_global $P1636, ["PAST"], "Op"
+.annotate 'line', 606
+    get_hll_global $P1637, ["PAST"], "Var"
+    new $P1638, "ResizablePMCArray"
+    push $P1638, "Regex"
+    $P1639 = $P1637."new"("Method" :named("name"), $P1638 :named("namespace"), "package" :named("scope"))
+    find_lex $P1640, "$regex"
+    $P1641 = $P1636."new"($P1639, $P1640, "callmethod" :named("pasttype"), "new" :named("name"))
+.annotate 'line', 604
+    store_lex "$past", $P1641
+.annotate 'line', 610
+    find_lex $P1642, "$regex"
+    find_lex $P1643, "$past"
+    unless_null $P1643, vivify_511
+    $P1643 = root_new ['parrot';'Hash']
+    store_lex "$past", $P1643
+  vivify_511:
+    set $P1643["sink"], $P1642
+.annotate 'line', 611
+    find_lex $P1644, "@MODIFIERS"
+    $P1645 = $P1644."shift"()
+.annotate 'line', 599
+    .return ($P1645)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "_block1591"  :anon :subid("90_1279589176.27948") :outer("89_1279589176.27948")
-.annotate 'line', 584
-    $P1593 = root_new ['parrot';'Hash']
-    .lex "%h", $P1593
-.annotate 'line', 583
-    find_lex $P1594, "%h"
-.annotate 'line', 585
-    find_lex $P1596, "$/"
-    unless_null $P1596, vivify_510
-    $P1596 = root_new ['parrot';'Hash']
-  vivify_510:
-    set $P1597, $P1596["sym"]
-    unless_null $P1597, vivify_511
-    new $P1597, "Undef"
-  vivify_511:
-    set $S1598, $P1597
-    iseq $I1599, $S1598, "token"
-    unless $I1599, if_1595_end
-    new $P1600, "Integer"
-    assign $P1600, 1
-    find_lex $P1601, "%h"
+.sub "_block1596"  :anon :subid("90_1280467483.70067") :outer("89_1280467483.70067")
+.annotate 'line', 587
+    $P1598 = root_new ['parrot';'Hash']
+    .lex "%h", $P1598
+.annotate 'line', 586
+    find_lex $P1599, "%h"
+.annotate 'line', 588
+    find_lex $P1601, "$/"
     unless_null $P1601, vivify_512
     $P1601 = root_new ['parrot';'Hash']
-    store_lex "%h", $P1601
   vivify_512:
-    set $P1601["r"], $P1600
-  if_1595_end:
-.annotate 'line', 586
-    find_lex $P1603, "$/"
-    unless_null $P1603, vivify_513
-    $P1603 = root_new ['parrot';'Hash']
+    set $P1602, $P1601["sym"]
+    unless_null $P1602, vivify_513
+    new $P1602, "Undef"
   vivify_513:
-    set $P1604, $P1603["sym"]
-    unless_null $P1604, vivify_514
-    new $P1604, "Undef"
+    set $S1603, $P1602
+    iseq $I1604, $S1603, "token"
+    unless $I1604, if_1600_end
+    new $P1605, "Integer"
+    assign $P1605, 1
+    find_lex $P1606, "%h"
+    unless_null $P1606, vivify_514
+    $P1606 = root_new ['parrot';'Hash']
+    store_lex "%h", $P1606
   vivify_514:
-    set $S1605, $P1604
-    iseq $I1606, $S1605, "rule"
-    unless $I1606, if_1602_end
-    new $P1607, "Integer"
-    assign $P1607, 1
-    find_lex $P1608, "%h"
+    set $P1606["r"], $P1605
+  if_1600_end:
+.annotate 'line', 589
+    find_lex $P1608, "$/"
     unless_null $P1608, vivify_515
     $P1608 = root_new ['parrot';'Hash']
-    store_lex "%h", $P1608
   vivify_515:
-    set $P1608["r"], $P1607
-    new $P1609, "Integer"
-    assign $P1609, 1
-    find_lex $P1610, "%h"
-    unless_null $P1610, vivify_516
-    $P1610 = root_new ['parrot';'Hash']
-    store_lex "%h", $P1610
+    set $P1609, $P1608["sym"]
+    unless_null $P1609, vivify_516
+    new $P1609, "Undef"
   vivify_516:
-    set $P1610["s"], $P1609
-  if_1602_end:
-.annotate 'line', 587
-    find_lex $P1611, "@MODIFIERS"
-    find_lex $P1612, "%h"
-    $P1611."unshift"($P1612)
-.annotate 'line', 588
+    set $S1610, $P1609
+    iseq $I1611, $S1610, "rule"
+    unless $I1611, if_1607_end
+    new $P1612, "Integer"
+    assign $P1612, 1
+    find_lex $P1613, "%h"
+    unless_null $P1613, vivify_517
+    $P1613 = root_new ['parrot';'Hash']
+    store_lex "%h", $P1613
+  vivify_517:
+    set $P1613["r"], $P1612
+    new $P1614, "Integer"
+    assign $P1614, 1
+    find_lex $P1615, "%h"
+    unless_null $P1615, vivify_518
+    $P1615 = root_new ['parrot';'Hash']
+    store_lex "%h", $P1615
+  vivify_518:
+    set $P1615["s"], $P1614
+  if_1607_end:
+.annotate 'line', 590
+    find_lex $P1616, "@MODIFIERS"
+    find_lex $P1617, "%h"
+    $P1616."unshift"($P1617)
+.annotate 'line', 591
 
             $P0 = find_lex '$name'
             set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
         
-.annotate 'line', 592
-    get_global $P1613, "@BLOCK"
-    unless_null $P1613, vivify_517
-    $P1613 = root_new ['parrot';'ResizablePMCArray']
-  vivify_517:
-    set $P1614, $P1613[0]
-    unless_null $P1614, vivify_518
-    new $P1614, "Undef"
-  vivify_518:
-    $P1614."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
-.annotate 'line', 593
-    get_global $P1615, "@BLOCK"
-    unless_null $P1615, vivify_519
-    $P1615 = root_new ['parrot';'ResizablePMCArray']
+.annotate 'line', 595
+    get_global $P1618, "@BLOCK"
+    unless_null $P1618, vivify_519
+    $P1618 = root_new ['parrot';'ResizablePMCArray']
   vivify_519:
-    set $P1616, $P1615[0]
-    unless_null $P1616, vivify_520
-    new $P1616, "Undef"
+    set $P1619, $P1618[0]
+    unless_null $P1619, vivify_520
+    new $P1619, "Undef"
   vivify_520:
-    $P1616."symbol"("$/", "lexical" :named("scope"))
-.annotate 'line', 594
-    new $P1617, "Exception"
-    set $P1617['type'], .CONTROL_RETURN
-    new $P1618, "Integer"
-    assign $P1618, 0
-    setattribute $P1617, 'payload', $P1618
-    throw $P1617
-.annotate 'line', 583
-    .return ()
-.end
+    $P1619."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
+.annotate 'line', 596
+    get_global $P1620, "@BLOCK"
+    unless_null $P1620, vivify_521
+    $P1620 = root_new ['parrot';'ResizablePMCArray']
+  vivify_521:
+    set $P1621, $P1620[0]
+    unless_null $P1621, vivify_522
+    new $P1621, "Undef"
+  vivify_522:
+    $P1621."symbol"("$/", "lexical" :named("scope"))
+.annotate 'line', 597
+    new $P1622, "Exception"
+    set $P1622['type'], .CONTROL_RETURN
+    new $P1623, "Integer"
+    assign $P1623, 0
+    setattribute $P1622, 'payload', $P1623
+    throw $P1622
+.annotate 'line', 586
+    .return ()
+.end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "dotty"  :subid("92_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1648
-.annotate 'line', 614
-    new $P1647, 'ExceptionHandler'
-    set_addr $P1647, control_1646
-    $P1647."handle_types"(.CONTROL_RETURN)
-    push_eh $P1647
-    .lex "self", self
-    .lex "$/", param_1648
-.annotate 'line', 615
-    new $P1649, "Undef"
-    .lex "$past", $P1649
-    find_lex $P1652, "$/"
-    unless_null $P1652, vivify_521
-    $P1652 = root_new ['parrot';'Hash']
-  vivify_521:
-    set $P1653, $P1652["args"]
-    unless_null $P1653, vivify_522
-    new $P1653, "Undef"
-  vivify_522:
-    if $P1653, if_1651
-    get_hll_global $P1658, ["PAST"], "Op"
-    find_lex $P1659, "$/"
-    $P1660 = $P1658."new"($P1659 :named("node"))
-    set $P1650, $P1660
-    goto if_1651_end
-  if_1651:
-    find_lex $P1654, "$/"
-    unless_null $P1654, vivify_523
-    $P1654 = root_new ['parrot';'Hash']
+.sub "dotty"  :subid("92_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1653
+.annotate 'line', 617
+    new $P1652, 'ExceptionHandler'
+    set_addr $P1652, control_1651
+    $P1652."handle_types"(.CONTROL_RETURN)
+    push_eh $P1652
+    .lex "self", self
+    .lex "$/", param_1653
+.annotate 'line', 618
+    new $P1654, "Undef"
+    .lex "$past", $P1654
+    find_lex $P1657, "$/"
+    unless_null $P1657, vivify_523
+    $P1657 = root_new ['parrot';'Hash']
   vivify_523:
-    set $P1655, $P1654["args"]
-    unless_null $P1655, vivify_524
-    $P1655 = root_new ['parrot';'ResizablePMCArray']
+    set $P1658, $P1657["args"]
+    unless_null $P1658, vivify_524
+    new $P1658, "Undef"
   vivify_524:
-    set $P1656, $P1655[0]
-    unless_null $P1656, vivify_525
-    new $P1656, "Undef"
-  vivify_525:
-    $P1657 = $P1656."ast"()
-    set $P1650, $P1657
-  if_1651_end:
-    store_lex "$past", $P1650
-.annotate 'line', 616
-    find_lex $P1661, "$past"
+    if $P1658, if_1656
+    get_hll_global $P1663, ["PAST"], "Op"
     find_lex $P1664, "$/"
-    unless_null $P1664, vivify_526
-    $P1664 = root_new ['parrot';'Hash']
+    $P1665 = $P1663."new"($P1664 :named("node"))
+    set $P1655, $P1665
+    goto if_1656_end
+  if_1656:
+    find_lex $P1659, "$/"
+    unless_null $P1659, vivify_525
+    $P1659 = root_new ['parrot';'Hash']
+  vivify_525:
+    set $P1660, $P1659["args"]
+    unless_null $P1660, vivify_526
+    $P1660 = root_new ['parrot';'ResizablePMCArray']
   vivify_526:
-    set $P1665, $P1664["quote"]
-    unless_null $P1665, vivify_527
-    new $P1665, "Undef"
+    set $P1661, $P1660[0]
+    unless_null $P1661, vivify_527
+    new $P1661, "Undef"
   vivify_527:
-    if $P1665, if_1663
+    $P1662 = $P1661."ast"()
+    set $P1655, $P1662
+  if_1656_end:
+    store_lex "$past", $P1655
+.annotate 'line', 619
+    find_lex $P1666, "$past"
     find_lex $P1669, "$/"
     unless_null $P1669, vivify_528
     $P1669 = root_new ['parrot';'Hash']
   vivify_528:
-    set $P1670, $P1669["longname"]
+    set $P1670, $P1669["quote"]
     unless_null $P1670, vivify_529
     new $P1670, "Undef"
   vivify_529:
-    set $S1671, $P1670
-    new $P1662, 'String'
-    set $P1662, $S1671
-    goto if_1663_end
-  if_1663:
-    find_lex $P1666, "$/"
-    unless_null $P1666, vivify_530
-    $P1666 = root_new ['parrot';'Hash']
+    if $P1670, if_1668
+    find_lex $P1674, "$/"
+    unless_null $P1674, vivify_530
+    $P1674 = root_new ['parrot';'Hash']
   vivify_530:
-    set $P1667, $P1666["quote"]
-    unless_null $P1667, vivify_531
-    new $P1667, "Undef"
+    set $P1675, $P1674["longname"]
+    unless_null $P1675, vivify_531
+    new $P1675, "Undef"
   vivify_531:
-    $P1668 = $P1667."ast"()
-    set $P1662, $P1668
-  if_1663_end:
-    $P1661."name"($P1662)
+    set $S1676, $P1675
+    new $P1667, 'String'
+    set $P1667, $S1676
+    goto if_1668_end
+  if_1668:
+    find_lex $P1671, "$/"
+    unless_null $P1671, vivify_532
+    $P1671 = root_new ['parrot';'Hash']
+  vivify_532:
+    set $P1672, $P1671["quote"]
+    unless_null $P1672, vivify_533
+    new $P1672, "Undef"
+  vivify_533:
+    $P1673 = $P1672."ast"()
+    set $P1667, $P1673
+  if_1668_end:
+    $P1666."name"($P1667)
+.annotate 'line', 620
+    find_lex $P1677, "$past"
+    $P1677."pasttype"("callmethod")
+.annotate 'line', 621
+    find_lex $P1678, "$/"
+    find_lex $P1679, "$past"
+    $P1680 = $P1678."!make"($P1679)
 .annotate 'line', 617
-    find_lex $P1672, "$past"
-    $P1672."pasttype"("callmethod")
-.annotate 'line', 618
-    find_lex $P1673, "$/"
-    find_lex $P1674, "$past"
-    $P1675 = $P1673."!make"($P1674)
-.annotate 'line', 614
-    .return ($P1675)
-  control_1646:
+    .return ($P1680)
+  control_1651:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1676, exception, "payload"
-    .return ($P1676)
+    getattribute $P1681, exception, "payload"
+    .return ($P1681)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<self>"  :subid("93_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1680
-.annotate 'line', 623
-    new $P1679, 'ExceptionHandler'
-    set_addr $P1679, control_1678
-    $P1679."handle_types"(.CONTROL_RETURN)
-    push_eh $P1679
+.sub "term:sym<self>"  :subid("93_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1685
+.annotate 'line', 626
+    new $P1684, 'ExceptionHandler'
+    set_addr $P1684, control_1683
+    $P1684."handle_types"(.CONTROL_RETURN)
+    push_eh $P1684
     .lex "self", self
-    .lex "$/", param_1680
-.annotate 'line', 624
-    find_lex $P1681, "$/"
-    get_hll_global $P1682, ["PAST"], "Var"
-    $P1683 = $P1682."new"("self" :named("name"))
-    $P1684 = $P1681."!make"($P1683)
-.annotate 'line', 623
-    .return ($P1684)
-  control_1678:
+    .lex "$/", param_1685
+.annotate 'line', 627
+    find_lex $P1686, "$/"
+    get_hll_global $P1687, ["PAST"], "Var"
+    $P1688 = $P1687."new"("self" :named("name"))
+    $P1689 = $P1686."!make"($P1688)
+.annotate 'line', 626
+    .return ($P1689)
+  control_1683:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1685, exception, "payload"
-    .return ($P1685)
+    getattribute $P1690, exception, "payload"
+    .return ($P1690)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<identifier>"  :subid("94_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1689
-.annotate 'line', 627
-    new $P1688, 'ExceptionHandler'
-    set_addr $P1688, control_1687
-    $P1688."handle_types"(.CONTROL_RETURN)
-    push_eh $P1688
-    .lex "self", self
-    .lex "$/", param_1689
-.annotate 'line', 628
-    new $P1690, "Undef"
-    .lex "$past", $P1690
-    find_lex $P1691, "$/"
-    unless_null $P1691, vivify_532
-    $P1691 = root_new ['parrot';'Hash']
-  vivify_532:
-    set $P1692, $P1691["args"]
-    unless_null $P1692, vivify_533
-    new $P1692, "Undef"
-  vivify_533:
-    $P1693 = $P1692."ast"()
-    store_lex "$past", $P1693
-.annotate 'line', 629
-    find_lex $P1694, "$past"
-    find_lex $P1695, "$/"
-    unless_null $P1695, vivify_534
-    $P1695 = root_new ['parrot';'Hash']
+.sub "term:sym<identifier>"  :subid("94_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1694
+.annotate 'line', 630
+    new $P1693, 'ExceptionHandler'
+    set_addr $P1693, control_1692
+    $P1693."handle_types"(.CONTROL_RETURN)
+    push_eh $P1693
+    .lex "self", self
+    .lex "$/", param_1694
+.annotate 'line', 631
+    new $P1695, "Undef"
+    .lex "$past", $P1695
+    find_lex $P1696, "$/"
+    unless_null $P1696, vivify_534
+    $P1696 = root_new ['parrot';'Hash']
   vivify_534:
-    set $P1696, $P1695["deflongname"]
-    unless_null $P1696, vivify_535
-    new $P1696, "Undef"
+    set $P1697, $P1696["args"]
+    unless_null $P1697, vivify_535
+    new $P1697, "Undef"
   vivify_535:
-    set $S1697, $P1696
-    $P1694."name"($S1697)
-.annotate 'line', 630
-    find_lex $P1698, "$/"
+    $P1698 = $P1697."ast"()
+    store_lex "$past", $P1698
+.annotate 'line', 632
     find_lex $P1699, "$past"
-    $P1700 = $P1698."!make"($P1699)
-.annotate 'line', 627
-    .return ($P1700)
-  control_1687:
+    find_lex $P1700, "$/"
+    unless_null $P1700, vivify_536
+    $P1700 = root_new ['parrot';'Hash']
+  vivify_536:
+    set $P1701, $P1700["deflongname"]
+    unless_null $P1701, vivify_537
+    new $P1701, "Undef"
+  vivify_537:
+    set $S1702, $P1701
+    $P1699."name"($S1702)
+.annotate 'line', 633
+    find_lex $P1703, "$/"
+    find_lex $P1704, "$past"
+    $P1705 = $P1703."!make"($P1704)
+.annotate 'line', 630
+    .return ($P1705)
+  control_1692:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1701, exception, "payload"
-    .return ($P1701)
+    getattribute $P1706, exception, "payload"
+    .return ($P1706)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<name>"  :subid("95_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1705
-.annotate 'line', 633
-    new $P1704, 'ExceptionHandler'
-    set_addr $P1704, control_1703
-    $P1704."handle_types"(.CONTROL_RETURN)
-    push_eh $P1704
-    .lex "self", self
-    .lex "$/", param_1705
-.annotate 'line', 634
-    $P1706 = root_new ['parrot';'ResizablePMCArray']
-    .lex "@ns", $P1706
-.annotate 'line', 635
-    new $P1707, "Undef"
-    .lex "$name", $P1707
+.sub "term:sym<name>"  :subid("95_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1710
+.annotate 'line', 636
+    new $P1709, 'ExceptionHandler'
+    set_addr $P1709, control_1708
+    $P1709."handle_types"(.CONTROL_RETURN)
+    push_eh $P1709
+    .lex "self", self
+    .lex "$/", param_1710
 .annotate 'line', 637
-    new $P1708, "Undef"
-    .lex "$var", $P1708
-.annotate 'line', 639
-    new $P1709, "Undef"
-    .lex "$past", $P1709
-.annotate 'line', 634
-    find_lex $P1710, "$/"
-    unless_null $P1710, vivify_536
-    $P1710 = root_new ['parrot';'Hash']
-  vivify_536:
-    set $P1711, $P1710["name"]
-    unless_null $P1711, vivify_537
-    $P1711 = root_new ['parrot';'Hash']
-  vivify_537:
-    set $P1712, $P1711["identifier"]
-    unless_null $P1712, vivify_538
+    $P1711 = root_new ['parrot';'ResizablePMCArray']
+    .lex "@ns", $P1711
+.annotate 'line', 638
     new $P1712, "Undef"
+    .lex "$name", $P1712
+.annotate 'line', 640
+    new $P1713, "Undef"
+    .lex "$var", $P1713
+.annotate 'line', 642
+    new $P1714, "Undef"
+    .lex "$past", $P1714
+.annotate 'line', 637
+    find_lex $P1715, "$/"
+    unless_null $P1715, vivify_538
+    $P1715 = root_new ['parrot';'Hash']
   vivify_538:
-    clone $P1713, $P1712
-    store_lex "@ns", $P1713
-.annotate 'line', 635
-    find_lex $P1714, "@ns"
-    $P1715 = $P1714."pop"()
-    store_lex "$name", $P1715
-.annotate 'line', 636
-    find_lex $P1719, "@ns"
-    if $P1719, if_1718
-    set $P1717, $P1719
-    goto if_1718_end
-  if_1718:
-    find_lex $P1720, "@ns"
-    unless_null $P1720, vivify_539
-    $P1720 = root_new ['parrot';'ResizablePMCArray']
+    set $P1716, $P1715["name"]
+    unless_null $P1716, vivify_539
+    $P1716 = root_new ['parrot';'Hash']
   vivify_539:
-    set $P1721, $P1720[0]
-    unless_null $P1721, vivify_540
-    new $P1721, "Undef"
+    set $P1717, $P1716["identifier"]
+    unless_null $P1717, vivify_540
+    new $P1717, "Undef"
   vivify_540:
-    set $S1722, $P1721
-    iseq $I1723, $S1722, "GLOBAL"
-    new $P1717, 'Integer'
-    set $P1717, $I1723
-  if_1718_end:
-    unless $P1717, if_1716_end
-    find_lex $P1724, "@ns"
-    $P1724."shift"()
-  if_1716_end:
+    clone $P1718, $P1717
+    store_lex "@ns", $P1718
 .annotate 'line', 638
-    get_hll_global $P1725, ["PAST"], "Var"
-    find_lex $P1726, "$name"
-    set $S1727, $P1726
-    find_lex $P1728, "@ns"
-    $P1729 = $P1725."new"($S1727 :named("name"), $P1728 :named("namespace"), "package" :named("scope"))
-    store_lex "$var", $P1729
+    find_lex $P1719, "@ns"
+    $P1720 = $P1719."pop"()
+    store_lex "$name", $P1720
 .annotate 'line', 639
-    find_lex $P1730, "$var"
-    store_lex "$past", $P1730
-.annotate 'line', 640
-    find_lex $P1732, "$/"
-    unless_null $P1732, vivify_541
-    $P1732 = root_new ['parrot';'Hash']
+    find_lex $P1724, "@ns"
+    if $P1724, if_1723
+    set $P1722, $P1724
+    goto if_1723_end
+  if_1723:
+    find_lex $P1725, "@ns"
+    unless_null $P1725, vivify_541
+    $P1725 = root_new ['parrot';'ResizablePMCArray']
   vivify_541:
-    set $P1733, $P1732["args"]
-    unless_null $P1733, vivify_542
-    new $P1733, "Undef"
+    set $P1726, $P1725[0]
+    unless_null $P1726, vivify_542
+    new $P1726, "Undef"
   vivify_542:
-    unless $P1733, if_1731_end
+    set $S1727, $P1726
+    iseq $I1728, $S1727, "GLOBAL"
+    new $P1722, 'Integer'
+    set $P1722, $I1728
+  if_1723_end:
+    unless $P1722, if_1721_end
+    find_lex $P1729, "@ns"
+    $P1729."shift"()
+  if_1721_end:
 .annotate 'line', 641
-    find_lex $P1734, "$/"
-    unless_null $P1734, vivify_543
-    $P1734 = root_new ['parrot';'Hash']
+    get_hll_global $P1730, ["PAST"], "Var"
+    find_lex $P1731, "$name"
+    set $S1732, $P1731
+    find_lex $P1733, "@ns"
+    $P1734 = $P1730."new"($S1732 :named("name"), $P1733 :named("namespace"), "package" :named("scope"))
+    store_lex "$var", $P1734
+.annotate 'line', 642
+    find_lex $P1735, "$var"
+    store_lex "$past", $P1735
+.annotate 'line', 643
+    find_lex $P1737, "$/"
+    unless_null $P1737, vivify_543
+    $P1737 = root_new ['parrot';'Hash']
   vivify_543:
-    set $P1735, $P1734["args"]
-    unless_null $P1735, vivify_544
-    $P1735 = root_new ['parrot';'ResizablePMCArray']
+    set $P1738, $P1737["args"]
+    unless_null $P1738, vivify_544
+    new $P1738, "Undef"
   vivify_544:
-    set $P1736, $P1735[0]
-    unless_null $P1736, vivify_545
-    new $P1736, "Undef"
-  vivify_545:
-    $P1737 = $P1736."ast"()
-    store_lex "$past", $P1737
-.annotate 'line', 642
-    find_lex $P1738, "$past"
-    find_lex $P1739, "$var"
-    $P1738."unshift"($P1739)
-  if_1731_end:
+    unless $P1738, if_1736_end
 .annotate 'line', 644
-    find_lex $P1740, "$/"
-    find_lex $P1741, "$past"
-    $P1742 = $P1740."!make"($P1741)
-.annotate 'line', 633
-    .return ($P1742)
-  control_1703:
+    find_lex $P1739, "$/"
+    unless_null $P1739, vivify_545
+    $P1739 = root_new ['parrot';'Hash']
+  vivify_545:
+    set $P1740, $P1739["args"]
+    unless_null $P1740, vivify_546
+    $P1740 = root_new ['parrot';'ResizablePMCArray']
+  vivify_546:
+    set $P1741, $P1740[0]
+    unless_null $P1741, vivify_547
+    new $P1741, "Undef"
+  vivify_547:
+    $P1742 = $P1741."ast"()
+    store_lex "$past", $P1742
+.annotate 'line', 645
+    find_lex $P1743, "$past"
+    find_lex $P1744, "$var"
+    $P1743."unshift"($P1744)
+  if_1736_end:
+.annotate 'line', 647
+    find_lex $P1745, "$/"
+    find_lex $P1746, "$past"
+    $P1747 = $P1745."!make"($P1746)
+.annotate 'line', 636
+    .return ($P1747)
+  control_1708:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1743, exception, "payload"
-    .return ($P1743)
+    getattribute $P1748, exception, "payload"
+    .return ($P1748)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<pir::op>"  :subid("96_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1747
-.annotate 'line', 647
-    new $P1746, 'ExceptionHandler'
-    set_addr $P1746, control_1745
-    $P1746."handle_types"(.CONTROL_RETURN)
-    push_eh $P1746
-    .lex "self", self
-    .lex "$/", param_1747
-.annotate 'line', 648
-    new $P1748, "Undef"
-    .lex "$past", $P1748
-.annotate 'line', 649
-    new $P1749, "Undef"
-    .lex "$pirop", $P1749
-.annotate 'line', 648
-    find_lex $P1752, "$/"
-    unless_null $P1752, vivify_546
-    $P1752 = root_new ['parrot';'Hash']
-  vivify_546:
-    set $P1753, $P1752["args"]
-    unless_null $P1753, vivify_547
+.sub "term:sym<pir::op>"  :subid("96_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1752
+.annotate 'line', 650
+    new $P1751, 'ExceptionHandler'
+    set_addr $P1751, control_1750
+    $P1751."handle_types"(.CONTROL_RETURN)
+    push_eh $P1751
+    .lex "self", self
+    .lex "$/", param_1752
+.annotate 'line', 651
     new $P1753, "Undef"
-  vivify_547:
-    if $P1753, if_1751
-    get_hll_global $P1758, ["PAST"], "Op"
-    find_lex $P1759, "$/"
-    $P1760 = $P1758."new"($P1759 :named("node"))
-    set $P1750, $P1760
-    goto if_1751_end
-  if_1751:
-    find_lex $P1754, "$/"
-    unless_null $P1754, vivify_548
-    $P1754 = root_new ['parrot';'Hash']
+    .lex "$past", $P1753
+.annotate 'line', 652
+    new $P1754, "Undef"
+    .lex "$pirop", $P1754
+.annotate 'line', 651
+    find_lex $P1757, "$/"
+    unless_null $P1757, vivify_548
+    $P1757 = root_new ['parrot';'Hash']
   vivify_548:
-    set $P1755, $P1754["args"]
-    unless_null $P1755, vivify_549
-    $P1755 = root_new ['parrot';'ResizablePMCArray']
+    set $P1758, $P1757["args"]
+    unless_null $P1758, vivify_549
+    new $P1758, "Undef"
   vivify_549:
-    set $P1756, $P1755[0]
-    unless_null $P1756, vivify_550
-    new $P1756, "Undef"
+    if $P1758, if_1756
+    get_hll_global $P1763, ["PAST"], "Op"
+    find_lex $P1764, "$/"
+    $P1765 = $P1763."new"($P1764 :named("node"))
+    set $P1755, $P1765
+    goto if_1756_end
+  if_1756:
+    find_lex $P1759, "$/"
+    unless_null $P1759, vivify_550
+    $P1759 = root_new ['parrot';'Hash']
   vivify_550:
-    $P1757 = $P1756."ast"()
-    set $P1750, $P1757
-  if_1751_end:
-    store_lex "$past", $P1750
-.annotate 'line', 649
-    find_lex $P1761, "$/"
-    unless_null $P1761, vivify_551
-    $P1761 = root_new ['parrot';'Hash']
+    set $P1760, $P1759["args"]
+    unless_null $P1760, vivify_551
+    $P1760 = root_new ['parrot';'ResizablePMCArray']
   vivify_551:
-    set $P1762, $P1761["op"]
-    unless_null $P1762, vivify_552
-    new $P1762, "Undef"
+    set $P1761, $P1760[0]
+    unless_null $P1761, vivify_552
+    new $P1761, "Undef"
   vivify_552:
-    set $S1763, $P1762
-    new $P1764, 'String'
-    set $P1764, $S1763
-    store_lex "$pirop", $P1764
-.annotate 'line', 650
+    $P1762 = $P1761."ast"()
+    set $P1755, $P1762
+  if_1756_end:
+    store_lex "$past", $P1755
+.annotate 'line', 652
+    find_lex $P1766, "$/"
+    unless_null $P1766, vivify_553
+    $P1766 = root_new ['parrot';'Hash']
+  vivify_553:
+    set $P1767, $P1766["op"]
+    unless_null $P1767, vivify_554
+    new $P1767, "Undef"
+  vivify_554:
+    set $S1768, $P1767
+    new $P1769, 'String'
+    set $P1769, $S1768
+    store_lex "$pirop", $P1769
+.annotate 'line', 653
 
         $P0 = find_lex '$pirop'
         $S0 = $P0
         $P0 = split '__', $S0
         $S0 = join ' ', $P0
-        $P1765 = box $S0
+        $P1770 = box $S0
     
-    store_lex "$pirop", $P1765
-.annotate 'line', 657
-    find_lex $P1766, "$past"
-    find_lex $P1767, "$pirop"
-    $P1766."pirop"($P1767)
-.annotate 'line', 658
-    find_lex $P1768, "$past"
-    $P1768."pasttype"("pirop")
-.annotate 'line', 659
-    find_lex $P1769, "$/"
-    find_lex $P1770, "$past"
-    $P1771 = $P1769."!make"($P1770)
-.annotate 'line', 647
-    .return ($P1771)
-  control_1745:
+    store_lex "$pirop", $P1770
+.annotate 'line', 660
+    find_lex $P1771, "$past"
+    find_lex $P1772, "$pirop"
+    $P1771."pirop"($P1772)
+.annotate 'line', 661
+    find_lex $P1773, "$past"
+    $P1773."pasttype"("pirop")
+.annotate 'line', 662
+    find_lex $P1774, "$/"
+    find_lex $P1775, "$past"
+    $P1776 = $P1774."!make"($P1775)
+.annotate 'line', 650
+    .return ($P1776)
+  control_1750:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1772, exception, "payload"
-    .return ($P1772)
+    getattribute $P1777, exception, "payload"
+    .return ($P1777)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "args"  :subid("97_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1776
-.annotate 'line', 662
-    new $P1775, 'ExceptionHandler'
-    set_addr $P1775, control_1774
-    $P1775."handle_types"(.CONTROL_RETURN)
-    push_eh $P1775
-    .lex "self", self
-    .lex "$/", param_1776
-    find_lex $P1777, "$/"
-    find_lex $P1778, "$/"
-    unless_null $P1778, vivify_553
-    $P1778 = root_new ['parrot';'Hash']
-  vivify_553:
-    set $P1779, $P1778["arglist"]
-    unless_null $P1779, vivify_554
-    new $P1779, "Undef"
-  vivify_554:
-    $P1780 = $P1779."ast"()
-    $P1781 = $P1777."!make"($P1780)
-    .return ($P1781)
-  control_1774:
+.sub "args"  :subid("97_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1781
+.annotate 'line', 665
+    new $P1780, 'ExceptionHandler'
+    set_addr $P1780, control_1779
+    $P1780."handle_types"(.CONTROL_RETURN)
+    push_eh $P1780
+    .lex "self", self
+    .lex "$/", param_1781
+    find_lex $P1782, "$/"
+    find_lex $P1783, "$/"
+    unless_null $P1783, vivify_555
+    $P1783 = root_new ['parrot';'Hash']
+  vivify_555:
+    set $P1784, $P1783["arglist"]
+    unless_null $P1784, vivify_556
+    new $P1784, "Undef"
+  vivify_556:
+    $P1785 = $P1784."ast"()
+    $P1786 = $P1782."!make"($P1785)
+    .return ($P1786)
+  control_1779:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1782, exception, "payload"
-    .return ($P1782)
+    getattribute $P1787, exception, "payload"
+    .return ($P1787)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "arglist"  :subid("98_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1786
-.annotate 'line', 664
-    .const 'Sub' $P1797 = "99_1279589176.27948" 
-    capture_lex $P1797
-    new $P1785, 'ExceptionHandler'
-    set_addr $P1785, control_1784
-    $P1785."handle_types"(.CONTROL_RETURN)
-    push_eh $P1785
+.sub "arglist"  :subid("98_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1791
+.annotate 'line', 667
+    .const 'Sub' $P1802 = "99_1280467483.70067" 
+    capture_lex $P1802
+    new $P1790, 'ExceptionHandler'
+    set_addr $P1790, control_1789
+    $P1790."handle_types"(.CONTROL_RETURN)
+    push_eh $P1790
     .lex "self", self
-    .lex "$/", param_1786
-.annotate 'line', 665
-    new $P1787, "Undef"
-    .lex "$past", $P1787
-.annotate 'line', 673
-    new $P1788, "Undef"
-    .lex "$i", $P1788
-.annotate 'line', 674
-    new $P1789, "Undef"
-    .lex "$n", $P1789
-.annotate 'line', 665
-    get_hll_global $P1790, ["PAST"], "Op"
-    find_lex $P1791, "$/"
-    $P1792 = $P1790."new"("call" :named("pasttype"), $P1791 :named("node"))
-    store_lex "$past", $P1792
-.annotate 'line', 666
-    find_lex $P1794, "$/"
-    unless_null $P1794, vivify_555
-    $P1794 = root_new ['parrot';'Hash']
-  vivify_555:
-    set $P1795, $P1794["EXPR"]
-    unless_null $P1795, vivify_556
-    new $P1795, "Undef"
-  vivify_556:
-    unless $P1795, if_1793_end
-    .const 'Sub' $P1797 = "99_1279589176.27948" 
-    capture_lex $P1797
-    $P1797()
-  if_1793_end:
-.annotate 'line', 673
-    new $P1829, "Integer"
-    assign $P1829, 0
-    store_lex "$i", $P1829
-.annotate 'line', 674
-    find_lex $P1830, "$past"
-    $P1831 = $P1830."list"()
-    set $N1832, $P1831
-    new $P1833, 'Float'
-    set $P1833, $N1832
-    store_lex "$n", $P1833
-.annotate 'line', 675
-    new $P1881, 'ExceptionHandler'
-    set_addr $P1881, loop1880_handler
-    $P1881."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
-    push_eh $P1881
-  loop1880_test:
-    find_lex $P1834, "$i"
-    set $N1835, $P1834
-    find_lex $P1836, "$n"
-    set $N1837, $P1836
-    islt $I1838, $N1835, $N1837
-    unless $I1838, loop1880_done
-  loop1880_redo:
+    .lex "$/", param_1791
+.annotate 'line', 668
+    new $P1792, "Undef"
+    .lex "$past", $P1792
 .annotate 'line', 676
-    find_lex $P1840, "$i"
-    set $I1841, $P1840
-    find_lex $P1842, "$past"
-    unless_null $P1842, vivify_560
-    $P1842 = root_new ['parrot';'ResizablePMCArray']
-  vivify_560:
-    set $P1843, $P1842[$I1841]
-    unless_null $P1843, vivify_561
-    new $P1843, "Undef"
-  vivify_561:
-    $S1844 = $P1843."name"()
-    iseq $I1845, $S1844, "&prefix:<|>"
-    unless $I1845, if_1839_end
+    new $P1793, "Undef"
+    .lex "$i", $P1793
 .annotate 'line', 677
-    find_lex $P1846, "$i"
-    set $I1847, $P1846
-    find_lex $P1848, "$past"
-    unless_null $P1848, vivify_562
-    $P1848 = root_new ['parrot';'ResizablePMCArray']
+    new $P1794, "Undef"
+    .lex "$n", $P1794
+.annotate 'line', 668
+    get_hll_global $P1795, ["PAST"], "Op"
+    find_lex $P1796, "$/"
+    $P1797 = $P1795."new"("call" :named("pasttype"), $P1796 :named("node"))
+    store_lex "$past", $P1797
+.annotate 'line', 669
+    find_lex $P1799, "$/"
+    unless_null $P1799, vivify_557
+    $P1799 = root_new ['parrot';'Hash']
+  vivify_557:
+    set $P1800, $P1799["EXPR"]
+    unless_null $P1800, vivify_558
+    new $P1800, "Undef"
+  vivify_558:
+    unless $P1800, if_1798_end
+    .const 'Sub' $P1802 = "99_1280467483.70067" 
+    capture_lex $P1802
+    $P1802()
+  if_1798_end:
+.annotate 'line', 676
+    new $P1834, "Integer"
+    assign $P1834, 0
+    store_lex "$i", $P1834
+.annotate 'line', 677
+    find_lex $P1835, "$past"
+    $P1836 = $P1835."list"()
+    set $N1837, $P1836
+    new $P1838, 'Float'
+    set $P1838, $N1837
+    store_lex "$n", $P1838
+.annotate 'line', 678
+    new $P1886, 'ExceptionHandler'
+    set_addr $P1886, loop1885_handler
+    $P1886."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P1886
+  loop1885_test:
+    find_lex $P1839, "$i"
+    set $N1840, $P1839
+    find_lex $P1841, "$n"
+    set $N1842, $P1841
+    islt $I1843, $N1840, $N1842
+    unless $I1843, loop1885_done
+  loop1885_redo:
+.annotate 'line', 679
+    find_lex $P1845, "$i"
+    set $I1846, $P1845
+    find_lex $P1847, "$past"
+    unless_null $P1847, vivify_562
+    $P1847 = root_new ['parrot';'ResizablePMCArray']
   vivify_562:
-    set $P1849, $P1848[$I1847]
-    unless_null $P1849, vivify_563
-    $P1849 = root_new ['parrot';'ResizablePMCArray']
+    set $P1848, $P1847[$I1846]
+    unless_null $P1848, vivify_563
+    new $P1848, "Undef"
   vivify_563:
-    set $P1850, $P1849[0]
-    unless_null $P1850, vivify_564
-    new $P1850, "Undef"
-  vivify_564:
+    $S1849 = $P1848."name"()
+    iseq $I1850, $S1849, "&prefix:<|>"
+    unless $I1850, if_1844_end
+.annotate 'line', 680
     find_lex $P1851, "$i"
     set $I1852, $P1851
     find_lex $P1853, "$past"
-    unless_null $P1853, vivify_565
+    unless_null $P1853, vivify_564
     $P1853 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$past", $P1853
+  vivify_564:
+    set $P1854, $P1853[$I1852]
+    unless_null $P1854, vivify_565
+    $P1854 = root_new ['parrot';'ResizablePMCArray']
   vivify_565:
-    set $P1853[$I1852], $P1850
-.annotate 'line', 678
-    find_lex $P1854, "$i"
-    set $I1855, $P1854
-    find_lex $P1856, "$past"
-    unless_null $P1856, vivify_566
-    $P1856 = root_new ['parrot';'ResizablePMCArray']
+    set $P1855, $P1854[0]
+    unless_null $P1855, vivify_566
+    new $P1855, "Undef"
   vivify_566:
-    set $P1857, $P1856[$I1855]
-    unless_null $P1857, vivify_567
-    new $P1857, "Undef"
+    find_lex $P1856, "$i"
+    set $I1857, $P1856
+    find_lex $P1858, "$past"
+    unless_null $P1858, vivify_567
+    $P1858 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$past", $P1858
   vivify_567:
-    $P1857."flat"(1)
-.annotate 'line', 679
-    find_lex $P1861, "$i"
-    set $I1862, $P1861
-    find_lex $P1863, "$past"
-    unless_null $P1863, vivify_568
-    $P1863 = root_new ['parrot';'ResizablePMCArray']
+    set $P1858[$I1857], $P1855
+.annotate 'line', 681
+    find_lex $P1859, "$i"
+    set $I1860, $P1859
+    find_lex $P1861, "$past"
+    unless_null $P1861, vivify_568
+    $P1861 = root_new ['parrot';'ResizablePMCArray']
   vivify_568:
-    set $P1864, $P1863[$I1862]
-    unless_null $P1864, vivify_569
-    new $P1864, "Undef"
+    set $P1862, $P1861[$I1860]
+    unless_null $P1862, vivify_569
+    new $P1862, "Undef"
   vivify_569:
-    get_hll_global $P1865, ["PAST"], "Val"
-    $P1866 = $P1864."isa"($P1865)
-    if $P1866, if_1860
-    set $P1859, $P1866
-    goto if_1860_end
-  if_1860:
-.annotate 'line', 680
-    find_lex $P1867, "$i"
-    set $I1868, $P1867
-    find_lex $P1869, "$past"
-    unless_null $P1869, vivify_570
-    $P1869 = root_new ['parrot';'ResizablePMCArray']
+    $P1862."flat"(1)
+.annotate 'line', 682
+    find_lex $P1866, "$i"
+    set $I1867, $P1866
+    find_lex $P1868, "$past"
+    unless_null $P1868, vivify_570
+    $P1868 = root_new ['parrot';'ResizablePMCArray']
   vivify_570:
-    set $P1870, $P1869[$I1868]
-    unless_null $P1870, vivify_571
-    new $P1870, "Undef"
+    set $P1869, $P1868[$I1867]
+    unless_null $P1869, vivify_571
+    new $P1869, "Undef"
   vivify_571:
-    $S1871 = $P1870."name"()
-    substr $S1872, $S1871, 0, 1
-    iseq $I1873, $S1872, "%"
-    new $P1859, 'Integer'
-    set $P1859, $I1873
-  if_1860_end:
-    unless $P1859, if_1858_end
-.annotate 'line', 681
-    find_lex $P1874, "$i"
-    set $I1875, $P1874
-    find_lex $P1876, "$past"
-    unless_null $P1876, vivify_572
-    $P1876 = root_new ['parrot';'ResizablePMCArray']
+    get_hll_global $P1870, ["PAST"], "Val"
+    $P1871 = $P1869."isa"($P1870)
+    if $P1871, if_1865
+    set $P1864, $P1871
+    goto if_1865_end
+  if_1865:
+.annotate 'line', 683
+    find_lex $P1872, "$i"
+    set $I1873, $P1872
+    find_lex $P1874, "$past"
+    unless_null $P1874, vivify_572
+    $P1874 = root_new ['parrot';'ResizablePMCArray']
   vivify_572:
-    set $P1877, $P1876[$I1875]
-    unless_null $P1877, vivify_573
-    new $P1877, "Undef"
+    set $P1875, $P1874[$I1873]
+    unless_null $P1875, vivify_573
+    new $P1875, "Undef"
   vivify_573:
-    $P1877."named"(1)
-  if_1858_end:
-  if_1839_end:
-.annotate 'line', 676
-    find_lex $P1878, "$i"
-    clone $P1879, $P1878
-    inc $P1878
-  loop1880_next:
-.annotate 'line', 675
-    goto loop1880_test
-  loop1880_handler:
+    $S1876 = $P1875."name"()
+    substr $S1877, $S1876, 0, 1
+    iseq $I1878, $S1877, "%"
+    new $P1864, 'Integer'
+    set $P1864, $I1878
+  if_1865_end:
+    unless $P1864, if_1863_end
+.annotate 'line', 684
+    find_lex $P1879, "$i"
+    set $I1880, $P1879
+    find_lex $P1881, "$past"
+    unless_null $P1881, vivify_574
+    $P1881 = root_new ['parrot';'ResizablePMCArray']
+  vivify_574:
+    set $P1882, $P1881[$I1880]
+    unless_null $P1882, vivify_575
+    new $P1882, "Undef"
+  vivify_575:
+    $P1882."named"(1)
+  if_1863_end:
+  if_1844_end:
+.annotate 'line', 679
+    find_lex $P1883, "$i"
+    clone $P1884, $P1883
+    inc $P1883
+  loop1885_next:
+.annotate 'line', 678
+    goto loop1885_test
+  loop1885_handler:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1882, exception, 'type'
-    eq $P1882, .CONTROL_LOOP_NEXT, loop1880_next
-    eq $P1882, .CONTROL_LOOP_REDO, loop1880_redo
-  loop1880_done:
+    getattribute $P1887, exception, 'type'
+    eq $P1887, .CONTROL_LOOP_NEXT, loop1885_next
+    eq $P1887, .CONTROL_LOOP_REDO, loop1885_redo
+  loop1885_done:
     pop_eh 
-.annotate 'line', 686
-    find_lex $P1883, "$/"
-    find_lex $P1884, "$past"
-    $P1885 = $P1883."!make"($P1884)
-.annotate 'line', 664
-    .return ($P1885)
-  control_1784:
+.annotate 'line', 689
+    find_lex $P1888, "$/"
+    find_lex $P1889, "$past"
+    $P1890 = $P1888."!make"($P1889)
+.annotate 'line', 667
+    .return ($P1890)
+  control_1789:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1886, exception, "payload"
-    .return ($P1886)
+    getattribute $P1891, exception, "payload"
+    .return ($P1891)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "_block1796"  :anon :subid("99_1279589176.27948") :outer("98_1279589176.27948")
-.annotate 'line', 666
-    .const 'Sub' $P1818 = "100_1279589176.27948" 
-    capture_lex $P1818
-.annotate 'line', 667
-    new $P1798, "Undef"
-    .lex "$expr", $P1798
-    find_lex $P1799, "$/"
-    unless_null $P1799, vivify_557
-    $P1799 = root_new ['parrot';'Hash']
-  vivify_557:
-    set $P1800, $P1799["EXPR"]
-    unless_null $P1800, vivify_558
-    new $P1800, "Undef"
-  vivify_558:
-    $P1801 = $P1800."ast"()
-    store_lex "$expr", $P1801
-.annotate 'line', 668
-    find_lex $P1806, "$expr"
-    $S1807 = $P1806."name"()
-    iseq $I1808, $S1807, "&infix:<,>"
-    if $I1808, if_1805
-    new $P1804, 'Integer'
-    set $P1804, $I1808
-    goto if_1805_end
-  if_1805:
-    find_lex $P1809, "$expr"
-    $P1810 = $P1809."named"()
-    isfalse $I1811, $P1810
-    new $P1804, 'Integer'
-    set $P1804, $I1811
-  if_1805_end:
-    if $P1804, if_1803
-.annotate 'line', 671
-    find_lex $P1826, "$past"
-    find_lex $P1827, "$expr"
-    $P1828 = $P1826."push"($P1827)
-    set $P1802, $P1828
-.annotate 'line', 668
-    goto if_1803_end
-  if_1803:
+.sub "_block1801"  :anon :subid("99_1280467483.70067") :outer("98_1280467483.70067")
 .annotate 'line', 669
-    find_lex $P1813, "$expr"
-    $P1814 = $P1813."list"()
-    defined $I1815, $P1814
-    unless $I1815, for_undef_559
-    iter $P1812, $P1814
-    new $P1824, 'ExceptionHandler'
-    set_addr $P1824, loop1823_handler
-    $P1824."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
-    push_eh $P1824
-  loop1823_test:
-    unless $P1812, loop1823_done
-    shift $P1816, $P1812
-  loop1823_redo:
-    .const 'Sub' $P1818 = "100_1279589176.27948" 
-    capture_lex $P1818
-    $P1818($P1816)
-  loop1823_next:
-    goto loop1823_test
-  loop1823_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1825, exception, 'type'
-    eq $P1825, .CONTROL_LOOP_NEXT, loop1823_next
-    eq $P1825, .CONTROL_LOOP_REDO, loop1823_redo
-  loop1823_done:
+    .const 'Sub' $P1823 = "100_1280467483.70067" 
+    capture_lex $P1823
+.annotate 'line', 670
+    new $P1803, "Undef"
+    .lex "$expr", $P1803
+    find_lex $P1804, "$/"
+    unless_null $P1804, vivify_559
+    $P1804 = root_new ['parrot';'Hash']
+  vivify_559:
+    set $P1805, $P1804["EXPR"]
+    unless_null $P1805, vivify_560
+    new $P1805, "Undef"
+  vivify_560:
+    $P1806 = $P1805."ast"()
+    store_lex "$expr", $P1806
+.annotate 'line', 671
+    find_lex $P1811, "$expr"
+    $S1812 = $P1811."name"()
+    iseq $I1813, $S1812, "&infix:<,>"
+    if $I1813, if_1810
+    new $P1809, 'Integer'
+    set $P1809, $I1813
+    goto if_1810_end
+  if_1810:
+    find_lex $P1814, "$expr"
+    $P1815 = $P1814."named"()
+    isfalse $I1816, $P1815
+    new $P1809, 'Integer'
+    set $P1809, $I1816
+  if_1810_end:
+    if $P1809, if_1808
+.annotate 'line', 674
+    find_lex $P1831, "$past"
+    find_lex $P1832, "$expr"
+    $P1833 = $P1831."push"($P1832)
+    set $P1807, $P1833
+.annotate 'line', 671
+    goto if_1808_end
+  if_1808:
+.annotate 'line', 672
+    find_lex $P1818, "$expr"
+    $P1819 = $P1818."list"()
+    defined $I1820, $P1819
+    unless $I1820, for_undef_561
+    iter $P1817, $P1819
+    new $P1829, 'ExceptionHandler'
+    set_addr $P1829, loop1828_handler
+    $P1829."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P1829
+  loop1828_test:
+    unless $P1817, loop1828_done
+    shift $P1821, $P1817
+  loop1828_redo:
+    .const 'Sub' $P1823 = "100_1280467483.70067" 
+    capture_lex $P1823
+    $P1823($P1821)
+  loop1828_next:
+    goto loop1828_test
+  loop1828_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1830, exception, 'type'
+    eq $P1830, .CONTROL_LOOP_NEXT, loop1828_next
+    eq $P1830, .CONTROL_LOOP_REDO, loop1828_redo
+  loop1828_done:
     pop_eh 
-  for_undef_559:
-.annotate 'line', 668
-    set $P1802, $P1812
-  if_1803_end:
-.annotate 'line', 666
-    .return ($P1802)
+  for_undef_561:
+.annotate 'line', 671
+    set $P1807, $P1817
+  if_1808_end:
+.annotate 'line', 669
+    .return ($P1807)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block1817"  :anon :subid("100_1279589176.27948") :outer("99_1279589176.27948")
-    .param pmc param_1819
-.annotate 'line', 669
-    .lex "$_", param_1819
-    find_lex $P1820, "$past"
-    find_lex $P1821, "$_"
-    $P1822 = $P1820."push"($P1821)
-    .return ($P1822)
+.sub "_block1822"  :anon :subid("100_1280467483.70067") :outer("99_1280467483.70067")
+    .param pmc param_1824
+.annotate 'line', 672
+    .lex "$_", param_1824
+    find_lex $P1825, "$past"
+    find_lex $P1826, "$_"
+    $P1827 = $P1825."push"($P1826)
+    .return ($P1827)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<value>"  :subid("101_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1890
-.annotate 'line', 690
-    new $P1889, 'ExceptionHandler'
-    set_addr $P1889, control_1888
-    $P1889."handle_types"(.CONTROL_RETURN)
-    push_eh $P1889
-    .lex "self", self
-    .lex "$/", param_1890
-    find_lex $P1891, "$/"
-    find_lex $P1892, "$/"
-    unless_null $P1892, vivify_574
-    $P1892 = root_new ['parrot';'Hash']
-  vivify_574:
-    set $P1893, $P1892["value"]
-    unless_null $P1893, vivify_575
-    new $P1893, "Undef"
-  vivify_575:
-    $P1894 = $P1893."ast"()
-    $P1895 = $P1891."!make"($P1894)
-    .return ($P1895)
-  control_1888:
+.sub "term:sym<value>"  :subid("101_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1895
+.annotate 'line', 693
+    new $P1894, 'ExceptionHandler'
+    set_addr $P1894, control_1893
+    $P1894."handle_types"(.CONTROL_RETURN)
+    push_eh $P1894
+    .lex "self", self
+    .lex "$/", param_1895
+    find_lex $P1896, "$/"
+    find_lex $P1897, "$/"
+    unless_null $P1897, vivify_576
+    $P1897 = root_new ['parrot';'Hash']
+  vivify_576:
+    set $P1898, $P1897["value"]
+    unless_null $P1898, vivify_577
+    new $P1898, "Undef"
+  vivify_577:
+    $P1899 = $P1898."ast"()
+    $P1900 = $P1896."!make"($P1899)
+    .return ($P1900)
+  control_1893:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1896, exception, "payload"
-    .return ($P1896)
+    getattribute $P1901, exception, "payload"
+    .return ($P1901)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "circumfix:sym<( )>"  :subid("102_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1900
-.annotate 'line', 692
-    new $P1899, 'ExceptionHandler'
-    set_addr $P1899, control_1898
-    $P1899."handle_types"(.CONTROL_RETURN)
-    push_eh $P1899
-    .lex "self", self
-    .lex "$/", param_1900
-.annotate 'line', 693
-    find_lex $P1901, "$/"
-.annotate 'line', 694
-    find_lex $P1904, "$/"
-    unless_null $P1904, vivify_576
-    $P1904 = root_new ['parrot';'Hash']
-  vivify_576:
-    set $P1905, $P1904["EXPR"]
-    unless_null $P1905, vivify_577
-    new $P1905, "Undef"
-  vivify_577:
-    if $P1905, if_1903
+.sub "circumfix:sym<( )>"  :subid("102_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1905
 .annotate 'line', 695
-    get_hll_global $P1910, ["PAST"], "Op"
-    find_lex $P1911, "$/"
-    $P1912 = $P1910."new"("list" :named("pasttype"), $P1911 :named("node"))
-    set $P1902, $P1912
-.annotate 'line', 694
-    goto if_1903_end
-  if_1903:
+    new $P1904, 'ExceptionHandler'
+    set_addr $P1904, control_1903
+    $P1904."handle_types"(.CONTROL_RETURN)
+    push_eh $P1904
+    .lex "self", self
+    .lex "$/", param_1905
+.annotate 'line', 696
     find_lex $P1906, "$/"
-    unless_null $P1906, vivify_578
-    $P1906 = root_new ['parrot';'Hash']
+.annotate 'line', 697
+    find_lex $P1909, "$/"
+    unless_null $P1909, vivify_578
+    $P1909 = root_new ['parrot';'Hash']
   vivify_578:
-    set $P1907, $P1906["EXPR"]
-    unless_null $P1907, vivify_579
-    $P1907 = root_new ['parrot';'ResizablePMCArray']
+    set $P1910, $P1909["EXPR"]
+    unless_null $P1910, vivify_579
+    new $P1910, "Undef"
   vivify_579:
-    set $P1908, $P1907[0]
-    unless_null $P1908, vivify_580
-    new $P1908, "Undef"
+    if $P1910, if_1908
+.annotate 'line', 698
+    get_hll_global $P1915, ["PAST"], "Op"
+    find_lex $P1916, "$/"
+    $P1917 = $P1915."new"("list" :named("pasttype"), $P1916 :named("node"))
+    set $P1907, $P1917
+.annotate 'line', 697
+    goto if_1908_end
+  if_1908:
+    find_lex $P1911, "$/"
+    unless_null $P1911, vivify_580
+    $P1911 = root_new ['parrot';'Hash']
   vivify_580:
-    $P1909 = $P1908."ast"()
-    set $P1902, $P1909
-  if_1903_end:
-    $P1913 = $P1901."!make"($P1902)
-.annotate 'line', 692
-    .return ($P1913)
-  control_1898:
+    set $P1912, $P1911["EXPR"]
+    unless_null $P1912, vivify_581
+    $P1912 = root_new ['parrot';'ResizablePMCArray']
+  vivify_581:
+    set $P1913, $P1912[0]
+    unless_null $P1913, vivify_582
+    new $P1913, "Undef"
+  vivify_582:
+    $P1914 = $P1913."ast"()
+    set $P1907, $P1914
+  if_1908_end:
+    $P1918 = $P1906."!make"($P1907)
+.annotate 'line', 695
+    .return ($P1918)
+  control_1903:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1914, exception, "payload"
-    .return ($P1914)
+    getattribute $P1919, exception, "payload"
+    .return ($P1919)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "circumfix:sym<[ ]>"  :subid("103_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1918
-.annotate 'line', 698
-    new $P1917, 'ExceptionHandler'
-    set_addr $P1917, control_1916
-    $P1917."handle_types"(.CONTROL_RETURN)
-    push_eh $P1917
-    .lex "self", self
-    .lex "$/", param_1918
-.annotate 'line', 699
-    new $P1919, "Undef"
-    .lex "$past", $P1919
-.annotate 'line', 698
-    find_lex $P1920, "$past"
-.annotate 'line', 700
-    find_lex $P1922, "$/"
-    unless_null $P1922, vivify_581
-    $P1922 = root_new ['parrot';'Hash']
-  vivify_581:
-    set $P1923, $P1922["EXPR"]
-    unless_null $P1923, vivify_582
-    new $P1923, "Undef"
-  vivify_582:
-    if $P1923, if_1921
-.annotate 'line', 707
-    get_hll_global $P1935, ["PAST"], "Op"
-    $P1936 = $P1935."new"("list" :named("pasttype"))
-    store_lex "$past", $P1936
-.annotate 'line', 706
-    goto if_1921_end
-  if_1921:
+.sub "circumfix:sym<[ ]>"  :subid("103_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1923
 .annotate 'line', 701
-    find_lex $P1924, "$/"
-    unless_null $P1924, vivify_583
-    $P1924 = root_new ['parrot';'Hash']
-  vivify_583:
-    set $P1925, $P1924["EXPR"]
-    unless_null $P1925, vivify_584
-    $P1925 = root_new ['parrot';'ResizablePMCArray']
-  vivify_584:
-    set $P1926, $P1925[0]
-    unless_null $P1926, vivify_585
-    new $P1926, "Undef"
-  vivify_585:
-    $P1927 = $P1926."ast"()
-    store_lex "$past", $P1927
+    new $P1922, 'ExceptionHandler'
+    set_addr $P1922, control_1921
+    $P1922."handle_types"(.CONTROL_RETURN)
+    push_eh $P1922
+    .lex "self", self
+    .lex "$/", param_1923
 .annotate 'line', 702
-    find_lex $P1929, "$past"
-    $S1930 = $P1929."name"()
-    isne $I1931, $S1930, "&infix:<,>"
-    unless $I1931, if_1928_end
+    new $P1924, "Undef"
+    .lex "$past", $P1924
+.annotate 'line', 701
+    find_lex $P1925, "$past"
 .annotate 'line', 703
-    get_hll_global $P1932, ["PAST"], "Op"
-    find_lex $P1933, "$past"
-    $P1934 = $P1932."new"($P1933, "list" :named("pasttype"))
-    store_lex "$past", $P1934
-  if_1928_end:
-  if_1921_end:
-.annotate 'line', 709
-    find_lex $P1937, "$past"
-    $P1937."name"("&circumfix:<[ ]>")
+    find_lex $P1927, "$/"
+    unless_null $P1927, vivify_583
+    $P1927 = root_new ['parrot';'Hash']
+  vivify_583:
+    set $P1928, $P1927["EXPR"]
+    unless_null $P1928, vivify_584
+    new $P1928, "Undef"
+  vivify_584:
+    if $P1928, if_1926
 .annotate 'line', 710
-    find_lex $P1938, "$/"
-    find_lex $P1939, "$past"
-    $P1940 = $P1938."!make"($P1939)
-.annotate 'line', 698
-    .return ($P1940)
-  control_1916:
+    get_hll_global $P1940, ["PAST"], "Op"
+    $P1941 = $P1940."new"("list" :named("pasttype"))
+    store_lex "$past", $P1941
+.annotate 'line', 709
+    goto if_1926_end
+  if_1926:
+.annotate 'line', 704
+    find_lex $P1929, "$/"
+    unless_null $P1929, vivify_585
+    $P1929 = root_new ['parrot';'Hash']
+  vivify_585:
+    set $P1930, $P1929["EXPR"]
+    unless_null $P1930, vivify_586
+    $P1930 = root_new ['parrot';'ResizablePMCArray']
+  vivify_586:
+    set $P1931, $P1930[0]
+    unless_null $P1931, vivify_587
+    new $P1931, "Undef"
+  vivify_587:
+    $P1932 = $P1931."ast"()
+    store_lex "$past", $P1932
+.annotate 'line', 705
+    find_lex $P1934, "$past"
+    $S1935 = $P1934."name"()
+    isne $I1936, $S1935, "&infix:<,>"
+    unless $I1936, if_1933_end
+.annotate 'line', 706
+    get_hll_global $P1937, ["PAST"], "Op"
+    find_lex $P1938, "$past"
+    $P1939 = $P1937."new"($P1938, "list" :named("pasttype"))
+    store_lex "$past", $P1939
+  if_1933_end:
+  if_1926_end:
+.annotate 'line', 712
+    find_lex $P1942, "$past"
+    $P1942."name"("&circumfix:<[ ]>")
+.annotate 'line', 713
+    find_lex $P1943, "$/"
+    find_lex $P1944, "$past"
+    $P1945 = $P1943."!make"($P1944)
+.annotate 'line', 701
+    .return ($P1945)
+  control_1921:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1941, exception, "payload"
-    .return ($P1941)
+    getattribute $P1946, exception, "payload"
+    .return ($P1946)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "circumfix:sym<ang>"  :subid("104_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1945
-.annotate 'line', 713
-    new $P1944, 'ExceptionHandler'
-    set_addr $P1944, control_1943
-    $P1944."handle_types"(.CONTROL_RETURN)
-    push_eh $P1944
-    .lex "self", self
-    .lex "$/", param_1945
-    find_lex $P1946, "$/"
-    find_lex $P1947, "$/"
-    unless_null $P1947, vivify_586
-    $P1947 = root_new ['parrot';'Hash']
-  vivify_586:
-    set $P1948, $P1947["quote_EXPR"]
-    unless_null $P1948, vivify_587
-    new $P1948, "Undef"
-  vivify_587:
-    $P1949 = $P1948."ast"()
-    $P1950 = $P1946."!make"($P1949)
-    .return ($P1950)
-  control_1943:
+.sub "circumfix:sym<ang>"  :subid("104_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1950
+.annotate 'line', 716
+    new $P1949, 'ExceptionHandler'
+    set_addr $P1949, control_1948
+    $P1949."handle_types"(.CONTROL_RETURN)
+    push_eh $P1949
+    .lex "self", self
+    .lex "$/", param_1950
+    find_lex $P1951, "$/"
+    find_lex $P1952, "$/"
+    unless_null $P1952, vivify_588
+    $P1952 = root_new ['parrot';'Hash']
+  vivify_588:
+    set $P1953, $P1952["quote_EXPR"]
+    unless_null $P1953, vivify_589
+    new $P1953, "Undef"
+  vivify_589:
+    $P1954 = $P1953."ast"()
+    $P1955 = $P1951."!make"($P1954)
+    .return ($P1955)
+  control_1948:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1951, exception, "payload"
-    .return ($P1951)
+    getattribute $P1956, exception, "payload"
+    .return ($P1956)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("105_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1955
-.annotate 'line', 714
-    new $P1954, 'ExceptionHandler'
-    set_addr $P1954, control_1953
-    $P1954."handle_types"(.CONTROL_RETURN)
-    push_eh $P1954
-    .lex "self", self
-    .lex "$/", param_1955
-    find_lex $P1956, "$/"
-    find_lex $P1957, "$/"
-    unless_null $P1957, vivify_588
-    $P1957 = root_new ['parrot';'Hash']
-  vivify_588:
-    set $P1958, $P1957["quote_EXPR"]
-    unless_null $P1958, vivify_589
-    new $P1958, "Undef"
-  vivify_589:
-    $P1959 = $P1958."ast"()
-    $P1960 = $P1956."!make"($P1959)
-    .return ($P1960)
-  control_1953:
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>"  :subid("105_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1960
+.annotate 'line', 717
+    new $P1959, 'ExceptionHandler'
+    set_addr $P1959, control_1958
+    $P1959."handle_types"(.CONTROL_RETURN)
+    push_eh $P1959
+    .lex "self", self
+    .lex "$/", param_1960
+    find_lex $P1961, "$/"
+    find_lex $P1962, "$/"
+    unless_null $P1962, vivify_590
+    $P1962 = root_new ['parrot';'Hash']
+  vivify_590:
+    set $P1963, $P1962["quote_EXPR"]
+    unless_null $P1963, vivify_591
+    new $P1963, "Undef"
+  vivify_591:
+    $P1964 = $P1963."ast"()
+    $P1965 = $P1961."!make"($P1964)
+    .return ($P1965)
+  control_1958:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1961, exception, "payload"
-    .return ($P1961)
+    getattribute $P1966, exception, "payload"
+    .return ($P1966)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "circumfix:sym<{ }>"  :subid("106_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1965
-.annotate 'line', 716
-    new $P1964, 'ExceptionHandler'
-    set_addr $P1964, control_1963
-    $P1964."handle_types"(.CONTROL_RETURN)
-    push_eh $P1964
+.sub "circumfix:sym<{ }>"  :subid("106_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1970
+.annotate 'line', 719
+    new $P1969, 'ExceptionHandler'
+    set_addr $P1969, control_1968
+    $P1969."handle_types"(.CONTROL_RETURN)
+    push_eh $P1969
     .lex "self", self
-    .lex "$/", param_1965
-.annotate 'line', 717
-    new $P1966, "Undef"
-    .lex "$past", $P1966
-    find_lex $P1969, "$/"
-    unless_null $P1969, vivify_590
-    $P1969 = root_new ['parrot';'Hash']
-  vivify_590:
-    set $P1970, $P1969["pblock"]
-    unless_null $P1970, vivify_591
-    $P1970 = root_new ['parrot';'Hash']
-  vivify_591:
-    set $P1971, $P1970["blockoid"]
-    unless_null $P1971, vivify_592
-    $P1971 = root_new ['parrot';'Hash']
+    .lex "$/", param_1970
+.annotate 'line', 720
+    new $P1971, "Undef"
+    .lex "$past", $P1971
+    find_lex $P1974, "$/"
+    unless_null $P1974, vivify_592
+    $P1974 = root_new ['parrot';'Hash']
   vivify_592:
-    set $P1972, $P1971["statementlist"]
-    unless_null $P1972, vivify_593
-    $P1972 = root_new ['parrot';'Hash']
+    set $P1975, $P1974["pblock"]
+    unless_null $P1975, vivify_593
+    $P1975 = root_new ['parrot';'Hash']
   vivify_593:
-    set $P1973, $P1972["statement"]
-    unless_null $P1973, vivify_594
-    new $P1973, "Undef"
-  vivify_594:
-    set $N1974, $P1973
-    isgt $I1975, $N1974, 0.0
-    if $I1975, if_1968
-.annotate 'line', 719
-    $P1979 = "vivitype"("%")
-    set $P1967, $P1979
-.annotate 'line', 717
-    goto if_1968_end
-  if_1968:
-.annotate 'line', 718
-    find_lex $P1976, "$/"
-    unless_null $P1976, vivify_595
+    set $P1976, $P1975["blockoid"]
+    unless_null $P1976, vivify_594
     $P1976 = root_new ['parrot';'Hash']
+  vivify_594:
+    set $P1977, $P1976["statementlist"]
+    unless_null $P1977, vivify_595
+    $P1977 = root_new ['parrot';'Hash']
   vivify_595:
-    set $P1977, $P1976["pblock"]
-    unless_null $P1977, vivify_596
-    new $P1977, "Undef"
+    set $P1978, $P1977["statement"]
+    unless_null $P1978, vivify_596
+    new $P1978, "Undef"
   vivify_596:
-    $P1978 = $P1977."ast"()
-    set $P1967, $P1978
-  if_1968_end:
-    store_lex "$past", $P1967
+    set $N1979, $P1978
+    isgt $I1980, $N1979, 0.0
+    if $I1980, if_1973
+.annotate 'line', 722
+    $P1984 = "vivitype"("%")
+    set $P1972, $P1984
 .annotate 'line', 720
-    new $P1980, "Integer"
-    assign $P1980, 1
-    find_lex $P1981, "$past"
+    goto if_1973_end
+  if_1973:
+.annotate 'line', 721
+    find_lex $P1981, "$/"
     unless_null $P1981, vivify_597
     $P1981 = root_new ['parrot';'Hash']
-    store_lex "$past", $P1981
   vivify_597:
-    set $P1981["bareblock"], $P1980
-.annotate 'line', 721
-    find_lex $P1982, "$/"
-    find_lex $P1983, "$past"
-    $P1984 = $P1982."!make"($P1983)
-.annotate 'line', 716
-    .return ($P1984)
-  control_1963:
+    set $P1982, $P1981["pblock"]
+    unless_null $P1982, vivify_598
+    new $P1982, "Undef"
+  vivify_598:
+    $P1983 = $P1982."ast"()
+    set $P1972, $P1983
+  if_1973_end:
+    store_lex "$past", $P1972
+.annotate 'line', 723
+    new $P1985, "Integer"
+    assign $P1985, 1
+    find_lex $P1986, "$past"
+    unless_null $P1986, vivify_599
+    $P1986 = root_new ['parrot';'Hash']
+    store_lex "$past", $P1986
+  vivify_599:
+    set $P1986["bareblock"], $P1985
+.annotate 'line', 724
+    find_lex $P1987, "$/"
+    find_lex $P1988, "$past"
+    $P1989 = $P1987."!make"($P1988)
+.annotate 'line', 719
+    .return ($P1989)
+  control_1968:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1985, exception, "payload"
-    .return ($P1985)
+    getattribute $P1990, exception, "payload"
+    .return ($P1990)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "circumfix:sym<sigil>"  :subid("107_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_1989
-.annotate 'line', 724
-    new $P1988, 'ExceptionHandler'
-    set_addr $P1988, control_1987
-    $P1988."handle_types"(.CONTROL_RETURN)
-    push_eh $P1988
-    .lex "self", self
-    .lex "$/", param_1989
-.annotate 'line', 725
-    new $P1990, "Undef"
-    .lex "$name", $P1990
-    find_lex $P1993, "$/"
-    unless_null $P1993, vivify_598
-    $P1993 = root_new ['parrot';'Hash']
-  vivify_598:
-    set $P1994, $P1993["sigil"]
-    unless_null $P1994, vivify_599
-    new $P1994, "Undef"
-  vivify_599:
-    set $S1995, $P1994
-    iseq $I1996, $S1995, "@"
-    if $I1996, if_1992
-.annotate 'line', 726
-    find_lex $P2000, "$/"
-    unless_null $P2000, vivify_600
-    $P2000 = root_new ['parrot';'Hash']
+.sub "circumfix:sym<sigil>"  :subid("107_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_1994
+.annotate 'line', 727
+    new $P1993, 'ExceptionHandler'
+    set_addr $P1993, control_1992
+    $P1993."handle_types"(.CONTROL_RETURN)
+    push_eh $P1993
+    .lex "self", self
+    .lex "$/", param_1994
+.annotate 'line', 728
+    new $P1995, "Undef"
+    .lex "$name", $P1995
+    find_lex $P1998, "$/"
+    unless_null $P1998, vivify_600
+    $P1998 = root_new ['parrot';'Hash']
   vivify_600:
-    set $P2001, $P2000["sigil"]
-    unless_null $P2001, vivify_601
-    new $P2001, "Undef"
+    set $P1999, $P1998["sigil"]
+    unless_null $P1999, vivify_601
+    new $P1999, "Undef"
   vivify_601:
-    set $S2002, $P2001
-    iseq $I2003, $S2002, "%"
-    if $I2003, if_1999
-    new $P2005, "String"
-    assign $P2005, "item"
-    set $P1998, $P2005
-    goto if_1999_end
-  if_1999:
-    new $P2004, "String"
-    assign $P2004, "hash"
-    set $P1998, $P2004
-  if_1999_end:
-    set $P1991, $P1998
-.annotate 'line', 725
-    goto if_1992_end
-  if_1992:
-    new $P1997, "String"
-    assign $P1997, "list"
-    set $P1991, $P1997
-  if_1992_end:
-    store_lex "$name", $P1991
-.annotate 'line', 728
-    find_lex $P2006, "$/"
-    get_hll_global $P2007, ["PAST"], "Op"
-    find_lex $P2008, "$name"
-    find_lex $P2009, "$/"
-    unless_null $P2009, vivify_602
-    $P2009 = root_new ['parrot';'Hash']
+    set $S2000, $P1999
+    iseq $I2001, $S2000, "@"
+    if $I2001, if_1997
+.annotate 'line', 729
+    find_lex $P2005, "$/"
+    unless_null $P2005, vivify_602
+    $P2005 = root_new ['parrot';'Hash']
   vivify_602:
-    set $P2010, $P2009["semilist"]
-    unless_null $P2010, vivify_603
-    new $P2010, "Undef"
+    set $P2006, $P2005["sigil"]
+    unless_null $P2006, vivify_603
+    new $P2006, "Undef"
   vivify_603:
-    $P2011 = $P2010."ast"()
-    $P2012 = $P2007."new"($P2011, "callmethod" :named("pasttype"), $P2008 :named("name"))
-    $P2013 = $P2006."!make"($P2012)
-.annotate 'line', 724
-    .return ($P2013)
-  control_1987:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P2014, exception, "payload"
-    .return ($P2014)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "semilist"  :subid("108_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2018
+    set $S2007, $P2006
+    iseq $I2008, $S2007, "%"
+    if $I2008, if_2004
+    new $P2010, "String"
+    assign $P2010, "item"
+    set $P2003, $P2010
+    goto if_2004_end
+  if_2004:
+    new $P2009, "String"
+    assign $P2009, "hash"
+    set $P2003, $P2009
+  if_2004_end:
+    set $P1996, $P2003
+.annotate 'line', 728
+    goto if_1997_end
+  if_1997:
+    new $P2002, "String"
+    assign $P2002, "list"
+    set $P1996, $P2002
+  if_1997_end:
+    store_lex "$name", $P1996
 .annotate 'line', 731
-    new $P2017, 'ExceptionHandler'
-    set_addr $P2017, control_2016
-    $P2017."handle_types"(.CONTROL_RETURN)
-    push_eh $P2017
-    .lex "self", self
-    .lex "$/", param_2018
-    find_lex $P2019, "$/"
-    find_lex $P2020, "$/"
-    unless_null $P2020, vivify_604
-    $P2020 = root_new ['parrot';'Hash']
+    find_lex $P2011, "$/"
+    get_hll_global $P2012, ["PAST"], "Op"
+    find_lex $P2013, "$name"
+    find_lex $P2014, "$/"
+    unless_null $P2014, vivify_604
+    $P2014 = root_new ['parrot';'Hash']
   vivify_604:
-    set $P2021, $P2020["statement"]
-    unless_null $P2021, vivify_605
-    new $P2021, "Undef"
+    set $P2015, $P2014["semilist"]
+    unless_null $P2015, vivify_605
+    new $P2015, "Undef"
   vivify_605:
-    $P2022 = $P2021."ast"()
-    $P2023 = $P2019."!make"($P2022)
-    .return ($P2023)
-  control_2016:
+    $P2016 = $P2015."ast"()
+    $P2017 = $P2012."new"($P2016, "callmethod" :named("pasttype"), $P2013 :named("name"))
+    $P2018 = $P2011."!make"($P2017)
+.annotate 'line', 727
+    .return ($P2018)
+  control_1992:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2024, exception, "payload"
-    .return ($P2024)
+    getattribute $P2019, exception, "payload"
+    .return ($P2019)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "postcircumfix:sym<[ ]>"  :subid("109_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2028
-.annotate 'line', 733
-    new $P2027, 'ExceptionHandler'
-    set_addr $P2027, control_2026
-    $P2027."handle_types"(.CONTROL_RETURN)
-    push_eh $P2027
-    .lex "self", self
-    .lex "$/", param_2028
+.sub "semilist"  :subid("108_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2023
 .annotate 'line', 734
-    find_lex $P2029, "$/"
-    get_hll_global $P2030, ["PAST"], "Var"
-    find_lex $P2031, "$/"
-    unless_null $P2031, vivify_606
-    $P2031 = root_new ['parrot';'Hash']
+    new $P2022, 'ExceptionHandler'
+    set_addr $P2022, control_2021
+    $P2022."handle_types"(.CONTROL_RETURN)
+    push_eh $P2022
+    .lex "self", self
+    .lex "$/", param_2023
+    find_lex $P2024, "$/"
+    find_lex $P2025, "$/"
+    unless_null $P2025, vivify_606
+    $P2025 = root_new ['parrot';'Hash']
   vivify_606:
-    set $P2032, $P2031["EXPR"]
-    unless_null $P2032, vivify_607
-    new $P2032, "Undef"
+    set $P2026, $P2025["statement"]
+    unless_null $P2026, vivify_607
+    new $P2026, "Undef"
   vivify_607:
-    $P2033 = $P2032."ast"()
-.annotate 'line', 736
-    $P2034 = "vivitype"("@")
-    $P2035 = $P2030."new"($P2033, "keyed_int" :named("scope"), "Undef" :named("viviself"), $P2034 :named("vivibase"))
-.annotate 'line', 734
-    $P2036 = $P2029."!make"($P2035)
-.annotate 'line', 733
-    .return ($P2036)
-  control_2026:
+    $P2027 = $P2026."ast"()
+    $P2028 = $P2024."!make"($P2027)
+    .return ($P2028)
+  control_2021:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2037, exception, "payload"
-    .return ($P2037)
+    getattribute $P2029, exception, "payload"
+    .return ($P2029)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "postcircumfix:sym<{ }>"  :subid("110_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2041
-.annotate 'line', 739
-    new $P2040, 'ExceptionHandler'
-    set_addr $P2040, control_2039
-    $P2040."handle_types"(.CONTROL_RETURN)
-    push_eh $P2040
-    .lex "self", self
-    .lex "$/", param_2041
-.annotate 'line', 740
-    find_lex $P2042, "$/"
-    get_hll_global $P2043, ["PAST"], "Var"
-    find_lex $P2044, "$/"
-    unless_null $P2044, vivify_608
-    $P2044 = root_new ['parrot';'Hash']
+.sub "postcircumfix:sym<[ ]>"  :subid("109_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2033
+.annotate 'line', 736
+    new $P2032, 'ExceptionHandler'
+    set_addr $P2032, control_2031
+    $P2032."handle_types"(.CONTROL_RETURN)
+    push_eh $P2032
+    .lex "self", self
+    .lex "$/", param_2033
+.annotate 'line', 737
+    find_lex $P2034, "$/"
+    get_hll_global $P2035, ["PAST"], "Var"
+    find_lex $P2036, "$/"
+    unless_null $P2036, vivify_608
+    $P2036 = root_new ['parrot';'Hash']
   vivify_608:
-    set $P2045, $P2044["EXPR"]
-    unless_null $P2045, vivify_609
-    new $P2045, "Undef"
+    set $P2037, $P2036["EXPR"]
+    unless_null $P2037, vivify_609
+    new $P2037, "Undef"
   vivify_609:
-    $P2046 = $P2045."ast"()
-.annotate 'line', 742
-    $P2047 = "vivitype"("%")
-    $P2048 = $P2043."new"($P2046, "keyed" :named("scope"), "Undef" :named("viviself"), $P2047 :named("vivibase"))
-.annotate 'line', 740
-    $P2049 = $P2042."!make"($P2048)
+    $P2038 = $P2037."ast"()
 .annotate 'line', 739
-    .return ($P2049)
-  control_2039:
+    $P2039 = "vivitype"("@")
+    $P2040 = $P2035."new"($P2038, "keyed_int" :named("scope"), "Undef" :named("viviself"), $P2039 :named("vivibase"))
+.annotate 'line', 737
+    $P2041 = $P2034."!make"($P2040)
+.annotate 'line', 736
+    .return ($P2041)
+  control_2031:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2050, exception, "payload"
-    .return ($P2050)
+    getattribute $P2042, exception, "payload"
+    .return ($P2042)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "postcircumfix:sym<ang>"  :subid("111_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2054
-.annotate 'line', 745
-    new $P2053, 'ExceptionHandler'
-    set_addr $P2053, control_2052
-    $P2053."handle_types"(.CONTROL_RETURN)
-    push_eh $P2053
-    .lex "self", self
-    .lex "$/", param_2054
-.annotate 'line', 746
-    find_lex $P2055, "$/"
-    get_hll_global $P2056, ["PAST"], "Var"
-    find_lex $P2057, "$/"
-    unless_null $P2057, vivify_610
-    $P2057 = root_new ['parrot';'Hash']
+.sub "postcircumfix:sym<{ }>"  :subid("110_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2046
+.annotate 'line', 742
+    new $P2045, 'ExceptionHandler'
+    set_addr $P2045, control_2044
+    $P2045."handle_types"(.CONTROL_RETURN)
+    push_eh $P2045
+    .lex "self", self
+    .lex "$/", param_2046
+.annotate 'line', 743
+    find_lex $P2047, "$/"
+    get_hll_global $P2048, ["PAST"], "Var"
+    find_lex $P2049, "$/"
+    unless_null $P2049, vivify_610
+    $P2049 = root_new ['parrot';'Hash']
   vivify_610:
-    set $P2058, $P2057["quote_EXPR"]
-    unless_null $P2058, vivify_611
-    new $P2058, "Undef"
+    set $P2050, $P2049["EXPR"]
+    unless_null $P2050, vivify_611
+    new $P2050, "Undef"
   vivify_611:
-    $P2059 = $P2058."ast"()
-.annotate 'line', 748
-    $P2060 = "vivitype"("%")
-    $P2061 = $P2056."new"($P2059, "keyed" :named("scope"), "Undef" :named("viviself"), $P2060 :named("vivibase"))
-.annotate 'line', 746
-    $P2062 = $P2055."!make"($P2061)
+    $P2051 = $P2050."ast"()
 .annotate 'line', 745
-    .return ($P2062)
-  control_2052:
+    $P2052 = "vivitype"("%")
+    $P2053 = $P2048."new"($P2051, "keyed" :named("scope"), "Undef" :named("viviself"), $P2052 :named("vivibase"))
+.annotate 'line', 743
+    $P2054 = $P2047."!make"($P2053)
+.annotate 'line', 742
+    .return ($P2054)
+  control_2044:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2063, exception, "payload"
-    .return ($P2063)
+    getattribute $P2055, exception, "payload"
+    .return ($P2055)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "postcircumfix:sym<( )>"  :subid("112_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2067
-.annotate 'line', 751
-    new $P2066, 'ExceptionHandler'
-    set_addr $P2066, control_2065
-    $P2066."handle_types"(.CONTROL_RETURN)
-    push_eh $P2066
-    .lex "self", self
-    .lex "$/", param_2067
-.annotate 'line', 752
-    find_lex $P2068, "$/"
-    find_lex $P2069, "$/"
-    unless_null $P2069, vivify_612
-    $P2069 = root_new ['parrot';'Hash']
+.sub "postcircumfix:sym<ang>"  :subid("111_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2059
+.annotate 'line', 748
+    new $P2058, 'ExceptionHandler'
+    set_addr $P2058, control_2057
+    $P2058."handle_types"(.CONTROL_RETURN)
+    push_eh $P2058
+    .lex "self", self
+    .lex "$/", param_2059
+.annotate 'line', 749
+    find_lex $P2060, "$/"
+    get_hll_global $P2061, ["PAST"], "Var"
+    find_lex $P2062, "$/"
+    unless_null $P2062, vivify_612
+    $P2062 = root_new ['parrot';'Hash']
   vivify_612:
-    set $P2070, $P2069["arglist"]
-    unless_null $P2070, vivify_613
-    new $P2070, "Undef"
+    set $P2063, $P2062["quote_EXPR"]
+    unless_null $P2063, vivify_613
+    new $P2063, "Undef"
   vivify_613:
-    $P2071 = $P2070."ast"()
-    $P2072 = $P2068."!make"($P2071)
+    $P2064 = $P2063."ast"()
 .annotate 'line', 751
-    .return ($P2072)
-  control_2065:
+    $P2065 = "vivitype"("%")
+    $P2066 = $P2061."new"($P2064, "keyed" :named("scope"), "Undef" :named("viviself"), $P2065 :named("vivibase"))
+.annotate 'line', 749
+    $P2067 = $P2060."!make"($P2066)
+.annotate 'line', 748
+    .return ($P2067)
+  control_2057:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2073, exception, "payload"
-    .return ($P2073)
+    getattribute $P2068, exception, "payload"
+    .return ($P2068)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "value"  :subid("113_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2077
+.sub "postcircumfix:sym<( )>"  :subid("112_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2072
+.annotate 'line', 754
+    new $P2071, 'ExceptionHandler'
+    set_addr $P2071, control_2070
+    $P2071."handle_types"(.CONTROL_RETURN)
+    push_eh $P2071
+    .lex "self", self
+    .lex "$/", param_2072
 .annotate 'line', 755
-    new $P2076, 'ExceptionHandler'
-    set_addr $P2076, control_2075
-    $P2076."handle_types"(.CONTROL_RETURN)
-    push_eh $P2076
-    .lex "self", self
-    .lex "$/", param_2077
-.annotate 'line', 756
-    find_lex $P2078, "$/"
-    find_lex $P2081, "$/"
-    unless_null $P2081, vivify_614
-    $P2081 = root_new ['parrot';'Hash']
+    find_lex $P2073, "$/"
+    find_lex $P2074, "$/"
+    unless_null $P2074, vivify_614
+    $P2074 = root_new ['parrot';'Hash']
   vivify_614:
-    set $P2082, $P2081["quote"]
-    unless_null $P2082, vivify_615
-    new $P2082, "Undef"
+    set $P2075, $P2074["arglist"]
+    unless_null $P2075, vivify_615
+    new $P2075, "Undef"
   vivify_615:
-    if $P2082, if_2080
+    $P2076 = $P2075."ast"()
+    $P2077 = $P2073."!make"($P2076)
+.annotate 'line', 754
+    .return ($P2077)
+  control_2070:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2078, exception, "payload"
+    .return ($P2078)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.include "except_types.pasm"
+.sub "value"  :subid("113_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2082
+.annotate 'line', 758
+    new $P2081, 'ExceptionHandler'
+    set_addr $P2081, control_2080
+    $P2081."handle_types"(.CONTROL_RETURN)
+    push_eh $P2081
+    .lex "self", self
+    .lex "$/", param_2082
+.annotate 'line', 759
+    find_lex $P2083, "$/"
     find_lex $P2086, "$/"
     unless_null $P2086, vivify_616
     $P2086 = root_new ['parrot';'Hash']
   vivify_616:
-    set $P2087, $P2086["number"]
+    set $P2087, $P2086["quote"]
     unless_null $P2087, vivify_617
     new $P2087, "Undef"
   vivify_617:
-    $P2088 = $P2087."ast"()
-    set $P2079, $P2088
-    goto if_2080_end
-  if_2080:
-    find_lex $P2083, "$/"
-    unless_null $P2083, vivify_618
-    $P2083 = root_new ['parrot';'Hash']
+    if $P2087, if_2085
+    find_lex $P2091, "$/"
+    unless_null $P2091, vivify_618
+    $P2091 = root_new ['parrot';'Hash']
   vivify_618:
-    set $P2084, $P2083["quote"]
-    unless_null $P2084, vivify_619
-    new $P2084, "Undef"
+    set $P2092, $P2091["number"]
+    unless_null $P2092, vivify_619
+    new $P2092, "Undef"
   vivify_619:
-    $P2085 = $P2084."ast"()
-    set $P2079, $P2085
-  if_2080_end:
-    $P2089 = $P2078."!make"($P2079)
-.annotate 'line', 755
-    .return ($P2089)
-  control_2075:
+    $P2093 = $P2092."ast"()
+    set $P2084, $P2093
+    goto if_2085_end
+  if_2085:
+    find_lex $P2088, "$/"
+    unless_null $P2088, vivify_620
+    $P2088 = root_new ['parrot';'Hash']
+  vivify_620:
+    set $P2089, $P2088["quote"]
+    unless_null $P2089, vivify_621
+    new $P2089, "Undef"
+  vivify_621:
+    $P2090 = $P2089."ast"()
+    set $P2084, $P2090
+  if_2085_end:
+    $P2094 = $P2083."!make"($P2084)
+.annotate 'line', 758
+    .return ($P2094)
+  control_2080:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2090, exception, "payload"
-    .return ($P2090)
+    getattribute $P2095, exception, "payload"
+    .return ($P2095)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "number"  :subid("114_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2094
-.annotate 'line', 759
-    new $P2093, 'ExceptionHandler'
-    set_addr $P2093, control_2092
-    $P2093."handle_types"(.CONTROL_RETURN)
-    push_eh $P2093
-    .lex "self", self
-    .lex "$/", param_2094
-.annotate 'line', 760
-    new $P2095, "Undef"
-    .lex "$value", $P2095
-    find_lex $P2098, "$/"
-    unless_null $P2098, vivify_620
-    $P2098 = root_new ['parrot';'Hash']
-  vivify_620:
-    set $P2099, $P2098["dec_number"]
-    unless_null $P2099, vivify_621
-    new $P2099, "Undef"
-  vivify_621:
-    if $P2099, if_2097
+.sub "number"  :subid("114_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2099
+.annotate 'line', 762
+    new $P2098, 'ExceptionHandler'
+    set_addr $P2098, control_2097
+    $P2098."handle_types"(.CONTROL_RETURN)
+    push_eh $P2098
+    .lex "self", self
+    .lex "$/", param_2099
+.annotate 'line', 763
+    new $P2100, "Undef"
+    .lex "$value", $P2100
     find_lex $P2103, "$/"
     unless_null $P2103, vivify_622
     $P2103 = root_new ['parrot';'Hash']
   vivify_622:
-    set $P2104, $P2103["integer"]
+    set $P2104, $P2103["dec_number"]
     unless_null $P2104, vivify_623
     new $P2104, "Undef"
   vivify_623:
-    $P2105 = $P2104."ast"()
-    set $P2096, $P2105
-    goto if_2097_end
-  if_2097:
-    find_lex $P2100, "$/"
-    unless_null $P2100, vivify_624
-    $P2100 = root_new ['parrot';'Hash']
+    if $P2104, if_2102
+    find_lex $P2108, "$/"
+    unless_null $P2108, vivify_624
+    $P2108 = root_new ['parrot';'Hash']
   vivify_624:
-    set $P2101, $P2100["dec_number"]
-    unless_null $P2101, vivify_625
-    new $P2101, "Undef"
+    set $P2109, $P2108["integer"]
+    unless_null $P2109, vivify_625
+    new $P2109, "Undef"
   vivify_625:
-    $P2102 = $P2101."ast"()
-    set $P2096, $P2102
-  if_2097_end:
-    store_lex "$value", $P2096
-.annotate 'line', 761
-    find_lex $P2107, "$/"
-    unless_null $P2107, vivify_626
-    $P2107 = root_new ['parrot';'Hash']
+    $P2110 = $P2109."ast"()
+    set $P2101, $P2110
+    goto if_2102_end
+  if_2102:
+    find_lex $P2105, "$/"
+    unless_null $P2105, vivify_626
+    $P2105 = root_new ['parrot';'Hash']
   vivify_626:
-    set $P2108, $P2107["sign"]
-    unless_null $P2108, vivify_627
-    new $P2108, "Undef"
+    set $P2106, $P2105["dec_number"]
+    unless_null $P2106, vivify_627
+    new $P2106, "Undef"
   vivify_627:
-    set $S2109, $P2108
-    iseq $I2110, $S2109, "-"
-    unless $I2110, if_2106_end
-    find_lex $P2111, "$value"
-    neg $P2112, $P2111
-    store_lex "$value", $P2112
-  if_2106_end:
-.annotate 'line', 762
-    find_lex $P2113, "$/"
-    get_hll_global $P2114, ["PAST"], "Val"
-    find_lex $P2115, "$value"
-    $P2116 = $P2114."new"($P2115 :named("value"))
-    $P2117 = $P2113."!make"($P2116)
-.annotate 'line', 759
-    .return ($P2117)
-  control_2092:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P2118, exception, "payload"
-    .return ($P2118)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "quote:sym<apos>"  :subid("115_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2122
-.annotate 'line', 765
-    new $P2121, 'ExceptionHandler'
-    set_addr $P2121, control_2120
-    $P2121."handle_types"(.CONTROL_RETURN)
-    push_eh $P2121
-    .lex "self", self
-    .lex "$/", param_2122
-    find_lex $P2123, "$/"
-    find_lex $P2124, "$/"
-    unless_null $P2124, vivify_628
-    $P2124 = root_new ['parrot';'Hash']
+    $P2107 = $P2106."ast"()
+    set $P2101, $P2107
+  if_2102_end:
+    store_lex "$value", $P2101
+.annotate 'line', 764
+    find_lex $P2112, "$/"
+    unless_null $P2112, vivify_628
+    $P2112 = root_new ['parrot';'Hash']
   vivify_628:
-    set $P2125, $P2124["quote_EXPR"]
-    unless_null $P2125, vivify_629
-    new $P2125, "Undef"
+    set $P2113, $P2112["sign"]
+    unless_null $P2113, vivify_629
+    new $P2113, "Undef"
   vivify_629:
-    $P2126 = $P2125."ast"()
-    $P2127 = $P2123."!make"($P2126)
-    .return ($P2127)
-  control_2120:
+    set $S2114, $P2113
+    iseq $I2115, $S2114, "-"
+    unless $I2115, if_2111_end
+    find_lex $P2116, "$value"
+    neg $P2117, $P2116
+    store_lex "$value", $P2117
+  if_2111_end:
+.annotate 'line', 765
+    find_lex $P2118, "$/"
+    get_hll_global $P2119, ["PAST"], "Val"
+    find_lex $P2120, "$value"
+    $P2121 = $P2119."new"($P2120 :named("value"))
+    $P2122 = $P2118."!make"($P2121)
+.annotate 'line', 762
+    .return ($P2122)
+  control_2097:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2128, exception, "payload"
-    .return ($P2128)
+    getattribute $P2123, exception, "payload"
+    .return ($P2123)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote:sym<dblq>"  :subid("116_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2132
-.annotate 'line', 766
-    new $P2131, 'ExceptionHandler'
-    set_addr $P2131, control_2130
-    $P2131."handle_types"(.CONTROL_RETURN)
-    push_eh $P2131
-    .lex "self", self
-    .lex "$/", param_2132
-    find_lex $P2133, "$/"
-    find_lex $P2134, "$/"
-    unless_null $P2134, vivify_630
-    $P2134 = root_new ['parrot';'Hash']
+.sub "quote:sym<apos>"  :subid("115_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2127
+.annotate 'line', 768
+    new $P2126, 'ExceptionHandler'
+    set_addr $P2126, control_2125
+    $P2126."handle_types"(.CONTROL_RETURN)
+    push_eh $P2126
+    .lex "self", self
+    .lex "$/", param_2127
+    find_lex $P2128, "$/"
+    find_lex $P2129, "$/"
+    unless_null $P2129, vivify_630
+    $P2129 = root_new ['parrot';'Hash']
   vivify_630:
-    set $P2135, $P2134["quote_EXPR"]
-    unless_null $P2135, vivify_631
-    new $P2135, "Undef"
+    set $P2130, $P2129["quote_EXPR"]
+    unless_null $P2130, vivify_631
+    new $P2130, "Undef"
   vivify_631:
-    $P2136 = $P2135."ast"()
-    $P2137 = $P2133."!make"($P2136)
-    .return ($P2137)
-  control_2130:
+    $P2131 = $P2130."ast"()
+    $P2132 = $P2128."!make"($P2131)
+    .return ($P2132)
+  control_2125:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2138, exception, "payload"
-    .return ($P2138)
+    getattribute $P2133, exception, "payload"
+    .return ($P2133)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote:sym<qq>"  :subid("117_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2142
-.annotate 'line', 767
-    new $P2141, 'ExceptionHandler'
-    set_addr $P2141, control_2140
-    $P2141."handle_types"(.CONTROL_RETURN)
-    push_eh $P2141
-    .lex "self", self
-    .lex "$/", param_2142
-    find_lex $P2143, "$/"
-    find_lex $P2144, "$/"
-    unless_null $P2144, vivify_632
-    $P2144 = root_new ['parrot';'Hash']
+.sub "quote:sym<dblq>"  :subid("116_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2137
+.annotate 'line', 769
+    new $P2136, 'ExceptionHandler'
+    set_addr $P2136, control_2135
+    $P2136."handle_types"(.CONTROL_RETURN)
+    push_eh $P2136
+    .lex "self", self
+    .lex "$/", param_2137
+    find_lex $P2138, "$/"
+    find_lex $P2139, "$/"
+    unless_null $P2139, vivify_632
+    $P2139 = root_new ['parrot';'Hash']
   vivify_632:
-    set $P2145, $P2144["quote_EXPR"]
-    unless_null $P2145, vivify_633
-    new $P2145, "Undef"
+    set $P2140, $P2139["quote_EXPR"]
+    unless_null $P2140, vivify_633
+    new $P2140, "Undef"
   vivify_633:
-    $P2146 = $P2145."ast"()
-    $P2147 = $P2143."!make"($P2146)
-    .return ($P2147)
-  control_2140:
+    $P2141 = $P2140."ast"()
+    $P2142 = $P2138."!make"($P2141)
+    .return ($P2142)
+  control_2135:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2148, exception, "payload"
-    .return ($P2148)
+    getattribute $P2143, exception, "payload"
+    .return ($P2143)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote:sym<q>"  :subid("118_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2152
-.annotate 'line', 768
-    new $P2151, 'ExceptionHandler'
-    set_addr $P2151, control_2150
-    $P2151."handle_types"(.CONTROL_RETURN)
-    push_eh $P2151
-    .lex "self", self
-    .lex "$/", param_2152
-    find_lex $P2153, "$/"
-    find_lex $P2154, "$/"
-    unless_null $P2154, vivify_634
-    $P2154 = root_new ['parrot';'Hash']
+.sub "quote:sym<qq>"  :subid("117_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2147
+.annotate 'line', 770
+    new $P2146, 'ExceptionHandler'
+    set_addr $P2146, control_2145
+    $P2146."handle_types"(.CONTROL_RETURN)
+    push_eh $P2146
+    .lex "self", self
+    .lex "$/", param_2147
+    find_lex $P2148, "$/"
+    find_lex $P2149, "$/"
+    unless_null $P2149, vivify_634
+    $P2149 = root_new ['parrot';'Hash']
   vivify_634:
-    set $P2155, $P2154["quote_EXPR"]
-    unless_null $P2155, vivify_635
-    new $P2155, "Undef"
+    set $P2150, $P2149["quote_EXPR"]
+    unless_null $P2150, vivify_635
+    new $P2150, "Undef"
   vivify_635:
-    $P2156 = $P2155."ast"()
-    $P2157 = $P2153."!make"($P2156)
-    .return ($P2157)
-  control_2150:
+    $P2151 = $P2150."ast"()
+    $P2152 = $P2148."!make"($P2151)
+    .return ($P2152)
+  control_2145:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2158, exception, "payload"
-    .return ($P2158)
+    getattribute $P2153, exception, "payload"
+    .return ($P2153)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote:sym<Q>"  :subid("119_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2162
-.annotate 'line', 769
-    new $P2161, 'ExceptionHandler'
-    set_addr $P2161, control_2160
-    $P2161."handle_types"(.CONTROL_RETURN)
-    push_eh $P2161
-    .lex "self", self
-    .lex "$/", param_2162
-    find_lex $P2163, "$/"
-    find_lex $P2164, "$/"
-    unless_null $P2164, vivify_636
-    $P2164 = root_new ['parrot';'Hash']
+.sub "quote:sym<q>"  :subid("118_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2157
+.annotate 'line', 771
+    new $P2156, 'ExceptionHandler'
+    set_addr $P2156, control_2155
+    $P2156."handle_types"(.CONTROL_RETURN)
+    push_eh $P2156
+    .lex "self", self
+    .lex "$/", param_2157
+    find_lex $P2158, "$/"
+    find_lex $P2159, "$/"
+    unless_null $P2159, vivify_636
+    $P2159 = root_new ['parrot';'Hash']
   vivify_636:
-    set $P2165, $P2164["quote_EXPR"]
-    unless_null $P2165, vivify_637
-    new $P2165, "Undef"
+    set $P2160, $P2159["quote_EXPR"]
+    unless_null $P2160, vivify_637
+    new $P2160, "Undef"
   vivify_637:
-    $P2166 = $P2165."ast"()
-    $P2167 = $P2163."!make"($P2166)
-    .return ($P2167)
-  control_2160:
+    $P2161 = $P2160."ast"()
+    $P2162 = $P2158."!make"($P2161)
+    .return ($P2162)
+  control_2155:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2168, exception, "payload"
-    .return ($P2168)
+    getattribute $P2163, exception, "payload"
+    .return ($P2163)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote:sym<Q:PIR>"  :subid("120_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2172
-.annotate 'line', 770
-    new $P2171, 'ExceptionHandler'
-    set_addr $P2171, control_2170
-    $P2171."handle_types"(.CONTROL_RETURN)
-    push_eh $P2171
+.sub "quote:sym<Q>"  :subid("119_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2167
+.annotate 'line', 772
+    new $P2166, 'ExceptionHandler'
+    set_addr $P2166, control_2165
+    $P2166."handle_types"(.CONTROL_RETURN)
+    push_eh $P2166
     .lex "self", self
-    .lex "$/", param_2172
-.annotate 'line', 771
-    find_lex $P2173, "$/"
-    get_hll_global $P2174, ["PAST"], "Op"
-    find_lex $P2175, "$/"
-    unless_null $P2175, vivify_638
-    $P2175 = root_new ['parrot';'Hash']
+    .lex "$/", param_2167
+    find_lex $P2168, "$/"
+    find_lex $P2169, "$/"
+    unless_null $P2169, vivify_638
+    $P2169 = root_new ['parrot';'Hash']
   vivify_638:
-    set $P2176, $P2175["quote_EXPR"]
-    unless_null $P2176, vivify_639
-    new $P2176, "Undef"
+    set $P2170, $P2169["quote_EXPR"]
+    unless_null $P2170, vivify_639
+    new $P2170, "Undef"
   vivify_639:
-    $P2177 = $P2176."ast"()
-    $P2178 = $P2177."value"()
-    find_lex $P2179, "$/"
-    $P2180 = $P2174."new"($P2178 :named("inline"), "inline" :named("pasttype"), $P2179 :named("node"))
-    $P2181 = $P2173."!make"($P2180)
-.annotate 'line', 770
-    .return ($P2181)
-  control_2170:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P2182, exception, "payload"
-    .return ($P2182)
+    $P2171 = $P2170."ast"()
+    $P2172 = $P2168."!make"($P2171)
+    .return ($P2172)
+  control_2165:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2173, exception, "payload"
+    .return ($P2173)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote:sym</ />"  :subid("121_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2186
-    .param pmc param_2187 :optional
-    .param int has_param_2187 :opt_flag
-.annotate 'line', 776
-    new $P2185, 'ExceptionHandler'
-    set_addr $P2185, control_2184
-    $P2185."handle_types"(.CONTROL_RETURN)
-    push_eh $P2185
-    .lex "self", self
-    .lex "$/", param_2186
-    if has_param_2187, optparam_640
-    new $P2188, "Undef"
-    set param_2187, $P2188
-  optparam_640:
-    .lex "$key", param_2187
-.annotate 'line', 786
-    new $P2189, "Undef"
-    .lex "$regex", $P2189
-.annotate 'line', 788
-    new $P2190, "Undef"
-    .lex "$past", $P2190
-.annotate 'line', 777
-    find_lex $P2192, "$key"
-    set $S2193, $P2192
-    iseq $I2194, $S2193, "open"
-    unless $I2194, if_2191_end
-.annotate 'line', 778
+.sub "quote:sym<Q:PIR>"  :subid("120_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2177
+.annotate 'line', 773
+    new $P2176, 'ExceptionHandler'
+    set_addr $P2176, control_2175
+    $P2176."handle_types"(.CONTROL_RETURN)
+    push_eh $P2176
+    .lex "self", self
+    .lex "$/", param_2177
+.annotate 'line', 774
+    find_lex $P2178, "$/"
+    get_hll_global $P2179, ["PAST"], "Op"
+    find_lex $P2180, "$/"
+    unless_null $P2180, vivify_640
+    $P2180 = root_new ['parrot';'Hash']
+  vivify_640:
+    set $P2181, $P2180["quote_EXPR"]
+    unless_null $P2181, vivify_641
+    new $P2181, "Undef"
+  vivify_641:
+    $P2182 = $P2181."ast"()
+    $P2183 = $P2182."value"()
+    find_lex $P2184, "$/"
+    $P2185 = $P2179."new"($P2183 :named("inline"), "inline" :named("pasttype"), $P2184 :named("node"))
+    $P2186 = $P2178."!make"($P2185)
+.annotate 'line', 773
+    .return ($P2186)
+  control_2175:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2187, exception, "payload"
+    .return ($P2187)
+.end
+
+
+.namespace ["NQP";"Actions"]
+.include "except_types.pasm"
+.sub "quote:sym</ />"  :subid("121_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2191
+    .param pmc param_2192 :optional
+    .param int has_param_2192 :opt_flag
+.annotate 'line', 779
+    new $P2190, 'ExceptionHandler'
+    set_addr $P2190, control_2189
+    $P2190."handle_types"(.CONTROL_RETURN)
+    push_eh $P2190
+    .lex "self", self
+    .lex "$/", param_2191
+    if has_param_2192, optparam_642
+    new $P2193, "Undef"
+    set param_2192, $P2193
+  optparam_642:
+    .lex "$key", param_2192
+.annotate 'line', 789
+    new $P2194, "Undef"
+    .lex "$regex", $P2194
+.annotate 'line', 791
+    new $P2195, "Undef"
+    .lex "$past", $P2195
+.annotate 'line', 780
+    find_lex $P2197, "$key"
+    set $S2198, $P2197
+    iseq $I2199, $S2198, "open"
+    unless $I2199, if_2196_end
+.annotate 'line', 781
 
             null $P0
             set_hll_global ['Regex';'P6Regex';'Actions'], '$REGEXNAME', $P0
         
-.annotate 'line', 782
-    get_global $P2195, "@BLOCK"
-    unless_null $P2195, vivify_641
-    $P2195 = root_new ['parrot';'ResizablePMCArray']
-  vivify_641:
-    set $P2196, $P2195[0]
-    unless_null $P2196, vivify_642
-    new $P2196, "Undef"
-  vivify_642:
-    $P2196."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
-.annotate 'line', 783
-    get_global $P2197, "@BLOCK"
-    unless_null $P2197, vivify_643
-    $P2197 = root_new ['parrot';'ResizablePMCArray']
+.annotate 'line', 785
+    get_global $P2200, "@BLOCK"
+    unless_null $P2200, vivify_643
+    $P2200 = root_new ['parrot';'ResizablePMCArray']
   vivify_643:
-    set $P2198, $P2197[0]
-    unless_null $P2198, vivify_644
-    new $P2198, "Undef"
+    set $P2201, $P2200[0]
+    unless_null $P2201, vivify_644
+    new $P2201, "Undef"
   vivify_644:
-    $P2198."symbol"("$/", "lexical" :named("scope"))
-.annotate 'line', 784
-    new $P2199, "Exception"
-    set $P2199['type'], .CONTROL_RETURN
-    new $P2200, "Integer"
-    assign $P2200, 0
-    setattribute $P2199, 'payload', $P2200
-    throw $P2199
-  if_2191_end:
-.annotate 'line', 787
-    get_hll_global $P2201, ["Regex";"P6Regex";"Actions"], "buildsub"
-    find_lex $P2202, "$/"
+    $P2201."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
+.annotate 'line', 786
+    get_global $P2202, "@BLOCK"
     unless_null $P2202, vivify_645
-    $P2202 = root_new ['parrot';'Hash']
+    $P2202 = root_new ['parrot';'ResizablePMCArray']
   vivify_645:
-    set $P2203, $P2202["p6regex"]
+    set $P2203, $P2202[0]
     unless_null $P2203, vivify_646
     new $P2203, "Undef"
   vivify_646:
-    $P2204 = $P2203."ast"()
-    get_global $P2205, "@BLOCK"
-    $P2206 = $P2205."shift"()
-    $P2207 = $P2201($P2204, $P2206)
-    store_lex "$regex", $P2207
-.annotate 'line', 789
-    get_hll_global $P2208, ["PAST"], "Op"
-.annotate 'line', 791
-    get_hll_global $P2209, ["PAST"], "Var"
-    new $P2210, "ResizablePMCArray"
-    push $P2210, "Regex"
-    $P2211 = $P2209."new"("Regex" :named("name"), $P2210 :named("namespace"), "package" :named("scope"))
-    find_lex $P2212, "$regex"
-    $P2213 = $P2208."new"($P2211, $P2212, "callmethod" :named("pasttype"), "new" :named("name"))
-.annotate 'line', 789
-    store_lex "$past", $P2213
-.annotate 'line', 795
-    find_lex $P2214, "$regex"
-    find_lex $P2215, "$past"
-    unless_null $P2215, vivify_647
-    $P2215 = root_new ['parrot';'Hash']
-    store_lex "$past", $P2215
+    $P2203."symbol"("$/", "lexical" :named("scope"))
+.annotate 'line', 787
+    new $P2204, "Exception"
+    set $P2204['type'], .CONTROL_RETURN
+    new $P2205, "Integer"
+    assign $P2205, 0
+    setattribute $P2204, 'payload', $P2205
+    throw $P2204
+  if_2196_end:
+.annotate 'line', 790
+    get_hll_global $P2206, ["Regex";"P6Regex";"Actions"], "buildsub"
+    find_lex $P2207, "$/"
+    unless_null $P2207, vivify_647
+    $P2207 = root_new ['parrot';'Hash']
   vivify_647:
-    set $P2215["sink"], $P2214
-.annotate 'line', 796
-    find_lex $P2216, "$/"
-    find_lex $P2217, "$past"
-    $P2218 = $P2216."!make"($P2217)
-.annotate 'line', 776
-    .return ($P2218)
-  control_2184:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P2219, exception, "payload"
-    .return ($P2219)
-.end
-
-
-.namespace ["NQP";"Actions"]
-.include "except_types.pasm"
-.sub "quote_escape:sym<$>"  :subid("122_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2223
-.annotate 'line', 799
-    new $P2222, 'ExceptionHandler'
-    set_addr $P2222, control_2221
-    $P2222."handle_types"(.CONTROL_RETURN)
-    push_eh $P2222
-    .lex "self", self
-    .lex "$/", param_2223
-    find_lex $P2224, "$/"
-    find_lex $P2225, "$/"
-    unless_null $P2225, vivify_648
-    $P2225 = root_new ['parrot';'Hash']
+    set $P2208, $P2207["p6regex"]
+    unless_null $P2208, vivify_648
+    new $P2208, "Undef"
   vivify_648:
-    set $P2226, $P2225["variable"]
-    unless_null $P2226, vivify_649
-    new $P2226, "Undef"
+    $P2209 = $P2208."ast"()
+    get_global $P2210, "@BLOCK"
+    $P2211 = $P2210."shift"()
+    $P2212 = $P2206($P2209, $P2211)
+    store_lex "$regex", $P2212
+.annotate 'line', 792
+    get_hll_global $P2213, ["PAST"], "Op"
+.annotate 'line', 794
+    get_hll_global $P2214, ["PAST"], "Var"
+    new $P2215, "ResizablePMCArray"
+    push $P2215, "Regex"
+    $P2216 = $P2214."new"("Regex" :named("name"), $P2215 :named("namespace"), "package" :named("scope"))
+    find_lex $P2217, "$regex"
+    $P2218 = $P2213."new"($P2216, $P2217, "callmethod" :named("pasttype"), "new" :named("name"))
+.annotate 'line', 792
+    store_lex "$past", $P2218
+.annotate 'line', 798
+    find_lex $P2219, "$regex"
+    find_lex $P2220, "$past"
+    unless_null $P2220, vivify_649
+    $P2220 = root_new ['parrot';'Hash']
+    store_lex "$past", $P2220
   vivify_649:
-    $P2227 = $P2226."ast"()
-    $P2228 = $P2224."!make"($P2227)
-    .return ($P2228)
-  control_2221:
+    set $P2220["sink"], $P2219
+.annotate 'line', 799
+    find_lex $P2221, "$/"
+    find_lex $P2222, "$past"
+    $P2223 = $P2221."!make"($P2222)
+.annotate 'line', 779
+    .return ($P2223)
+  control_2189:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2229, exception, "payload"
-    .return ($P2229)
+    getattribute $P2224, exception, "payload"
+    .return ($P2224)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<{ }>"  :subid("123_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2233
-.annotate 'line', 800
-    new $P2232, 'ExceptionHandler'
-    set_addr $P2232, control_2231
-    $P2232."handle_types"(.CONTROL_RETURN)
-    push_eh $P2232
-    .lex "self", self
-    .lex "$/", param_2233
-.annotate 'line', 801
-    find_lex $P2234, "$/"
-    get_hll_global $P2235, ["PAST"], "Op"
+.sub "quote_escape:sym<$>"  :subid("122_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2228
 .annotate 'line', 802
-    find_lex $P2236, "$/"
-    unless_null $P2236, vivify_650
-    $P2236 = root_new ['parrot';'Hash']
+    new $P2227, 'ExceptionHandler'
+    set_addr $P2227, control_2226
+    $P2227."handle_types"(.CONTROL_RETURN)
+    push_eh $P2227
+    .lex "self", self
+    .lex "$/", param_2228
+    find_lex $P2229, "$/"
+    find_lex $P2230, "$/"
+    unless_null $P2230, vivify_650
+    $P2230 = root_new ['parrot';'Hash']
   vivify_650:
-    set $P2237, $P2236["block"]
-    unless_null $P2237, vivify_651
-    new $P2237, "Undef"
+    set $P2231, $P2230["variable"]
+    unless_null $P2231, vivify_651
+    new $P2231, "Undef"
   vivify_651:
-    $P2238 = $P2237."ast"()
-    $P2239 = "block_immediate"($P2238)
-    find_lex $P2240, "$/"
-    $P2241 = $P2235."new"($P2239, "set S*" :named("pirop"), $P2240 :named("node"))
-.annotate 'line', 801
-    $P2242 = $P2234."!make"($P2241)
-.annotate 'line', 800
-    .return ($P2242)
-  control_2231:
+    $P2232 = $P2231."ast"()
+    $P2233 = $P2229."!make"($P2232)
+    .return ($P2233)
+  control_2226:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2243, exception, "payload"
-    .return ($P2243)
+    getattribute $P2234, exception, "payload"
+    .return ($P2234)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "quote_escape:sym<esc>"  :subid("124_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2247
-.annotate 'line', 805
-    new $P2246, 'ExceptionHandler'
-    set_addr $P2246, control_2245
-    $P2246."handle_types"(.CONTROL_RETURN)
-    push_eh $P2246
+.sub "quote_escape:sym<{ }>"  :subid("123_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2238
+.annotate 'line', 803
+    new $P2237, 'ExceptionHandler'
+    set_addr $P2237, control_2236
+    $P2237."handle_types"(.CONTROL_RETURN)
+    push_eh $P2237
     .lex "self", self
-    .lex "$/", param_2247
-    find_lex $P2248, "$/"
-    $P2249 = $P2248."!make"("\e")
-    .return ($P2249)
-  control_2245:
+    .lex "$/", param_2238
+.annotate 'line', 804
+    find_lex $P2239, "$/"
+    get_hll_global $P2240, ["PAST"], "Op"
+.annotate 'line', 805
+    find_lex $P2241, "$/"
+    unless_null $P2241, vivify_652
+    $P2241 = root_new ['parrot';'Hash']
+  vivify_652:
+    set $P2242, $P2241["block"]
+    unless_null $P2242, vivify_653
+    new $P2242, "Undef"
+  vivify_653:
+    $P2243 = $P2242."ast"()
+    $P2244 = "block_immediate"($P2243)
+    find_lex $P2245, "$/"
+    $P2246 = $P2240."new"($P2244, "set S*" :named("pirop"), $P2245 :named("node"))
+.annotate 'line', 804
+    $P2247 = $P2239."!make"($P2246)
+.annotate 'line', 803
+    .return ($P2247)
+  control_2236:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2250, exception, "payload"
-    .return ($P2250)
+    getattribute $P2248, exception, "payload"
+    .return ($P2248)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "postfix:sym<.>"  :subid("125_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2254
-.annotate 'line', 809
-    new $P2253, 'ExceptionHandler'
-    set_addr $P2253, control_2252
-    $P2253."handle_types"(.CONTROL_RETURN)
-    push_eh $P2253
+.sub "quote_escape:sym<esc>"  :subid("124_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2252
+.annotate 'line', 808
+    new $P2251, 'ExceptionHandler'
+    set_addr $P2251, control_2250
+    $P2251."handle_types"(.CONTROL_RETURN)
+    push_eh $P2251
     .lex "self", self
-    .lex "$/", param_2254
-    find_lex $P2255, "$/"
-    find_lex $P2256, "$/"
-    unless_null $P2256, vivify_652
-    $P2256 = root_new ['parrot';'Hash']
-  vivify_652:
-    set $P2257, $P2256["dotty"]
-    unless_null $P2257, vivify_653
-    new $P2257, "Undef"
-  vivify_653:
-    $P2258 = $P2257."ast"()
-    $P2259 = $P2255."!make"($P2258)
-    .return ($P2259)
-  control_2252:
+    .lex "$/", param_2252
+    find_lex $P2253, "$/"
+    $P2254 = $P2253."!make"("\e")
+    .return ($P2254)
+  control_2250:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2260, exception, "payload"
-    .return ($P2260)
+    getattribute $P2255, exception, "payload"
+    .return ($P2255)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "postfix:sym<++>"  :subid("126_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2264
-.annotate 'line', 811
-    new $P2263, 'ExceptionHandler'
-    set_addr $P2263, control_2262
-    $P2263."handle_types"(.CONTROL_RETURN)
-    push_eh $P2263
-    .lex "self", self
-    .lex "$/", param_2264
-.annotate 'line', 812
-    find_lex $P2265, "$/"
-    get_hll_global $P2266, ["PAST"], "Op"
-.annotate 'line', 813
-    new $P2267, "ResizablePMCArray"
-    push $P2267, "    clone %r, %0"
-    push $P2267, "    inc %0"
-    $P2268 = $P2266."new"("postfix:<++>" :named("name"), $P2267 :named("inline"), "inline" :named("pasttype"))
+.sub "postfix:sym<.>"  :subid("125_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2259
 .annotate 'line', 812
-    $P2269 = $P2265."!make"($P2268)
-.annotate 'line', 811
-    .return ($P2269)
-  control_2262:
+    new $P2258, 'ExceptionHandler'
+    set_addr $P2258, control_2257
+    $P2258."handle_types"(.CONTROL_RETURN)
+    push_eh $P2258
+    .lex "self", self
+    .lex "$/", param_2259
+    find_lex $P2260, "$/"
+    find_lex $P2261, "$/"
+    unless_null $P2261, vivify_654
+    $P2261 = root_new ['parrot';'Hash']
+  vivify_654:
+    set $P2262, $P2261["dotty"]
+    unless_null $P2262, vivify_655
+    new $P2262, "Undef"
+  vivify_655:
+    $P2263 = $P2262."ast"()
+    $P2264 = $P2260."!make"($P2263)
+    .return ($P2264)
+  control_2257:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2270, exception, "payload"
-    .return ($P2270)
+    getattribute $P2265, exception, "payload"
+    .return ($P2265)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "postfix:sym<-->"  :subid("127_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2274
-.annotate 'line', 817
-    new $P2273, 'ExceptionHandler'
-    set_addr $P2273, control_2272
-    $P2273."handle_types"(.CONTROL_RETURN)
-    push_eh $P2273
+.sub "postfix:sym<++>"  :subid("126_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2269
+.annotate 'line', 814
+    new $P2268, 'ExceptionHandler'
+    set_addr $P2268, control_2267
+    $P2268."handle_types"(.CONTROL_RETURN)
+    push_eh $P2268
     .lex "self", self
-    .lex "$/", param_2274
-.annotate 'line', 818
-    find_lex $P2275, "$/"
-    get_hll_global $P2276, ["PAST"], "Op"
-.annotate 'line', 819
-    new $P2277, "ResizablePMCArray"
-    push $P2277, "    clone %r, %0"
-    push $P2277, "    dec %0"
-    $P2278 = $P2276."new"("postfix:<-->" :named("name"), $P2277 :named("inline"), "inline" :named("pasttype"))
-.annotate 'line', 818
-    $P2279 = $P2275."!make"($P2278)
-.annotate 'line', 817
-    .return ($P2279)
-  control_2272:
+    .lex "$/", param_2269
+.annotate 'line', 815
+    find_lex $P2270, "$/"
+    get_hll_global $P2271, ["PAST"], "Op"
+.annotate 'line', 816
+    new $P2272, "ResizablePMCArray"
+    push $P2272, "    clone %r, %0"
+    push $P2272, "    inc %0"
+    $P2273 = $P2271."new"("postfix:<++>" :named("name"), $P2272 :named("inline"), "inline" :named("pasttype"))
+.annotate 'line', 815
+    $P2274 = $P2270."!make"($P2273)
+.annotate 'line', 814
+    .return ($P2274)
+  control_2267:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2280, exception, "payload"
-    .return ($P2280)
+    getattribute $P2275, exception, "payload"
+    .return ($P2275)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "prefix:sym<make>"  :subid("128_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2284
-.annotate 'line', 823
-    new $P2283, 'ExceptionHandler'
-    set_addr $P2283, control_2282
-    $P2283."handle_types"(.CONTROL_RETURN)
-    push_eh $P2283
+.sub "postfix:sym<-->"  :subid("127_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2279
+.annotate 'line', 820
+    new $P2278, 'ExceptionHandler'
+    set_addr $P2278, control_2277
+    $P2278."handle_types"(.CONTROL_RETURN)
+    push_eh $P2278
     .lex "self", self
-    .lex "$/", param_2284
-.annotate 'line', 824
-    find_lex $P2285, "$/"
-    get_hll_global $P2286, ["PAST"], "Op"
-.annotate 'line', 825
-    get_hll_global $P2287, ["PAST"], "Var"
-    $P2288 = $P2287."new"("$/" :named("name"), "contextual" :named("scope"))
-    find_lex $P2289, "$/"
-    $P2290 = $P2286."new"($P2288, "callmethod" :named("pasttype"), "!make" :named("name"), $P2289 :named("node"))
-.annotate 'line', 824
-    $P2291 = $P2285."!make"($P2290)
-.annotate 'line', 823
-    .return ($P2291)
-  control_2282:
+    .lex "$/", param_2279
+.annotate 'line', 821
+    find_lex $P2280, "$/"
+    get_hll_global $P2281, ["PAST"], "Op"
+.annotate 'line', 822
+    new $P2282, "ResizablePMCArray"
+    push $P2282, "    clone %r, %0"
+    push $P2282, "    dec %0"
+    $P2283 = $P2281."new"("postfix:<-->" :named("name"), $P2282 :named("inline"), "inline" :named("pasttype"))
+.annotate 'line', 821
+    $P2284 = $P2280."!make"($P2283)
+.annotate 'line', 820
+    .return ($P2284)
+  control_2277:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2292, exception, "payload"
-    .return ($P2292)
+    getattribute $P2285, exception, "payload"
+    .return ($P2285)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<next>"  :subid("129_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2297
-.annotate 'line', 841
-    new $P2296, 'ExceptionHandler'
-    set_addr $P2296, control_2295
-    $P2296."handle_types"(.CONTROL_RETURN)
-    push_eh $P2296
+.sub "prefix:sym<make>"  :subid("128_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2289
+.annotate 'line', 826
+    new $P2288, 'ExceptionHandler'
+    set_addr $P2288, control_2287
+    $P2288."handle_types"(.CONTROL_RETURN)
+    push_eh $P2288
     .lex "self", self
-    .lex "$/", param_2297
-    find_lex $P2298, "$/"
-    $P2299 = "control"($P2298, "CONTROL_LOOP_NEXT")
-    .return ($P2299)
-  control_2295:
+    .lex "$/", param_2289
+.annotate 'line', 827
+    find_lex $P2290, "$/"
+    get_hll_global $P2291, ["PAST"], "Op"
+.annotate 'line', 828
+    get_hll_global $P2292, ["PAST"], "Var"
+    $P2293 = $P2292."new"("$/" :named("name"), "contextual" :named("scope"))
+    find_lex $P2294, "$/"
+    $P2295 = $P2291."new"($P2293, "callmethod" :named("pasttype"), "!make" :named("name"), $P2294 :named("node"))
+.annotate 'line', 827
+    $P2296 = $P2290."!make"($P2295)
+.annotate 'line', 826
+    .return ($P2296)
+  control_2287:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2300, exception, "payload"
-    .return ($P2300)
+    getattribute $P2297, exception, "payload"
+    .return ($P2297)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<last>"  :subid("130_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2304
-.annotate 'line', 842
-    new $P2303, 'ExceptionHandler'
-    set_addr $P2303, control_2302
-    $P2303."handle_types"(.CONTROL_RETURN)
-    push_eh $P2303
+.sub "term:sym<next>"  :subid("129_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2302
+.annotate 'line', 844
+    new $P2301, 'ExceptionHandler'
+    set_addr $P2301, control_2300
+    $P2301."handle_types"(.CONTROL_RETURN)
+    push_eh $P2301
     .lex "self", self
-    .lex "$/", param_2304
-    find_lex $P2305, "$/"
-    $P2306 = "control"($P2305, "CONTROL_LOOP_LAST")
-    .return ($P2306)
-  control_2302:
+    .lex "$/", param_2302
+    find_lex $P2303, "$/"
+    $P2304 = "control"($P2303, "CONTROL_LOOP_NEXT")
+    .return ($P2304)
+  control_2300:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2307, exception, "payload"
-    .return ($P2307)
+    getattribute $P2305, exception, "payload"
+    .return ($P2305)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "term:sym<redo>"  :subid("131_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2311
-.annotate 'line', 843
-    new $P2310, 'ExceptionHandler'
-    set_addr $P2310, control_2309
-    $P2310."handle_types"(.CONTROL_RETURN)
-    push_eh $P2310
+.sub "term:sym<last>"  :subid("130_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2309
+.annotate 'line', 845
+    new $P2308, 'ExceptionHandler'
+    set_addr $P2308, control_2307
+    $P2308."handle_types"(.CONTROL_RETURN)
+    push_eh $P2308
     .lex "self", self
-    .lex "$/", param_2311
-    find_lex $P2312, "$/"
-    $P2313 = "control"($P2312, "CONTROL_LOOP_REDO")
-    .return ($P2313)
-  control_2309:
+    .lex "$/", param_2309
+    find_lex $P2310, "$/"
+    $P2311 = "control"($P2310, "CONTROL_LOOP_LAST")
+    .return ($P2311)
+  control_2307:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2314, exception, "payload"
-    .return ($P2314)
+    getattribute $P2312, exception, "payload"
+    .return ($P2312)
 .end
 
 
 .namespace ["NQP";"Actions"]
 .include "except_types.pasm"
-.sub "infix:sym<~~>"  :subid("132_1279589176.27948") :method :outer("11_1279589176.27948")
-    .param pmc param_2318
-.annotate 'line', 845
-    new $P2317, 'ExceptionHandler'
-    set_addr $P2317, control_2316
-    $P2317."handle_types"(.CONTROL_RETURN)
-    push_eh $P2317
-    .lex "self", self
-    .lex "$/", param_2318
+.sub "term:sym<redo>"  :subid("131_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2316
 .annotate 'line', 846
-    find_lex $P2319, "$/"
-    get_hll_global $P2320, ["PAST"], "Op"
-    find_lex $P2321, "$/"
-    $P2322 = $P2320."new"("callmethod" :named("pasttype"), "ACCEPTS" :named("name"), $P2321 :named("node"))
-    $P2323 = $P2319."!make"($P2322)
-.annotate 'line', 845
-    .return ($P2323)
-  control_2316:
+    new $P2315, 'ExceptionHandler'
+    set_addr $P2315, control_2314
+    $P2315."handle_types"(.CONTROL_RETURN)
+    push_eh $P2315
+    .lex "self", self
+    .lex "$/", param_2316
+    find_lex $P2317, "$/"
+    $P2318 = "control"($P2317, "CONTROL_LOOP_REDO")
+    .return ($P2318)
+  control_2314:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2324, exception, "payload"
-    .return ($P2324)
+    getattribute $P2319, exception, "payload"
+    .return ($P2319)
 .end
 
 
-.namespace ["NQP";"RegexActions"]
-.sub "_block2325"  :subid("133_1279589176.27948") :outer("11_1279589176.27948")
-.annotate 'line', 850
-    .const 'Sub' $P2411 = "140_1279589176.27948" 
-    capture_lex $P2411
-    .const 'Sub' $P2398 = "139_1279589176.27948" 
-    capture_lex $P2398
-    .const 'Sub' $P2381 = "138_1279589176.27948" 
-    capture_lex $P2381
-    .const 'Sub' $P2368 = "137_1279589176.27948" 
-    capture_lex $P2368
-    .const 'Sub' $P2355 = "136_1279589176.27948" 
-    capture_lex $P2355
-    .const 'Sub' $P2342 = "135_1279589176.27948" 
-    capture_lex $P2342
-    .const 'Sub' $P2327 = "134_1279589176.27948" 
-    capture_lex $P2327
-.annotate 'line', 884
-    .const 'Sub' $P2411 = "140_1279589176.27948" 
-    newclosure $P2436, $P2411
-.annotate 'line', 850
-    .return ($P2436)
+.namespace ["NQP";"Actions"]
+.include "except_types.pasm"
+.sub "infix:sym<~~>"  :subid("132_1280467483.70067") :method :outer("11_1280467483.70067")
+    .param pmc param_2323
+.annotate 'line', 848
+    new $P2322, 'ExceptionHandler'
+    set_addr $P2322, control_2321
+    $P2322."handle_types"(.CONTROL_RETURN)
+    push_eh $P2322
+    .lex "self", self
+    .lex "$/", param_2323
+.annotate 'line', 849
+    find_lex $P2324, "$/"
+    get_hll_global $P2325, ["PAST"], "Op"
+    find_lex $P2326, "$/"
+    $P2327 = $P2325."new"("callmethod" :named("pasttype"), "ACCEPTS" :named("name"), $P2326 :named("node"))
+    $P2328 = $P2324."!make"($P2327)
+.annotate 'line', 848
+    .return ($P2328)
+  control_2321:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2329, exception, "payload"
+    .return ($P2329)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
-.include "except_types.pasm"
-.sub "metachar:sym<:my>"  :subid("134_1279589176.27948") :method :outer("133_1279589176.27948")
-    .param pmc param_2330
-.annotate 'line', 852
-    new $P2329, 'ExceptionHandler'
-    set_addr $P2329, control_2328
-    $P2329."handle_types"(.CONTROL_RETURN)
-    push_eh $P2329
-    .lex "self", self
-    .lex "$/", param_2330
+.sub "_block2330"  :subid("133_1280467483.70067") :outer("11_1280467483.70067")
 .annotate 'line', 853
-    new $P2331, "Undef"
-    .lex "$past", $P2331
-    find_lex $P2332, "$/"
-    unless_null $P2332, vivify_654
-    $P2332 = root_new ['parrot';'Hash']
-  vivify_654:
-    set $P2333, $P2332["statement"]
-    unless_null $P2333, vivify_655
-    new $P2333, "Undef"
-  vivify_655:
-    $P2334 = $P2333."ast"()
-    store_lex "$past", $P2334
-.annotate 'line', 854
-    find_lex $P2335, "$/"
-    get_hll_global $P2336, ["PAST"], "Regex"
-    find_lex $P2337, "$past"
-    find_lex $P2338, "$/"
-    $P2339 = $P2336."new"($P2337, "pastnode" :named("pasttype"), "declarative" :named("subtype"), $P2338 :named("node"))
-    $P2340 = $P2335."!make"($P2339)
-.annotate 'line', 852
-    .return ($P2340)
-  control_2328:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P2341, exception, "payload"
-    .return ($P2341)
+    .const 'Sub' $P2416 = "140_1280467483.70067" 
+    capture_lex $P2416
+    .const 'Sub' $P2403 = "139_1280467483.70067" 
+    capture_lex $P2403
+    .const 'Sub' $P2386 = "138_1280467483.70067" 
+    capture_lex $P2386
+    .const 'Sub' $P2373 = "137_1280467483.70067" 
+    capture_lex $P2373
+    .const 'Sub' $P2360 = "136_1280467483.70067" 
+    capture_lex $P2360
+    .const 'Sub' $P2347 = "135_1280467483.70067" 
+    capture_lex $P2347
+    .const 'Sub' $P2332 = "134_1280467483.70067" 
+    capture_lex $P2332
+.annotate 'line', 887
+    .const 'Sub' $P2416 = "140_1280467483.70067" 
+    newclosure $P2441, $P2416
+.annotate 'line', 853
+    .return ($P2441)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
 .include "except_types.pasm"
-.sub "metachar:sym<{ }>"  :subid("135_1279589176.27948") :method :outer("133_1279589176.27948")
-    .param pmc param_2345
-.annotate 'line', 858
-    new $P2344, 'ExceptionHandler'
-    set_addr $P2344, control_2343
-    $P2344."handle_types"(.CONTROL_RETURN)
-    push_eh $P2344
-    .lex "self", self
-    .lex "$/", param_2345
-.annotate 'line', 859
-    find_lex $P2346, "$/"
-    get_hll_global $P2347, ["PAST"], "Regex"
-    find_lex $P2348, "$/"
-    unless_null $P2348, vivify_656
-    $P2348 = root_new ['parrot';'Hash']
+.sub "metachar:sym<:my>"  :subid("134_1280467483.70067") :method :outer("133_1280467483.70067")
+    .param pmc param_2335
+.annotate 'line', 855
+    new $P2334, 'ExceptionHandler'
+    set_addr $P2334, control_2333
+    $P2334."handle_types"(.CONTROL_RETURN)
+    push_eh $P2334
+    .lex "self", self
+    .lex "$/", param_2335
+.annotate 'line', 856
+    new $P2336, "Undef"
+    .lex "$past", $P2336
+    find_lex $P2337, "$/"
+    unless_null $P2337, vivify_656
+    $P2337 = root_new ['parrot';'Hash']
   vivify_656:
-    set $P2349, $P2348["codeblock"]
-    unless_null $P2349, vivify_657
-    new $P2349, "Undef"
+    set $P2338, $P2337["statement"]
+    unless_null $P2338, vivify_657
+    new $P2338, "Undef"
   vivify_657:
-    $P2350 = $P2349."ast"()
-    find_lex $P2351, "$/"
-    $P2352 = $P2347."new"($P2350, "pastnode" :named("pasttype"), $P2351 :named("node"))
-    $P2353 = $P2346."!make"($P2352)
-.annotate 'line', 858
-    .return ($P2353)
-  control_2343:
+    $P2339 = $P2338."ast"()
+    store_lex "$past", $P2339
+.annotate 'line', 857
+    find_lex $P2340, "$/"
+    get_hll_global $P2341, ["PAST"], "Regex"
+    find_lex $P2342, "$past"
+    find_lex $P2343, "$/"
+    $P2344 = $P2341."new"($P2342, "pastnode" :named("pasttype"), "declarative" :named("subtype"), $P2343 :named("node"))
+    $P2345 = $P2340."!make"($P2344)
+.annotate 'line', 855
+    .return ($P2345)
+  control_2333:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2354, exception, "payload"
-    .return ($P2354)
+    getattribute $P2346, exception, "payload"
+    .return ($P2346)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
 .include "except_types.pasm"
-.sub "metachar:sym<nqpvar>"  :subid("136_1279589176.27948") :method :outer("133_1279589176.27948")
-    .param pmc param_2358
-.annotate 'line', 863
-    new $P2357, 'ExceptionHandler'
-    set_addr $P2357, control_2356
-    $P2357."handle_types"(.CONTROL_RETURN)
-    push_eh $P2357
-    .lex "self", self
-    .lex "$/", param_2358
-.annotate 'line', 864
-    find_lex $P2359, "$/"
-    get_hll_global $P2360, ["PAST"], "Regex"
-    find_lex $P2361, "$/"
-    unless_null $P2361, vivify_658
-    $P2361 = root_new ['parrot';'Hash']
+.sub "metachar:sym<{ }>"  :subid("135_1280467483.70067") :method :outer("133_1280467483.70067")
+    .param pmc param_2350
+.annotate 'line', 861
+    new $P2349, 'ExceptionHandler'
+    set_addr $P2349, control_2348
+    $P2349."handle_types"(.CONTROL_RETURN)
+    push_eh $P2349
+    .lex "self", self
+    .lex "$/", param_2350
+.annotate 'line', 862
+    find_lex $P2351, "$/"
+    get_hll_global $P2352, ["PAST"], "Regex"
+    find_lex $P2353, "$/"
+    unless_null $P2353, vivify_658
+    $P2353 = root_new ['parrot';'Hash']
   vivify_658:
-    set $P2362, $P2361["var"]
-    unless_null $P2362, vivify_659
-    new $P2362, "Undef"
+    set $P2354, $P2353["codeblock"]
+    unless_null $P2354, vivify_659
+    new $P2354, "Undef"
   vivify_659:
-    $P2363 = $P2362."ast"()
-    find_lex $P2364, "$/"
-    $P2365 = $P2360."new"("!INTERPOLATE", $P2363, "subrule" :named("pasttype"), "method" :named("subtype"), $P2364 :named("node"))
-    $P2366 = $P2359."!make"($P2365)
-.annotate 'line', 863
-    .return ($P2366)
-  control_2356:
+    $P2355 = $P2354."ast"()
+    find_lex $P2356, "$/"
+    $P2357 = $P2352."new"($P2355, "pastnode" :named("pasttype"), $P2356 :named("node"))
+    $P2358 = $P2351."!make"($P2357)
+.annotate 'line', 861
+    .return ($P2358)
+  control_2348:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2367, exception, "payload"
-    .return ($P2367)
+    getattribute $P2359, exception, "payload"
+    .return ($P2359)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
 .include "except_types.pasm"
-.sub "assertion:sym<{ }>"  :subid("137_1279589176.27948") :method :outer("133_1279589176.27948")
-    .param pmc param_2371
-.annotate 'line', 868
-    new $P2370, 'ExceptionHandler'
-    set_addr $P2370, control_2369
-    $P2370."handle_types"(.CONTROL_RETURN)
-    push_eh $P2370
-    .lex "self", self
-    .lex "$/", param_2371
-.annotate 'line', 869
-    find_lex $P2372, "$/"
-    get_hll_global $P2373, ["PAST"], "Regex"
-    find_lex $P2374, "$/"
-    unless_null $P2374, vivify_660
-    $P2374 = root_new ['parrot';'Hash']
+.sub "metachar:sym<nqpvar>"  :subid("136_1280467483.70067") :method :outer("133_1280467483.70067")
+    .param pmc param_2363
+.annotate 'line', 866
+    new $P2362, 'ExceptionHandler'
+    set_addr $P2362, control_2361
+    $P2362."handle_types"(.CONTROL_RETURN)
+    push_eh $P2362
+    .lex "self", self
+    .lex "$/", param_2363
+.annotate 'line', 867
+    find_lex $P2364, "$/"
+    get_hll_global $P2365, ["PAST"], "Regex"
+    find_lex $P2366, "$/"
+    unless_null $P2366, vivify_660
+    $P2366 = root_new ['parrot';'Hash']
   vivify_660:
-    set $P2375, $P2374["codeblock"]
-    unless_null $P2375, vivify_661
-    new $P2375, "Undef"
+    set $P2367, $P2366["var"]
+    unless_null $P2367, vivify_661
+    new $P2367, "Undef"
   vivify_661:
-    $P2376 = $P2375."ast"()
-    find_lex $P2377, "$/"
-    $P2378 = $P2373."new"("!INTERPOLATE_REGEX", $P2376, "subrule" :named("pasttype"), "method" :named("subtype"), $P2377 :named("node"))
-    $P2379 = $P2372."!make"($P2378)
-.annotate 'line', 868
-    .return ($P2379)
-  control_2369:
+    $P2368 = $P2367."ast"()
+    find_lex $P2369, "$/"
+    $P2370 = $P2365."new"("!INTERPOLATE", $P2368, "subrule" :named("pasttype"), "method" :named("subtype"), $P2369 :named("node"))
+    $P2371 = $P2364."!make"($P2370)
+.annotate 'line', 866
+    .return ($P2371)
+  control_2361:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2380, exception, "payload"
-    .return ($P2380)
+    getattribute $P2372, exception, "payload"
+    .return ($P2372)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
 .include "except_types.pasm"
-.sub "assertion:sym<?{ }>"  :subid("138_1279589176.27948") :method :outer("133_1279589176.27948")
-    .param pmc param_2384
-.annotate 'line', 873
-    new $P2383, 'ExceptionHandler'
-    set_addr $P2383, control_2382
-    $P2383."handle_types"(.CONTROL_RETURN)
-    push_eh $P2383
-    .lex "self", self
-    .lex "$/", param_2384
-.annotate 'line', 874
-    find_lex $P2385, "$/"
-    get_hll_global $P2386, ["PAST"], "Regex"
-    find_lex $P2387, "$/"
-    unless_null $P2387, vivify_662
-    $P2387 = root_new ['parrot';'Hash']
+.sub "assertion:sym<{ }>"  :subid("137_1280467483.70067") :method :outer("133_1280467483.70067")
+    .param pmc param_2376
+.annotate 'line', 871
+    new $P2375, 'ExceptionHandler'
+    set_addr $P2375, control_2374
+    $P2375."handle_types"(.CONTROL_RETURN)
+    push_eh $P2375
+    .lex "self", self
+    .lex "$/", param_2376
+.annotate 'line', 872
+    find_lex $P2377, "$/"
+    get_hll_global $P2378, ["PAST"], "Regex"
+    find_lex $P2379, "$/"
+    unless_null $P2379, vivify_662
+    $P2379 = root_new ['parrot';'Hash']
   vivify_662:
-    set $P2388, $P2387["codeblock"]
-    unless_null $P2388, vivify_663
-    new $P2388, "Undef"
+    set $P2380, $P2379["codeblock"]
+    unless_null $P2380, vivify_663
+    new $P2380, "Undef"
   vivify_663:
-    $P2389 = $P2388."ast"()
-.annotate 'line', 875
+    $P2381 = $P2380."ast"()
+    find_lex $P2382, "$/"
+    $P2383 = $P2378."new"("!INTERPOLATE_REGEX", $P2381, "subrule" :named("pasttype"), "method" :named("subtype"), $P2382 :named("node"))
+    $P2384 = $P2377."!make"($P2383)
+.annotate 'line', 871
+    .return ($P2384)
+  control_2374:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P2385, exception, "payload"
+    .return ($P2385)
+.end
+
+
+.namespace ["NQP";"RegexActions"]
+.include "except_types.pasm"
+.sub "assertion:sym<?{ }>"  :subid("138_1280467483.70067") :method :outer("133_1280467483.70067")
+    .param pmc param_2389
+.annotate 'line', 876
+    new $P2388, 'ExceptionHandler'
+    set_addr $P2388, control_2387
+    $P2388."handle_types"(.CONTROL_RETURN)
+    push_eh $P2388
+    .lex "self", self
+    .lex "$/", param_2389
+.annotate 'line', 877
     find_lex $P2390, "$/"
-    unless_null $P2390, vivify_664
-    $P2390 = root_new ['parrot';'Hash']
+    get_hll_global $P2391, ["PAST"], "Regex"
+    find_lex $P2392, "$/"
+    unless_null $P2392, vivify_664
+    $P2392 = root_new ['parrot';'Hash']
   vivify_664:
-    set $P2391, $P2390["zw"]
-    unless_null $P2391, vivify_665
-    new $P2391, "Undef"
+    set $P2393, $P2392["codeblock"]
+    unless_null $P2393, vivify_665
+    new $P2393, "Undef"
   vivify_665:
-    set $S2392, $P2391
-    iseq $I2393, $S2392, "!"
-    find_lex $P2394, "$/"
-    $P2395 = $P2386."new"($P2389, "zerowidth" :named("subtype"), $I2393 :named("negate"), "pastnode" :named("pasttype"), $P2394 :named("node"))
-.annotate 'line', 874
-    $P2396 = $P2385."!make"($P2395)
-.annotate 'line', 873
-    .return ($P2396)
-  control_2382:
+    $P2394 = $P2393."ast"()
+.annotate 'line', 878
+    find_lex $P2395, "$/"
+    unless_null $P2395, vivify_666
+    $P2395 = root_new ['parrot';'Hash']
+  vivify_666:
+    set $P2396, $P2395["zw"]
+    unless_null $P2396, vivify_667
+    new $P2396, "Undef"
+  vivify_667:
+    set $S2397, $P2396
+    iseq $I2398, $S2397, "!"
+    find_lex $P2399, "$/"
+    $P2400 = $P2391."new"($P2394, "zerowidth" :named("subtype"), $I2398 :named("negate"), "pastnode" :named("pasttype"), $P2399 :named("node"))
+.annotate 'line', 877
+    $P2401 = $P2390."!make"($P2400)
+.annotate 'line', 876
+    .return ($P2401)
+  control_2387:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2397, exception, "payload"
-    .return ($P2397)
+    getattribute $P2402, exception, "payload"
+    .return ($P2402)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
 .include "except_types.pasm"
-.sub "assertion:sym<var>"  :subid("139_1279589176.27948") :method :outer("133_1279589176.27948")
-    .param pmc param_2401
-.annotate 'line', 879
-    new $P2400, 'ExceptionHandler'
-    set_addr $P2400, control_2399
-    $P2400."handle_types"(.CONTROL_RETURN)
-    push_eh $P2400
-    .lex "self", self
-    .lex "$/", param_2401
-.annotate 'line', 880
-    find_lex $P2402, "$/"
-    get_hll_global $P2403, ["PAST"], "Regex"
-    find_lex $P2404, "$/"
-    unless_null $P2404, vivify_666
-    $P2404 = root_new ['parrot';'Hash']
-  vivify_666:
-    set $P2405, $P2404["var"]
-    unless_null $P2405, vivify_667
-    new $P2405, "Undef"
-  vivify_667:
-    $P2406 = $P2405."ast"()
+.sub "assertion:sym<var>"  :subid("139_1280467483.70067") :method :outer("133_1280467483.70067")
+    .param pmc param_2406
+.annotate 'line', 882
+    new $P2405, 'ExceptionHandler'
+    set_addr $P2405, control_2404
+    $P2405."handle_types"(.CONTROL_RETURN)
+    push_eh $P2405
+    .lex "self", self
+    .lex "$/", param_2406
+.annotate 'line', 883
     find_lex $P2407, "$/"
-    $P2408 = $P2403."new"("!INTERPOLATE_REGEX", $P2406, "subrule" :named("pasttype"), "method" :named("subtype"), $P2407 :named("node"))
-    $P2409 = $P2402."!make"($P2408)
-.annotate 'line', 879
-    .return ($P2409)
-  control_2399:
+    get_hll_global $P2408, ["PAST"], "Regex"
+    find_lex $P2409, "$/"
+    unless_null $P2409, vivify_668
+    $P2409 = root_new ['parrot';'Hash']
+  vivify_668:
+    set $P2410, $P2409["var"]
+    unless_null $P2410, vivify_669
+    new $P2410, "Undef"
+  vivify_669:
+    $P2411 = $P2410."ast"()
+    find_lex $P2412, "$/"
+    $P2413 = $P2408."new"("!INTERPOLATE_REGEX", $P2411, "subrule" :named("pasttype"), "method" :named("subtype"), $P2412 :named("node"))
+    $P2414 = $P2407."!make"($P2413)
+.annotate 'line', 882
+    .return ($P2414)
+  control_2404:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2410, exception, "payload"
-    .return ($P2410)
+    getattribute $P2415, exception, "payload"
+    .return ($P2415)
 .end
 
 
 .namespace ["NQP";"RegexActions"]
 .include "except_types.pasm"
-.sub "codeblock"  :subid("140_1279589176.27948") :method :outer("133_1279589176.27948")
-    .param pmc param_2414
-.annotate 'line', 884
-    new $P2413, 'ExceptionHandler'
-    set_addr $P2413, control_2412
-    $P2413."handle_types"(.CONTROL_RETURN)
-    push_eh $P2413
-    .lex "self", self
-    .lex "$/", param_2414
-.annotate 'line', 885
-    new $P2415, "Undef"
-    .lex "$block", $P2415
+.sub "codeblock"  :subid("140_1280467483.70067") :method :outer("133_1280467483.70067")
+    .param pmc param_2419
 .annotate 'line', 887
-    new $P2416, "Undef"
-    .lex "$past", $P2416
-.annotate 'line', 885
-    find_lex $P2417, "$/"
-    unless_null $P2417, vivify_668
-    $P2417 = root_new ['parrot';'Hash']
-  vivify_668:
-    set $P2418, $P2417["block"]
-    unless_null $P2418, vivify_669
-    new $P2418, "Undef"
-  vivify_669:
-    $P2419 = $P2418."ast"()
-    store_lex "$block", $P2419
-.annotate 'line', 886
-    find_lex $P2420, "$block"
-    $P2420."blocktype"("immediate")
+    new $P2418, 'ExceptionHandler'
+    set_addr $P2418, control_2417
+    $P2418."handle_types"(.CONTROL_RETURN)
+    push_eh $P2418
+    .lex "self", self
+    .lex "$/", param_2419
 .annotate 'line', 888
-    get_hll_global $P2421, ["PAST"], "Stmts"
-.annotate 'line', 889
-    get_hll_global $P2422, ["PAST"], "Op"
+    new $P2420, "Undef"
+    .lex "$block", $P2420
 .annotate 'line', 890
-    get_hll_global $P2423, ["PAST"], "Var"
-    $P2424 = $P2423."new"("$/" :named("name"))
+    new $P2421, "Undef"
+    .lex "$past", $P2421
+.annotate 'line', 888
+    find_lex $P2422, "$/"
+    unless_null $P2422, vivify_670
+    $P2422 = root_new ['parrot';'Hash']
+  vivify_670:
+    set $P2423, $P2422["block"]
+    unless_null $P2423, vivify_671
+    new $P2423, "Undef"
+  vivify_671:
+    $P2424 = $P2423."ast"()
+    store_lex "$block", $P2424
+.annotate 'line', 889
+    find_lex $P2425, "$block"
+    $P2425."blocktype"("immediate")
 .annotate 'line', 891
-    get_hll_global $P2425, ["PAST"], "Op"
+    get_hll_global $P2426, ["PAST"], "Stmts"
+.annotate 'line', 892
+    get_hll_global $P2427, ["PAST"], "Op"
+.annotate 'line', 893
+    get_hll_global $P2428, ["PAST"], "Var"
+    $P2429 = $P2428."new"("$/" :named("name"))
+.annotate 'line', 894
+    get_hll_global $P2430, ["PAST"], "Op"
+.annotate 'line', 895
+    get_hll_global $P2431, ["PAST"], "Var"
+    $P2432 = $P2431."new"(unicode:"$\x{a2}" :named("name"))
+    $P2433 = $P2430."new"($P2432, "MATCH" :named("name"), "callmethod" :named("pasttype"))
+.annotate 'line', 894
+    $P2434 = $P2427."new"($P2429, $P2433, "bind" :named("pasttype"))
 .annotate 'line', 892
-    get_hll_global $P2426, ["PAST"], "Var"
-    $P2427 = $P2426."new"(unicode:"$\x{a2}" :named("name"))
-    $P2428 = $P2425."new"($P2427, "MATCH" :named("name"), "callmethod" :named("pasttype"))
+    find_lex $P2435, "$block"
+    $P2436 = $P2426."new"($P2434, $P2435)
 .annotate 'line', 891
-    $P2429 = $P2422."new"($P2424, $P2428, "bind" :named("pasttype"))
-.annotate 'line', 889
-    find_lex $P2430, "$block"
-    $P2431 = $P2421."new"($P2429, $P2430)
-.annotate 'line', 888
-    store_lex "$past", $P2431
-.annotate 'line', 900
-    find_lex $P2432, "$/"
-    find_lex $P2433, "$past"
-    $P2434 = $P2432."!make"($P2433)
-.annotate 'line', 884
-    .return ($P2434)
-  control_2412:
+    store_lex "$past", $P2436
+.annotate 'line', 903
+    find_lex $P2437, "$/"
+    find_lex $P2438, "$past"
+    $P2439 = $P2437."!make"($P2438)
+.annotate 'line', 887
+    .return ($P2439)
+  control_2417:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P2435, exception, "payload"
-    .return ($P2435)
+    getattribute $P2440, exception, "payload"
+    .return ($P2440)
 .end
 
 
 .namespace ["NQP";"Actions"]
-.sub "_block2438" :load :anon :subid("141_1279589176.27948")
+.sub "_block2443" :load :anon :subid("141_1280467483.70067")
 .annotate 'line', 3
-    .const 'Sub' $P2440 = "11_1279589176.27948" 
-    $P2441 = $P2440()
-    .return ($P2441)
+    .const 'Sub' $P2445 = "11_1280467483.70067" 
+    $P2446 = $P2445()
+    .return ($P2446)
 .end
 
 
 .namespace []
-.sub "_block2448" :load :anon :subid("143_1279589176.27948")
+.sub "_block2453" :load :anon :subid("143_1280467483.70067")
 .annotate 'line', 1
-    .const 'Sub' $P2450 = "10_1279589176.27948" 
-    $P2451 = $P2450()
-    .return ($P2451)
+    .const 'Sub' $P2455 = "10_1280467483.70067" 
+    $P2456 = $P2455()
+    .return ($P2456)
 .end
 
 ### .include 'src/cheats/nqp-builtins.pir'

Modified: branches/html_cleanup/ext/nqp-rx/src/stage0/P6Regex-s0.pir
==============================================================================
--- branches/html_cleanup/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/ext/nqp-rx/src/stage0/P6Regex-s0.pir	Tue Aug  3 22:29:26 2010	(r48299)
@@ -16,7 +16,7 @@
 ### .include 'gen/p6regex-grammar.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1279589163.12187")
+.sub "_block11"  :anon :subid("10_1280467470.54449")
 .annotate 'line', 0
     get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" 
     capture_lex $P14
@@ -30,153 +30,153 @@
 .annotate 'line', 3
     get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13" 
     capture_lex $P14
-    $P573 = $P14()
+    $P572 = $P14()
 .annotate 'line', 1
-    .return ($P573)
-    .const 'Sub' $P575 = "161_1279589163.12187" 
-    .return ($P575)
+    .return ($P572)
+    .const 'Sub' $P574 = "161_1280467470.54449" 
+    .return ($P574)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post162") :outer("10_1279589163.12187")
+.sub "" :load :init :subid("post162") :outer("10_1280467470.54449")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1279589163.12187" 
+    .const 'Sub' $P12 = "10_1280467470.54449" 
     .local pmc block
     set block, $P12
-    $P578 = get_root_global ["parrot"], "P6metaclass"
-    $P578."new_class"("Regex::P6Regex::Grammar", "HLL::Grammar" :named("parent"))
+    $P577 = get_root_global ["parrot"], "P6metaclass"
+    $P577."new_class"("Regex::P6Regex::Grammar", "HLL::Grammar" :named("parent"))
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block13"  :subid("11_1279589163.12187") :outer("10_1279589163.12187")
+.sub "_block13"  :subid("11_1280467470.54449") :outer("10_1280467470.54449")
 .annotate 'line', 3
-    .const 'Sub' $P562 = "158_1279589163.12187" 
-    capture_lex $P562
-    .const 'Sub' $P555 = "156_1279589163.12187" 
-    capture_lex $P555
-    .const 'Sub' $P548 = "154_1279589163.12187" 
-    capture_lex $P548
-    .const 'Sub' $P528 = "149_1279589163.12187" 
-    capture_lex $P528
-    .const 'Sub' $P494 = "143_1279589163.12187" 
-    capture_lex $P494
-    .const 'Sub' $P482 = "140_1279589163.12187" 
-    capture_lex $P482
-    .const 'Sub' $P470 = "137_1279589163.12187" 
-    capture_lex $P470
-    .const 'Sub' $P464 = "135_1279589163.12187" 
-    capture_lex $P464
-    .const 'Sub' $P453 = "132_1279589163.12187" 
-    capture_lex $P453
-    .const 'Sub' $P442 = "129_1279589163.12187" 
-    capture_lex $P442
-    .const 'Sub' $P433 = "125_1279589163.12187" 
-    capture_lex $P433
-    .const 'Sub' $P427 = "123_1279589163.12187" 
-    capture_lex $P427
-    .const 'Sub' $P421 = "121_1279589163.12187" 
-    capture_lex $P421
-    .const 'Sub' $P415 = "119_1279589163.12187" 
-    capture_lex $P415
-    .const 'Sub' $P409 = "117_1279589163.12187" 
-    capture_lex $P409
-    .const 'Sub' $P401 = "115_1279589163.12187" 
-    capture_lex $P401
-    .const 'Sub' $P390 = "113_1279589163.12187" 
-    capture_lex $P390
-    .const 'Sub' $P379 = "111_1279589163.12187" 
-    capture_lex $P379
-    .const 'Sub' $P373 = "109_1279589163.12187" 
-    capture_lex $P373
-    .const 'Sub' $P367 = "107_1279589163.12187" 
-    capture_lex $P367
-    .const 'Sub' $P361 = "105_1279589163.12187" 
-    capture_lex $P361
-    .const 'Sub' $P355 = "103_1279589163.12187" 
-    capture_lex $P355
-    .const 'Sub' $P349 = "101_1279589163.12187" 
-    capture_lex $P349
-    .const 'Sub' $P343 = "99_1279589163.12187" 
-    capture_lex $P343
-    .const 'Sub' $P337 = "97_1279589163.12187" 
-    capture_lex $P337
-    .const 'Sub' $P331 = "95_1279589163.12187" 
-    capture_lex $P331
-    .const 'Sub' $P319 = "91_1279589163.12187" 
-    capture_lex $P319
-    .const 'Sub' $P309 = "89_1279589163.12187" 
-    capture_lex $P309
-    .const 'Sub' $P302 = "87_1279589163.12187" 
-    capture_lex $P302
-    .const 'Sub' $P290 = "85_1279589163.12187" 
-    capture_lex $P290
-    .const 'Sub' $P283 = "83_1279589163.12187" 
-    capture_lex $P283
-    .const 'Sub' $P277 = "81_1279589163.12187" 
-    capture_lex $P277
-    .const 'Sub' $P271 = "79_1279589163.12187" 
-    capture_lex $P271
-    .const 'Sub' $P264 = "77_1279589163.12187" 
-    capture_lex $P264
-    .const 'Sub' $P257 = "75_1279589163.12187" 
-    capture_lex $P257
-    .const 'Sub' $P250 = "73_1279589163.12187" 
-    capture_lex $P250
-    .const 'Sub' $P243 = "71_1279589163.12187" 
-    capture_lex $P243
-    .const 'Sub' $P237 = "69_1279589163.12187" 
-    capture_lex $P237
-    .const 'Sub' $P231 = "67_1279589163.12187" 
-    capture_lex $P231
-    .const 'Sub' $P225 = "65_1279589163.12187" 
-    capture_lex $P225
-    .const 'Sub' $P219 = "63_1279589163.12187" 
-    capture_lex $P219
-    .const 'Sub' $P213 = "61_1279589163.12187" 
-    capture_lex $P213
-    .const 'Sub' $P208 = "59_1279589163.12187" 
-    capture_lex $P208
-    .const 'Sub' $P203 = "57_1279589163.12187" 
-    capture_lex $P203
-    .const 'Sub' $P197 = "55_1279589163.12187" 
-    capture_lex $P197
-    .const 'Sub' $P191 = "53_1279589163.12187" 
-    capture_lex $P191
-    .const 'Sub' $P185 = "51_1279589163.12187" 
-    capture_lex $P185
-    .const 'Sub' $P170 = "46_1279589163.12187" 
-    capture_lex $P170
-    .const 'Sub' $P155 = "44_1279589163.12187" 
-    capture_lex $P155
-    .const 'Sub' $P148 = "42_1279589163.12187" 
-    capture_lex $P148
-    .const 'Sub' $P141 = "40_1279589163.12187" 
-    capture_lex $P141
-    .const 'Sub' $P134 = "38_1279589163.12187" 
-    capture_lex $P134
-    .const 'Sub' $P117 = "33_1279589163.12187" 
-    capture_lex $P117
-    .const 'Sub' $P105 = "30_1279589163.12187" 
-    capture_lex $P105
-    .const 'Sub' $P98 = "28_1279589163.12187" 
-    capture_lex $P98
-    .const 'Sub' $P88 = "26_1279589163.12187" 
-    capture_lex $P88
-    .const 'Sub' $P81 = "24_1279589163.12187" 
-    capture_lex $P81
-    .const 'Sub' $P69 = "22_1279589163.12187" 
-    capture_lex $P69
-    .const 'Sub' $P62 = "20_1279589163.12187" 
-    capture_lex $P62
-    .const 'Sub' $P55 = "18_1279589163.12187" 
-    capture_lex $P55
-    .const 'Sub' $P45 = "15_1279589163.12187" 
-    capture_lex $P45
-    .const 'Sub' $P38 = "13_1279589163.12187" 
-    capture_lex $P38
-    .const 'Sub' $P15 = "12_1279589163.12187" 
+    .const 'Sub' $P561 = "158_1280467470.54449" 
+    capture_lex $P561
+    .const 'Sub' $P554 = "156_1280467470.54449" 
+    capture_lex $P554
+    .const 'Sub' $P547 = "154_1280467470.54449" 
+    capture_lex $P547
+    .const 'Sub' $P527 = "149_1280467470.54449" 
+    capture_lex $P527
+    .const 'Sub' $P493 = "143_1280467470.54449" 
+    capture_lex $P493
+    .const 'Sub' $P481 = "140_1280467470.54449" 
+    capture_lex $P481
+    .const 'Sub' $P469 = "137_1280467470.54449" 
+    capture_lex $P469
+    .const 'Sub' $P463 = "135_1280467470.54449" 
+    capture_lex $P463
+    .const 'Sub' $P452 = "132_1280467470.54449" 
+    capture_lex $P452
+    .const 'Sub' $P441 = "129_1280467470.54449" 
+    capture_lex $P441
+    .const 'Sub' $P432 = "125_1280467470.54449" 
+    capture_lex $P432
+    .const 'Sub' $P426 = "123_1280467470.54449" 
+    capture_lex $P426
+    .const 'Sub' $P420 = "121_1280467470.54449" 
+    capture_lex $P420
+    .const 'Sub' $P414 = "119_1280467470.54449" 
+    capture_lex $P414
+    .const 'Sub' $P408 = "117_1280467470.54449" 
+    capture_lex $P408
+    .const 'Sub' $P400 = "115_1280467470.54449" 
+    capture_lex $P400
+    .const 'Sub' $P389 = "113_1280467470.54449" 
+    capture_lex $P389
+    .const 'Sub' $P378 = "111_1280467470.54449" 
+    capture_lex $P378
+    .const 'Sub' $P372 = "109_1280467470.54449" 
+    capture_lex $P372
+    .const 'Sub' $P366 = "107_1280467470.54449" 
+    capture_lex $P366
+    .const 'Sub' $P360 = "105_1280467470.54449" 
+    capture_lex $P360
+    .const 'Sub' $P354 = "103_1280467470.54449" 
+    capture_lex $P354
+    .const 'Sub' $P348 = "101_1280467470.54449" 
+    capture_lex $P348
+    .const 'Sub' $P342 = "99_1280467470.54449" 
+    capture_lex $P342
+    .const 'Sub' $P336 = "97_1280467470.54449" 
+    capture_lex $P336
+    .const 'Sub' $P330 = "95_1280467470.54449" 
+    capture_lex $P330
+    .const 'Sub' $P318 = "91_1280467470.54449" 
+    capture_lex $P318
+    .const 'Sub' $P308 = "89_1280467470.54449" 
+    capture_lex $P308
+    .const 'Sub' $P301 = "87_1280467470.54449" 
+    capture_lex $P301
+    .const 'Sub' $P289 = "85_1280467470.54449" 
+    capture_lex $P289
+    .const 'Sub' $P282 = "83_1280467470.54449" 
+    capture_lex $P282
+    .const 'Sub' $P276 = "81_1280467470.54449" 
+    capture_lex $P276
+    .const 'Sub' $P270 = "79_1280467470.54449" 
+    capture_lex $P270
+    .const 'Sub' $P263 = "77_1280467470.54449" 
+    capture_lex $P263
+    .const 'Sub' $P256 = "75_1280467470.54449" 
+    capture_lex $P256
+    .const 'Sub' $P249 = "73_1280467470.54449" 
+    capture_lex $P249
+    .const 'Sub' $P242 = "71_1280467470.54449" 
+    capture_lex $P242
+    .const 'Sub' $P236 = "69_1280467470.54449" 
+    capture_lex $P236
+    .const 'Sub' $P230 = "67_1280467470.54449" 
+    capture_lex $P230
+    .const 'Sub' $P224 = "65_1280467470.54449" 
+    capture_lex $P224
+    .const 'Sub' $P218 = "63_1280467470.54449" 
+    capture_lex $P218
+    .const 'Sub' $P212 = "61_1280467470.54449" 
+    capture_lex $P212
+    .const 'Sub' $P207 = "59_1280467470.54449" 
+    capture_lex $P207
+    .const 'Sub' $P202 = "57_1280467470.54449" 
+    capture_lex $P202
+    .const 'Sub' $P196 = "55_1280467470.54449" 
+    capture_lex $P196
+    .const 'Sub' $P190 = "53_1280467470.54449" 
+    capture_lex $P190
+    .const 'Sub' $P184 = "51_1280467470.54449" 
+    capture_lex $P184
+    .const 'Sub' $P169 = "46_1280467470.54449" 
+    capture_lex $P169
+    .const 'Sub' $P154 = "44_1280467470.54449" 
+    capture_lex $P154
+    .const 'Sub' $P147 = "42_1280467470.54449" 
+    capture_lex $P147
+    .const 'Sub' $P140 = "40_1280467470.54449" 
+    capture_lex $P140
+    .const 'Sub' $P133 = "38_1280467470.54449" 
+    capture_lex $P133
+    .const 'Sub' $P116 = "33_1280467470.54449" 
+    capture_lex $P116
+    .const 'Sub' $P104 = "30_1280467470.54449" 
+    capture_lex $P104
+    .const 'Sub' $P97 = "28_1280467470.54449" 
+    capture_lex $P97
+    .const 'Sub' $P87 = "26_1280467470.54449" 
+    capture_lex $P87
+    .const 'Sub' $P80 = "24_1280467470.54449" 
+    capture_lex $P80
+    .const 'Sub' $P68 = "22_1280467470.54449" 
+    capture_lex $P68
+    .const 'Sub' $P61 = "20_1280467470.54449" 
+    capture_lex $P61
+    .const 'Sub' $P54 = "18_1280467470.54449" 
+    capture_lex $P54
+    .const 'Sub' $P44 = "15_1280467470.54449" 
+    capture_lex $P44
+    .const 'Sub' $P37 = "13_1280467470.54449" 
+    capture_lex $P37
+    .const 'Sub' $P15 = "12_1280467470.54449" 
     capture_lex $P15
     $P0 = find_dynamic_lex "$*CTXSAVE"
     if null $P0 goto ctxsave_done
@@ -184,17 +184,17 @@
     unless $I0 goto ctxsave_done
     $P0."ctxsave"()
   ctxsave_done:
-    .const 'Sub' $P562 = "158_1279589163.12187" 
-    capture_lex $P562
-    .return ($P562)
-    .const 'Sub' $P570 = "160_1279589163.12187" 
-    .return ($P570)
+    .const 'Sub' $P561 = "158_1280467470.54449" 
+    capture_lex $P561
+    .return ($P561)
+    .const 'Sub' $P569 = "160_1280467470.54449" 
+    .return ($P569)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
 .include "except_types.pasm"
-.sub "obs"  :subid("12_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "obs"  :subid("12_1280467470.54449") :method :outer("11_1280467470.54449")
     .param pmc param_18
     .param pmc param_19
     .param pmc param_20 :optional
@@ -216,7 +216,7 @@
 .annotate 'line', 4
     find_lex $P22, "self"
     new $P23, "String"
-    assign $P23, "Obsolete use of "
+    assign $P23, "Unsupported use of "
     find_lex $P24, "$old"
     set $S25, $P24
     concat $P26, $P23, $S25
@@ -229,7454 +229,7453 @@
     find_lex $P32, "$new"
     set $S33, $P32
     concat $P34, $P31, $S33
-    concat $P35, $P34, " instead"
-    $P36 = $P22."panic"($P35)
+    $P35 = $P22."panic"($P34)
 .annotate 'line', 3
-    .return ($P36)
+    .return ($P35)
   control_16:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P37, exception, "payload"
-    .return ($P37)
+    getattribute $P36, exception, "payload"
+    .return ($P36)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "ws"  :subid("13_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "ws"  :subid("13_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx39_tgt
-    .local int rx39_pos
-    .local int rx39_off
-    .local int rx39_eos
-    .local int rx39_rep
-    .local pmc rx39_cur
-    (rx39_cur, rx39_pos, rx39_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx39_cur
-    .local pmc match
-    .lex "$/", match
-    length rx39_eos, rx39_tgt
-    gt rx39_pos, rx39_eos, rx39_done
-    set rx39_off, 0
-    lt rx39_pos, 2, rx39_start
-    sub rx39_off, rx39_pos, 1
-    substr rx39_tgt, rx39_tgt, rx39_off
-  rx39_start:
-    eq $I10, 1, rx39_restart
-    rx39_cur."!cursor_debug"("START ", "ws")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan42_done
-    goto rxscan42_scan
-  rxscan42_loop:
-    ($P10) = rx39_cur."from"()
-    inc $P10
-    set rx39_pos, $P10
-    ge rx39_pos, rx39_eos, rxscan42_done
-  rxscan42_scan:
-    set_addr $I10, rxscan42_loop
-    rx39_cur."!mark_push"(0, rx39_pos, $I10)
-  rxscan42_done:
+    .local string rx38_tgt
+    .local int rx38_pos
+    .local int rx38_off
+    .local int rx38_eos
+    .local int rx38_rep
+    .local pmc rx38_cur
+    (rx38_cur, rx38_pos, rx38_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx38_cur
+    .local pmc match
+    .lex "$/", match
+    length rx38_eos, rx38_tgt
+    gt rx38_pos, rx38_eos, rx38_done
+    set rx38_off, 0
+    lt rx38_pos, 2, rx38_start
+    sub rx38_off, rx38_pos, 1
+    substr rx38_tgt, rx38_tgt, rx38_off
+  rx38_start:
+    eq $I10, 1, rx38_restart
+    rx38_cur."!cursor_debug"("START ", "ws")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan41_done
+    goto rxscan41_scan
+  rxscan41_loop:
+    ($P10) = rx38_cur."from"()
+    inc $P10
+    set rx38_pos, $P10
+    ge rx38_pos, rx38_eos, rxscan41_done
+  rxscan41_scan:
+    set_addr $I10, rxscan41_loop
+    rx38_cur."!mark_push"(0, rx38_pos, $I10)
+  rxscan41_done:
 .annotate 'line', 8
-  # rx rxquantr43 ** 0..*
-    set_addr $I10, rxquantr43_done
-    rx39_cur."!mark_push"(0, rx39_pos, $I10)
-  rxquantr43_loop:
-  alt44_0:
-    set_addr $I10, alt44_1
-    rx39_cur."!mark_push"(0, rx39_pos, $I10)
+  # rx rxquantr42 ** 0..*
+    set_addr $I10, rxquantr42_done
+    rx38_cur."!mark_push"(0, rx38_pos, $I10)
+  rxquantr42_loop:
+  alt43_0:
+    set_addr $I10, alt43_1
+    rx38_cur."!mark_push"(0, rx38_pos, $I10)
   # rx charclass_q s r 1..-1
-    sub $I10, rx39_pos, rx39_off
-    find_not_cclass $I11, 32, rx39_tgt, $I10, rx39_eos
+    sub $I10, rx38_pos, rx38_off
+    find_not_cclass $I11, 32, rx38_tgt, $I10, rx38_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx39_fail
-    add rx39_pos, rx39_off, $I11
-    goto alt44_end
-  alt44_1:
+    lt $I11, $I12, rx38_fail
+    add rx38_pos, rx38_off, $I11
+    goto alt43_end
+  alt43_1:
   # rx literal  "#"
-    add $I11, rx39_pos, 1
-    gt $I11, rx39_eos, rx39_fail
-    sub $I11, rx39_pos, rx39_off
-    substr $S10, rx39_tgt, $I11, 1
-    ne $S10, "#", rx39_fail
-    add rx39_pos, 1
+    add $I11, rx38_pos, 1
+    gt $I11, rx38_eos, rx38_fail
+    sub $I11, rx38_pos, rx38_off
+    substr $S10, rx38_tgt, $I11, 1
+    ne $S10, "#", rx38_fail
+    add rx38_pos, 1
   # rx charclass_q N r 0..-1
-    sub $I10, rx39_pos, rx39_off
-    find_cclass $I11, 4096, rx39_tgt, $I10, rx39_eos
-    add rx39_pos, rx39_off, $I11
-  alt44_end:
-    set_addr $I10, rxquantr43_done
-    (rx39_rep) = rx39_cur."!mark_commit"($I10)
-    set_addr $I10, rxquantr43_done
-    rx39_cur."!mark_push"(rx39_rep, rx39_pos, $I10)
-    goto rxquantr43_loop
-  rxquantr43_done:
-  # rx pass
-    rx39_cur."!cursor_pass"(rx39_pos, "ws")
-    rx39_cur."!cursor_debug"("PASS  ", "ws", " at pos=", rx39_pos)
-    .return (rx39_cur)
-  rx39_restart:
-.annotate 'line', 3
-    rx39_cur."!cursor_debug"("NEXT ", "ws")
-  rx39_fail:
-    (rx39_rep, rx39_pos, $I10, $P10) = rx39_cur."!mark_fail"(0)
-    lt rx39_pos, -1, rx39_done
-    eq rx39_pos, -1, rx39_fail
-    jump $I10
-  rx39_done:
-    rx39_cur."!cursor_fail"()
-    rx39_cur."!cursor_debug"("FAIL  ", "ws")
-    .return (rx39_cur)
+    sub $I10, rx38_pos, rx38_off
+    find_cclass $I11, 4096, rx38_tgt, $I10, rx38_eos
+    add rx38_pos, rx38_off, $I11
+  alt43_end:
+    set_addr $I10, rxquantr42_done
+    (rx38_rep) = rx38_cur."!mark_commit"($I10)
+    set_addr $I10, rxquantr42_done
+    rx38_cur."!mark_push"(rx38_rep, rx38_pos, $I10)
+    goto rxquantr42_loop
+  rxquantr42_done:
+  # rx pass
+    rx38_cur."!cursor_pass"(rx38_pos, "ws")
+    rx38_cur."!cursor_debug"("PASS  ", "ws", " at pos=", rx38_pos)
+    .return (rx38_cur)
+  rx38_restart:
+.annotate 'line', 3
+    rx38_cur."!cursor_debug"("NEXT ", "ws")
+  rx38_fail:
+    (rx38_rep, rx38_pos, $I10, $P10) = rx38_cur."!mark_fail"(0)
+    lt rx38_pos, -1, rx38_done
+    eq rx38_pos, -1, rx38_fail
+    jump $I10
+  rx38_done:
+    rx38_cur."!cursor_fail"()
+    rx38_cur."!cursor_debug"("FAIL  ", "ws")
+    .return (rx38_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__ws"  :subid("14_1279589163.12187") :method
-.annotate 'line', 3
-    new $P41, "ResizablePMCArray"
-    push $P41, ""
-    .return ($P41)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "normspace"  :subid("15_1279589163.12187") :method :outer("11_1279589163.12187")
-.annotate 'line', 3
-    .const 'Sub' $P51 = "17_1279589163.12187" 
-    capture_lex $P51
-    .local string rx46_tgt
-    .local int rx46_pos
-    .local int rx46_off
-    .local int rx46_eos
-    .local int rx46_rep
-    .local pmc rx46_cur
-    (rx46_cur, rx46_pos, rx46_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx46_cur
-    .local pmc match
-    .lex "$/", match
-    length rx46_eos, rx46_tgt
-    gt rx46_pos, rx46_eos, rx46_done
-    set rx46_off, 0
-    lt rx46_pos, 2, rx46_start
-    sub rx46_off, rx46_pos, 1
-    substr rx46_tgt, rx46_tgt, rx46_off
-  rx46_start:
-    eq $I10, 1, rx46_restart
-    rx46_cur."!cursor_debug"("START ", "normspace")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan49_done
-    goto rxscan49_scan
-  rxscan49_loop:
-    ($P10) = rx46_cur."from"()
-    inc $P10
-    set rx46_pos, $P10
-    ge rx46_pos, rx46_eos, rxscan49_done
-  rxscan49_scan:
-    set_addr $I10, rxscan49_loop
-    rx46_cur."!mark_push"(0, rx46_pos, $I10)
-  rxscan49_done:
+.sub "!PREFIX__ws"  :subid("14_1280467470.54449") :method
+.annotate 'line', 3
+    new $P40, "ResizablePMCArray"
+    push $P40, ""
+    .return ($P40)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Grammar"]
+.sub "normspace"  :subid("15_1280467470.54449") :method :outer("11_1280467470.54449")
+.annotate 'line', 3
+    .const 'Sub' $P50 = "17_1280467470.54449" 
+    capture_lex $P50
+    .local string rx45_tgt
+    .local int rx45_pos
+    .local int rx45_off
+    .local int rx45_eos
+    .local int rx45_rep
+    .local pmc rx45_cur
+    (rx45_cur, rx45_pos, rx45_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx45_cur
+    .local pmc match
+    .lex "$/", match
+    length rx45_eos, rx45_tgt
+    gt rx45_pos, rx45_eos, rx45_done
+    set rx45_off, 0
+    lt rx45_pos, 2, rx45_start
+    sub rx45_off, rx45_pos, 1
+    substr rx45_tgt, rx45_tgt, rx45_off
+  rx45_start:
+    eq $I10, 1, rx45_restart
+    rx45_cur."!cursor_debug"("START ", "normspace")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan48_done
+    goto rxscan48_scan
+  rxscan48_loop:
+    ($P10) = rx45_cur."from"()
+    inc $P10
+    set rx45_pos, $P10
+    ge rx45_pos, rx45_eos, rxscan48_done
+  rxscan48_scan:
+    set_addr $I10, rxscan48_loop
+    rx45_cur."!mark_push"(0, rx45_pos, $I10)
+  rxscan48_done:
 .annotate 'line', 10
   # rx subrule "before" subtype=zerowidth negate=
-    rx46_cur."!cursor_pos"(rx46_pos)
-    .const 'Sub' $P51 = "17_1279589163.12187" 
-    capture_lex $P51
-    $P10 = rx46_cur."before"($P51)
-    unless $P10, rx46_fail
+    rx45_cur."!cursor_pos"(rx45_pos)
+    .const 'Sub' $P50 = "17_1280467470.54449" 
+    capture_lex $P50
+    $P10 = rx45_cur."before"($P50)
+    unless $P10, rx45_fail
   # rx subrule "ws" subtype=method negate=
-    rx46_cur."!cursor_pos"(rx46_pos)
-    $P10 = rx46_cur."ws"()
-    unless $P10, rx46_fail
-    rx46_pos = $P10."pos"()
+    rx45_cur."!cursor_pos"(rx45_pos)
+    $P10 = rx45_cur."ws"()
+    unless $P10, rx45_fail
+    rx45_pos = $P10."pos"()
   # rx pass
-    rx46_cur."!cursor_pass"(rx46_pos, "normspace")
-    rx46_cur."!cursor_debug"("PASS  ", "normspace", " at pos=", rx46_pos)
-    .return (rx46_cur)
-  rx46_restart:
+    rx45_cur."!cursor_pass"(rx45_pos, "normspace")
+    rx45_cur."!cursor_debug"("PASS  ", "normspace", " at pos=", rx45_pos)
+    .return (rx45_cur)
+  rx45_restart:
 .annotate 'line', 3
-    rx46_cur."!cursor_debug"("NEXT ", "normspace")
-  rx46_fail:
-    (rx46_rep, rx46_pos, $I10, $P10) = rx46_cur."!mark_fail"(0)
-    lt rx46_pos, -1, rx46_done
-    eq rx46_pos, -1, rx46_fail
+    rx45_cur."!cursor_debug"("NEXT ", "normspace")
+  rx45_fail:
+    (rx45_rep, rx45_pos, $I10, $P10) = rx45_cur."!mark_fail"(0)
+    lt rx45_pos, -1, rx45_done
+    eq rx45_pos, -1, rx45_fail
     jump $I10
-  rx46_done:
-    rx46_cur."!cursor_fail"()
-    rx46_cur."!cursor_debug"("FAIL  ", "normspace")
-    .return (rx46_cur)
+  rx45_done:
+    rx45_cur."!cursor_fail"()
+    rx45_cur."!cursor_debug"("FAIL  ", "normspace")
+    .return (rx45_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__normspace"  :subid("16_1279589163.12187") :method
+.sub "!PREFIX__normspace"  :subid("16_1280467470.54449") :method
 .annotate 'line', 3
-    new $P48, "ResizablePMCArray"
-    push $P48, ""
-    .return ($P48)
+    new $P47, "ResizablePMCArray"
+    push $P47, ""
+    .return ($P47)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block50"  :anon :subid("17_1279589163.12187") :method :outer("15_1279589163.12187")
+.sub "_block49"  :anon :subid("17_1280467470.54449") :method :outer("15_1280467470.54449")
 .annotate 'line', 10
-    .local string rx52_tgt
-    .local int rx52_pos
-    .local int rx52_off
-    .local int rx52_eos
-    .local int rx52_rep
-    .local pmc rx52_cur
-    (rx52_cur, rx52_pos, rx52_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx52_cur
-    .local pmc match
-    .lex "$/", match
-    length rx52_eos, rx52_tgt
-    gt rx52_pos, rx52_eos, rx52_done
-    set rx52_off, 0
-    lt rx52_pos, 2, rx52_start
-    sub rx52_off, rx52_pos, 1
-    substr rx52_tgt, rx52_tgt, rx52_off
-  rx52_start:
-    eq $I10, 1, rx52_restart
-    rx52_cur."!cursor_debug"("START ", "")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan53_done
-    goto rxscan53_scan
-  rxscan53_loop:
-    ($P10) = rx52_cur."from"()
-    inc $P10
-    set rx52_pos, $P10
-    ge rx52_pos, rx52_eos, rxscan53_done
-  rxscan53_scan:
-    set_addr $I10, rxscan53_loop
-    rx52_cur."!mark_push"(0, rx52_pos, $I10)
-  rxscan53_done:
-  alt54_0:
-    set_addr $I10, alt54_1
-    rx52_cur."!mark_push"(0, rx52_pos, $I10)
+    .local string rx51_tgt
+    .local int rx51_pos
+    .local int rx51_off
+    .local int rx51_eos
+    .local int rx51_rep
+    .local pmc rx51_cur
+    (rx51_cur, rx51_pos, rx51_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx51_cur
+    .local pmc match
+    .lex "$/", match
+    length rx51_eos, rx51_tgt
+    gt rx51_pos, rx51_eos, rx51_done
+    set rx51_off, 0
+    lt rx51_pos, 2, rx51_start
+    sub rx51_off, rx51_pos, 1
+    substr rx51_tgt, rx51_tgt, rx51_off
+  rx51_start:
+    eq $I10, 1, rx51_restart
+    rx51_cur."!cursor_debug"("START ", "")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan52_done
+    goto rxscan52_scan
+  rxscan52_loop:
+    ($P10) = rx51_cur."from"()
+    inc $P10
+    set rx51_pos, $P10
+    ge rx51_pos, rx51_eos, rxscan52_done
+  rxscan52_scan:
+    set_addr $I10, rxscan52_loop
+    rx51_cur."!mark_push"(0, rx51_pos, $I10)
+  rxscan52_done:
+  alt53_0:
+    set_addr $I10, alt53_1
+    rx51_cur."!mark_push"(0, rx51_pos, $I10)
   # rx charclass s
-    ge rx52_pos, rx52_eos, rx52_fail
-    sub $I10, rx52_pos, rx52_off
-    is_cclass $I11, 32, rx52_tgt, $I10
-    unless $I11, rx52_fail
-    inc rx52_pos
-    goto alt54_end
-  alt54_1:
+    ge rx51_pos, rx51_eos, rx51_fail
+    sub $I10, rx51_pos, rx51_off
+    is_cclass $I11, 32, rx51_tgt, $I10
+    unless $I11, rx51_fail
+    inc rx51_pos
+    goto alt53_end
+  alt53_1:
   # rx literal  "#"
-    add $I11, rx52_pos, 1
-    gt $I11, rx52_eos, rx52_fail
-    sub $I11, rx52_pos, rx52_off
-    substr $S10, rx52_tgt, $I11, 1
-    ne $S10, "#", rx52_fail
-    add rx52_pos, 1
-  alt54_end:
-  # rx pass
-    rx52_cur."!cursor_pass"(rx52_pos, "")
-    rx52_cur."!cursor_debug"("PASS  ", "", " at pos=", rx52_pos)
-    .return (rx52_cur)
-  rx52_restart:
-    rx52_cur."!cursor_debug"("NEXT ", "")
-  rx52_fail:
-    (rx52_rep, rx52_pos, $I10, $P10) = rx52_cur."!mark_fail"(0)
-    lt rx52_pos, -1, rx52_done
-    eq rx52_pos, -1, rx52_fail
-    jump $I10
-  rx52_done:
-    rx52_cur."!cursor_fail"()
-    rx52_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx52_cur)
+    add $I11, rx51_pos, 1
+    gt $I11, rx51_eos, rx51_fail
+    sub $I11, rx51_pos, rx51_off
+    substr $S10, rx51_tgt, $I11, 1
+    ne $S10, "#", rx51_fail
+    add rx51_pos, 1
+  alt53_end:
+  # rx pass
+    rx51_cur."!cursor_pass"(rx51_pos, "")
+    rx51_cur."!cursor_debug"("PASS  ", "", " at pos=", rx51_pos)
+    .return (rx51_cur)
+  rx51_restart:
+    rx51_cur."!cursor_debug"("NEXT ", "")
+  rx51_fail:
+    (rx51_rep, rx51_pos, $I10, $P10) = rx51_cur."!mark_fail"(0)
+    lt rx51_pos, -1, rx51_done
+    eq rx51_pos, -1, rx51_fail
+    jump $I10
+  rx51_done:
+    rx51_cur."!cursor_fail"()
+    rx51_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx51_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "identifier"  :subid("18_1279589163.12187") :method :outer("11_1279589163.12187")
-.annotate 'line', 3
-    .local string rx56_tgt
-    .local int rx56_pos
-    .local int rx56_off
-    .local int rx56_eos
-    .local int rx56_rep
-    .local pmc rx56_cur
-    (rx56_cur, rx56_pos, rx56_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx56_cur
-    .local pmc match
-    .lex "$/", match
-    length rx56_eos, rx56_tgt
-    gt rx56_pos, rx56_eos, rx56_done
-    set rx56_off, 0
-    lt rx56_pos, 2, rx56_start
-    sub rx56_off, rx56_pos, 1
-    substr rx56_tgt, rx56_tgt, rx56_off
-  rx56_start:
-    eq $I10, 1, rx56_restart
-    rx56_cur."!cursor_debug"("START ", "identifier")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan60_done
-    goto rxscan60_scan
-  rxscan60_loop:
-    ($P10) = rx56_cur."from"()
-    inc $P10
-    set rx56_pos, $P10
-    ge rx56_pos, rx56_eos, rxscan60_done
-  rxscan60_scan:
-    set_addr $I10, rxscan60_loop
-    rx56_cur."!mark_push"(0, rx56_pos, $I10)
-  rxscan60_done:
+.sub "identifier"  :subid("18_1280467470.54449") :method :outer("11_1280467470.54449")
+.annotate 'line', 3
+    .local string rx55_tgt
+    .local int rx55_pos
+    .local int rx55_off
+    .local int rx55_eos
+    .local int rx55_rep
+    .local pmc rx55_cur
+    (rx55_cur, rx55_pos, rx55_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx55_cur
+    .local pmc match
+    .lex "$/", match
+    length rx55_eos, rx55_tgt
+    gt rx55_pos, rx55_eos, rx55_done
+    set rx55_off, 0
+    lt rx55_pos, 2, rx55_start
+    sub rx55_off, rx55_pos, 1
+    substr rx55_tgt, rx55_tgt, rx55_off
+  rx55_start:
+    eq $I10, 1, rx55_restart
+    rx55_cur."!cursor_debug"("START ", "identifier")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan59_done
+    goto rxscan59_scan
+  rxscan59_loop:
+    ($P10) = rx55_cur."from"()
+    inc $P10
+    set rx55_pos, $P10
+    ge rx55_pos, rx55_eos, rxscan59_done
+  rxscan59_scan:
+    set_addr $I10, rxscan59_loop
+    rx55_cur."!mark_push"(0, rx55_pos, $I10)
+  rxscan59_done:
 .annotate 'line', 12
   # rx subrule "ident" subtype=method negate=
-    rx56_cur."!cursor_pos"(rx56_pos)
-    $P10 = rx56_cur."ident"()
-    unless $P10, rx56_fail
-    rx56_pos = $P10."pos"()
-  # rx rxquantr61 ** 0..*
-    set_addr $I10, rxquantr61_done
-    rx56_cur."!mark_push"(0, rx56_pos, $I10)
-  rxquantr61_loop:
+    rx55_cur."!cursor_pos"(rx55_pos)
+    $P10 = rx55_cur."ident"()
+    unless $P10, rx55_fail
+    rx55_pos = $P10."pos"()
+  # rx rxquantr60 ** 0..*
+    set_addr $I10, rxquantr60_done
+    rx55_cur."!mark_push"(0, rx55_pos, $I10)
+  rxquantr60_loop:
   # rx enumcharlist negate=0 
-    ge rx56_pos, rx56_eos, rx56_fail
-    sub $I10, rx56_pos, rx56_off
-    substr $S10, rx56_tgt, $I10, 1
+    ge rx55_pos, rx55_eos, rx55_fail
+    sub $I10, rx55_pos, rx55_off
+    substr $S10, rx55_tgt, $I10, 1
     index $I11, "-'", $S10
-    lt $I11, 0, rx56_fail
-    inc rx56_pos
+    lt $I11, 0, rx55_fail
+    inc rx55_pos
   # rx subrule "ident" subtype=method negate=
-    rx56_cur."!cursor_pos"(rx56_pos)
-    $P10 = rx56_cur."ident"()
-    unless $P10, rx56_fail
-    rx56_pos = $P10."pos"()
-    set_addr $I10, rxquantr61_done
-    (rx56_rep) = rx56_cur."!mark_commit"($I10)
-    set_addr $I10, rxquantr61_done
-    rx56_cur."!mark_push"(rx56_rep, rx56_pos, $I10)
-    goto rxquantr61_loop
-  rxquantr61_done:
-  # rx pass
-    rx56_cur."!cursor_pass"(rx56_pos, "identifier")
-    rx56_cur."!cursor_debug"("PASS  ", "identifier", " at pos=", rx56_pos)
-    .return (rx56_cur)
-  rx56_restart:
-.annotate 'line', 3
-    rx56_cur."!cursor_debug"("NEXT ", "identifier")
-  rx56_fail:
-    (rx56_rep, rx56_pos, $I10, $P10) = rx56_cur."!mark_fail"(0)
-    lt rx56_pos, -1, rx56_done
-    eq rx56_pos, -1, rx56_fail
-    jump $I10
-  rx56_done:
-    rx56_cur."!cursor_fail"()
-    rx56_cur."!cursor_debug"("FAIL  ", "identifier")
-    .return (rx56_cur)
+    rx55_cur."!cursor_pos"(rx55_pos)
+    $P10 = rx55_cur."ident"()
+    unless $P10, rx55_fail
+    rx55_pos = $P10."pos"()
+    set_addr $I10, rxquantr60_done
+    (rx55_rep) = rx55_cur."!mark_commit"($I10)
+    set_addr $I10, rxquantr60_done
+    rx55_cur."!mark_push"(rx55_rep, rx55_pos, $I10)
+    goto rxquantr60_loop
+  rxquantr60_done:
+  # rx pass
+    rx55_cur."!cursor_pass"(rx55_pos, "identifier")
+    rx55_cur."!cursor_debug"("PASS  ", "identifier", " at pos=", rx55_pos)
+    .return (rx55_cur)
+  rx55_restart:
+.annotate 'line', 3
+    rx55_cur."!cursor_debug"("NEXT ", "identifier")
+  rx55_fail:
+    (rx55_rep, rx55_pos, $I10, $P10) = rx55_cur."!mark_fail"(0)
+    lt rx55_pos, -1, rx55_done
+    eq rx55_pos, -1, rx55_fail
+    jump $I10
+  rx55_done:
+    rx55_cur."!cursor_fail"()
+    rx55_cur."!cursor_debug"("FAIL  ", "identifier")
+    .return (rx55_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__identifier"  :subid("19_1279589163.12187") :method
-.annotate 'line', 3
-    $P58 = self."!PREFIX__!subrule"("ident", "")
-    new $P59, "ResizablePMCArray"
-    push $P59, $P58
-    .return ($P59)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arg"  :subid("20_1279589163.12187") :method :outer("11_1279589163.12187")
-.annotate 'line', 3
-    .local string rx63_tgt
-    .local int rx63_pos
-    .local int rx63_off
-    .local int rx63_eos
-    .local int rx63_rep
-    .local pmc rx63_cur
-    (rx63_cur, rx63_pos, rx63_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx63_cur
-    .local pmc match
-    .lex "$/", match
-    length rx63_eos, rx63_tgt
-    gt rx63_pos, rx63_eos, rx63_done
-    set rx63_off, 0
-    lt rx63_pos, 2, rx63_start
-    sub rx63_off, rx63_pos, 1
-    substr rx63_tgt, rx63_tgt, rx63_off
-  rx63_start:
-    eq $I10, 1, rx63_restart
-    rx63_cur."!cursor_debug"("START ", "arg")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan66_done
-    goto rxscan66_scan
-  rxscan66_loop:
-    ($P10) = rx63_cur."from"()
-    inc $P10
-    set rx63_pos, $P10
-    ge rx63_pos, rx63_eos, rxscan66_done
-  rxscan66_scan:
-    set_addr $I10, rxscan66_loop
-    rx63_cur."!mark_push"(0, rx63_pos, $I10)
-  rxscan66_done:
-  alt67_0:
+.sub "!PREFIX__identifier"  :subid("19_1280467470.54449") :method
+.annotate 'line', 3
+    $P57 = self."!PREFIX__!subrule"("ident", "")
+    new $P58, "ResizablePMCArray"
+    push $P58, $P57
+    .return ($P58)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Grammar"]
+.sub "arg"  :subid("20_1280467470.54449") :method :outer("11_1280467470.54449")
+.annotate 'line', 3
+    .local string rx62_tgt
+    .local int rx62_pos
+    .local int rx62_off
+    .local int rx62_eos
+    .local int rx62_rep
+    .local pmc rx62_cur
+    (rx62_cur, rx62_pos, rx62_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx62_cur
+    .local pmc match
+    .lex "$/", match
+    length rx62_eos, rx62_tgt
+    gt rx62_pos, rx62_eos, rx62_done
+    set rx62_off, 0
+    lt rx62_pos, 2, rx62_start
+    sub rx62_off, rx62_pos, 1
+    substr rx62_tgt, rx62_tgt, rx62_off
+  rx62_start:
+    eq $I10, 1, rx62_restart
+    rx62_cur."!cursor_debug"("START ", "arg")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan65_done
+    goto rxscan65_scan
+  rxscan65_loop:
+    ($P10) = rx62_cur."from"()
+    inc $P10
+    set rx62_pos, $P10
+    ge rx62_pos, rx62_eos, rxscan65_done
+  rxscan65_scan:
+    set_addr $I10, rxscan65_loop
+    rx62_cur."!mark_push"(0, rx62_pos, $I10)
+  rxscan65_done:
+  alt66_0:
 .annotate 'line', 15
-    set_addr $I10, alt67_1
-    rx63_cur."!mark_push"(0, rx63_pos, $I10)
+    set_addr $I10, alt66_1
+    rx62_cur."!mark_push"(0, rx62_pos, $I10)
 .annotate 'line', 16
   # rx enumcharlist negate=0 zerowidth
-    ge rx63_pos, rx63_eos, rx63_fail
-    sub $I10, rx63_pos, rx63_off
-    substr $S10, rx63_tgt, $I10, 1
+    ge rx62_pos, rx62_eos, rx62_fail
+    sub $I10, rx62_pos, rx62_off
+    substr $S10, rx62_tgt, $I10, 1
     index $I11, "'", $S10
-    lt $I11, 0, rx63_fail
+    lt $I11, 0, rx62_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx63_cur."!cursor_pos"(rx63_pos)
-    $P10 = rx63_cur."quote_EXPR"(":q")
-    unless $P10, rx63_fail
-    rx63_cur."!mark_push"(0, -1, 0, $P10)
+    rx62_cur."!cursor_pos"(rx62_pos)
+    $P10 = rx62_cur."quote_EXPR"(":q")
+    unless $P10, rx62_fail
+    rx62_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx63_pos = $P10."pos"()
-    goto alt67_end
-  alt67_1:
-    set_addr $I10, alt67_2
-    rx63_cur."!mark_push"(0, rx63_pos, $I10)
+    rx62_pos = $P10."pos"()
+    goto alt66_end
+  alt66_1:
+    set_addr $I10, alt66_2
+    rx62_cur."!mark_push"(0, rx62_pos, $I10)
 .annotate 'line', 17
   # rx enumcharlist negate=0 zerowidth
-    ge rx63_pos, rx63_eos, rx63_fail
-    sub $I10, rx63_pos, rx63_off
-    substr $S10, rx63_tgt, $I10, 1
+    ge rx62_pos, rx62_eos, rx62_fail
+    sub $I10, rx62_pos, rx62_off
+    substr $S10, rx62_tgt, $I10, 1
     index $I11, "\"", $S10
-    lt $I11, 0, rx63_fail
+    lt $I11, 0, rx62_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx63_cur."!cursor_pos"(rx63_pos)
-    $P10 = rx63_cur."quote_EXPR"(":qq")
-    unless $P10, rx63_fail
-    rx63_cur."!mark_push"(0, -1, 0, $P10)
+    rx62_cur."!cursor_pos"(rx62_pos)
+    $P10 = rx62_cur."quote_EXPR"(":qq")
+    unless $P10, rx62_fail
+    rx62_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx63_pos = $P10."pos"()
-    goto alt67_end
-  alt67_2:
+    rx62_pos = $P10."pos"()
+    goto alt66_end
+  alt66_2:
 .annotate 'line', 18
   # rx subcapture "val"
-    set_addr $I10, rxcap_68_fail
-    rx63_cur."!mark_push"(0, rx63_pos, $I10)
+    set_addr $I10, rxcap_67_fail
+    rx62_cur."!mark_push"(0, rx62_pos, $I10)
   # rx charclass_q d r 1..-1
-    sub $I10, rx63_pos, rx63_off
-    find_not_cclass $I11, 8, rx63_tgt, $I10, rx63_eos
+    sub $I10, rx62_pos, rx62_off
+    find_not_cclass $I11, 8, rx62_tgt, $I10, rx62_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx63_fail
-    add rx63_pos, rx63_off, $I11
-    set_addr $I10, rxcap_68_fail
-    ($I12, $I11) = rx63_cur."!mark_peek"($I10)
-    rx63_cur."!cursor_pos"($I11)
-    ($P10) = rx63_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx63_pos, "")
-    rx63_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx62_fail
+    add rx62_pos, rx62_off, $I11
+    set_addr $I10, rxcap_67_fail
+    ($I12, $I11) = rx62_cur."!mark_peek"($I10)
+    rx62_cur."!cursor_pos"($I11)
+    ($P10) = rx62_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx62_pos, "")
+    rx62_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("val")
-    goto rxcap_68_done
-  rxcap_68_fail:
-    goto rx63_fail
-  rxcap_68_done:
-  alt67_end:
+    goto rxcap_67_done
+  rxcap_67_fail:
+    goto rx62_fail
+  rxcap_67_done:
+  alt66_end:
 .annotate 'line', 14
   # rx pass
-    rx63_cur."!cursor_pass"(rx63_pos, "arg")
-    rx63_cur."!cursor_debug"("PASS  ", "arg", " at pos=", rx63_pos)
-    .return (rx63_cur)
-  rx63_restart:
+    rx62_cur."!cursor_pass"(rx62_pos, "arg")
+    rx62_cur."!cursor_debug"("PASS  ", "arg", " at pos=", rx62_pos)
+    .return (rx62_cur)
+  rx62_restart:
 .annotate 'line', 3
-    rx63_cur."!cursor_debug"("NEXT ", "arg")
-  rx63_fail:
-    (rx63_rep, rx63_pos, $I10, $P10) = rx63_cur."!mark_fail"(0)
-    lt rx63_pos, -1, rx63_done
-    eq rx63_pos, -1, rx63_fail
+    rx62_cur."!cursor_debug"("NEXT ", "arg")
+  rx62_fail:
+    (rx62_rep, rx62_pos, $I10, $P10) = rx62_cur."!mark_fail"(0)
+    lt rx62_pos, -1, rx62_done
+    eq rx62_pos, -1, rx62_fail
     jump $I10
-  rx63_done:
-    rx63_cur."!cursor_fail"()
-    rx63_cur."!cursor_debug"("FAIL  ", "arg")
-    .return (rx63_cur)
+  rx62_done:
+    rx62_cur."!cursor_fail"()
+    rx62_cur."!cursor_debug"("FAIL  ", "arg")
+    .return (rx62_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arg"  :subid("21_1279589163.12187") :method
+.sub "!PREFIX__arg"  :subid("21_1280467470.54449") :method
 .annotate 'line', 3
-    new $P65, "ResizablePMCArray"
-    push $P65, ""
-    push $P65, "\""
-    push $P65, "'"
-    .return ($P65)
+    new $P64, "ResizablePMCArray"
+    push $P64, ""
+    push $P64, "\""
+    push $P64, "'"
+    .return ($P64)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arglist"  :subid("22_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "arglist"  :subid("22_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx70_tgt
-    .local int rx70_pos
-    .local int rx70_off
-    .local int rx70_eos
-    .local int rx70_rep
-    .local pmc rx70_cur
-    (rx70_cur, rx70_pos, rx70_tgt, $I10) = self."!cursor_start"()
-    rx70_cur."!cursor_caparray"("arg")
-    .lex unicode:"$\x{a2}", rx70_cur
+    .local string rx69_tgt
+    .local int rx69_pos
+    .local int rx69_off
+    .local int rx69_eos
+    .local int rx69_rep
+    .local pmc rx69_cur
+    (rx69_cur, rx69_pos, rx69_tgt, $I10) = self."!cursor_start"()
+    rx69_cur."!cursor_caparray"("arg")
+    .lex unicode:"$\x{a2}", rx69_cur
     .local pmc match
     .lex "$/", match
-    length rx70_eos, rx70_tgt
-    gt rx70_pos, rx70_eos, rx70_done
-    set rx70_off, 0
-    lt rx70_pos, 2, rx70_start
-    sub rx70_off, rx70_pos, 1
-    substr rx70_tgt, rx70_tgt, rx70_off
-  rx70_start:
-    eq $I10, 1, rx70_restart
-    rx70_cur."!cursor_debug"("START ", "arglist")
+    length rx69_eos, rx69_tgt
+    gt rx69_pos, rx69_eos, rx69_done
+    set rx69_off, 0
+    lt rx69_pos, 2, rx69_start
+    sub rx69_off, rx69_pos, 1
+    substr rx69_tgt, rx69_tgt, rx69_off
+  rx69_start:
+    eq $I10, 1, rx69_restart
+    rx69_cur."!cursor_debug"("START ", "arglist")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan74_done
-    goto rxscan74_scan
-  rxscan74_loop:
-    ($P10) = rx70_cur."from"()
+    ne $I10, -1, rxscan73_done
+    goto rxscan73_scan
+  rxscan73_loop:
+    ($P10) = rx69_cur."from"()
     inc $P10
-    set rx70_pos, $P10
-    ge rx70_pos, rx70_eos, rxscan74_done
-  rxscan74_scan:
-    set_addr $I10, rxscan74_loop
-    rx70_cur."!mark_push"(0, rx70_pos, $I10)
-  rxscan74_done:
+    set rx69_pos, $P10
+    ge rx69_pos, rx69_eos, rxscan73_done
+  rxscan73_scan:
+    set_addr $I10, rxscan73_loop
+    rx69_cur."!mark_push"(0, rx69_pos, $I10)
+  rxscan73_done:
 .annotate 'line', 22
   # rx subrule "ws" subtype=method negate=
-    rx70_cur."!cursor_pos"(rx70_pos)
-    $P10 = rx70_cur."ws"()
-    unless $P10, rx70_fail
-    rx70_pos = $P10."pos"()
+    rx69_cur."!cursor_pos"(rx69_pos)
+    $P10 = rx69_cur."ws"()
+    unless $P10, rx69_fail
+    rx69_pos = $P10."pos"()
   # rx subrule "arg" subtype=capture negate=
-    rx70_cur."!cursor_pos"(rx70_pos)
-    $P10 = rx70_cur."arg"()
-    unless $P10, rx70_fail
-    rx70_cur."!mark_push"(0, -1, 0, $P10)
+    rx69_cur."!cursor_pos"(rx69_pos)
+    $P10 = rx69_cur."arg"()
+    unless $P10, rx69_fail
+    rx69_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arg")
-    rx70_pos = $P10."pos"()
+    rx69_pos = $P10."pos"()
   # rx subrule "ws" subtype=method negate=
-    rx70_cur."!cursor_pos"(rx70_pos)
-    $P10 = rx70_cur."ws"()
-    unless $P10, rx70_fail
-    rx70_pos = $P10."pos"()
-  # rx rxquantr77 ** 0..*
-    set_addr $I10, rxquantr77_done
-    rx70_cur."!mark_push"(0, rx70_pos, $I10)
-  rxquantr77_loop:
+    rx69_cur."!cursor_pos"(rx69_pos)
+    $P10 = rx69_cur."ws"()
+    unless $P10, rx69_fail
+    rx69_pos = $P10."pos"()
+  # rx rxquantr76 ** 0..*
+    set_addr $I10, rxquantr76_done
+    rx69_cur."!mark_push"(0, rx69_pos, $I10)
+  rxquantr76_loop:
   # rx subrule "ws" subtype=method negate=
-    rx70_cur."!cursor_pos"(rx70_pos)
-    $P10 = rx70_cur."ws"()
-    unless $P10, rx70_fail
-    rx70_pos = $P10."pos"()
+    rx69_cur."!cursor_pos"(rx69_pos)
+    $P10 = rx69_cur."ws"()
+    unless $P10, rx69_fail
+    rx69_pos = $P10."pos"()
   # rx literal  ","
-    add $I11, rx70_pos, 1
-    gt $I11, rx70_eos, rx70_fail
-    sub $I11, rx70_pos, rx70_off
-    substr $S10, rx70_tgt, $I11, 1
-    ne $S10, ",", rx70_fail
-    add rx70_pos, 1
+    add $I11, rx69_pos, 1
+    gt $I11, rx69_eos, rx69_fail
+    sub $I11, rx69_pos, rx69_off
+    substr $S10, rx69_tgt, $I11, 1
+    ne $S10, ",", rx69_fail
+    add rx69_pos, 1
   # rx subrule "ws" subtype=method negate=
-    rx70_cur."!cursor_pos"(rx70_pos)
-    $P10 = rx70_cur."ws"()
-    unless $P10, rx70_fail
-    rx70_pos = $P10."pos"()
+    rx69_cur."!cursor_pos"(rx69_pos)
+    $P10 = rx69_cur."ws"()
+    unless $P10, rx69_fail
+    rx69_pos = $P10."pos"()
   # rx subrule "arg" subtype=capture negate=
-    rx70_cur."!cursor_pos"(rx70_pos)
-    $P10 = rx70_cur."arg"()
-    unless $P10, rx70_fail
-    rx70_cur."!mark_push"(0, -1, 0, $P10)
+    rx69_cur."!cursor_pos"(rx69_pos)
+    $P10 = rx69_cur."arg"()
+    unless $P10, rx69_fail
+    rx69_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arg")
-    rx70_pos = $P10."pos"()
-    set_addr $I10, rxquantr77_done
-    (rx70_rep) = rx70_cur."!mark_commit"($I10)
-    set_addr $I10, rxquantr77_done
-    rx70_cur."!mark_push"(rx70_rep, rx70_pos, $I10)
-    goto rxquantr77_loop
-  rxquantr77_done:
+    rx69_pos = $P10."pos"()
+    set_addr $I10, rxquantr76_done
+    (rx69_rep) = rx69_cur."!mark_commit"($I10)
+    set_addr $I10, rxquantr76_done
+    rx69_cur."!mark_push"(rx69_rep, rx69_pos, $I10)
+    goto rxquantr76_loop
+  rxquantr76_done:
   # rx subrule "ws" subtype=method negate=
-    rx70_cur."!cursor_pos"(rx70_pos)
-    $P10 = rx70_cur."ws"()
-    unless $P10, rx70_fail
-    rx70_pos = $P10."pos"()
+    rx69_cur."!cursor_pos"(rx69_pos)
+    $P10 = rx69_cur."ws"()
+    unless $P10, rx69_fail
+    rx69_pos = $P10."pos"()
   # rx pass
-    rx70_cur."!cursor_pass"(rx70_pos, "arglist")
-    rx70_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx70_pos)
-    .return (rx70_cur)
-  rx70_restart:
+    rx69_cur."!cursor_pass"(rx69_pos, "arglist")
+    rx69_cur."!cursor_debug"("PASS  ", "arglist", " at pos=", rx69_pos)
+    .return (rx69_cur)
+  rx69_restart:
 .annotate 'line', 3
-    rx70_cur."!cursor_debug"("NEXT ", "arglist")
-  rx70_fail:
-    (rx70_rep, rx70_pos, $I10, $P10) = rx70_cur."!mark_fail"(0)
-    lt rx70_pos, -1, rx70_done
-    eq rx70_pos, -1, rx70_fail
+    rx69_cur."!cursor_debug"("NEXT ", "arglist")
+  rx69_fail:
+    (rx69_rep, rx69_pos, $I10, $P10) = rx69_cur."!mark_fail"(0)
+    lt rx69_pos, -1, rx69_done
+    eq rx69_pos, -1, rx69_fail
     jump $I10
-  rx70_done:
-    rx70_cur."!cursor_fail"()
-    rx70_cur."!cursor_debug"("FAIL  ", "arglist")
-    .return (rx70_cur)
+  rx69_done:
+    rx69_cur."!cursor_fail"()
+    rx69_cur."!cursor_debug"("FAIL  ", "arglist")
+    .return (rx69_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arglist"  :subid("23_1279589163.12187") :method
+.sub "!PREFIX__arglist"  :subid("23_1280467470.54449") :method
 .annotate 'line', 3
-    $P72 = self."!PREFIX__!subrule"("ws", "")
-    new $P73, "ResizablePMCArray"
-    push $P73, $P72
-    .return ($P73)
+    $P71 = self."!PREFIX__!subrule"("ws", "")
+    new $P72, "ResizablePMCArray"
+    push $P72, $P71
+    .return ($P72)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "TOP"  :subid("24_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "TOP"  :subid("24_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx82_tgt
-    .local int rx82_pos
-    .local int rx82_off
-    .local int rx82_eos
-    .local int rx82_rep
-    .local pmc rx82_cur
-    (rx82_cur, rx82_pos, rx82_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx82_cur
+    .local string rx81_tgt
+    .local int rx81_pos
+    .local int rx81_off
+    .local int rx81_eos
+    .local int rx81_rep
+    .local pmc rx81_cur
+    (rx81_cur, rx81_pos, rx81_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx81_cur
     .local pmc match
     .lex "$/", match
-    length rx82_eos, rx82_tgt
-    gt rx82_pos, rx82_eos, rx82_done
-    set rx82_off, 0
-    lt rx82_pos, 2, rx82_start
-    sub rx82_off, rx82_pos, 1
-    substr rx82_tgt, rx82_tgt, rx82_off
-  rx82_start:
-    eq $I10, 1, rx82_restart
-    rx82_cur."!cursor_debug"("START ", "TOP")
+    length rx81_eos, rx81_tgt
+    gt rx81_pos, rx81_eos, rx81_done
+    set rx81_off, 0
+    lt rx81_pos, 2, rx81_start
+    sub rx81_off, rx81_pos, 1
+    substr rx81_tgt, rx81_tgt, rx81_off
+  rx81_start:
+    eq $I10, 1, rx81_restart
+    rx81_cur."!cursor_debug"("START ", "TOP")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan86_done
-    goto rxscan86_scan
-  rxscan86_loop:
-    ($P10) = rx82_cur."from"()
+    ne $I10, -1, rxscan85_done
+    goto rxscan85_scan
+  rxscan85_loop:
+    ($P10) = rx81_cur."from"()
     inc $P10
-    set rx82_pos, $P10
-    ge rx82_pos, rx82_eos, rxscan86_done
-  rxscan86_scan:
-    set_addr $I10, rxscan86_loop
-    rx82_cur."!mark_push"(0, rx82_pos, $I10)
-  rxscan86_done:
+    set rx81_pos, $P10
+    ge rx81_pos, rx81_eos, rxscan85_done
+  rxscan85_scan:
+    set_addr $I10, rxscan85_loop
+    rx81_cur."!mark_push"(0, rx81_pos, $I10)
+  rxscan85_done:
 .annotate 'line', 25
   # rx subrule "nibbler" subtype=capture negate=
-    rx82_cur."!cursor_pos"(rx82_pos)
-    $P10 = rx82_cur."nibbler"()
-    unless $P10, rx82_fail
-    rx82_cur."!mark_push"(0, -1, 0, $P10)
+    rx81_cur."!cursor_pos"(rx81_pos)
+    $P10 = rx81_cur."nibbler"()
+    unless $P10, rx81_fail
+    rx81_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx82_pos = $P10."pos"()
-  alt87_0:
+    rx81_pos = $P10."pos"()
+  alt86_0:
 .annotate 'line', 26
-    set_addr $I10, alt87_1
-    rx82_cur."!mark_push"(0, rx82_pos, $I10)
+    set_addr $I10, alt86_1
+    rx81_cur."!mark_push"(0, rx81_pos, $I10)
   # rxanchor eos
-    ne rx82_pos, rx82_eos, rx82_fail
-    goto alt87_end
-  alt87_1:
+    ne rx81_pos, rx81_eos, rx81_fail
+    goto alt86_end
+  alt86_1:
   # rx subrule "panic" subtype=method negate=
-    rx82_cur."!cursor_pos"(rx82_pos)
-    $P10 = rx82_cur."panic"("Confused")
-    unless $P10, rx82_fail
-    rx82_pos = $P10."pos"()
-  alt87_end:
+    rx81_cur."!cursor_pos"(rx81_pos)
+    $P10 = rx81_cur."panic"("Confused")
+    unless $P10, rx81_fail
+    rx81_pos = $P10."pos"()
+  alt86_end:
 .annotate 'line', 24
   # rx pass
-    rx82_cur."!cursor_pass"(rx82_pos, "TOP")
-    rx82_cur."!cursor_debug"("PASS  ", "TOP", " at pos=", rx82_pos)
-    .return (rx82_cur)
-  rx82_restart:
+    rx81_cur."!cursor_pass"(rx81_pos, "TOP")
+    rx81_cur."!cursor_debug"("PASS  ", "TOP", " at pos=", rx81_pos)
+    .return (rx81_cur)
+  rx81_restart:
 .annotate 'line', 3
-    rx82_cur."!cursor_debug"("NEXT ", "TOP")
-  rx82_fail:
-    (rx82_rep, rx82_pos, $I10, $P10) = rx82_cur."!mark_fail"(0)
-    lt rx82_pos, -1, rx82_done
-    eq rx82_pos, -1, rx82_fail
+    rx81_cur."!cursor_debug"("NEXT ", "TOP")
+  rx81_fail:
+    (rx81_rep, rx81_pos, $I10, $P10) = rx81_cur."!mark_fail"(0)
+    lt rx81_pos, -1, rx81_done
+    eq rx81_pos, -1, rx81_fail
     jump $I10
-  rx82_done:
-    rx82_cur."!cursor_fail"()
-    rx82_cur."!cursor_debug"("FAIL  ", "TOP")
-    .return (rx82_cur)
+  rx81_done:
+    rx81_cur."!cursor_fail"()
+    rx81_cur."!cursor_debug"("FAIL  ", "TOP")
+    .return (rx81_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__TOP"  :subid("25_1279589163.12187") :method
+.sub "!PREFIX__TOP"  :subid("25_1280467470.54449") :method
 .annotate 'line', 3
-    $P84 = self."!PREFIX__!subrule"("nibbler", "")
-    new $P85, "ResizablePMCArray"
-    push $P85, $P84
-    .return ($P85)
+    $P83 = self."!PREFIX__!subrule"("nibbler", "")
+    new $P84, "ResizablePMCArray"
+    push $P84, $P83
+    .return ($P84)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "nibbler"  :subid("26_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "nibbler"  :subid("26_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx89_tgt
-    .local int rx89_pos
-    .local int rx89_off
-    .local int rx89_eos
-    .local int rx89_rep
-    .local pmc rx89_cur
-    (rx89_cur, rx89_pos, rx89_tgt, $I10) = self."!cursor_start"()
-    rx89_cur."!cursor_caparray"("termish")
-    .lex unicode:"$\x{a2}", rx89_cur
+    .local string rx88_tgt
+    .local int rx88_pos
+    .local int rx88_off
+    .local int rx88_eos
+    .local int rx88_rep
+    .local pmc rx88_cur
+    (rx88_cur, rx88_pos, rx88_tgt, $I10) = self."!cursor_start"()
+    rx88_cur."!cursor_caparray"("termish")
+    .lex unicode:"$\x{a2}", rx88_cur
     .local pmc match
     .lex "$/", match
-    length rx89_eos, rx89_tgt
-    gt rx89_pos, rx89_eos, rx89_done
-    set rx89_off, 0
-    lt rx89_pos, 2, rx89_start
-    sub rx89_off, rx89_pos, 1
-    substr rx89_tgt, rx89_tgt, rx89_off
-  rx89_start:
-    eq $I10, 1, rx89_restart
-    rx89_cur."!cursor_debug"("START ", "nibbler")
+    length rx88_eos, rx88_tgt
+    gt rx88_pos, rx88_eos, rx88_done
+    set rx88_off, 0
+    lt rx88_pos, 2, rx88_start
+    sub rx88_off, rx88_pos, 1
+    substr rx88_tgt, rx88_tgt, rx88_off
+  rx88_start:
+    eq $I10, 1, rx88_restart
+    rx88_cur."!cursor_debug"("START ", "nibbler")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan92_done
-    goto rxscan92_scan
-  rxscan92_loop:
-    ($P10) = rx89_cur."from"()
+    ne $I10, -1, rxscan91_done
+    goto rxscan91_scan
+  rxscan91_loop:
+    ($P10) = rx88_cur."from"()
     inc $P10
-    set rx89_pos, $P10
-    ge rx89_pos, rx89_eos, rxscan92_done
-  rxscan92_scan:
-    set_addr $I10, rxscan92_loop
-    rx89_cur."!mark_push"(0, rx89_pos, $I10)
-  rxscan92_done:
+    set rx88_pos, $P10
+    ge rx88_pos, rx88_eos, rxscan91_done
+  rxscan91_scan:
+    set_addr $I10, rxscan91_loop
+    rx88_cur."!mark_push"(0, rx88_pos, $I10)
+  rxscan91_done:
 .annotate 'line', 30
   # rx reduce name="nibbler" key="open"
-    rx89_cur."!cursor_pos"(rx89_pos)
-    rx89_cur."!reduce"("nibbler", "open")
+    rx88_cur."!cursor_pos"(rx88_pos)
+    rx88_cur."!reduce"("nibbler", "open")
 .annotate 'line', 31
-  # rx rxquantr93 ** 0..1
-    set_addr $I10, rxquantr93_done
-    rx89_cur."!mark_push"(0, rx89_pos, $I10)
-  rxquantr93_loop:
+  # rx rxquantr92 ** 0..1
+    set_addr $I10, rxquantr92_done
+    rx88_cur."!mark_push"(0, rx88_pos, $I10)
+  rxquantr92_loop:
   # rx subrule "ws" subtype=method negate=
-    rx89_cur."!cursor_pos"(rx89_pos)
-    $P10 = rx89_cur."ws"()
-    unless $P10, rx89_fail
-    rx89_pos = $P10."pos"()
-  alt94_0:
-    set_addr $I10, alt94_1
-    rx89_cur."!mark_push"(0, rx89_pos, $I10)
+    rx88_cur."!cursor_pos"(rx88_pos)
+    $P10 = rx88_cur."ws"()
+    unless $P10, rx88_fail
+    rx88_pos = $P10."pos"()
+  alt93_0:
+    set_addr $I10, alt93_1
+    rx88_cur."!mark_push"(0, rx88_pos, $I10)
   # rx literal  "||"
-    add $I11, rx89_pos, 2
-    gt $I11, rx89_eos, rx89_fail
-    sub $I11, rx89_pos, rx89_off
-    substr $S10, rx89_tgt, $I11, 2
-    ne $S10, "||", rx89_fail
-    add rx89_pos, 2
-    goto alt94_end
-  alt94_1:
-    set_addr $I10, alt94_2
-    rx89_cur."!mark_push"(0, rx89_pos, $I10)
+    add $I11, rx88_pos, 2
+    gt $I11, rx88_eos, rx88_fail
+    sub $I11, rx88_pos, rx88_off
+    substr $S10, rx88_tgt, $I11, 2
+    ne $S10, "||", rx88_fail
+    add rx88_pos, 2
+    goto alt93_end
+  alt93_1:
+    set_addr $I10, alt93_2
+    rx88_cur."!mark_push"(0, rx88_pos, $I10)
   # rx literal  "|"
-    add $I11, rx89_pos, 1
-    gt $I11, rx89_eos, rx89_fail
-    sub $I11, rx89_pos, rx89_off
-    substr $S10, rx89_tgt, $I11, 1
-    ne $S10, "|", rx89_fail
-    add rx89_pos, 1
-    goto alt94_end
-  alt94_2:
-    set_addr $I10, alt94_3
-    rx89_cur."!mark_push"(0, rx89_pos, $I10)
+    add $I11, rx88_pos, 1
+    gt $I11, rx88_eos, rx88_fail
+    sub $I11, rx88_pos, rx88_off
+    substr $S10, rx88_tgt, $I11, 1
+    ne $S10, "|", rx88_fail
+    add rx88_pos, 1
+    goto alt93_end
+  alt93_2:
+    set_addr $I10, alt93_3
+    rx88_cur."!mark_push"(0, rx88_pos, $I10)
   # rx literal  "&&"
-    add $I11, rx89_pos, 2
-    gt $I11, rx89_eos, rx89_fail
-    sub $I11, rx89_pos, rx89_off
-    substr $S10, rx89_tgt, $I11, 2
-    ne $S10, "&&", rx89_fail
-    add rx89_pos, 2
-    goto alt94_end
-  alt94_3:
+    add $I11, rx88_pos, 2
+    gt $I11, rx88_eos, rx88_fail
+    sub $I11, rx88_pos, rx88_off
+    substr $S10, rx88_tgt, $I11, 2
+    ne $S10, "&&", rx88_fail
+    add rx88_pos, 2
+    goto alt93_end
+  alt93_3:
   # rx literal  "&"
-    add $I11, rx89_pos, 1
-    gt $I11, rx89_eos, rx89_fail
-    sub $I11, rx89_pos, rx89_off
-    substr $S10, rx89_tgt, $I11, 1
-    ne $S10, "&", rx89_fail
-    add rx89_pos, 1
-  alt94_end:
-    set_addr $I10, rxquantr93_done
-    (rx89_rep) = rx89_cur."!mark_commit"($I10)
-  rxquantr93_done:
+    add $I11, rx88_pos, 1
+    gt $I11, rx88_eos, rx88_fail
+    sub $I11, rx88_pos, rx88_off
+    substr $S10, rx88_tgt, $I11, 1
+    ne $S10, "&", rx88_fail
+    add rx88_pos, 1
+  alt93_end:
+    set_addr $I10, rxquantr92_done
+    (rx88_rep) = rx88_cur."!mark_commit"($I10)
+  rxquantr92_done:
 .annotate 'line', 32
   # rx subrule "termish" subtype=capture negate=
-    rx89_cur."!cursor_pos"(rx89_pos)
-    $P10 = rx89_cur."termish"()
-    unless $P10, rx89_fail
-    rx89_cur."!mark_push"(0, -1, 0, $P10)
+    rx88_cur."!cursor_pos"(rx88_pos)
+    $P10 = rx88_cur."termish"()
+    unless $P10, rx88_fail
+    rx88_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("termish")
-    rx89_pos = $P10."pos"()
+    rx88_pos = $P10."pos"()
 .annotate 'line', 35
-  # rx rxquantr95 ** 0..*
-    set_addr $I10, rxquantr95_done
-    rx89_cur."!mark_push"(0, rx89_pos, $I10)
-  rxquantr95_loop:
-  alt96_0:
+  # rx rxquantr94 ** 0..*
+    set_addr $I10, rxquantr94_done
+    rx88_cur."!mark_push"(0, rx88_pos, $I10)
+  rxquantr94_loop:
+  alt95_0:
 .annotate 'line', 33
-    set_addr $I10, alt96_1
-    rx89_cur."!mark_push"(0, rx89_pos, $I10)
+    set_addr $I10, alt95_1
+    rx88_cur."!mark_push"(0, rx88_pos, $I10)
   # rx literal  "||"
-    add $I11, rx89_pos, 2
-    gt $I11, rx89_eos, rx89_fail
-    sub $I11, rx89_pos, rx89_off
-    substr $S10, rx89_tgt, $I11, 2
-    ne $S10, "||", rx89_fail
-    add rx89_pos, 2
-    goto alt96_end
-  alt96_1:
+    add $I11, rx88_pos, 2
+    gt $I11, rx88_eos, rx88_fail
+    sub $I11, rx88_pos, rx88_off
+    substr $S10, rx88_tgt, $I11, 2
+    ne $S10, "||", rx88_fail
+    add rx88_pos, 2
+    goto alt95_end
+  alt95_1:
   # rx literal  "|"
-    add $I11, rx89_pos, 1
-    gt $I11, rx89_eos, rx89_fail
-    sub $I11, rx89_pos, rx89_off
-    substr $S10, rx89_tgt, $I11, 1
-    ne $S10, "|", rx89_fail
-    add rx89_pos, 1
-  alt96_end:
-  alt97_0:
+    add $I11, rx88_pos, 1
+    gt $I11, rx88_eos, rx88_fail
+    sub $I11, rx88_pos, rx88_off
+    substr $S10, rx88_tgt, $I11, 1
+    ne $S10, "|", rx88_fail
+    add rx88_pos, 1
+  alt95_end:
+  alt96_0:
 .annotate 'line', 34
-    set_addr $I10, alt97_1
-    rx89_cur."!mark_push"(0, rx89_pos, $I10)
+    set_addr $I10, alt96_1
+    rx88_cur."!mark_push"(0, rx88_pos, $I10)
   # rx subrule "termish" subtype=capture negate=
-    rx89_cur."!cursor_pos"(rx89_pos)
-    $P10 = rx89_cur."termish"()
-    unless $P10, rx89_fail
-    rx89_cur."!mark_push"(0, -1, 0, $P10)
+    rx88_cur."!cursor_pos"(rx88_pos)
+    $P10 = rx88_cur."termish"()
+    unless $P10, rx88_fail
+    rx88_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("termish")
-    rx89_pos = $P10."pos"()
-    goto alt97_end
-  alt97_1:
+    rx88_pos = $P10."pos"()
+    goto alt96_end
+  alt96_1:
   # rx subrule "panic" subtype=method negate=
-    rx89_cur."!cursor_pos"(rx89_pos)
-    $P10 = rx89_cur."panic"("Null pattern not allowed")
-    unless $P10, rx89_fail
-    rx89_pos = $P10."pos"()
-  alt97_end:
+    rx88_cur."!cursor_pos"(rx88_pos)
+    $P10 = rx88_cur."panic"("Null pattern not allowed")
+    unless $P10, rx88_fail
+    rx88_pos = $P10."pos"()
+  alt96_end:
 .annotate 'line', 35
-    set_addr $I10, rxquantr95_done
-    (rx89_rep) = rx89_cur."!mark_commit"($I10)
-    set_addr $I10, rxquantr95_done
-    rx89_cur."!mark_push"(rx89_rep, rx89_pos, $I10)
-    goto rxquantr95_loop
-  rxquantr95_done:
+    set_addr $I10, rxquantr94_done
+    (rx88_rep) = rx88_cur."!mark_commit"($I10)
+    set_addr $I10, rxquantr94_done
+    rx88_cur."!mark_push"(rx88_rep, rx88_pos, $I10)
+    goto rxquantr94_loop
+  rxquantr94_done:
 .annotate 'line', 29
   # rx pass
-    rx89_cur."!cursor_pass"(rx89_pos, "nibbler")
-    rx89_cur."!cursor_debug"("PASS  ", "nibbler", " at pos=", rx89_pos)
-    .return (rx89_cur)
-  rx89_restart:
+    rx88_cur."!cursor_pass"(rx88_pos, "nibbler")
+    rx88_cur."!cursor_debug"("PASS  ", "nibbler", " at pos=", rx88_pos)
+    .return (rx88_cur)
+  rx88_restart:
 .annotate 'line', 3
-    rx89_cur."!cursor_debug"("NEXT ", "nibbler")
-  rx89_fail:
-    (rx89_rep, rx89_pos, $I10, $P10) = rx89_cur."!mark_fail"(0)
-    lt rx89_pos, -1, rx89_done
-    eq rx89_pos, -1, rx89_fail
+    rx88_cur."!cursor_debug"("NEXT ", "nibbler")
+  rx88_fail:
+    (rx88_rep, rx88_pos, $I10, $P10) = rx88_cur."!mark_fail"(0)
+    lt rx88_pos, -1, rx88_done
+    eq rx88_pos, -1, rx88_fail
     jump $I10
-  rx89_done:
-    rx89_cur."!cursor_fail"()
-    rx89_cur."!cursor_debug"("FAIL  ", "nibbler")
-    .return (rx89_cur)
+  rx88_done:
+    rx88_cur."!cursor_fail"()
+    rx88_cur."!cursor_debug"("FAIL  ", "nibbler")
+    .return (rx88_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__nibbler"  :subid("27_1279589163.12187") :method
+.sub "!PREFIX__nibbler"  :subid("27_1280467470.54449") :method
 .annotate 'line', 3
-    new $P91, "ResizablePMCArray"
-    push $P91, ""
-    .return ($P91)
+    new $P90, "ResizablePMCArray"
+    push $P90, ""
+    .return ($P90)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "termish"  :subid("28_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "termish"  :subid("28_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx99_tgt
-    .local int rx99_pos
-    .local int rx99_off
-    .local int rx99_eos
-    .local int rx99_rep
-    .local pmc rx99_cur
-    (rx99_cur, rx99_pos, rx99_tgt, $I10) = self."!cursor_start"()
-    rx99_cur."!cursor_caparray"("noun")
-    .lex unicode:"$\x{a2}", rx99_cur
+    .local string rx98_tgt
+    .local int rx98_pos
+    .local int rx98_off
+    .local int rx98_eos
+    .local int rx98_rep
+    .local pmc rx98_cur
+    (rx98_cur, rx98_pos, rx98_tgt, $I10) = self."!cursor_start"()
+    rx98_cur."!cursor_caparray"("noun")
+    .lex unicode:"$\x{a2}", rx98_cur
     .local pmc match
     .lex "$/", match
-    length rx99_eos, rx99_tgt
-    gt rx99_pos, rx99_eos, rx99_done
-    set rx99_off, 0
-    lt rx99_pos, 2, rx99_start
-    sub rx99_off, rx99_pos, 1
-    substr rx99_tgt, rx99_tgt, rx99_off
-  rx99_start:
-    eq $I10, 1, rx99_restart
-    rx99_cur."!cursor_debug"("START ", "termish")
+    length rx98_eos, rx98_tgt
+    gt rx98_pos, rx98_eos, rx98_done
+    set rx98_off, 0
+    lt rx98_pos, 2, rx98_start
+    sub rx98_off, rx98_pos, 1
+    substr rx98_tgt, rx98_tgt, rx98_off
+  rx98_start:
+    eq $I10, 1, rx98_restart
+    rx98_cur."!cursor_debug"("START ", "termish")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan102_done
-    goto rxscan102_scan
-  rxscan102_loop:
-    ($P10) = rx99_cur."from"()
+    ne $I10, -1, rxscan101_done
+    goto rxscan101_scan
+  rxscan101_loop:
+    ($P10) = rx98_cur."from"()
     inc $P10
-    set rx99_pos, $P10
-    ge rx99_pos, rx99_eos, rxscan102_done
-  rxscan102_scan:
-    set_addr $I10, rxscan102_loop
-    rx99_cur."!mark_push"(0, rx99_pos, $I10)
-  rxscan102_done:
+    set rx98_pos, $P10
+    ge rx98_pos, rx98_eos, rxscan101_done
+  rxscan101_scan:
+    set_addr $I10, rxscan101_loop
+    rx98_cur."!mark_push"(0, rx98_pos, $I10)
+  rxscan101_done:
 .annotate 'line', 39
-  # rx rxquantr103 ** 1..*
-    set_addr $I10, rxquantr103_done
-    rx99_cur."!mark_push"(0, -1, $I10)
-  rxquantr103_loop:
+  # rx rxquantr102 ** 1..*
+    set_addr $I10, rxquantr102_done
+    rx98_cur."!mark_push"(0, -1, $I10)
+  rxquantr102_loop:
   # rx subrule "quantified_atom" subtype=capture negate=
-    rx99_cur."!cursor_pos"(rx99_pos)
-    $P10 = rx99_cur."quantified_atom"()
-    unless $P10, rx99_fail
-    goto rxsubrule104_pass
-  rxsubrule104_back:
+    rx98_cur."!cursor_pos"(rx98_pos)
+    $P10 = rx98_cur."quantified_atom"()
+    unless $P10, rx98_fail
+    goto rxsubrule103_pass
+  rxsubrule103_back:
     $P10 = $P10."!cursor_next"()
-    unless $P10, rx99_fail
-  rxsubrule104_pass:
-    set_addr $I10, rxsubrule104_back
-    rx99_cur."!mark_push"(0, rx99_pos, $I10, $P10)
+    unless $P10, rx98_fail
+  rxsubrule103_pass:
+    set_addr $I10, rxsubrule103_back
+    rx98_cur."!mark_push"(0, rx98_pos, $I10, $P10)
     $P10."!cursor_names"("noun")
-    rx99_pos = $P10."pos"()
-    set_addr $I10, rxquantr103_done
-    (rx99_rep) = rx99_cur."!mark_commit"($I10)
-    set_addr $I10, rxquantr103_done
-    rx99_cur."!mark_push"(rx99_rep, rx99_pos, $I10)
-    goto rxquantr103_loop
-  rxquantr103_done:
+    rx98_pos = $P10."pos"()
+    set_addr $I10, rxquantr102_done
+    (rx98_rep) = rx98_cur."!mark_commit"($I10)
+    set_addr $I10, rxquantr102_done
+    rx98_cur."!mark_push"(rx98_rep, rx98_pos, $I10)
+    goto rxquantr102_loop
+  rxquantr102_done:
 .annotate 'line', 38
   # rx pass
-    rx99_cur."!cursor_pass"(rx99_pos, "termish")
-    rx99_cur."!cursor_debug"("PASS  ", "termish", " at pos=", rx99_pos)
-    .return (rx99_cur)
-  rx99_restart:
+    rx98_cur."!cursor_pass"(rx98_pos, "termish")
+    rx98_cur."!cursor_debug"("PASS  ", "termish", " at pos=", rx98_pos)
+    .return (rx98_cur)
+  rx98_restart:
 .annotate 'line', 3
-    rx99_cur."!cursor_debug"("NEXT ", "termish")
-  rx99_fail:
-    (rx99_rep, rx99_pos, $I10, $P10) = rx99_cur."!mark_fail"(0)
-    lt rx99_pos, -1, rx99_done
-    eq rx99_pos, -1, rx99_fail
+    rx98_cur."!cursor_debug"("NEXT ", "termish")
+  rx98_fail:
+    (rx98_rep, rx98_pos, $I10, $P10) = rx98_cur."!mark_fail"(0)
+    lt rx98_pos, -1, rx98_done
+    eq rx98_pos, -1, rx98_fail
     jump $I10
-  rx99_done:
-    rx99_cur."!cursor_fail"()
-    rx99_cur."!cursor_debug"("FAIL  ", "termish")
-    .return (rx99_cur)
+  rx98_done:
+    rx98_cur."!cursor_fail"()
+    rx98_cur."!cursor_debug"("FAIL  ", "termish")
+    .return (rx98_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__termish"  :subid("29_1279589163.12187") :method
+.sub "!PREFIX__termish"  :subid("29_1280467470.54449") :method
 .annotate 'line', 3
-    new $P101, "ResizablePMCArray"
-    push $P101, ""
-    .return ($P101)
+    new $P100, "ResizablePMCArray"
+    push $P100, ""
+    .return ($P100)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantified_atom"  :subid("30_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "quantified_atom"  :subid("30_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .const 'Sub' $P114 = "32_1279589163.12187" 
-    capture_lex $P114
-    .local string rx106_tgt
-    .local int rx106_pos
-    .local int rx106_off
-    .local int rx106_eos
-    .local int rx106_rep
-    .local pmc rx106_cur
-    (rx106_cur, rx106_pos, rx106_tgt, $I10) = self."!cursor_start"()
-    rx106_cur."!cursor_caparray"("quantifier", "backmod")
-    .lex unicode:"$\x{a2}", rx106_cur
+    .const 'Sub' $P113 = "32_1280467470.54449" 
+    capture_lex $P113
+    .local string rx105_tgt
+    .local int rx105_pos
+    .local int rx105_off
+    .local int rx105_eos
+    .local int rx105_rep
+    .local pmc rx105_cur
+    (rx105_cur, rx105_pos, rx105_tgt, $I10) = self."!cursor_start"()
+    rx105_cur."!cursor_caparray"("quantifier", "backmod")
+    .lex unicode:"$\x{a2}", rx105_cur
     .local pmc match
     .lex "$/", match
-    length rx106_eos, rx106_tgt
-    gt rx106_pos, rx106_eos, rx106_done
-    set rx106_off, 0
-    lt rx106_pos, 2, rx106_start
-    sub rx106_off, rx106_pos, 1
-    substr rx106_tgt, rx106_tgt, rx106_off
-  rx106_start:
-    eq $I10, 1, rx106_restart
-    rx106_cur."!cursor_debug"("START ", "quantified_atom")
+    length rx105_eos, rx105_tgt
+    gt rx105_pos, rx105_eos, rx105_done
+    set rx105_off, 0
+    lt rx105_pos, 2, rx105_start
+    sub rx105_off, rx105_pos, 1
+    substr rx105_tgt, rx105_tgt, rx105_off
+  rx105_start:
+    eq $I10, 1, rx105_restart
+    rx105_cur."!cursor_debug"("START ", "quantified_atom")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan110_done
-    goto rxscan110_scan
-  rxscan110_loop:
-    ($P10) = rx106_cur."from"()
+    ne $I10, -1, rxscan109_done
+    goto rxscan109_scan
+  rxscan109_loop:
+    ($P10) = rx105_cur."from"()
     inc $P10
-    set rx106_pos, $P10
-    ge rx106_pos, rx106_eos, rxscan110_done
-  rxscan110_scan:
-    set_addr $I10, rxscan110_loop
-    rx106_cur."!mark_push"(0, rx106_pos, $I10)
-  rxscan110_done:
+    set rx105_pos, $P10
+    ge rx105_pos, rx105_eos, rxscan109_done
+  rxscan109_scan:
+    set_addr $I10, rxscan109_loop
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
+  rxscan109_done:
 .annotate 'line', 43
   # rx subrule "atom" subtype=capture negate=
-    rx106_cur."!cursor_pos"(rx106_pos)
-    $P10 = rx106_cur."atom"()
-    unless $P10, rx106_fail
-    rx106_cur."!mark_push"(0, -1, 0, $P10)
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."atom"()
+    unless $P10, rx105_fail
+    rx105_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("atom")
-    rx106_pos = $P10."pos"()
-  # rx rxquantr111 ** 0..1
-    set_addr $I10, rxquantr111_done
-    rx106_cur."!mark_push"(0, rx106_pos, $I10)
-  rxquantr111_loop:
+    rx105_pos = $P10."pos"()
+  # rx rxquantr110 ** 0..1
+    set_addr $I10, rxquantr110_done
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
+  rxquantr110_loop:
   # rx subrule "ws" subtype=method negate=
-    rx106_cur."!cursor_pos"(rx106_pos)
-    $P10 = rx106_cur."ws"()
-    unless $P10, rx106_fail
-    rx106_pos = $P10."pos"()
-  alt112_0:
-    set_addr $I10, alt112_1
-    rx106_cur."!mark_push"(0, rx106_pos, $I10)
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."ws"()
+    unless $P10, rx105_fail
+    rx105_pos = $P10."pos"()
+  alt111_0:
+    set_addr $I10, alt111_1
+    rx105_cur."!mark_push"(0, rx105_pos, $I10)
   # rx subrule "quantifier" subtype=capture negate=
-    rx106_cur."!cursor_pos"(rx106_pos)
-    $P10 = rx106_cur."quantifier"()
-    unless $P10, rx106_fail
-    rx106_cur."!mark_push"(0, -1, 0, $P10)
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."quantifier"()
+    unless $P10, rx105_fail
+    rx105_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quantifier")
-    rx106_pos = $P10."pos"()
-    goto alt112_end
-  alt112_1:
+    rx105_pos = $P10."pos"()
+    goto alt111_end
+  alt111_1:
   # rx subrule "before" subtype=zerowidth negate=
-    rx106_cur."!cursor_pos"(rx106_pos)
-    .const 'Sub' $P114 = "32_1279589163.12187" 
-    capture_lex $P114
-    $P10 = rx106_cur."before"($P114)
-    unless $P10, rx106_fail
+    rx105_cur."!cursor_pos"(rx105_pos)
+    .const 'Sub' $P113 = "32_1280467470.54449" 
+    capture_lex $P113
+    $P10 = rx105_cur."before"($P113)
+    unless $P10, rx105_fail
   # rx subrule "backmod" subtype=capture negate=
-    rx106_cur."!cursor_pos"(rx106_pos)
-    $P10 = rx106_cur."backmod"()
-    unless $P10, rx106_fail
-    rx106_cur."!mark_push"(0, -1, 0, $P10)
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."backmod"()
+    unless $P10, rx105_fail
+    rx105_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backmod")
-    rx106_pos = $P10."pos"()
+    rx105_pos = $P10."pos"()
   # rx subrule "alpha" subtype=zerowidth negate=1
-    rx106_cur."!cursor_pos"(rx106_pos)
-    $P10 = rx106_cur."alpha"()
-    if $P10, rx106_fail
-  alt112_end:
-    set_addr $I10, rxquantr111_done
-    (rx106_rep) = rx106_cur."!mark_commit"($I10)
-  rxquantr111_done:
+    rx105_cur."!cursor_pos"(rx105_pos)
+    $P10 = rx105_cur."alpha"()
+    if $P10, rx105_fail
+  alt111_end:
+    set_addr $I10, rxquantr110_done
+    (rx105_rep) = rx105_cur."!mark_commit"($I10)
+  rxquantr110_done:
 .annotate 'line', 42
   # rx pass
-    rx106_cur."!cursor_pass"(rx106_pos, "quantified_atom")
-    rx106_cur."!cursor_debug"("PASS  ", "quantified_atom", " at pos=", rx106_pos)
-    .return (rx106_cur)
-  rx106_restart:
+    rx105_cur."!cursor_pass"(rx105_pos, "quantified_atom")
+    rx105_cur."!cursor_debug"("PASS  ", "quantified_atom", " at pos=", rx105_pos)
+    .return (rx105_cur)
+  rx105_restart:
 .annotate 'line', 3
-    rx106_cur."!cursor_debug"("NEXT ", "quantified_atom")
-  rx106_fail:
-    (rx106_rep, rx106_pos, $I10, $P10) = rx106_cur."!mark_fail"(0)
-    lt rx106_pos, -1, rx106_done
-    eq rx106_pos, -1, rx106_fail
+    rx105_cur."!cursor_debug"("NEXT ", "quantified_atom")
+  rx105_fail:
+    (rx105_rep, rx105_pos, $I10, $P10) = rx105_cur."!mark_fail"(0)
+    lt rx105_pos, -1, rx105_done
+    eq rx105_pos, -1, rx105_fail
     jump $I10
-  rx106_done:
-    rx106_cur."!cursor_fail"()
-    rx106_cur."!cursor_debug"("FAIL  ", "quantified_atom")
-    .return (rx106_cur)
+  rx105_done:
+    rx105_cur."!cursor_fail"()
+    rx105_cur."!cursor_debug"("FAIL  ", "quantified_atom")
+    .return (rx105_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantified_atom"  :subid("31_1279589163.12187") :method
+.sub "!PREFIX__quantified_atom"  :subid("31_1280467470.54449") :method
 .annotate 'line', 3
-    $P108 = self."!PREFIX__!subrule"("atom", "")
-    new $P109, "ResizablePMCArray"
-    push $P109, $P108
-    .return ($P109)
+    $P107 = self."!PREFIX__!subrule"("atom", "")
+    new $P108, "ResizablePMCArray"
+    push $P108, $P107
+    .return ($P108)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block113"  :anon :subid("32_1279589163.12187") :method :outer("30_1279589163.12187")
+.sub "_block112"  :anon :subid("32_1280467470.54449") :method :outer("30_1280467470.54449")
 .annotate 'line', 43
-    .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, $I10) = self."!cursor_start"()
-    .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:
-    eq $I10, 1, rx115_restart
-    rx115_cur."!cursor_debug"("START ", "")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan116_done
-    goto rxscan116_scan
-  rxscan116_loop:
-    ($P10) = rx115_cur."from"()
-    inc $P10
-    set rx115_pos, $P10
-    ge rx115_pos, rx115_eos, rxscan116_done
-  rxscan116_scan:
-    set_addr $I10, rxscan116_loop
-    rx115_cur."!mark_push"(0, rx115_pos, $I10)
-  rxscan116_done:
+    .local string rx114_tgt
+    .local int rx114_pos
+    .local int rx114_off
+    .local int rx114_eos
+    .local int rx114_rep
+    .local pmc rx114_cur
+    (rx114_cur, rx114_pos, rx114_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx114_cur
+    .local pmc match
+    .lex "$/", match
+    length rx114_eos, rx114_tgt
+    gt rx114_pos, rx114_eos, rx114_done
+    set rx114_off, 0
+    lt rx114_pos, 2, rx114_start
+    sub rx114_off, rx114_pos, 1
+    substr rx114_tgt, rx114_tgt, rx114_off
+  rx114_start:
+    eq $I10, 1, rx114_restart
+    rx114_cur."!cursor_debug"("START ", "")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan115_done
+    goto rxscan115_scan
+  rxscan115_loop:
+    ($P10) = rx114_cur."from"()
+    inc $P10
+    set rx114_pos, $P10
+    ge rx114_pos, rx114_eos, rxscan115_done
+  rxscan115_scan:
+    set_addr $I10, rxscan115_loop
+    rx114_cur."!mark_push"(0, rx114_pos, $I10)
+  rxscan115_done:
   # rx literal  ":"
-    add $I11, rx115_pos, 1
-    gt $I11, rx115_eos, rx115_fail
-    sub $I11, rx115_pos, rx115_off
-    substr $S10, rx115_tgt, $I11, 1
-    ne $S10, ":", rx115_fail
-    add rx115_pos, 1
-  # rx pass
-    rx115_cur."!cursor_pass"(rx115_pos, "")
-    rx115_cur."!cursor_debug"("PASS  ", "", " at pos=", rx115_pos)
-    .return (rx115_cur)
-  rx115_restart:
-    rx115_cur."!cursor_debug"("NEXT ", "")
-  rx115_fail:
-    (rx115_rep, rx115_pos, $I10, $P10) = rx115_cur."!mark_fail"(0)
-    lt rx115_pos, -1, rx115_done
-    eq rx115_pos, -1, rx115_fail
-    jump $I10
-  rx115_done:
-    rx115_cur."!cursor_fail"()
-    rx115_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx115_cur)
+    add $I11, rx114_pos, 1
+    gt $I11, rx114_eos, rx114_fail
+    sub $I11, rx114_pos, rx114_off
+    substr $S10, rx114_tgt, $I11, 1
+    ne $S10, ":", rx114_fail
+    add rx114_pos, 1
+  # rx pass
+    rx114_cur."!cursor_pass"(rx114_pos, "")
+    rx114_cur."!cursor_debug"("PASS  ", "", " at pos=", rx114_pos)
+    .return (rx114_cur)
+  rx114_restart:
+    rx114_cur."!cursor_debug"("NEXT ", "")
+  rx114_fail:
+    (rx114_rep, rx114_pos, $I10, $P10) = rx114_cur."!mark_fail"(0)
+    lt rx114_pos, -1, rx114_done
+    eq rx114_pos, -1, rx114_fail
+    jump $I10
+  rx114_done:
+    rx114_cur."!cursor_fail"()
+    rx114_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx114_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "atom"  :subid("33_1279589163.12187") :method :outer("11_1279589163.12187")
-.annotate 'line', 3
-    .const 'Sub' $P127 = "35_1279589163.12187" 
-    capture_lex $P127
-    .local string rx118_tgt
-    .local int rx118_pos
-    .local int rx118_off
-    .local int rx118_eos
-    .local int rx118_rep
-    .local pmc rx118_cur
-    (rx118_cur, rx118_pos, rx118_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx118_cur
-    .local pmc match
-    .lex "$/", match
-    length rx118_eos, rx118_tgt
-    gt rx118_pos, rx118_eos, rx118_done
-    set rx118_off, 0
-    lt rx118_pos, 2, rx118_start
-    sub rx118_off, rx118_pos, 1
-    substr rx118_tgt, rx118_tgt, rx118_off
-  rx118_start:
-    eq $I10, 1, rx118_restart
-    rx118_cur."!cursor_debug"("START ", "atom")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan122_done
-    goto rxscan122_scan
-  rxscan122_loop:
-    ($P10) = rx118_cur."from"()
-    inc $P10
-    set rx118_pos, $P10
-    ge rx118_pos, rx118_eos, rxscan122_done
-  rxscan122_scan:
-    set_addr $I10, rxscan122_loop
-    rx118_cur."!mark_push"(0, rx118_pos, $I10)
-  rxscan122_done:
-  alt123_0:
+.sub "atom"  :subid("33_1280467470.54449") :method :outer("11_1280467470.54449")
+.annotate 'line', 3
+    .const 'Sub' $P126 = "35_1280467470.54449" 
+    capture_lex $P126
+    .local string rx117_tgt
+    .local int rx117_pos
+    .local int rx117_off
+    .local int rx117_eos
+    .local int rx117_rep
+    .local pmc rx117_cur
+    (rx117_cur, rx117_pos, rx117_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx117_cur
+    .local pmc match
+    .lex "$/", match
+    length rx117_eos, rx117_tgt
+    gt rx117_pos, rx117_eos, rx117_done
+    set rx117_off, 0
+    lt rx117_pos, 2, rx117_start
+    sub rx117_off, rx117_pos, 1
+    substr rx117_tgt, rx117_tgt, rx117_off
+  rx117_start:
+    eq $I10, 1, rx117_restart
+    rx117_cur."!cursor_debug"("START ", "atom")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan121_done
+    goto rxscan121_scan
+  rxscan121_loop:
+    ($P10) = rx117_cur."from"()
+    inc $P10
+    set rx117_pos, $P10
+    ge rx117_pos, rx117_eos, rxscan121_done
+  rxscan121_scan:
+    set_addr $I10, rxscan121_loop
+    rx117_cur."!mark_push"(0, rx117_pos, $I10)
+  rxscan121_done:
+  alt122_0:
 .annotate 'line', 48
-    set_addr $I10, alt123_1
-    rx118_cur."!mark_push"(0, rx118_pos, $I10)
+    set_addr $I10, alt122_1
+    rx117_cur."!mark_push"(0, rx117_pos, $I10)
 .annotate 'line', 49
   # rx charclass w
-    ge rx118_pos, rx118_eos, rx118_fail
-    sub $I10, rx118_pos, rx118_off
-    is_cclass $I11, 8192, rx118_tgt, $I10
-    unless $I11, rx118_fail
-    inc rx118_pos
-  # rx rxquantr124 ** 0..1
-    set_addr $I10, rxquantr124_done
-    rx118_cur."!mark_push"(0, rx118_pos, $I10)
-  rxquantr124_loop:
-  # rx rxquantg125 ** 1..*
-  rxquantg125_loop:
+    ge rx117_pos, rx117_eos, rx117_fail
+    sub $I10, rx117_pos, rx117_off
+    is_cclass $I11, 8192, rx117_tgt, $I10
+    unless $I11, rx117_fail
+    inc rx117_pos
+  # rx rxquantr123 ** 0..1
+    set_addr $I10, rxquantr123_done
+    rx117_cur."!mark_push"(0, rx117_pos, $I10)
+  rxquantr123_loop:
+  # rx rxquantg124 ** 1..*
+  rxquantg124_loop:
   # rx charclass w
-    ge rx118_pos, rx118_eos, rx118_fail
-    sub $I10, rx118_pos, rx118_off
-    is_cclass $I11, 8192, rx118_tgt, $I10
-    unless $I11, rx118_fail
-    inc rx118_pos
-    set_addr $I10, rxquantg125_done
-    rx118_cur."!mark_push"(rx118_rep, rx118_pos, $I10)
-    goto rxquantg125_loop
-  rxquantg125_done:
+    ge rx117_pos, rx117_eos, rx117_fail
+    sub $I10, rx117_pos, rx117_off
+    is_cclass $I11, 8192, rx117_tgt, $I10
+    unless $I11, rx117_fail
+    inc rx117_pos
+    set_addr $I10, rxquantg124_done
+    rx117_cur."!mark_push"(rx117_rep, rx117_pos, $I10)
+    goto rxquantg124_loop
+  rxquantg124_done:
   # rx subrule "before" subtype=zerowidth negate=
-    rx118_cur."!cursor_pos"(rx118_pos)
-    .const 'Sub' $P127 = "35_1279589163.12187" 
-    capture_lex $P127
-    $P10 = rx118_cur."before"($P127)
-    unless $P10, rx118_fail
-    set_addr $I10, rxquantr124_done
-    (rx118_rep) = rx118_cur."!mark_commit"($I10)
-  rxquantr124_done:
-    goto alt123_end
-  alt123_1:
+    rx117_cur."!cursor_pos"(rx117_pos)
+    .const 'Sub' $P126 = "35_1280467470.54449" 
+    capture_lex $P126
+    $P10 = rx117_cur."before"($P126)
+    unless $P10, rx117_fail
+    set_addr $I10, rxquantr123_done
+    (rx117_rep) = rx117_cur."!mark_commit"($I10)
+  rxquantr123_done:
+    goto alt122_end
+  alt122_1:
 .annotate 'line', 50
   # rx subrule "metachar" subtype=capture negate=
-    rx118_cur."!cursor_pos"(rx118_pos)
-    $P10 = rx118_cur."metachar"()
-    unless $P10, rx118_fail
-    rx118_cur."!mark_push"(0, -1, 0, $P10)
+    rx117_cur."!cursor_pos"(rx117_pos)
+    $P10 = rx117_cur."metachar"()
+    unless $P10, rx117_fail
+    rx117_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("metachar")
-    rx118_pos = $P10."pos"()
-  alt123_end:
+    rx117_pos = $P10."pos"()
+  alt122_end:
 .annotate 'line', 46
   # rx pass
-    rx118_cur."!cursor_pass"(rx118_pos, "atom")
-    rx118_cur."!cursor_debug"("PASS  ", "atom", " at pos=", rx118_pos)
-    .return (rx118_cur)
-  rx118_restart:
+    rx117_cur."!cursor_pass"(rx117_pos, "atom")
+    rx117_cur."!cursor_debug"("PASS  ", "atom", " at pos=", rx117_pos)
+    .return (rx117_cur)
+  rx117_restart:
 .annotate 'line', 3
-    rx118_cur."!cursor_debug"("NEXT ", "atom")
-  rx118_fail:
-    (rx118_rep, rx118_pos, $I10, $P10) = rx118_cur."!mark_fail"(0)
-    lt rx118_pos, -1, rx118_done
-    eq rx118_pos, -1, rx118_fail
+    rx117_cur."!cursor_debug"("NEXT ", "atom")
+  rx117_fail:
+    (rx117_rep, rx117_pos, $I10, $P10) = rx117_cur."!mark_fail"(0)
+    lt rx117_pos, -1, rx117_done
+    eq rx117_pos, -1, rx117_fail
     jump $I10
-  rx118_done:
-    rx118_cur."!cursor_fail"()
-    rx118_cur."!cursor_debug"("FAIL  ", "atom")
-    .return (rx118_cur)
+  rx117_done:
+    rx117_cur."!cursor_fail"()
+    rx117_cur."!cursor_debug"("FAIL  ", "atom")
+    .return (rx117_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__atom"  :subid("34_1279589163.12187") :method
+.sub "!PREFIX__atom"  :subid("34_1280467470.54449") :method
 .annotate 'line', 3
-    $P120 = self."!PREFIX__!subrule"("metachar", "")
-    new $P121, "ResizablePMCArray"
-    push $P121, $P120
-    push $P121, ""
-    .return ($P121)
+    $P119 = self."!PREFIX__!subrule"("metachar", "")
+    new $P120, "ResizablePMCArray"
+    push $P120, $P119
+    push $P120, ""
+    .return ($P120)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block126"  :anon :subid("35_1279589163.12187") :method :outer("33_1279589163.12187")
+.sub "_block125"  :anon :subid("35_1280467470.54449") :method :outer("33_1280467470.54449")
 .annotate 'line', 49
-    .local string rx128_tgt
-    .local int rx128_pos
-    .local int rx128_off
-    .local int rx128_eos
-    .local int rx128_rep
-    .local pmc rx128_cur
-    (rx128_cur, rx128_pos, rx128_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx128_cur
-    .local pmc match
-    .lex "$/", match
-    length rx128_eos, rx128_tgt
-    gt rx128_pos, rx128_eos, rx128_done
-    set rx128_off, 0
-    lt rx128_pos, 2, rx128_start
-    sub rx128_off, rx128_pos, 1
-    substr rx128_tgt, rx128_tgt, rx128_off
-  rx128_start:
-    eq $I10, 1, rx128_restart
-    rx128_cur."!cursor_debug"("START ", "")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan129_done
-    goto rxscan129_scan
-  rxscan129_loop:
-    ($P10) = rx128_cur."from"()
-    inc $P10
-    set rx128_pos, $P10
-    ge rx128_pos, rx128_eos, rxscan129_done
-  rxscan129_scan:
-    set_addr $I10, rxscan129_loop
-    rx128_cur."!mark_push"(0, rx128_pos, $I10)
-  rxscan129_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, $I10) = self."!cursor_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:
+    eq $I10, 1, rx127_restart
+    rx127_cur."!cursor_debug"("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 rx128_pos, rx128_eos, rx128_fail
-    sub $I10, rx128_pos, rx128_off
-    is_cclass $I11, 8192, rx128_tgt, $I10
-    unless $I11, rx128_fail
-    inc rx128_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
-    rx128_cur."!cursor_pass"(rx128_pos, "")
-    rx128_cur."!cursor_debug"("PASS  ", "", " at pos=", rx128_pos)
-    .return (rx128_cur)
-  rx128_restart:
-    rx128_cur."!cursor_debug"("NEXT ", "")
-  rx128_fail:
-    (rx128_rep, rx128_pos, $I10, $P10) = rx128_cur."!mark_fail"(0)
-    lt rx128_pos, -1, rx128_done
-    eq rx128_pos, -1, rx128_fail
+    rx127_cur."!cursor_pass"(rx127_pos, "")
+    rx127_cur."!cursor_debug"("PASS  ", "", " at pos=", rx127_pos)
+    .return (rx127_cur)
+  rx127_restart:
+    rx127_cur."!cursor_debug"("NEXT ", "")
+  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
-  rx128_done:
-    rx128_cur."!cursor_fail"()
-    rx128_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx128_cur)
+  rx127_done:
+    rx127_cur."!cursor_fail"()
+    rx127_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx127_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier"  :subid("36_1279589163.12187") :method
+.sub "quantifier"  :subid("36_1280467470.54449") :method
 .annotate 'line', 54
-    $P131 = self."!protoregex"("quantifier")
-    .return ($P131)
+    $P130 = self."!protoregex"("quantifier")
+    .return ($P130)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier"  :subid("37_1279589163.12187") :method
+.sub "!PREFIX__quantifier"  :subid("37_1280467470.54449") :method
 .annotate 'line', 54
-    $P133 = self."!PREFIX__!protoregex"("quantifier")
-    .return ($P133)
+    $P132 = self."!PREFIX__!protoregex"("quantifier")
+    .return ($P132)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<*>"  :subid("38_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "quantifier:sym<*>"  :subid("38_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .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, $I10) = self."!cursor_start"()
-    .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:
-    eq $I10, 1, rx135_restart
-    rx135_cur."!cursor_debug"("START ", "quantifier:sym<*>")
-    $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:
+    .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, $I10) = self."!cursor_start"()
+    .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:
+    eq $I10, 1, rx134_restart
+    rx134_cur."!cursor_debug"("START ", "quantifier:sym<*>")
+    $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:
 .annotate 'line', 55
   # rx subcapture "sym"
-    set_addr $I10, rxcap_140_fail
-    rx135_cur."!mark_push"(0, rx135_pos, $I10)
+    set_addr $I10, rxcap_139_fail
+    rx134_cur."!mark_push"(0, rx134_pos, $I10)
   # rx literal  "*"
-    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)
+    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)
     $P10."!cursor_names"("sym")
-    goto rxcap_140_done
-  rxcap_140_fail:
-    goto rx135_fail
-  rxcap_140_done:
+    goto rxcap_139_done
+  rxcap_139_fail:
+    goto rx134_fail
+  rxcap_139_done:
   # rx subrule "backmod" subtype=capture negate=
-    rx135_cur."!cursor_pos"(rx135_pos)
-    $P10 = rx135_cur."backmod"()
-    unless $P10, rx135_fail
-    rx135_cur."!mark_push"(0, -1, 0, $P10)
+    rx134_cur."!cursor_pos"(rx134_pos)
+    $P10 = rx134_cur."backmod"()
+    unless $P10, rx134_fail
+    rx134_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backmod")
-    rx135_pos = $P10."pos"()
+    rx134_pos = $P10."pos"()
   # rx pass
-    rx135_cur."!cursor_pass"(rx135_pos, "quantifier:sym<*>")
-    rx135_cur."!cursor_debug"("PASS  ", "quantifier:sym<*>", " at pos=", rx135_pos)
-    .return (rx135_cur)
-  rx135_restart:
+    rx134_cur."!cursor_pass"(rx134_pos, "quantifier:sym<*>")
+    rx134_cur."!cursor_debug"("PASS  ", "quantifier:sym<*>", " at pos=", rx134_pos)
+    .return (rx134_cur)
+  rx134_restart:
 .annotate 'line', 3
-    rx135_cur."!cursor_debug"("NEXT ", "quantifier:sym<*>")
-  rx135_fail:
-    (rx135_rep, rx135_pos, $I10, $P10) = rx135_cur."!mark_fail"(0)
-    lt rx135_pos, -1, rx135_done
-    eq rx135_pos, -1, rx135_fail
+    rx134_cur."!cursor_debug"("NEXT ", "quantifier:sym<*>")
+  rx134_fail:
+    (rx134_rep, rx134_pos, $I10, $P10) = rx134_cur."!mark_fail"(0)
+    lt rx134_pos, -1, rx134_done
+    eq rx134_pos, -1, rx134_fail
     jump $I10
-  rx135_done:
-    rx135_cur."!cursor_fail"()
-    rx135_cur."!cursor_debug"("FAIL  ", "quantifier:sym<*>")
-    .return (rx135_cur)
+  rx134_done:
+    rx134_cur."!cursor_fail"()
+    rx134_cur."!cursor_debug"("FAIL  ", "quantifier:sym<*>")
+    .return (rx134_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<*>"  :subid("39_1279589163.12187") :method
+.sub "!PREFIX__quantifier:sym<*>"  :subid("39_1280467470.54449") :method
 .annotate 'line', 3
-    $P137 = self."!PREFIX__!subrule"("backmod", "*")
-    new $P138, "ResizablePMCArray"
-    push $P138, $P137
-    .return ($P138)
+    $P136 = self."!PREFIX__!subrule"("backmod", "*")
+    new $P137, "ResizablePMCArray"
+    push $P137, $P136
+    .return ($P137)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<+>"  :subid("40_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "quantifier:sym<+>"  :subid("40_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .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, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx142_cur
+    .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, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx141_cur
     .local pmc match
     .lex "$/", match
-    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:
-    eq $I10, 1, rx142_restart
-    rx142_cur."!cursor_debug"("START ", "quantifier:sym<+>")
+    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:
+    eq $I10, 1, rx141_restart
+    rx141_cur."!cursor_debug"("START ", "quantifier:sym<+>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan146_done
-    goto rxscan146_scan
-  rxscan146_loop:
-    ($P10) = rx142_cur."from"()
+    ne $I10, -1, rxscan145_done
+    goto rxscan145_scan
+  rxscan145_loop:
+    ($P10) = rx141_cur."from"()
     inc $P10
-    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:
+    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:
 .annotate 'line', 56
   # rx subcapture "sym"
-    set_addr $I10, rxcap_147_fail
-    rx142_cur."!mark_push"(0, rx142_pos, $I10)
+    set_addr $I10, rxcap_146_fail
+    rx141_cur."!mark_push"(0, rx141_pos, $I10)
   # rx literal  "+"
-    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)
+    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)
     $P10."!cursor_names"("sym")
-    goto rxcap_147_done
-  rxcap_147_fail:
-    goto rx142_fail
-  rxcap_147_done:
+    goto rxcap_146_done
+  rxcap_146_fail:
+    goto rx141_fail
+  rxcap_146_done:
   # rx subrule "backmod" subtype=capture negate=
-    rx142_cur."!cursor_pos"(rx142_pos)
-    $P10 = rx142_cur."backmod"()
-    unless $P10, rx142_fail
-    rx142_cur."!mark_push"(0, -1, 0, $P10)
+    rx141_cur."!cursor_pos"(rx141_pos)
+    $P10 = rx141_cur."backmod"()
+    unless $P10, rx141_fail
+    rx141_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backmod")
-    rx142_pos = $P10."pos"()
+    rx141_pos = $P10."pos"()
   # rx pass
-    rx142_cur."!cursor_pass"(rx142_pos, "quantifier:sym<+>")
-    rx142_cur."!cursor_debug"("PASS  ", "quantifier:sym<+>", " at pos=", rx142_pos)
-    .return (rx142_cur)
-  rx142_restart:
+    rx141_cur."!cursor_pass"(rx141_pos, "quantifier:sym<+>")
+    rx141_cur."!cursor_debug"("PASS  ", "quantifier:sym<+>", " at pos=", rx141_pos)
+    .return (rx141_cur)
+  rx141_restart:
 .annotate 'line', 3
-    rx142_cur."!cursor_debug"("NEXT ", "quantifier:sym<+>")
-  rx142_fail:
-    (rx142_rep, rx142_pos, $I10, $P10) = rx142_cur."!mark_fail"(0)
-    lt rx142_pos, -1, rx142_done
-    eq rx142_pos, -1, rx142_fail
+    rx141_cur."!cursor_debug"("NEXT ", "quantifier:sym<+>")
+  rx141_fail:
+    (rx141_rep, rx141_pos, $I10, $P10) = rx141_cur."!mark_fail"(0)
+    lt rx141_pos, -1, rx141_done
+    eq rx141_pos, -1, rx141_fail
     jump $I10
-  rx142_done:
-    rx142_cur."!cursor_fail"()
-    rx142_cur."!cursor_debug"("FAIL  ", "quantifier:sym<+>")
-    .return (rx142_cur)
+  rx141_done:
+    rx141_cur."!cursor_fail"()
+    rx141_cur."!cursor_debug"("FAIL  ", "quantifier:sym<+>")
+    .return (rx141_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<+>"  :subid("41_1279589163.12187") :method
+.sub "!PREFIX__quantifier:sym<+>"  :subid("41_1280467470.54449") :method
 .annotate 'line', 3
-    $P144 = self."!PREFIX__!subrule"("backmod", "+")
-    new $P145, "ResizablePMCArray"
-    push $P145, $P144
-    .return ($P145)
+    $P143 = self."!PREFIX__!subrule"("backmod", "+")
+    new $P144, "ResizablePMCArray"
+    push $P144, $P143
+    .return ($P144)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<?>"  :subid("42_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "quantifier:sym<?>"  :subid("42_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .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, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx149_cur
+    .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, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx148_cur
     .local pmc match
     .lex "$/", match
-    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:
-    eq $I10, 1, rx149_restart
-    rx149_cur."!cursor_debug"("START ", "quantifier:sym<?>")
+    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:
+    eq $I10, 1, rx148_restart
+    rx148_cur."!cursor_debug"("START ", "quantifier:sym<?>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan153_done
-    goto rxscan153_scan
-  rxscan153_loop:
-    ($P10) = rx149_cur."from"()
+    ne $I10, -1, rxscan152_done
+    goto rxscan152_scan
+  rxscan152_loop:
+    ($P10) = rx148_cur."from"()
     inc $P10
-    set rx149_pos, $P10
-    ge rx149_pos, rx149_eos, rxscan153_done
-  rxscan153_scan:
-    set_addr $I10, rxscan153_loop
-    rx149_cur."!mark_push"(0, rx149_pos, $I10)
-  rxscan153_done:
+    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:
 .annotate 'line', 57
   # rx subcapture "sym"
-    set_addr $I10, rxcap_154_fail
-    rx149_cur."!mark_push"(0, rx149_pos, $I10)
+    set_addr $I10, rxcap_153_fail
+    rx148_cur."!mark_push"(0, rx148_pos, $I10)
   # rx literal  "?"
-    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)
+    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)
     $P10."!cursor_names"("sym")
-    goto rxcap_154_done
-  rxcap_154_fail:
-    goto rx149_fail
-  rxcap_154_done:
+    goto rxcap_153_done
+  rxcap_153_fail:
+    goto rx148_fail
+  rxcap_153_done:
   # rx subrule "backmod" subtype=capture negate=
-    rx149_cur."!cursor_pos"(rx149_pos)
-    $P10 = rx149_cur."backmod"()
-    unless $P10, rx149_fail
-    rx149_cur."!mark_push"(0, -1, 0, $P10)
+    rx148_cur."!cursor_pos"(rx148_pos)
+    $P10 = rx148_cur."backmod"()
+    unless $P10, rx148_fail
+    rx148_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backmod")
-    rx149_pos = $P10."pos"()
+    rx148_pos = $P10."pos"()
   # rx pass
-    rx149_cur."!cursor_pass"(rx149_pos, "quantifier:sym<?>")
-    rx149_cur."!cursor_debug"("PASS  ", "quantifier:sym<?>", " at pos=", rx149_pos)
-    .return (rx149_cur)
-  rx149_restart:
+    rx148_cur."!cursor_pass"(rx148_pos, "quantifier:sym<?>")
+    rx148_cur."!cursor_debug"("PASS  ", "quantifier:sym<?>", " at pos=", rx148_pos)
+    .return (rx148_cur)
+  rx148_restart:
 .annotate 'line', 3
-    rx149_cur."!cursor_debug"("NEXT ", "quantifier:sym<?>")
-  rx149_fail:
-    (rx149_rep, rx149_pos, $I10, $P10) = rx149_cur."!mark_fail"(0)
-    lt rx149_pos, -1, rx149_done
-    eq rx149_pos, -1, rx149_fail
+    rx148_cur."!cursor_debug"("NEXT ", "quantifier:sym<?>")
+  rx148_fail:
+    (rx148_rep, rx148_pos, $I10, $P10) = rx148_cur."!mark_fail"(0)
+    lt rx148_pos, -1, rx148_done
+    eq rx148_pos, -1, rx148_fail
     jump $I10
-  rx149_done:
-    rx149_cur."!cursor_fail"()
-    rx149_cur."!cursor_debug"("FAIL  ", "quantifier:sym<?>")
-    .return (rx149_cur)
+  rx148_done:
+    rx148_cur."!cursor_fail"()
+    rx148_cur."!cursor_debug"("FAIL  ", "quantifier:sym<?>")
+    .return (rx148_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<?>"  :subid("43_1279589163.12187") :method
+.sub "!PREFIX__quantifier:sym<?>"  :subid("43_1280467470.54449") :method
 .annotate 'line', 3
-    $P151 = self."!PREFIX__!subrule"("backmod", "?")
-    new $P152, "ResizablePMCArray"
-    push $P152, $P151
-    .return ($P152)
+    $P150 = self."!PREFIX__!subrule"("backmod", "?")
+    new $P151, "ResizablePMCArray"
+    push $P151, $P150
+    .return ($P151)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<**>"  :subid("44_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "quantifier:sym<**>"  :subid("44_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .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, $I10) = self."!cursor_start"()
-    rx156_cur."!cursor_caparray"("max", "normspace")
-    .lex unicode:"$\x{a2}", rx156_cur
+    .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, $I10) = self."!cursor_start"()
+    rx155_cur."!cursor_caparray"("max", "normspace")
+    .lex unicode:"$\x{a2}", rx155_cur
     .local pmc match
     .lex "$/", match
-    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:
-    eq $I10, 1, rx156_restart
-    rx156_cur."!cursor_debug"("START ", "quantifier:sym<**>")
+    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:
+    eq $I10, 1, rx155_restart
+    rx155_cur."!cursor_debug"("START ", "quantifier:sym<**>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan159_done
-    goto rxscan159_scan
-  rxscan159_loop:
-    ($P10) = rx156_cur."from"()
+    ne $I10, -1, rxscan158_done
+    goto rxscan158_scan
+  rxscan158_loop:
+    ($P10) = rx155_cur."from"()
     inc $P10
-    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:
+    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:
 .annotate 'line', 59
   # rx subcapture "sym"
-    set_addr $I10, rxcap_160_fail
-    rx156_cur."!mark_push"(0, rx156_pos, $I10)
+    set_addr $I10, rxcap_159_fail
+    rx155_cur."!mark_push"(0, rx155_pos, $I10)
   # rx literal  "**"
-    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)
+    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)
     $P10."!cursor_names"("sym")
-    goto rxcap_160_done
-  rxcap_160_fail:
-    goto rx156_fail
-  rxcap_160_done:
-  # rx rxquantr161 ** 0..1
-    set_addr $I10, rxquantr161_done
-    rx156_cur."!mark_push"(0, rx156_pos, $I10)
-  rxquantr161_loop:
+    goto rxcap_159_done
+  rxcap_159_fail:
+    goto rx155_fail
+  rxcap_159_done:
+  # rx rxquantr160 ** 0..1
+    set_addr $I10, rxquantr160_done
+    rx155_cur."!mark_push"(0, rx155_pos, $I10)
+  rxquantr160_loop:
   # rx subrule "normspace" subtype=capture negate=
-    rx156_cur."!cursor_pos"(rx156_pos)
-    $P10 = rx156_cur."normspace"()
-    unless $P10, rx156_fail
-    goto rxsubrule162_pass
-  rxsubrule162_back:
+    rx155_cur."!cursor_pos"(rx155_pos)
+    $P10 = rx155_cur."normspace"()
+    unless $P10, rx155_fail
+    goto rxsubrule161_pass
+  rxsubrule161_back:
     $P10 = $P10."!cursor_next"()
-    unless $P10, rx156_fail
-  rxsubrule162_pass:
-    set_addr $I10, rxsubrule162_back
-    rx156_cur."!mark_push"(0, rx156_pos, $I10, $P10)
+    unless $P10, rx155_fail
+  rxsubrule161_pass:
+    set_addr $I10, rxsubrule161_back
+    rx155_cur."!mark_push"(0, rx155_pos, $I10, $P10)
     $P10."!cursor_names"("normspace")
-    rx156_pos = $P10."pos"()
-    set_addr $I10, rxquantr161_done
-    (rx156_rep) = rx156_cur."!mark_commit"($I10)
-  rxquantr161_done:
+    rx155_pos = $P10."pos"()
+    set_addr $I10, rxquantr160_done
+    (rx155_rep) = rx155_cur."!mark_commit"($I10)
+  rxquantr160_done:
   # rx subrule "backmod" subtype=capture negate=
-    rx156_cur."!cursor_pos"(rx156_pos)
-    $P10 = rx156_cur."backmod"()
-    unless $P10, rx156_fail
-    rx156_cur."!mark_push"(0, -1, 0, $P10)
+    rx155_cur."!cursor_pos"(rx155_pos)
+    $P10 = rx155_cur."backmod"()
+    unless $P10, rx155_fail
+    rx155_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backmod")
-    rx156_pos = $P10."pos"()
-  # rx rxquantr163 ** 0..1
-    set_addr $I10, rxquantr163_done
-    rx156_cur."!mark_push"(0, rx156_pos, $I10)
-  rxquantr163_loop:
+    rx155_pos = $P10."pos"()
+  # rx rxquantr162 ** 0..1
+    set_addr $I10, rxquantr162_done
+    rx155_cur."!mark_push"(0, rx155_pos, $I10)
+  rxquantr162_loop:
   # rx subrule "normspace" subtype=capture negate=
-    rx156_cur."!cursor_pos"(rx156_pos)
-    $P10 = rx156_cur."normspace"()
-    unless $P10, rx156_fail
-    goto rxsubrule164_pass
-  rxsubrule164_back:
+    rx155_cur."!cursor_pos"(rx155_pos)
+    $P10 = rx155_cur."normspace"()
+    unless $P10, rx155_fail
+    goto rxsubrule163_pass
+  rxsubrule163_back:
     $P10 = $P10."!cursor_next"()
-    unless $P10, rx156_fail
-  rxsubrule164_pass:
-    set_addr $I10, rxsubrule164_back
-    rx156_cur."!mark_push"(0, rx156_pos, $I10, $P10)
+    unless $P10, rx155_fail
+  rxsubrule163_pass:
+    set_addr $I10, rxsubrule163_back
+    rx155_cur."!mark_push"(0, rx155_pos, $I10, $P10)
     $P10."!cursor_names"("normspace")
-    rx156_pos = $P10."pos"()
-    set_addr $I10, rxquantr163_done
-    (rx156_rep) = rx156_cur."!mark_commit"($I10)
-  rxquantr163_done:
-  alt165_0:
+    rx155_pos = $P10."pos"()
+    set_addr $I10, rxquantr162_done
+    (rx155_rep) = rx155_cur."!mark_commit"($I10)
+  rxquantr162_done:
+  alt164_0:
 .annotate 'line', 60
-    set_addr $I10, alt165_1
-    rx156_cur."!mark_push"(0, rx156_pos, $I10)
+    set_addr $I10, alt164_1
+    rx155_cur."!mark_push"(0, rx155_pos, $I10)
 .annotate 'line', 61
   # rx subcapture "min"
-    set_addr $I10, rxcap_166_fail
-    rx156_cur."!mark_push"(0, rx156_pos, $I10)
+    set_addr $I10, rxcap_165_fail
+    rx155_cur."!mark_push"(0, rx155_pos, $I10)
   # rx charclass_q d r 1..-1
-    sub $I10, rx156_pos, rx156_off
-    find_not_cclass $I11, 8, rx156_tgt, $I10, rx156_eos
+    sub $I10, rx155_pos, rx155_off
+    find_not_cclass $I11, 8, rx155_tgt, $I10, rx155_eos
     add $I12, $I10, 1
-    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)
+    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)
     $P10."!cursor_names"("min")
-    goto rxcap_166_done
-  rxcap_166_fail:
-    goto rx156_fail
-  rxcap_166_done:
+    goto rxcap_165_done
+  rxcap_165_fail:
+    goto rx155_fail
+  rxcap_165_done:
 .annotate 'line', 68
-  # rx rxquantr167 ** 0..1
-    set_addr $I10, rxquantr167_done
-    rx156_cur."!mark_push"(0, rx156_pos, $I10)
-  rxquantr167_loop:
+  # rx rxquantr166 ** 0..1
+    set_addr $I10, rxquantr166_done
+    rx155_cur."!mark_push"(0, rx155_pos, $I10)
+  rxquantr166_loop:
 .annotate 'line', 62
   # rx literal  ".."
-    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
+    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
 .annotate 'line', 63
   # rx subcapture "max"
-    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)
+    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)
 .annotate 'line', 64
   # rx charclass_q d r 1..-1
-    sub $I10, rx156_pos, rx156_off
-    find_not_cclass $I11, 8, rx156_tgt, $I10, rx156_eos
+    sub $I10, rx155_pos, rx155_off
+    find_not_cclass $I11, 8, rx155_tgt, $I10, rx155_eos
     add $I12, $I10, 1
-    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)
+    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)
 .annotate 'line', 65
   # rx literal  "*"
-    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:
+    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:
 .annotate 'line', 66
   # rx subrule "panic" subtype=method negate=
-    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:
+    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:
 .annotate 'line', 63
-    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)
+    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)
     $P10."!cursor_names"("max")
-    goto rxcap_169_done
-  rxcap_169_fail:
-    goto rx156_fail
-  rxcap_169_done:
+    goto rxcap_168_done
+  rxcap_168_fail:
+    goto rx155_fail
+  rxcap_168_done:
 .annotate 'line', 68
-    set_addr $I10, rxquantr167_done
-    (rx156_rep) = rx156_cur."!mark_commit"($I10)
-  rxquantr167_done:
+    set_addr $I10, rxquantr166_done
+    (rx155_rep) = rx155_cur."!mark_commit"($I10)
+  rxquantr166_done:
 .annotate 'line', 61
-    goto alt165_end
-  alt165_1:
+    goto alt164_end
+  alt164_1:
 .annotate 'line', 69
   # rx subrule "quantified_atom" subtype=capture negate=
-    rx156_cur."!cursor_pos"(rx156_pos)
-    $P10 = rx156_cur."quantified_atom"()
-    unless $P10, rx156_fail
-    rx156_cur."!mark_push"(0, -1, 0, $P10)
+    rx155_cur."!cursor_pos"(rx155_pos)
+    $P10 = rx155_cur."quantified_atom"()
+    unless $P10, rx155_fail
+    rx155_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quantified_atom")
-    rx156_pos = $P10."pos"()
-  alt165_end:
+    rx155_pos = $P10."pos"()
+  alt164_end:
 .annotate 'line', 58
   # rx pass
-    rx156_cur."!cursor_pass"(rx156_pos, "quantifier:sym<**>")
-    rx156_cur."!cursor_debug"("PASS  ", "quantifier:sym<**>", " at pos=", rx156_pos)
-    .return (rx156_cur)
-  rx156_restart:
+    rx155_cur."!cursor_pass"(rx155_pos, "quantifier:sym<**>")
+    rx155_cur."!cursor_debug"("PASS  ", "quantifier:sym<**>", " at pos=", rx155_pos)
+    .return (rx155_cur)
+  rx155_restart:
 .annotate 'line', 3
-    rx156_cur."!cursor_debug"("NEXT ", "quantifier:sym<**>")
-  rx156_fail:
-    (rx156_rep, rx156_pos, $I10, $P10) = rx156_cur."!mark_fail"(0)
-    lt rx156_pos, -1, rx156_done
-    eq rx156_pos, -1, rx156_fail
+    rx155_cur."!cursor_debug"("NEXT ", "quantifier:sym<**>")
+  rx155_fail:
+    (rx155_rep, rx155_pos, $I10, $P10) = rx155_cur."!mark_fail"(0)
+    lt rx155_pos, -1, rx155_done
+    eq rx155_pos, -1, rx155_fail
     jump $I10
-  rx156_done:
-    rx156_cur."!cursor_fail"()
-    rx156_cur."!cursor_debug"("FAIL  ", "quantifier:sym<**>")
-    .return (rx156_cur)
+  rx155_done:
+    rx155_cur."!cursor_fail"()
+    rx155_cur."!cursor_debug"("FAIL  ", "quantifier:sym<**>")
+    .return (rx155_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<**>"  :subid("45_1279589163.12187") :method
+.sub "!PREFIX__quantifier:sym<**>"  :subid("45_1280467470.54449") :method
 .annotate 'line', 3
-    new $P158, "ResizablePMCArray"
-    push $P158, "**"
-    .return ($P158)
+    new $P157, "ResizablePMCArray"
+    push $P157, "**"
+    .return ($P157)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backmod"  :subid("46_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "backmod"  :subid("46_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .const 'Sub' $P178 = "48_1279589163.12187" 
-    capture_lex $P178
-    .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, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx171_cur
+    .const 'Sub' $P177 = "48_1280467470.54449" 
+    capture_lex $P177
+    .local string rx170_tgt
+    .local int rx170_pos
+    .local int rx170_off
+    .local int rx170_eos
+    .local int rx170_rep
+    .local pmc rx170_cur
+    (rx170_cur, rx170_pos, rx170_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx170_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:
-    eq $I10, 1, rx171_restart
-    rx171_cur."!cursor_debug"("START ", "backmod")
+    length rx170_eos, rx170_tgt
+    gt rx170_pos, rx170_eos, rx170_done
+    set rx170_off, 0
+    lt rx170_pos, 2, rx170_start
+    sub rx170_off, rx170_pos, 1
+    substr rx170_tgt, rx170_tgt, rx170_off
+  rx170_start:
+    eq $I10, 1, rx170_restart
+    rx170_cur."!cursor_debug"("START ", "backmod")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan174_done
-    goto rxscan174_scan
-  rxscan174_loop:
-    ($P10) = rx171_cur."from"()
+    ne $I10, -1, rxscan173_done
+    goto rxscan173_scan
+  rxscan173_loop:
+    ($P10) = rx170_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 rx170_pos, $P10
+    ge rx170_pos, rx170_eos, rxscan173_done
+  rxscan173_scan:
+    set_addr $I10, rxscan173_loop
+    rx170_cur."!mark_push"(0, rx170_pos, $I10)
+  rxscan173_done:
 .annotate 'line', 73
-  # rx rxquantr175 ** 0..1
-    set_addr $I10, rxquantr175_done
-    rx171_cur."!mark_push"(0, rx171_pos, $I10)
-  rxquantr175_loop:
+  # rx rxquantr174 ** 0..1
+    set_addr $I10, rxquantr174_done
+    rx170_cur."!mark_push"(0, rx170_pos, $I10)
+  rxquantr174_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
-    set_addr $I10, rxquantr175_done
-    (rx171_rep) = rx171_cur."!mark_commit"($I10)
-  rxquantr175_done:
-  alt176_0:
-    set_addr $I10, alt176_1
-    rx171_cur."!mark_push"(0, rx171_pos, $I10)
+    add $I11, rx170_pos, 1
+    gt $I11, rx170_eos, rx170_fail
+    sub $I11, rx170_pos, rx170_off
+    substr $S10, rx170_tgt, $I11, 1
+    ne $S10, ":", rx170_fail
+    add rx170_pos, 1
+    set_addr $I10, rxquantr174_done
+    (rx170_rep) = rx170_cur."!mark_commit"($I10)
+  rxquantr174_done:
+  alt175_0:
+    set_addr $I10, alt175_1
+    rx170_cur."!mark_push"(0, rx170_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 alt176_end
-  alt176_1:
-    set_addr $I10, alt176_2
-    rx171_cur."!mark_push"(0, rx171_pos, $I10)
+    add $I11, rx170_pos, 1
+    gt $I11, rx170_eos, rx170_fail
+    sub $I11, rx170_pos, rx170_off
+    substr $S10, rx170_tgt, $I11, 1
+    ne $S10, "?", rx170_fail
+    add rx170_pos, 1
+    goto alt175_end
+  alt175_1:
+    set_addr $I10, alt175_2
+    rx170_cur."!mark_push"(0, rx170_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 alt176_end
-  alt176_2:
+    add $I11, rx170_pos, 1
+    gt $I11, rx170_eos, rx170_fail
+    sub $I11, rx170_pos, rx170_off
+    substr $S10, rx170_tgt, $I11, 1
+    ne $S10, "!", rx170_fail
+    add rx170_pos, 1
+    goto alt175_end
+  alt175_2:
   # rx subrule "before" subtype=zerowidth negate=1
-    rx171_cur."!cursor_pos"(rx171_pos)
-    .const 'Sub' $P178 = "48_1279589163.12187" 
-    capture_lex $P178
-    $P10 = rx171_cur."before"($P178)
-    if $P10, rx171_fail
-  alt176_end:
+    rx170_cur."!cursor_pos"(rx170_pos)
+    .const 'Sub' $P177 = "48_1280467470.54449" 
+    capture_lex $P177
+    $P10 = rx170_cur."before"($P177)
+    if $P10, rx170_fail
+  alt175_end:
   # rx pass
-    rx171_cur."!cursor_pass"(rx171_pos, "backmod")
-    rx171_cur."!cursor_debug"("PASS  ", "backmod", " at pos=", rx171_pos)
-    .return (rx171_cur)
-  rx171_restart:
+    rx170_cur."!cursor_pass"(rx170_pos, "backmod")
+    rx170_cur."!cursor_debug"("PASS  ", "backmod", " at pos=", rx170_pos)
+    .return (rx170_cur)
+  rx170_restart:
 .annotate 'line', 3
-    rx171_cur."!cursor_debug"("NEXT ", "backmod")
-  rx171_fail:
-    (rx171_rep, rx171_pos, $I10, $P10) = rx171_cur."!mark_fail"(0)
-    lt rx171_pos, -1, rx171_done
-    eq rx171_pos, -1, rx171_fail
+    rx170_cur."!cursor_debug"("NEXT ", "backmod")
+  rx170_fail:
+    (rx170_rep, rx170_pos, $I10, $P10) = rx170_cur."!mark_fail"(0)
+    lt rx170_pos, -1, rx170_done
+    eq rx170_pos, -1, rx170_fail
     jump $I10
-  rx171_done:
-    rx171_cur."!cursor_fail"()
-    rx171_cur."!cursor_debug"("FAIL  ", "backmod")
-    .return (rx171_cur)
+  rx170_done:
+    rx170_cur."!cursor_fail"()
+    rx170_cur."!cursor_debug"("FAIL  ", "backmod")
+    .return (rx170_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backmod"  :subid("47_1279589163.12187") :method
+.sub "!PREFIX__backmod"  :subid("47_1280467470.54449") :method
 .annotate 'line', 3
-    new $P173, "ResizablePMCArray"
-    push $P173, ""
-    .return ($P173)
+    new $P172, "ResizablePMCArray"
+    push $P172, ""
+    .return ($P172)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block177"  :anon :subid("48_1279589163.12187") :method :outer("46_1279589163.12187")
+.sub "_block176"  :anon :subid("48_1280467470.54449") :method :outer("46_1280467470.54449")
 .annotate 'line', 73
-    .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, $I10) = self."!cursor_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:
-    eq $I10, 1, rx179_restart
-    rx179_cur."!cursor_debug"("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:
+    .local string rx178_tgt
+    .local int rx178_pos
+    .local int rx178_off
+    .local int rx178_eos
+    .local int rx178_rep
+    .local pmc rx178_cur
+    (rx178_cur, rx178_pos, rx178_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx178_cur
+    .local pmc match
+    .lex "$/", match
+    length rx178_eos, rx178_tgt
+    gt rx178_pos, rx178_eos, rx178_done
+    set rx178_off, 0
+    lt rx178_pos, 2, rx178_start
+    sub rx178_off, rx178_pos, 1
+    substr rx178_tgt, rx178_tgt, rx178_off
+  rx178_start:
+    eq $I10, 1, rx178_restart
+    rx178_cur."!cursor_debug"("START ", "")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan179_done
+    goto rxscan179_scan
+  rxscan179_loop:
+    ($P10) = rx178_cur."from"()
+    inc $P10
+    set rx178_pos, $P10
+    ge rx178_pos, rx178_eos, rxscan179_done
+  rxscan179_scan:
+    set_addr $I10, rxscan179_loop
+    rx178_cur."!mark_push"(0, rx178_pos, $I10)
+  rxscan179_done:
   # rx literal  ":"
-    add $I11, rx179_pos, 1
-    gt $I11, rx179_eos, rx179_fail
-    sub $I11, rx179_pos, rx179_off
-    substr $S10, rx179_tgt, $I11, 1
-    ne $S10, ":", rx179_fail
-    add rx179_pos, 1
+    add $I11, rx178_pos, 1
+    gt $I11, rx178_eos, rx178_fail
+    sub $I11, rx178_pos, rx178_off
+    substr $S10, rx178_tgt, $I11, 1
+    ne $S10, ":", rx178_fail
+    add rx178_pos, 1
   # rx pass
-    rx179_cur."!cursor_pass"(rx179_pos, "")
-    rx179_cur."!cursor_debug"("PASS  ", "", " at pos=", rx179_pos)
-    .return (rx179_cur)
-  rx179_restart:
-    rx179_cur."!cursor_debug"("NEXT ", "")
-  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
+    rx178_cur."!cursor_pass"(rx178_pos, "")
+    rx178_cur."!cursor_debug"("PASS  ", "", " at pos=", rx178_pos)
+    .return (rx178_cur)
+  rx178_restart:
+    rx178_cur."!cursor_debug"("NEXT ", "")
+  rx178_fail:
+    (rx178_rep, rx178_pos, $I10, $P10) = rx178_cur."!mark_fail"(0)
+    lt rx178_pos, -1, rx178_done
+    eq rx178_pos, -1, rx178_fail
     jump $I10
-  rx179_done:
-    rx179_cur."!cursor_fail"()
-    rx179_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx179_cur)
+  rx178_done:
+    rx178_cur."!cursor_fail"()
+    rx178_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx178_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar"  :subid("49_1279589163.12187") :method
+.sub "metachar"  :subid("49_1280467470.54449") :method
 .annotate 'line', 75
-    $P182 = self."!protoregex"("metachar")
-    .return ($P182)
+    $P181 = self."!protoregex"("metachar")
+    .return ($P181)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar"  :subid("50_1279589163.12187") :method
+.sub "!PREFIX__metachar"  :subid("50_1280467470.54449") :method
 .annotate 'line', 75
-    $P184 = self."!PREFIX__!protoregex"("metachar")
-    .return ($P184)
+    $P183 = self."!PREFIX__!protoregex"("metachar")
+    .return ($P183)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<ws>"  :subid("51_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<ws>"  :subid("51_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx186_tgt
-    .local int rx186_pos
-    .local int rx186_off
-    .local int rx186_eos
-    .local int rx186_rep
-    .local pmc rx186_cur
-    (rx186_cur, rx186_pos, rx186_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx186_cur
-    .local pmc match
-    .lex "$/", match
-    length rx186_eos, rx186_tgt
-    gt rx186_pos, rx186_eos, rx186_done
-    set rx186_off, 0
-    lt rx186_pos, 2, rx186_start
-    sub rx186_off, rx186_pos, 1
-    substr rx186_tgt, rx186_tgt, rx186_off
-  rx186_start:
-    eq $I10, 1, rx186_restart
-    rx186_cur."!cursor_debug"("START ", "metachar:sym<ws>")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan190_done
-    goto rxscan190_scan
-  rxscan190_loop:
-    ($P10) = rx186_cur."from"()
-    inc $P10
-    set rx186_pos, $P10
-    ge rx186_pos, rx186_eos, rxscan190_done
-  rxscan190_scan:
-    set_addr $I10, rxscan190_loop
-    rx186_cur."!mark_push"(0, rx186_pos, $I10)
-  rxscan190_done:
+    .local string rx185_tgt
+    .local int rx185_pos
+    .local int rx185_off
+    .local int rx185_eos
+    .local int rx185_rep
+    .local pmc rx185_cur
+    (rx185_cur, rx185_pos, rx185_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx185_cur
+    .local pmc match
+    .lex "$/", match
+    length rx185_eos, rx185_tgt
+    gt rx185_pos, rx185_eos, rx185_done
+    set rx185_off, 0
+    lt rx185_pos, 2, rx185_start
+    sub rx185_off, rx185_pos, 1
+    substr rx185_tgt, rx185_tgt, rx185_off
+  rx185_start:
+    eq $I10, 1, rx185_restart
+    rx185_cur."!cursor_debug"("START ", "metachar:sym<ws>")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan189_done
+    goto rxscan189_scan
+  rxscan189_loop:
+    ($P10) = rx185_cur."from"()
+    inc $P10
+    set rx185_pos, $P10
+    ge rx185_pos, rx185_eos, rxscan189_done
+  rxscan189_scan:
+    set_addr $I10, rxscan189_loop
+    rx185_cur."!mark_push"(0, rx185_pos, $I10)
+  rxscan189_done:
 .annotate 'line', 76
   # rx subrule "normspace" subtype=method negate=
-    rx186_cur."!cursor_pos"(rx186_pos)
-    $P10 = rx186_cur."normspace"()
-    unless $P10, rx186_fail
-    rx186_pos = $P10."pos"()
+    rx185_cur."!cursor_pos"(rx185_pos)
+    $P10 = rx185_cur."normspace"()
+    unless $P10, rx185_fail
+    rx185_pos = $P10."pos"()
   # rx pass
-    rx186_cur."!cursor_pass"(rx186_pos, "metachar:sym<ws>")
-    rx186_cur."!cursor_debug"("PASS  ", "metachar:sym<ws>", " at pos=", rx186_pos)
-    .return (rx186_cur)
-  rx186_restart:
+    rx185_cur."!cursor_pass"(rx185_pos, "metachar:sym<ws>")
+    rx185_cur."!cursor_debug"("PASS  ", "metachar:sym<ws>", " at pos=", rx185_pos)
+    .return (rx185_cur)
+  rx185_restart:
 .annotate 'line', 3
-    rx186_cur."!cursor_debug"("NEXT ", "metachar:sym<ws>")
-  rx186_fail:
-    (rx186_rep, rx186_pos, $I10, $P10) = rx186_cur."!mark_fail"(0)
-    lt rx186_pos, -1, rx186_done
-    eq rx186_pos, -1, rx186_fail
+    rx185_cur."!cursor_debug"("NEXT ", "metachar:sym<ws>")
+  rx185_fail:
+    (rx185_rep, rx185_pos, $I10, $P10) = rx185_cur."!mark_fail"(0)
+    lt rx185_pos, -1, rx185_done
+    eq rx185_pos, -1, rx185_fail
     jump $I10
-  rx186_done:
-    rx186_cur."!cursor_fail"()
-    rx186_cur."!cursor_debug"("FAIL  ", "metachar:sym<ws>")
-    .return (rx186_cur)
+  rx185_done:
+    rx185_cur."!cursor_fail"()
+    rx185_cur."!cursor_debug"("FAIL  ", "metachar:sym<ws>")
+    .return (rx185_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<ws>"  :subid("52_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<ws>"  :subid("52_1280467470.54449") :method
 .annotate 'line', 3
-    $P188 = self."!PREFIX__!subrule"("normspace", "")
-    new $P189, "ResizablePMCArray"
-    push $P189, $P188
-    .return ($P189)
+    $P187 = self."!PREFIX__!subrule"("normspace", "")
+    new $P188, "ResizablePMCArray"
+    push $P188, $P187
+    .return ($P188)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<[ ]>"  :subid("53_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<[ ]>"  :subid("53_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx192_tgt
-    .local int rx192_pos
-    .local int rx192_off
-    .local int rx192_eos
-    .local int rx192_rep
-    .local pmc rx192_cur
-    (rx192_cur, rx192_pos, rx192_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx192_cur
+    .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, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx191_cur
     .local pmc match
     .lex "$/", match
-    length rx192_eos, rx192_tgt
-    gt rx192_pos, rx192_eos, rx192_done
-    set rx192_off, 0
-    lt rx192_pos, 2, rx192_start
-    sub rx192_off, rx192_pos, 1
-    substr rx192_tgt, rx192_tgt, rx192_off
-  rx192_start:
-    eq $I10, 1, rx192_restart
-    rx192_cur."!cursor_debug"("START ", "metachar:sym<[ ]>")
+    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:
+    eq $I10, 1, rx191_restart
+    rx191_cur."!cursor_debug"("START ", "metachar:sym<[ ]>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan196_done
-    goto rxscan196_scan
-  rxscan196_loop:
-    ($P10) = rx192_cur."from"()
+    ne $I10, -1, rxscan195_done
+    goto rxscan195_scan
+  rxscan195_loop:
+    ($P10) = rx191_cur."from"()
     inc $P10
-    set rx192_pos, $P10
-    ge rx192_pos, rx192_eos, rxscan196_done
-  rxscan196_scan:
-    set_addr $I10, rxscan196_loop
-    rx192_cur."!mark_push"(0, rx192_pos, $I10)
-  rxscan196_done:
+    set rx191_pos, $P10
+    ge rx191_pos, rx191_eos, rxscan195_done
+  rxscan195_scan:
+    set_addr $I10, rxscan195_loop
+    rx191_cur."!mark_push"(0, rx191_pos, $I10)
+  rxscan195_done:
 .annotate 'line', 77
   # rx literal  "["
-    add $I11, rx192_pos, 1
-    gt $I11, rx192_eos, rx192_fail
-    sub $I11, rx192_pos, rx192_off
-    substr $S10, rx192_tgt, $I11, 1
-    ne $S10, "[", rx192_fail
-    add rx192_pos, 1
+    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
   # rx subrule "nibbler" subtype=capture negate=
-    rx192_cur."!cursor_pos"(rx192_pos)
-    $P10 = rx192_cur."nibbler"()
-    unless $P10, rx192_fail
-    rx192_cur."!mark_push"(0, -1, 0, $P10)
+    rx191_cur."!cursor_pos"(rx191_pos)
+    $P10 = rx191_cur."nibbler"()
+    unless $P10, rx191_fail
+    rx191_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx192_pos = $P10."pos"()
+    rx191_pos = $P10."pos"()
   # rx literal  "]"
-    add $I11, rx192_pos, 1
-    gt $I11, rx192_eos, rx192_fail
-    sub $I11, rx192_pos, rx192_off
-    substr $S10, rx192_tgt, $I11, 1
-    ne $S10, "]", rx192_fail
-    add rx192_pos, 1
+    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
   # rx pass
-    rx192_cur."!cursor_pass"(rx192_pos, "metachar:sym<[ ]>")
-    rx192_cur."!cursor_debug"("PASS  ", "metachar:sym<[ ]>", " at pos=", rx192_pos)
-    .return (rx192_cur)
-  rx192_restart:
+    rx191_cur."!cursor_pass"(rx191_pos, "metachar:sym<[ ]>")
+    rx191_cur."!cursor_debug"("PASS  ", "metachar:sym<[ ]>", " at pos=", rx191_pos)
+    .return (rx191_cur)
+  rx191_restart:
 .annotate 'line', 3
-    rx192_cur."!cursor_debug"("NEXT ", "metachar:sym<[ ]>")
-  rx192_fail:
-    (rx192_rep, rx192_pos, $I10, $P10) = rx192_cur."!mark_fail"(0)
-    lt rx192_pos, -1, rx192_done
-    eq rx192_pos, -1, rx192_fail
+    rx191_cur."!cursor_debug"("NEXT ", "metachar:sym<[ ]>")
+  rx191_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
-  rx192_done:
-    rx192_cur."!cursor_fail"()
-    rx192_cur."!cursor_debug"("FAIL  ", "metachar:sym<[ ]>")
-    .return (rx192_cur)
+  rx191_done:
+    rx191_cur."!cursor_fail"()
+    rx191_cur."!cursor_debug"("FAIL  ", "metachar:sym<[ ]>")
+    .return (rx191_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<[ ]>"  :subid("54_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<[ ]>"  :subid("54_1280467470.54449") :method
 .annotate 'line', 3
-    $P194 = self."!PREFIX__!subrule"("nibbler", "[")
-    new $P195, "ResizablePMCArray"
-    push $P195, $P194
-    .return ($P195)
+    $P193 = self."!PREFIX__!subrule"("nibbler", "[")
+    new $P194, "ResizablePMCArray"
+    push $P194, $P193
+    .return ($P194)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<( )>"  :subid("55_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<( )>"  :subid("55_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx198_tgt
-    .local int rx198_pos
-    .local int rx198_off
-    .local int rx198_eos
-    .local int rx198_rep
-    .local pmc rx198_cur
-    (rx198_cur, rx198_pos, rx198_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx198_cur
-    .local pmc match
-    .lex "$/", match
-    length rx198_eos, rx198_tgt
-    gt rx198_pos, rx198_eos, rx198_done
-    set rx198_off, 0
-    lt rx198_pos, 2, rx198_start
-    sub rx198_off, rx198_pos, 1
-    substr rx198_tgt, rx198_tgt, rx198_off
-  rx198_start:
-    eq $I10, 1, rx198_restart
-    rx198_cur."!cursor_debug"("START ", "metachar:sym<( )>")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan202_done
-    goto rxscan202_scan
-  rxscan202_loop:
-    ($P10) = rx198_cur."from"()
-    inc $P10
-    set rx198_pos, $P10
-    ge rx198_pos, rx198_eos, rxscan202_done
-  rxscan202_scan:
-    set_addr $I10, rxscan202_loop
-    rx198_cur."!mark_push"(0, rx198_pos, $I10)
-  rxscan202_done:
+    .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, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx197_cur
+    .local pmc match
+    .lex "$/", match
+    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:
+    eq $I10, 1, rx197_restart
+    rx197_cur."!cursor_debug"("START ", "metachar:sym<( )>")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan201_done
+    goto rxscan201_scan
+  rxscan201_loop:
+    ($P10) = rx197_cur."from"()
+    inc $P10
+    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', 78
   # rx literal  "("
-    add $I11, rx198_pos, 1
-    gt $I11, rx198_eos, rx198_fail
-    sub $I11, rx198_pos, rx198_off
-    substr $S10, rx198_tgt, $I11, 1
-    ne $S10, "(", rx198_fail
-    add rx198_pos, 1
+    add $I11, rx197_pos, 1
+    gt $I11, rx197_eos, rx197_fail
+    sub $I11, rx197_pos, rx197_off
+    substr $S10, rx197_tgt, $I11, 1
+    ne $S10, "(", rx197_fail
+    add rx197_pos, 1
   # rx subrule "nibbler" subtype=capture negate=
-    rx198_cur."!cursor_pos"(rx198_pos)
-    $P10 = rx198_cur."nibbler"()
-    unless $P10, rx198_fail
-    rx198_cur."!mark_push"(0, -1, 0, $P10)
+    rx197_cur."!cursor_pos"(rx197_pos)
+    $P10 = rx197_cur."nibbler"()
+    unless $P10, rx197_fail
+    rx197_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx198_pos = $P10."pos"()
+    rx197_pos = $P10."pos"()
   # rx literal  ")"
-    add $I11, rx198_pos, 1
-    gt $I11, rx198_eos, rx198_fail
-    sub $I11, rx198_pos, rx198_off
-    substr $S10, rx198_tgt, $I11, 1
-    ne $S10, ")", rx198_fail
-    add rx198_pos, 1
+    add $I11, rx197_pos, 1
+    gt $I11, rx197_eos, rx197_fail
+    sub $I11, rx197_pos, rx197_off
+    substr $S10, rx197_tgt, $I11, 1
+    ne $S10, ")", rx197_fail
+    add rx197_pos, 1
   # rx pass
-    rx198_cur."!cursor_pass"(rx198_pos, "metachar:sym<( )>")
-    rx198_cur."!cursor_debug"("PASS  ", "metachar:sym<( )>", " at pos=", rx198_pos)
-    .return (rx198_cur)
-  rx198_restart:
+    rx197_cur."!cursor_pass"(rx197_pos, "metachar:sym<( )>")
+    rx197_cur."!cursor_debug"("PASS  ", "metachar:sym<( )>", " at pos=", rx197_pos)
+    .return (rx197_cur)
+  rx197_restart:
 .annotate 'line', 3
-    rx198_cur."!cursor_debug"("NEXT ", "metachar:sym<( )>")
-  rx198_fail:
-    (rx198_rep, rx198_pos, $I10, $P10) = rx198_cur."!mark_fail"(0)
-    lt rx198_pos, -1, rx198_done
-    eq rx198_pos, -1, rx198_fail
+    rx197_cur."!cursor_debug"("NEXT ", "metachar:sym<( )>")
+  rx197_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
-  rx198_done:
-    rx198_cur."!cursor_fail"()
-    rx198_cur."!cursor_debug"("FAIL  ", "metachar:sym<( )>")
-    .return (rx198_cur)
+  rx197_done:
+    rx197_cur."!cursor_fail"()
+    rx197_cur."!cursor_debug"("FAIL  ", "metachar:sym<( )>")
+    .return (rx197_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<( )>"  :subid("56_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<( )>"  :subid("56_1280467470.54449") :method
 .annotate 'line', 3
-    $P200 = self."!PREFIX__!subrule"("nibbler", "(")
-    new $P201, "ResizablePMCArray"
-    push $P201, $P200
-    .return ($P201)
+    $P199 = self."!PREFIX__!subrule"("nibbler", "(")
+    new $P200, "ResizablePMCArray"
+    push $P200, $P199
+    .return ($P200)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<'>"  :subid("57_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<'>"  :subid("57_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx204_tgt
-    .local int rx204_pos
-    .local int rx204_off
-    .local int rx204_eos
-    .local int rx204_rep
-    .local pmc rx204_cur
-    (rx204_cur, rx204_pos, rx204_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx204_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, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx203_cur
     .local pmc match
     .lex "$/", match
-    length rx204_eos, rx204_tgt
-    gt rx204_pos, rx204_eos, rx204_done
-    set rx204_off, 0
-    lt rx204_pos, 2, rx204_start
-    sub rx204_off, rx204_pos, 1
-    substr rx204_tgt, rx204_tgt, rx204_off
-  rx204_start:
-    eq $I10, 1, rx204_restart
-    rx204_cur."!cursor_debug"("START ", "metachar:sym<'>")
+    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:
+    eq $I10, 1, rx203_restart
+    rx203_cur."!cursor_debug"("START ", "metachar:sym<'>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan207_done
-    goto rxscan207_scan
-  rxscan207_loop:
-    ($P10) = rx204_cur."from"()
+    ne $I10, -1, rxscan206_done
+    goto rxscan206_scan
+  rxscan206_loop:
+    ($P10) = rx203_cur."from"()
     inc $P10
-    set rx204_pos, $P10
-    ge rx204_pos, rx204_eos, rxscan207_done
-  rxscan207_scan:
-    set_addr $I10, rxscan207_loop
-    rx204_cur."!mark_push"(0, rx204_pos, $I10)
-  rxscan207_done:
+    set rx203_pos, $P10
+    ge rx203_pos, rx203_eos, rxscan206_done
+  rxscan206_scan:
+    set_addr $I10, rxscan206_loop
+    rx203_cur."!mark_push"(0, rx203_pos, $I10)
+  rxscan206_done:
 .annotate 'line', 79
   # rx enumcharlist negate=0 zerowidth
-    ge rx204_pos, rx204_eos, rx204_fail
-    sub $I10, rx204_pos, rx204_off
-    substr $S10, rx204_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, rx204_fail
+    lt $I11, 0, rx203_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx204_cur."!cursor_pos"(rx204_pos)
-    $P10 = rx204_cur."quote_EXPR"(":q")
-    unless $P10, rx204_fail
-    rx204_cur."!mark_push"(0, -1, 0, $P10)
+    rx203_cur."!cursor_pos"(rx203_pos)
+    $P10 = rx203_cur."quote_EXPR"(":q")
+    unless $P10, rx203_fail
+    rx203_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx204_pos = $P10."pos"()
+    rx203_pos = $P10."pos"()
   # rx pass
-    rx204_cur."!cursor_pass"(rx204_pos, "metachar:sym<'>")
-    rx204_cur."!cursor_debug"("PASS  ", "metachar:sym<'>", " at pos=", rx204_pos)
-    .return (rx204_cur)
-  rx204_restart:
+    rx203_cur."!cursor_pass"(rx203_pos, "metachar:sym<'>")
+    rx203_cur."!cursor_debug"("PASS  ", "metachar:sym<'>", " at pos=", rx203_pos)
+    .return (rx203_cur)
+  rx203_restart:
 .annotate 'line', 3
-    rx204_cur."!cursor_debug"("NEXT ", "metachar:sym<'>")
-  rx204_fail:
-    (rx204_rep, rx204_pos, $I10, $P10) = rx204_cur."!mark_fail"(0)
-    lt rx204_pos, -1, rx204_done
-    eq rx204_pos, -1, rx204_fail
+    rx203_cur."!cursor_debug"("NEXT ", "metachar:sym<'>")
+  rx203_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
-  rx204_done:
-    rx204_cur."!cursor_fail"()
-    rx204_cur."!cursor_debug"("FAIL  ", "metachar:sym<'>")
-    .return (rx204_cur)
+  rx203_done:
+    rx203_cur."!cursor_fail"()
+    rx203_cur."!cursor_debug"("FAIL  ", "metachar:sym<'>")
+    .return (rx203_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<'>"  :subid("58_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<'>"  :subid("58_1280467470.54449") :method
 .annotate 'line', 3
-    new $P206, "ResizablePMCArray"
-    push $P206, "'"
-    .return ($P206)
+    new $P205, "ResizablePMCArray"
+    push $P205, "'"
+    .return ($P205)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<\">"  :subid("59_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<\">"  :subid("59_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .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, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx209_cur
+    .local string rx208_tgt
+    .local int rx208_pos
+    .local int rx208_off
+    .local int rx208_eos
+    .local int rx208_rep
+    .local pmc rx208_cur
+    (rx208_cur, rx208_pos, rx208_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx208_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:
-    eq $I10, 1, rx209_restart
-    rx209_cur."!cursor_debug"("START ", "metachar:sym<\">")
+    length rx208_eos, rx208_tgt
+    gt rx208_pos, rx208_eos, rx208_done
+    set rx208_off, 0
+    lt rx208_pos, 2, rx208_start
+    sub rx208_off, rx208_pos, 1
+    substr rx208_tgt, rx208_tgt, rx208_off
+  rx208_start:
+    eq $I10, 1, rx208_restart
+    rx208_cur."!cursor_debug"("START ", "metachar:sym<\">")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan212_done
-    goto rxscan212_scan
-  rxscan212_loop:
-    ($P10) = rx209_cur."from"()
+    ne $I10, -1, rxscan211_done
+    goto rxscan211_scan
+  rxscan211_loop:
+    ($P10) = rx208_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:
+    set rx208_pos, $P10
+    ge rx208_pos, rx208_eos, rxscan211_done
+  rxscan211_scan:
+    set_addr $I10, rxscan211_loop
+    rx208_cur."!mark_push"(0, rx208_pos, $I10)
+  rxscan211_done:
 .annotate 'line', 80
   # rx enumcharlist negate=0 zerowidth
-    ge rx209_pos, rx209_eos, rx209_fail
-    sub $I10, rx209_pos, rx209_off
-    substr $S10, rx209_tgt, $I10, 1
+    ge rx208_pos, rx208_eos, rx208_fail
+    sub $I10, rx208_pos, rx208_off
+    substr $S10, rx208_tgt, $I10, 1
     index $I11, "\"", $S10
-    lt $I11, 0, rx209_fail
+    lt $I11, 0, rx208_fail
   # rx subrule "quote_EXPR" subtype=capture negate=
-    rx209_cur."!cursor_pos"(rx209_pos)
-    $P10 = rx209_cur."quote_EXPR"(":qq")
-    unless $P10, rx209_fail
-    rx209_cur."!mark_push"(0, -1, 0, $P10)
+    rx208_cur."!cursor_pos"(rx208_pos)
+    $P10 = rx208_cur."quote_EXPR"(":qq")
+    unless $P10, rx208_fail
+    rx208_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quote_EXPR")
-    rx209_pos = $P10."pos"()
+    rx208_pos = $P10."pos"()
   # rx pass
-    rx209_cur."!cursor_pass"(rx209_pos, "metachar:sym<\">")
-    rx209_cur."!cursor_debug"("PASS  ", "metachar:sym<\">", " at pos=", rx209_pos)
-    .return (rx209_cur)
-  rx209_restart:
+    rx208_cur."!cursor_pass"(rx208_pos, "metachar:sym<\">")
+    rx208_cur."!cursor_debug"("PASS  ", "metachar:sym<\">", " at pos=", rx208_pos)
+    .return (rx208_cur)
+  rx208_restart:
 .annotate 'line', 3
-    rx209_cur."!cursor_debug"("NEXT ", "metachar:sym<\">")
-  rx209_fail:
-    (rx209_rep, rx209_pos, $I10, $P10) = rx209_cur."!mark_fail"(0)
-    lt rx209_pos, -1, rx209_done
-    eq rx209_pos, -1, rx209_fail
+    rx208_cur."!cursor_debug"("NEXT ", "metachar:sym<\">")
+  rx208_fail:
+    (rx208_rep, rx208_pos, $I10, $P10) = rx208_cur."!mark_fail"(0)
+    lt rx208_pos, -1, rx208_done
+    eq rx208_pos, -1, rx208_fail
     jump $I10
-  rx209_done:
-    rx209_cur."!cursor_fail"()
-    rx209_cur."!cursor_debug"("FAIL  ", "metachar:sym<\">")
-    .return (rx209_cur)
+  rx208_done:
+    rx208_cur."!cursor_fail"()
+    rx208_cur."!cursor_debug"("FAIL  ", "metachar:sym<\">")
+    .return (rx208_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<\">"  :subid("60_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<\">"  :subid("60_1280467470.54449") :method
 .annotate 'line', 3
-    new $P211, "ResizablePMCArray"
-    push $P211, "\""
-    .return ($P211)
+    new $P210, "ResizablePMCArray"
+    push $P210, "\""
+    .return ($P210)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<.>"  :subid("61_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<.>"  :subid("61_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx214_tgt
-    .local int rx214_pos
-    .local int rx214_off
-    .local int rx214_eos
-    .local int rx214_rep
-    .local pmc rx214_cur
-    (rx214_cur, rx214_pos, rx214_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx214_cur
+    .local string rx213_tgt
+    .local int rx213_pos
+    .local int rx213_off
+    .local int rx213_eos
+    .local int rx213_rep
+    .local pmc rx213_cur
+    (rx213_cur, rx213_pos, rx213_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx213_cur
     .local pmc match
     .lex "$/", match
-    length rx214_eos, rx214_tgt
-    gt rx214_pos, rx214_eos, rx214_done
-    set rx214_off, 0
-    lt rx214_pos, 2, rx214_start
-    sub rx214_off, rx214_pos, 1
-    substr rx214_tgt, rx214_tgt, rx214_off
-  rx214_start:
-    eq $I10, 1, rx214_restart
-    rx214_cur."!cursor_debug"("START ", "metachar:sym<.>")
+    length rx213_eos, rx213_tgt
+    gt rx213_pos, rx213_eos, rx213_done
+    set rx213_off, 0
+    lt rx213_pos, 2, rx213_start
+    sub rx213_off, rx213_pos, 1
+    substr rx213_tgt, rx213_tgt, rx213_off
+  rx213_start:
+    eq $I10, 1, rx213_restart
+    rx213_cur."!cursor_debug"("START ", "metachar:sym<.>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan217_done
-    goto rxscan217_scan
-  rxscan217_loop:
-    ($P10) = rx214_cur."from"()
+    ne $I10, -1, rxscan216_done
+    goto rxscan216_scan
+  rxscan216_loop:
+    ($P10) = rx213_cur."from"()
     inc $P10
-    set rx214_pos, $P10
-    ge rx214_pos, rx214_eos, rxscan217_done
-  rxscan217_scan:
-    set_addr $I10, rxscan217_loop
-    rx214_cur."!mark_push"(0, rx214_pos, $I10)
-  rxscan217_done:
+    set rx213_pos, $P10
+    ge rx213_pos, rx213_eos, rxscan216_done
+  rxscan216_scan:
+    set_addr $I10, rxscan216_loop
+    rx213_cur."!mark_push"(0, rx213_pos, $I10)
+  rxscan216_done:
 .annotate 'line', 81
   # rx subcapture "sym"
-    set_addr $I10, rxcap_218_fail
-    rx214_cur."!mark_push"(0, rx214_pos, $I10)
+    set_addr $I10, rxcap_217_fail
+    rx213_cur."!mark_push"(0, rx213_pos, $I10)
   # rx literal  "."
-    add $I11, rx214_pos, 1
-    gt $I11, rx214_eos, rx214_fail
-    sub $I11, rx214_pos, rx214_off
-    substr $S10, rx214_tgt, $I11, 1
-    ne $S10, ".", rx214_fail
-    add rx214_pos, 1
-    set_addr $I10, rxcap_218_fail
-    ($I12, $I11) = rx214_cur."!mark_peek"($I10)
-    rx214_cur."!cursor_pos"($I11)
-    ($P10) = rx214_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx214_pos, "")
-    rx214_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx213_pos, 1
+    gt $I11, rx213_eos, rx213_fail
+    sub $I11, rx213_pos, rx213_off
+    substr $S10, rx213_tgt, $I11, 1
+    ne $S10, ".", rx213_fail
+    add rx213_pos, 1
+    set_addr $I10, rxcap_217_fail
+    ($I12, $I11) = rx213_cur."!mark_peek"($I10)
+    rx213_cur."!cursor_pos"($I11)
+    ($P10) = rx213_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx213_pos, "")
+    rx213_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_218_done
-  rxcap_218_fail:
-    goto rx214_fail
-  rxcap_218_done:
+    goto rxcap_217_done
+  rxcap_217_fail:
+    goto rx213_fail
+  rxcap_217_done:
   # rx pass
-    rx214_cur."!cursor_pass"(rx214_pos, "metachar:sym<.>")
-    rx214_cur."!cursor_debug"("PASS  ", "metachar:sym<.>", " at pos=", rx214_pos)
-    .return (rx214_cur)
-  rx214_restart:
+    rx213_cur."!cursor_pass"(rx213_pos, "metachar:sym<.>")
+    rx213_cur."!cursor_debug"("PASS  ", "metachar:sym<.>", " at pos=", rx213_pos)
+    .return (rx213_cur)
+  rx213_restart:
 .annotate 'line', 3
-    rx214_cur."!cursor_debug"("NEXT ", "metachar:sym<.>")
-  rx214_fail:
-    (rx214_rep, rx214_pos, $I10, $P10) = rx214_cur."!mark_fail"(0)
-    lt rx214_pos, -1, rx214_done
-    eq rx214_pos, -1, rx214_fail
+    rx213_cur."!cursor_debug"("NEXT ", "metachar:sym<.>")
+  rx213_fail:
+    (rx213_rep, rx213_pos, $I10, $P10) = rx213_cur."!mark_fail"(0)
+    lt rx213_pos, -1, rx213_done
+    eq rx213_pos, -1, rx213_fail
     jump $I10
-  rx214_done:
-    rx214_cur."!cursor_fail"()
-    rx214_cur."!cursor_debug"("FAIL  ", "metachar:sym<.>")
-    .return (rx214_cur)
+  rx213_done:
+    rx213_cur."!cursor_fail"()
+    rx213_cur."!cursor_debug"("FAIL  ", "metachar:sym<.>")
+    .return (rx213_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<.>"  :subid("62_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<.>"  :subid("62_1280467470.54449") :method
 .annotate 'line', 3
-    new $P216, "ResizablePMCArray"
-    push $P216, "."
-    .return ($P216)
+    new $P215, "ResizablePMCArray"
+    push $P215, "."
+    .return ($P215)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^>"  :subid("63_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<^>"  :subid("63_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx220_tgt
-    .local int rx220_pos
-    .local int rx220_off
-    .local int rx220_eos
-    .local int rx220_rep
-    .local pmc rx220_cur
-    (rx220_cur, rx220_pos, rx220_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx220_cur
+    .local string rx219_tgt
+    .local int rx219_pos
+    .local int rx219_off
+    .local int rx219_eos
+    .local int rx219_rep
+    .local pmc rx219_cur
+    (rx219_cur, rx219_pos, rx219_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx219_cur
     .local pmc match
     .lex "$/", match
-    length rx220_eos, rx220_tgt
-    gt rx220_pos, rx220_eos, rx220_done
-    set rx220_off, 0
-    lt rx220_pos, 2, rx220_start
-    sub rx220_off, rx220_pos, 1
-    substr rx220_tgt, rx220_tgt, rx220_off
-  rx220_start:
-    eq $I10, 1, rx220_restart
-    rx220_cur."!cursor_debug"("START ", "metachar:sym<^>")
+    length rx219_eos, rx219_tgt
+    gt rx219_pos, rx219_eos, rx219_done
+    set rx219_off, 0
+    lt rx219_pos, 2, rx219_start
+    sub rx219_off, rx219_pos, 1
+    substr rx219_tgt, rx219_tgt, rx219_off
+  rx219_start:
+    eq $I10, 1, rx219_restart
+    rx219_cur."!cursor_debug"("START ", "metachar:sym<^>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan223_done
-    goto rxscan223_scan
-  rxscan223_loop:
-    ($P10) = rx220_cur."from"()
+    ne $I10, -1, rxscan222_done
+    goto rxscan222_scan
+  rxscan222_loop:
+    ($P10) = rx219_cur."from"()
     inc $P10
-    set rx220_pos, $P10
-    ge rx220_pos, rx220_eos, rxscan223_done
-  rxscan223_scan:
-    set_addr $I10, rxscan223_loop
-    rx220_cur."!mark_push"(0, rx220_pos, $I10)
-  rxscan223_done:
+    set rx219_pos, $P10
+    ge rx219_pos, rx219_eos, rxscan222_done
+  rxscan222_scan:
+    set_addr $I10, rxscan222_loop
+    rx219_cur."!mark_push"(0, rx219_pos, $I10)
+  rxscan222_done:
 .annotate 'line', 82
   # rx subcapture "sym"
-    set_addr $I10, rxcap_224_fail
-    rx220_cur."!mark_push"(0, rx220_pos, $I10)
+    set_addr $I10, rxcap_223_fail
+    rx219_cur."!mark_push"(0, rx219_pos, $I10)
   # rx literal  "^"
-    add $I11, rx220_pos, 1
-    gt $I11, rx220_eos, rx220_fail
-    sub $I11, rx220_pos, rx220_off
-    substr $S10, rx220_tgt, $I11, 1
-    ne $S10, "^", rx220_fail
-    add rx220_pos, 1
-    set_addr $I10, rxcap_224_fail
-    ($I12, $I11) = rx220_cur."!mark_peek"($I10)
-    rx220_cur."!cursor_pos"($I11)
-    ($P10) = rx220_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx220_pos, "")
-    rx220_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx219_pos, 1
+    gt $I11, rx219_eos, rx219_fail
+    sub $I11, rx219_pos, rx219_off
+    substr $S10, rx219_tgt, $I11, 1
+    ne $S10, "^", rx219_fail
+    add rx219_pos, 1
+    set_addr $I10, rxcap_223_fail
+    ($I12, $I11) = rx219_cur."!mark_peek"($I10)
+    rx219_cur."!cursor_pos"($I11)
+    ($P10) = rx219_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx219_pos, "")
+    rx219_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_224_done
-  rxcap_224_fail:
-    goto rx220_fail
-  rxcap_224_done:
+    goto rxcap_223_done
+  rxcap_223_fail:
+    goto rx219_fail
+  rxcap_223_done:
   # rx pass
-    rx220_cur."!cursor_pass"(rx220_pos, "metachar:sym<^>")
-    rx220_cur."!cursor_debug"("PASS  ", "metachar:sym<^>", " at pos=", rx220_pos)
-    .return (rx220_cur)
-  rx220_restart:
+    rx219_cur."!cursor_pass"(rx219_pos, "metachar:sym<^>")
+    rx219_cur."!cursor_debug"("PASS  ", "metachar:sym<^>", " at pos=", rx219_pos)
+    .return (rx219_cur)
+  rx219_restart:
 .annotate 'line', 3
-    rx220_cur."!cursor_debug"("NEXT ", "metachar:sym<^>")
-  rx220_fail:
-    (rx220_rep, rx220_pos, $I10, $P10) = rx220_cur."!mark_fail"(0)
-    lt rx220_pos, -1, rx220_done
-    eq rx220_pos, -1, rx220_fail
+    rx219_cur."!cursor_debug"("NEXT ", "metachar:sym<^>")
+  rx219_fail:
+    (rx219_rep, rx219_pos, $I10, $P10) = rx219_cur."!mark_fail"(0)
+    lt rx219_pos, -1, rx219_done
+    eq rx219_pos, -1, rx219_fail
     jump $I10
-  rx220_done:
-    rx220_cur."!cursor_fail"()
-    rx220_cur."!cursor_debug"("FAIL  ", "metachar:sym<^>")
-    .return (rx220_cur)
+  rx219_done:
+    rx219_cur."!cursor_fail"()
+    rx219_cur."!cursor_debug"("FAIL  ", "metachar:sym<^>")
+    .return (rx219_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^>"  :subid("64_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<^>"  :subid("64_1280467470.54449") :method
 .annotate 'line', 3
-    new $P222, "ResizablePMCArray"
-    push $P222, "^"
-    .return ($P222)
+    new $P221, "ResizablePMCArray"
+    push $P221, "^"
+    .return ($P221)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^^>"  :subid("65_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<^^>"  :subid("65_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx226_tgt
-    .local int rx226_pos
-    .local int rx226_off
-    .local int rx226_eos
-    .local int rx226_rep
-    .local pmc rx226_cur
-    (rx226_cur, rx226_pos, rx226_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx226_cur
+    .local string rx225_tgt
+    .local int rx225_pos
+    .local int rx225_off
+    .local int rx225_eos
+    .local int rx225_rep
+    .local pmc rx225_cur
+    (rx225_cur, rx225_pos, rx225_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx225_cur
     .local pmc match
     .lex "$/", match
-    length rx226_eos, rx226_tgt
-    gt rx226_pos, rx226_eos, rx226_done
-    set rx226_off, 0
-    lt rx226_pos, 2, rx226_start
-    sub rx226_off, rx226_pos, 1
-    substr rx226_tgt, rx226_tgt, rx226_off
-  rx226_start:
-    eq $I10, 1, rx226_restart
-    rx226_cur."!cursor_debug"("START ", "metachar:sym<^^>")
+    length rx225_eos, rx225_tgt
+    gt rx225_pos, rx225_eos, rx225_done
+    set rx225_off, 0
+    lt rx225_pos, 2, rx225_start
+    sub rx225_off, rx225_pos, 1
+    substr rx225_tgt, rx225_tgt, rx225_off
+  rx225_start:
+    eq $I10, 1, rx225_restart
+    rx225_cur."!cursor_debug"("START ", "metachar:sym<^^>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan229_done
-    goto rxscan229_scan
-  rxscan229_loop:
-    ($P10) = rx226_cur."from"()
+    ne $I10, -1, rxscan228_done
+    goto rxscan228_scan
+  rxscan228_loop:
+    ($P10) = rx225_cur."from"()
     inc $P10
-    set rx226_pos, $P10
-    ge rx226_pos, rx226_eos, rxscan229_done
-  rxscan229_scan:
-    set_addr $I10, rxscan229_loop
-    rx226_cur."!mark_push"(0, rx226_pos, $I10)
-  rxscan229_done:
+    set rx225_pos, $P10
+    ge rx225_pos, rx225_eos, rxscan228_done
+  rxscan228_scan:
+    set_addr $I10, rxscan228_loop
+    rx225_cur."!mark_push"(0, rx225_pos, $I10)
+  rxscan228_done:
 .annotate 'line', 83
   # rx subcapture "sym"
-    set_addr $I10, rxcap_230_fail
-    rx226_cur."!mark_push"(0, rx226_pos, $I10)
+    set_addr $I10, rxcap_229_fail
+    rx225_cur."!mark_push"(0, rx225_pos, $I10)
   # rx literal  "^^"
-    add $I11, rx226_pos, 2
-    gt $I11, rx226_eos, rx226_fail
-    sub $I11, rx226_pos, rx226_off
-    substr $S10, rx226_tgt, $I11, 2
-    ne $S10, "^^", rx226_fail
-    add rx226_pos, 2
-    set_addr $I10, rxcap_230_fail
-    ($I12, $I11) = rx226_cur."!mark_peek"($I10)
-    rx226_cur."!cursor_pos"($I11)
-    ($P10) = rx226_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx226_pos, "")
-    rx226_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx225_pos, 2
+    gt $I11, rx225_eos, rx225_fail
+    sub $I11, rx225_pos, rx225_off
+    substr $S10, rx225_tgt, $I11, 2
+    ne $S10, "^^", rx225_fail
+    add rx225_pos, 2
+    set_addr $I10, rxcap_229_fail
+    ($I12, $I11) = rx225_cur."!mark_peek"($I10)
+    rx225_cur."!cursor_pos"($I11)
+    ($P10) = rx225_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx225_pos, "")
+    rx225_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_230_done
-  rxcap_230_fail:
-    goto rx226_fail
-  rxcap_230_done:
+    goto rxcap_229_done
+  rxcap_229_fail:
+    goto rx225_fail
+  rxcap_229_done:
   # rx pass
-    rx226_cur."!cursor_pass"(rx226_pos, "metachar:sym<^^>")
-    rx226_cur."!cursor_debug"("PASS  ", "metachar:sym<^^>", " at pos=", rx226_pos)
-    .return (rx226_cur)
-  rx226_restart:
+    rx225_cur."!cursor_pass"(rx225_pos, "metachar:sym<^^>")
+    rx225_cur."!cursor_debug"("PASS  ", "metachar:sym<^^>", " at pos=", rx225_pos)
+    .return (rx225_cur)
+  rx225_restart:
 .annotate 'line', 3
-    rx226_cur."!cursor_debug"("NEXT ", "metachar:sym<^^>")
-  rx226_fail:
-    (rx226_rep, rx226_pos, $I10, $P10) = rx226_cur."!mark_fail"(0)
-    lt rx226_pos, -1, rx226_done
-    eq rx226_pos, -1, rx226_fail
+    rx225_cur."!cursor_debug"("NEXT ", "metachar:sym<^^>")
+  rx225_fail:
+    (rx225_rep, rx225_pos, $I10, $P10) = rx225_cur."!mark_fail"(0)
+    lt rx225_pos, -1, rx225_done
+    eq rx225_pos, -1, rx225_fail
     jump $I10
-  rx226_done:
-    rx226_cur."!cursor_fail"()
-    rx226_cur."!cursor_debug"("FAIL  ", "metachar:sym<^^>")
-    .return (rx226_cur)
+  rx225_done:
+    rx225_cur."!cursor_fail"()
+    rx225_cur."!cursor_debug"("FAIL  ", "metachar:sym<^^>")
+    .return (rx225_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^^>"  :subid("66_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<^^>"  :subid("66_1280467470.54449") :method
 .annotate 'line', 3
-    new $P228, "ResizablePMCArray"
-    push $P228, "^^"
-    .return ($P228)
+    new $P227, "ResizablePMCArray"
+    push $P227, "^^"
+    .return ($P227)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$>"  :subid("67_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<$>"  :subid("67_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .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, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx232_cur
+    .local string rx231_tgt
+    .local int rx231_pos
+    .local int rx231_off
+    .local int rx231_eos
+    .local int rx231_rep
+    .local pmc rx231_cur
+    (rx231_cur, rx231_pos, rx231_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx231_cur
     .local pmc match
     .lex "$/", match
-    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:
-    eq $I10, 1, rx232_restart
-    rx232_cur."!cursor_debug"("START ", "metachar:sym<$>")
+    length rx231_eos, rx231_tgt
+    gt rx231_pos, rx231_eos, rx231_done
+    set rx231_off, 0
+    lt rx231_pos, 2, rx231_start
+    sub rx231_off, rx231_pos, 1
+    substr rx231_tgt, rx231_tgt, rx231_off
+  rx231_start:
+    eq $I10, 1, rx231_restart
+    rx231_cur."!cursor_debug"("START ", "metachar:sym<$>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan235_done
-    goto rxscan235_scan
-  rxscan235_loop:
-    ($P10) = rx232_cur."from"()
+    ne $I10, -1, rxscan234_done
+    goto rxscan234_scan
+  rxscan234_loop:
+    ($P10) = rx231_cur."from"()
     inc $P10
-    set rx232_pos, $P10
-    ge rx232_pos, rx232_eos, rxscan235_done
-  rxscan235_scan:
-    set_addr $I10, rxscan235_loop
-    rx232_cur."!mark_push"(0, rx232_pos, $I10)
-  rxscan235_done:
+    set rx231_pos, $P10
+    ge rx231_pos, rx231_eos, rxscan234_done
+  rxscan234_scan:
+    set_addr $I10, rxscan234_loop
+    rx231_cur."!mark_push"(0, rx231_pos, $I10)
+  rxscan234_done:
 .annotate 'line', 84
   # rx subcapture "sym"
-    set_addr $I10, rxcap_236_fail
-    rx232_cur."!mark_push"(0, rx232_pos, $I10)
+    set_addr $I10, rxcap_235_fail
+    rx231_cur."!mark_push"(0, rx231_pos, $I10)
   # rx literal  "$"
-    add $I11, rx232_pos, 1
-    gt $I11, rx232_eos, rx232_fail
-    sub $I11, rx232_pos, rx232_off
-    substr $S10, rx232_tgt, $I11, 1
-    ne $S10, "$", rx232_fail
-    add rx232_pos, 1
-    set_addr $I10, rxcap_236_fail
-    ($I12, $I11) = rx232_cur."!mark_peek"($I10)
-    rx232_cur."!cursor_pos"($I11)
-    ($P10) = rx232_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx232_pos, "")
-    rx232_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx231_pos, 1
+    gt $I11, rx231_eos, rx231_fail
+    sub $I11, rx231_pos, rx231_off
+    substr $S10, rx231_tgt, $I11, 1
+    ne $S10, "$", rx231_fail
+    add rx231_pos, 1
+    set_addr $I10, rxcap_235_fail
+    ($I12, $I11) = rx231_cur."!mark_peek"($I10)
+    rx231_cur."!cursor_pos"($I11)
+    ($P10) = rx231_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx231_pos, "")
+    rx231_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_236_done
-  rxcap_236_fail:
-    goto rx232_fail
-  rxcap_236_done:
+    goto rxcap_235_done
+  rxcap_235_fail:
+    goto rx231_fail
+  rxcap_235_done:
   # rx pass
-    rx232_cur."!cursor_pass"(rx232_pos, "metachar:sym<$>")
-    rx232_cur."!cursor_debug"("PASS  ", "metachar:sym<$>", " at pos=", rx232_pos)
-    .return (rx232_cur)
-  rx232_restart:
+    rx231_cur."!cursor_pass"(rx231_pos, "metachar:sym<$>")
+    rx231_cur."!cursor_debug"("PASS  ", "metachar:sym<$>", " at pos=", rx231_pos)
+    .return (rx231_cur)
+  rx231_restart:
 .annotate 'line', 3
-    rx232_cur."!cursor_debug"("NEXT ", "metachar:sym<$>")
-  rx232_fail:
-    (rx232_rep, rx232_pos, $I10, $P10) = rx232_cur."!mark_fail"(0)
-    lt rx232_pos, -1, rx232_done
-    eq rx232_pos, -1, rx232_fail
+    rx231_cur."!cursor_debug"("NEXT ", "metachar:sym<$>")
+  rx231_fail:
+    (rx231_rep, rx231_pos, $I10, $P10) = rx231_cur."!mark_fail"(0)
+    lt rx231_pos, -1, rx231_done
+    eq rx231_pos, -1, rx231_fail
     jump $I10
-  rx232_done:
-    rx232_cur."!cursor_fail"()
-    rx232_cur."!cursor_debug"("FAIL  ", "metachar:sym<$>")
-    .return (rx232_cur)
+  rx231_done:
+    rx231_cur."!cursor_fail"()
+    rx231_cur."!cursor_debug"("FAIL  ", "metachar:sym<$>")
+    .return (rx231_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$>"  :subid("68_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<$>"  :subid("68_1280467470.54449") :method
 .annotate 'line', 3
-    new $P234, "ResizablePMCArray"
-    push $P234, "$"
-    .return ($P234)
+    new $P233, "ResizablePMCArray"
+    push $P233, "$"
+    .return ($P233)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$$>"  :subid("69_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<$$>"  :subid("69_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx238_tgt
-    .local int rx238_pos
-    .local int rx238_off
-    .local int rx238_eos
-    .local int rx238_rep
-    .local pmc rx238_cur
-    (rx238_cur, rx238_pos, rx238_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx238_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, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx237_cur
     .local pmc match
     .lex "$/", match
-    length rx238_eos, rx238_tgt
-    gt rx238_pos, rx238_eos, rx238_done
-    set rx238_off, 0
-    lt rx238_pos, 2, rx238_start
-    sub rx238_off, rx238_pos, 1
-    substr rx238_tgt, rx238_tgt, rx238_off
-  rx238_start:
-    eq $I10, 1, rx238_restart
-    rx238_cur."!cursor_debug"("START ", "metachar:sym<$$>")
+    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:
+    eq $I10, 1, rx237_restart
+    rx237_cur."!cursor_debug"("START ", "metachar:sym<$$>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan241_done
-    goto rxscan241_scan
-  rxscan241_loop:
-    ($P10) = rx238_cur."from"()
+    ne $I10, -1, rxscan240_done
+    goto rxscan240_scan
+  rxscan240_loop:
+    ($P10) = rx237_cur."from"()
     inc $P10
-    set rx238_pos, $P10
-    ge rx238_pos, rx238_eos, rxscan241_done
-  rxscan241_scan:
-    set_addr $I10, rxscan241_loop
-    rx238_cur."!mark_push"(0, rx238_pos, $I10)
-  rxscan241_done:
+    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', 85
   # rx subcapture "sym"
-    set_addr $I10, rxcap_242_fail
-    rx238_cur."!mark_push"(0, rx238_pos, $I10)
+    set_addr $I10, rxcap_241_fail
+    rx237_cur."!mark_push"(0, rx237_pos, $I10)
   # rx literal  "$$"
-    add $I11, rx238_pos, 2
-    gt $I11, rx238_eos, rx238_fail
-    sub $I11, rx238_pos, rx238_off
-    substr $S10, rx238_tgt, $I11, 2
-    ne $S10, "$$", rx238_fail
-    add rx238_pos, 2
-    set_addr $I10, rxcap_242_fail
-    ($I12, $I11) = rx238_cur."!mark_peek"($I10)
-    rx238_cur."!cursor_pos"($I11)
-    ($P10) = rx238_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx238_pos, "")
-    rx238_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx237_pos, 2
+    gt $I11, rx237_eos, rx237_fail
+    sub $I11, rx237_pos, rx237_off
+    substr $S10, rx237_tgt, $I11, 2
+    ne $S10, "$$", rx237_fail
+    add rx237_pos, 2
+    set_addr $I10, rxcap_241_fail
+    ($I12, $I11) = rx237_cur."!mark_peek"($I10)
+    rx237_cur."!cursor_pos"($I11)
+    ($P10) = rx237_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx237_pos, "")
+    rx237_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_242_done
-  rxcap_242_fail:
-    goto rx238_fail
-  rxcap_242_done:
+    goto rxcap_241_done
+  rxcap_241_fail:
+    goto rx237_fail
+  rxcap_241_done:
   # rx pass
-    rx238_cur."!cursor_pass"(rx238_pos, "metachar:sym<$$>")
-    rx238_cur."!cursor_debug"("PASS  ", "metachar:sym<$$>", " at pos=", rx238_pos)
-    .return (rx238_cur)
-  rx238_restart:
+    rx237_cur."!cursor_pass"(rx237_pos, "metachar:sym<$$>")
+    rx237_cur."!cursor_debug"("PASS  ", "metachar:sym<$$>", " at pos=", rx237_pos)
+    .return (rx237_cur)
+  rx237_restart:
 .annotate 'line', 3
-    rx238_cur."!cursor_debug"("NEXT ", "metachar:sym<$$>")
-  rx238_fail:
-    (rx238_rep, rx238_pos, $I10, $P10) = rx238_cur."!mark_fail"(0)
-    lt rx238_pos, -1, rx238_done
-    eq rx238_pos, -1, rx238_fail
+    rx237_cur."!cursor_debug"("NEXT ", "metachar:sym<$$>")
+  rx237_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
-  rx238_done:
-    rx238_cur."!cursor_fail"()
-    rx238_cur."!cursor_debug"("FAIL  ", "metachar:sym<$$>")
-    .return (rx238_cur)
+  rx237_done:
+    rx237_cur."!cursor_fail"()
+    rx237_cur."!cursor_debug"("FAIL  ", "metachar:sym<$$>")
+    .return (rx237_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$$>"  :subid("70_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<$$>"  :subid("70_1280467470.54449") :method
 .annotate 'line', 3
-    new $P240, "ResizablePMCArray"
-    push $P240, "$$"
-    .return ($P240)
+    new $P239, "ResizablePMCArray"
+    push $P239, "$$"
+    .return ($P239)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<:::>"  :subid("71_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<:::>"  :subid("71_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx244_tgt
-    .local int rx244_pos
-    .local int rx244_off
-    .local int rx244_eos
-    .local int rx244_rep
-    .local pmc rx244_cur
-    (rx244_cur, rx244_pos, rx244_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx244_cur
+    .local string rx243_tgt
+    .local int rx243_pos
+    .local int rx243_off
+    .local int rx243_eos
+    .local int rx243_rep
+    .local pmc rx243_cur
+    (rx243_cur, rx243_pos, rx243_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx243_cur
     .local pmc match
     .lex "$/", match
-    length rx244_eos, rx244_tgt
-    gt rx244_pos, rx244_eos, rx244_done
-    set rx244_off, 0
-    lt rx244_pos, 2, rx244_start
-    sub rx244_off, rx244_pos, 1
-    substr rx244_tgt, rx244_tgt, rx244_off
-  rx244_start:
-    eq $I10, 1, rx244_restart
-    rx244_cur."!cursor_debug"("START ", "metachar:sym<:::>")
+    length rx243_eos, rx243_tgt
+    gt rx243_pos, rx243_eos, rx243_done
+    set rx243_off, 0
+    lt rx243_pos, 2, rx243_start
+    sub rx243_off, rx243_pos, 1
+    substr rx243_tgt, rx243_tgt, rx243_off
+  rx243_start:
+    eq $I10, 1, rx243_restart
+    rx243_cur."!cursor_debug"("START ", "metachar:sym<:::>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan248_done
-    goto rxscan248_scan
-  rxscan248_loop:
-    ($P10) = rx244_cur."from"()
+    ne $I10, -1, rxscan247_done
+    goto rxscan247_scan
+  rxscan247_loop:
+    ($P10) = rx243_cur."from"()
     inc $P10
-    set rx244_pos, $P10
-    ge rx244_pos, rx244_eos, rxscan248_done
-  rxscan248_scan:
-    set_addr $I10, rxscan248_loop
-    rx244_cur."!mark_push"(0, rx244_pos, $I10)
-  rxscan248_done:
+    set rx243_pos, $P10
+    ge rx243_pos, rx243_eos, rxscan247_done
+  rxscan247_scan:
+    set_addr $I10, rxscan247_loop
+    rx243_cur."!mark_push"(0, rx243_pos, $I10)
+  rxscan247_done:
 .annotate 'line', 86
   # rx subcapture "sym"
-    set_addr $I10, rxcap_249_fail
-    rx244_cur."!mark_push"(0, rx244_pos, $I10)
+    set_addr $I10, rxcap_248_fail
+    rx243_cur."!mark_push"(0, rx243_pos, $I10)
   # rx literal  ":::"
-    add $I11, rx244_pos, 3
-    gt $I11, rx244_eos, rx244_fail
-    sub $I11, rx244_pos, rx244_off
-    substr $S10, rx244_tgt, $I11, 3
-    ne $S10, ":::", rx244_fail
-    add rx244_pos, 3
-    set_addr $I10, rxcap_249_fail
-    ($I12, $I11) = rx244_cur."!mark_peek"($I10)
-    rx244_cur."!cursor_pos"($I11)
-    ($P10) = rx244_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx244_pos, "")
-    rx244_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx243_pos, 3
+    gt $I11, rx243_eos, rx243_fail
+    sub $I11, rx243_pos, rx243_off
+    substr $S10, rx243_tgt, $I11, 3
+    ne $S10, ":::", rx243_fail
+    add rx243_pos, 3
+    set_addr $I10, rxcap_248_fail
+    ($I12, $I11) = rx243_cur."!mark_peek"($I10)
+    rx243_cur."!cursor_pos"($I11)
+    ($P10) = rx243_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx243_pos, "")
+    rx243_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_249_done
-  rxcap_249_fail:
-    goto rx244_fail
-  rxcap_249_done:
+    goto rxcap_248_done
+  rxcap_248_fail:
+    goto rx243_fail
+  rxcap_248_done:
   # rx subrule "panic" subtype=method negate=
-    rx244_cur."!cursor_pos"(rx244_pos)
-    $P10 = rx244_cur."panic"("::: not yet implemented")
-    unless $P10, rx244_fail
-    rx244_pos = $P10."pos"()
+    rx243_cur."!cursor_pos"(rx243_pos)
+    $P10 = rx243_cur."panic"("::: not yet implemented")
+    unless $P10, rx243_fail
+    rx243_pos = $P10."pos"()
   # rx pass
-    rx244_cur."!cursor_pass"(rx244_pos, "metachar:sym<:::>")
-    rx244_cur."!cursor_debug"("PASS  ", "metachar:sym<:::>", " at pos=", rx244_pos)
-    .return (rx244_cur)
-  rx244_restart:
+    rx243_cur."!cursor_pass"(rx243_pos, "metachar:sym<:::>")
+    rx243_cur."!cursor_debug"("PASS  ", "metachar:sym<:::>", " at pos=", rx243_pos)
+    .return (rx243_cur)
+  rx243_restart:
 .annotate 'line', 3
-    rx244_cur."!cursor_debug"("NEXT ", "metachar:sym<:::>")
-  rx244_fail:
-    (rx244_rep, rx244_pos, $I10, $P10) = rx244_cur."!mark_fail"(0)
-    lt rx244_pos, -1, rx244_done
-    eq rx244_pos, -1, rx244_fail
+    rx243_cur."!cursor_debug"("NEXT ", "metachar:sym<:::>")
+  rx243_fail:
+    (rx243_rep, rx243_pos, $I10, $P10) = rx243_cur."!mark_fail"(0)
+    lt rx243_pos, -1, rx243_done
+    eq rx243_pos, -1, rx243_fail
     jump $I10
-  rx244_done:
-    rx244_cur."!cursor_fail"()
-    rx244_cur."!cursor_debug"("FAIL  ", "metachar:sym<:::>")
-    .return (rx244_cur)
+  rx243_done:
+    rx243_cur."!cursor_fail"()
+    rx243_cur."!cursor_debug"("FAIL  ", "metachar:sym<:::>")
+    .return (rx243_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<:::>"  :subid("72_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<:::>"  :subid("72_1280467470.54449") :method
 .annotate 'line', 3
-    $P246 = self."!PREFIX__!subrule"("panic", ":::")
-    new $P247, "ResizablePMCArray"
-    push $P247, $P246
-    .return ($P247)
+    $P245 = self."!PREFIX__!subrule"("panic", ":::")
+    new $P246, "ResizablePMCArray"
+    push $P246, $P245
+    .return ($P246)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<::>"  :subid("73_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<::>"  :subid("73_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .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, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx251_cur
+    .local string rx250_tgt
+    .local int rx250_pos
+    .local int rx250_off
+    .local int rx250_eos
+    .local int rx250_rep
+    .local pmc rx250_cur
+    (rx250_cur, rx250_pos, rx250_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx250_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:
-    eq $I10, 1, rx251_restart
-    rx251_cur."!cursor_debug"("START ", "metachar:sym<::>")
+    length rx250_eos, rx250_tgt
+    gt rx250_pos, rx250_eos, rx250_done
+    set rx250_off, 0
+    lt rx250_pos, 2, rx250_start
+    sub rx250_off, rx250_pos, 1
+    substr rx250_tgt, rx250_tgt, rx250_off
+  rx250_start:
+    eq $I10, 1, rx250_restart
+    rx250_cur."!cursor_debug"("START ", "metachar:sym<::>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan255_done
-    goto rxscan255_scan
-  rxscan255_loop:
-    ($P10) = rx251_cur."from"()
+    ne $I10, -1, rxscan254_done
+    goto rxscan254_scan
+  rxscan254_loop:
+    ($P10) = rx250_cur."from"()
     inc $P10
-    set rx251_pos, $P10
-    ge rx251_pos, rx251_eos, rxscan255_done
-  rxscan255_scan:
-    set_addr $I10, rxscan255_loop
-    rx251_cur."!mark_push"(0, rx251_pos, $I10)
-  rxscan255_done:
+    set rx250_pos, $P10
+    ge rx250_pos, rx250_eos, rxscan254_done
+  rxscan254_scan:
+    set_addr $I10, rxscan254_loop
+    rx250_cur."!mark_push"(0, rx250_pos, $I10)
+  rxscan254_done:
 .annotate 'line', 87
   # rx subcapture "sym"
-    set_addr $I10, rxcap_256_fail
-    rx251_cur."!mark_push"(0, rx251_pos, $I10)
+    set_addr $I10, rxcap_255_fail
+    rx250_cur."!mark_push"(0, rx250_pos, $I10)
   # rx literal  "::"
-    add $I11, rx251_pos, 2
-    gt $I11, rx251_eos, rx251_fail
-    sub $I11, rx251_pos, rx251_off
-    substr $S10, rx251_tgt, $I11, 2
-    ne $S10, "::", rx251_fail
-    add rx251_pos, 2
-    set_addr $I10, rxcap_256_fail
-    ($I12, $I11) = rx251_cur."!mark_peek"($I10)
-    rx251_cur."!cursor_pos"($I11)
-    ($P10) = rx251_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx251_pos, "")
-    rx251_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx250_pos, 2
+    gt $I11, rx250_eos, rx250_fail
+    sub $I11, rx250_pos, rx250_off
+    substr $S10, rx250_tgt, $I11, 2
+    ne $S10, "::", rx250_fail
+    add rx250_pos, 2
+    set_addr $I10, rxcap_255_fail
+    ($I12, $I11) = rx250_cur."!mark_peek"($I10)
+    rx250_cur."!cursor_pos"($I11)
+    ($P10) = rx250_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx250_pos, "")
+    rx250_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_256_done
-  rxcap_256_fail:
-    goto rx251_fail
-  rxcap_256_done:
+    goto rxcap_255_done
+  rxcap_255_fail:
+    goto rx250_fail
+  rxcap_255_done:
   # rx subrule "panic" subtype=method negate=
-    rx251_cur."!cursor_pos"(rx251_pos)
-    $P10 = rx251_cur."panic"(":: not yet implemented")
-    unless $P10, rx251_fail
-    rx251_pos = $P10."pos"()
+    rx250_cur."!cursor_pos"(rx250_pos)
+    $P10 = rx250_cur."panic"(":: not yet implemented")
+    unless $P10, rx250_fail
+    rx250_pos = $P10."pos"()
   # rx pass
-    rx251_cur."!cursor_pass"(rx251_pos, "metachar:sym<::>")
-    rx251_cur."!cursor_debug"("PASS  ", "metachar:sym<::>", " at pos=", rx251_pos)
-    .return (rx251_cur)
-  rx251_restart:
+    rx250_cur."!cursor_pass"(rx250_pos, "metachar:sym<::>")
+    rx250_cur."!cursor_debug"("PASS  ", "metachar:sym<::>", " at pos=", rx250_pos)
+    .return (rx250_cur)
+  rx250_restart:
 .annotate 'line', 3
-    rx251_cur."!cursor_debug"("NEXT ", "metachar:sym<::>")
-  rx251_fail:
-    (rx251_rep, rx251_pos, $I10, $P10) = rx251_cur."!mark_fail"(0)
-    lt rx251_pos, -1, rx251_done
-    eq rx251_pos, -1, rx251_fail
+    rx250_cur."!cursor_debug"("NEXT ", "metachar:sym<::>")
+  rx250_fail:
+    (rx250_rep, rx250_pos, $I10, $P10) = rx250_cur."!mark_fail"(0)
+    lt rx250_pos, -1, rx250_done
+    eq rx250_pos, -1, rx250_fail
     jump $I10
-  rx251_done:
-    rx251_cur."!cursor_fail"()
-    rx251_cur."!cursor_debug"("FAIL  ", "metachar:sym<::>")
-    .return (rx251_cur)
+  rx250_done:
+    rx250_cur."!cursor_fail"()
+    rx250_cur."!cursor_debug"("FAIL  ", "metachar:sym<::>")
+    .return (rx250_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<::>"  :subid("74_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<::>"  :subid("74_1280467470.54449") :method
 .annotate 'line', 3
-    $P253 = self."!PREFIX__!subrule"("panic", "::")
-    new $P254, "ResizablePMCArray"
-    push $P254, $P253
-    .return ($P254)
+    $P252 = self."!PREFIX__!subrule"("panic", "::")
+    new $P253, "ResizablePMCArray"
+    push $P253, $P252
+    .return ($P253)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<lwb>"  :subid("75_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<lwb>"  :subid("75_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx258_tgt
-    .local int rx258_pos
-    .local int rx258_off
-    .local int rx258_eos
-    .local int rx258_rep
-    .local pmc rx258_cur
-    (rx258_cur, rx258_pos, rx258_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx258_cur
+    .local string rx257_tgt
+    .local int rx257_pos
+    .local int rx257_off
+    .local int rx257_eos
+    .local int rx257_rep
+    .local pmc rx257_cur
+    (rx257_cur, rx257_pos, rx257_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx257_cur
     .local pmc match
     .lex "$/", match
-    length rx258_eos, rx258_tgt
-    gt rx258_pos, rx258_eos, rx258_done
-    set rx258_off, 0
-    lt rx258_pos, 2, rx258_start
-    sub rx258_off, rx258_pos, 1
-    substr rx258_tgt, rx258_tgt, rx258_off
-  rx258_start:
-    eq $I10, 1, rx258_restart
-    rx258_cur."!cursor_debug"("START ", "metachar:sym<lwb>")
+    length rx257_eos, rx257_tgt
+    gt rx257_pos, rx257_eos, rx257_done
+    set rx257_off, 0
+    lt rx257_pos, 2, rx257_start
+    sub rx257_off, rx257_pos, 1
+    substr rx257_tgt, rx257_tgt, rx257_off
+  rx257_start:
+    eq $I10, 1, rx257_restart
+    rx257_cur."!cursor_debug"("START ", "metachar:sym<lwb>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan261_done
-    goto rxscan261_scan
-  rxscan261_loop:
-    ($P10) = rx258_cur."from"()
+    ne $I10, -1, rxscan260_done
+    goto rxscan260_scan
+  rxscan260_loop:
+    ($P10) = rx257_cur."from"()
     inc $P10
-    set rx258_pos, $P10
-    ge rx258_pos, rx258_eos, rxscan261_done
-  rxscan261_scan:
-    set_addr $I10, rxscan261_loop
-    rx258_cur."!mark_push"(0, rx258_pos, $I10)
-  rxscan261_done:
+    set rx257_pos, $P10
+    ge rx257_pos, rx257_eos, rxscan260_done
+  rxscan260_scan:
+    set_addr $I10, rxscan260_loop
+    rx257_cur."!mark_push"(0, rx257_pos, $I10)
+  rxscan260_done:
 .annotate 'line', 88
   # rx subcapture "sym"
-    set_addr $I10, rxcap_263_fail
-    rx258_cur."!mark_push"(0, rx258_pos, $I10)
-  alt262_0:
-    set_addr $I10, alt262_1
-    rx258_cur."!mark_push"(0, rx258_pos, $I10)
+    set_addr $I10, rxcap_262_fail
+    rx257_cur."!mark_push"(0, rx257_pos, $I10)
+  alt261_0:
+    set_addr $I10, alt261_1
+    rx257_cur."!mark_push"(0, rx257_pos, $I10)
   # rx literal  "<<"
-    add $I11, rx258_pos, 2
-    gt $I11, rx258_eos, rx258_fail
-    sub $I11, rx258_pos, rx258_off
-    substr $S10, rx258_tgt, $I11, 2
-    ne $S10, "<<", rx258_fail
-    add rx258_pos, 2
-    goto alt262_end
-  alt262_1:
+    add $I11, rx257_pos, 2
+    gt $I11, rx257_eos, rx257_fail
+    sub $I11, rx257_pos, rx257_off
+    substr $S10, rx257_tgt, $I11, 2
+    ne $S10, "<<", rx257_fail
+    add rx257_pos, 2
+    goto alt261_end
+  alt261_1:
   # rx literal  unicode:"\x{ab}"
-    add $I11, rx258_pos, 1
-    gt $I11, rx258_eos, rx258_fail
-    sub $I11, rx258_pos, rx258_off
-    substr $S10, rx258_tgt, $I11, 1
-    ne $S10, unicode:"\x{ab}", rx258_fail
-    add rx258_pos, 1
-  alt262_end:
-    set_addr $I10, rxcap_263_fail
-    ($I12, $I11) = rx258_cur."!mark_peek"($I10)
-    rx258_cur."!cursor_pos"($I11)
-    ($P10) = rx258_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx258_pos, "")
-    rx258_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx257_pos, 1
+    gt $I11, rx257_eos, rx257_fail
+    sub $I11, rx257_pos, rx257_off
+    substr $S10, rx257_tgt, $I11, 1
+    ne $S10, unicode:"\x{ab}", rx257_fail
+    add rx257_pos, 1
+  alt261_end:
+    set_addr $I10, rxcap_262_fail
+    ($I12, $I11) = rx257_cur."!mark_peek"($I10)
+    rx257_cur."!cursor_pos"($I11)
+    ($P10) = rx257_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx257_pos, "")
+    rx257_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_263_done
-  rxcap_263_fail:
-    goto rx258_fail
-  rxcap_263_done:
+    goto rxcap_262_done
+  rxcap_262_fail:
+    goto rx257_fail
+  rxcap_262_done:
   # rx pass
-    rx258_cur."!cursor_pass"(rx258_pos, "metachar:sym<lwb>")
-    rx258_cur."!cursor_debug"("PASS  ", "metachar:sym<lwb>", " at pos=", rx258_pos)
-    .return (rx258_cur)
-  rx258_restart:
+    rx257_cur."!cursor_pass"(rx257_pos, "metachar:sym<lwb>")
+    rx257_cur."!cursor_debug"("PASS  ", "metachar:sym<lwb>", " at pos=", rx257_pos)
+    .return (rx257_cur)
+  rx257_restart:
 .annotate 'line', 3
-    rx258_cur."!cursor_debug"("NEXT ", "metachar:sym<lwb>")
-  rx258_fail:
-    (rx258_rep, rx258_pos, $I10, $P10) = rx258_cur."!mark_fail"(0)
-    lt rx258_pos, -1, rx258_done
-    eq rx258_pos, -1, rx258_fail
+    rx257_cur."!cursor_debug"("NEXT ", "metachar:sym<lwb>")
+  rx257_fail:
+    (rx257_rep, rx257_pos, $I10, $P10) = rx257_cur."!mark_fail"(0)
+    lt rx257_pos, -1, rx257_done
+    eq rx257_pos, -1, rx257_fail
     jump $I10
-  rx258_done:
-    rx258_cur."!cursor_fail"()
-    rx258_cur."!cursor_debug"("FAIL  ", "metachar:sym<lwb>")
-    .return (rx258_cur)
+  rx257_done:
+    rx257_cur."!cursor_fail"()
+    rx257_cur."!cursor_debug"("FAIL  ", "metachar:sym<lwb>")
+    .return (rx257_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<lwb>"  :subid("76_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<lwb>"  :subid("76_1280467470.54449") :method
 .annotate 'line', 3
-    new $P260, "ResizablePMCArray"
-    push $P260, unicode:"\x{ab}"
-    push $P260, "<<"
-    .return ($P260)
+    new $P259, "ResizablePMCArray"
+    push $P259, unicode:"\x{ab}"
+    push $P259, "<<"
+    .return ($P259)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<rwb>"  :subid("77_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<rwb>"  :subid("77_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .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, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx265_cur
+    .local string rx264_tgt
+    .local int rx264_pos
+    .local int rx264_off
+    .local int rx264_eos
+    .local int rx264_rep
+    .local pmc rx264_cur
+    (rx264_cur, rx264_pos, rx264_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx264_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:
-    eq $I10, 1, rx265_restart
-    rx265_cur."!cursor_debug"("START ", "metachar:sym<rwb>")
+    length rx264_eos, rx264_tgt
+    gt rx264_pos, rx264_eos, rx264_done
+    set rx264_off, 0
+    lt rx264_pos, 2, rx264_start
+    sub rx264_off, rx264_pos, 1
+    substr rx264_tgt, rx264_tgt, rx264_off
+  rx264_start:
+    eq $I10, 1, rx264_restart
+    rx264_cur."!cursor_debug"("START ", "metachar:sym<rwb>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan268_done
-    goto rxscan268_scan
-  rxscan268_loop:
-    ($P10) = rx265_cur."from"()
+    ne $I10, -1, rxscan267_done
+    goto rxscan267_scan
+  rxscan267_loop:
+    ($P10) = rx264_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:
+    set rx264_pos, $P10
+    ge rx264_pos, rx264_eos, rxscan267_done
+  rxscan267_scan:
+    set_addr $I10, rxscan267_loop
+    rx264_cur."!mark_push"(0, rx264_pos, $I10)
+  rxscan267_done:
 .annotate 'line', 89
   # rx subcapture "sym"
-    set_addr $I10, rxcap_270_fail
-    rx265_cur."!mark_push"(0, rx265_pos, $I10)
-  alt269_0:
-    set_addr $I10, alt269_1
-    rx265_cur."!mark_push"(0, rx265_pos, $I10)
+    set_addr $I10, rxcap_269_fail
+    rx264_cur."!mark_push"(0, rx264_pos, $I10)
+  alt268_0:
+    set_addr $I10, alt268_1
+    rx264_cur."!mark_push"(0, rx264_pos, $I10)
   # rx literal  ">>"
-    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, ">>", rx265_fail
-    add rx265_pos, 2
-    goto alt269_end
-  alt269_1:
+    add $I11, rx264_pos, 2
+    gt $I11, rx264_eos, rx264_fail
+    sub $I11, rx264_pos, rx264_off
+    substr $S10, rx264_tgt, $I11, 2
+    ne $S10, ">>", rx264_fail
+    add rx264_pos, 2
+    goto alt268_end
+  alt268_1:
   # rx literal  unicode:"\x{bb}"
-    add $I11, rx265_pos, 1
-    gt $I11, rx265_eos, rx265_fail
-    sub $I11, rx265_pos, rx265_off
-    substr $S10, rx265_tgt, $I11, 1
-    ne $S10, unicode:"\x{bb}", rx265_fail
-    add rx265_pos, 1
-  alt269_end:
-    set_addr $I10, rxcap_270_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)
+    add $I11, rx264_pos, 1
+    gt $I11, rx264_eos, rx264_fail
+    sub $I11, rx264_pos, rx264_off
+    substr $S10, rx264_tgt, $I11, 1
+    ne $S10, unicode:"\x{bb}", rx264_fail
+    add rx264_pos, 1
+  alt268_end:
+    set_addr $I10, rxcap_269_fail
+    ($I12, $I11) = rx264_cur."!mark_peek"($I10)
+    rx264_cur."!cursor_pos"($I11)
+    ($P10) = rx264_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx264_pos, "")
+    rx264_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_270_done
-  rxcap_270_fail:
-    goto rx265_fail
-  rxcap_270_done:
+    goto rxcap_269_done
+  rxcap_269_fail:
+    goto rx264_fail
+  rxcap_269_done:
   # rx pass
-    rx265_cur."!cursor_pass"(rx265_pos, "metachar:sym<rwb>")
-    rx265_cur."!cursor_debug"("PASS  ", "metachar:sym<rwb>", " at pos=", rx265_pos)
-    .return (rx265_cur)
-  rx265_restart:
+    rx264_cur."!cursor_pass"(rx264_pos, "metachar:sym<rwb>")
+    rx264_cur."!cursor_debug"("PASS  ", "metachar:sym<rwb>", " at pos=", rx264_pos)
+    .return (rx264_cur)
+  rx264_restart:
 .annotate 'line', 3
-    rx265_cur."!cursor_debug"("NEXT ", "metachar:sym<rwb>")
-  rx265_fail:
-    (rx265_rep, rx265_pos, $I10, $P10) = rx265_cur."!mark_fail"(0)
-    lt rx265_pos, -1, rx265_done
-    eq rx265_pos, -1, rx265_fail
+    rx264_cur."!cursor_debug"("NEXT ", "metachar:sym<rwb>")
+  rx264_fail:
+    (rx264_rep, rx264_pos, $I10, $P10) = rx264_cur."!mark_fail"(0)
+    lt rx264_pos, -1, rx264_done
+    eq rx264_pos, -1, rx264_fail
     jump $I10
-  rx265_done:
-    rx265_cur."!cursor_fail"()
-    rx265_cur."!cursor_debug"("FAIL  ", "metachar:sym<rwb>")
-    .return (rx265_cur)
+  rx264_done:
+    rx264_cur."!cursor_fail"()
+    rx264_cur."!cursor_debug"("FAIL  ", "metachar:sym<rwb>")
+    .return (rx264_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<rwb>"  :subid("78_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<rwb>"  :subid("78_1280467470.54449") :method
 .annotate 'line', 3
-    new $P267, "ResizablePMCArray"
-    push $P267, unicode:"\x{bb}"
-    push $P267, ">>"
-    .return ($P267)
+    new $P266, "ResizablePMCArray"
+    push $P266, unicode:"\x{bb}"
+    push $P266, ">>"
+    .return ($P266)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<bs>"  :subid("79_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<bs>"  :subid("79_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx272_tgt
-    .local int rx272_pos
-    .local int rx272_off
-    .local int rx272_eos
-    .local int rx272_rep
-    .local pmc rx272_cur
-    (rx272_cur, rx272_pos, rx272_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx272_cur
+    .local string rx271_tgt
+    .local int rx271_pos
+    .local int rx271_off
+    .local int rx271_eos
+    .local int rx271_rep
+    .local pmc rx271_cur
+    (rx271_cur, rx271_pos, rx271_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx271_cur
     .local pmc match
     .lex "$/", match
-    length rx272_eos, rx272_tgt
-    gt rx272_pos, rx272_eos, rx272_done
-    set rx272_off, 0
-    lt rx272_pos, 2, rx272_start
-    sub rx272_off, rx272_pos, 1
-    substr rx272_tgt, rx272_tgt, rx272_off
-  rx272_start:
-    eq $I10, 1, rx272_restart
-    rx272_cur."!cursor_debug"("START ", "metachar:sym<bs>")
+    length rx271_eos, rx271_tgt
+    gt rx271_pos, rx271_eos, rx271_done
+    set rx271_off, 0
+    lt rx271_pos, 2, rx271_start
+    sub rx271_off, rx271_pos, 1
+    substr rx271_tgt, rx271_tgt, rx271_off
+  rx271_start:
+    eq $I10, 1, rx271_restart
+    rx271_cur."!cursor_debug"("START ", "metachar:sym<bs>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan276_done
-    goto rxscan276_scan
-  rxscan276_loop:
-    ($P10) = rx272_cur."from"()
+    ne $I10, -1, rxscan275_done
+    goto rxscan275_scan
+  rxscan275_loop:
+    ($P10) = rx271_cur."from"()
     inc $P10
-    set rx272_pos, $P10
-    ge rx272_pos, rx272_eos, rxscan276_done
-  rxscan276_scan:
-    set_addr $I10, rxscan276_loop
-    rx272_cur."!mark_push"(0, rx272_pos, $I10)
-  rxscan276_done:
+    set rx271_pos, $P10
+    ge rx271_pos, rx271_eos, rxscan275_done
+  rxscan275_scan:
+    set_addr $I10, rxscan275_loop
+    rx271_cur."!mark_push"(0, rx271_pos, $I10)
+  rxscan275_done:
 .annotate 'line', 90
   # rx literal  "\\"
-    add $I11, rx272_pos, 1
-    gt $I11, rx272_eos, rx272_fail
-    sub $I11, rx272_pos, rx272_off
-    substr $S10, rx272_tgt, $I11, 1
-    ne $S10, "\\", rx272_fail
-    add rx272_pos, 1
+    add $I11, rx271_pos, 1
+    gt $I11, rx271_eos, rx271_fail
+    sub $I11, rx271_pos, rx271_off
+    substr $S10, rx271_tgt, $I11, 1
+    ne $S10, "\\", rx271_fail
+    add rx271_pos, 1
   # rx subrule "backslash" subtype=capture negate=
-    rx272_cur."!cursor_pos"(rx272_pos)
-    $P10 = rx272_cur."backslash"()
-    unless $P10, rx272_fail
-    rx272_cur."!mark_push"(0, -1, 0, $P10)
+    rx271_cur."!cursor_pos"(rx271_pos)
+    $P10 = rx271_cur."backslash"()
+    unless $P10, rx271_fail
+    rx271_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("backslash")
-    rx272_pos = $P10."pos"()
+    rx271_pos = $P10."pos"()
   # rx pass
-    rx272_cur."!cursor_pass"(rx272_pos, "metachar:sym<bs>")
-    rx272_cur."!cursor_debug"("PASS  ", "metachar:sym<bs>", " at pos=", rx272_pos)
-    .return (rx272_cur)
-  rx272_restart:
+    rx271_cur."!cursor_pass"(rx271_pos, "metachar:sym<bs>")
+    rx271_cur."!cursor_debug"("PASS  ", "metachar:sym<bs>", " at pos=", rx271_pos)
+    .return (rx271_cur)
+  rx271_restart:
 .annotate 'line', 3
-    rx272_cur."!cursor_debug"("NEXT ", "metachar:sym<bs>")
-  rx272_fail:
-    (rx272_rep, rx272_pos, $I10, $P10) = rx272_cur."!mark_fail"(0)
-    lt rx272_pos, -1, rx272_done
-    eq rx272_pos, -1, rx272_fail
+    rx271_cur."!cursor_debug"("NEXT ", "metachar:sym<bs>")
+  rx271_fail:
+    (rx271_rep, rx271_pos, $I10, $P10) = rx271_cur."!mark_fail"(0)
+    lt rx271_pos, -1, rx271_done
+    eq rx271_pos, -1, rx271_fail
     jump $I10
-  rx272_done:
-    rx272_cur."!cursor_fail"()
-    rx272_cur."!cursor_debug"("FAIL  ", "metachar:sym<bs>")
-    .return (rx272_cur)
+  rx271_done:
+    rx271_cur."!cursor_fail"()
+    rx271_cur."!cursor_debug"("FAIL  ", "metachar:sym<bs>")
+    .return (rx271_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<bs>"  :subid("80_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<bs>"  :subid("80_1280467470.54449") :method
 .annotate 'line', 3
-    $P274 = self."!PREFIX__!subrule"("backslash", "\\")
-    new $P275, "ResizablePMCArray"
-    push $P275, $P274
-    .return ($P275)
+    $P273 = self."!PREFIX__!subrule"("backslash", "\\")
+    new $P274, "ResizablePMCArray"
+    push $P274, $P273
+    .return ($P274)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<mod>"  :subid("81_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<mod>"  :subid("81_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx278_tgt
-    .local int rx278_pos
-    .local int rx278_off
-    .local int rx278_eos
-    .local int rx278_rep
-    .local pmc rx278_cur
-    (rx278_cur, rx278_pos, rx278_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx278_cur
+    .local string rx277_tgt
+    .local int rx277_pos
+    .local int rx277_off
+    .local int rx277_eos
+    .local int rx277_rep
+    .local pmc rx277_cur
+    (rx277_cur, rx277_pos, rx277_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx277_cur
     .local pmc match
     .lex "$/", match
-    length rx278_eos, rx278_tgt
-    gt rx278_pos, rx278_eos, rx278_done
-    set rx278_off, 0
-    lt rx278_pos, 2, rx278_start
-    sub rx278_off, rx278_pos, 1
-    substr rx278_tgt, rx278_tgt, rx278_off
-  rx278_start:
-    eq $I10, 1, rx278_restart
-    rx278_cur."!cursor_debug"("START ", "metachar:sym<mod>")
+    length rx277_eos, rx277_tgt
+    gt rx277_pos, rx277_eos, rx277_done
+    set rx277_off, 0
+    lt rx277_pos, 2, rx277_start
+    sub rx277_off, rx277_pos, 1
+    substr rx277_tgt, rx277_tgt, rx277_off
+  rx277_start:
+    eq $I10, 1, rx277_restart
+    rx277_cur."!cursor_debug"("START ", "metachar:sym<mod>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan282_done
-    goto rxscan282_scan
-  rxscan282_loop:
-    ($P10) = rx278_cur."from"()
+    ne $I10, -1, rxscan281_done
+    goto rxscan281_scan
+  rxscan281_loop:
+    ($P10) = rx277_cur."from"()
     inc $P10
-    set rx278_pos, $P10
-    ge rx278_pos, rx278_eos, rxscan282_done
-  rxscan282_scan:
-    set_addr $I10, rxscan282_loop
-    rx278_cur."!mark_push"(0, rx278_pos, $I10)
-  rxscan282_done:
+    set rx277_pos, $P10
+    ge rx277_pos, rx277_eos, rxscan281_done
+  rxscan281_scan:
+    set_addr $I10, rxscan281_loop
+    rx277_cur."!mark_push"(0, rx277_pos, $I10)
+  rxscan281_done:
 .annotate 'line', 91
   # rx subrule "mod_internal" subtype=capture negate=
-    rx278_cur."!cursor_pos"(rx278_pos)
-    $P10 = rx278_cur."mod_internal"()
-    unless $P10, rx278_fail
-    rx278_cur."!mark_push"(0, -1, 0, $P10)
+    rx277_cur."!cursor_pos"(rx277_pos)
+    $P10 = rx277_cur."mod_internal"()
+    unless $P10, rx277_fail
+    rx277_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("mod_internal")
-    rx278_pos = $P10."pos"()
+    rx277_pos = $P10."pos"()
   # rx pass
-    rx278_cur."!cursor_pass"(rx278_pos, "metachar:sym<mod>")
-    rx278_cur."!cursor_debug"("PASS  ", "metachar:sym<mod>", " at pos=", rx278_pos)
-    .return (rx278_cur)
-  rx278_restart:
+    rx277_cur."!cursor_pass"(rx277_pos, "metachar:sym<mod>")
+    rx277_cur."!cursor_debug"("PASS  ", "metachar:sym<mod>", " at pos=", rx277_pos)
+    .return (rx277_cur)
+  rx277_restart:
 .annotate 'line', 3
-    rx278_cur."!cursor_debug"("NEXT ", "metachar:sym<mod>")
-  rx278_fail:
-    (rx278_rep, rx278_pos, $I10, $P10) = rx278_cur."!mark_fail"(0)
-    lt rx278_pos, -1, rx278_done
-    eq rx278_pos, -1, rx278_fail
+    rx277_cur."!cursor_debug"("NEXT ", "metachar:sym<mod>")
+  rx277_fail:
+    (rx277_rep, rx277_pos, $I10, $P10) = rx277_cur."!mark_fail"(0)
+    lt rx277_pos, -1, rx277_done
+    eq rx277_pos, -1, rx277_fail
     jump $I10
-  rx278_done:
-    rx278_cur."!cursor_fail"()
-    rx278_cur."!cursor_debug"("FAIL  ", "metachar:sym<mod>")
-    .return (rx278_cur)
+  rx277_done:
+    rx277_cur."!cursor_fail"()
+    rx277_cur."!cursor_debug"("FAIL  ", "metachar:sym<mod>")
+    .return (rx277_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<mod>"  :subid("82_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<mod>"  :subid("82_1280467470.54449") :method
 .annotate 'line', 3
-    $P280 = self."!PREFIX__!subrule"("mod_internal", "")
-    new $P281, "ResizablePMCArray"
-    push $P281, $P280
-    .return ($P281)
+    $P279 = self."!PREFIX__!subrule"("mod_internal", "")
+    new $P280, "ResizablePMCArray"
+    push $P280, $P279
+    .return ($P280)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<~>"  :subid("83_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<~>"  :subid("83_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx284_tgt
-    .local int rx284_pos
-    .local int rx284_off
-    .local int rx284_eos
-    .local int rx284_rep
-    .local pmc rx284_cur
-    (rx284_cur, rx284_pos, rx284_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx284_cur
-    .local pmc match
-    .lex "$/", match
-    length rx284_eos, rx284_tgt
-    gt rx284_pos, rx284_eos, rx284_done
-    set rx284_off, 0
-    lt rx284_pos, 2, rx284_start
-    sub rx284_off, rx284_pos, 1
-    substr rx284_tgt, rx284_tgt, rx284_off
-  rx284_start:
-    eq $I10, 1, rx284_restart
-    rx284_cur."!cursor_debug"("START ", "metachar:sym<~>")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan288_done
-    goto rxscan288_scan
-  rxscan288_loop:
-    ($P10) = rx284_cur."from"()
-    inc $P10
-    set rx284_pos, $P10
-    ge rx284_pos, rx284_eos, rxscan288_done
-  rxscan288_scan:
-    set_addr $I10, rxscan288_loop
-    rx284_cur."!mark_push"(0, rx284_pos, $I10)
-  rxscan288_done:
+    .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, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx283_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:
+    eq $I10, 1, rx283_restart
+    rx283_cur."!cursor_debug"("START ", "metachar:sym<~>")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan287_done
+    goto rxscan287_scan
+  rxscan287_loop:
+    ($P10) = rx283_cur."from"()
+    inc $P10
+    set rx283_pos, $P10
+    ge rx283_pos, rx283_eos, rxscan287_done
+  rxscan287_scan:
+    set_addr $I10, rxscan287_loop
+    rx283_cur."!mark_push"(0, rx283_pos, $I10)
+  rxscan287_done:
 .annotate 'line', 95
   # rx subcapture "sym"
-    set_addr $I10, rxcap_289_fail
-    rx284_cur."!mark_push"(0, rx284_pos, $I10)
+    set_addr $I10, rxcap_288_fail
+    rx283_cur."!mark_push"(0, rx283_pos, $I10)
   # rx literal  "~"
-    add $I11, rx284_pos, 1
-    gt $I11, rx284_eos, rx284_fail
-    sub $I11, rx284_pos, rx284_off
-    substr $S10, rx284_tgt, $I11, 1
-    ne $S10, "~", rx284_fail
-    add rx284_pos, 1
-    set_addr $I10, rxcap_289_fail
-    ($I12, $I11) = rx284_cur."!mark_peek"($I10)
-    rx284_cur."!cursor_pos"($I11)
-    ($P10) = rx284_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx284_pos, "")
-    rx284_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx283_pos, 1
+    gt $I11, rx283_eos, rx283_fail
+    sub $I11, rx283_pos, rx283_off
+    substr $S10, rx283_tgt, $I11, 1
+    ne $S10, "~", rx283_fail
+    add rx283_pos, 1
+    set_addr $I10, rxcap_288_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)
     $P10."!cursor_names"("sym")
-    goto rxcap_289_done
-  rxcap_289_fail:
-    goto rx284_fail
-  rxcap_289_done:
+    goto rxcap_288_done
+  rxcap_288_fail:
+    goto rx283_fail
+  rxcap_288_done:
 .annotate 'line', 96
   # rx subrule "ws" subtype=method negate=
-    rx284_cur."!cursor_pos"(rx284_pos)
-    $P10 = rx284_cur."ws"()
-    unless $P10, rx284_fail
-    rx284_pos = $P10."pos"()
+    rx283_cur."!cursor_pos"(rx283_pos)
+    $P10 = rx283_cur."ws"()
+    unless $P10, rx283_fail
+    rx283_pos = $P10."pos"()
   # rx subrule "quantified_atom" subtype=capture negate=
-    rx284_cur."!cursor_pos"(rx284_pos)
-    $P10 = rx284_cur."quantified_atom"()
-    unless $P10, rx284_fail
-    rx284_cur."!mark_push"(0, -1, 0, $P10)
+    rx283_cur."!cursor_pos"(rx283_pos)
+    $P10 = rx283_cur."quantified_atom"()
+    unless $P10, rx283_fail
+    rx283_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("GOAL")
-    rx284_pos = $P10."pos"()
+    rx283_pos = $P10."pos"()
 .annotate 'line', 97
   # rx subrule "ws" subtype=method negate=
-    rx284_cur."!cursor_pos"(rx284_pos)
-    $P10 = rx284_cur."ws"()
-    unless $P10, rx284_fail
-    rx284_pos = $P10."pos"()
+    rx283_cur."!cursor_pos"(rx283_pos)
+    $P10 = rx283_cur."ws"()
+    unless $P10, rx283_fail
+    rx283_pos = $P10."pos"()
   # rx subrule "quantified_atom" subtype=capture negate=
-    rx284_cur."!cursor_pos"(rx284_pos)
-    $P10 = rx284_cur."quantified_atom"()
-    unless $P10, rx284_fail
-    rx284_cur."!mark_push"(0, -1, 0, $P10)
+    rx283_cur."!cursor_pos"(rx283_pos)
+    $P10 = rx283_cur."quantified_atom"()
+    unless $P10, rx283_fail
+    rx283_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("EXPR")
-    rx284_pos = $P10."pos"()
+    rx283_pos = $P10."pos"()
 .annotate 'line', 94
   # rx pass
-    rx284_cur."!cursor_pass"(rx284_pos, "metachar:sym<~>")
-    rx284_cur."!cursor_debug"("PASS  ", "metachar:sym<~>", " at pos=", rx284_pos)
-    .return (rx284_cur)
-  rx284_restart:
+    rx283_cur."!cursor_pass"(rx283_pos, "metachar:sym<~>")
+    rx283_cur."!cursor_debug"("PASS  ", "metachar:sym<~>", " at pos=", rx283_pos)
+    .return (rx283_cur)
+  rx283_restart:
 .annotate 'line', 3
-    rx284_cur."!cursor_debug"("NEXT ", "metachar:sym<~>")
-  rx284_fail:
-    (rx284_rep, rx284_pos, $I10, $P10) = rx284_cur."!mark_fail"(0)
-    lt rx284_pos, -1, rx284_done
-    eq rx284_pos, -1, rx284_fail
+    rx283_cur."!cursor_debug"("NEXT ", "metachar:sym<~>")
+  rx283_fail:
+    (rx283_rep, rx283_pos, $I10, $P10) = rx283_cur."!mark_fail"(0)
+    lt rx283_pos, -1, rx283_done
+    eq rx283_pos, -1, rx283_fail
     jump $I10
-  rx284_done:
-    rx284_cur."!cursor_fail"()
-    rx284_cur."!cursor_debug"("FAIL  ", "metachar:sym<~>")
-    .return (rx284_cur)
+  rx283_done:
+    rx283_cur."!cursor_fail"()
+    rx283_cur."!cursor_debug"("FAIL  ", "metachar:sym<~>")
+    .return (rx283_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<~>"  :subid("84_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<~>"  :subid("84_1280467470.54449") :method
 .annotate 'line', 3
-    $P286 = self."!PREFIX__!subrule"("ws", "~")
-    new $P287, "ResizablePMCArray"
-    push $P287, $P286
-    .return ($P287)
+    $P285 = self."!PREFIX__!subrule"("ws", "~")
+    new $P286, "ResizablePMCArray"
+    push $P286, $P285
+    .return ($P286)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<{*}>"  :subid("85_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<{*}>"  :subid("85_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx291_tgt
-    .local int rx291_pos
-    .local int rx291_off
-    .local int rx291_eos
-    .local int rx291_rep
-    .local pmc rx291_cur
-    (rx291_cur, rx291_pos, rx291_tgt, $I10) = self."!cursor_start"()
-    rx291_cur."!cursor_caparray"("key")
-    .lex unicode:"$\x{a2}", rx291_cur
+    .local string rx290_tgt
+    .local int rx290_pos
+    .local int rx290_off
+    .local int rx290_eos
+    .local int rx290_rep
+    .local pmc rx290_cur
+    (rx290_cur, rx290_pos, rx290_tgt, $I10) = self."!cursor_start"()
+    rx290_cur."!cursor_caparray"("key")
+    .lex unicode:"$\x{a2}", rx290_cur
     .local pmc match
     .lex "$/", match
-    length rx291_eos, rx291_tgt
-    gt rx291_pos, rx291_eos, rx291_done
-    set rx291_off, 0
-    lt rx291_pos, 2, rx291_start
-    sub rx291_off, rx291_pos, 1
-    substr rx291_tgt, rx291_tgt, rx291_off
-  rx291_start:
-    eq $I10, 1, rx291_restart
-    rx291_cur."!cursor_debug"("START ", "metachar:sym<{*}>")
+    length rx290_eos, rx290_tgt
+    gt rx290_pos, rx290_eos, rx290_done
+    set rx290_off, 0
+    lt rx290_pos, 2, rx290_start
+    sub rx290_off, rx290_pos, 1
+    substr rx290_tgt, rx290_tgt, rx290_off
+  rx290_start:
+    eq $I10, 1, rx290_restart
+    rx290_cur."!cursor_debug"("START ", "metachar:sym<{*}>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan294_done
-    goto rxscan294_scan
-  rxscan294_loop:
-    ($P10) = rx291_cur."from"()
+    ne $I10, -1, rxscan293_done
+    goto rxscan293_scan
+  rxscan293_loop:
+    ($P10) = rx290_cur."from"()
     inc $P10
-    set rx291_pos, $P10
-    ge rx291_pos, rx291_eos, rxscan294_done
-  rxscan294_scan:
-    set_addr $I10, rxscan294_loop
-    rx291_cur."!mark_push"(0, rx291_pos, $I10)
-  rxscan294_done:
+    set rx290_pos, $P10
+    ge rx290_pos, rx290_eos, rxscan293_done
+  rxscan293_scan:
+    set_addr $I10, rxscan293_loop
+    rx290_cur."!mark_push"(0, rx290_pos, $I10)
+  rxscan293_done:
 .annotate 'line', 101
   # rx subcapture "sym"
-    set_addr $I10, rxcap_295_fail
-    rx291_cur."!mark_push"(0, rx291_pos, $I10)
+    set_addr $I10, rxcap_294_fail
+    rx290_cur."!mark_push"(0, rx290_pos, $I10)
   # rx literal  "{*}"
-    add $I11, rx291_pos, 3
-    gt $I11, rx291_eos, rx291_fail
-    sub $I11, rx291_pos, rx291_off
-    substr $S10, rx291_tgt, $I11, 3
-    ne $S10, "{*}", rx291_fail
-    add rx291_pos, 3
-    set_addr $I10, rxcap_295_fail
-    ($I12, $I11) = rx291_cur."!mark_peek"($I10)
-    rx291_cur."!cursor_pos"($I11)
-    ($P10) = rx291_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx291_pos, "")
-    rx291_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx290_pos, 3
+    gt $I11, rx290_eos, rx290_fail
+    sub $I11, rx290_pos, rx290_off
+    substr $S10, rx290_tgt, $I11, 3
+    ne $S10, "{*}", rx290_fail
+    add rx290_pos, 3
+    set_addr $I10, rxcap_294_fail
+    ($I12, $I11) = rx290_cur."!mark_peek"($I10)
+    rx290_cur."!cursor_pos"($I11)
+    ($P10) = rx290_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx290_pos, "")
+    rx290_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_295_done
-  rxcap_295_fail:
-    goto rx291_fail
-  rxcap_295_done:
+    goto rxcap_294_done
+  rxcap_294_fail:
+    goto rx290_fail
+  rxcap_294_done:
 .annotate 'line', 102
-  # rx rxquantr296 ** 0..1
+  # rx rxquantr295 ** 0..1
+    set_addr $I10, rxquantr295_done
+    rx290_cur."!mark_push"(0, rx290_pos, $I10)
+  rxquantr295_loop:
+  # rx rxquantr296 ** 0..*
     set_addr $I10, rxquantr296_done
-    rx291_cur."!mark_push"(0, rx291_pos, $I10)
+    rx290_cur."!mark_push"(0, rx290_pos, $I10)
   rxquantr296_loop:
+  # rx enumcharlist negate=0 
+    ge rx290_pos, rx290_eos, rx290_fail
+    sub $I10, rx290_pos, rx290_off
+    substr $S10, rx290_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, rx290_fail
+    inc rx290_pos
+    set_addr $I10, rxquantr296_done
+    (rx290_rep) = rx290_cur."!mark_commit"($I10)
+    set_addr $I10, rxquantr296_done
+    rx290_cur."!mark_push"(rx290_rep, rx290_pos, $I10)
+    goto rxquantr296_loop
+  rxquantr296_done:
+  # rx literal  "#= "
+    add $I11, rx290_pos, 3
+    gt $I11, rx290_eos, rx290_fail
+    sub $I11, rx290_pos, rx290_off
+    substr $S10, rx290_tgt, $I11, 3
+    ne $S10, "#= ", rx290_fail
+    add rx290_pos, 3
   # rx rxquantr297 ** 0..*
     set_addr $I10, rxquantr297_done
-    rx291_cur."!mark_push"(0, rx291_pos, $I10)
+    rx290_cur."!mark_push"(0, rx290_pos, $I10)
   rxquantr297_loop:
   # rx enumcharlist negate=0 
-    ge rx291_pos, rx291_eos, rx291_fail
-    sub $I10, rx291_pos, rx291_off
-    substr $S10, rx291_tgt, $I10, 1
+    ge rx290_pos, rx290_eos, rx290_fail
+    sub $I10, rx290_pos, rx290_off
+    substr $S10, rx290_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, rx291_fail
-    inc rx291_pos
+    lt $I11, 0, rx290_fail
+    inc rx290_pos
     set_addr $I10, rxquantr297_done
-    (rx291_rep) = rx291_cur."!mark_commit"($I10)
+    (rx290_rep) = rx290_cur."!mark_commit"($I10)
     set_addr $I10, rxquantr297_done
-    rx291_cur."!mark_push"(rx291_rep, rx291_pos, $I10)
+    rx290_cur."!mark_push"(rx290_rep, rx290_pos, $I10)
     goto rxquantr297_loop
   rxquantr297_done:
-  # rx literal  "#= "
-    add $I11, rx291_pos, 3
-    gt $I11, rx291_eos, rx291_fail
-    sub $I11, rx291_pos, rx291_off
-    substr $S10, rx291_tgt, $I11, 3
-    ne $S10, "#= ", rx291_fail
-    add rx291_pos, 3
-  # rx rxquantr298 ** 0..*
-    set_addr $I10, rxquantr298_done
-    rx291_cur."!mark_push"(0, rx291_pos, $I10)
-  rxquantr298_loop:
-  # rx enumcharlist negate=0 
-    ge rx291_pos, rx291_eos, rx291_fail
-    sub $I10, rx291_pos, rx291_off
-    substr $S10, rx291_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, rx291_fail
-    inc rx291_pos
-    set_addr $I10, rxquantr298_done
-    (rx291_rep) = rx291_cur."!mark_commit"($I10)
-    set_addr $I10, rxquantr298_done
-    rx291_cur."!mark_push"(rx291_rep, rx291_pos, $I10)
-    goto rxquantr298_loop
-  rxquantr298_done:
   # rx subcapture "key"
-    set_addr $I10, rxcap_301_fail
-    rx291_cur."!mark_push"(0, rx291_pos, $I10)
+    set_addr $I10, rxcap_300_fail
+    rx290_cur."!mark_push"(0, rx290_pos, $I10)
   # rx charclass_q S r 1..-1
-    sub $I10, rx291_pos, rx291_off
-    find_cclass $I11, 32, rx291_tgt, $I10, rx291_eos
+    sub $I10, rx290_pos, rx290_off
+    find_cclass $I11, 32, rx290_tgt, $I10, rx290_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx291_fail
-    add rx291_pos, rx291_off, $I11
-  # rx rxquantr299 ** 0..*
+    lt $I11, $I12, rx290_fail
+    add rx290_pos, rx290_off, $I11
+  # rx rxquantr298 ** 0..*
+    set_addr $I10, rxquantr298_done
+    rx290_cur."!mark_push"(0, rx290_pos, $I10)
+  rxquantr298_loop:
+  # rx rxquantr299 ** 1..*
     set_addr $I10, rxquantr299_done
-    rx291_cur."!mark_push"(0, rx291_pos, $I10)
+    rx290_cur."!mark_push"(0, -1, $I10)
   rxquantr299_loop:
-  # rx rxquantr300 ** 1..*
-    set_addr $I10, rxquantr300_done
-    rx291_cur."!mark_push"(0, -1, $I10)
-  rxquantr300_loop:
   # rx enumcharlist negate=0 
-    ge rx291_pos, rx291_eos, rx291_fail
-    sub $I10, rx291_pos, rx291_off
-    substr $S10, rx291_tgt, $I10, 1
+    ge rx290_pos, rx290_eos, rx290_fail
+    sub $I10, rx290_pos, rx290_off
+    substr $S10, rx290_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, rx291_fail
-    inc rx291_pos
-    set_addr $I10, rxquantr300_done
-    (rx291_rep) = rx291_cur."!mark_commit"($I10)
-    set_addr $I10, rxquantr300_done
-    rx291_cur."!mark_push"(rx291_rep, rx291_pos, $I10)
-    goto rxquantr300_loop
-  rxquantr300_done:
-  # rx charclass_q S r 1..-1
-    sub $I10, rx291_pos, rx291_off
-    find_cclass $I11, 32, rx291_tgt, $I10, rx291_eos
-    add $I12, $I10, 1
-    lt $I11, $I12, rx291_fail
-    add rx291_pos, rx291_off, $I11
+    lt $I11, 0, rx290_fail
+    inc rx290_pos
     set_addr $I10, rxquantr299_done
-    (rx291_rep) = rx291_cur."!mark_commit"($I10)
+    (rx290_rep) = rx290_cur."!mark_commit"($I10)
     set_addr $I10, rxquantr299_done
-    rx291_cur."!mark_push"(rx291_rep, rx291_pos, $I10)
+    rx290_cur."!mark_push"(rx290_rep, rx290_pos, $I10)
     goto rxquantr299_loop
   rxquantr299_done:
-    set_addr $I10, rxcap_301_fail
-    ($I12, $I11) = rx291_cur."!mark_peek"($I10)
-    rx291_cur."!cursor_pos"($I11)
-    ($P10) = rx291_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx291_pos, "")
-    rx291_cur."!mark_push"(0, -1, 0, $P10)
+  # rx charclass_q S r 1..-1
+    sub $I10, rx290_pos, rx290_off
+    find_cclass $I11, 32, rx290_tgt, $I10, rx290_eos
+    add $I12, $I10, 1
+    lt $I11, $I12, rx290_fail
+    add rx290_pos, rx290_off, $I11
+    set_addr $I10, rxquantr298_done
+    (rx290_rep) = rx290_cur."!mark_commit"($I10)
+    set_addr $I10, rxquantr298_done
+    rx290_cur."!mark_push"(rx290_rep, rx290_pos, $I10)
+    goto rxquantr298_loop
+  rxquantr298_done:
+    set_addr $I10, rxcap_300_fail
+    ($I12, $I11) = rx290_cur."!mark_peek"($I10)
+    rx290_cur."!cursor_pos"($I11)
+    ($P10) = rx290_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx290_pos, "")
+    rx290_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("key")
-    goto rxcap_301_done
-  rxcap_301_fail:
-    goto rx291_fail
-  rxcap_301_done:
-    set_addr $I10, rxquantr296_done
-    (rx291_rep) = rx291_cur."!mark_commit"($I10)
-  rxquantr296_done:
+    goto rxcap_300_done
+  rxcap_300_fail:
+    goto rx290_fail
+  rxcap_300_done:
+    set_addr $I10, rxquantr295_done
+    (rx290_rep) = rx290_cur."!mark_commit"($I10)
+  rxquantr295_done:
 .annotate 'line', 100
   # rx pass
-    rx291_cur."!cursor_pass"(rx291_pos, "metachar:sym<{*}>")
-    rx291_cur."!cursor_debug"("PASS  ", "metachar:sym<{*}>", " at pos=", rx291_pos)
-    .return (rx291_cur)
-  rx291_restart:
+    rx290_cur."!cursor_pass"(rx290_pos, "metachar:sym<{*}>")
+    rx290_cur."!cursor_debug"("PASS  ", "metachar:sym<{*}>", " at pos=", rx290_pos)
+    .return (rx290_cur)
+  rx290_restart:
 .annotate 'line', 3
-    rx291_cur."!cursor_debug"("NEXT ", "metachar:sym<{*}>")
-  rx291_fail:
-    (rx291_rep, rx291_pos, $I10, $P10) = rx291_cur."!mark_fail"(0)
-    lt rx291_pos, -1, rx291_done
-    eq rx291_pos, -1, rx291_fail
+    rx290_cur."!cursor_debug"("NEXT ", "metachar:sym<{*}>")
+  rx290_fail:
+    (rx290_rep, rx290_pos, $I10, $P10) = rx290_cur."!mark_fail"(0)
+    lt rx290_pos, -1, rx290_done
+    eq rx290_pos, -1, rx290_fail
     jump $I10
-  rx291_done:
-    rx291_cur."!cursor_fail"()
-    rx291_cur."!cursor_debug"("FAIL  ", "metachar:sym<{*}>")
-    .return (rx291_cur)
+  rx290_done:
+    rx290_cur."!cursor_fail"()
+    rx290_cur."!cursor_debug"("FAIL  ", "metachar:sym<{*}>")
+    .return (rx290_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<{*}>"  :subid("86_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<{*}>"  :subid("86_1280467470.54449") :method
 .annotate 'line', 3
-    new $P293, "ResizablePMCArray"
-    push $P293, "{*}"
-    .return ($P293)
+    new $P292, "ResizablePMCArray"
+    push $P292, "{*}"
+    .return ($P292)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<assert>"  :subid("87_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<assert>"  :subid("87_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .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, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx303_cur
+    .local string rx302_tgt
+    .local int rx302_pos
+    .local int rx302_off
+    .local int rx302_eos
+    .local int rx302_rep
+    .local pmc rx302_cur
+    (rx302_cur, rx302_pos, rx302_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx302_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:
-    eq $I10, 1, rx303_restart
-    rx303_cur."!cursor_debug"("START ", "metachar:sym<assert>")
+    length rx302_eos, rx302_tgt
+    gt rx302_pos, rx302_eos, rx302_done
+    set rx302_off, 0
+    lt rx302_pos, 2, rx302_start
+    sub rx302_off, rx302_pos, 1
+    substr rx302_tgt, rx302_tgt, rx302_off
+  rx302_start:
+    eq $I10, 1, rx302_restart
+    rx302_cur."!cursor_debug"("START ", "metachar:sym<assert>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan307_done
-    goto rxscan307_scan
-  rxscan307_loop:
-    ($P10) = rx303_cur."from"()
+    ne $I10, -1, rxscan306_done
+    goto rxscan306_scan
+  rxscan306_loop:
+    ($P10) = rx302_cur."from"()
     inc $P10
-    set rx303_pos, $P10
-    ge rx303_pos, rx303_eos, rxscan307_done
-  rxscan307_scan:
-    set_addr $I10, rxscan307_loop
-    rx303_cur."!mark_push"(0, rx303_pos, $I10)
-  rxscan307_done:
+    set rx302_pos, $P10
+    ge rx302_pos, rx302_eos, rxscan306_done
+  rxscan306_scan:
+    set_addr $I10, rxscan306_loop
+    rx302_cur."!mark_push"(0, rx302_pos, $I10)
+  rxscan306_done:
 .annotate 'line', 105
   # rx literal  "<"
-    add $I11, rx303_pos, 1
-    gt $I11, rx303_eos, rx303_fail
-    sub $I11, rx303_pos, rx303_off
-    substr $S10, rx303_tgt, $I11, 1
-    ne $S10, "<", rx303_fail
-    add rx303_pos, 1
+    add $I11, rx302_pos, 1
+    gt $I11, rx302_eos, rx302_fail
+    sub $I11, rx302_pos, rx302_off
+    substr $S10, rx302_tgt, $I11, 1
+    ne $S10, "<", rx302_fail
+    add rx302_pos, 1
   # rx subrule "assertion" subtype=capture negate=
-    rx303_cur."!cursor_pos"(rx303_pos)
-    $P10 = rx303_cur."assertion"()
-    unless $P10, rx303_fail
-    rx303_cur."!mark_push"(0, -1, 0, $P10)
+    rx302_cur."!cursor_pos"(rx302_pos)
+    $P10 = rx302_cur."assertion"()
+    unless $P10, rx302_fail
+    rx302_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx303_pos = $P10."pos"()
-  alt308_0:
+    rx302_pos = $P10."pos"()
+  alt307_0:
 .annotate 'line', 106
-    set_addr $I10, alt308_1
-    rx303_cur."!mark_push"(0, rx303_pos, $I10)
+    set_addr $I10, alt307_1
+    rx302_cur."!mark_push"(0, rx302_pos, $I10)
   # rx literal  ">"
-    add $I11, rx303_pos, 1
-    gt $I11, rx303_eos, rx303_fail
-    sub $I11, rx303_pos, rx303_off
-    substr $S10, rx303_tgt, $I11, 1
-    ne $S10, ">", rx303_fail
-    add rx303_pos, 1
-    goto alt308_end
-  alt308_1:
+    add $I11, rx302_pos, 1
+    gt $I11, rx302_eos, rx302_fail
+    sub $I11, rx302_pos, rx302_off
+    substr $S10, rx302_tgt, $I11, 1
+    ne $S10, ">", rx302_fail
+    add rx302_pos, 1
+    goto alt307_end
+  alt307_1:
   # rx subrule "panic" subtype=method negate=
-    rx303_cur."!cursor_pos"(rx303_pos)
-    $P10 = rx303_cur."panic"("regex assertion not terminated by angle bracket")
-    unless $P10, rx303_fail
-    rx303_pos = $P10."pos"()
-  alt308_end:
+    rx302_cur."!cursor_pos"(rx302_pos)
+    $P10 = rx302_cur."panic"("regex assertion not terminated by angle bracket")
+    unless $P10, rx302_fail
+    rx302_pos = $P10."pos"()
+  alt307_end:
 .annotate 'line', 104
   # rx pass
-    rx303_cur."!cursor_pass"(rx303_pos, "metachar:sym<assert>")
-    rx303_cur."!cursor_debug"("PASS  ", "metachar:sym<assert>", " at pos=", rx303_pos)
-    .return (rx303_cur)
-  rx303_restart:
+    rx302_cur."!cursor_pass"(rx302_pos, "metachar:sym<assert>")
+    rx302_cur."!cursor_debug"("PASS  ", "metachar:sym<assert>", " at pos=", rx302_pos)
+    .return (rx302_cur)
+  rx302_restart:
 .annotate 'line', 3
-    rx303_cur."!cursor_debug"("NEXT ", "metachar:sym<assert>")
-  rx303_fail:
-    (rx303_rep, rx303_pos, $I10, $P10) = rx303_cur."!mark_fail"(0)
-    lt rx303_pos, -1, rx303_done
-    eq rx303_pos, -1, rx303_fail
+    rx302_cur."!cursor_debug"("NEXT ", "metachar:sym<assert>")
+  rx302_fail:
+    (rx302_rep, rx302_pos, $I10, $P10) = rx302_cur."!mark_fail"(0)
+    lt rx302_pos, -1, rx302_done
+    eq rx302_pos, -1, rx302_fail
     jump $I10
-  rx303_done:
-    rx303_cur."!cursor_fail"()
-    rx303_cur."!cursor_debug"("FAIL  ", "metachar:sym<assert>")
-    .return (rx303_cur)
+  rx302_done:
+    rx302_cur."!cursor_fail"()
+    rx302_cur."!cursor_debug"("FAIL  ", "metachar:sym<assert>")
+    .return (rx302_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<assert>"  :subid("88_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<assert>"  :subid("88_1280467470.54449") :method
 .annotate 'line', 3
-    $P305 = self."!PREFIX__!subrule"("assertion", "<")
-    new $P306, "ResizablePMCArray"
-    push $P306, $P305
-    .return ($P306)
+    $P304 = self."!PREFIX__!subrule"("assertion", "<")
+    new $P305, "ResizablePMCArray"
+    push $P305, $P304
+    .return ($P305)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<var>"  :subid("89_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<var>"  :subid("89_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .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, $I10) = self."!cursor_start"()
-    rx310_cur."!cursor_caparray"("quantified_atom")
-    .lex unicode:"$\x{a2}", rx310_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:
-    eq $I10, 1, rx310_restart
-    rx310_cur."!cursor_debug"("START ", "metachar:sym<var>")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan313_done
-    goto rxscan313_scan
-  rxscan313_loop:
-    ($P10) = rx310_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:
-  alt314_0:
+    .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, $I10) = self."!cursor_start"()
+    rx309_cur."!cursor_caparray"("quantified_atom")
+    .lex unicode:"$\x{a2}", rx309_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:
+    eq $I10, 1, rx309_restart
+    rx309_cur."!cursor_debug"("START ", "metachar:sym<var>")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan312_done
+    goto rxscan312_scan
+  rxscan312_loop:
+    ($P10) = rx309_cur."from"()
+    inc $P10
+    set rx309_pos, $P10
+    ge rx309_pos, rx309_eos, rxscan312_done
+  rxscan312_scan:
+    set_addr $I10, rxscan312_loop
+    rx309_cur."!mark_push"(0, rx309_pos, $I10)
+  rxscan312_done:
+  alt313_0:
 .annotate 'line', 110
-    set_addr $I10, alt314_1
-    rx310_cur."!mark_push"(0, rx310_pos, $I10)
+    set_addr $I10, alt313_1
+    rx309_cur."!mark_push"(0, rx309_pos, $I10)
 .annotate 'line', 111
   # rx literal  "$<"
-    add $I11, rx310_pos, 2
-    gt $I11, rx310_eos, rx310_fail
-    sub $I11, rx310_pos, rx310_off
-    substr $S10, rx310_tgt, $I11, 2
-    ne $S10, "$<", rx310_fail
-    add rx310_pos, 2
+    add $I11, rx309_pos, 2
+    gt $I11, rx309_eos, rx309_fail
+    sub $I11, rx309_pos, rx309_off
+    substr $S10, rx309_tgt, $I11, 2
+    ne $S10, "$<", rx309_fail
+    add rx309_pos, 2
   # rx subcapture "name"
-    set_addr $I10, rxcap_316_fail
-    rx310_cur."!mark_push"(0, rx310_pos, $I10)
-  # rx rxquantr315 ** 1..*
-    set_addr $I10, rxquantr315_done
-    rx310_cur."!mark_push"(0, -1, $I10)
-  rxquantr315_loop:
+    set_addr $I10, rxcap_315_fail
+    rx309_cur."!mark_push"(0, rx309_pos, $I10)
+  # rx rxquantr314 ** 1..*
+    set_addr $I10, rxquantr314_done
+    rx309_cur."!mark_push"(0, -1, $I10)
+  rxquantr314_loop:
   # rx enumcharlist negate=1 
-    ge rx310_pos, rx310_eos, rx310_fail
-    sub $I10, rx310_pos, rx310_off
-    substr $S10, rx310_tgt, $I10, 1
+    ge rx309_pos, rx309_eos, rx309_fail
+    sub $I10, rx309_pos, rx309_off
+    substr $S10, rx309_tgt, $I10, 1
     index $I11, ">", $S10
-    ge $I11, 0, rx310_fail
-    inc rx310_pos
-    set_addr $I10, rxquantr315_done
-    (rx310_rep) = rx310_cur."!mark_commit"($I10)
-    set_addr $I10, rxquantr315_done
-    rx310_cur."!mark_push"(rx310_rep, rx310_pos, $I10)
-    goto rxquantr315_loop
-  rxquantr315_done:
-    set_addr $I10, rxcap_316_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)
+    ge $I11, 0, rx309_fail
+    inc rx309_pos
+    set_addr $I10, rxquantr314_done
+    (rx309_rep) = rx309_cur."!mark_commit"($I10)
+    set_addr $I10, rxquantr314_done
+    rx309_cur."!mark_push"(rx309_rep, rx309_pos, $I10)
+    goto rxquantr314_loop
+  rxquantr314_done:
+    set_addr $I10, rxcap_315_fail
+    ($I12, $I11) = rx309_cur."!mark_peek"($I10)
+    rx309_cur."!cursor_pos"($I11)
+    ($P10) = rx309_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx309_pos, "")
+    rx309_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    goto rxcap_316_done
-  rxcap_316_fail:
-    goto rx310_fail
-  rxcap_316_done:
+    goto rxcap_315_done
+  rxcap_315_fail:
+    goto rx309_fail
+  rxcap_315_done:
   # rx literal  ">"
-    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 alt314_end
-  alt314_1:
+    add $I11, rx309_pos, 1
+    gt $I11, rx309_eos, rx309_fail
+    sub $I11, rx309_pos, rx309_off
+    substr $S10, rx309_tgt, $I11, 1
+    ne $S10, ">", rx309_fail
+    add rx309_pos, 1
+    goto alt313_end
+  alt313_1:
 .annotate 'line', 112
   # rx literal  "$"
-    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
+    add $I11, rx309_pos, 1
+    gt $I11, rx309_eos, rx309_fail
+    sub $I11, rx309_pos, rx309_off
+    substr $S10, rx309_tgt, $I11, 1
+    ne $S10, "$", rx309_fail
+    add rx309_pos, 1
   # rx subcapture "pos"
-    set_addr $I10, rxcap_317_fail
-    rx310_cur."!mark_push"(0, rx310_pos, $I10)
+    set_addr $I10, rxcap_316_fail
+    rx309_cur."!mark_push"(0, rx309_pos, $I10)
   # rx charclass_q d r 1..-1
-    sub $I10, rx310_pos, rx310_off
-    find_not_cclass $I11, 8, rx310_tgt, $I10, rx310_eos
+    sub $I10, rx309_pos, rx309_off
+    find_not_cclass $I11, 8, rx309_tgt, $I10, rx309_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx310_fail
-    add rx310_pos, rx310_off, $I11
-    set_addr $I10, rxcap_317_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)
+    lt $I11, $I12, rx309_fail
+    add rx309_pos, rx309_off, $I11
+    set_addr $I10, rxcap_316_fail
+    ($I12, $I11) = rx309_cur."!mark_peek"($I10)
+    rx309_cur."!cursor_pos"($I11)
+    ($P10) = rx309_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx309_pos, "")
+    rx309_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pos")
-    goto rxcap_317_done
-  rxcap_317_fail:
-    goto rx310_fail
-  rxcap_317_done:
-  alt314_end:
+    goto rxcap_316_done
+  rxcap_316_fail:
+    goto rx309_fail
+  rxcap_316_done:
+  alt313_end:
 .annotate 'line', 115
-  # rx rxquantr318 ** 0..1
-    set_addr $I10, rxquantr318_done
-    rx310_cur."!mark_push"(0, rx310_pos, $I10)
-  rxquantr318_loop:
+  # rx rxquantr317 ** 0..1
+    set_addr $I10, rxquantr317_done
+    rx309_cur."!mark_push"(0, rx309_pos, $I10)
+  rxquantr317_loop:
   # rx subrule "ws" subtype=method negate=
-    rx310_cur."!cursor_pos"(rx310_pos)
-    $P10 = rx310_cur."ws"()
-    unless $P10, rx310_fail
-    rx310_pos = $P10."pos"()
+    rx309_cur."!cursor_pos"(rx309_pos)
+    $P10 = rx309_cur."ws"()
+    unless $P10, rx309_fail
+    rx309_pos = $P10."pos"()
   # rx literal  "="
-    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
+    add $I11, rx309_pos, 1
+    gt $I11, rx309_eos, rx309_fail
+    sub $I11, rx309_pos, rx309_off
+    substr $S10, rx309_tgt, $I11, 1
+    ne $S10, "=", rx309_fail
+    add rx309_pos, 1
   # rx subrule "ws" subtype=method negate=
-    rx310_cur."!cursor_pos"(rx310_pos)
-    $P10 = rx310_cur."ws"()
-    unless $P10, rx310_fail
-    rx310_pos = $P10."pos"()
+    rx309_cur."!cursor_pos"(rx309_pos)
+    $P10 = rx309_cur."ws"()
+    unless $P10, rx309_fail
+    rx309_pos = $P10."pos"()
   # rx subrule "quantified_atom" subtype=capture negate=
-    rx310_cur."!cursor_pos"(rx310_pos)
-    $P10 = rx310_cur."quantified_atom"()
-    unless $P10, rx310_fail
-    rx310_cur."!mark_push"(0, -1, 0, $P10)
+    rx309_cur."!cursor_pos"(rx309_pos)
+    $P10 = rx309_cur."quantified_atom"()
+    unless $P10, rx309_fail
+    rx309_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("quantified_atom")
-    rx310_pos = $P10."pos"()
-    set_addr $I10, rxquantr318_done
-    (rx310_rep) = rx310_cur."!mark_commit"($I10)
-  rxquantr318_done:
+    rx309_pos = $P10."pos"()
+    set_addr $I10, rxquantr317_done
+    (rx309_rep) = rx309_cur."!mark_commit"($I10)
+  rxquantr317_done:
 .annotate 'line', 109
   # rx pass
-    rx310_cur."!cursor_pass"(rx310_pos, "metachar:sym<var>")
-    rx310_cur."!cursor_debug"("PASS  ", "metachar:sym<var>", " at pos=", rx310_pos)
-    .return (rx310_cur)
-  rx310_restart:
+    rx309_cur."!cursor_pass"(rx309_pos, "metachar:sym<var>")
+    rx309_cur."!cursor_debug"("PASS  ", "metachar:sym<var>", " at pos=", rx309_pos)
+    .return (rx309_cur)
+  rx309_restart:
 .annotate 'line', 3
-    rx310_cur."!cursor_debug"("NEXT ", "metachar:sym<var>")
-  rx310_fail:
-    (rx310_rep, rx310_pos, $I10, $P10) = rx310_cur."!mark_fail"(0)
-    lt rx310_pos, -1, rx310_done
-    eq rx310_pos, -1, rx310_fail
+    rx309_cur."!cursor_debug"("NEXT ", "metachar:sym<var>")
+  rx309_fail:
+    (rx309_rep, rx309_pos, $I10, $P10) = rx309_cur."!mark_fail"(0)
+    lt rx309_pos, -1, rx309_done
+    eq rx309_pos, -1, rx309_fail
     jump $I10
-  rx310_done:
-    rx310_cur."!cursor_fail"()
-    rx310_cur."!cursor_debug"("FAIL  ", "metachar:sym<var>")
-    .return (rx310_cur)
+  rx309_done:
+    rx309_cur."!cursor_fail"()
+    rx309_cur."!cursor_debug"("FAIL  ", "metachar:sym<var>")
+    .return (rx309_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<var>"  :subid("90_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<var>"  :subid("90_1280467470.54449") :method
 .annotate 'line', 3
-    new $P312, "ResizablePMCArray"
-    push $P312, "$"
-    push $P312, "$<"
-    .return ($P312)
+    new $P311, "ResizablePMCArray"
+    push $P311, "$"
+    push $P311, "$<"
+    .return ($P311)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<PIR>"  :subid("91_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "metachar:sym<PIR>"  :subid("91_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx320_tgt
-    .local int rx320_pos
-    .local int rx320_off
-    .local int rx320_eos
-    .local int rx320_rep
-    .local pmc rx320_cur
-    (rx320_cur, rx320_pos, rx320_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx320_cur
+    .local string rx319_tgt
+    .local int rx319_pos
+    .local int rx319_off
+    .local int rx319_eos
+    .local int rx319_rep
+    .local pmc rx319_cur
+    (rx319_cur, rx319_pos, rx319_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx319_cur
     .local pmc match
     .lex "$/", match
-    length rx320_eos, rx320_tgt
-    gt rx320_pos, rx320_eos, rx320_done
-    set rx320_off, 0
-    lt rx320_pos, 2, rx320_start
-    sub rx320_off, rx320_pos, 1
-    substr rx320_tgt, rx320_tgt, rx320_off
-  rx320_start:
-    eq $I10, 1, rx320_restart
-    rx320_cur."!cursor_debug"("START ", "metachar:sym<PIR>")
+    length rx319_eos, rx319_tgt
+    gt rx319_pos, rx319_eos, rx319_done
+    set rx319_off, 0
+    lt rx319_pos, 2, rx319_start
+    sub rx319_off, rx319_pos, 1
+    substr rx319_tgt, rx319_tgt, rx319_off
+  rx319_start:
+    eq $I10, 1, rx319_restart
+    rx319_cur."!cursor_debug"("START ", "metachar:sym<PIR>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan323_done
-    goto rxscan323_scan
-  rxscan323_loop:
-    ($P10) = rx320_cur."from"()
+    ne $I10, -1, rxscan322_done
+    goto rxscan322_scan
+  rxscan322_loop:
+    ($P10) = rx319_cur."from"()
     inc $P10
-    set rx320_pos, $P10
-    ge rx320_pos, rx320_eos, rxscan323_done
-  rxscan323_scan:
-    set_addr $I10, rxscan323_loop
-    rx320_cur."!mark_push"(0, rx320_pos, $I10)
-  rxscan323_done:
+    set rx319_pos, $P10
+    ge rx319_pos, rx319_eos, rxscan322_done
+  rxscan322_scan:
+    set_addr $I10, rxscan322_loop
+    rx319_cur."!mark_push"(0, rx319_pos, $I10)
+  rxscan322_done:
 .annotate 'line', 119
   # rx literal  ":PIR{{"
-    add $I11, rx320_pos, 6
-    gt $I11, rx320_eos, rx320_fail
-    sub $I11, rx320_pos, rx320_off
-    substr $S10, rx320_tgt, $I11, 6
-    ne $S10, ":PIR{{", rx320_fail
-    add rx320_pos, 6
+    add $I11, rx319_pos, 6
+    gt $I11, rx319_eos, rx319_fail
+    sub $I11, rx319_pos, rx319_off
+    substr $S10, rx319_tgt, $I11, 6
+    ne $S10, ":PIR{{", rx319_fail
+    add rx319_pos, 6
   # rx subcapture "pir"
-    set_addr $I10, rxcap_326_fail
-    rx320_cur."!mark_push"(0, rx320_pos, $I10)
-  # rx rxquantf324 ** 0..*
-    set_addr $I10, rxquantf324_loop
-    rx320_cur."!mark_push"(0, rx320_pos, $I10)
-    goto rxquantf324_done
-  rxquantf324_loop:
+    set_addr $I10, rxcap_325_fail
+    rx319_cur."!mark_push"(0, rx319_pos, $I10)
+  # rx rxquantf323 ** 0..*
+    set_addr $I10, rxquantf323_loop
+    rx319_cur."!mark_push"(0, rx319_pos, $I10)
+    goto rxquantf323_done
+  rxquantf323_loop:
   # rx charclass .
-    ge rx320_pos, rx320_eos, rx320_fail
-    inc rx320_pos
-    set_addr $I10, rxquantf324_loop
-    rx320_cur."!mark_push"(rx320_rep, rx320_pos, $I10)
-  rxquantf324_done:
-    set_addr $I10, rxcap_326_fail
-    ($I12, $I11) = rx320_cur."!mark_peek"($I10)
-    rx320_cur."!cursor_pos"($I11)
-    ($P10) = rx320_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx320_pos, "")
-    rx320_cur."!mark_push"(0, -1, 0, $P10)
+    ge rx319_pos, rx319_eos, rx319_fail
+    inc rx319_pos
+    set_addr $I10, rxquantf323_loop
+    rx319_cur."!mark_push"(rx319_rep, rx319_pos, $I10)
+  rxquantf323_done:
+    set_addr $I10, rxcap_325_fail
+    ($I12, $I11) = rx319_cur."!mark_peek"($I10)
+    rx319_cur."!cursor_pos"($I11)
+    ($P10) = rx319_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx319_pos, "")
+    rx319_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("pir")
-    goto rxcap_326_done
-  rxcap_326_fail:
-    goto rx320_fail
-  rxcap_326_done:
+    goto rxcap_325_done
+  rxcap_325_fail:
+    goto rx319_fail
+  rxcap_325_done:
   # rx literal  "}}"
-    add $I11, rx320_pos, 2
-    gt $I11, rx320_eos, rx320_fail
-    sub $I11, rx320_pos, rx320_off
-    substr $S10, rx320_tgt, $I11, 2
-    ne $S10, "}}", rx320_fail
-    add rx320_pos, 2
+    add $I11, rx319_pos, 2
+    gt $I11, rx319_eos, rx319_fail
+    sub $I11, rx319_pos, rx319_off
+    substr $S10, rx319_tgt, $I11, 2
+    ne $S10, "}}", rx319_fail
+    add rx319_pos, 2
 .annotate 'line', 118
   # rx pass
-    rx320_cur."!cursor_pass"(rx320_pos, "metachar:sym<PIR>")
-    rx320_cur."!cursor_debug"("PASS  ", "metachar:sym<PIR>", " at pos=", rx320_pos)
-    .return (rx320_cur)
-  rx320_restart:
+    rx319_cur."!cursor_pass"(rx319_pos, "metachar:sym<PIR>")
+    rx319_cur."!cursor_debug"("PASS  ", "metachar:sym<PIR>", " at pos=", rx319_pos)
+    .return (rx319_cur)
+  rx319_restart:
 .annotate 'line', 3
-    rx320_cur."!cursor_debug"("NEXT ", "metachar:sym<PIR>")
-  rx320_fail:
-    (rx320_rep, rx320_pos, $I10, $P10) = rx320_cur."!mark_fail"(0)
-    lt rx320_pos, -1, rx320_done
-    eq rx320_pos, -1, rx320_fail
+    rx319_cur."!cursor_debug"("NEXT ", "metachar:sym<PIR>")
+  rx319_fail:
+    (rx319_rep, rx319_pos, $I10, $P10) = rx319_cur."!mark_fail"(0)
+    lt rx319_pos, -1, rx319_done
+    eq rx319_pos, -1, rx319_fail
     jump $I10
-  rx320_done:
-    rx320_cur."!cursor_fail"()
-    rx320_cur."!cursor_debug"("FAIL  ", "metachar:sym<PIR>")
-    .return (rx320_cur)
+  rx319_done:
+    rx319_cur."!cursor_fail"()
+    rx319_cur."!cursor_debug"("FAIL  ", "metachar:sym<PIR>")
+    .return (rx319_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<PIR>"  :subid("92_1279589163.12187") :method
+.sub "!PREFIX__metachar:sym<PIR>"  :subid("92_1280467470.54449") :method
 .annotate 'line', 3
-    new $P322, "ResizablePMCArray"
-    push $P322, ":PIR{{"
-    .return ($P322)
+    new $P321, "ResizablePMCArray"
+    push $P321, ":PIR{{"
+    .return ($P321)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash"  :subid("93_1279589163.12187") :method
+.sub "backslash"  :subid("93_1280467470.54449") :method
 .annotate 'line', 122
-    $P328 = self."!protoregex"("backslash")
-    .return ($P328)
+    $P327 = self."!protoregex"("backslash")
+    .return ($P327)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash"  :subid("94_1279589163.12187") :method
+.sub "!PREFIX__backslash"  :subid("94_1280467470.54449") :method
 .annotate 'line', 122
-    $P330 = self."!PREFIX__!protoregex"("backslash")
-    .return ($P330)
+    $P329 = self."!PREFIX__!protoregex"("backslash")
+    .return ($P329)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<w>"  :subid("95_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "backslash:sym<w>"  :subid("95_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .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, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx332_cur
-    .local pmc match
-    .lex "$/", match
-    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:
-    eq $I10, 1, rx332_restart
-    rx332_cur."!cursor_debug"("START ", "backslash:sym<w>")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan335_done
-    goto rxscan335_scan
-  rxscan335_loop:
-    ($P10) = rx332_cur."from"()
-    inc $P10
-    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:
+    .local string rx331_tgt
+    .local int rx331_pos
+    .local int rx331_off
+    .local int rx331_eos
+    .local int rx331_rep
+    .local pmc rx331_cur
+    (rx331_cur, rx331_pos, rx331_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx331_cur
+    .local pmc match
+    .lex "$/", match
+    length rx331_eos, rx331_tgt
+    gt rx331_pos, rx331_eos, rx331_done
+    set rx331_off, 0
+    lt rx331_pos, 2, rx331_start
+    sub rx331_off, rx331_pos, 1
+    substr rx331_tgt, rx331_tgt, rx331_off
+  rx331_start:
+    eq $I10, 1, rx331_restart
+    rx331_cur."!cursor_debug"("START ", "backslash:sym<w>")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan334_done
+    goto rxscan334_scan
+  rxscan334_loop:
+    ($P10) = rx331_cur."from"()
+    inc $P10
+    set rx331_pos, $P10
+    ge rx331_pos, rx331_eos, rxscan334_done
+  rxscan334_scan:
+    set_addr $I10, rxscan334_loop
+    rx331_cur."!mark_push"(0, rx331_pos, $I10)
+  rxscan334_done:
 .annotate 'line', 123
   # rx subcapture "sym"
-    set_addr $I10, rxcap_336_fail
-    rx332_cur."!mark_push"(0, rx332_pos, $I10)
+    set_addr $I10, rxcap_335_fail
+    rx331_cur."!mark_push"(0, rx331_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx332_pos, rx332_eos, rx332_fail
-    sub $I10, rx332_pos, rx332_off
-    substr $S10, rx332_tgt, $I10, 1
+    ge rx331_pos, rx331_eos, rx331_fail
+    sub $I10, rx331_pos, rx331_off
+    substr $S10, rx331_tgt, $I10, 1
     index $I11, "dswnDSWN", $S10
-    lt $I11, 0, rx332_fail
-    inc rx332_pos
-    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)
+    lt $I11, 0, rx331_fail
+    inc rx331_pos
+    set_addr $I10, rxcap_335_fail
+    ($I12, $I11) = rx331_cur."!mark_peek"($I10)
+    rx331_cur."!cursor_pos"($I11)
+    ($P10) = rx331_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx331_pos, "")
+    rx331_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_336_done
-  rxcap_336_fail:
-    goto rx332_fail
-  rxcap_336_done:
-  # rx pass
-    rx332_cur."!cursor_pass"(rx332_pos, "backslash:sym<w>")
-    rx332_cur."!cursor_debug"("PASS  ", "backslash:sym<w>", " at pos=", rx332_pos)
-    .return (rx332_cur)
-  rx332_restart:
-.annotate 'line', 3
-    rx332_cur."!cursor_debug"("NEXT ", "backslash:sym<w>")
-  rx332_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
-  rx332_done:
-    rx332_cur."!cursor_fail"()
-    rx332_cur."!cursor_debug"("FAIL  ", "backslash:sym<w>")
-    .return (rx332_cur)
+    goto rxcap_335_done
+  rxcap_335_fail:
+    goto rx331_fail
+  rxcap_335_done:
+  # rx pass
+    rx331_cur."!cursor_pass"(rx331_pos, "backslash:sym<w>")
+    rx331_cur."!cursor_debug"("PASS  ", "backslash:sym<w>", " at pos=", rx331_pos)
+    .return (rx331_cur)
+  rx331_restart:
+.annotate 'line', 3
+    rx331_cur."!cursor_debug"("NEXT ", "backslash:sym<w>")
+  rx331_fail:
+    (rx331_rep, rx331_pos, $I10, $P10) = rx331_cur."!mark_fail"(0)
+    lt rx331_pos, -1, rx331_done
+    eq rx331_pos, -1, rx331_fail
+    jump $I10
+  rx331_done:
+    rx331_cur."!cursor_fail"()
+    rx331_cur."!cursor_debug"("FAIL  ", "backslash:sym<w>")
+    .return (rx331_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<w>"  :subid("96_1279589163.12187") :method
-.annotate 'line', 3
-    new $P334, "ResizablePMCArray"
-    push $P334, "N"
-    push $P334, "W"
-    push $P334, "S"
-    push $P334, "D"
-    push $P334, "n"
-    push $P334, "w"
-    push $P334, "s"
-    push $P334, "d"
-    .return ($P334)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<b>"  :subid("97_1279589163.12187") :method :outer("11_1279589163.12187")
-.annotate 'line', 3
-    .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, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx338_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:
-    eq $I10, 1, rx338_restart
-    rx338_cur."!cursor_debug"("START ", "backslash:sym<b>")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan341_done
-    goto rxscan341_scan
-  rxscan341_loop:
-    ($P10) = rx338_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:
+.sub "!PREFIX__backslash:sym<w>"  :subid("96_1280467470.54449") :method
+.annotate 'line', 3
+    new $P333, "ResizablePMCArray"
+    push $P333, "N"
+    push $P333, "W"
+    push $P333, "S"
+    push $P333, "D"
+    push $P333, "n"
+    push $P333, "w"
+    push $P333, "s"
+    push $P333, "d"
+    .return ($P333)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Grammar"]
+.sub "backslash:sym<b>"  :subid("97_1280467470.54449") :method :outer("11_1280467470.54449")
+.annotate 'line', 3
+    .local string rx337_tgt
+    .local int rx337_pos
+    .local int rx337_off
+    .local int rx337_eos
+    .local int rx337_rep
+    .local pmc rx337_cur
+    (rx337_cur, rx337_pos, rx337_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx337_cur
+    .local pmc match
+    .lex "$/", match
+    length rx337_eos, rx337_tgt
+    gt rx337_pos, rx337_eos, rx337_done
+    set rx337_off, 0
+    lt rx337_pos, 2, rx337_start
+    sub rx337_off, rx337_pos, 1
+    substr rx337_tgt, rx337_tgt, rx337_off
+  rx337_start:
+    eq $I10, 1, rx337_restart
+    rx337_cur."!cursor_debug"("START ", "backslash:sym<b>")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan340_done
+    goto rxscan340_scan
+  rxscan340_loop:
+    ($P10) = rx337_cur."from"()
+    inc $P10
+    set rx337_pos, $P10
+    ge rx337_pos, rx337_eos, rxscan340_done
+  rxscan340_scan:
+    set_addr $I10, rxscan340_loop
+    rx337_cur."!mark_push"(0, rx337_pos, $I10)
+  rxscan340_done:
 .annotate 'line', 124
   # rx subcapture "sym"
-    set_addr $I10, rxcap_342_fail
-    rx338_cur."!mark_push"(0, rx338_pos, $I10)
+    set_addr $I10, rxcap_341_fail
+    rx337_cur."!mark_push"(0, rx337_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx338_pos, rx338_eos, rx338_fail
-    sub $I10, rx338_pos, rx338_off
-    substr $S10, rx338_tgt, $I10, 1
+    ge rx337_pos, rx337_eos, rx337_fail
+    sub $I10, rx337_pos, rx337_off
+    substr $S10, rx337_tgt, $I10, 1
     index $I11, "bB", $S10
-    lt $I11, 0, rx338_fail
-    inc rx338_pos
-    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)
+    lt $I11, 0, rx337_fail
+    inc rx337_pos
+    set_addr $I10, rxcap_341_fail
+    ($I12, $I11) = rx337_cur."!mark_peek"($I10)
+    rx337_cur."!cursor_pos"($I11)
+    ($P10) = rx337_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx337_pos, "")
+    rx337_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_341_done
+  rxcap_341_fail:
+    goto rx337_fail
+  rxcap_341_done:
   # rx pass
-    rx338_cur."!cursor_pass"(rx338_pos, "backslash:sym<b>")
-    rx338_cur."!cursor_debug"("PASS  ", "backslash:sym<b>", " at pos=", rx338_pos)
-    .return (rx338_cur)
-  rx338_restart:
+    rx337_cur."!cursor_pass"(rx337_pos, "backslash:sym<b>")
+    rx337_cur."!cursor_debug"("PASS  ", "backslash:sym<b>", " at pos=", rx337_pos)
+    .return (rx337_cur)
+  rx337_restart:
 .annotate 'line', 3
-    rx338_cur."!cursor_debug"("NEXT ", "backslash:sym<b>")
-  rx338_fail:
-    (rx338_rep, rx338_pos, $I10, $P10) = rx338_cur."!mark_fail"(0)
-    lt rx338_pos, -1, rx338_done
-    eq rx338_pos, -1, rx338_fail
+    rx337_cur."!cursor_debug"("NEXT ", "backslash:sym<b>")
+  rx337_fail:
+    (rx337_rep, rx337_pos, $I10, $P10) = rx337_cur."!mark_fail"(0)
+    lt rx337_pos, -1, rx337_done
+    eq rx337_pos, -1, rx337_fail
     jump $I10
-  rx338_done:
-    rx338_cur."!cursor_fail"()
-    rx338_cur."!cursor_debug"("FAIL  ", "backslash:sym<b>")
-    .return (rx338_cur)
+  rx337_done:
+    rx337_cur."!cursor_fail"()
+    rx337_cur."!cursor_debug"("FAIL  ", "backslash:sym<b>")
+    .return (rx337_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<b>"  :subid("98_1279589163.12187") :method
+.sub "!PREFIX__backslash:sym<b>"  :subid("98_1280467470.54449") :method
 .annotate 'line', 3
-    new $P340, "ResizablePMCArray"
-    push $P340, "B"
-    push $P340, "b"
-    .return ($P340)
+    new $P339, "ResizablePMCArray"
+    push $P339, "B"
+    push $P339, "b"
+    .return ($P339)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<e>"  :subid("99_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "backslash:sym<e>"  :subid("99_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx344_tgt
-    .local int rx344_pos
-    .local int rx344_off
-    .local int rx344_eos
-    .local int rx344_rep
-    .local pmc rx344_cur
-    (rx344_cur, rx344_pos, rx344_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx344_cur
+    .local string rx343_tgt
+    .local int rx343_pos
+    .local int rx343_off
+    .local int rx343_eos
+    .local int rx343_rep
+    .local pmc rx343_cur
+    (rx343_cur, rx343_pos, rx343_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx343_cur
     .local pmc match
     .lex "$/", match
-    length rx344_eos, rx344_tgt
-    gt rx344_pos, rx344_eos, rx344_done
-    set rx344_off, 0
-    lt rx344_pos, 2, rx344_start
-    sub rx344_off, rx344_pos, 1
-    substr rx344_tgt, rx344_tgt, rx344_off
-  rx344_start:
-    eq $I10, 1, rx344_restart
-    rx344_cur."!cursor_debug"("START ", "backslash:sym<e>")
+    length rx343_eos, rx343_tgt
+    gt rx343_pos, rx343_eos, rx343_done
+    set rx343_off, 0
+    lt rx343_pos, 2, rx343_start
+    sub rx343_off, rx343_pos, 1
+    substr rx343_tgt, rx343_tgt, rx343_off
+  rx343_start:
+    eq $I10, 1, rx343_restart
+    rx343_cur."!cursor_debug"("START ", "backslash:sym<e>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan347_done
-    goto rxscan347_scan
-  rxscan347_loop:
-    ($P10) = rx344_cur."from"()
+    ne $I10, -1, rxscan346_done
+    goto rxscan346_scan
+  rxscan346_loop:
+    ($P10) = rx343_cur."from"()
     inc $P10
-    set rx344_pos, $P10
-    ge rx344_pos, rx344_eos, rxscan347_done
-  rxscan347_scan:
-    set_addr $I10, rxscan347_loop
-    rx344_cur."!mark_push"(0, rx344_pos, $I10)
-  rxscan347_done:
+    set rx343_pos, $P10
+    ge rx343_pos, rx343_eos, rxscan346_done
+  rxscan346_scan:
+    set_addr $I10, rxscan346_loop
+    rx343_cur."!mark_push"(0, rx343_pos, $I10)
+  rxscan346_done:
 .annotate 'line', 125
   # rx subcapture "sym"
-    set_addr $I10, rxcap_348_fail
-    rx344_cur."!mark_push"(0, rx344_pos, $I10)
+    set_addr $I10, rxcap_347_fail
+    rx343_cur."!mark_push"(0, rx343_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx344_pos, rx344_eos, rx344_fail
-    sub $I10, rx344_pos, rx344_off
-    substr $S10, rx344_tgt, $I10, 1
+    ge rx343_pos, rx343_eos, rx343_fail
+    sub $I10, rx343_pos, rx343_off
+    substr $S10, rx343_tgt, $I10, 1
     index $I11, "eE", $S10
-    lt $I11, 0, rx344_fail
-    inc rx344_pos
-    set_addr $I10, rxcap_348_fail
-    ($I12, $I11) = rx344_cur."!mark_peek"($I10)
-    rx344_cur."!cursor_pos"($I11)
-    ($P10) = rx344_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx344_pos, "")
-    rx344_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx343_fail
+    inc rx343_pos
+    set_addr $I10, rxcap_347_fail
+    ($I12, $I11) = rx343_cur."!mark_peek"($I10)
+    rx343_cur."!cursor_pos"($I11)
+    ($P10) = rx343_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx343_pos, "")
+    rx343_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_348_done
-  rxcap_348_fail:
-    goto rx344_fail
-  rxcap_348_done:
+    goto rxcap_347_done
+  rxcap_347_fail:
+    goto rx343_fail
+  rxcap_347_done:
   # rx pass
-    rx344_cur."!cursor_pass"(rx344_pos, "backslash:sym<e>")
-    rx344_cur."!cursor_debug"("PASS  ", "backslash:sym<e>", " at pos=", rx344_pos)
-    .return (rx344_cur)
-  rx344_restart:
+    rx343_cur."!cursor_pass"(rx343_pos, "backslash:sym<e>")
+    rx343_cur."!cursor_debug"("PASS  ", "backslash:sym<e>", " at pos=", rx343_pos)
+    .return (rx343_cur)
+  rx343_restart:
 .annotate 'line', 3
-    rx344_cur."!cursor_debug"("NEXT ", "backslash:sym<e>")
-  rx344_fail:
-    (rx344_rep, rx344_pos, $I10, $P10) = rx344_cur."!mark_fail"(0)
-    lt rx344_pos, -1, rx344_done
-    eq rx344_pos, -1, rx344_fail
+    rx343_cur."!cursor_debug"("NEXT ", "backslash:sym<e>")
+  rx343_fail:
+    (rx343_rep, rx343_pos, $I10, $P10) = rx343_cur."!mark_fail"(0)
+    lt rx343_pos, -1, rx343_done
+    eq rx343_pos, -1, rx343_fail
     jump $I10
-  rx344_done:
-    rx344_cur."!cursor_fail"()
-    rx344_cur."!cursor_debug"("FAIL  ", "backslash:sym<e>")
-    .return (rx344_cur)
+  rx343_done:
+    rx343_cur."!cursor_fail"()
+    rx343_cur."!cursor_debug"("FAIL  ", "backslash:sym<e>")
+    .return (rx343_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<e>"  :subid("100_1279589163.12187") :method
+.sub "!PREFIX__backslash:sym<e>"  :subid("100_1280467470.54449") :method
 .annotate 'line', 3
-    new $P346, "ResizablePMCArray"
-    push $P346, "E"
-    push $P346, "e"
-    .return ($P346)
+    new $P345, "ResizablePMCArray"
+    push $P345, "E"
+    push $P345, "e"
+    .return ($P345)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<f>"  :subid("101_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "backslash:sym<f>"  :subid("101_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx350_tgt
-    .local int rx350_pos
-    .local int rx350_off
-    .local int rx350_eos
-    .local int rx350_rep
-    .local pmc rx350_cur
-    (rx350_cur, rx350_pos, rx350_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx350_cur
+    .local string rx349_tgt
+    .local int rx349_pos
+    .local int rx349_off
+    .local int rx349_eos
+    .local int rx349_rep
+    .local pmc rx349_cur
+    (rx349_cur, rx349_pos, rx349_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx349_cur
     .local pmc match
     .lex "$/", match
-    length rx350_eos, rx350_tgt
-    gt rx350_pos, rx350_eos, rx350_done
-    set rx350_off, 0
-    lt rx350_pos, 2, rx350_start
-    sub rx350_off, rx350_pos, 1
-    substr rx350_tgt, rx350_tgt, rx350_off
-  rx350_start:
-    eq $I10, 1, rx350_restart
-    rx350_cur."!cursor_debug"("START ", "backslash:sym<f>")
+    length rx349_eos, rx349_tgt
+    gt rx349_pos, rx349_eos, rx349_done
+    set rx349_off, 0
+    lt rx349_pos, 2, rx349_start
+    sub rx349_off, rx349_pos, 1
+    substr rx349_tgt, rx349_tgt, rx349_off
+  rx349_start:
+    eq $I10, 1, rx349_restart
+    rx349_cur."!cursor_debug"("START ", "backslash:sym<f>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan353_done
-    goto rxscan353_scan
-  rxscan353_loop:
-    ($P10) = rx350_cur."from"()
+    ne $I10, -1, rxscan352_done
+    goto rxscan352_scan
+  rxscan352_loop:
+    ($P10) = rx349_cur."from"()
     inc $P10
-    set rx350_pos, $P10
-    ge rx350_pos, rx350_eos, rxscan353_done
-  rxscan353_scan:
-    set_addr $I10, rxscan353_loop
-    rx350_cur."!mark_push"(0, rx350_pos, $I10)
-  rxscan353_done:
+    set rx349_pos, $P10
+    ge rx349_pos, rx349_eos, rxscan352_done
+  rxscan352_scan:
+    set_addr $I10, rxscan352_loop
+    rx349_cur."!mark_push"(0, rx349_pos, $I10)
+  rxscan352_done:
 .annotate 'line', 126
   # rx subcapture "sym"
-    set_addr $I10, rxcap_354_fail
-    rx350_cur."!mark_push"(0, rx350_pos, $I10)
+    set_addr $I10, rxcap_353_fail
+    rx349_cur."!mark_push"(0, rx349_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx350_pos, rx350_eos, rx350_fail
-    sub $I10, rx350_pos, rx350_off
-    substr $S10, rx350_tgt, $I10, 1
+    ge rx349_pos, rx349_eos, rx349_fail
+    sub $I10, rx349_pos, rx349_off
+    substr $S10, rx349_tgt, $I10, 1
     index $I11, "fF", $S10
-    lt $I11, 0, rx350_fail
-    inc rx350_pos
-    set_addr $I10, rxcap_354_fail
-    ($I12, $I11) = rx350_cur."!mark_peek"($I10)
-    rx350_cur."!cursor_pos"($I11)
-    ($P10) = rx350_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx350_pos, "")
-    rx350_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx349_fail
+    inc rx349_pos
+    set_addr $I10, rxcap_353_fail
+    ($I12, $I11) = rx349_cur."!mark_peek"($I10)
+    rx349_cur."!cursor_pos"($I11)
+    ($P10) = rx349_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx349_pos, "")
+    rx349_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_354_done
-  rxcap_354_fail:
-    goto rx350_fail
-  rxcap_354_done:
+    goto rxcap_353_done
+  rxcap_353_fail:
+    goto rx349_fail
+  rxcap_353_done:
   # rx pass
-    rx350_cur."!cursor_pass"(rx350_pos, "backslash:sym<f>")
-    rx350_cur."!cursor_debug"("PASS  ", "backslash:sym<f>", " at pos=", rx350_pos)
-    .return (rx350_cur)
-  rx350_restart:
+    rx349_cur."!cursor_pass"(rx349_pos, "backslash:sym<f>")
+    rx349_cur."!cursor_debug"("PASS  ", "backslash:sym<f>", " at pos=", rx349_pos)
+    .return (rx349_cur)
+  rx349_restart:
 .annotate 'line', 3
-    rx350_cur."!cursor_debug"("NEXT ", "backslash:sym<f>")
-  rx350_fail:
-    (rx350_rep, rx350_pos, $I10, $P10) = rx350_cur."!mark_fail"(0)
-    lt rx350_pos, -1, rx350_done
-    eq rx350_pos, -1, rx350_fail
+    rx349_cur."!cursor_debug"("NEXT ", "backslash:sym<f>")
+  rx349_fail:
+    (rx349_rep, rx349_pos, $I10, $P10) = rx349_cur."!mark_fail"(0)
+    lt rx349_pos, -1, rx349_done
+    eq rx349_pos, -1, rx349_fail
     jump $I10
-  rx350_done:
-    rx350_cur."!cursor_fail"()
-    rx350_cur."!cursor_debug"("FAIL  ", "backslash:sym<f>")
-    .return (rx350_cur)
+  rx349_done:
+    rx349_cur."!cursor_fail"()
+    rx349_cur."!cursor_debug"("FAIL  ", "backslash:sym<f>")
+    .return (rx349_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<f>"  :subid("102_1279589163.12187") :method
+.sub "!PREFIX__backslash:sym<f>"  :subid("102_1280467470.54449") :method
 .annotate 'line', 3
-    new $P352, "ResizablePMCArray"
-    push $P352, "F"
-    push $P352, "f"
-    .return ($P352)
+    new $P351, "ResizablePMCArray"
+    push $P351, "F"
+    push $P351, "f"
+    .return ($P351)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<h>"  :subid("103_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "backslash:sym<h>"  :subid("103_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx356_tgt
-    .local int rx356_pos
-    .local int rx356_off
-    .local int rx356_eos
-    .local int rx356_rep
-    .local pmc rx356_cur
-    (rx356_cur, rx356_pos, rx356_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx356_cur
+    .local string rx355_tgt
+    .local int rx355_pos
+    .local int rx355_off
+    .local int rx355_eos
+    .local int rx355_rep
+    .local pmc rx355_cur
+    (rx355_cur, rx355_pos, rx355_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx355_cur
     .local pmc match
     .lex "$/", match
-    length rx356_eos, rx356_tgt
-    gt rx356_pos, rx356_eos, rx356_done
-    set rx356_off, 0
-    lt rx356_pos, 2, rx356_start
-    sub rx356_off, rx356_pos, 1
-    substr rx356_tgt, rx356_tgt, rx356_off
-  rx356_start:
-    eq $I10, 1, rx356_restart
-    rx356_cur."!cursor_debug"("START ", "backslash:sym<h>")
+    length rx355_eos, rx355_tgt
+    gt rx355_pos, rx355_eos, rx355_done
+    set rx355_off, 0
+    lt rx355_pos, 2, rx355_start
+    sub rx355_off, rx355_pos, 1
+    substr rx355_tgt, rx355_tgt, rx355_off
+  rx355_start:
+    eq $I10, 1, rx355_restart
+    rx355_cur."!cursor_debug"("START ", "backslash:sym<h>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan359_done
-    goto rxscan359_scan
-  rxscan359_loop:
-    ($P10) = rx356_cur."from"()
+    ne $I10, -1, rxscan358_done
+    goto rxscan358_scan
+  rxscan358_loop:
+    ($P10) = rx355_cur."from"()
     inc $P10
-    set rx356_pos, $P10
-    ge rx356_pos, rx356_eos, rxscan359_done
-  rxscan359_scan:
-    set_addr $I10, rxscan359_loop
-    rx356_cur."!mark_push"(0, rx356_pos, $I10)
-  rxscan359_done:
+    set rx355_pos, $P10
+    ge rx355_pos, rx355_eos, rxscan358_done
+  rxscan358_scan:
+    set_addr $I10, rxscan358_loop
+    rx355_cur."!mark_push"(0, rx355_pos, $I10)
+  rxscan358_done:
 .annotate 'line', 127
   # rx subcapture "sym"
-    set_addr $I10, rxcap_360_fail
-    rx356_cur."!mark_push"(0, rx356_pos, $I10)
+    set_addr $I10, rxcap_359_fail
+    rx355_cur."!mark_push"(0, rx355_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx356_pos, rx356_eos, rx356_fail
-    sub $I10, rx356_pos, rx356_off
-    substr $S10, rx356_tgt, $I10, 1
+    ge rx355_pos, rx355_eos, rx355_fail
+    sub $I10, rx355_pos, rx355_off
+    substr $S10, rx355_tgt, $I10, 1
     index $I11, "hH", $S10
-    lt $I11, 0, rx356_fail
-    inc rx356_pos
-    set_addr $I10, rxcap_360_fail
-    ($I12, $I11) = rx356_cur."!mark_peek"($I10)
-    rx356_cur."!cursor_pos"($I11)
-    ($P10) = rx356_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx356_pos, "")
-    rx356_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx355_fail
+    inc rx355_pos
+    set_addr $I10, rxcap_359_fail
+    ($I12, $I11) = rx355_cur."!mark_peek"($I10)
+    rx355_cur."!cursor_pos"($I11)
+    ($P10) = rx355_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx355_pos, "")
+    rx355_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_360_done
-  rxcap_360_fail:
-    goto rx356_fail
-  rxcap_360_done:
+    goto rxcap_359_done
+  rxcap_359_fail:
+    goto rx355_fail
+  rxcap_359_done:
   # rx pass
-    rx356_cur."!cursor_pass"(rx356_pos, "backslash:sym<h>")
-    rx356_cur."!cursor_debug"("PASS  ", "backslash:sym<h>", " at pos=", rx356_pos)
-    .return (rx356_cur)
-  rx356_restart:
+    rx355_cur."!cursor_pass"(rx355_pos, "backslash:sym<h>")
+    rx355_cur."!cursor_debug"("PASS  ", "backslash:sym<h>", " at pos=", rx355_pos)
+    .return (rx355_cur)
+  rx355_restart:
 .annotate 'line', 3
-    rx356_cur."!cursor_debug"("NEXT ", "backslash:sym<h>")
-  rx356_fail:
-    (rx356_rep, rx356_pos, $I10, $P10) = rx356_cur."!mark_fail"(0)
-    lt rx356_pos, -1, rx356_done
-    eq rx356_pos, -1, rx356_fail
+    rx355_cur."!cursor_debug"("NEXT ", "backslash:sym<h>")
+  rx355_fail:
+    (rx355_rep, rx355_pos, $I10, $P10) = rx355_cur."!mark_fail"(0)
+    lt rx355_pos, -1, rx355_done
+    eq rx355_pos, -1, rx355_fail
     jump $I10
-  rx356_done:
-    rx356_cur."!cursor_fail"()
-    rx356_cur."!cursor_debug"("FAIL  ", "backslash:sym<h>")
-    .return (rx356_cur)
+  rx355_done:
+    rx355_cur."!cursor_fail"()
+    rx355_cur."!cursor_debug"("FAIL  ", "backslash:sym<h>")
+    .return (rx355_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<h>"  :subid("104_1279589163.12187") :method
+.sub "!PREFIX__backslash:sym<h>"  :subid("104_1280467470.54449") :method
 .annotate 'line', 3
-    new $P358, "ResizablePMCArray"
-    push $P358, "H"
-    push $P358, "h"
-    .return ($P358)
+    new $P357, "ResizablePMCArray"
+    push $P357, "H"
+    push $P357, "h"
+    .return ($P357)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<r>"  :subid("105_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "backslash:sym<r>"  :subid("105_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx362_tgt
-    .local int rx362_pos
-    .local int rx362_off
-    .local int rx362_eos
-    .local int rx362_rep
-    .local pmc rx362_cur
-    (rx362_cur, rx362_pos, rx362_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx362_cur
+    .local string rx361_tgt
+    .local int rx361_pos
+    .local int rx361_off
+    .local int rx361_eos
+    .local int rx361_rep
+    .local pmc rx361_cur
+    (rx361_cur, rx361_pos, rx361_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx361_cur
     .local pmc match
     .lex "$/", match
-    length rx362_eos, rx362_tgt
-    gt rx362_pos, rx362_eos, rx362_done
-    set rx362_off, 0
-    lt rx362_pos, 2, rx362_start
-    sub rx362_off, rx362_pos, 1
-    substr rx362_tgt, rx362_tgt, rx362_off
-  rx362_start:
-    eq $I10, 1, rx362_restart
-    rx362_cur."!cursor_debug"("START ", "backslash:sym<r>")
+    length rx361_eos, rx361_tgt
+    gt rx361_pos, rx361_eos, rx361_done
+    set rx361_off, 0
+    lt rx361_pos, 2, rx361_start
+    sub rx361_off, rx361_pos, 1
+    substr rx361_tgt, rx361_tgt, rx361_off
+  rx361_start:
+    eq $I10, 1, rx361_restart
+    rx361_cur."!cursor_debug"("START ", "backslash:sym<r>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan365_done
-    goto rxscan365_scan
-  rxscan365_loop:
-    ($P10) = rx362_cur."from"()
+    ne $I10, -1, rxscan364_done
+    goto rxscan364_scan
+  rxscan364_loop:
+    ($P10) = rx361_cur."from"()
     inc $P10
-    set rx362_pos, $P10
-    ge rx362_pos, rx362_eos, rxscan365_done
-  rxscan365_scan:
-    set_addr $I10, rxscan365_loop
-    rx362_cur."!mark_push"(0, rx362_pos, $I10)
-  rxscan365_done:
+    set rx361_pos, $P10
+    ge rx361_pos, rx361_eos, rxscan364_done
+  rxscan364_scan:
+    set_addr $I10, rxscan364_loop
+    rx361_cur."!mark_push"(0, rx361_pos, $I10)
+  rxscan364_done:
 .annotate 'line', 128
   # rx subcapture "sym"
-    set_addr $I10, rxcap_366_fail
-    rx362_cur."!mark_push"(0, rx362_pos, $I10)
+    set_addr $I10, rxcap_365_fail
+    rx361_cur."!mark_push"(0, rx361_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx362_pos, rx362_eos, rx362_fail
-    sub $I10, rx362_pos, rx362_off
-    substr $S10, rx362_tgt, $I10, 1
+    ge rx361_pos, rx361_eos, rx361_fail
+    sub $I10, rx361_pos, rx361_off
+    substr $S10, rx361_tgt, $I10, 1
     index $I11, "rR", $S10
-    lt $I11, 0, rx362_fail
-    inc rx362_pos
-    set_addr $I10, rxcap_366_fail
-    ($I12, $I11) = rx362_cur."!mark_peek"($I10)
-    rx362_cur."!cursor_pos"($I11)
-    ($P10) = rx362_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx362_pos, "")
-    rx362_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx361_fail
+    inc rx361_pos
+    set_addr $I10, rxcap_365_fail
+    ($I12, $I11) = rx361_cur."!mark_peek"($I10)
+    rx361_cur."!cursor_pos"($I11)
+    ($P10) = rx361_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx361_pos, "")
+    rx361_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_366_done
-  rxcap_366_fail:
-    goto rx362_fail
-  rxcap_366_done:
+    goto rxcap_365_done
+  rxcap_365_fail:
+    goto rx361_fail
+  rxcap_365_done:
   # rx pass
-    rx362_cur."!cursor_pass"(rx362_pos, "backslash:sym<r>")
-    rx362_cur."!cursor_debug"("PASS  ", "backslash:sym<r>", " at pos=", rx362_pos)
-    .return (rx362_cur)
-  rx362_restart:
+    rx361_cur."!cursor_pass"(rx361_pos, "backslash:sym<r>")
+    rx361_cur."!cursor_debug"("PASS  ", "backslash:sym<r>", " at pos=", rx361_pos)
+    .return (rx361_cur)
+  rx361_restart:
 .annotate 'line', 3
-    rx362_cur."!cursor_debug"("NEXT ", "backslash:sym<r>")
-  rx362_fail:
-    (rx362_rep, rx362_pos, $I10, $P10) = rx362_cur."!mark_fail"(0)
-    lt rx362_pos, -1, rx362_done
-    eq rx362_pos, -1, rx362_fail
+    rx361_cur."!cursor_debug"("NEXT ", "backslash:sym<r>")
+  rx361_fail:
+    (rx361_rep, rx361_pos, $I10, $P10) = rx361_cur."!mark_fail"(0)
+    lt rx361_pos, -1, rx361_done
+    eq rx361_pos, -1, rx361_fail
     jump $I10
-  rx362_done:
-    rx362_cur."!cursor_fail"()
-    rx362_cur."!cursor_debug"("FAIL  ", "backslash:sym<r>")
-    .return (rx362_cur)
+  rx361_done:
+    rx361_cur."!cursor_fail"()
+    rx361_cur."!cursor_debug"("FAIL  ", "backslash:sym<r>")
+    .return (rx361_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<r>"  :subid("106_1279589163.12187") :method
+.sub "!PREFIX__backslash:sym<r>"  :subid("106_1280467470.54449") :method
 .annotate 'line', 3
-    new $P364, "ResizablePMCArray"
-    push $P364, "R"
-    push $P364, "r"
-    .return ($P364)
+    new $P363, "ResizablePMCArray"
+    push $P363, "R"
+    push $P363, "r"
+    .return ($P363)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<t>"  :subid("107_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "backslash:sym<t>"  :subid("107_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx368_tgt
-    .local int rx368_pos
-    .local int rx368_off
-    .local int rx368_eos
-    .local int rx368_rep
-    .local pmc rx368_cur
-    (rx368_cur, rx368_pos, rx368_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx368_cur
+    .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, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx367_cur
     .local pmc match
     .lex "$/", match
-    length rx368_eos, rx368_tgt
-    gt rx368_pos, rx368_eos, rx368_done
-    set rx368_off, 0
-    lt rx368_pos, 2, rx368_start
-    sub rx368_off, rx368_pos, 1
-    substr rx368_tgt, rx368_tgt, rx368_off
-  rx368_start:
-    eq $I10, 1, rx368_restart
-    rx368_cur."!cursor_debug"("START ", "backslash:sym<t>")
+    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:
+    eq $I10, 1, rx367_restart
+    rx367_cur."!cursor_debug"("START ", "backslash:sym<t>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan371_done
-    goto rxscan371_scan
-  rxscan371_loop:
-    ($P10) = rx368_cur."from"()
+    ne $I10, -1, rxscan370_done
+    goto rxscan370_scan
+  rxscan370_loop:
+    ($P10) = rx367_cur."from"()
     inc $P10
-    set rx368_pos, $P10
-    ge rx368_pos, rx368_eos, rxscan371_done
-  rxscan371_scan:
-    set_addr $I10, rxscan371_loop
-    rx368_cur."!mark_push"(0, rx368_pos, $I10)
-  rxscan371_done:
+    set rx367_pos, $P10
+    ge rx367_pos, rx367_eos, rxscan370_done
+  rxscan370_scan:
+    set_addr $I10, rxscan370_loop
+    rx367_cur."!mark_push"(0, rx367_pos, $I10)
+  rxscan370_done:
 .annotate 'line', 129
   # rx subcapture "sym"
-    set_addr $I10, rxcap_372_fail
-    rx368_cur."!mark_push"(0, rx368_pos, $I10)
+    set_addr $I10, rxcap_371_fail
+    rx367_cur."!mark_push"(0, rx367_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx368_pos, rx368_eos, rx368_fail
-    sub $I10, rx368_pos, rx368_off
-    substr $S10, rx368_tgt, $I10, 1
+    ge rx367_pos, rx367_eos, rx367_fail
+    sub $I10, rx367_pos, rx367_off
+    substr $S10, rx367_tgt, $I10, 1
     index $I11, "tT", $S10
-    lt $I11, 0, rx368_fail
-    inc rx368_pos
-    set_addr $I10, rxcap_372_fail
-    ($I12, $I11) = rx368_cur."!mark_peek"($I10)
-    rx368_cur."!cursor_pos"($I11)
-    ($P10) = rx368_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx368_pos, "")
-    rx368_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx367_fail
+    inc rx367_pos
+    set_addr $I10, rxcap_371_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_372_done
-  rxcap_372_fail:
-    goto rx368_fail
-  rxcap_372_done:
+    goto rxcap_371_done
+  rxcap_371_fail:
+    goto rx367_fail
+  rxcap_371_done:
   # rx pass
-    rx368_cur."!cursor_pass"(rx368_pos, "backslash:sym<t>")
-    rx368_cur."!cursor_debug"("PASS  ", "backslash:sym<t>", " at pos=", rx368_pos)
-    .return (rx368_cur)
-  rx368_restart:
+    rx367_cur."!cursor_pass"(rx367_pos, "backslash:sym<t>")
+    rx367_cur."!cursor_debug"("PASS  ", "backslash:sym<t>", " at pos=", rx367_pos)
+    .return (rx367_cur)
+  rx367_restart:
 .annotate 'line', 3
-    rx368_cur."!cursor_debug"("NEXT ", "backslash:sym<t>")
-  rx368_fail:
-    (rx368_rep, rx368_pos, $I10, $P10) = rx368_cur."!mark_fail"(0)
-    lt rx368_pos, -1, rx368_done
-    eq rx368_pos, -1, rx368_fail
+    rx367_cur."!cursor_debug"("NEXT ", "backslash:sym<t>")
+  rx367_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
-  rx368_done:
-    rx368_cur."!cursor_fail"()
-    rx368_cur."!cursor_debug"("FAIL  ", "backslash:sym<t>")
-    .return (rx368_cur)
+  rx367_done:
+    rx367_cur."!cursor_fail"()
+    rx367_cur."!cursor_debug"("FAIL  ", "backslash:sym<t>")
+    .return (rx367_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<t>"  :subid("108_1279589163.12187") :method
+.sub "!PREFIX__backslash:sym<t>"  :subid("108_1280467470.54449") :method
 .annotate 'line', 3
-    new $P370, "ResizablePMCArray"
-    push $P370, "T"
-    push $P370, "t"
-    .return ($P370)
+    new $P369, "ResizablePMCArray"
+    push $P369, "T"
+    push $P369, "t"
+    .return ($P369)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<v>"  :subid("109_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "backslash:sym<v>"  :subid("109_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .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, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx374_cur
+    .local string rx373_tgt
+    .local int rx373_pos
+    .local int rx373_off
+    .local int rx373_eos
+    .local int rx373_rep
+    .local pmc rx373_cur
+    (rx373_cur, rx373_pos, rx373_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx373_cur
     .local pmc match
     .lex "$/", match
-    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:
-    eq $I10, 1, rx374_restart
-    rx374_cur."!cursor_debug"("START ", "backslash:sym<v>")
+    length rx373_eos, rx373_tgt
+    gt rx373_pos, rx373_eos, rx373_done
+    set rx373_off, 0
+    lt rx373_pos, 2, rx373_start
+    sub rx373_off, rx373_pos, 1
+    substr rx373_tgt, rx373_tgt, rx373_off
+  rx373_start:
+    eq $I10, 1, rx373_restart
+    rx373_cur."!cursor_debug"("START ", "backslash:sym<v>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan377_done
-    goto rxscan377_scan
-  rxscan377_loop:
-    ($P10) = rx374_cur."from"()
+    ne $I10, -1, rxscan376_done
+    goto rxscan376_scan
+  rxscan376_loop:
+    ($P10) = rx373_cur."from"()
     inc $P10
-    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:
+    set rx373_pos, $P10
+    ge rx373_pos, rx373_eos, rxscan376_done
+  rxscan376_scan:
+    set_addr $I10, rxscan376_loop
+    rx373_cur."!mark_push"(0, rx373_pos, $I10)
+  rxscan376_done:
 .annotate 'line', 130
   # rx subcapture "sym"
-    set_addr $I10, rxcap_378_fail
-    rx374_cur."!mark_push"(0, rx374_pos, $I10)
+    set_addr $I10, rxcap_377_fail
+    rx373_cur."!mark_push"(0, rx373_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx374_pos, rx374_eos, rx374_fail
-    sub $I10, rx374_pos, rx374_off
-    substr $S10, rx374_tgt, $I10, 1
+    ge rx373_pos, rx373_eos, rx373_fail
+    sub $I10, rx373_pos, rx373_off
+    substr $S10, rx373_tgt, $I10, 1
     index $I11, "vV", $S10
-    lt $I11, 0, rx374_fail
-    inc rx374_pos
-    set_addr $I10, rxcap_378_fail
-    ($I12, $I11) = rx374_cur."!mark_peek"($I10)
-    rx374_cur."!cursor_pos"($I11)
-    ($P10) = rx374_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx374_pos, "")
-    rx374_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx373_fail
+    inc rx373_pos
+    set_addr $I10, rxcap_377_fail
+    ($I12, $I11) = rx373_cur."!mark_peek"($I10)
+    rx373_cur."!cursor_pos"($I11)
+    ($P10) = rx373_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx373_pos, "")
+    rx373_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_378_done
-  rxcap_378_fail:
-    goto rx374_fail
-  rxcap_378_done:
+    goto rxcap_377_done
+  rxcap_377_fail:
+    goto rx373_fail
+  rxcap_377_done:
   # rx pass
-    rx374_cur."!cursor_pass"(rx374_pos, "backslash:sym<v>")
-    rx374_cur."!cursor_debug"("PASS  ", "backslash:sym<v>", " at pos=", rx374_pos)
-    .return (rx374_cur)
-  rx374_restart:
+    rx373_cur."!cursor_pass"(rx373_pos, "backslash:sym<v>")
+    rx373_cur."!cursor_debug"("PASS  ", "backslash:sym<v>", " at pos=", rx373_pos)
+    .return (rx373_cur)
+  rx373_restart:
 .annotate 'line', 3
-    rx374_cur."!cursor_debug"("NEXT ", "backslash:sym<v>")
-  rx374_fail:
-    (rx374_rep, rx374_pos, $I10, $P10) = rx374_cur."!mark_fail"(0)
-    lt rx374_pos, -1, rx374_done
-    eq rx374_pos, -1, rx374_fail
+    rx373_cur."!cursor_debug"("NEXT ", "backslash:sym<v>")
+  rx373_fail:
+    (rx373_rep, rx373_pos, $I10, $P10) = rx373_cur."!mark_fail"(0)
+    lt rx373_pos, -1, rx373_done
+    eq rx373_pos, -1, rx373_fail
     jump $I10
-  rx374_done:
-    rx374_cur."!cursor_fail"()
-    rx374_cur."!cursor_debug"("FAIL  ", "backslash:sym<v>")
-    .return (rx374_cur)
+  rx373_done:
+    rx373_cur."!cursor_fail"()
+    rx373_cur."!cursor_debug"("FAIL  ", "backslash:sym<v>")
+    .return (rx373_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<v>"  :subid("110_1279589163.12187") :method
+.sub "!PREFIX__backslash:sym<v>"  :subid("110_1280467470.54449") :method
 .annotate 'line', 3
-    new $P376, "ResizablePMCArray"
-    push $P376, "V"
-    push $P376, "v"
-    .return ($P376)
+    new $P375, "ResizablePMCArray"
+    push $P375, "V"
+    push $P375, "v"
+    .return ($P375)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<o>"  :subid("111_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "backslash:sym<o>"  :subid("111_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx380_tgt
-    .local int rx380_pos
-    .local int rx380_off
-    .local int rx380_eos
-    .local int rx380_rep
-    .local pmc rx380_cur
-    (rx380_cur, rx380_pos, rx380_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx380_cur
+    .local string rx379_tgt
+    .local int rx379_pos
+    .local int rx379_off
+    .local int rx379_eos
+    .local int rx379_rep
+    .local pmc rx379_cur
+    (rx379_cur, rx379_pos, rx379_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx379_cur
     .local pmc match
     .lex "$/", match
-    length rx380_eos, rx380_tgt
-    gt rx380_pos, rx380_eos, rx380_done
-    set rx380_off, 0
-    lt rx380_pos, 2, rx380_start
-    sub rx380_off, rx380_pos, 1
-    substr rx380_tgt, rx380_tgt, rx380_off
-  rx380_start:
-    eq $I10, 1, rx380_restart
-    rx380_cur."!cursor_debug"("START ", "backslash:sym<o>")
+    length rx379_eos, rx379_tgt
+    gt rx379_pos, rx379_eos, rx379_done
+    set rx379_off, 0
+    lt rx379_pos, 2, rx379_start
+    sub rx379_off, rx379_pos, 1
+    substr rx379_tgt, rx379_tgt, rx379_off
+  rx379_start:
+    eq $I10, 1, rx379_restart
+    rx379_cur."!cursor_debug"("START ", "backslash:sym<o>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan387_done
-    goto rxscan387_scan
-  rxscan387_loop:
-    ($P10) = rx380_cur."from"()
+    ne $I10, -1, rxscan386_done
+    goto rxscan386_scan
+  rxscan386_loop:
+    ($P10) = rx379_cur."from"()
     inc $P10
-    set rx380_pos, $P10
-    ge rx380_pos, rx380_eos, rxscan387_done
-  rxscan387_scan:
-    set_addr $I10, rxscan387_loop
-    rx380_cur."!mark_push"(0, rx380_pos, $I10)
-  rxscan387_done:
+    set rx379_pos, $P10
+    ge rx379_pos, rx379_eos, rxscan386_done
+  rxscan386_scan:
+    set_addr $I10, rxscan386_loop
+    rx379_cur."!mark_push"(0, rx379_pos, $I10)
+  rxscan386_done:
 .annotate 'line', 131
   # rx subcapture "sym"
-    set_addr $I10, rxcap_388_fail
-    rx380_cur."!mark_push"(0, rx380_pos, $I10)
+    set_addr $I10, rxcap_387_fail
+    rx379_cur."!mark_push"(0, rx379_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx380_pos, rx380_eos, rx380_fail
-    sub $I10, rx380_pos, rx380_off
-    substr $S10, rx380_tgt, $I10, 1
+    ge rx379_pos, rx379_eos, rx379_fail
+    sub $I10, rx379_pos, rx379_off
+    substr $S10, rx379_tgt, $I10, 1
     index $I11, "oO", $S10
-    lt $I11, 0, rx380_fail
-    inc rx380_pos
-    set_addr $I10, rxcap_388_fail
-    ($I12, $I11) = rx380_cur."!mark_peek"($I10)
-    rx380_cur."!cursor_pos"($I11)
-    ($P10) = rx380_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx380_pos, "")
-    rx380_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx379_fail
+    inc rx379_pos
+    set_addr $I10, rxcap_387_fail
+    ($I12, $I11) = rx379_cur."!mark_peek"($I10)
+    rx379_cur."!cursor_pos"($I11)
+    ($P10) = rx379_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx379_pos, "")
+    rx379_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_388_done
-  rxcap_388_fail:
-    goto rx380_fail
-  rxcap_388_done:
-  alt389_0:
-    set_addr $I10, alt389_1
-    rx380_cur."!mark_push"(0, rx380_pos, $I10)
+    goto rxcap_387_done
+  rxcap_387_fail:
+    goto rx379_fail
+  rxcap_387_done:
+  alt388_0:
+    set_addr $I10, alt388_1
+    rx379_cur."!mark_push"(0, rx379_pos, $I10)
   # rx subrule "octint" subtype=capture negate=
-    rx380_cur."!cursor_pos"(rx380_pos)
-    $P10 = rx380_cur."octint"()
-    unless $P10, rx380_fail
-    rx380_cur."!mark_push"(0, -1, 0, $P10)
+    rx379_cur."!cursor_pos"(rx379_pos)
+    $P10 = rx379_cur."octint"()
+    unless $P10, rx379_fail
+    rx379_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("octint")
-    rx380_pos = $P10."pos"()
-    goto alt389_end
-  alt389_1:
+    rx379_pos = $P10."pos"()
+    goto alt388_end
+  alt388_1:
   # rx literal  "["
-    add $I11, rx380_pos, 1
-    gt $I11, rx380_eos, rx380_fail
-    sub $I11, rx380_pos, rx380_off
-    substr $S10, rx380_tgt, $I11, 1
-    ne $S10, "[", rx380_fail
-    add rx380_pos, 1
+    add $I11, rx379_pos, 1
+    gt $I11, rx379_eos, rx379_fail
+    sub $I11, rx379_pos, rx379_off
+    substr $S10, rx379_tgt, $I11, 1
+    ne $S10, "[", rx379_fail
+    add rx379_pos, 1
   # rx subrule "octints" subtype=capture negate=
-    rx380_cur."!cursor_pos"(rx380_pos)
-    $P10 = rx380_cur."octints"()
-    unless $P10, rx380_fail
-    rx380_cur."!mark_push"(0, -1, 0, $P10)
+    rx379_cur."!cursor_pos"(rx379_pos)
+    $P10 = rx379_cur."octints"()
+    unless $P10, rx379_fail
+    rx379_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("octints")
-    rx380_pos = $P10."pos"()
+    rx379_pos = $P10."pos"()
   # rx literal  "]"
-    add $I11, rx380_pos, 1
-    gt $I11, rx380_eos, rx380_fail
-    sub $I11, rx380_pos, rx380_off
-    substr $S10, rx380_tgt, $I11, 1
-    ne $S10, "]", rx380_fail
-    add rx380_pos, 1
-  alt389_end:
-  # rx pass
-    rx380_cur."!cursor_pass"(rx380_pos, "backslash:sym<o>")
-    rx380_cur."!cursor_debug"("PASS  ", "backslash:sym<o>", " at pos=", rx380_pos)
-    .return (rx380_cur)
-  rx380_restart:
-.annotate 'line', 3
-    rx380_cur."!cursor_debug"("NEXT ", "backslash:sym<o>")
-  rx380_fail:
-    (rx380_rep, rx380_pos, $I10, $P10) = rx380_cur."!mark_fail"(0)
-    lt rx380_pos, -1, rx380_done
-    eq rx380_pos, -1, rx380_fail
-    jump $I10
-  rx380_done:
-    rx380_cur."!cursor_fail"()
-    rx380_cur."!cursor_debug"("FAIL  ", "backslash:sym<o>")
-    .return (rx380_cur)
+    add $I11, rx379_pos, 1
+    gt $I11, rx379_eos, rx379_fail
+    sub $I11, rx379_pos, rx379_off
+    substr $S10, rx379_tgt, $I11, 1
+    ne $S10, "]", rx379_fail
+    add rx379_pos, 1
+  alt388_end:
+  # rx pass
+    rx379_cur."!cursor_pass"(rx379_pos, "backslash:sym<o>")
+    rx379_cur."!cursor_debug"("PASS  ", "backslash:sym<o>", " at pos=", rx379_pos)
+    .return (rx379_cur)
+  rx379_restart:
+.annotate 'line', 3
+    rx379_cur."!cursor_debug"("NEXT ", "backslash:sym<o>")
+  rx379_fail:
+    (rx379_rep, rx379_pos, $I10, $P10) = rx379_cur."!mark_fail"(0)
+    lt rx379_pos, -1, rx379_done
+    eq rx379_pos, -1, rx379_fail
+    jump $I10
+  rx379_done:
+    rx379_cur."!cursor_fail"()
+    rx379_cur."!cursor_debug"("FAIL  ", "backslash:sym<o>")
+    .return (rx379_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<o>"  :subid("112_1279589163.12187") :method
-.annotate 'line', 3
-    $P382 = self."!PREFIX__!subrule"("octints", "O[")
-    $P383 = self."!PREFIX__!subrule"("octint", "O")
-    $P384 = self."!PREFIX__!subrule"("octints", "o[")
-    $P385 = self."!PREFIX__!subrule"("octint", "o")
-    new $P386, "ResizablePMCArray"
-    push $P386, $P382
-    push $P386, $P383
-    push $P386, $P384
-    push $P386, $P385
-    .return ($P386)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<x>"  :subid("113_1279589163.12187") :method :outer("11_1279589163.12187")
-.annotate 'line', 3
-    .local string rx391_tgt
-    .local int rx391_pos
-    .local int rx391_off
-    .local int rx391_eos
-    .local int rx391_rep
-    .local pmc rx391_cur
-    (rx391_cur, rx391_pos, rx391_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx391_cur
-    .local pmc match
-    .lex "$/", match
-    length rx391_eos, rx391_tgt
-    gt rx391_pos, rx391_eos, rx391_done
-    set rx391_off, 0
-    lt rx391_pos, 2, rx391_start
-    sub rx391_off, rx391_pos, 1
-    substr rx391_tgt, rx391_tgt, rx391_off
-  rx391_start:
-    eq $I10, 1, rx391_restart
-    rx391_cur."!cursor_debug"("START ", "backslash:sym<x>")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan398_done
-    goto rxscan398_scan
-  rxscan398_loop:
-    ($P10) = rx391_cur."from"()
-    inc $P10
-    set rx391_pos, $P10
-    ge rx391_pos, rx391_eos, rxscan398_done
-  rxscan398_scan:
-    set_addr $I10, rxscan398_loop
-    rx391_cur."!mark_push"(0, rx391_pos, $I10)
-  rxscan398_done:
+.sub "!PREFIX__backslash:sym<o>"  :subid("112_1280467470.54449") :method
+.annotate 'line', 3
+    $P381 = self."!PREFIX__!subrule"("octints", "O[")
+    $P382 = self."!PREFIX__!subrule"("octint", "O")
+    $P383 = self."!PREFIX__!subrule"("octints", "o[")
+    $P384 = self."!PREFIX__!subrule"("octint", "o")
+    new $P385, "ResizablePMCArray"
+    push $P385, $P381
+    push $P385, $P382
+    push $P385, $P383
+    push $P385, $P384
+    .return ($P385)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Grammar"]
+.sub "backslash:sym<x>"  :subid("113_1280467470.54449") :method :outer("11_1280467470.54449")
+.annotate 'line', 3
+    .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, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx390_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:
+    eq $I10, 1, rx390_restart
+    rx390_cur."!cursor_debug"("START ", "backslash:sym<x>")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan397_done
+    goto rxscan397_scan
+  rxscan397_loop:
+    ($P10) = rx390_cur."from"()
+    inc $P10
+    set rx390_pos, $P10
+    ge rx390_pos, rx390_eos, rxscan397_done
+  rxscan397_scan:
+    set_addr $I10, rxscan397_loop
+    rx390_cur."!mark_push"(0, rx390_pos, $I10)
+  rxscan397_done:
 .annotate 'line', 132
   # rx subcapture "sym"
-    set_addr $I10, rxcap_399_fail
-    rx391_cur."!mark_push"(0, rx391_pos, $I10)
+    set_addr $I10, rxcap_398_fail
+    rx390_cur."!mark_push"(0, rx390_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx391_pos, rx391_eos, rx391_fail
-    sub $I10, rx391_pos, rx391_off
-    substr $S10, rx391_tgt, $I10, 1
+    ge rx390_pos, rx390_eos, rx390_fail
+    sub $I10, rx390_pos, rx390_off
+    substr $S10, rx390_tgt, $I10, 1
     index $I11, "xX", $S10
-    lt $I11, 0, rx391_fail
-    inc rx391_pos
-    set_addr $I10, rxcap_399_fail
-    ($I12, $I11) = rx391_cur."!mark_peek"($I10)
-    rx391_cur."!cursor_pos"($I11)
-    ($P10) = rx391_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx391_pos, "")
-    rx391_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, 0, rx390_fail
+    inc rx390_pos
+    set_addr $I10, rxcap_398_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)
     $P10."!cursor_names"("sym")
-    goto rxcap_399_done
-  rxcap_399_fail:
-    goto rx391_fail
-  rxcap_399_done:
-  alt400_0:
-    set_addr $I10, alt400_1
-    rx391_cur."!mark_push"(0, rx391_pos, $I10)
+    goto rxcap_398_done
+  rxcap_398_fail:
+    goto rx390_fail
+  rxcap_398_done:
+  alt399_0:
+    set_addr $I10, alt399_1
+    rx390_cur."!mark_push"(0, rx390_pos, $I10)
   # rx subrule "hexint" subtype=capture negate=
-    rx391_cur."!cursor_pos"(rx391_pos)
-    $P10 = rx391_cur."hexint"()
-    unless $P10, rx391_fail
-    rx391_cur."!mark_push"(0, -1, 0, $P10)
+    rx390_cur."!cursor_pos"(rx390_pos)
+    $P10 = rx390_cur."hexint"()
+    unless $P10, rx390_fail
+    rx390_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("hexint")
-    rx391_pos = $P10."pos"()
-    goto alt400_end
-  alt400_1:
+    rx390_pos = $P10."pos"()
+    goto alt399_end
+  alt399_1:
   # rx literal  "["
-    add $I11, rx391_pos, 1
-    gt $I11, rx391_eos, rx391_fail
-    sub $I11, rx391_pos, rx391_off
-    substr $S10, rx391_tgt, $I11, 1
-    ne $S10, "[", rx391_fail
-    add rx391_pos, 1
+    add $I11, rx390_pos, 1
+    gt $I11, rx390_eos, rx390_fail
+    sub $I11, rx390_pos, rx390_off
+    substr $S10, rx390_tgt, $I11, 1
+    ne $S10, "[", rx390_fail
+    add rx390_pos, 1
   # rx subrule "hexints" subtype=capture negate=
-    rx391_cur."!cursor_pos"(rx391_pos)
-    $P10 = rx391_cur."hexints"()
-    unless $P10, rx391_fail
-    rx391_cur."!mark_push"(0, -1, 0, $P10)
+    rx390_cur."!cursor_pos"(rx390_pos)
+    $P10 = rx390_cur."hexints"()
+    unless $P10, rx390_fail
+    rx390_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("hexints")
-    rx391_pos = $P10."pos"()
+    rx390_pos = $P10."pos"()
   # rx literal  "]"
-    add $I11, rx391_pos, 1
-    gt $I11, rx391_eos, rx391_fail
-    sub $I11, rx391_pos, rx391_off
-    substr $S10, rx391_tgt, $I11, 1
-    ne $S10, "]", rx391_fail
-    add rx391_pos, 1
-  alt400_end:
-  # rx pass
-    rx391_cur."!cursor_pass"(rx391_pos, "backslash:sym<x>")
-    rx391_cur."!cursor_debug"("PASS  ", "backslash:sym<x>", " at pos=", rx391_pos)
-    .return (rx391_cur)
-  rx391_restart:
-.annotate 'line', 3
-    rx391_cur."!cursor_debug"("NEXT ", "backslash:sym<x>")
-  rx391_fail:
-    (rx391_rep, rx391_pos, $I10, $P10) = rx391_cur."!mark_fail"(0)
-    lt rx391_pos, -1, rx391_done
-    eq rx391_pos, -1, rx391_fail
-    jump $I10
-  rx391_done:
-    rx391_cur."!cursor_fail"()
-    rx391_cur."!cursor_debug"("FAIL  ", "backslash:sym<x>")
-    .return (rx391_cur)
+    add $I11, rx390_pos, 1
+    gt $I11, rx390_eos, rx390_fail
+    sub $I11, rx390_pos, rx390_off
+    substr $S10, rx390_tgt, $I11, 1
+    ne $S10, "]", rx390_fail
+    add rx390_pos, 1
+  alt399_end:
+  # rx pass
+    rx390_cur."!cursor_pass"(rx390_pos, "backslash:sym<x>")
+    rx390_cur."!cursor_debug"("PASS  ", "backslash:sym<x>", " at pos=", rx390_pos)
+    .return (rx390_cur)
+  rx390_restart:
+.annotate 'line', 3
+    rx390_cur."!cursor_debug"("NEXT ", "backslash:sym<x>")
+  rx390_fail:
+    (rx390_rep, rx390_pos, $I10, $P10) = rx390_cur."!mark_fail"(0)
+    lt rx390_pos, -1, rx390_done
+    eq rx390_pos, -1, rx390_fail
+    jump $I10
+  rx390_done:
+    rx390_cur."!cursor_fail"()
+    rx390_cur."!cursor_debug"("FAIL  ", "backslash:sym<x>")
+    .return (rx390_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<x>"  :subid("114_1279589163.12187") :method
-.annotate 'line', 3
-    $P393 = self."!PREFIX__!subrule"("hexints", "X[")
-    $P394 = self."!PREFIX__!subrule"("hexint", "X")
-    $P395 = self."!PREFIX__!subrule"("hexints", "x[")
-    $P396 = self."!PREFIX__!subrule"("hexint", "x")
-    new $P397, "ResizablePMCArray"
-    push $P397, $P393
-    push $P397, $P394
-    push $P397, $P395
-    push $P397, $P396
-    .return ($P397)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<c>"  :subid("115_1279589163.12187") :method :outer("11_1279589163.12187")
-.annotate 'line', 3
-    .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, $I10) = self."!cursor_start"()
-    .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:
-    eq $I10, 1, rx402_restart
-    rx402_cur."!cursor_debug"("START ", "backslash:sym<c>")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan407_done
-    goto rxscan407_scan
-  rxscan407_loop:
-    ($P10) = rx402_cur."from"()
-    inc $P10
-    set rx402_pos, $P10
-    ge rx402_pos, rx402_eos, rxscan407_done
-  rxscan407_scan:
-    set_addr $I10, rxscan407_loop
-    rx402_cur."!mark_push"(0, rx402_pos, $I10)
-  rxscan407_done:
+.sub "!PREFIX__backslash:sym<x>"  :subid("114_1280467470.54449") :method
+.annotate 'line', 3
+    $P392 = self."!PREFIX__!subrule"("hexints", "X[")
+    $P393 = self."!PREFIX__!subrule"("hexint", "X")
+    $P394 = self."!PREFIX__!subrule"("hexints", "x[")
+    $P395 = self."!PREFIX__!subrule"("hexint", "x")
+    new $P396, "ResizablePMCArray"
+    push $P396, $P392
+    push $P396, $P393
+    push $P396, $P394
+    push $P396, $P395
+    .return ($P396)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Grammar"]
+.sub "backslash:sym<c>"  :subid("115_1280467470.54449") :method :outer("11_1280467470.54449")
+.annotate 'line', 3
+    .local string rx401_tgt
+    .local int rx401_pos
+    .local int rx401_off
+    .local int rx401_eos
+    .local int rx401_rep
+    .local pmc rx401_cur
+    (rx401_cur, rx401_pos, rx401_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx401_cur
+    .local pmc match
+    .lex "$/", match
+    length rx401_eos, rx401_tgt
+    gt rx401_pos, rx401_eos, rx401_done
+    set rx401_off, 0
+    lt rx401_pos, 2, rx401_start
+    sub rx401_off, rx401_pos, 1
+    substr rx401_tgt, rx401_tgt, rx401_off
+  rx401_start:
+    eq $I10, 1, rx401_restart
+    rx401_cur."!cursor_debug"("START ", "backslash:sym<c>")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan406_done
+    goto rxscan406_scan
+  rxscan406_loop:
+    ($P10) = rx401_cur."from"()
+    inc $P10
+    set rx401_pos, $P10
+    ge rx401_pos, rx401_eos, rxscan406_done
+  rxscan406_scan:
+    set_addr $I10, rxscan406_loop
+    rx401_cur."!mark_push"(0, rx401_pos, $I10)
+  rxscan406_done:
 .annotate 'line', 133
   # rx subcapture "sym"
-    set_addr $I10, rxcap_408_fail
-    rx402_cur."!mark_push"(0, rx402_pos, $I10)
+    set_addr $I10, rxcap_407_fail
+    rx401_cur."!mark_push"(0, rx401_pos, $I10)
   # rx enumcharlist negate=0 
-    ge rx402_pos, rx402_eos, rx402_fail
-    sub $I10, rx402_pos, rx402_off
-    substr $S10, rx402_tgt, $I10, 1
+    ge rx401_pos, rx401_eos, rx401_fail
+    sub $I10, rx401_pos, rx401_off
+    substr $S10, rx401_tgt, $I10, 1
     index $I11, "cC", $S10
-    lt $I11, 0, rx402_fail
-    inc rx402_pos
-    set_addr $I10, rxcap_408_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)
+    lt $I11, 0, rx401_fail
+    inc rx401_pos
+    set_addr $I10, rxcap_407_fail
+    ($I12, $I11) = rx401_cur."!mark_peek"($I10)
+    rx401_cur."!cursor_pos"($I11)
+    ($P10) = rx401_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx401_pos, "")
+    rx401_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_408_done
-  rxcap_408_fail:
-    goto rx402_fail
-  rxcap_408_done:
+    goto rxcap_407_done
+  rxcap_407_fail:
+    goto rx401_fail
+  rxcap_407_done:
   # rx subrule "charspec" subtype=capture negate=
-    rx402_cur."!cursor_pos"(rx402_pos)
-    $P10 = rx402_cur."charspec"()
-    unless $P10, rx402_fail
-    rx402_cur."!mark_push"(0, -1, 0, $P10)
+    rx401_cur."!cursor_pos"(rx401_pos)
+    $P10 = rx401_cur."charspec"()
+    unless $P10, rx401_fail
+    rx401_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("charspec")
-    rx402_pos = $P10."pos"()
+    rx401_pos = $P10."pos"()
   # rx pass
-    rx402_cur."!cursor_pass"(rx402_pos, "backslash:sym<c>")
-    rx402_cur."!cursor_debug"("PASS  ", "backslash:sym<c>", " at pos=", rx402_pos)
-    .return (rx402_cur)
-  rx402_restart:
+    rx401_cur."!cursor_pass"(rx401_pos, "backslash:sym<c>")
+    rx401_cur."!cursor_debug"("PASS  ", "backslash:sym<c>", " at pos=", rx401_pos)
+    .return (rx401_cur)
+  rx401_restart:
 .annotate 'line', 3
-    rx402_cur."!cursor_debug"("NEXT ", "backslash:sym<c>")
-  rx402_fail:
-    (rx402_rep, rx402_pos, $I10, $P10) = rx402_cur."!mark_fail"(0)
-    lt rx402_pos, -1, rx402_done
-    eq rx402_pos, -1, rx402_fail
+    rx401_cur."!cursor_debug"("NEXT ", "backslash:sym<c>")
+  rx401_fail:
+    (rx401_rep, rx401_pos, $I10, $P10) = rx401_cur."!mark_fail"(0)
+    lt rx401_pos, -1, rx401_done
+    eq rx401_pos, -1, rx401_fail
     jump $I10
-  rx402_done:
-    rx402_cur."!cursor_fail"()
-    rx402_cur."!cursor_debug"("FAIL  ", "backslash:sym<c>")
-    .return (rx402_cur)
+  rx401_done:
+    rx401_cur."!cursor_fail"()
+    rx401_cur."!cursor_debug"("FAIL  ", "backslash:sym<c>")
+    .return (rx401_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<c>"  :subid("116_1279589163.12187") :method
+.sub "!PREFIX__backslash:sym<c>"  :subid("116_1280467470.54449") :method
 .annotate 'line', 3
-    $P404 = self."!PREFIX__!subrule"("charspec", "C")
-    $P405 = self."!PREFIX__!subrule"("charspec", "c")
-    new $P406, "ResizablePMCArray"
-    push $P406, $P404
-    push $P406, $P405
-    .return ($P406)
+    $P403 = self."!PREFIX__!subrule"("charspec", "C")
+    $P404 = self."!PREFIX__!subrule"("charspec", "c")
+    new $P405, "ResizablePMCArray"
+    push $P405, $P403
+    push $P405, $P404
+    .return ($P405)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<A>"  :subid("117_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "backslash:sym<A>"  :subid("117_1280467470.54449") :method :outer("11_1280467470.54449")
 .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, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx410_cur
+    .local string rx409_tgt
+    .local int rx409_pos
+    .local int rx409_off
+    .local int rx409_eos
+    .local int rx409_rep
+    .local pmc rx409_cur
+    (rx409_cur, rx409_pos, rx409_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx409_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:
-    eq $I10, 1, rx410_restart
-    rx410_cur."!cursor_debug"("START ", "backslash:sym<A>")
+    length rx409_eos, rx409_tgt
+    gt rx409_pos, rx409_eos, rx409_done
+    set rx409_off, 0
+    lt rx409_pos, 2, rx409_start
+    sub rx409_off, rx409_pos, 1
+    substr rx409_tgt, rx409_tgt, rx409_off
+  rx409_start:
+    eq $I10, 1, rx409_restart
+    rx409_cur."!cursor_debug"("START ", "backslash:sym<A>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan414_done
-    goto rxscan414_scan
-  rxscan414_loop:
-    ($P10) = rx410_cur."from"()
+    ne $I10, -1, rxscan413_done
+    goto rxscan413_scan
+  rxscan413_loop:
+    ($P10) = rx409_cur."from"()
     inc $P10
-    set rx410_pos, $P10
-    ge rx410_pos, rx410_eos, rxscan414_done
-  rxscan414_scan:
-    set_addr $I10, rxscan414_loop
-    rx410_cur."!mark_push"(0, rx410_pos, $I10)
-  rxscan414_done:
+    set rx409_pos, $P10
+    ge rx409_pos, rx409_eos, rxscan413_done
+  rxscan413_scan:
+    set_addr $I10, rxscan413_loop
+    rx409_cur."!mark_push"(0, rx409_pos, $I10)
+  rxscan413_done:
 .annotate 'line', 134
   # rx literal  "A"
-    add $I11, rx410_pos, 1
-    gt $I11, rx410_eos, rx410_fail
-    sub $I11, rx410_pos, rx410_off
-    substr $S10, rx410_tgt, $I11, 1
-    ne $S10, "A", rx410_fail
-    add rx410_pos, 1
+    add $I11, rx409_pos, 1
+    gt $I11, rx409_eos, rx409_fail
+    sub $I11, rx409_pos, rx409_off
+    substr $S10, rx409_tgt, $I11, 1
+    ne $S10, "A", rx409_fail
+    add rx409_pos, 1
   # rx subrule "obs" subtype=method negate=
-    rx410_cur."!cursor_pos"(rx410_pos)
-    $P10 = rx410_cur."obs"("\\A as beginning-of-string matcher", "^")
-    unless $P10, rx410_fail
-    rx410_pos = $P10."pos"()
+    rx409_cur."!cursor_pos"(rx409_pos)
+    $P10 = rx409_cur."obs"("\\A as beginning-of-string matcher", "^")
+    unless $P10, rx409_fail
+    rx409_pos = $P10."pos"()
   # rx pass
-    rx410_cur."!cursor_pass"(rx410_pos, "backslash:sym<A>")
-    rx410_cur."!cursor_debug"("PASS  ", "backslash:sym<A>", " at pos=", rx410_pos)
-    .return (rx410_cur)
-  rx410_restart:
+    rx409_cur."!cursor_pass"(rx409_pos, "backslash:sym<A>")
+    rx409_cur."!cursor_debug"("PASS  ", "backslash:sym<A>", " at pos=", rx409_pos)
+    .return (rx409_cur)
+  rx409_restart:
 .annotate 'line', 3
-    rx410_cur."!cursor_debug"("NEXT ", "backslash:sym<A>")
-  rx410_fail:
-    (rx410_rep, rx410_pos, $I10, $P10) = rx410_cur."!mark_fail"(0)
-    lt rx410_pos, -1, rx410_done
-    eq rx410_pos, -1, rx410_fail
+    rx409_cur."!cursor_debug"("NEXT ", "backslash:sym<A>")
+  rx409_fail:
+    (rx409_rep, rx409_pos, $I10, $P10) = rx409_cur."!mark_fail"(0)
+    lt rx409_pos, -1, rx409_done
+    eq rx409_pos, -1, rx409_fail
     jump $I10
-  rx410_done:
-    rx410_cur."!cursor_fail"()
-    rx410_cur."!cursor_debug"("FAIL  ", "backslash:sym<A>")
-    .return (rx410_cur)
+  rx409_done:
+    rx409_cur."!cursor_fail"()
+    rx409_cur."!cursor_debug"("FAIL  ", "backslash:sym<A>")
+    .return (rx409_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<A>"  :subid("118_1279589163.12187") :method
+.sub "!PREFIX__backslash:sym<A>"  :subid("118_1280467470.54449") :method
 .annotate 'line', 3
-    $P412 = self."!PREFIX__!subrule"("obs", "A")
-    new $P413, "ResizablePMCArray"
-    push $P413, $P412
-    .return ($P413)
+    $P411 = self."!PREFIX__!subrule"("obs", "A")
+    new $P412, "ResizablePMCArray"
+    push $P412, $P411
+    .return ($P412)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<z>"  :subid("119_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "backslash:sym<z>"  :subid("119_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx416_tgt
-    .local int rx416_pos
-    .local int rx416_off
-    .local int rx416_eos
-    .local int rx416_rep
-    .local pmc rx416_cur
-    (rx416_cur, rx416_pos, rx416_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx416_cur
+    .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, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx415_cur
     .local pmc match
     .lex "$/", match
-    length rx416_eos, rx416_tgt
-    gt rx416_pos, rx416_eos, rx416_done
-    set rx416_off, 0
-    lt rx416_pos, 2, rx416_start
-    sub rx416_off, rx416_pos, 1
-    substr rx416_tgt, rx416_tgt, rx416_off
-  rx416_start:
-    eq $I10, 1, rx416_restart
-    rx416_cur."!cursor_debug"("START ", "backslash:sym<z>")
+    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:
+    eq $I10, 1, rx415_restart
+    rx415_cur."!cursor_debug"("START ", "backslash:sym<z>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan420_done
-    goto rxscan420_scan
-  rxscan420_loop:
-    ($P10) = rx416_cur."from"()
+    ne $I10, -1, rxscan419_done
+    goto rxscan419_scan
+  rxscan419_loop:
+    ($P10) = rx415_cur."from"()
     inc $P10
-    set rx416_pos, $P10
-    ge rx416_pos, rx416_eos, rxscan420_done
-  rxscan420_scan:
-    set_addr $I10, rxscan420_loop
-    rx416_cur."!mark_push"(0, rx416_pos, $I10)
-  rxscan420_done:
+    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', 135
   # rx literal  "z"
-    add $I11, rx416_pos, 1
-    gt $I11, rx416_eos, rx416_fail
-    sub $I11, rx416_pos, rx416_off
-    substr $S10, rx416_tgt, $I11, 1
-    ne $S10, "z", rx416_fail
-    add rx416_pos, 1
+    add $I11, rx415_pos, 1
+    gt $I11, rx415_eos, rx415_fail
+    sub $I11, rx415_pos, rx415_off
+    substr $S10, rx415_tgt, $I11, 1
+    ne $S10, "z", rx415_fail
+    add rx415_pos, 1
   # rx subrule "obs" subtype=method negate=
-    rx416_cur."!cursor_pos"(rx416_pos)
-    $P10 = rx416_cur."obs"("\\z as end-of-string matcher", "$")
-    unless $P10, rx416_fail
-    rx416_pos = $P10."pos"()
+    rx415_cur."!cursor_pos"(rx415_pos)
+    $P10 = rx415_cur."obs"("\\z as end-of-string matcher", "$")
+    unless $P10, rx415_fail
+    rx415_pos = $P10."pos"()
   # rx pass
-    rx416_cur."!cursor_pass"(rx416_pos, "backslash:sym<z>")
-    rx416_cur."!cursor_debug"("PASS  ", "backslash:sym<z>", " at pos=", rx416_pos)
-    .return (rx416_cur)
-  rx416_restart:
+    rx415_cur."!cursor_pass"(rx415_pos, "backslash:sym<z>")
+    rx415_cur."!cursor_debug"("PASS  ", "backslash:sym<z>", " at pos=", rx415_pos)
+    .return (rx415_cur)
+  rx415_restart:
 .annotate 'line', 3
-    rx416_cur."!cursor_debug"("NEXT ", "backslash:sym<z>")
-  rx416_fail:
-    (rx416_rep, rx416_pos, $I10, $P10) = rx416_cur."!mark_fail"(0)
-    lt rx416_pos, -1, rx416_done
-    eq rx416_pos, -1, rx416_fail
+    rx415_cur."!cursor_debug"("NEXT ", "backslash:sym<z>")
+  rx415_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
-  rx416_done:
-    rx416_cur."!cursor_fail"()
-    rx416_cur."!cursor_debug"("FAIL  ", "backslash:sym<z>")
-    .return (rx416_cur)
+  rx415_done:
+    rx415_cur."!cursor_fail"()
+    rx415_cur."!cursor_debug"("FAIL  ", "backslash:sym<z>")
+    .return (rx415_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<z>"  :subid("120_1279589163.12187") :method
+.sub "!PREFIX__backslash:sym<z>"  :subid("120_1280467470.54449") :method
 .annotate 'line', 3
-    $P418 = self."!PREFIX__!subrule"("obs", "z")
-    new $P419, "ResizablePMCArray"
-    push $P419, $P418
-    .return ($P419)
+    $P417 = self."!PREFIX__!subrule"("obs", "z")
+    new $P418, "ResizablePMCArray"
+    push $P418, $P417
+    .return ($P418)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Z>"  :subid("121_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "backslash:sym<Z>"  :subid("121_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx422_tgt
-    .local int rx422_pos
-    .local int rx422_off
-    .local int rx422_eos
-    .local int rx422_rep
-    .local pmc rx422_cur
-    (rx422_cur, rx422_pos, rx422_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx422_cur
+    .local string rx421_tgt
+    .local int rx421_pos
+    .local int rx421_off
+    .local int rx421_eos
+    .local int rx421_rep
+    .local pmc rx421_cur
+    (rx421_cur, rx421_pos, rx421_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx421_cur
     .local pmc match
     .lex "$/", match
-    length rx422_eos, rx422_tgt
-    gt rx422_pos, rx422_eos, rx422_done
-    set rx422_off, 0
-    lt rx422_pos, 2, rx422_start
-    sub rx422_off, rx422_pos, 1
-    substr rx422_tgt, rx422_tgt, rx422_off
-  rx422_start:
-    eq $I10, 1, rx422_restart
-    rx422_cur."!cursor_debug"("START ", "backslash:sym<Z>")
+    length rx421_eos, rx421_tgt
+    gt rx421_pos, rx421_eos, rx421_done
+    set rx421_off, 0
+    lt rx421_pos, 2, rx421_start
+    sub rx421_off, rx421_pos, 1
+    substr rx421_tgt, rx421_tgt, rx421_off
+  rx421_start:
+    eq $I10, 1, rx421_restart
+    rx421_cur."!cursor_debug"("START ", "backslash:sym<Z>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan426_done
-    goto rxscan426_scan
-  rxscan426_loop:
-    ($P10) = rx422_cur."from"()
+    ne $I10, -1, rxscan425_done
+    goto rxscan425_scan
+  rxscan425_loop:
+    ($P10) = rx421_cur."from"()
     inc $P10
-    set rx422_pos, $P10
-    ge rx422_pos, rx422_eos, rxscan426_done
-  rxscan426_scan:
-    set_addr $I10, rxscan426_loop
-    rx422_cur."!mark_push"(0, rx422_pos, $I10)
-  rxscan426_done:
+    set rx421_pos, $P10
+    ge rx421_pos, rx421_eos, rxscan425_done
+  rxscan425_scan:
+    set_addr $I10, rxscan425_loop
+    rx421_cur."!mark_push"(0, rx421_pos, $I10)
+  rxscan425_done:
 .annotate 'line', 136
   # rx literal  "Z"
-    add $I11, rx422_pos, 1
-    gt $I11, rx422_eos, rx422_fail
-    sub $I11, rx422_pos, rx422_off
-    substr $S10, rx422_tgt, $I11, 1
-    ne $S10, "Z", rx422_fail
-    add rx422_pos, 1
+    add $I11, rx421_pos, 1
+    gt $I11, rx421_eos, rx421_fail
+    sub $I11, rx421_pos, rx421_off
+    substr $S10, rx421_tgt, $I11, 1
+    ne $S10, "Z", rx421_fail
+    add rx421_pos, 1
   # rx subrule "obs" subtype=method negate=
-    rx422_cur."!cursor_pos"(rx422_pos)
-    $P10 = rx422_cur."obs"("\\Z as end-of-string matcher", "\\n?$")
-    unless $P10, rx422_fail
-    rx422_pos = $P10."pos"()
+    rx421_cur."!cursor_pos"(rx421_pos)
+    $P10 = rx421_cur."obs"("\\Z as end-of-string matcher", "\\n?$")
+    unless $P10, rx421_fail
+    rx421_pos = $P10."pos"()
   # rx pass
-    rx422_cur."!cursor_pass"(rx422_pos, "backslash:sym<Z>")
-    rx422_cur."!cursor_debug"("PASS  ", "backslash:sym<Z>", " at pos=", rx422_pos)
-    .return (rx422_cur)
-  rx422_restart:
+    rx421_cur."!cursor_pass"(rx421_pos, "backslash:sym<Z>")
+    rx421_cur."!cursor_debug"("PASS  ", "backslash:sym<Z>", " at pos=", rx421_pos)
+    .return (rx421_cur)
+  rx421_restart:
 .annotate 'line', 3
-    rx422_cur."!cursor_debug"("NEXT ", "backslash:sym<Z>")
-  rx422_fail:
-    (rx422_rep, rx422_pos, $I10, $P10) = rx422_cur."!mark_fail"(0)
-    lt rx422_pos, -1, rx422_done
-    eq rx422_pos, -1, rx422_fail
+    rx421_cur."!cursor_debug"("NEXT ", "backslash:sym<Z>")
+  rx421_fail:
+    (rx421_rep, rx421_pos, $I10, $P10) = rx421_cur."!mark_fail"(0)
+    lt rx421_pos, -1, rx421_done
+    eq rx421_pos, -1, rx421_fail
     jump $I10
-  rx422_done:
-    rx422_cur."!cursor_fail"()
-    rx422_cur."!cursor_debug"("FAIL  ", "backslash:sym<Z>")
-    .return (rx422_cur)
+  rx421_done:
+    rx421_cur."!cursor_fail"()
+    rx421_cur."!cursor_debug"("FAIL  ", "backslash:sym<Z>")
+    .return (rx421_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Z>"  :subid("122_1279589163.12187") :method
+.sub "!PREFIX__backslash:sym<Z>"  :subid("122_1280467470.54449") :method
 .annotate 'line', 3
-    $P424 = self."!PREFIX__!subrule"("obs", "Z")
-    new $P425, "ResizablePMCArray"
-    push $P425, $P424
-    .return ($P425)
+    $P423 = self."!PREFIX__!subrule"("obs", "Z")
+    new $P424, "ResizablePMCArray"
+    push $P424, $P423
+    .return ($P424)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Q>"  :subid("123_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "backslash:sym<Q>"  :subid("123_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx428_tgt
-    .local int rx428_pos
-    .local int rx428_off
-    .local int rx428_eos
-    .local int rx428_rep
-    .local pmc rx428_cur
-    (rx428_cur, rx428_pos, rx428_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx428_cur
+    .local string rx427_tgt
+    .local int rx427_pos
+    .local int rx427_off
+    .local int rx427_eos
+    .local int rx427_rep
+    .local pmc rx427_cur
+    (rx427_cur, rx427_pos, rx427_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx427_cur
     .local pmc match
     .lex "$/", match
-    length rx428_eos, rx428_tgt
-    gt rx428_pos, rx428_eos, rx428_done
-    set rx428_off, 0
-    lt rx428_pos, 2, rx428_start
-    sub rx428_off, rx428_pos, 1
-    substr rx428_tgt, rx428_tgt, rx428_off
-  rx428_start:
-    eq $I10, 1, rx428_restart
-    rx428_cur."!cursor_debug"("START ", "backslash:sym<Q>")
+    length rx427_eos, rx427_tgt
+    gt rx427_pos, rx427_eos, rx427_done
+    set rx427_off, 0
+    lt rx427_pos, 2, rx427_start
+    sub rx427_off, rx427_pos, 1
+    substr rx427_tgt, rx427_tgt, rx427_off
+  rx427_start:
+    eq $I10, 1, rx427_restart
+    rx427_cur."!cursor_debug"("START ", "backslash:sym<Q>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan432_done
-    goto rxscan432_scan
-  rxscan432_loop:
-    ($P10) = rx428_cur."from"()
+    ne $I10, -1, rxscan431_done
+    goto rxscan431_scan
+  rxscan431_loop:
+    ($P10) = rx427_cur."from"()
     inc $P10
-    set rx428_pos, $P10
-    ge rx428_pos, rx428_eos, rxscan432_done
-  rxscan432_scan:
-    set_addr $I10, rxscan432_loop
-    rx428_cur."!mark_push"(0, rx428_pos, $I10)
-  rxscan432_done:
+    set rx427_pos, $P10
+    ge rx427_pos, rx427_eos, rxscan431_done
+  rxscan431_scan:
+    set_addr $I10, rxscan431_loop
+    rx427_cur."!mark_push"(0, rx427_pos, $I10)
+  rxscan431_done:
 .annotate 'line', 137
   # rx literal  "Q"
-    add $I11, rx428_pos, 1
-    gt $I11, rx428_eos, rx428_fail
-    sub $I11, rx428_pos, rx428_off
-    substr $S10, rx428_tgt, $I11, 1
-    ne $S10, "Q", rx428_fail
-    add rx428_pos, 1
+    add $I11, rx427_pos, 1
+    gt $I11, rx427_eos, rx427_fail
+    sub $I11, rx427_pos, rx427_off
+    substr $S10, rx427_tgt, $I11, 1
+    ne $S10, "Q", rx427_fail
+    add rx427_pos, 1
   # rx subrule "obs" subtype=method negate=
-    rx428_cur."!cursor_pos"(rx428_pos)
-    $P10 = rx428_cur."obs"("\\Q as quotemeta", "quotes or literal variable match")
-    unless $P10, rx428_fail
-    rx428_pos = $P10."pos"()
+    rx427_cur."!cursor_pos"(rx427_pos)
+    $P10 = rx427_cur."obs"("\\Q as quotemeta", "quotes or literal variable match")
+    unless $P10, rx427_fail
+    rx427_pos = $P10."pos"()
   # rx pass
-    rx428_cur."!cursor_pass"(rx428_pos, "backslash:sym<Q>")
-    rx428_cur."!cursor_debug"("PASS  ", "backslash:sym<Q>", " at pos=", rx428_pos)
-    .return (rx428_cur)
-  rx428_restart:
+    rx427_cur."!cursor_pass"(rx427_pos, "backslash:sym<Q>")
+    rx427_cur."!cursor_debug"("PASS  ", "backslash:sym<Q>", " at pos=", rx427_pos)
+    .return (rx427_cur)
+  rx427_restart:
 .annotate 'line', 3
-    rx428_cur."!cursor_debug"("NEXT ", "backslash:sym<Q>")
-  rx428_fail:
-    (rx428_rep, rx428_pos, $I10, $P10) = rx428_cur."!mark_fail"(0)
-    lt rx428_pos, -1, rx428_done
-    eq rx428_pos, -1, rx428_fail
+    rx427_cur."!cursor_debug"("NEXT ", "backslash:sym<Q>")
+  rx427_fail:
+    (rx427_rep, rx427_pos, $I10, $P10) = rx427_cur."!mark_fail"(0)
+    lt rx427_pos, -1, rx427_done
+    eq rx427_pos, -1, rx427_fail
     jump $I10
-  rx428_done:
-    rx428_cur."!cursor_fail"()
-    rx428_cur."!cursor_debug"("FAIL  ", "backslash:sym<Q>")
-    .return (rx428_cur)
+  rx427_done:
+    rx427_cur."!cursor_fail"()
+    rx427_cur."!cursor_debug"("FAIL  ", "backslash:sym<Q>")
+    .return (rx427_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Q>"  :subid("124_1279589163.12187") :method
+.sub "!PREFIX__backslash:sym<Q>"  :subid("124_1280467470.54449") :method
 .annotate 'line', 3
-    $P430 = self."!PREFIX__!subrule"("obs", "Q")
-    new $P431, "ResizablePMCArray"
-    push $P431, $P430
-    .return ($P431)
+    $P429 = self."!PREFIX__!subrule"("obs", "Q")
+    new $P430, "ResizablePMCArray"
+    push $P430, $P429
+    .return ($P430)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<misc>"  :subid("125_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "backslash:sym<misc>"  :subid("125_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .local string rx434_tgt
-    .local int rx434_pos
-    .local int rx434_off
-    .local int rx434_eos
-    .local int rx434_rep
-    .local pmc rx434_cur
-    (rx434_cur, rx434_pos, rx434_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx434_cur
+    .local string rx433_tgt
+    .local int rx433_pos
+    .local int rx433_off
+    .local int rx433_eos
+    .local int rx433_rep
+    .local pmc rx433_cur
+    (rx433_cur, rx433_pos, rx433_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx433_cur
     .local pmc match
     .lex "$/", match
-    length rx434_eos, rx434_tgt
-    gt rx434_pos, rx434_eos, rx434_done
-    set rx434_off, 0
-    lt rx434_pos, 2, rx434_start
-    sub rx434_off, rx434_pos, 1
-    substr rx434_tgt, rx434_tgt, rx434_off
-  rx434_start:
-    eq $I10, 1, rx434_restart
-    rx434_cur."!cursor_debug"("START ", "backslash:sym<misc>")
+    length rx433_eos, rx433_tgt
+    gt rx433_pos, rx433_eos, rx433_done
+    set rx433_off, 0
+    lt rx433_pos, 2, rx433_start
+    sub rx433_off, rx433_pos, 1
+    substr rx433_tgt, rx433_tgt, rx433_off
+  rx433_start:
+    eq $I10, 1, rx433_restart
+    rx433_cur."!cursor_debug"("START ", "backslash:sym<misc>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan437_done
-    goto rxscan437_scan
-  rxscan437_loop:
-    ($P10) = rx434_cur."from"()
+    ne $I10, -1, rxscan436_done
+    goto rxscan436_scan
+  rxscan436_loop:
+    ($P10) = rx433_cur."from"()
     inc $P10
-    set rx434_pos, $P10
-    ge rx434_pos, rx434_eos, rxscan437_done
-  rxscan437_scan:
-    set_addr $I10, rxscan437_loop
-    rx434_cur."!mark_push"(0, rx434_pos, $I10)
-  rxscan437_done:
+    set rx433_pos, $P10
+    ge rx433_pos, rx433_eos, rxscan436_done
+  rxscan436_scan:
+    set_addr $I10, rxscan436_loop
+    rx433_cur."!mark_push"(0, rx433_pos, $I10)
+  rxscan436_done:
 .annotate 'line', 138
   # rx charclass W
-    ge rx434_pos, rx434_eos, rx434_fail
-    sub $I10, rx434_pos, rx434_off
-    is_cclass $I11, 8192, rx434_tgt, $I10
-    if $I11, rx434_fail
-    inc rx434_pos
+    ge rx433_pos, rx433_eos, rx433_fail
+    sub $I10, rx433_pos, rx433_off
+    is_cclass $I11, 8192, rx433_tgt, $I10
+    if $I11, rx433_fail
+    inc rx433_pos
   # rx pass
-    rx434_cur."!cursor_pass"(rx434_pos, "backslash:sym<misc>")
-    rx434_cur."!cursor_debug"("PASS  ", "backslash:sym<misc>", " at pos=", rx434_pos)
-    .return (rx434_cur)
-  rx434_restart:
+    rx433_cur."!cursor_pass"(rx433_pos, "backslash:sym<misc>")
+    rx433_cur."!cursor_debug"("PASS  ", "backslash:sym<misc>", " at pos=", rx433_pos)
+    .return (rx433_cur)
+  rx433_restart:
 .annotate 'line', 3
-    rx434_cur."!cursor_debug"("NEXT ", "backslash:sym<misc>")
-  rx434_fail:
-    (rx434_rep, rx434_pos, $I10, $P10) = rx434_cur."!mark_fail"(0)
-    lt rx434_pos, -1, rx434_done
-    eq rx434_pos, -1, rx434_fail
+    rx433_cur."!cursor_debug"("NEXT ", "backslash:sym<misc>")
+  rx433_fail:
+    (rx433_rep, rx433_pos, $I10, $P10) = rx433_cur."!mark_fail"(0)
+    lt rx433_pos, -1, rx433_done
+    eq rx433_pos, -1, rx433_fail
     jump $I10
-  rx434_done:
-    rx434_cur."!cursor_fail"()
-    rx434_cur."!cursor_debug"("FAIL  ", "backslash:sym<misc>")
-    .return (rx434_cur)
+  rx433_done:
+    rx433_cur."!cursor_fail"()
+    rx433_cur."!cursor_debug"("FAIL  ", "backslash:sym<misc>")
+    .return (rx433_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<misc>"  :subid("126_1279589163.12187") :method
+.sub "!PREFIX__backslash:sym<misc>"  :subid("126_1280467470.54449") :method
 .annotate 'line', 3
-    new $P436, "ResizablePMCArray"
-    push $P436, ""
-    .return ($P436)
+    new $P435, "ResizablePMCArray"
+    push $P435, ""
+    .return ($P435)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion"  :subid("127_1279589163.12187") :method
+.sub "assertion"  :subid("127_1280467470.54449") :method
 .annotate 'line', 140
-    $P439 = self."!protoregex"("assertion")
-    .return ($P439)
+    $P438 = self."!protoregex"("assertion")
+    .return ($P438)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion"  :subid("128_1279589163.12187") :method
+.sub "!PREFIX__assertion"  :subid("128_1280467470.54449") :method
 .annotate 'line', 140
-    $P441 = self."!PREFIX__!protoregex"("assertion")
-    .return ($P441)
+    $P440 = self."!PREFIX__!protoregex"("assertion")
+    .return ($P440)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<?>"  :subid("129_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "assertion:sym<?>"  :subid("129_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .const 'Sub' $P450 = "131_1279589163.12187" 
-    capture_lex $P450
-    .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, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx443_cur
-    .local pmc match
-    .lex "$/", match
-    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:
-    eq $I10, 1, rx443_restart
-    rx443_cur."!cursor_debug"("START ", "assertion:sym<?>")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan447_done
-    goto rxscan447_scan
-  rxscan447_loop:
-    ($P10) = rx443_cur."from"()
-    inc $P10
-    set rx443_pos, $P10
-    ge rx443_pos, rx443_eos, rxscan447_done
-  rxscan447_scan:
-    set_addr $I10, rxscan447_loop
-    rx443_cur."!mark_push"(0, rx443_pos, $I10)
-  rxscan447_done:
+    .const 'Sub' $P449 = "131_1280467470.54449" 
+    capture_lex $P449
+    .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, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx442_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:
+    eq $I10, 1, rx442_restart
+    rx442_cur."!cursor_debug"("START ", "assertion:sym<?>")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan446_done
+    goto rxscan446_scan
+  rxscan446_loop:
+    ($P10) = rx442_cur."from"()
+    inc $P10
+    set rx442_pos, $P10
+    ge rx442_pos, rx442_eos, rxscan446_done
+  rxscan446_scan:
+    set_addr $I10, rxscan446_loop
+    rx442_cur."!mark_push"(0, rx442_pos, $I10)
+  rxscan446_done:
 .annotate 'line', 142
   # rx literal  "?"
-    add $I11, rx443_pos, 1
-    gt $I11, rx443_eos, rx443_fail
-    sub $I11, rx443_pos, rx443_off
-    substr $S10, rx443_tgt, $I11, 1
-    ne $S10, "?", rx443_fail
-    add rx443_pos, 1
-  alt448_0:
-    set_addr $I10, alt448_1
-    rx443_cur."!mark_push"(0, rx443_pos, $I10)
+    add $I11, rx442_pos, 1
+    gt $I11, rx442_eos, rx442_fail
+    sub $I11, rx442_pos, rx442_off
+    substr $S10, rx442_tgt, $I11, 1
+    ne $S10, "?", rx442_fail
+    add rx442_pos, 1
+  alt447_0:
+    set_addr $I10, alt447_1
+    rx442_cur."!mark_push"(0, rx442_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
-    rx443_cur."!cursor_pos"(rx443_pos)
-    .const 'Sub' $P450 = "131_1279589163.12187" 
-    capture_lex $P450
-    $P10 = rx443_cur."before"($P450)
-    unless $P10, rx443_fail
-    goto alt448_end
-  alt448_1:
+    rx442_cur."!cursor_pos"(rx442_pos)
+    .const 'Sub' $P449 = "131_1280467470.54449" 
+    capture_lex $P449
+    $P10 = rx442_cur."before"($P449)
+    unless $P10, rx442_fail
+    goto alt447_end
+  alt447_1:
   # rx subrule "assertion" subtype=capture negate=
-    rx443_cur."!cursor_pos"(rx443_pos)
-    $P10 = rx443_cur."assertion"()
-    unless $P10, rx443_fail
-    rx443_cur."!mark_push"(0, -1, 0, $P10)
+    rx442_cur."!cursor_pos"(rx442_pos)
+    $P10 = rx442_cur."assertion"()
+    unless $P10, rx442_fail
+    rx442_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx443_pos = $P10."pos"()
-  alt448_end:
+    rx442_pos = $P10."pos"()
+  alt447_end:
   # rx pass
-    rx443_cur."!cursor_pass"(rx443_pos, "assertion:sym<?>")
-    rx443_cur."!cursor_debug"("PASS  ", "assertion:sym<?>", " at pos=", rx443_pos)
-    .return (rx443_cur)
-  rx443_restart:
+    rx442_cur."!cursor_pass"(rx442_pos, "assertion:sym<?>")
+    rx442_cur."!cursor_debug"("PASS  ", "assertion:sym<?>", " at pos=", rx442_pos)
+    .return (rx442_cur)
+  rx442_restart:
 .annotate 'line', 3
-    rx443_cur."!cursor_debug"("NEXT ", "assertion:sym<?>")
-  rx443_fail:
-    (rx443_rep, rx443_pos, $I10, $P10) = rx443_cur."!mark_fail"(0)
-    lt rx443_pos, -1, rx443_done
-    eq rx443_pos, -1, rx443_fail
+    rx442_cur."!cursor_debug"("NEXT ", "assertion:sym<?>")
+  rx442_fail:
+    (rx442_rep, rx442_pos, $I10, $P10) = rx442_cur."!mark_fail"(0)
+    lt rx442_pos, -1, rx442_done
+    eq rx442_pos, -1, rx442_fail
     jump $I10
-  rx443_done:
-    rx443_cur."!cursor_fail"()
-    rx443_cur."!cursor_debug"("FAIL  ", "assertion:sym<?>")
-    .return (rx443_cur)
+  rx442_done:
+    rx442_cur."!cursor_fail"()
+    rx442_cur."!cursor_debug"("FAIL  ", "assertion:sym<?>")
+    .return (rx442_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<?>"  :subid("130_1279589163.12187") :method
+.sub "!PREFIX__assertion:sym<?>"  :subid("130_1280467470.54449") :method
 .annotate 'line', 3
-    $P445 = self."!PREFIX__!subrule"("assertion", "?")
-    new $P446, "ResizablePMCArray"
-    push $P446, $P445
-    push $P446, "?"
-    .return ($P446)
+    $P444 = self."!PREFIX__!subrule"("assertion", "?")
+    new $P445, "ResizablePMCArray"
+    push $P445, $P444
+    push $P445, "?"
+    .return ($P445)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block449"  :anon :subid("131_1279589163.12187") :method :outer("129_1279589163.12187")
+.sub "_block448"  :anon :subid("131_1280467470.54449") :method :outer("129_1280467470.54449")
 .annotate 'line', 142
-    .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, $I10) = self."!cursor_start"()
-    .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:
-    eq $I10, 1, rx451_restart
-    rx451_cur."!cursor_debug"("START ", "")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan452_done
-    goto rxscan452_scan
-  rxscan452_loop:
-    ($P10) = rx451_cur."from"()
-    inc $P10
-    set rx451_pos, $P10
-    ge rx451_pos, rx451_eos, rxscan452_done
-  rxscan452_scan:
-    set_addr $I10, rxscan452_loop
-    rx451_cur."!mark_push"(0, rx451_pos, $I10)
-  rxscan452_done:
+    .local string rx450_tgt
+    .local int rx450_pos
+    .local int rx450_off
+    .local int rx450_eos
+    .local int rx450_rep
+    .local pmc rx450_cur
+    (rx450_cur, rx450_pos, rx450_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx450_cur
+    .local pmc match
+    .lex "$/", match
+    length rx450_eos, rx450_tgt
+    gt rx450_pos, rx450_eos, rx450_done
+    set rx450_off, 0
+    lt rx450_pos, 2, rx450_start
+    sub rx450_off, rx450_pos, 1
+    substr rx450_tgt, rx450_tgt, rx450_off
+  rx450_start:
+    eq $I10, 1, rx450_restart
+    rx450_cur."!cursor_debug"("START ", "")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan451_done
+    goto rxscan451_scan
+  rxscan451_loop:
+    ($P10) = rx450_cur."from"()
+    inc $P10
+    set rx450_pos, $P10
+    ge rx450_pos, rx450_eos, rxscan451_done
+  rxscan451_scan:
+    set_addr $I10, rxscan451_loop
+    rx450_cur."!mark_push"(0, rx450_pos, $I10)
+  rxscan451_done:
   # 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
-  # rx pass
-    rx451_cur."!cursor_pass"(rx451_pos, "")
-    rx451_cur."!cursor_debug"("PASS  ", "", " at pos=", rx451_pos)
-    .return (rx451_cur)
-  rx451_restart:
-    rx451_cur."!cursor_debug"("NEXT ", "")
-  rx451_fail:
-    (rx451_rep, rx451_pos, $I10, $P10) = rx451_cur."!mark_fail"(0)
-    lt rx451_pos, -1, rx451_done
-    eq rx451_pos, -1, rx451_fail
-    jump $I10
-  rx451_done:
-    rx451_cur."!cursor_fail"()
-    rx451_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx451_cur)
+    add $I11, rx450_pos, 1
+    gt $I11, rx450_eos, rx450_fail
+    sub $I11, rx450_pos, rx450_off
+    substr $S10, rx450_tgt, $I11, 1
+    ne $S10, ">", rx450_fail
+    add rx450_pos, 1
+  # rx pass
+    rx450_cur."!cursor_pass"(rx450_pos, "")
+    rx450_cur."!cursor_debug"("PASS  ", "", " at pos=", rx450_pos)
+    .return (rx450_cur)
+  rx450_restart:
+    rx450_cur."!cursor_debug"("NEXT ", "")
+  rx450_fail:
+    (rx450_rep, rx450_pos, $I10, $P10) = rx450_cur."!mark_fail"(0)
+    lt rx450_pos, -1, rx450_done
+    eq rx450_pos, -1, rx450_fail
+    jump $I10
+  rx450_done:
+    rx450_cur."!cursor_fail"()
+    rx450_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx450_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<!>"  :subid("132_1279589163.12187") :method :outer("11_1279589163.12187")
-.annotate 'line', 3
-    .const 'Sub' $P461 = "134_1279589163.12187" 
-    capture_lex $P461
-    .local string rx454_tgt
-    .local int rx454_pos
-    .local int rx454_off
-    .local int rx454_eos
-    .local int rx454_rep
-    .local pmc rx454_cur
-    (rx454_cur, rx454_pos, rx454_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx454_cur
-    .local pmc match
-    .lex "$/", match
-    length rx454_eos, rx454_tgt
-    gt rx454_pos, rx454_eos, rx454_done
-    set rx454_off, 0
-    lt rx454_pos, 2, rx454_start
-    sub rx454_off, rx454_pos, 1
-    substr rx454_tgt, rx454_tgt, rx454_off
-  rx454_start:
-    eq $I10, 1, rx454_restart
-    rx454_cur."!cursor_debug"("START ", "assertion:sym<!>")
-    $I10 = self.'from'()
-    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, rxscan458_done
-  rxscan458_scan:
-    set_addr $I10, rxscan458_loop
-    rx454_cur."!mark_push"(0, rx454_pos, $I10)
-  rxscan458_done:
+.sub "assertion:sym<!>"  :subid("132_1280467470.54449") :method :outer("11_1280467470.54449")
+.annotate 'line', 3
+    .const 'Sub' $P460 = "134_1280467470.54449" 
+    capture_lex $P460
+    .local string rx453_tgt
+    .local int rx453_pos
+    .local int rx453_off
+    .local int rx453_eos
+    .local int rx453_rep
+    .local pmc rx453_cur
+    (rx453_cur, rx453_pos, rx453_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx453_cur
+    .local pmc match
+    .lex "$/", match
+    length rx453_eos, rx453_tgt
+    gt rx453_pos, rx453_eos, rx453_done
+    set rx453_off, 0
+    lt rx453_pos, 2, rx453_start
+    sub rx453_off, rx453_pos, 1
+    substr rx453_tgt, rx453_tgt, rx453_off
+  rx453_start:
+    eq $I10, 1, rx453_restart
+    rx453_cur."!cursor_debug"("START ", "assertion:sym<!>")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan457_done
+    goto rxscan457_scan
+  rxscan457_loop:
+    ($P10) = rx453_cur."from"()
+    inc $P10
+    set rx453_pos, $P10
+    ge rx453_pos, rx453_eos, rxscan457_done
+  rxscan457_scan:
+    set_addr $I10, rxscan457_loop
+    rx453_cur."!mark_push"(0, rx453_pos, $I10)
+  rxscan457_done:
 .annotate 'line', 143
   # rx literal  "!"
-    add $I11, rx454_pos, 1
-    gt $I11, rx454_eos, rx454_fail
-    sub $I11, rx454_pos, rx454_off
-    substr $S10, rx454_tgt, $I11, 1
-    ne $S10, "!", rx454_fail
-    add rx454_pos, 1
-  alt459_0:
-    set_addr $I10, alt459_1
-    rx454_cur."!mark_push"(0, rx454_pos, $I10)
+    add $I11, rx453_pos, 1
+    gt $I11, rx453_eos, rx453_fail
+    sub $I11, rx453_pos, rx453_off
+    substr $S10, rx453_tgt, $I11, 1
+    ne $S10, "!", rx453_fail
+    add rx453_pos, 1
+  alt458_0:
+    set_addr $I10, alt458_1
+    rx453_cur."!mark_push"(0, rx453_pos, $I10)
   # rx subrule "before" subtype=zerowidth negate=
-    rx454_cur."!cursor_pos"(rx454_pos)
-    .const 'Sub' $P461 = "134_1279589163.12187" 
-    capture_lex $P461
-    $P10 = rx454_cur."before"($P461)
-    unless $P10, rx454_fail
-    goto alt459_end
-  alt459_1:
+    rx453_cur."!cursor_pos"(rx453_pos)
+    .const 'Sub' $P460 = "134_1280467470.54449" 
+    capture_lex $P460
+    $P10 = rx453_cur."before"($P460)
+    unless $P10, rx453_fail
+    goto alt458_end
+  alt458_1:
   # rx subrule "assertion" subtype=capture negate=
-    rx454_cur."!cursor_pos"(rx454_pos)
-    $P10 = rx454_cur."assertion"()
-    unless $P10, rx454_fail
-    rx454_cur."!mark_push"(0, -1, 0, $P10)
+    rx453_cur."!cursor_pos"(rx453_pos)
+    $P10 = rx453_cur."assertion"()
+    unless $P10, rx453_fail
+    rx453_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx454_pos = $P10."pos"()
-  alt459_end:
+    rx453_pos = $P10."pos"()
+  alt458_end:
   # rx pass
-    rx454_cur."!cursor_pass"(rx454_pos, "assertion:sym<!>")
-    rx454_cur."!cursor_debug"("PASS  ", "assertion:sym<!>", " at pos=", rx454_pos)
-    .return (rx454_cur)
-  rx454_restart:
+    rx453_cur."!cursor_pass"(rx453_pos, "assertion:sym<!>")
+    rx453_cur."!cursor_debug"("PASS  ", "assertion:sym<!>", " at pos=", rx453_pos)
+    .return (rx453_cur)
+  rx453_restart:
 .annotate 'line', 3
-    rx454_cur."!cursor_debug"("NEXT ", "assertion:sym<!>")
-  rx454_fail:
-    (rx454_rep, rx454_pos, $I10, $P10) = rx454_cur."!mark_fail"(0)
-    lt rx454_pos, -1, rx454_done
-    eq rx454_pos, -1, rx454_fail
+    rx453_cur."!cursor_debug"("NEXT ", "assertion:sym<!>")
+  rx453_fail:
+    (rx453_rep, rx453_pos, $I10, $P10) = rx453_cur."!mark_fail"(0)
+    lt rx453_pos, -1, rx453_done
+    eq rx453_pos, -1, rx453_fail
     jump $I10
-  rx454_done:
-    rx454_cur."!cursor_fail"()
-    rx454_cur."!cursor_debug"("FAIL  ", "assertion:sym<!>")
-    .return (rx454_cur)
+  rx453_done:
+    rx453_cur."!cursor_fail"()
+    rx453_cur."!cursor_debug"("FAIL  ", "assertion:sym<!>")
+    .return (rx453_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<!>"  :subid("133_1279589163.12187") :method
+.sub "!PREFIX__assertion:sym<!>"  :subid("133_1280467470.54449") :method
 .annotate 'line', 3
-    $P456 = self."!PREFIX__!subrule"("assertion", "!")
-    new $P457, "ResizablePMCArray"
-    push $P457, $P456
-    push $P457, "!"
-    .return ($P457)
+    $P455 = self."!PREFIX__!subrule"("assertion", "!")
+    new $P456, "ResizablePMCArray"
+    push $P456, $P455
+    push $P456, "!"
+    .return ($P456)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block460"  :anon :subid("134_1279589163.12187") :method :outer("132_1279589163.12187")
+.sub "_block459"  :anon :subid("134_1280467470.54449") :method :outer("132_1280467470.54449")
 .annotate 'line', 143
-    .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, $I10) = self."!cursor_start"()
-    .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:
-    eq $I10, 1, rx462_restart
-    rx462_cur."!cursor_debug"("START ", "")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan463_done
-    goto rxscan463_scan
-  rxscan463_loop:
-    ($P10) = rx462_cur."from"()
-    inc $P10
-    set rx462_pos, $P10
-    ge rx462_pos, rx462_eos, rxscan463_done
-  rxscan463_scan:
-    set_addr $I10, rxscan463_loop
-    rx462_cur."!mark_push"(0, rx462_pos, $I10)
-  rxscan463_done:
+    .local string rx461_tgt
+    .local int rx461_pos
+    .local int rx461_off
+    .local int rx461_eos
+    .local int rx461_rep
+    .local pmc rx461_cur
+    (rx461_cur, rx461_pos, rx461_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx461_cur
+    .local pmc match
+    .lex "$/", match
+    length rx461_eos, rx461_tgt
+    gt rx461_pos, rx461_eos, rx461_done
+    set rx461_off, 0
+    lt rx461_pos, 2, rx461_start
+    sub rx461_off, rx461_pos, 1
+    substr rx461_tgt, rx461_tgt, rx461_off
+  rx461_start:
+    eq $I10, 1, rx461_restart
+    rx461_cur."!cursor_debug"("START ", "")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan462_done
+    goto rxscan462_scan
+  rxscan462_loop:
+    ($P10) = rx461_cur."from"()
+    inc $P10
+    set rx461_pos, $P10
+    ge rx461_pos, rx461_eos, rxscan462_done
+  rxscan462_scan:
+    set_addr $I10, rxscan462_loop
+    rx461_cur."!mark_push"(0, rx461_pos, $I10)
+  rxscan462_done:
   # 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
-  # rx pass
-    rx462_cur."!cursor_pass"(rx462_pos, "")
-    rx462_cur."!cursor_debug"("PASS  ", "", " at pos=", rx462_pos)
-    .return (rx462_cur)
-  rx462_restart:
-    rx462_cur."!cursor_debug"("NEXT ", "")
-  rx462_fail:
-    (rx462_rep, rx462_pos, $I10, $P10) = rx462_cur."!mark_fail"(0)
-    lt rx462_pos, -1, rx462_done
-    eq rx462_pos, -1, rx462_fail
-    jump $I10
-  rx462_done:
-    rx462_cur."!cursor_fail"()
-    rx462_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx462_cur)
+    add $I11, rx461_pos, 1
+    gt $I11, rx461_eos, rx461_fail
+    sub $I11, rx461_pos, rx461_off
+    substr $S10, rx461_tgt, $I11, 1
+    ne $S10, ">", rx461_fail
+    add rx461_pos, 1
+  # rx pass
+    rx461_cur."!cursor_pass"(rx461_pos, "")
+    rx461_cur."!cursor_debug"("PASS  ", "", " at pos=", rx461_pos)
+    .return (rx461_cur)
+  rx461_restart:
+    rx461_cur."!cursor_debug"("NEXT ", "")
+  rx461_fail:
+    (rx461_rep, rx461_pos, $I10, $P10) = rx461_cur."!mark_fail"(0)
+    lt rx461_pos, -1, rx461_done
+    eq rx461_pos, -1, rx461_fail
+    jump $I10
+  rx461_done:
+    rx461_cur."!cursor_fail"()
+    rx461_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx461_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<method>"  :subid("135_1279589163.12187") :method :outer("11_1279589163.12187")
-.annotate 'line', 3
-    .local string rx465_tgt
-    .local int rx465_pos
-    .local int rx465_off
-    .local int rx465_eos
-    .local int rx465_rep
-    .local pmc rx465_cur
-    (rx465_cur, rx465_pos, rx465_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx465_cur
-    .local pmc match
-    .lex "$/", match
-    length rx465_eos, rx465_tgt
-    gt rx465_pos, rx465_eos, rx465_done
-    set rx465_off, 0
-    lt rx465_pos, 2, rx465_start
-    sub rx465_off, rx465_pos, 1
-    substr rx465_tgt, rx465_tgt, rx465_off
-  rx465_start:
-    eq $I10, 1, rx465_restart
-    rx465_cur."!cursor_debug"("START ", "assertion:sym<method>")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan469_done
-    goto rxscan469_scan
-  rxscan469_loop:
-    ($P10) = rx465_cur."from"()
-    inc $P10
-    set rx465_pos, $P10
-    ge rx465_pos, rx465_eos, rxscan469_done
-  rxscan469_scan:
-    set_addr $I10, rxscan469_loop
-    rx465_cur."!mark_push"(0, rx465_pos, $I10)
-  rxscan469_done:
+.sub "assertion:sym<method>"  :subid("135_1280467470.54449") :method :outer("11_1280467470.54449")
+.annotate 'line', 3
+    .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, $I10) = self."!cursor_start"()
+    .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:
+    eq $I10, 1, rx464_restart
+    rx464_cur."!cursor_debug"("START ", "assertion:sym<method>")
+    $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', 146
   # rx literal  "."
-    add $I11, rx465_pos, 1
-    gt $I11, rx465_eos, rx465_fail
-    sub $I11, rx465_pos, rx465_off
-    substr $S10, rx465_tgt, $I11, 1
-    ne $S10, ".", rx465_fail
-    add rx465_pos, 1
+    add $I11, rx464_pos, 1
+    gt $I11, rx464_eos, rx464_fail
+    sub $I11, rx464_pos, rx464_off
+    substr $S10, rx464_tgt, $I11, 1
+    ne $S10, ".", rx464_fail
+    add rx464_pos, 1
   # rx subrule "assertion" subtype=capture negate=
-    rx465_cur."!cursor_pos"(rx465_pos)
-    $P10 = rx465_cur."assertion"()
-    unless $P10, rx465_fail
-    rx465_cur."!mark_push"(0, -1, 0, $P10)
+    rx464_cur."!cursor_pos"(rx464_pos)
+    $P10 = rx464_cur."assertion"()
+    unless $P10, rx464_fail
+    rx464_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx465_pos = $P10."pos"()
+    rx464_pos = $P10."pos"()
 .annotate 'line', 145
   # rx pass
-    rx465_cur."!cursor_pass"(rx465_pos, "assertion:sym<method>")
-    rx465_cur."!cursor_debug"("PASS  ", "assertion:sym<method>", " at pos=", rx465_pos)
-    .return (rx465_cur)
-  rx465_restart:
+    rx464_cur."!cursor_pass"(rx464_pos, "assertion:sym<method>")
+    rx464_cur."!cursor_debug"("PASS  ", "assertion:sym<method>", " at pos=", rx464_pos)
+    .return (rx464_cur)
+  rx464_restart:
 .annotate 'line', 3
-    rx465_cur."!cursor_debug"("NEXT ", "assertion:sym<method>")
-  rx465_fail:
-    (rx465_rep, rx465_pos, $I10, $P10) = rx465_cur."!mark_fail"(0)
-    lt rx465_pos, -1, rx465_done
-    eq rx465_pos, -1, rx465_fail
+    rx464_cur."!cursor_debug"("NEXT ", "assertion:sym<method>")
+  rx464_fail:
+    (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
-  rx465_done:
-    rx465_cur."!cursor_fail"()
-    rx465_cur."!cursor_debug"("FAIL  ", "assertion:sym<method>")
-    .return (rx465_cur)
+  rx464_done:
+    rx464_cur."!cursor_fail"()
+    rx464_cur."!cursor_debug"("FAIL  ", "assertion:sym<method>")
+    .return (rx464_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<method>"  :subid("136_1279589163.12187") :method
+.sub "!PREFIX__assertion:sym<method>"  :subid("136_1280467470.54449") :method
 .annotate 'line', 3
-    $P467 = self."!PREFIX__!subrule"("assertion", ".")
-    new $P468, "ResizablePMCArray"
-    push $P468, $P467
-    .return ($P468)
+    $P466 = self."!PREFIX__!subrule"("assertion", ".")
+    new $P467, "ResizablePMCArray"
+    push $P467, $P466
+    .return ($P467)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<name>"  :subid("137_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "assertion:sym<name>"  :subid("137_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .const 'Sub' $P479 = "139_1279589163.12187" 
-    capture_lex $P479
-    .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, $I10) = self."!cursor_start"()
-    rx471_cur."!cursor_caparray"("arglist", "nibbler", "assertion")
-    .lex unicode:"$\x{a2}", rx471_cur
+    .const 'Sub' $P478 = "139_1280467470.54449" 
+    capture_lex $P478
+    .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, $I10) = self."!cursor_start"()
+    rx470_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
+    .lex unicode:"$\x{a2}", rx470_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:
-    eq $I10, 1, rx471_restart
-    rx471_cur."!cursor_debug"("START ", "assertion:sym<name>")
+    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:
+    eq $I10, 1, rx470_restart
+    rx470_cur."!cursor_debug"("START ", "assertion:sym<name>")
     $I10 = self.'from'()
-    ne $I10, -1, rxscan475_done
-    goto rxscan475_scan
-  rxscan475_loop:
-    ($P10) = rx471_cur."from"()
+    ne $I10, -1, rxscan474_done
+    goto rxscan474_scan
+  rxscan474_loop:
+    ($P10) = rx470_cur."from"()
     inc $P10
-    set rx471_pos, $P10
-    ge rx471_pos, rx471_eos, rxscan475_done
-  rxscan475_scan:
-    set_addr $I10, rxscan475_loop
-    rx471_cur."!mark_push"(0, rx471_pos, $I10)
-  rxscan475_done:
+    set rx470_pos, $P10
+    ge rx470_pos, rx470_eos, rxscan474_done
+  rxscan474_scan:
+    set_addr $I10, rxscan474_loop
+    rx470_cur."!mark_push"(0, rx470_pos, $I10)
+  rxscan474_done:
 .annotate 'line', 150
   # rx subrule "identifier" subtype=capture negate=
-    rx471_cur."!cursor_pos"(rx471_pos)
-    $P10 = rx471_cur."identifier"()
-    unless $P10, rx471_fail
-    rx471_cur."!mark_push"(0, -1, 0, $P10)
+    rx470_cur."!cursor_pos"(rx470_pos)
+    $P10 = rx470_cur."identifier"()
+    unless $P10, rx470_fail
+    rx470_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("longname")
-    rx471_pos = $P10."pos"()
+    rx470_pos = $P10."pos"()
 .annotate 'line', 157
-  # rx rxquantr476 ** 0..1
-    set_addr $I10, rxquantr476_done
-    rx471_cur."!mark_push"(0, rx471_pos, $I10)
-  rxquantr476_loop:
-  alt477_0:
+  # rx rxquantr475 ** 0..1
+    set_addr $I10, rxquantr475_done
+    rx470_cur."!mark_push"(0, rx470_pos, $I10)
+  rxquantr475_loop:
+  alt476_0:
 .annotate 'line', 151
-    set_addr $I10, alt477_1
-    rx471_cur."!mark_push"(0, rx471_pos, $I10)
+    set_addr $I10, alt476_1
+    rx470_cur."!mark_push"(0, rx470_pos, $I10)
 .annotate 'line', 152
   # rx subrule "before" subtype=zerowidth negate=
-    rx471_cur."!cursor_pos"(rx471_pos)
-    .const 'Sub' $P479 = "139_1279589163.12187" 
-    capture_lex $P479
-    $P10 = rx471_cur."before"($P479)
-    unless $P10, rx471_fail
-    goto alt477_end
-  alt477_1:
-    set_addr $I10, alt477_2
-    rx471_cur."!mark_push"(0, rx471_pos, $I10)
+    rx470_cur."!cursor_pos"(rx470_pos)
+    .const 'Sub' $P478 = "139_1280467470.54449" 
+    capture_lex $P478
+    $P10 = rx470_cur."before"($P478)
+    unless $P10, rx470_fail
+    goto alt476_end
+  alt476_1:
+    set_addr $I10, alt476_2
+    rx470_cur."!mark_push"(0, rx470_pos, $I10)
 .annotate 'line', 153
   # rx literal  "="
-    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
+    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 subrule "assertion" subtype=capture negate=
-    rx471_cur."!cursor_pos"(rx471_pos)
-    $P10 = rx471_cur."assertion"()
-    unless $P10, rx471_fail
-    rx471_cur."!mark_push"(0, -1, 0, $P10)
+    rx470_cur."!cursor_pos"(rx470_pos)
+    $P10 = rx470_cur."assertion"()
+    unless $P10, rx470_fail
+    rx470_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("assertion")
-    rx471_pos = $P10."pos"()
-    goto alt477_end
-  alt477_2:
-    set_addr $I10, alt477_3
-    rx471_cur."!mark_push"(0, rx471_pos, $I10)
+    rx470_pos = $P10."pos"()
+    goto alt476_end
+  alt476_2:
+    set_addr $I10, alt476_3
+    rx470_cur."!mark_push"(0, rx470_pos, $I10)
 .annotate 'line', 154
   # rx literal  ":"
-    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
+    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 subrule "arglist" subtype=capture negate=
-    rx471_cur."!cursor_pos"(rx471_pos)
-    $P10 = rx471_cur."arglist"()
-    unless $P10, rx471_fail
-    rx471_cur."!mark_push"(0, -1, 0, $P10)
+    rx470_cur."!cursor_pos"(rx470_pos)
+    $P10 = rx470_cur."arglist"()
+    unless $P10, rx470_fail
+    rx470_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx471_pos = $P10."pos"()
-    goto alt477_end
-  alt477_3:
-    set_addr $I10, alt477_4
-    rx471_cur."!mark_push"(0, rx471_pos, $I10)
+    rx470_pos = $P10."pos"()
+    goto alt476_end
+  alt476_3:
+    set_addr $I10, alt476_4
+    rx470_cur."!mark_push"(0, rx470_pos, $I10)
 .annotate 'line', 155
   # rx literal  "("
-    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
+    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 subrule "arglist" subtype=capture negate=
-    rx471_cur."!cursor_pos"(rx471_pos)
-    $P10 = rx471_cur."arglist"()
-    unless $P10, rx471_fail
-    rx471_cur."!mark_push"(0, -1, 0, $P10)
+    rx470_cur."!cursor_pos"(rx470_pos)
+    $P10 = rx470_cur."arglist"()
+    unless $P10, rx470_fail
+    rx470_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("arglist")
-    rx471_pos = $P10."pos"()
+    rx470_pos = $P10."pos"()
   # rx literal  ")"
-    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
-    goto alt477_end
-  alt477_4:
+    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
+    goto alt476_end
+  alt476_4:
 .annotate 'line', 156
   # rx subrule "normspace" subtype=method negate=
-    rx471_cur."!cursor_pos"(rx471_pos)
-    $P10 = rx471_cur."normspace"()
-    unless $P10, rx471_fail
-    rx471_pos = $P10."pos"()
+    rx470_cur."!cursor_pos"(rx470_pos)
+    $P10 = rx470_cur."normspace"()
+    unless $P10, rx470_fail
+    rx470_pos = $P10."pos"()
   # rx subrule "nibbler" subtype=capture negate=
-    rx471_cur."!cursor_pos"(rx471_pos)
-    $P10 = rx471_cur."nibbler"()
-    unless $P10, rx471_fail
-    rx471_cur."!mark_push"(0, -1, 0, $P10)
+    rx470_cur."!cursor_pos"(rx470_pos)
+    $P10 = rx470_cur."nibbler"()
+    unless $P10, rx470_fail
+    rx470_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("nibbler")
-    rx471_pos = $P10."pos"()
-  alt477_end:
+    rx470_pos = $P10."pos"()
+  alt476_end:
 .annotate 'line', 157
-    set_addr $I10, rxquantr476_done
-    (rx471_rep) = rx471_cur."!mark_commit"($I10)
-  rxquantr476_done:
+    set_addr $I10, rxquantr475_done
+    (rx470_rep) = rx470_cur."!mark_commit"($I10)
+  rxquantr475_done:
 .annotate 'line', 149
   # rx pass
-    rx471_cur."!cursor_pass"(rx471_pos, "assertion:sym<name>")
-    rx471_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx471_pos)
-    .return (rx471_cur)
-  rx471_restart:
+    rx470_cur."!cursor_pass"(rx470_pos, "assertion:sym<name>")
+    rx470_cur."!cursor_debug"("PASS  ", "assertion:sym<name>", " at pos=", rx470_pos)
+    .return (rx470_cur)
+  rx470_restart:
 .annotate 'line', 3
-    rx471_cur."!cursor_debug"("NEXT ", "assertion:sym<name>")
-  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
+    rx470_cur."!cursor_debug"("NEXT ", "assertion:sym<name>")
+  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
-  rx471_done:
-    rx471_cur."!cursor_fail"()
-    rx471_cur."!cursor_debug"("FAIL  ", "assertion:sym<name>")
-    .return (rx471_cur)
+  rx470_done:
+    rx470_cur."!cursor_fail"()
+    rx470_cur."!cursor_debug"("FAIL  ", "assertion:sym<name>")
+    .return (rx470_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<name>"  :subid("138_1279589163.12187") :method
+.sub "!PREFIX__assertion:sym<name>"  :subid("138_1280467470.54449") :method
 .annotate 'line', 3
-    $P473 = self."!PREFIX__!subrule"("identifier", "")
-    new $P474, "ResizablePMCArray"
-    push $P474, $P473
-    .return ($P474)
+    $P472 = self."!PREFIX__!subrule"("identifier", "")
+    new $P473, "ResizablePMCArray"
+    push $P473, $P472
+    .return ($P473)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block478"  :anon :subid("139_1279589163.12187") :method :outer("137_1279589163.12187")
+.sub "_block477"  :anon :subid("139_1280467470.54449") :method :outer("137_1280467470.54449")
 .annotate 'line', 152
-    .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, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx480_cur
-    .local pmc match
-    .lex "$/", match
-    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:
-    eq $I10, 1, rx480_restart
-    rx480_cur."!cursor_debug"("START ", "")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan481_done
-    goto rxscan481_scan
-  rxscan481_loop:
-    ($P10) = rx480_cur."from"()
-    inc $P10
-    set rx480_pos, $P10
-    ge rx480_pos, rx480_eos, rxscan481_done
-  rxscan481_scan:
-    set_addr $I10, rxscan481_loop
-    rx480_cur."!mark_push"(0, rx480_pos, $I10)
-  rxscan481_done:
+    .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, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx479_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:
+    eq $I10, 1, rx479_restart
+    rx479_cur."!cursor_debug"("START ", "")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan480_done
+    goto rxscan480_scan
+  rxscan480_loop:
+    ($P10) = rx479_cur."from"()
+    inc $P10
+    set rx479_pos, $P10
+    ge rx479_pos, rx479_eos, rxscan480_done
+  rxscan480_scan:
+    set_addr $I10, rxscan480_loop
+    rx479_cur."!mark_push"(0, rx479_pos, $I10)
+  rxscan480_done:
   # rx literal  ">"
-    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 pass
-    rx480_cur."!cursor_pass"(rx480_pos, "")
-    rx480_cur."!cursor_debug"("PASS  ", "", " at pos=", rx480_pos)
-    .return (rx480_cur)
-  rx480_restart:
-    rx480_cur."!cursor_debug"("NEXT ", "")
-  rx480_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
-  rx480_done:
-    rx480_cur."!cursor_fail"()
-    rx480_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx480_cur)
+    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
+  # rx pass
+    rx479_cur."!cursor_pass"(rx479_pos, "")
+    rx479_cur."!cursor_debug"("PASS  ", "", " at pos=", rx479_pos)
+    .return (rx479_cur)
+  rx479_restart:
+    rx479_cur."!cursor_debug"("NEXT ", "")
+  rx479_fail:
+    (rx479_rep, rx479_pos, $I10, $P10) = rx479_cur."!mark_fail"(0)
+    lt rx479_pos, -1, rx479_done
+    eq rx479_pos, -1, rx479_fail
+    jump $I10
+  rx479_done:
+    rx479_cur."!cursor_fail"()
+    rx479_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx479_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<[>"  :subid("140_1279589163.12187") :method :outer("11_1279589163.12187")
-.annotate 'line', 3
-    .const 'Sub' $P488 = "142_1279589163.12187" 
-    capture_lex $P488
-    .local string rx483_tgt
-    .local int rx483_pos
-    .local int rx483_off
-    .local int rx483_eos
-    .local int rx483_rep
-    .local pmc rx483_cur
-    (rx483_cur, rx483_pos, rx483_tgt, $I10) = self."!cursor_start"()
-    rx483_cur."!cursor_caparray"("cclass_elem")
-    .lex unicode:"$\x{a2}", rx483_cur
-    .local pmc match
-    .lex "$/", match
-    length rx483_eos, rx483_tgt
-    gt rx483_pos, rx483_eos, rx483_done
-    set rx483_off, 0
-    lt rx483_pos, 2, rx483_start
-    sub rx483_off, rx483_pos, 1
-    substr rx483_tgt, rx483_tgt, rx483_off
-  rx483_start:
-    eq $I10, 1, rx483_restart
-    rx483_cur."!cursor_debug"("START ", "assertion:sym<[>")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan486_done
-    goto rxscan486_scan
-  rxscan486_loop:
-    ($P10) = rx483_cur."from"()
-    inc $P10
-    set rx483_pos, $P10
-    ge rx483_pos, rx483_eos, rxscan486_done
-  rxscan486_scan:
-    set_addr $I10, rxscan486_loop
-    rx483_cur."!mark_push"(0, rx483_pos, $I10)
-  rxscan486_done:
+.sub "assertion:sym<[>"  :subid("140_1280467470.54449") :method :outer("11_1280467470.54449")
+.annotate 'line', 3
+    .const 'Sub' $P487 = "142_1280467470.54449" 
+    capture_lex $P487
+    .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, $I10) = self."!cursor_start"()
+    rx482_cur."!cursor_caparray"("cclass_elem")
+    .lex unicode:"$\x{a2}", rx482_cur
+    .local pmc match
+    .lex "$/", match
+    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:
+    eq $I10, 1, rx482_restart
+    rx482_cur."!cursor_debug"("START ", "assertion:sym<[>")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan485_done
+    goto rxscan485_scan
+  rxscan485_loop:
+    ($P10) = rx482_cur."from"()
+    inc $P10
+    set rx482_pos, $P10
+    ge rx482_pos, rx482_eos, rxscan485_done
+  rxscan485_scan:
+    set_addr $I10, rxscan485_loop
+    rx482_cur."!mark_push"(0, rx482_pos, $I10)
+  rxscan485_done:
 .annotate 'line', 160
   # rx subrule "before" subtype=zerowidth negate=
-    rx483_cur."!cursor_pos"(rx483_pos)
-    .const 'Sub' $P488 = "142_1279589163.12187" 
-    capture_lex $P488
-    $P10 = rx483_cur."before"($P488)
-    unless $P10, rx483_fail
-  # rx rxquantr492 ** 1..*
-    set_addr $I10, rxquantr492_done
-    rx483_cur."!mark_push"(0, -1, $I10)
-  rxquantr492_loop:
+    rx482_cur."!cursor_pos"(rx482_pos)
+    .const 'Sub' $P487 = "142_1280467470.54449" 
+    capture_lex $P487
+    $P10 = rx482_cur."before"($P487)
+    unless $P10, rx482_fail
+  # rx rxquantr491 ** 1..*
+    set_addr $I10, rxquantr491_done
+    rx482_cur."!mark_push"(0, -1, $I10)
+  rxquantr491_loop:
   # rx subrule "cclass_elem" subtype=capture negate=
-    rx483_cur."!cursor_pos"(rx483_pos)
-    $P10 = rx483_cur."cclass_elem"()
-    unless $P10, rx483_fail
-    goto rxsubrule493_pass
-  rxsubrule493_back:
+    rx482_cur."!cursor_pos"(rx482_pos)
+    $P10 = rx482_cur."cclass_elem"()
+    unless $P10, rx482_fail
+    goto rxsubrule492_pass
+  rxsubrule492_back:
     $P10 = $P10."!cursor_next"()
-    unless $P10, rx483_fail
-  rxsubrule493_pass:
-    set_addr $I10, rxsubrule493_back
-    rx483_cur."!mark_push"(0, rx483_pos, $I10, $P10)
+    unless $P10, rx482_fail
+  rxsubrule492_pass:
+    set_addr $I10, rxsubrule492_back
+    rx482_cur."!mark_push"(0, rx482_pos, $I10, $P10)
     $P10."!cursor_names"("cclass_elem")
-    rx483_pos = $P10."pos"()
-    set_addr $I10, rxquantr492_done
-    (rx483_rep) = rx483_cur."!mark_commit"($I10)
-    set_addr $I10, rxquantr492_done
-    rx483_cur."!mark_push"(rx483_rep, rx483_pos, $I10)
-    goto rxquantr492_loop
-  rxquantr492_done:
+    rx482_pos = $P10."pos"()
+    set_addr $I10, rxquantr491_done
+    (rx482_rep) = rx482_cur."!mark_commit"($I10)
+    set_addr $I10, rxquantr491_done
+    rx482_cur."!mark_push"(rx482_rep, rx482_pos, $I10)
+    goto rxquantr491_loop
+  rxquantr491_done:
   # rx pass
-    rx483_cur."!cursor_pass"(rx483_pos, "assertion:sym<[>")
-    rx483_cur."!cursor_debug"("PASS  ", "assertion:sym<[>", " at pos=", rx483_pos)
-    .return (rx483_cur)
-  rx483_restart:
+    rx482_cur."!cursor_pass"(rx482_pos, "assertion:sym<[>")
+    rx482_cur."!cursor_debug"("PASS  ", "assertion:sym<[>", " at pos=", rx482_pos)
+    .return (rx482_cur)
+  rx482_restart:
 .annotate 'line', 3
-    rx483_cur."!cursor_debug"("NEXT ", "assertion:sym<[>")
-  rx483_fail:
-    (rx483_rep, rx483_pos, $I10, $P10) = rx483_cur."!mark_fail"(0)
-    lt rx483_pos, -1, rx483_done
-    eq rx483_pos, -1, rx483_fail
+    rx482_cur."!cursor_debug"("NEXT ", "assertion:sym<[>")
+  rx482_fail:
+    (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
-  rx483_done:
-    rx483_cur."!cursor_fail"()
-    rx483_cur."!cursor_debug"("FAIL  ", "assertion:sym<[>")
-    .return (rx483_cur)
+  rx482_done:
+    rx482_cur."!cursor_fail"()
+    rx482_cur."!cursor_debug"("FAIL  ", "assertion:sym<[>")
+    .return (rx482_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<[>"  :subid("141_1279589163.12187") :method
+.sub "!PREFIX__assertion:sym<[>"  :subid("141_1280467470.54449") :method
 .annotate 'line', 3
-    new $P485, "ResizablePMCArray"
-    push $P485, ""
-    .return ($P485)
+    new $P484, "ResizablePMCArray"
+    push $P484, ""
+    .return ($P484)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block487"  :anon :subid("142_1279589163.12187") :method :outer("140_1279589163.12187")
+.sub "_block486"  :anon :subid("142_1280467470.54449") :method :outer("140_1280467470.54449")
 .annotate 'line', 160
-    .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, $I10) = self."!cursor_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:
-    eq $I10, 1, rx489_restart
-    rx489_cur."!cursor_debug"("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:
-  alt491_0:
-    set_addr $I10, alt491_1
-    rx489_cur."!mark_push"(0, rx489_pos, $I10)
+    .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, $I10) = self."!cursor_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:
+    eq $I10, 1, rx488_restart
+    rx488_cur."!cursor_debug"("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:
+  alt490_0:
+    set_addr $I10, alt490_1
+    rx488_cur."!mark_push"(0, rx488_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
-    goto alt491_end
-  alt491_1:
-    set_addr $I10, alt491_2
-    rx489_cur."!mark_push"(0, rx489_pos, $I10)
+    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
+    goto alt490_end
+  alt490_1:
+    set_addr $I10, alt490_2
+    rx488_cur."!mark_push"(0, rx488_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
-    goto alt491_end
-  alt491_2:
+    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
+    goto alt490_end
+  alt490_2:
   # 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
-  alt491_end:
-  # rx pass
-    rx489_cur."!cursor_pass"(rx489_pos, "")
-    rx489_cur."!cursor_debug"("PASS  ", "", " at pos=", rx489_pos)
-    .return (rx489_cur)
-  rx489_restart:
-    rx489_cur."!cursor_debug"("NEXT ", "")
-  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)
+    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
+  alt490_end:
+  # rx pass
+    rx488_cur."!cursor_pass"(rx488_pos, "")
+    rx488_cur."!cursor_debug"("PASS  ", "", " at pos=", rx488_pos)
+    .return (rx488_cur)
+  rx488_restart:
+    rx488_cur."!cursor_debug"("NEXT ", "")
+  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)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "cclass_elem"  :subid("143_1279589163.12187") :method :outer("11_1279589163.12187")
-.annotate 'line', 3
-    .const 'Sub' $P506 = "145_1279589163.12187" 
-    capture_lex $P506
-    .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, $I10) = self."!cursor_start"()
-    rx495_cur."!cursor_caparray"("charspec")
-    .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:
-    eq $I10, 1, rx495_restart
-    rx495_cur."!cursor_debug"("START ", "cclass_elem")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan498_done
-    goto rxscan498_scan
-  rxscan498_loop:
-    ($P10) = rx495_cur."from"()
-    inc $P10
-    set rx495_pos, $P10
-    ge rx495_pos, rx495_eos, rxscan498_done
-  rxscan498_scan:
-    set_addr $I10, rxscan498_loop
-    rx495_cur."!mark_push"(0, rx495_pos, $I10)
-  rxscan498_done:
+.sub "cclass_elem"  :subid("143_1280467470.54449") :method :outer("11_1280467470.54449")
+.annotate 'line', 3
+    .const 'Sub' $P505 = "145_1280467470.54449" 
+    capture_lex $P505
+    .local string rx494_tgt
+    .local int rx494_pos
+    .local int rx494_off
+    .local int rx494_eos
+    .local int rx494_rep
+    .local pmc rx494_cur
+    (rx494_cur, rx494_pos, rx494_tgt, $I10) = self."!cursor_start"()
+    rx494_cur."!cursor_caparray"("charspec")
+    .lex unicode:"$\x{a2}", rx494_cur
+    .local pmc match
+    .lex "$/", match
+    length rx494_eos, rx494_tgt
+    gt rx494_pos, rx494_eos, rx494_done
+    set rx494_off, 0
+    lt rx494_pos, 2, rx494_start
+    sub rx494_off, rx494_pos, 1
+    substr rx494_tgt, rx494_tgt, rx494_off
+  rx494_start:
+    eq $I10, 1, rx494_restart
+    rx494_cur."!cursor_debug"("START ", "cclass_elem")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan497_done
+    goto rxscan497_scan
+  rxscan497_loop:
+    ($P10) = rx494_cur."from"()
+    inc $P10
+    set rx494_pos, $P10
+    ge rx494_pos, rx494_eos, rxscan497_done
+  rxscan497_scan:
+    set_addr $I10, rxscan497_loop
+    rx494_cur."!mark_push"(0, rx494_pos, $I10)
+  rxscan497_done:
 .annotate 'line', 163
   # rx subcapture "sign"
-    set_addr $I10, rxcap_500_fail
-    rx495_cur."!mark_push"(0, rx495_pos, $I10)
-  alt499_0:
-    set_addr $I10, alt499_1
-    rx495_cur."!mark_push"(0, rx495_pos, $I10)
+    set_addr $I10, rxcap_499_fail
+    rx494_cur."!mark_push"(0, rx494_pos, $I10)
+  alt498_0:
+    set_addr $I10, alt498_1
+    rx494_cur."!mark_push"(0, rx494_pos, $I10)
   # rx literal  "+"
-    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
-    goto alt499_end
-  alt499_1:
-    set_addr $I10, alt499_2
-    rx495_cur."!mark_push"(0, rx495_pos, $I10)
+    add $I11, rx494_pos, 1
+    gt $I11, rx494_eos, rx494_fail
+    sub $I11, rx494_pos, rx494_off
+    substr $S10, rx494_tgt, $I11, 1
+    ne $S10, "+", rx494_fail
+    add rx494_pos, 1
+    goto alt498_end
+  alt498_1:
+    set_addr $I10, alt498_2
+    rx494_cur."!mark_push"(0, rx494_pos, $I10)
   # rx literal  "-"
-    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
-    goto alt499_end
-  alt499_2:
-  alt499_end:
-    set_addr $I10, rxcap_500_fail
-    ($I12, $I11) = rx495_cur."!mark_peek"($I10)
-    rx495_cur."!cursor_pos"($I11)
-    ($P10) = rx495_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx495_pos, "")
-    rx495_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx494_pos, 1
+    gt $I11, rx494_eos, rx494_fail
+    sub $I11, rx494_pos, rx494_off
+    substr $S10, rx494_tgt, $I11, 1
+    ne $S10, "-", rx494_fail
+    add rx494_pos, 1
+    goto alt498_end
+  alt498_2:
+  alt498_end:
+    set_addr $I10, rxcap_499_fail
+    ($I12, $I11) = rx494_cur."!mark_peek"($I10)
+    rx494_cur."!cursor_pos"($I11)
+    ($P10) = rx494_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx494_pos, "")
+    rx494_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sign")
-    goto rxcap_500_done
-  rxcap_500_fail:
-    goto rx495_fail
-  rxcap_500_done:
+    goto rxcap_499_done
+  rxcap_499_fail:
+    goto rx494_fail
+  rxcap_499_done:
 .annotate 'line', 164
-  # rx rxquantr501 ** 0..1
-    set_addr $I10, rxquantr501_done
-    rx495_cur."!mark_push"(0, rx495_pos, $I10)
-  rxquantr501_loop:
+  # rx rxquantr500 ** 0..1
+    set_addr $I10, rxquantr500_done
+    rx494_cur."!mark_push"(0, rx494_pos, $I10)
+  rxquantr500_loop:
   # rx subrule "normspace" subtype=method negate=
-    rx495_cur."!cursor_pos"(rx495_pos)
-    $P10 = rx495_cur."normspace"()
-    unless $P10, rx495_fail
-    goto rxsubrule502_pass
-  rxsubrule502_back:
+    rx494_cur."!cursor_pos"(rx494_pos)
+    $P10 = rx494_cur."normspace"()
+    unless $P10, rx494_fail
+    goto rxsubrule501_pass
+  rxsubrule501_back:
     $P10 = $P10."!cursor_next"()
-    unless $P10, rx495_fail
-  rxsubrule502_pass:
-    set_addr $I10, rxsubrule502_back
-    rx495_cur."!mark_push"(0, rx495_pos, $I10, $P10)
-    rx495_pos = $P10."pos"()
-    set_addr $I10, rxquantr501_done
-    (rx495_rep) = rx495_cur."!mark_commit"($I10)
-  rxquantr501_done:
-  alt503_0:
+    unless $P10, rx494_fail
+  rxsubrule501_pass:
+    set_addr $I10, rxsubrule501_back
+    rx494_cur."!mark_push"(0, rx494_pos, $I10, $P10)
+    rx494_pos = $P10."pos"()
+    set_addr $I10, rxquantr500_done
+    (rx494_rep) = rx494_cur."!mark_commit"($I10)
+  rxquantr500_done:
+  alt502_0:
 .annotate 'line', 165
-    set_addr $I10, alt503_1
-    rx495_cur."!mark_push"(0, rx495_pos, $I10)
+    set_addr $I10, alt502_1
+    rx494_cur."!mark_push"(0, rx494_pos, $I10)
 .annotate 'line', 166
   # rx literal  "["
-    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
+    add $I11, rx494_pos, 1
+    gt $I11, rx494_eos, rx494_fail
+    sub $I11, rx494_pos, rx494_off
+    substr $S10, rx494_tgt, $I11, 1
+    ne $S10, "[", rx494_fail
+    add rx494_pos, 1
 .annotate 'line', 169
-  # rx rxquantr504 ** 0..*
-    set_addr $I10, rxquantr504_done
-    rx495_cur."!mark_push"(0, rx495_pos, $I10)
-  rxquantr504_loop:
+  # rx rxquantr503 ** 0..*
+    set_addr $I10, rxquantr503_done
+    rx494_cur."!mark_push"(0, rx494_pos, $I10)
+  rxquantr503_loop:
 .annotate 'line', 166
-  # rx subrule $P506 subtype=capture negate=
-    rx495_cur."!cursor_pos"(rx495_pos)
-    .const 'Sub' $P506 = "145_1279589163.12187" 
-    capture_lex $P506
-    $P10 = rx495_cur.$P506()
-    unless $P10, rx495_fail
-    goto rxsubrule524_pass
-  rxsubrule524_back:
+  # rx subrule $P505 subtype=capture negate=
+    rx494_cur."!cursor_pos"(rx494_pos)
+    .const 'Sub' $P505 = "145_1280467470.54449" 
+    capture_lex $P505
+    $P10 = rx494_cur.$P505()
+    unless $P10, rx494_fail
+    goto rxsubrule523_pass
+  rxsubrule523_back:
     $P10 = $P10."!cursor_next"()
-    unless $P10, rx495_fail
-  rxsubrule524_pass:
-    set_addr $I10, rxsubrule524_back
-    rx495_cur."!mark_push"(0, rx495_pos, $I10, $P10)
+    unless $P10, rx494_fail
+  rxsubrule523_pass:
+    set_addr $I10, rxsubrule523_back
+    rx494_cur."!mark_push"(0, rx494_pos, $I10, $P10)
     $P10."!cursor_names"("charspec")
-    rx495_pos = $P10."pos"()
+    rx494_pos = $P10."pos"()
 .annotate 'line', 169
-    set_addr $I10, rxquantr504_done
-    (rx495_rep) = rx495_cur."!mark_commit"($I10)
-    set_addr $I10, rxquantr504_done
-    rx495_cur."!mark_push"(rx495_rep, rx495_pos, $I10)
-    goto rxquantr504_loop
-  rxquantr504_done:
+    set_addr $I10, rxquantr503_done
+    (rx494_rep) = rx494_cur."!mark_commit"($I10)
+    set_addr $I10, rxquantr503_done
+    rx494_cur."!mark_push"(rx494_rep, rx494_pos, $I10)
+    goto rxquantr503_loop
+  rxquantr503_done:
 .annotate 'line', 170
   # rx charclass_q s r 0..-1
-    sub $I10, rx495_pos, rx495_off
-    find_not_cclass $I11, 32, rx495_tgt, $I10, rx495_eos
-    add rx495_pos, rx495_off, $I11
+    sub $I10, rx494_pos, rx494_off
+    find_not_cclass $I11, 32, rx494_tgt, $I10, rx494_eos
+    add rx494_pos, rx494_off, $I11
   # rx literal  "]"
-    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
+    add $I11, rx494_pos, 1
+    gt $I11, rx494_eos, rx494_fail
+    sub $I11, rx494_pos, rx494_off
+    substr $S10, rx494_tgt, $I11, 1
+    ne $S10, "]", rx494_fail
+    add rx494_pos, 1
 .annotate 'line', 166
-    goto alt503_end
-  alt503_1:
+    goto alt502_end
+  alt502_1:
 .annotate 'line', 171
   # rx subcapture "name"
-    set_addr $I10, rxcap_525_fail
-    rx495_cur."!mark_push"(0, rx495_pos, $I10)
+    set_addr $I10, rxcap_524_fail
+    rx494_cur."!mark_push"(0, rx494_pos, $I10)
   # rx charclass_q w r 1..-1
-    sub $I10, rx495_pos, rx495_off
-    find_not_cclass $I11, 8192, rx495_tgt, $I10, rx495_eos
+    sub $I10, rx494_pos, rx494_off
+    find_not_cclass $I11, 8192, rx494_tgt, $I10, rx494_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx495_fail
-    add rx495_pos, rx495_off, $I11
-    set_addr $I10, rxcap_525_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)
+    lt $I11, $I12, rx494_fail
+    add rx494_pos, rx494_off, $I11
+    set_addr $I10, rxcap_524_fail
+    ($I12, $I11) = rx494_cur."!mark_peek"($I10)
+    rx494_cur."!cursor_pos"($I11)
+    ($P10) = rx494_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx494_pos, "")
+    rx494_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("name")
-    goto rxcap_525_done
-  rxcap_525_fail:
-    goto rx495_fail
-  rxcap_525_done:
-  alt503_end:
+    goto rxcap_524_done
+  rxcap_524_fail:
+    goto rx494_fail
+  rxcap_524_done:
+  alt502_end:
 .annotate 'line', 173
-  # rx rxquantr526 ** 0..1
-    set_addr $I10, rxquantr526_done
-    rx495_cur."!mark_push"(0, rx495_pos, $I10)
-  rxquantr526_loop:
+  # rx rxquantr525 ** 0..1
+    set_addr $I10, rxquantr525_done
+    rx494_cur."!mark_push"(0, rx494_pos, $I10)
+  rxquantr525_loop:
   # rx subrule "normspace" subtype=method negate=
-    rx495_cur."!cursor_pos"(rx495_pos)
-    $P10 = rx495_cur."normspace"()
-    unless $P10, rx495_fail
-    goto rxsubrule527_pass
-  rxsubrule527_back:
+    rx494_cur."!cursor_pos"(rx494_pos)
+    $P10 = rx494_cur."normspace"()
+    unless $P10, rx494_fail
+    goto rxsubrule526_pass
+  rxsubrule526_back:
     $P10 = $P10."!cursor_next"()
-    unless $P10, rx495_fail
-  rxsubrule527_pass:
-    set_addr $I10, rxsubrule527_back
-    rx495_cur."!mark_push"(0, rx495_pos, $I10, $P10)
-    rx495_pos = $P10."pos"()
-    set_addr $I10, rxquantr526_done
-    (rx495_rep) = rx495_cur."!mark_commit"($I10)
-  rxquantr526_done:
+    unless $P10, rx494_fail
+  rxsubrule526_pass:
+    set_addr $I10, rxsubrule526_back
+    rx494_cur."!mark_push"(0, rx494_pos, $I10, $P10)
+    rx494_pos = $P10."pos"()
+    set_addr $I10, rxquantr525_done
+    (rx494_rep) = rx494_cur."!mark_commit"($I10)
+  rxquantr525_done:
 .annotate 'line', 162
   # rx pass
-    rx495_cur."!cursor_pass"(rx495_pos, "cclass_elem")
-    rx495_cur."!cursor_debug"("PASS  ", "cclass_elem", " at pos=", rx495_pos)
-    .return (rx495_cur)
-  rx495_restart:
+    rx494_cur."!cursor_pass"(rx494_pos, "cclass_elem")
+    rx494_cur."!cursor_debug"("PASS  ", "cclass_elem", " at pos=", rx494_pos)
+    .return (rx494_cur)
+  rx494_restart:
 .annotate 'line', 3
-    rx495_cur."!cursor_debug"("NEXT ", "cclass_elem")
-  rx495_fail:
-    (rx495_rep, rx495_pos, $I10, $P10) = rx495_cur."!mark_fail"(0)
-    lt rx495_pos, -1, rx495_done
-    eq rx495_pos, -1, rx495_fail
+    rx494_cur."!cursor_debug"("NEXT ", "cclass_elem")
+  rx494_fail:
+    (rx494_rep, rx494_pos, $I10, $P10) = rx494_cur."!mark_fail"(0)
+    lt rx494_pos, -1, rx494_done
+    eq rx494_pos, -1, rx494_fail
     jump $I10
-  rx495_done:
-    rx495_cur."!cursor_fail"()
-    rx495_cur."!cursor_debug"("FAIL  ", "cclass_elem")
-    .return (rx495_cur)
+  rx494_done:
+    rx494_cur."!cursor_fail"()
+    rx494_cur."!cursor_debug"("FAIL  ", "cclass_elem")
+    .return (rx494_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__cclass_elem"  :subid("144_1279589163.12187") :method
+.sub "!PREFIX__cclass_elem"  :subid("144_1280467470.54449") :method
 .annotate 'line', 3
-    new $P497, "ResizablePMCArray"
-    push $P497, ""
-    push $P497, "-"
-    push $P497, "+"
-    .return ($P497)
+    new $P496, "ResizablePMCArray"
+    push $P496, ""
+    push $P496, "-"
+    push $P496, "+"
+    .return ($P496)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block505"  :anon :subid("145_1279589163.12187") :method :outer("143_1279589163.12187")
+.sub "_block504"  :anon :subid("145_1280467470.54449") :method :outer("143_1280467470.54449")
 .annotate 'line', 166
-    .const 'Sub' $P521 = "148_1279589163.12187" 
-    capture_lex $P521
-    .const 'Sub' $P516 = "147_1279589163.12187" 
-    capture_lex $P516
-    .const 'Sub' $P512 = "146_1279589163.12187" 
-    capture_lex $P512
-    .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, $I10) = self."!cursor_start"()
-    rx507_cur."!cursor_caparray"("1")
-    .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:
-    eq $I10, 1, rx507_restart
-    rx507_cur."!cursor_debug"("START ", "")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan508_done
-    goto rxscan508_scan
-  rxscan508_loop:
-    ($P10) = rx507_cur."from"()
-    inc $P10
-    set rx507_pos, $P10
-    ge rx507_pos, rx507_eos, rxscan508_done
-  rxscan508_scan:
-    set_addr $I10, rxscan508_loop
-    rx507_cur."!mark_push"(0, rx507_pos, $I10)
-  rxscan508_done:
-  alt509_0:
-    set_addr $I10, alt509_1
-    rx507_cur."!mark_push"(0, rx507_pos, $I10)
+    .const 'Sub' $P520 = "148_1280467470.54449" 
+    capture_lex $P520
+    .const 'Sub' $P515 = "147_1280467470.54449" 
+    capture_lex $P515
+    .const 'Sub' $P511 = "146_1280467470.54449" 
+    capture_lex $P511
+    .local string rx506_tgt
+    .local int rx506_pos
+    .local int rx506_off
+    .local int rx506_eos
+    .local int rx506_rep
+    .local pmc rx506_cur
+    (rx506_cur, rx506_pos, rx506_tgt, $I10) = self."!cursor_start"()
+    rx506_cur."!cursor_caparray"("1")
+    .lex unicode:"$\x{a2}", rx506_cur
+    .local pmc match
+    .lex "$/", match
+    length rx506_eos, rx506_tgt
+    gt rx506_pos, rx506_eos, rx506_done
+    set rx506_off, 0
+    lt rx506_pos, 2, rx506_start
+    sub rx506_off, rx506_pos, 1
+    substr rx506_tgt, rx506_tgt, rx506_off
+  rx506_start:
+    eq $I10, 1, rx506_restart
+    rx506_cur."!cursor_debug"("START ", "")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan507_done
+    goto rxscan507_scan
+  rxscan507_loop:
+    ($P10) = rx506_cur."from"()
+    inc $P10
+    set rx506_pos, $P10
+    ge rx506_pos, rx506_eos, rxscan507_done
+  rxscan507_scan:
+    set_addr $I10, rxscan507_loop
+    rx506_cur."!mark_push"(0, rx506_pos, $I10)
+  rxscan507_done:
+  alt508_0:
+    set_addr $I10, alt508_1
+    rx506_cur."!mark_push"(0, rx506_pos, $I10)
 .annotate 'line', 167
   # rx charclass_q s r 0..-1
-    sub $I10, rx507_pos, rx507_off
-    find_not_cclass $I11, 32, rx507_tgt, $I10, rx507_eos
-    add rx507_pos, rx507_off, $I11
+    sub $I10, rx506_pos, rx506_off
+    find_not_cclass $I11, 32, rx506_tgt, $I10, rx506_eos
+    add rx506_pos, rx506_off, $I11
   # rx literal  "-"
-    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
+    add $I11, rx506_pos, 1
+    gt $I11, rx506_eos, rx506_fail
+    sub $I11, rx506_pos, rx506_off
+    substr $S10, rx506_tgt, $I11, 1
+    ne $S10, "-", rx506_fail
+    add rx506_pos, 1
   # rx subrule "obs" subtype=method negate=
-    rx507_cur."!cursor_pos"(rx507_pos)
-    $P10 = rx507_cur."obs"("hyphen in enumerated character class", "..")
-    unless $P10, rx507_fail
-    rx507_pos = $P10."pos"()
-    goto alt509_end
-  alt509_1:
+    rx506_cur."!cursor_pos"(rx506_pos)
+    $P10 = rx506_cur."obs"("- as character range", "..")
+    unless $P10, rx506_fail
+    rx506_pos = $P10."pos"()
+    goto alt508_end
+  alt508_1:
 .annotate 'line', 168
   # rx charclass_q s r 0..-1
-    sub $I10, rx507_pos, rx507_off
-    find_not_cclass $I11, 32, rx507_tgt, $I10, rx507_eos
-    add rx507_pos, rx507_off, $I11
-  alt510_0:
-    set_addr $I10, alt510_1
-    rx507_cur."!mark_push"(0, rx507_pos, $I10)
+    sub $I10, rx506_pos, rx506_off
+    find_not_cclass $I11, 32, rx506_tgt, $I10, rx506_eos
+    add rx506_pos, rx506_off, $I11
+  alt509_0:
+    set_addr $I10, alt509_1
+    rx506_cur."!mark_push"(0, rx506_pos, $I10)
   # rx literal  "\\"
-    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
-  # rx subrule $P512 subtype=capture negate=
-    rx507_cur."!cursor_pos"(rx507_pos)
-    .const 'Sub' $P512 = "146_1279589163.12187" 
-    capture_lex $P512
-    $P10 = rx507_cur.$P512()
-    unless $P10, rx507_fail
-    rx507_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx506_pos, 1
+    gt $I11, rx506_eos, rx506_fail
+    sub $I11, rx506_pos, rx506_off
+    substr $S10, rx506_tgt, $I11, 1
+    ne $S10, "\\", rx506_fail
+    add rx506_pos, 1
+  # rx subrule $P511 subtype=capture negate=
+    rx506_cur."!cursor_pos"(rx506_pos)
+    .const 'Sub' $P511 = "146_1280467470.54449" 
+    capture_lex $P511
+    $P10 = rx506_cur.$P511()
+    unless $P10, rx506_fail
+    rx506_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"(0)
-    rx507_pos = $P10."pos"()
-    goto alt510_end
-  alt510_1:
-  # rx subrule $P516 subtype=capture negate=
-    rx507_cur."!cursor_pos"(rx507_pos)
-    .const 'Sub' $P516 = "147_1279589163.12187" 
-    capture_lex $P516
-    $P10 = rx507_cur.$P516()
-    unless $P10, rx507_fail
-    rx507_cur."!mark_push"(0, -1, 0, $P10)
+    rx506_pos = $P10."pos"()
+    goto alt509_end
+  alt509_1:
+  # rx subrule $P515 subtype=capture negate=
+    rx506_cur."!cursor_pos"(rx506_pos)
+    .const 'Sub' $P515 = "147_1280467470.54449" 
+    capture_lex $P515
+    $P10 = rx506_cur.$P515()
+    unless $P10, rx506_fail
+    rx506_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"(0)
-    rx507_pos = $P10."pos"()
-  alt510_end:
-  # rx rxquantr519 ** 0..1
-    set_addr $I10, rxquantr519_done
-    rx507_cur."!mark_push"(0, rx507_pos, $I10)
-  rxquantr519_loop:
+    rx506_pos = $P10."pos"()
+  alt509_end:
+  # rx rxquantr518 ** 0..1
+    set_addr $I10, rxquantr518_done
+    rx506_cur."!mark_push"(0, rx506_pos, $I10)
+  rxquantr518_loop:
   # rx charclass_q s r 0..-1
-    sub $I10, rx507_pos, rx507_off
-    find_not_cclass $I11, 32, rx507_tgt, $I10, rx507_eos
-    add rx507_pos, rx507_off, $I11
+    sub $I10, rx506_pos, rx506_off
+    find_not_cclass $I11, 32, rx506_tgt, $I10, rx506_eos
+    add rx506_pos, rx506_off, $I11
   # rx literal  ".."
-    add $I11, rx507_pos, 2
-    gt $I11, rx507_eos, rx507_fail
-    sub $I11, rx507_pos, rx507_off
-    substr $S10, rx507_tgt, $I11, 2
-    ne $S10, "..", rx507_fail
-    add rx507_pos, 2
+    add $I11, rx506_pos, 2
+    gt $I11, rx506_eos, rx506_fail
+    sub $I11, rx506_pos, rx506_off
+    substr $S10, rx506_tgt, $I11, 2
+    ne $S10, "..", rx506_fail
+    add rx506_pos, 2
   # rx charclass_q s r 0..-1
-    sub $I10, rx507_pos, rx507_off
-    find_not_cclass $I11, 32, rx507_tgt, $I10, rx507_eos
-    add rx507_pos, rx507_off, $I11
-  # rx subrule $P521 subtype=capture negate=
-    rx507_cur."!cursor_pos"(rx507_pos)
-    .const 'Sub' $P521 = "148_1279589163.12187" 
-    capture_lex $P521
-    $P10 = rx507_cur.$P521()
-    unless $P10, rx507_fail
-    rx507_cur."!mark_push"(0, -1, 0, $P10)
+    sub $I10, rx506_pos, rx506_off
+    find_not_cclass $I11, 32, rx506_tgt, $I10, rx506_eos
+    add rx506_pos, rx506_off, $I11
+  # rx subrule $P520 subtype=capture negate=
+    rx506_cur."!cursor_pos"(rx506_pos)
+    .const 'Sub' $P520 = "148_1280467470.54449" 
+    capture_lex $P520
+    $P10 = rx506_cur.$P520()
+    unless $P10, rx506_fail
+    rx506_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("1")
-    rx507_pos = $P10."pos"()
-    set_addr $I10, rxquantr519_done
-    (rx507_rep) = rx507_cur."!mark_commit"($I10)
-  rxquantr519_done:
-  alt509_end:
+    rx506_pos = $P10."pos"()
+    set_addr $I10, rxquantr518_done
+    (rx506_rep) = rx506_cur."!mark_commit"($I10)
+  rxquantr518_done:
+  alt508_end:
 .annotate 'line', 166
   # rx pass
-    rx507_cur."!cursor_pass"(rx507_pos, "")
-    rx507_cur."!cursor_debug"("PASS  ", "", " at pos=", rx507_pos)
-    .return (rx507_cur)
-  rx507_restart:
-    rx507_cur."!cursor_debug"("NEXT ", "")
-  rx507_fail:
-    (rx507_rep, rx507_pos, $I10, $P10) = rx507_cur."!mark_fail"(0)
-    lt rx507_pos, -1, rx507_done
-    eq rx507_pos, -1, rx507_fail
+    rx506_cur."!cursor_pass"(rx506_pos, "")
+    rx506_cur."!cursor_debug"("PASS  ", "", " at pos=", rx506_pos)
+    .return (rx506_cur)
+  rx506_restart:
+    rx506_cur."!cursor_debug"("NEXT ", "")
+  rx506_fail:
+    (rx506_rep, rx506_pos, $I10, $P10) = rx506_cur."!mark_fail"(0)
+    lt rx506_pos, -1, rx506_done
+    eq rx506_pos, -1, rx506_fail
     jump $I10
-  rx507_done:
-    rx507_cur."!cursor_fail"()
-    rx507_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx507_cur)
+  rx506_done:
+    rx506_cur."!cursor_fail"()
+    rx506_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx506_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block511"  :anon :subid("146_1279589163.12187") :method :outer("145_1279589163.12187")
+.sub "_block510"  :anon :subid("146_1280467470.54449") :method :outer("145_1280467470.54449")
 .annotate 'line', 168
-    .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, $I10) = self."!cursor_start"()
-    .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:
-    eq $I10, 1, rx513_restart
-    rx513_cur."!cursor_debug"("START ", "")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan514_done
-    goto rxscan514_scan
-  rxscan514_loop:
-    ($P10) = rx513_cur."from"()
-    inc $P10
-    set rx513_pos, $P10
-    ge rx513_pos, rx513_eos, rxscan514_done
-  rxscan514_scan:
-    set_addr $I10, rxscan514_loop
-    rx513_cur."!mark_push"(0, rx513_pos, $I10)
-  rxscan514_done:
+    .local string rx512_tgt
+    .local int rx512_pos
+    .local int rx512_off
+    .local int rx512_eos
+    .local int rx512_rep
+    .local pmc rx512_cur
+    (rx512_cur, rx512_pos, rx512_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx512_cur
+    .local pmc match
+    .lex "$/", match
+    length rx512_eos, rx512_tgt
+    gt rx512_pos, rx512_eos, rx512_done
+    set rx512_off, 0
+    lt rx512_pos, 2, rx512_start
+    sub rx512_off, rx512_pos, 1
+    substr rx512_tgt, rx512_tgt, rx512_off
+  rx512_start:
+    eq $I10, 1, rx512_restart
+    rx512_cur."!cursor_debug"("START ", "")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan513_done
+    goto rxscan513_scan
+  rxscan513_loop:
+    ($P10) = rx512_cur."from"()
+    inc $P10
+    set rx512_pos, $P10
+    ge rx512_pos, rx512_eos, rxscan513_done
+  rxscan513_scan:
+    set_addr $I10, rxscan513_loop
+    rx512_cur."!mark_push"(0, rx512_pos, $I10)
+  rxscan513_done:
   # rx charclass .
-    ge rx513_pos, rx513_eos, rx513_fail
-    inc rx513_pos
+    ge rx512_pos, rx512_eos, rx512_fail
+    inc rx512_pos
   # rx pass
-    rx513_cur."!cursor_pass"(rx513_pos, "")
-    rx513_cur."!cursor_debug"("PASS  ", "", " at pos=", rx513_pos)
-    .return (rx513_cur)
-  rx513_restart:
-    rx513_cur."!cursor_debug"("NEXT ", "")
-  rx513_fail:
-    (rx513_rep, rx513_pos, $I10, $P10) = rx513_cur."!mark_fail"(0)
-    lt rx513_pos, -1, rx513_done
-    eq rx513_pos, -1, rx513_fail
+    rx512_cur."!cursor_pass"(rx512_pos, "")
+    rx512_cur."!cursor_debug"("PASS  ", "", " at pos=", rx512_pos)
+    .return (rx512_cur)
+  rx512_restart:
+    rx512_cur."!cursor_debug"("NEXT ", "")
+  rx512_fail:
+    (rx512_rep, rx512_pos, $I10, $P10) = rx512_cur."!mark_fail"(0)
+    lt rx512_pos, -1, rx512_done
+    eq rx512_pos, -1, rx512_fail
     jump $I10
-  rx513_done:
-    rx513_cur."!cursor_fail"()
-    rx513_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx513_cur)
+  rx512_done:
+    rx512_cur."!cursor_fail"()
+    rx512_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx512_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block515"  :anon :subid("147_1279589163.12187") :method :outer("145_1279589163.12187")
+.sub "_block514"  :anon :subid("147_1280467470.54449") :method :outer("145_1280467470.54449")
 .annotate 'line', 168
-    .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, $I10) = self."!cursor_start"()
-    .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:
-    eq $I10, 1, rx517_restart
-    rx517_cur."!cursor_debug"("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:
+    .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, $I10) = self."!cursor_start"()
+    .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:
+    eq $I10, 1, rx516_restart
+    rx516_cur."!cursor_debug"("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:
   # rx enumcharlist negate=1 
-    ge rx517_pos, rx517_eos, rx517_fail
-    sub $I10, rx517_pos, rx517_off
-    substr $S10, rx517_tgt, $I10, 1
+    ge rx516_pos, rx516_eos, rx516_fail
+    sub $I10, rx516_pos, rx516_off
+    substr $S10, rx516_tgt, $I10, 1
     index $I11, "]\\", $S10
-    ge $I11, 0, rx517_fail
-    inc rx517_pos
+    ge $I11, 0, rx516_fail
+    inc rx516_pos
   # rx pass
-    rx517_cur."!cursor_pass"(rx517_pos, "")
-    rx517_cur."!cursor_debug"("PASS  ", "", " at pos=", rx517_pos)
-    .return (rx517_cur)
-  rx517_restart:
-    rx517_cur."!cursor_debug"("NEXT ", "")
-  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
+    rx516_cur."!cursor_pass"(rx516_pos, "")
+    rx516_cur."!cursor_debug"("PASS  ", "", " at pos=", rx516_pos)
+    .return (rx516_cur)
+  rx516_restart:
+    rx516_cur."!cursor_debug"("NEXT ", "")
+  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
     jump $I10
-  rx517_done:
-    rx517_cur."!cursor_fail"()
-    rx517_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx517_cur)
+  rx516_done:
+    rx516_cur."!cursor_fail"()
+    rx516_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx516_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block520"  :anon :subid("148_1279589163.12187") :method :outer("145_1279589163.12187")
+.sub "_block519"  :anon :subid("148_1280467470.54449") :method :outer("145_1280467470.54449")
 .annotate 'line', 168
-    .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, $I10) = self."!cursor_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:
-    eq $I10, 1, rx522_restart
-    rx522_cur."!cursor_debug"("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 rx521_tgt
+    .local int rx521_pos
+    .local int rx521_off
+    .local int rx521_eos
+    .local int rx521_rep
+    .local pmc rx521_cur
+    (rx521_cur, rx521_pos, rx521_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx521_cur
+    .local pmc match
+    .lex "$/", match
+    length rx521_eos, rx521_tgt
+    gt rx521_pos, rx521_eos, rx521_done
+    set rx521_off, 0
+    lt rx521_pos, 2, rx521_start
+    sub rx521_off, rx521_pos, 1
+    substr rx521_tgt, rx521_tgt, rx521_off
+  rx521_start:
+    eq $I10, 1, rx521_restart
+    rx521_cur."!cursor_debug"("START ", "")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan522_done
+    goto rxscan522_scan
+  rxscan522_loop:
+    ($P10) = rx521_cur."from"()
+    inc $P10
+    set rx521_pos, $P10
+    ge rx521_pos, rx521_eos, rxscan522_done
+  rxscan522_scan:
+    set_addr $I10, rxscan522_loop
+    rx521_cur."!mark_push"(0, rx521_pos, $I10)
+  rxscan522_done:
   # rx charclass .
-    ge rx522_pos, rx522_eos, rx522_fail
-    inc rx522_pos
+    ge rx521_pos, rx521_eos, rx521_fail
+    inc rx521_pos
   # rx pass
-    rx522_cur."!cursor_pass"(rx522_pos, "")
-    rx522_cur."!cursor_debug"("PASS  ", "", " at pos=", rx522_pos)
-    .return (rx522_cur)
-  rx522_restart:
-    rx522_cur."!cursor_debug"("NEXT ", "")
-  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
-    jump $I10
-  rx522_done:
-    rx522_cur."!cursor_fail"()
-    rx522_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx522_cur)
+    rx521_cur."!cursor_pass"(rx521_pos, "")
+    rx521_cur."!cursor_debug"("PASS  ", "", " at pos=", rx521_pos)
+    .return (rx521_cur)
+  rx521_restart:
+    rx521_cur."!cursor_debug"("NEXT ", "")
+  rx521_fail:
+    (rx521_rep, rx521_pos, $I10, $P10) = rx521_cur."!mark_fail"(0)
+    lt rx521_pos, -1, rx521_done
+    eq rx521_pos, -1, rx521_fail
+    jump $I10
+  rx521_done:
+    rx521_cur."!cursor_fail"()
+    rx521_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx521_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_internal"  :subid("149_1279589163.12187") :method :outer("11_1279589163.12187")
-.annotate 'line', 3
-    .const 'Sub' $P537 = "151_1279589163.12187" 
-    capture_lex $P537
-    .local string rx529_tgt
-    .local int rx529_pos
-    .local int rx529_off
-    .local int rx529_eos
-    .local int rx529_rep
-    .local pmc rx529_cur
-    (rx529_cur, rx529_pos, rx529_tgt, $I10) = self."!cursor_start"()
-    rx529_cur."!cursor_caparray"("n")
-    .lex unicode:"$\x{a2}", rx529_cur
-    .local pmc match
-    .lex "$/", match
-    length rx529_eos, rx529_tgt
-    gt rx529_pos, rx529_eos, rx529_done
-    set rx529_off, 0
-    lt rx529_pos, 2, rx529_start
-    sub rx529_off, rx529_pos, 1
-    substr rx529_tgt, rx529_tgt, rx529_off
-  rx529_start:
-    eq $I10, 1, rx529_restart
-    rx529_cur."!cursor_debug"("START ", "mod_internal")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan533_done
-    goto rxscan533_scan
-  rxscan533_loop:
-    ($P10) = rx529_cur."from"()
-    inc $P10
-    set rx529_pos, $P10
-    ge rx529_pos, rx529_eos, rxscan533_done
-  rxscan533_scan:
-    set_addr $I10, rxscan533_loop
-    rx529_cur."!mark_push"(0, rx529_pos, $I10)
-  rxscan533_done:
-  alt534_0:
+.sub "mod_internal"  :subid("149_1280467470.54449") :method :outer("11_1280467470.54449")
+.annotate 'line', 3
+    .const 'Sub' $P536 = "151_1280467470.54449" 
+    capture_lex $P536
+    .local string rx528_tgt
+    .local int rx528_pos
+    .local int rx528_off
+    .local int rx528_eos
+    .local int rx528_rep
+    .local pmc rx528_cur
+    (rx528_cur, rx528_pos, rx528_tgt, $I10) = self."!cursor_start"()
+    rx528_cur."!cursor_caparray"("n")
+    .lex unicode:"$\x{a2}", rx528_cur
+    .local pmc match
+    .lex "$/", match
+    length rx528_eos, rx528_tgt
+    gt rx528_pos, rx528_eos, rx528_done
+    set rx528_off, 0
+    lt rx528_pos, 2, rx528_start
+    sub rx528_off, rx528_pos, 1
+    substr rx528_tgt, rx528_tgt, rx528_off
+  rx528_start:
+    eq $I10, 1, rx528_restart
+    rx528_cur."!cursor_debug"("START ", "mod_internal")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan532_done
+    goto rxscan532_scan
+  rxscan532_loop:
+    ($P10) = rx528_cur."from"()
+    inc $P10
+    set rx528_pos, $P10
+    ge rx528_pos, rx528_eos, rxscan532_done
+  rxscan532_scan:
+    set_addr $I10, rxscan532_loop
+    rx528_cur."!mark_push"(0, rx528_pos, $I10)
+  rxscan532_done:
+  alt533_0:
 .annotate 'line', 177
-    set_addr $I10, alt534_1
-    rx529_cur."!mark_push"(0, rx529_pos, $I10)
+    set_addr $I10, alt533_1
+    rx528_cur."!mark_push"(0, rx528_pos, $I10)
 .annotate 'line', 178
   # rx literal  ":"
-    add $I11, rx529_pos, 1
-    gt $I11, rx529_eos, rx529_fail
-    sub $I11, rx529_pos, rx529_off
-    substr $S10, rx529_tgt, $I11, 1
-    ne $S10, ":", rx529_fail
-    add rx529_pos, 1
-  # rx rxquantr535 ** 1..1
-    set_addr $I10, rxquantr535_done
-    rx529_cur."!mark_push"(0, -1, $I10)
-  rxquantr535_loop:
-  # rx subrule $P537 subtype=capture negate=
-    rx529_cur."!cursor_pos"(rx529_pos)
-    .const 'Sub' $P537 = "151_1279589163.12187" 
-    capture_lex $P537
-    $P10 = rx529_cur.$P537()
-    unless $P10, rx529_fail
-    goto rxsubrule541_pass
-  rxsubrule541_back:
+    add $I11, rx528_pos, 1
+    gt $I11, rx528_eos, rx528_fail
+    sub $I11, rx528_pos, rx528_off
+    substr $S10, rx528_tgt, $I11, 1
+    ne $S10, ":", rx528_fail
+    add rx528_pos, 1
+  # rx rxquantr534 ** 1..1
+    set_addr $I10, rxquantr534_done
+    rx528_cur."!mark_push"(0, -1, $I10)
+  rxquantr534_loop:
+  # rx subrule $P536 subtype=capture negate=
+    rx528_cur."!cursor_pos"(rx528_pos)
+    .const 'Sub' $P536 = "151_1280467470.54449" 
+    capture_lex $P536
+    $P10 = rx528_cur.$P536()
+    unless $P10, rx528_fail
+    goto rxsubrule540_pass
+  rxsubrule540_back:
     $P10 = $P10."!cursor_next"()
-    unless $P10, rx529_fail
-  rxsubrule541_pass:
-    set_addr $I10, rxsubrule541_back
-    rx529_cur."!mark_push"(0, rx529_pos, $I10, $P10)
+    unless $P10, rx528_fail
+  rxsubrule540_pass:
+    set_addr $I10, rxsubrule540_back
+    rx528_cur."!mark_push"(0, rx528_pos, $I10, $P10)
     $P10."!cursor_names"("n")
-    rx529_pos = $P10."pos"()
-    set_addr $I10, rxquantr535_done
-    (rx529_rep) = rx529_cur."!mark_commit"($I10)
-  rxquantr535_done:
+    rx528_pos = $P10."pos"()
+    set_addr $I10, rxquantr534_done
+    (rx528_rep) = rx528_cur."!mark_commit"($I10)
+  rxquantr534_done:
   # rx subrule "mod_ident" subtype=capture negate=
-    rx529_cur."!cursor_pos"(rx529_pos)
-    $P10 = rx529_cur."mod_ident"()
-    unless $P10, rx529_fail
-    rx529_cur."!mark_push"(0, -1, 0, $P10)
+    rx528_cur."!cursor_pos"(rx528_pos)
+    $P10 = rx528_cur."mod_ident"()
+    unless $P10, rx528_fail
+    rx528_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("mod_ident")
-    rx529_pos = $P10."pos"()
+    rx528_pos = $P10."pos"()
   # rxanchor rwb
-    le rx529_pos, 0, rx529_fail
-    sub $I10, rx529_pos, rx529_off
-    is_cclass $I11, 8192, rx529_tgt, $I10
-    if $I11, rx529_fail
+    le rx528_pos, 0, rx528_fail
+    sub $I10, rx528_pos, rx528_off
+    is_cclass $I11, 8192, rx528_tgt, $I10
+    if $I11, rx528_fail
     dec $I10
-    is_cclass $I11, 8192, rx529_tgt, $I10
-    unless $I11, rx529_fail
-    goto alt534_end
-  alt534_1:
+    is_cclass $I11, 8192, rx528_tgt, $I10
+    unless $I11, rx528_fail
+    goto alt533_end
+  alt533_1:
 .annotate 'line', 179
   # rx literal  ":"
-    add $I11, rx529_pos, 1
-    gt $I11, rx529_eos, rx529_fail
-    sub $I11, rx529_pos, rx529_off
-    substr $S10, rx529_tgt, $I11, 1
-    ne $S10, ":", rx529_fail
-    add rx529_pos, 1
+    add $I11, rx528_pos, 1
+    gt $I11, rx528_eos, rx528_fail
+    sub $I11, rx528_pos, rx528_off
+    substr $S10, rx528_tgt, $I11, 1
+    ne $S10, ":", rx528_fail
+    add rx528_pos, 1
   # rx subrule "mod_ident" subtype=capture negate=
-    rx529_cur."!cursor_pos"(rx529_pos)
-    $P10 = rx529_cur."mod_ident"()
-    unless $P10, rx529_fail
-    rx529_cur."!mark_push"(0, -1, 0, $P10)
+    rx528_cur."!cursor_pos"(rx528_pos)
+    $P10 = rx528_cur."mod_ident"()
+    unless $P10, rx528_fail
+    rx528_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("mod_ident")
-    rx529_pos = $P10."pos"()
-  # rx rxquantr542 ** 0..1
-    set_addr $I10, rxquantr542_done
-    rx529_cur."!mark_push"(0, rx529_pos, $I10)
-  rxquantr542_loop:
+    rx528_pos = $P10."pos"()
+  # rx rxquantr541 ** 0..1
+    set_addr $I10, rxquantr541_done
+    rx528_cur."!mark_push"(0, rx528_pos, $I10)
+  rxquantr541_loop:
   # rx literal  "("
-    add $I11, rx529_pos, 1
-    gt $I11, rx529_eos, rx529_fail
-    sub $I11, rx529_pos, rx529_off
-    substr $S10, rx529_tgt, $I11, 1
-    ne $S10, "(", rx529_fail
-    add rx529_pos, 1
+    add $I11, rx528_pos, 1
+    gt $I11, rx528_eos, rx528_fail
+    sub $I11, rx528_pos, rx528_off
+    substr $S10, rx528_tgt, $I11, 1
+    ne $S10, "(", rx528_fail
+    add rx528_pos, 1
   # rx subcapture "n"
-    set_addr $I10, rxcap_543_fail
-    rx529_cur."!mark_push"(0, rx529_pos, $I10)
+    set_addr $I10, rxcap_542_fail
+    rx528_cur."!mark_push"(0, rx528_pos, $I10)
   # rx charclass_q d r 1..-1
-    sub $I10, rx529_pos, rx529_off
-    find_not_cclass $I11, 8, rx529_tgt, $I10, rx529_eos
+    sub $I10, rx528_pos, rx528_off
+    find_not_cclass $I11, 8, rx528_tgt, $I10, rx528_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx529_fail
-    add rx529_pos, rx529_off, $I11
-    set_addr $I10, rxcap_543_fail
-    ($I12, $I11) = rx529_cur."!mark_peek"($I10)
-    rx529_cur."!cursor_pos"($I11)
-    ($P10) = rx529_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx529_pos, "")
-    rx529_cur."!mark_push"(0, -1, 0, $P10)
+    lt $I11, $I12, rx528_fail
+    add rx528_pos, rx528_off, $I11
+    set_addr $I10, rxcap_542_fail
+    ($I12, $I11) = rx528_cur."!mark_peek"($I10)
+    rx528_cur."!cursor_pos"($I11)
+    ($P10) = rx528_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx528_pos, "")
+    rx528_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("n")
-    goto rxcap_543_done
-  rxcap_543_fail:
-    goto rx529_fail
-  rxcap_543_done:
+    goto rxcap_542_done
+  rxcap_542_fail:
+    goto rx528_fail
+  rxcap_542_done:
   # rx literal  ")"
-    add $I11, rx529_pos, 1
-    gt $I11, rx529_eos, rx529_fail
-    sub $I11, rx529_pos, rx529_off
-    substr $S10, rx529_tgt, $I11, 1
-    ne $S10, ")", rx529_fail
-    add rx529_pos, 1
-    set_addr $I10, rxquantr542_done
-    (rx529_rep) = rx529_cur."!mark_commit"($I10)
-  rxquantr542_done:
-  alt534_end:
+    add $I11, rx528_pos, 1
+    gt $I11, rx528_eos, rx528_fail
+    sub $I11, rx528_pos, rx528_off
+    substr $S10, rx528_tgt, $I11, 1
+    ne $S10, ")", rx528_fail
+    add rx528_pos, 1
+    set_addr $I10, rxquantr541_done
+    (rx528_rep) = rx528_cur."!mark_commit"($I10)
+  rxquantr541_done:
+  alt533_end:
 .annotate 'line', 176
   # rx pass
-    rx529_cur."!cursor_pass"(rx529_pos, "mod_internal")
-    rx529_cur."!cursor_debug"("PASS  ", "mod_internal", " at pos=", rx529_pos)
-    .return (rx529_cur)
-  rx529_restart:
+    rx528_cur."!cursor_pass"(rx528_pos, "mod_internal")
+    rx528_cur."!cursor_debug"("PASS  ", "mod_internal", " at pos=", rx528_pos)
+    .return (rx528_cur)
+  rx528_restart:
 .annotate 'line', 3
-    rx529_cur."!cursor_debug"("NEXT ", "mod_internal")
-  rx529_fail:
-    (rx529_rep, rx529_pos, $I10, $P10) = rx529_cur."!mark_fail"(0)
-    lt rx529_pos, -1, rx529_done
-    eq rx529_pos, -1, rx529_fail
+    rx528_cur."!cursor_debug"("NEXT ", "mod_internal")
+  rx528_fail:
+    (rx528_rep, rx528_pos, $I10, $P10) = rx528_cur."!mark_fail"(0)
+    lt rx528_pos, -1, rx528_done
+    eq rx528_pos, -1, rx528_fail
     jump $I10
-  rx529_done:
-    rx529_cur."!cursor_fail"()
-    rx529_cur."!cursor_debug"("FAIL  ", "mod_internal")
-    .return (rx529_cur)
+  rx528_done:
+    rx528_cur."!cursor_fail"()
+    rx528_cur."!cursor_debug"("FAIL  ", "mod_internal")
+    .return (rx528_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_internal"  :subid("150_1279589163.12187") :method
+.sub "!PREFIX__mod_internal"  :subid("150_1280467470.54449") :method
 .annotate 'line', 3
-    $P531 = self."!PREFIX__!subrule"("mod_ident", ":")
-    new $P532, "ResizablePMCArray"
-    push $P532, $P531
-    push $P532, ":"
-    .return ($P532)
+    $P530 = self."!PREFIX__!subrule"("mod_ident", ":")
+    new $P531, "ResizablePMCArray"
+    push $P531, $P530
+    push $P531, ":"
+    .return ($P531)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block536"  :anon :subid("151_1279589163.12187") :method :outer("149_1279589163.12187")
+.sub "_block535"  :anon :subid("151_1280467470.54449") :method :outer("149_1280467470.54449")
 .annotate 'line', 178
-    .local string rx538_tgt
-    .local int rx538_pos
-    .local int rx538_off
-    .local int rx538_eos
-    .local int rx538_rep
-    .local pmc rx538_cur
-    (rx538_cur, rx538_pos, rx538_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx538_cur
-    .local pmc match
-    .lex "$/", match
-    length rx538_eos, rx538_tgt
-    gt rx538_pos, rx538_eos, rx538_done
-    set rx538_off, 0
-    lt rx538_pos, 2, rx538_start
-    sub rx538_off, rx538_pos, 1
-    substr rx538_tgt, rx538_tgt, rx538_off
-  rx538_start:
-    eq $I10, 1, rx538_restart
-    rx538_cur."!cursor_debug"("START ", "")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan539_done
-    goto rxscan539_scan
-  rxscan539_loop:
-    ($P10) = rx538_cur."from"()
-    inc $P10
-    set rx538_pos, $P10
-    ge rx538_pos, rx538_eos, rxscan539_done
-  rxscan539_scan:
-    set_addr $I10, rxscan539_loop
-    rx538_cur."!mark_push"(0, rx538_pos, $I10)
-  rxscan539_done:
-  alt540_0:
-    set_addr $I10, alt540_1
-    rx538_cur."!mark_push"(0, rx538_pos, $I10)
+    .local string rx537_tgt
+    .local int rx537_pos
+    .local int rx537_off
+    .local int rx537_eos
+    .local int rx537_rep
+    .local pmc rx537_cur
+    (rx537_cur, rx537_pos, rx537_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx537_cur
+    .local pmc match
+    .lex "$/", match
+    length rx537_eos, rx537_tgt
+    gt rx537_pos, rx537_eos, rx537_done
+    set rx537_off, 0
+    lt rx537_pos, 2, rx537_start
+    sub rx537_off, rx537_pos, 1
+    substr rx537_tgt, rx537_tgt, rx537_off
+  rx537_start:
+    eq $I10, 1, rx537_restart
+    rx537_cur."!cursor_debug"("START ", "")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan538_done
+    goto rxscan538_scan
+  rxscan538_loop:
+    ($P10) = rx537_cur."from"()
+    inc $P10
+    set rx537_pos, $P10
+    ge rx537_pos, rx537_eos, rxscan538_done
+  rxscan538_scan:
+    set_addr $I10, rxscan538_loop
+    rx537_cur."!mark_push"(0, rx537_pos, $I10)
+  rxscan538_done:
+  alt539_0:
+    set_addr $I10, alt539_1
+    rx537_cur."!mark_push"(0, rx537_pos, $I10)
   # rx literal  "!"
-    add $I11, rx538_pos, 1
-    gt $I11, rx538_eos, rx538_fail
-    sub $I11, rx538_pos, rx538_off
-    substr $S10, rx538_tgt, $I11, 1
-    ne $S10, "!", rx538_fail
-    add rx538_pos, 1
-    goto alt540_end
-  alt540_1:
+    add $I11, rx537_pos, 1
+    gt $I11, rx537_eos, rx537_fail
+    sub $I11, rx537_pos, rx537_off
+    substr $S10, rx537_tgt, $I11, 1
+    ne $S10, "!", rx537_fail
+    add rx537_pos, 1
+    goto alt539_end
+  alt539_1:
   # rx charclass_q d r 1..-1
-    sub $I10, rx538_pos, rx538_off
-    find_not_cclass $I11, 8, rx538_tgt, $I10, rx538_eos
+    sub $I10, rx537_pos, rx537_off
+    find_not_cclass $I11, 8, rx537_tgt, $I10, rx537_eos
     add $I12, $I10, 1
-    lt $I11, $I12, rx538_fail
-    add rx538_pos, rx538_off, $I11
-  alt540_end:
+    lt $I11, $I12, rx537_fail
+    add rx537_pos, rx537_off, $I11
+  alt539_end:
   # rx pass
-    rx538_cur."!cursor_pass"(rx538_pos, "")
-    rx538_cur."!cursor_debug"("PASS  ", "", " at pos=", rx538_pos)
-    .return (rx538_cur)
-  rx538_restart:
-    rx538_cur."!cursor_debug"("NEXT ", "")
-  rx538_fail:
-    (rx538_rep, rx538_pos, $I10, $P10) = rx538_cur."!mark_fail"(0)
-    lt rx538_pos, -1, rx538_done
-    eq rx538_pos, -1, rx538_fail
+    rx537_cur."!cursor_pass"(rx537_pos, "")
+    rx537_cur."!cursor_debug"("PASS  ", "", " at pos=", rx537_pos)
+    .return (rx537_cur)
+  rx537_restart:
+    rx537_cur."!cursor_debug"("NEXT ", "")
+  rx537_fail:
+    (rx537_rep, rx537_pos, $I10, $P10) = rx537_cur."!mark_fail"(0)
+    lt rx537_pos, -1, rx537_done
+    eq rx537_pos, -1, rx537_fail
     jump $I10
-  rx538_done:
-    rx538_cur."!cursor_fail"()
-    rx538_cur."!cursor_debug"("FAIL  ", "")
-    .return (rx538_cur)
+  rx537_done:
+    rx537_cur."!cursor_fail"()
+    rx537_cur."!cursor_debug"("FAIL  ", "")
+    .return (rx537_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident"  :subid("152_1279589163.12187") :method
+.sub "mod_ident"  :subid("152_1280467470.54449") :method
 .annotate 'line', 183
-    $P545 = self."!protoregex"("mod_ident")
-    .return ($P545)
+    $P544 = self."!protoregex"("mod_ident")
+    .return ($P544)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident"  :subid("153_1279589163.12187") :method
+.sub "!PREFIX__mod_ident"  :subid("153_1280467470.54449") :method
 .annotate 'line', 183
-    $P547 = self."!PREFIX__!protoregex"("mod_ident")
-    .return ($P547)
+    $P546 = self."!PREFIX__!protoregex"("mod_ident")
+    .return ($P546)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ignorecase>"  :subid("154_1279589163.12187") :method :outer("11_1279589163.12187")
+.sub "mod_ident:sym<ignorecase>"  :subid("154_1280467470.54449") :method :outer("11_1280467470.54449")
 .annotate 'line', 3
-    .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, $I10) = self."!cursor_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:
-    eq $I10, 1, rx549_restart
-    rx549_cur."!cursor_debug"("START ", "mod_ident:sym<ignorecase>")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan552_done
-    goto rxscan552_scan
-  rxscan552_loop:
-    ($P10) = rx549_cur."from"()
-    inc $P10
-    set rx549_pos, $P10
-    ge rx549_pos, rx549_eos, rxscan552_done
-  rxscan552_scan:
-    set_addr $I10, rxscan552_loop
-    rx549_cur."!mark_push"(0, rx549_pos, $I10)
-  rxscan552_done:
+    .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, $I10) = self."!cursor_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:
+    eq $I10, 1, rx548_restart
+    rx548_cur."!cursor_debug"("START ", "mod_ident:sym<ignorecase>")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan551_done
+    goto rxscan551_scan
+  rxscan551_loop:
+    ($P10) = rx548_cur."from"()
+    inc $P10
+    set rx548_pos, $P10
+    ge rx548_pos, rx548_eos, rxscan551_done
+  rxscan551_scan:
+    set_addr $I10, rxscan551_loop
+    rx548_cur."!mark_push"(0, rx548_pos, $I10)
+  rxscan551_done:
 .annotate 'line', 184
   # rx subcapture "sym"
-    set_addr $I10, rxcap_553_fail
-    rx549_cur."!mark_push"(0, rx549_pos, $I10)
+    set_addr $I10, rxcap_552_fail
+    rx548_cur."!mark_push"(0, rx548_pos, $I10)
   # rx literal  "i"
-    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, "i", rx549_fail
-    add rx549_pos, 1
-    set_addr $I10, rxcap_553_fail
-    ($I12, $I11) = rx549_cur."!mark_peek"($I10)
-    rx549_cur."!cursor_pos"($I11)
-    ($P10) = rx549_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx549_pos, "")
-    rx549_cur."!mark_push"(0, -1, 0, $P10)
+    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, "i", rx548_fail
+    add rx548_pos, 1
+    set_addr $I10, rxcap_552_fail
+    ($I12, $I11) = rx548_cur."!mark_peek"($I10)
+    rx548_cur."!cursor_pos"($I11)
+    ($P10) = rx548_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx548_pos, "")
+    rx548_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_553_done
-  rxcap_553_fail:
-    goto rx549_fail
-  rxcap_553_done:
-  # rx rxquantr554 ** 0..1
-    set_addr $I10, rxquantr554_done
-    rx549_cur."!mark_push"(0, rx549_pos, $I10)
-  rxquantr554_loop:
+    goto rxcap_552_done
+  rxcap_552_fail:
+    goto rx548_fail
+  rxcap_552_done:
+  # rx rxquantr553 ** 0..1
+    set_addr $I10, rxquantr553_done
+    rx548_cur."!mark_push"(0, rx548_pos, $I10)
+  rxquantr553_loop:
   # rx literal  "gnorecase"
-    add $I11, rx549_pos, 9
-    gt $I11, rx549_eos, rx549_fail
-    sub $I11, rx549_pos, rx549_off
-    substr $S10, rx549_tgt, $I11, 9
-    ne $S10, "gnorecase", rx549_fail
-    add rx549_pos, 9
-    set_addr $I10, rxquantr554_done
-    (rx549_rep) = rx549_cur."!mark_commit"($I10)
-  rxquantr554_done:
-  # rx pass
-    rx549_cur."!cursor_pass"(rx549_pos, "mod_ident:sym<ignorecase>")
-    rx549_cur."!cursor_debug"("PASS  ", "mod_ident:sym<ignorecase>", " at pos=", rx549_pos)
-    .return (rx549_cur)
-  rx549_restart:
-.annotate 'line', 3
-    rx549_cur."!cursor_debug"("NEXT ", "mod_ident:sym<ignorecase>")
-  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
-  rx549_done:
-    rx549_cur."!cursor_fail"()
-    rx549_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<ignorecase>")
-    .return (rx549_cur)
+    add $I11, rx548_pos, 9
+    gt $I11, rx548_eos, rx548_fail
+    sub $I11, rx548_pos, rx548_off
+    substr $S10, rx548_tgt, $I11, 9
+    ne $S10, "gnorecase", rx548_fail
+    add rx548_pos, 9
+    set_addr $I10, rxquantr553_done
+    (rx548_rep) = rx548_cur."!mark_commit"($I10)
+  rxquantr553_done:
+  # rx pass
+    rx548_cur."!cursor_pass"(rx548_pos, "mod_ident:sym<ignorecase>")
+    rx548_cur."!cursor_debug"("PASS  ", "mod_ident:sym<ignorecase>", " at pos=", rx548_pos)
+    .return (rx548_cur)
+  rx548_restart:
+.annotate 'line', 3
+    rx548_cur."!cursor_debug"("NEXT ", "mod_ident:sym<ignorecase>")
+  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
+    jump $I10
+  rx548_done:
+    rx548_cur."!cursor_fail"()
+    rx548_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<ignorecase>")
+    .return (rx548_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("155_1279589163.12187") :method
-.annotate 'line', 3
-    new $P551, "ResizablePMCArray"
-    push $P551, "i"
-    .return ($P551)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ratchet>"  :subid("156_1279589163.12187") :method :outer("11_1279589163.12187")
-.annotate 'line', 3
-    .local string rx556_tgt
-    .local int rx556_pos
-    .local int rx556_off
-    .local int rx556_eos
-    .local int rx556_rep
-    .local pmc rx556_cur
-    (rx556_cur, rx556_pos, rx556_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx556_cur
-    .local pmc match
-    .lex "$/", match
-    length rx556_eos, rx556_tgt
-    gt rx556_pos, rx556_eos, rx556_done
-    set rx556_off, 0
-    lt rx556_pos, 2, rx556_start
-    sub rx556_off, rx556_pos, 1
-    substr rx556_tgt, rx556_tgt, rx556_off
-  rx556_start:
-    eq $I10, 1, rx556_restart
-    rx556_cur."!cursor_debug"("START ", "mod_ident:sym<ratchet>")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan559_done
-    goto rxscan559_scan
-  rxscan559_loop:
-    ($P10) = rx556_cur."from"()
-    inc $P10
-    set rx556_pos, $P10
-    ge rx556_pos, rx556_eos, rxscan559_done
-  rxscan559_scan:
-    set_addr $I10, rxscan559_loop
-    rx556_cur."!mark_push"(0, rx556_pos, $I10)
-  rxscan559_done:
+.sub "!PREFIX__mod_ident:sym<ignorecase>"  :subid("155_1280467470.54449") :method
+.annotate 'line', 3
+    new $P550, "ResizablePMCArray"
+    push $P550, "i"
+    .return ($P550)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Grammar"]
+.sub "mod_ident:sym<ratchet>"  :subid("156_1280467470.54449") :method :outer("11_1280467470.54449")
+.annotate 'line', 3
+    .local string rx555_tgt
+    .local int rx555_pos
+    .local int rx555_off
+    .local int rx555_eos
+    .local int rx555_rep
+    .local pmc rx555_cur
+    (rx555_cur, rx555_pos, rx555_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx555_cur
+    .local pmc match
+    .lex "$/", match
+    length rx555_eos, rx555_tgt
+    gt rx555_pos, rx555_eos, rx555_done
+    set rx555_off, 0
+    lt rx555_pos, 2, rx555_start
+    sub rx555_off, rx555_pos, 1
+    substr rx555_tgt, rx555_tgt, rx555_off
+  rx555_start:
+    eq $I10, 1, rx555_restart
+    rx555_cur."!cursor_debug"("START ", "mod_ident:sym<ratchet>")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan558_done
+    goto rxscan558_scan
+  rxscan558_loop:
+    ($P10) = rx555_cur."from"()
+    inc $P10
+    set rx555_pos, $P10
+    ge rx555_pos, rx555_eos, rxscan558_done
+  rxscan558_scan:
+    set_addr $I10, rxscan558_loop
+    rx555_cur."!mark_push"(0, rx555_pos, $I10)
+  rxscan558_done:
 .annotate 'line', 185
   # rx subcapture "sym"
-    set_addr $I10, rxcap_560_fail
-    rx556_cur."!mark_push"(0, rx556_pos, $I10)
+    set_addr $I10, rxcap_559_fail
+    rx555_cur."!mark_push"(0, rx555_pos, $I10)
   # rx literal  "r"
-    add $I11, rx556_pos, 1
-    gt $I11, rx556_eos, rx556_fail
-    sub $I11, rx556_pos, rx556_off
-    substr $S10, rx556_tgt, $I11, 1
-    ne $S10, "r", rx556_fail
-    add rx556_pos, 1
-    set_addr $I10, rxcap_560_fail
-    ($I12, $I11) = rx556_cur."!mark_peek"($I10)
-    rx556_cur."!cursor_pos"($I11)
-    ($P10) = rx556_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx556_pos, "")
-    rx556_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx555_pos, 1
+    gt $I11, rx555_eos, rx555_fail
+    sub $I11, rx555_pos, rx555_off
+    substr $S10, rx555_tgt, $I11, 1
+    ne $S10, "r", rx555_fail
+    add rx555_pos, 1
+    set_addr $I10, rxcap_559_fail
+    ($I12, $I11) = rx555_cur."!mark_peek"($I10)
+    rx555_cur."!cursor_pos"($I11)
+    ($P10) = rx555_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx555_pos, "")
+    rx555_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_560_done
-  rxcap_560_fail:
-    goto rx556_fail
-  rxcap_560_done:
-  # rx rxquantr561 ** 0..1
-    set_addr $I10, rxquantr561_done
-    rx556_cur."!mark_push"(0, rx556_pos, $I10)
-  rxquantr561_loop:
+    goto rxcap_559_done
+  rxcap_559_fail:
+    goto rx555_fail
+  rxcap_559_done:
+  # rx rxquantr560 ** 0..1
+    set_addr $I10, rxquantr560_done
+    rx555_cur."!mark_push"(0, rx555_pos, $I10)
+  rxquantr560_loop:
   # rx literal  "atchet"
-    add $I11, rx556_pos, 6
-    gt $I11, rx556_eos, rx556_fail
-    sub $I11, rx556_pos, rx556_off
-    substr $S10, rx556_tgt, $I11, 6
-    ne $S10, "atchet", rx556_fail
-    add rx556_pos, 6
-    set_addr $I10, rxquantr561_done
-    (rx556_rep) = rx556_cur."!mark_commit"($I10)
-  rxquantr561_done:
-  # rx pass
-    rx556_cur."!cursor_pass"(rx556_pos, "mod_ident:sym<ratchet>")
-    rx556_cur."!cursor_debug"("PASS  ", "mod_ident:sym<ratchet>", " at pos=", rx556_pos)
-    .return (rx556_cur)
-  rx556_restart:
-.annotate 'line', 3
-    rx556_cur."!cursor_debug"("NEXT ", "mod_ident:sym<ratchet>")
-  rx556_fail:
-    (rx556_rep, rx556_pos, $I10, $P10) = rx556_cur."!mark_fail"(0)
-    lt rx556_pos, -1, rx556_done
-    eq rx556_pos, -1, rx556_fail
-    jump $I10
-  rx556_done:
-    rx556_cur."!cursor_fail"()
-    rx556_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<ratchet>")
-    .return (rx556_cur)
+    add $I11, rx555_pos, 6
+    gt $I11, rx555_eos, rx555_fail
+    sub $I11, rx555_pos, rx555_off
+    substr $S10, rx555_tgt, $I11, 6
+    ne $S10, "atchet", rx555_fail
+    add rx555_pos, 6
+    set_addr $I10, rxquantr560_done
+    (rx555_rep) = rx555_cur."!mark_commit"($I10)
+  rxquantr560_done:
+  # rx pass
+    rx555_cur."!cursor_pass"(rx555_pos, "mod_ident:sym<ratchet>")
+    rx555_cur."!cursor_debug"("PASS  ", "mod_ident:sym<ratchet>", " at pos=", rx555_pos)
+    .return (rx555_cur)
+  rx555_restart:
+.annotate 'line', 3
+    rx555_cur."!cursor_debug"("NEXT ", "mod_ident:sym<ratchet>")
+  rx555_fail:
+    (rx555_rep, rx555_pos, $I10, $P10) = rx555_cur."!mark_fail"(0)
+    lt rx555_pos, -1, rx555_done
+    eq rx555_pos, -1, rx555_fail
+    jump $I10
+  rx555_done:
+    rx555_cur."!cursor_fail"()
+    rx555_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<ratchet>")
+    .return (rx555_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("157_1279589163.12187") :method
-.annotate 'line', 3
-    new $P558, "ResizablePMCArray"
-    push $P558, "r"
-    .return ($P558)
-.end
-
-
-.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<sigspace>"  :subid("158_1279589163.12187") :method :outer("11_1279589163.12187")
-.annotate 'line', 3
-    .local string rx563_tgt
-    .local int rx563_pos
-    .local int rx563_off
-    .local int rx563_eos
-    .local int rx563_rep
-    .local pmc rx563_cur
-    (rx563_cur, rx563_pos, rx563_tgt, $I10) = self."!cursor_start"()
-    .lex unicode:"$\x{a2}", rx563_cur
-    .local pmc match
-    .lex "$/", match
-    length rx563_eos, rx563_tgt
-    gt rx563_pos, rx563_eos, rx563_done
-    set rx563_off, 0
-    lt rx563_pos, 2, rx563_start
-    sub rx563_off, rx563_pos, 1
-    substr rx563_tgt, rx563_tgt, rx563_off
-  rx563_start:
-    eq $I10, 1, rx563_restart
-    rx563_cur."!cursor_debug"("START ", "mod_ident:sym<sigspace>")
-    $I10 = self.'from'()
-    ne $I10, -1, rxscan566_done
-    goto rxscan566_scan
-  rxscan566_loop:
-    ($P10) = rx563_cur."from"()
-    inc $P10
-    set rx563_pos, $P10
-    ge rx563_pos, rx563_eos, rxscan566_done
-  rxscan566_scan:
-    set_addr $I10, rxscan566_loop
-    rx563_cur."!mark_push"(0, rx563_pos, $I10)
-  rxscan566_done:
+.sub "!PREFIX__mod_ident:sym<ratchet>"  :subid("157_1280467470.54449") :method
+.annotate 'line', 3
+    new $P557, "ResizablePMCArray"
+    push $P557, "r"
+    .return ($P557)
+.end
+
+
+.namespace ["Regex";"P6Regex";"Grammar"]
+.sub "mod_ident:sym<sigspace>"  :subid("158_1280467470.54449") :method :outer("11_1280467470.54449")
+.annotate 'line', 3
+    .local string rx562_tgt
+    .local int rx562_pos
+    .local int rx562_off
+    .local int rx562_eos
+    .local int rx562_rep
+    .local pmc rx562_cur
+    (rx562_cur, rx562_pos, rx562_tgt, $I10) = self."!cursor_start"()
+    .lex unicode:"$\x{a2}", rx562_cur
+    .local pmc match
+    .lex "$/", match
+    length rx562_eos, rx562_tgt
+    gt rx562_pos, rx562_eos, rx562_done
+    set rx562_off, 0
+    lt rx562_pos, 2, rx562_start
+    sub rx562_off, rx562_pos, 1
+    substr rx562_tgt, rx562_tgt, rx562_off
+  rx562_start:
+    eq $I10, 1, rx562_restart
+    rx562_cur."!cursor_debug"("START ", "mod_ident:sym<sigspace>")
+    $I10 = self.'from'()
+    ne $I10, -1, rxscan565_done
+    goto rxscan565_scan
+  rxscan565_loop:
+    ($P10) = rx562_cur."from"()
+    inc $P10
+    set rx562_pos, $P10
+    ge rx562_pos, rx562_eos, rxscan565_done
+  rxscan565_scan:
+    set_addr $I10, rxscan565_loop
+    rx562_cur."!mark_push"(0, rx562_pos, $I10)
+  rxscan565_done:
 .annotate 'line', 186
   # rx subcapture "sym"
-    set_addr $I10, rxcap_567_fail
-    rx563_cur."!mark_push"(0, rx563_pos, $I10)
+    set_addr $I10, rxcap_566_fail
+    rx562_cur."!mark_push"(0, rx562_pos, $I10)
   # rx literal  "s"
-    add $I11, rx563_pos, 1
-    gt $I11, rx563_eos, rx563_fail
-    sub $I11, rx563_pos, rx563_off
-    substr $S10, rx563_tgt, $I11, 1
-    ne $S10, "s", rx563_fail
-    add rx563_pos, 1
-    set_addr $I10, rxcap_567_fail
-    ($I12, $I11) = rx563_cur."!mark_peek"($I10)
-    rx563_cur."!cursor_pos"($I11)
-    ($P10) = rx563_cur."!cursor_start"()
-    $P10."!cursor_pass"(rx563_pos, "")
-    rx563_cur."!mark_push"(0, -1, 0, $P10)
+    add $I11, rx562_pos, 1
+    gt $I11, rx562_eos, rx562_fail
+    sub $I11, rx562_pos, rx562_off
+    substr $S10, rx562_tgt, $I11, 1
+    ne $S10, "s", rx562_fail
+    add rx562_pos, 1
+    set_addr $I10, rxcap_566_fail
+    ($I12, $I11) = rx562_cur."!mark_peek"($I10)
+    rx562_cur."!cursor_pos"($I11)
+    ($P10) = rx562_cur."!cursor_start"()
+    $P10."!cursor_pass"(rx562_pos, "")
+    rx562_cur."!mark_push"(0, -1, 0, $P10)
     $P10."!cursor_names"("sym")
-    goto rxcap_567_done
-  rxcap_567_fail:
-    goto rx563_fail
-  rxcap_567_done:
-  # rx rxquantr568 ** 0..1
-    set_addr $I10, rxquantr568_done
-    rx563_cur."!mark_push"(0, rx563_pos, $I10)
-  rxquantr568_loop:
+    goto rxcap_566_done
+  rxcap_566_fail:
+    goto rx562_fail
+  rxcap_566_done:
+  # rx rxquantr567 ** 0..1
+    set_addr $I10, rxquantr567_done
+    rx562_cur."!mark_push"(0, rx562_pos, $I10)
+  rxquantr567_loop:
   # rx literal  "igspace"
-    add $I11, rx563_pos, 7
-    gt $I11, rx563_eos, rx563_fail
-    sub $I11, rx563_pos, rx563_off
-    substr $S10, rx563_tgt, $I11, 7
-    ne $S10, "igspace", rx563_fail
-    add rx563_pos, 7
-    set_addr $I10, rxquantr568_done
-    (rx563_rep) = rx563_cur."!mark_commit"($I10)
-  rxquantr568_done:
+    add $I11, rx562_pos, 7
+    gt $I11, rx562_eos, rx562_fail
+    sub $I11, rx562_pos, rx562_off
+    substr $S10, rx562_tgt, $I11, 7
+    ne $S10, "igspace", rx562_fail
+    add rx562_pos, 7
+    set_addr $I10, rxquantr567_done
+    (rx562_rep) = rx562_cur."!mark_commit"($I10)
+  rxquantr567_done:
   # rx pass
-    rx563_cur."!cursor_pass"(rx563_pos, "mod_ident:sym<sigspace>")
-    rx563_cur."!cursor_debug"("PASS  ", "mod_ident:sym<sigspace>", " at pos=", rx563_pos)
-    .return (rx563_cur)
-  rx563_restart:
+    rx562_cur."!cursor_pass"(rx562_pos, "mod_ident:sym<sigspace>")
+    rx562_cur."!cursor_debug"("PASS  ", "mod_ident:sym<sigspace>", " at pos=", rx562_pos)
+    .return (rx562_cur)
+  rx562_restart:
 .annotate 'line', 3
-    rx563_cur."!cursor_debug"("NEXT ", "mod_ident:sym<sigspace>")
-  rx563_fail:
-    (rx563_rep, rx563_pos, $I10, $P10) = rx563_cur."!mark_fail"(0)
-    lt rx563_pos, -1, rx563_done
-    eq rx563_pos, -1, rx563_fail
+    rx562_cur."!cursor_debug"("NEXT ", "mod_ident:sym<sigspace>")
+  rx562_fail:
+    (rx562_rep, rx562_pos, $I10, $P10) = rx562_cur."!mark_fail"(0)
+    lt rx562_pos, -1, rx562_done
+    eq rx562_pos, -1, rx562_fail
     jump $I10
-  rx563_done:
-    rx563_cur."!cursor_fail"()
-    rx563_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<sigspace>")
-    .return (rx563_cur)
+  rx562_done:
+    rx562_cur."!cursor_fail"()
+    rx562_cur."!cursor_debug"("FAIL  ", "mod_ident:sym<sigspace>")
+    .return (rx562_cur)
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("159_1279589163.12187") :method
+.sub "!PREFIX__mod_ident:sym<sigspace>"  :subid("159_1280467470.54449") :method
 .annotate 'line', 3
-    new $P565, "ResizablePMCArray"
-    push $P565, "s"
-    .return ($P565)
+    new $P564, "ResizablePMCArray"
+    push $P564, "s"
+    .return ($P564)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block569" :load :anon :subid("160_1279589163.12187")
+.sub "_block568" :load :anon :subid("160_1280467470.54449")
 .annotate 'line', 3
-    .const 'Sub' $P571 = "11_1279589163.12187" 
-    $P572 = $P571()
-    .return ($P572)
+    .const 'Sub' $P570 = "11_1280467470.54449" 
+    $P571 = $P570()
+    .return ($P571)
 .end
 
 
 .namespace []
-.sub "_block574" :load :anon :subid("161_1279589163.12187")
+.sub "_block573" :load :anon :subid("161_1280467470.54449")
 .annotate 'line', 1
-    .const 'Sub' $P576 = "10_1279589163.12187" 
-    $P577 = $P576()
-    .return ($P577)
+    .const 'Sub' $P575 = "10_1280467470.54449" 
+    $P576 = $P575()
+    .return ($P576)
 .end
 
 ### .include 'gen/p6regex-actions.pir'
 
 .namespace []
-.sub "_block11"  :anon :subid("10_1279589166.57432")
+.sub "_block11"  :anon :subid("10_1280467473.99327")
 .annotate 'line', 0
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     capture_lex $P14
@@ -7690,153 +7689,153 @@
 .annotate 'line', 4
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     capture_lex $P14
-    $P1623 = $P14()
+    $P1634 = $P14()
 .annotate 'line', 1
-    .return ($P1623)
-    .const 'Sub' $P1625 = "92_1279589166.57432" 
-    .return ($P1625)
+    .return ($P1634)
+    .const 'Sub' $P1636 = "92_1280467473.99327" 
+    .return ($P1636)
 .end
 
 
 .namespace []
-.sub "" :load :init :subid("post93") :outer("10_1279589166.57432")
+.sub "" :load :init :subid("post93") :outer("10_1280467473.99327")
 .annotate 'line', 0
-    .const 'Sub' $P12 = "10_1279589166.57432" 
+    .const 'Sub' $P12 = "10_1280467473.99327" 
     .local pmc block
     set block, $P12
-    $P1628 = get_root_global ["parrot"], "P6metaclass"
-    $P1628."new_class"("Regex::P6Regex::Actions", "HLL::Actions" :named("parent"))
+    $P1639 = get_root_global ["parrot"], "P6metaclass"
+    $P1639."new_class"("Regex::P6Regex::Actions", "HLL::Actions" :named("parent"))
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block13"  :subid("11_1279589166.57432") :outer("10_1279589166.57432")
+.sub "_block13"  :subid("11_1280467473.99327") :outer("10_1280467473.99327")
 .annotate 'line', 4
-    .const 'Sub' $P1600 = "90_1279589166.57432" 
-    capture_lex $P1600
-    .const 'Sub' $P1580 = "89_1279589166.57432" 
-    capture_lex $P1580
-    .const 'Sub' $P1548 = "88_1279589166.57432" 
-    capture_lex $P1548
-    .const 'Sub' $P1479 = "84_1279589166.57432" 
-    capture_lex $P1479
-    .const 'Sub' $P1411 = "82_1279589166.57432" 
-    capture_lex $P1411
-    .const 'Sub' $P1339 = "79_1279589166.57432" 
-    capture_lex $P1339
-    .const 'Sub' $P1325 = "78_1279589166.57432" 
-    capture_lex $P1325
-    .const 'Sub' $P1301 = "77_1279589166.57432" 
-    capture_lex $P1301
-    .const 'Sub' $P1283 = "76_1279589166.57432" 
-    capture_lex $P1283
-    .const 'Sub' $P1269 = "75_1279589166.57432" 
-    capture_lex $P1269
-    .const 'Sub' $P1256 = "74_1279589166.57432" 
-    capture_lex $P1256
-    .const 'Sub' $P1225 = "73_1279589166.57432" 
-    capture_lex $P1225
-    .const 'Sub' $P1194 = "72_1279589166.57432" 
-    capture_lex $P1194
-    .const 'Sub' $P1178 = "71_1279589166.57432" 
-    capture_lex $P1178
-    .const 'Sub' $P1162 = "70_1279589166.57432" 
-    capture_lex $P1162
-    .const 'Sub' $P1146 = "69_1279589166.57432" 
-    capture_lex $P1146
-    .const 'Sub' $P1130 = "68_1279589166.57432" 
-    capture_lex $P1130
-    .const 'Sub' $P1114 = "67_1279589166.57432" 
-    capture_lex $P1114
-    .const 'Sub' $P1098 = "66_1279589166.57432" 
-    capture_lex $P1098
-    .const 'Sub' $P1082 = "65_1279589166.57432" 
-    capture_lex $P1082
-    .const 'Sub' $P1058 = "64_1279589166.57432" 
-    capture_lex $P1058
-    .const 'Sub' $P1043 = "63_1279589166.57432" 
-    capture_lex $P1043
-    .const 'Sub' $P985 = "62_1279589166.57432" 
-    capture_lex $P985
-    .const 'Sub' $P964 = "61_1279589166.57432" 
-    capture_lex $P964
-    .const 'Sub' $P942 = "60_1279589166.57432" 
-    capture_lex $P942
-    .const 'Sub' $P932 = "59_1279589166.57432" 
-    capture_lex $P932
-    .const 'Sub' $P922 = "58_1279589166.57432" 
-    capture_lex $P922
-    .const 'Sub' $P912 = "57_1279589166.57432" 
-    capture_lex $P912
-    .const 'Sub' $P900 = "56_1279589166.57432" 
-    capture_lex $P900
-    .const 'Sub' $P888 = "55_1279589166.57432" 
-    capture_lex $P888
-    .const 'Sub' $P876 = "54_1279589166.57432" 
-    capture_lex $P876
-    .const 'Sub' $P864 = "53_1279589166.57432" 
-    capture_lex $P864
-    .const 'Sub' $P852 = "52_1279589166.57432" 
-    capture_lex $P852
-    .const 'Sub' $P840 = "51_1279589166.57432" 
-    capture_lex $P840
-    .const 'Sub' $P828 = "50_1279589166.57432" 
-    capture_lex $P828
-    .const 'Sub' $P816 = "49_1279589166.57432" 
-    capture_lex $P816
-    .const 'Sub' $P793 = "48_1279589166.57432" 
-    capture_lex $P793
-    .const 'Sub' $P770 = "47_1279589166.57432" 
-    capture_lex $P770
-    .const 'Sub' $P752 = "46_1279589166.57432" 
-    capture_lex $P752
-    .const 'Sub' $P742 = "45_1279589166.57432" 
-    capture_lex $P742
-    .const 'Sub' $P724 = "44_1279589166.57432" 
-    capture_lex $P724
-    .const 'Sub' $P651 = "42_1279589166.57432" 
-    capture_lex $P651
-    .const 'Sub' $P634 = "41_1279589166.57432" 
-    capture_lex $P634
-    .const 'Sub' $P619 = "40_1279589166.57432" 
-    capture_lex $P619
-    .const 'Sub' $P604 = "39_1279589166.57432" 
-    capture_lex $P604
-    .const 'Sub' $P578 = "38_1279589166.57432" 
-    capture_lex $P578
-    .const 'Sub' $P527 = "36_1279589166.57432" 
-    capture_lex $P527
-    .const 'Sub' $P459 = "34_1279589166.57432" 
-    capture_lex $P459
-    .const 'Sub' $P404 = "31_1279589166.57432" 
+    .const 'Sub' $P1611 = "90_1280467473.99327" 
+    capture_lex $P1611
+    .const 'Sub' $P1591 = "89_1280467473.99327" 
+    capture_lex $P1591
+    .const 'Sub' $P1559 = "88_1280467473.99327" 
+    capture_lex $P1559
+    .const 'Sub' $P1490 = "84_1280467473.99327" 
+    capture_lex $P1490
+    .const 'Sub' $P1422 = "82_1280467473.99327" 
+    capture_lex $P1422
+    .const 'Sub' $P1350 = "79_1280467473.99327" 
+    capture_lex $P1350
+    .const 'Sub' $P1336 = "78_1280467473.99327" 
+    capture_lex $P1336
+    .const 'Sub' $P1312 = "77_1280467473.99327" 
+    capture_lex $P1312
+    .const 'Sub' $P1294 = "76_1280467473.99327" 
+    capture_lex $P1294
+    .const 'Sub' $P1280 = "75_1280467473.99327" 
+    capture_lex $P1280
+    .const 'Sub' $P1267 = "74_1280467473.99327" 
+    capture_lex $P1267
+    .const 'Sub' $P1236 = "73_1280467473.99327" 
+    capture_lex $P1236
+    .const 'Sub' $P1205 = "72_1280467473.99327" 
+    capture_lex $P1205
+    .const 'Sub' $P1189 = "71_1280467473.99327" 
+    capture_lex $P1189
+    .const 'Sub' $P1173 = "70_1280467473.99327" 
+    capture_lex $P1173
+    .const 'Sub' $P1157 = "69_1280467473.99327" 
+    capture_lex $P1157
+    .const 'Sub' $P1141 = "68_1280467473.99327" 
+    capture_lex $P1141
+    .const 'Sub' $P1125 = "67_1280467473.99327" 
+    capture_lex $P1125
+    .const 'Sub' $P1109 = "66_1280467473.99327" 
+    capture_lex $P1109
+    .const 'Sub' $P1093 = "65_1280467473.99327" 
+    capture_lex $P1093
+    .const 'Sub' $P1069 = "64_1280467473.99327" 
+    capture_lex $P1069
+    .const 'Sub' $P1054 = "63_1280467473.99327" 
+    capture_lex $P1054
+    .const 'Sub' $P996 = "62_1280467473.99327" 
+    capture_lex $P996
+    .const 'Sub' $P975 = "61_1280467473.99327" 
+    capture_lex $P975
+    .const 'Sub' $P953 = "60_1280467473.99327" 
+    capture_lex $P953
+    .const 'Sub' $P943 = "59_1280467473.99327" 
+    capture_lex $P943
+    .const 'Sub' $P933 = "58_1280467473.99327" 
+    capture_lex $P933
+    .const 'Sub' $P923 = "57_1280467473.99327" 
+    capture_lex $P923
+    .const 'Sub' $P911 = "56_1280467473.99327" 
+    capture_lex $P911
+    .const 'Sub' $P899 = "55_1280467473.99327" 
+    capture_lex $P899
+    .const 'Sub' $P887 = "54_1280467473.99327" 
+    capture_lex $P887
+    .const 'Sub' $P875 = "53_1280467473.99327" 
+    capture_lex $P875
+    .const 'Sub' $P863 = "52_1280467473.99327" 
+    capture_lex $P863
+    .const 'Sub' $P851 = "51_1280467473.99327" 
+    capture_lex $P851
+    .const 'Sub' $P839 = "50_1280467473.99327" 
+    capture_lex $P839
+    .const 'Sub' $P827 = "49_1280467473.99327" 
+    capture_lex $P827
+    .const 'Sub' $P799 = "48_1280467473.99327" 
+    capture_lex $P799
+    .const 'Sub' $P771 = "47_1280467473.99327" 
+    capture_lex $P771
+    .const 'Sub' $P753 = "46_1280467473.99327" 
+    capture_lex $P753
+    .const 'Sub' $P743 = "45_1280467473.99327" 
+    capture_lex $P743
+    .const 'Sub' $P725 = "44_1280467473.99327" 
+    capture_lex $P725
+    .const 'Sub' $P652 = "42_1280467473.99327" 
+    capture_lex $P652
+    .const 'Sub' $P635 = "41_1280467473.99327" 
+    capture_lex $P635
+    .const 'Sub' $P620 = "40_1280467473.99327" 
+    capture_lex $P620
+    .const 'Sub' $P605 = "39_1280467473.99327" 
+    capture_lex $P605
+    .const 'Sub' $P579 = "38_1280467473.99327" 
+    capture_lex $P579
+    .const 'Sub' $P528 = "36_1280467473.99327" 
+    capture_lex $P528
+    .const 'Sub' $P460 = "34_1280467473.99327" 
+    capture_lex $P460
+    .const 'Sub' $P404 = "31_1280467473.99327" 
     capture_lex $P404
-    .const 'Sub' $P389 = "30_1279589166.57432" 
+    .const 'Sub' $P389 = "30_1280467473.99327" 
     capture_lex $P389
-    .const 'Sub' $P363 = "28_1279589166.57432" 
+    .const 'Sub' $P363 = "28_1280467473.99327" 
     capture_lex $P363
-    .const 'Sub' $P346 = "27_1279589166.57432" 
+    .const 'Sub' $P346 = "27_1280467473.99327" 
     capture_lex $P346
-    .const 'Sub' $P312 = "26_1279589166.57432" 
+    .const 'Sub' $P312 = "26_1280467473.99327" 
     capture_lex $P312
-    .const 'Sub' $P57 = "13_1279589166.57432" 
+    .const 'Sub' $P57 = "13_1280467473.99327" 
     capture_lex $P57
-    .const 'Sub' $P16 = "12_1279589166.57432" 
+    .const 'Sub' $P16 = "12_1280467473.99327" 
     capture_lex $P16
     get_global $P15, "@MODIFIERS"
     unless_null $P15, vivify_95
     $P15 = root_new ['parrot';'ResizablePMCArray']
     set_global "@MODIFIERS", $P15
   vivify_95:
-.annotate 'line', 493
-    .const 'Sub' $P16 = "12_1279589166.57432" 
+.annotate 'line', 492
+    .const 'Sub' $P16 = "12_1280467473.99327" 
     newclosure $P56, $P16
     .lex "buildsub", $P56
-.annotate 'line', 511
-    .const 'Sub' $P57 = "13_1279589166.57432" 
+.annotate 'line', 510
+    .const 'Sub' $P57 = "13_1280467473.99327" 
     newclosure $P311, $P57
     .lex "capnames", $P311
-.annotate 'line', 577
-    .const 'Sub' $P312 = "26_1279589166.57432" 
+.annotate 'line', 576
+    .const 'Sub' $P312 = "26_1280467473.99327" 
     newclosure $P344, $P312
     .lex "backmod", $P344
 .annotate 'line', 4
@@ -7847,43 +7846,43 @@
     $P0."ctxsave"()
   ctxsave_done:
     get_global $P345, "@MODIFIERS"
-.annotate 'line', 486
-    find_lex $P1577, "buildsub"
-    find_lex $P1578, "capnames"
-    find_lex $P1579, "backmod"
-.annotate 'line', 590
-    .const 'Sub' $P1600 = "90_1279589166.57432" 
-    newclosure $P1617, $P1600
+.annotate 'line', 485
+    find_lex $P1588, "buildsub"
+    find_lex $P1589, "capnames"
+    find_lex $P1590, "backmod"
+.annotate 'line', 589
+    .const 'Sub' $P1611 = "90_1280467473.99327" 
+    newclosure $P1628, $P1611
 .annotate 'line', 4
-    .return ($P1617)
-    .const 'Sub' $P1619 = "91_1279589166.57432" 
-    .return ($P1619)
+    .return ($P1628)
+    .const 'Sub' $P1630 = "91_1280467473.99327" 
+    .return ($P1630)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "" :load :init :subid("post94") :outer("11_1279589166.57432")
+.sub "" :load :init :subid("post94") :outer("11_1280467473.99327")
 .annotate 'line', 4
     get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13" 
     .local pmc block
     set block, $P14
 .annotate 'line', 7
 
-        $P1622 = new ['ResizablePMCArray']
+        $P1633 = new ['ResizablePMCArray']
         $P0 = new ['Hash']
-        push $P1622, $P0
+        push $P1633, $P0
     
-    set_global "@MODIFIERS", $P1622
+    set_global "@MODIFIERS", $P1633
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "buildsub"  :subid("12_1279589166.57432") :outer("11_1279589166.57432")
+.sub "buildsub"  :subid("12_1280467473.99327") :outer("11_1280467473.99327")
     .param pmc param_19
     .param pmc param_20 :optional
     .param int has_param_20 :opt_flag
-.annotate 'line', 493
+.annotate 'line', 492
     new $P18, 'ExceptionHandler'
     set_addr $P18, control_17
     $P18."handle_types"(.CONTROL_RETURN)
@@ -7895,13 +7894,13 @@
     set param_20, $P22
   optparam_96:
     .lex "$block", param_20
-.annotate 'line', 494
+.annotate 'line', 493
     $P23 = root_new ['parrot';'Hash']
     .lex "%capnames", $P23
     find_lex $P24, "$rpast"
     $P25 = "capnames"($P24, 0)
     store_lex "%capnames", $P25
-.annotate 'line', 495
+.annotate 'line', 494
     new $P26, "Integer"
     assign $P26, 0
     find_lex $P27, "%capnames"
@@ -7910,15 +7909,15 @@
     store_lex "%capnames", $P27
   vivify_97:
     set $P27[""], $P26
-.annotate 'line', 496
+.annotate 'line', 495
     get_hll_global $P28, ["PAST"], "Regex"
-.annotate 'line', 497
+.annotate 'line', 496
     get_hll_global $P29, ["PAST"], "Regex"
     $P30 = $P29."new"("scan" :named("pasttype"))
     find_lex $P31, "$rpast"
-.annotate 'line', 499
+.annotate 'line', 498
     get_hll_global $P32, ["PAST"], "Regex"
-.annotate 'line', 500
+.annotate 'line', 499
     get_global $P35, "@MODIFIERS"
     unless_null $P35, vivify_98
     $P35 = root_new ['parrot';'ResizablePMCArray']
@@ -7942,34 +7941,34 @@
     set $P33, $P38
   if_34_end:
     $P40 = $P32."new"("pass" :named("pasttype"), $P33 :named("backtrack"))
-.annotate 'line', 499
+.annotate 'line', 498
     find_lex $P41, "%capnames"
     $P42 = $P28."new"($P30, $P31, $P40, "concat" :named("pasttype"), $P41 :named("capnames"))
-.annotate 'line', 496
+.annotate 'line', 495
     store_lex "$rpast", $P42
-.annotate 'line', 504
+.annotate 'line', 503
     find_lex $P44, "$block"
     $P45 = $P44."symbol"(unicode:"$\x{a2}")
     if $P45, unless_43_end
     find_lex $P46, "$block"
     $P46."symbol"(unicode:"$\x{a2}", "lexical" :named("scope"))
   unless_43_end:
-.annotate 'line', 505
+.annotate 'line', 504
     find_lex $P48, "$block"
     $P49 = $P48."symbol"("$/")
     if $P49, unless_47_end
     find_lex $P50, "$block"
     $P50."symbol"("$/", "lexical" :named("scope"))
   unless_47_end:
-.annotate 'line', 506
+.annotate 'line', 505
     find_lex $P51, "$block"
     find_lex $P52, "$rpast"
     $P51."push"($P52)
-.annotate 'line', 507
+.annotate 'line', 506
     find_lex $P53, "$block"
     $P53."blocktype"("method")
     find_lex $P54, "$block"
-.annotate 'line', 493
+.annotate 'line', 492
     .return ($P54)
   control_17:
     .local pmc exception 
@@ -7981,19 +7980,19 @@
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "capnames"  :subid("13_1279589166.57432") :outer("11_1279589166.57432")
+.sub "capnames"  :subid("13_1280467473.99327") :outer("11_1280467473.99327")
     .param pmc param_60
     .param pmc param_61
-.annotate 'line', 511
-    .const 'Sub' $P286 = "24_1279589166.57432" 
+.annotate 'line', 510
+    .const 'Sub' $P286 = "24_1280467473.99327" 
     capture_lex $P286
-    .const 'Sub' $P223 = "21_1279589166.57432" 
+    .const 'Sub' $P223 = "21_1280467473.99327" 
     capture_lex $P223
-    .const 'Sub' $P181 = "19_1279589166.57432" 
+    .const 'Sub' $P181 = "19_1280467473.99327" 
     capture_lex $P181
-    .const 'Sub' $P139 = "17_1279589166.57432" 
+    .const 'Sub' $P139 = "17_1280467473.99327" 
     capture_lex $P139
-    .const 'Sub' $P72 = "14_1279589166.57432" 
+    .const 'Sub' $P72 = "14_1280467473.99327" 
     capture_lex $P72
     new $P59, 'ExceptionHandler'
     set_addr $P59, control_58
@@ -8001,29 +8000,29 @@
     push_eh $P59
     .lex "$ast", param_60
     .lex "$count", param_61
-.annotate 'line', 512
+.annotate 'line', 511
     $P62 = root_new ['parrot';'Hash']
     .lex "%capnames", $P62
-.annotate 'line', 513
+.annotate 'line', 512
     new $P63, "Undef"
     .lex "$pasttype", $P63
-.annotate 'line', 511
+.annotate 'line', 510
     find_lex $P64, "%capnames"
-.annotate 'line', 513
+.annotate 'line', 512
     find_lex $P65, "$ast"
     $P66 = $P65."pasttype"()
     store_lex "$pasttype", $P66
-.annotate 'line', 514
+.annotate 'line', 513
     find_lex $P68, "$pasttype"
     set $S69, $P68
     iseq $I70, $S69, "alt"
     if $I70, if_67
-.annotate 'line', 527
+.annotate 'line', 526
     find_lex $P130, "$pasttype"
     set $S131, $P130
     iseq $I132, $S131, "concat"
     if $I132, if_129
-.annotate 'line', 536
+.annotate 'line', 535
     find_lex $P174, "$pasttype"
     set $S175, $P174
     iseq $I176, $S175, "subrule"
@@ -8039,37 +8038,37 @@
     set $P172, $I179
   if_173_end:
     if $P172, if_171
-.annotate 'line', 549
+.annotate 'line', 548
     find_lex $P219, "$pasttype"
     set $S220, $P219
     iseq $I221, $S220, "subcapture"
     if $I221, if_218
-.annotate 'line', 566
+.annotate 'line', 565
     find_lex $P282, "$pasttype"
     set $S283, $P282
     iseq $I284, $S283, "quant"
     unless $I284, if_281_end
-    .const 'Sub' $P286 = "24_1279589166.57432" 
+    .const 'Sub' $P286 = "24_1280467473.99327" 
     capture_lex $P286
     $P286()
   if_281_end:
     goto if_218_end
   if_218:
-.annotate 'line', 549
-    .const 'Sub' $P223 = "21_1279589166.57432" 
+.annotate 'line', 548
+    .const 'Sub' $P223 = "21_1280467473.99327" 
     capture_lex $P223
     $P223()
   if_218_end:
     goto if_171_end
   if_171:
-.annotate 'line', 536
-    .const 'Sub' $P181 = "19_1279589166.57432" 
+.annotate 'line', 535
+    .const 'Sub' $P181 = "19_1280467473.99327" 
     capture_lex $P181
     $P181()
   if_171_end:
     goto if_129_end
   if_129:
-.annotate 'line', 528
+.annotate 'line', 527
     find_lex $P134, "$ast"
     $P135 = $P134."list"()
     defined $I136, $P135
@@ -8083,7 +8082,7 @@
     unless $P133, loop168_done
     shift $P137, $P133
   loop168_redo:
-    .const 'Sub' $P139 = "17_1279589166.57432" 
+    .const 'Sub' $P139 = "17_1280467473.99327" 
     capture_lex $P139
     $P139($P137)
   loop168_next:
@@ -8098,15 +8097,15 @@
     pop_eh 
   for_undef_121:
   if_129_end:
-.annotate 'line', 527
+.annotate 'line', 526
     goto if_67_end
   if_67:
-.annotate 'line', 514
-    .const 'Sub' $P72 = "14_1279589166.57432" 
+.annotate 'line', 513
+    .const 'Sub' $P72 = "14_1280467473.99327" 
     capture_lex $P72
     $P72()
   if_67_end:
-.annotate 'line', 573
+.annotate 'line', 572
     find_lex $P307, "$count"
     find_lex $P308, "%capnames"
     unless_null $P308, vivify_141
@@ -8115,7 +8114,7 @@
   vivify_141:
     set $P308[""], $P307
     find_lex $P309, "%capnames"
-.annotate 'line', 511
+.annotate 'line', 510
     .return ($P309)
   control_58:
     .local pmc exception 
@@ -8127,11 +8126,11 @@
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "_block285"  :anon :subid("24_1279589166.57432") :outer("13_1279589166.57432")
-.annotate 'line', 566
-    .const 'Sub' $P297 = "25_1279589166.57432" 
+.sub "_block285"  :anon :subid("24_1280467473.99327") :outer("13_1280467473.99327")
+.annotate 'line', 565
+    .const 'Sub' $P297 = "25_1280467473.99327" 
     capture_lex $P297
-.annotate 'line', 567
+.annotate 'line', 566
     $P287 = root_new ['parrot';'Hash']
     .lex "%astcap", $P287
     find_lex $P288, "$ast"
@@ -8145,7 +8144,7 @@
     find_lex $P290, "$count"
     $P291 = "capnames"($P289, $P290)
     store_lex "%astcap", $P291
-.annotate 'line', 568
+.annotate 'line', 567
     find_lex $P293, "%astcap"
     defined $I294, $P293
     unless $I294, for_undef_103
@@ -8158,7 +8157,7 @@
     unless $P292, loop302_done
     shift $P295, $P292
   loop302_redo:
-    .const 'Sub' $P297 = "25_1279589166.57432" 
+    .const 'Sub' $P297 = "25_1280467473.99327" 
     capture_lex $P297
     $P297($P295)
   loop302_next:
@@ -8172,7 +8171,7 @@
   loop302_done:
     pop_eh 
   for_undef_103:
-.annotate 'line', 571
+.annotate 'line', 570
     find_lex $P305, "%astcap"
     unless_null $P305, vivify_105
     $P305 = root_new ['parrot';'Hash']
@@ -8182,17 +8181,17 @@
     new $P306, "Undef"
   vivify_106:
     store_lex "$count", $P306
-.annotate 'line', 566
+.annotate 'line', 565
     .return ($P306)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block296"  :anon :subid("25_1279589166.57432") :outer("24_1279589166.57432")
+.sub "_block296"  :anon :subid("25_1280467473.99327") :outer("24_1280467473.99327")
     .param pmc param_298
-.annotate 'line', 568
+.annotate 'line', 567
     .lex "$_", param_298
-.annotate 'line', 569
+.annotate 'line', 568
     new $P299, "Integer"
     assign $P299, 2
     find_lex $P300, "$_"
@@ -8202,40 +8201,40 @@
     store_lex "%capnames", $P301
   vivify_104:
     set $P301[$P300], $P299
-.annotate 'line', 568
+.annotate 'line', 567
     .return ($P299)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "_block222"  :anon :subid("21_1279589166.57432") :outer("13_1279589166.57432")
-.annotate 'line', 549
-    .const 'Sub' $P263 = "23_1279589166.57432" 
+.sub "_block222"  :anon :subid("21_1280467473.99327") :outer("13_1280467473.99327")
+.annotate 'line', 548
+    .const 'Sub' $P263 = "23_1280467473.99327" 
     capture_lex $P263
-    .const 'Sub' $P235 = "22_1279589166.57432" 
+    .const 'Sub' $P235 = "22_1280467473.99327" 
     capture_lex $P235
-.annotate 'line', 550
+.annotate 'line', 549
     new $P224, "Undef"
     .lex "$name", $P224
-.annotate 'line', 551
+.annotate 'line', 550
     $P225 = root_new ['parrot';'ResizablePMCArray']
     .lex "@names", $P225
-.annotate 'line', 560
+.annotate 'line', 559
     $P226 = root_new ['parrot';'Hash']
     .lex "%x", $P226
-.annotate 'line', 550
+.annotate 'line', 549
     find_lex $P227, "$ast"
     $P228 = $P227."name"()
     store_lex "$name", $P228
-.annotate 'line', 551
+.annotate 'line', 550
 
             $P0 = find_lex '$name'
             $S0 = $P0
             $P229 = split '=', $S0
         
     store_lex "@names", $P229
-.annotate 'line', 556
+.annotate 'line', 555
     find_lex $P231, "@names"
     defined $I232, $P231
     unless $I232, for_undef_107
@@ -8248,7 +8247,7 @@
     unless $P230, loop251_done
     shift $P233, $P230
   loop251_redo:
-    .const 'Sub' $P235 = "22_1279589166.57432" 
+    .const 'Sub' $P235 = "22_1280467473.99327" 
     capture_lex $P235
     $P235($P233)
   loop251_next:
@@ -8262,7 +8261,7 @@
   loop251_done:
     pop_eh 
   for_undef_107:
-.annotate 'line', 560
+.annotate 'line', 559
     find_lex $P254, "$ast"
     unless_null $P254, vivify_109
     $P254 = root_new ['parrot';'ResizablePMCArray']
@@ -8274,7 +8273,7 @@
     find_lex $P256, "$count"
     $P257 = "capnames"($P255, $P256)
     store_lex "%x", $P257
-.annotate 'line', 561
+.annotate 'line', 560
     find_lex $P259, "%x"
     defined $I260, $P259
     unless $I260, for_undef_111
@@ -8287,7 +8286,7 @@
     unless $P258, loop276_done
     shift $P261, $P258
   loop276_redo:
-    .const 'Sub' $P263 = "23_1279589166.57432" 
+    .const 'Sub' $P263 = "23_1280467473.99327" 
     capture_lex $P263
     $P263($P261)
   loop276_next:
@@ -8301,7 +8300,7 @@
   loop276_done:
     pop_eh 
   for_undef_111:
-.annotate 'line', 564
+.annotate 'line', 563
     find_lex $P279, "%x"
     unless_null $P279, vivify_117
     $P279 = root_new ['parrot';'Hash']
@@ -8311,17 +8310,17 @@
     new $P280, "Undef"
   vivify_118:
     store_lex "$count", $P280
-.annotate 'line', 549
+.annotate 'line', 548
     .return ($P280)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block234"  :anon :subid("22_1279589166.57432") :outer("21_1279589166.57432")
+.sub "_block234"  :anon :subid("22_1280467473.99327") :outer("21_1280467473.99327")
     .param pmc param_236
-.annotate 'line', 556
+.annotate 'line', 555
     .lex "$_", param_236
-.annotate 'line', 557
+.annotate 'line', 556
     find_lex $P240, "$_"
     set $S241, $P240
     iseq $I242, $S241, "0"
@@ -8341,7 +8340,7 @@
     add $P247, $P246, 1
     store_lex "$count", $P247
   if_237_end:
-.annotate 'line', 558
+.annotate 'line', 557
     new $P248, "Integer"
     assign $P248, 1
     find_lex $P249, "$_"
@@ -8351,17 +8350,17 @@
     store_lex "%capnames", $P250
   vivify_108:
     set $P250[$P249], $P248
-.annotate 'line', 556
+.annotate 'line', 555
     .return ($P248)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block262"  :anon :subid("23_1279589166.57432") :outer("21_1279589166.57432")
+.sub "_block262"  :anon :subid("23_1280467473.99327") :outer("21_1280467473.99327")
     .param pmc param_264
-.annotate 'line', 561
+.annotate 'line', 560
     .lex "$_", param_264
-.annotate 'line', 562
+.annotate 'line', 561
     find_lex $P265, "$_"
     find_lex $P266, "%capnames"
     unless_null $P266, vivify_112
@@ -8391,28 +8390,28 @@
     store_lex "%capnames", $P275
   vivify_116:
     set $P275[$P274], $P273
-.annotate 'line', 561
+.annotate 'line', 560
     .return ($P273)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "_block180"  :anon :subid("19_1279589166.57432") :outer("13_1279589166.57432")
-.annotate 'line', 536
-    .const 'Sub' $P199 = "20_1279589166.57432" 
+.sub "_block180"  :anon :subid("19_1280467473.99327") :outer("13_1280467473.99327")
+.annotate 'line', 535
+    .const 'Sub' $P199 = "20_1280467473.99327" 
     capture_lex $P199
-.annotate 'line', 537
+.annotate 'line', 536
     new $P182, "Undef"
     .lex "$name", $P182
-.annotate 'line', 539
+.annotate 'line', 538
     $P183 = root_new ['parrot';'ResizablePMCArray']
     .lex "@names", $P183
-.annotate 'line', 537
+.annotate 'line', 536
     find_lex $P184, "$ast"
     $P185 = $P184."name"()
     store_lex "$name", $P185
-.annotate 'line', 538
+.annotate 'line', 537
     find_lex $P187, "$name"
     set $S188, $P187
     iseq $I189, $S188, ""
@@ -8423,14 +8422,14 @@
     find_lex $P192, "$name"
     $P191."name"($P192)
   if_186_end:
-.annotate 'line', 539
+.annotate 'line', 538
 
             $P0 = find_lex '$name'
             $S0 = $P0
             $P193 = split '=', $S0
         
     store_lex "@names", $P193
-.annotate 'line', 544
+.annotate 'line', 543
     find_lex $P195, "@names"
     defined $I196, $P195
     unless $I196, for_undef_119
@@ -8443,7 +8442,7 @@
     unless $P194, loop215_done
     shift $P197, $P194
   loop215_redo:
-    .const 'Sub' $P199 = "20_1279589166.57432" 
+    .const 'Sub' $P199 = "20_1280467473.99327" 
     capture_lex $P199
     $P199($P197)
   loop215_next:
@@ -8457,17 +8456,17 @@
   loop215_done:
     pop_eh 
   for_undef_119:
-.annotate 'line', 536
+.annotate 'line', 535
     .return ($P194)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block198"  :anon :subid("20_1279589166.57432") :outer("19_1279589166.57432")
+.sub "_block198"  :anon :subid("20_1280467473.99327") :outer("19_1280467473.99327")
     .param pmc param_200
-.annotate 'line', 544
+.annotate 'line', 543
     .lex "$_", param_200
-.annotate 'line', 545
+.annotate 'line', 544
     find_lex $P204, "$_"
     set $S205, $P204
     iseq $I206, $S205, "0"
@@ -8487,7 +8486,7 @@
     add $P211, $P210, 1
     store_lex "$count", $P211
   if_201_end:
-.annotate 'line', 546
+.annotate 'line', 545
     new $P212, "Integer"
     assign $P212, 1
     find_lex $P213, "$_"
@@ -8497,19 +8496,19 @@
     store_lex "%capnames", $P214
   vivify_120:
     set $P214[$P213], $P212
-.annotate 'line', 544
+.annotate 'line', 543
     .return ($P212)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "_block138"  :anon :subid("17_1279589166.57432") :outer("13_1279589166.57432")
+.sub "_block138"  :anon :subid("17_1280467473.99327") :outer("13_1280467473.99327")
     .param pmc param_141
-.annotate 'line', 528
-    .const 'Sub' $P150 = "18_1279589166.57432" 
+.annotate 'line', 527
+    .const 'Sub' $P150 = "18_1280467473.99327" 
     capture_lex $P150
-.annotate 'line', 529
+.annotate 'line', 528
     $P140 = root_new ['parrot';'Hash']
     .lex "%x", $P140
     .lex "$_", param_141
@@ -8517,7 +8516,7 @@
     find_lex $P143, "$count"
     $P144 = "capnames"($P142, $P143)
     store_lex "%x", $P144
-.annotate 'line', 530
+.annotate 'line', 529
     find_lex $P146, "%x"
     defined $I147, $P146
     unless $I147, for_undef_122
@@ -8530,7 +8529,7 @@
     unless $P145, loop163_done
     shift $P148, $P145
   loop163_redo:
-    .const 'Sub' $P150 = "18_1279589166.57432" 
+    .const 'Sub' $P150 = "18_1280467473.99327" 
     capture_lex $P150
     $P150($P148)
   loop163_next:
@@ -8544,7 +8543,7 @@
   loop163_done:
     pop_eh 
   for_undef_122:
-.annotate 'line', 533
+.annotate 'line', 532
     find_lex $P166, "%x"
     unless_null $P166, vivify_128
     $P166 = root_new ['parrot';'Hash']
@@ -8554,17 +8553,17 @@
     new $P167, "Undef"
   vivify_129:
     store_lex "$count", $P167
-.annotate 'line', 528
+.annotate 'line', 527
     .return ($P167)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block149"  :anon :subid("18_1279589166.57432") :outer("17_1279589166.57432")
+.sub "_block149"  :anon :subid("18_1280467473.99327") :outer("17_1280467473.99327")
     .param pmc param_151
-.annotate 'line', 530
+.annotate 'line', 529
     .lex "$_", param_151
-.annotate 'line', 531
+.annotate 'line', 530
     find_lex $P152, "$_"
     find_lex $P153, "%capnames"
     unless_null $P153, vivify_123
@@ -8594,23 +8593,23 @@
     store_lex "%capnames", $P162
   vivify_127:
     set $P162[$P161], $P160
-.annotate 'line', 530
+.annotate 'line', 529
     .return ($P160)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "_block71"  :anon :subid("14_1279589166.57432") :outer("13_1279589166.57432")
-.annotate 'line', 514
-    .const 'Sub' $P81 = "15_1279589166.57432" 
+.sub "_block71"  :anon :subid("14_1280467473.99327") :outer("13_1280467473.99327")
+.annotate 'line', 513
+    .const 'Sub' $P81 = "15_1280467473.99327" 
     capture_lex $P81
-.annotate 'line', 515
+.annotate 'line', 514
     new $P73, "Undef"
     .lex "$max", $P73
     find_lex $P74, "$count"
     store_lex "$max", $P74
-.annotate 'line', 516
+.annotate 'line', 515
     find_lex $P76, "$ast"
     $P77 = $P76."list"()
     defined $I78, $P77
@@ -8624,7 +8623,7 @@
     unless $P75, loop125_done
     shift $P79, $P75
   loop125_redo:
-    .const 'Sub' $P81 = "15_1279589166.57432" 
+    .const 'Sub' $P81 = "15_1280467473.99327" 
     capture_lex $P81
     $P81($P79)
   loop125_next:
@@ -8638,22 +8637,22 @@
   loop125_done:
     pop_eh 
   for_undef_130:
-.annotate 'line', 525
+.annotate 'line', 524
     find_lex $P128, "$max"
     store_lex "$count", $P128
-.annotate 'line', 514
+.annotate 'line', 513
     .return ($P128)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "_block80"  :anon :subid("15_1279589166.57432") :outer("14_1279589166.57432")
+.sub "_block80"  :anon :subid("15_1280467473.99327") :outer("14_1280467473.99327")
     .param pmc param_83
-.annotate 'line', 516
-    .const 'Sub' $P92 = "16_1279589166.57432" 
+.annotate 'line', 515
+    .const 'Sub' $P92 = "16_1280467473.99327" 
     capture_lex $P92
-.annotate 'line', 517
+.annotate 'line', 516
     $P82 = root_new ['parrot';'Hash']
     .lex "%x", $P82
     .lex "$_", param_83
@@ -8661,7 +8660,7 @@
     find_lex $P85, "$count"
     $P86 = "capnames"($P84, $P85)
     store_lex "%x", $P86
-.annotate 'line', 518
+.annotate 'line', 517
     find_lex $P88, "%x"
     defined $I89, $P88
     unless $I89, for_undef_131
@@ -8674,7 +8673,7 @@
     unless $P87, loop112_done
     shift $P90, $P87
   loop112_redo:
-    .const 'Sub' $P92 = "16_1279589166.57432" 
+    .const 'Sub' $P92 = "16_1280467473.99327" 
     capture_lex $P92
     $P92($P90)
   loop112_next:
@@ -8688,7 +8687,7 @@
   loop112_done:
     pop_eh 
   for_undef_131:
-.annotate 'line', 523
+.annotate 'line', 522
     find_lex $P117, "%x"
     unless_null $P117, vivify_137
     $P117 = root_new ['parrot';'Hash']
@@ -8717,17 +8716,17 @@
     store_lex "$max", $P124
     set $P115, $P124
   if_116_end:
-.annotate 'line', 516
+.annotate 'line', 515
     .return ($P115)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block91"  :anon :subid("16_1279589166.57432") :outer("15_1279589166.57432")
+.sub "_block91"  :anon :subid("16_1280467473.99327") :outer("15_1280467473.99327")
     .param pmc param_93
-.annotate 'line', 518
+.annotate 'line', 517
     .lex "$_", param_93
-.annotate 'line', 519
+.annotate 'line', 518
     find_lex $P98, "$_"
     find_lex $P99, "%capnames"
     unless_null $P99, vivify_132
@@ -8768,7 +8767,7 @@
     assign $P108, 1
     set $P94, $P108
   if_95_end:
-.annotate 'line', 520
+.annotate 'line', 519
     find_lex $P110, "$_"
     find_lex $P111, "%capnames"
     unless_null $P111, vivify_136
@@ -8776,29 +8775,29 @@
     store_lex "%capnames", $P111
   vivify_136:
     set $P111[$P110], $P94
-.annotate 'line', 518
+.annotate 'line', 517
     .return ($P94)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backmod"  :subid("26_1279589166.57432") :outer("11_1279589166.57432")
+.sub "backmod"  :subid("26_1280467473.99327") :outer("11_1280467473.99327")
     .param pmc param_315
     .param pmc param_316
-.annotate 'line', 577
+.annotate 'line', 576
     new $P314, 'ExceptionHandler'
     set_addr $P314, control_313
     $P314."handle_types"(.CONTROL_RETURN)
     push_eh $P314
     .lex "$ast", param_315
     .lex "$backmod", param_316
-.annotate 'line', 578
+.annotate 'line', 577
     find_lex $P318, "$backmod"
     set $S319, $P318
     iseq $I320, $S319, ":"
     if $I320, if_317
-.annotate 'line', 579
+.annotate 'line', 578
     find_lex $P325, "$backmod"
     set $S326, $P325
     iseq $I327, $S326, ":?"
@@ -8814,7 +8813,7 @@
     set $P323, $I330
   unless_324_end:
     if $P323, if_322
-.annotate 'line', 580
+.annotate 'line', 579
     find_lex $P335, "$backmod"
     set $S336, $P335
     iseq $I337, $S336, ":!"
@@ -8835,18 +8834,18 @@
   if_332_end:
     goto if_322_end
   if_322:
-.annotate 'line', 579
+.annotate 'line', 578
     find_lex $P331, "$ast"
     $P331."backtrack"("f")
   if_322_end:
     goto if_317_end
   if_317:
-.annotate 'line', 578
+.annotate 'line', 577
     find_lex $P321, "$ast"
     $P321."backtrack"("r")
   if_317_end:
     find_lex $P342, "$ast"
-.annotate 'line', 577
+.annotate 'line', 576
     .return ($P342)
   control_313:
     .local pmc exception 
@@ -8858,7 +8857,7 @@
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "arg"  :subid("27_1279589166.57432") :method :outer("11_1279589166.57432")
+.sub "arg"  :subid("27_1280467473.99327") :method :outer("11_1280467473.99327")
     .param pmc param_349
 .annotate 'line', 14
     new $P348, 'ExceptionHandler'
@@ -8915,10 +8914,10 @@
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "arglist"  :subid("28_1279589166.57432") :method :outer("11_1279589166.57432")
+.sub "arglist"  :subid("28_1280467473.99327") :method :outer("11_1280467473.99327")
     .param pmc param_366
 .annotate 'line', 18
-    .const 'Sub' $P376 = "29_1279589166.57432" 
+    .const 'Sub' $P376 = "29_1280467473.99327" 
     capture_lex $P376
     new $P365, 'ExceptionHandler'
     set_addr $P365, control_364
@@ -8952,7 +8951,7 @@
     unless $P370, loop382_done
     shift $P374, $P370
   loop382_redo:
-    .const 'Sub' $P376 = "29_1279589166.57432" 
+    .const 'Sub' $P376 = "29_1280467473.99327" 
     capture_lex $P376
     $P376($P374)
   loop382_next:
@@ -8981,7 +8980,7 @@
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block375"  :anon :subid("29_1279589166.57432") :outer("28_1279589166.57432")
+.sub "_block375"  :anon :subid("29_1280467473.99327") :outer("28_1280467473.99327")
     .param pmc param_377
 .annotate 'line', 20
     .lex "$_", param_377
@@ -8995,7 +8994,7 @@
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "TOP"  :subid("30_1279589166.57432") :method :outer("11_1279589166.57432")
+.sub "TOP"  :subid("30_1280467473.99327") :method :outer("11_1280467473.99327")
     .param pmc param_392
 .annotate 'line', 24
     new $P391, 'ExceptionHandler'
@@ -9038,14 +9037,14 @@
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "nibbler"  :subid("31_1279589166.57432") :method :outer("11_1279589166.57432")
+.sub "nibbler"  :subid("31_1280467473.99327") :method :outer("11_1280467473.99327")
     .param pmc param_407
     .param pmc param_408 :optional
     .param int has_param_408 :opt_flag
 .annotate 'line', 30
-    .const 'Sub' $P442 = "33_1279589166.57432" 
-    capture_lex $P442
-    .const 'Sub' $P416 = "32_1279589166.57432" 
+    .const 'Sub' $P443 = "33_1280467473.99327" 
+    capture_lex $P443
+    .const 'Sub' $P416 = "32_1280467473.99327" 
     capture_lex $P416
     new $P406, 'ExceptionHandler'
     set_addr $P406, control_405
@@ -9058,7 +9057,7 @@
     set param_408, $P409
   optparam_153:
     .lex "$key", param_408
-.annotate 'line', 42
+.annotate 'line', 39
     new $P410, "Undef"
     .lex "$past", $P410
 .annotate 'line', 31
@@ -9066,101 +9065,101 @@
     set $S413, $P412
     iseq $I414, $S413, "open"
     unless $I414, if_411_end
-    .const 'Sub' $P416 = "32_1279589166.57432" 
+    .const 'Sub' $P416 = "32_1280467473.99327" 
     capture_lex $P416
     $P416()
   if_411_end:
-.annotate 'line', 41
-    get_global $P426, "@MODIFIERS"
-    $P426."shift"()
-    find_lex $P427, "$past"
-.annotate 'line', 43
-    find_lex $P429, "$/"
-    unless_null $P429, vivify_156
-    $P429 = root_new ['parrot';'Hash']
+.annotate 'line', 38
+    get_global $P427, "@MODIFIERS"
+    $P427."shift"()
+    find_lex $P428, "$past"
+.annotate 'line', 40
+    find_lex $P430, "$/"
+    unless_null $P430, vivify_156
+    $P430 = root_new ['parrot';'Hash']
   vivify_156:
-    set $P430, $P429["termish"]
-    unless_null $P430, vivify_157
-    new $P430, "Undef"
+    set $P431, $P430["termish"]
+    unless_null $P431, vivify_157
+    new $P431, "Undef"
   vivify_157:
-    set $N431, $P430
-    isgt $I432, $N431, 1.0
-    if $I432, if_428
-.annotate 'line', 50
-    find_lex $P451, "$/"
-    unless_null $P451, vivify_158
-    $P451 = root_new ['parrot';'Hash']
+    set $N432, $P431
+    isgt $I433, $N432, 1.0
+    if $I433, if_429
+.annotate 'line', 47
+    find_lex $P452, "$/"
+    unless_null $P452, vivify_158
+    $P452 = root_new ['parrot';'Hash']
   vivify_158:
-    set $P452, $P451["termish"]
-    unless_null $P452, vivify_159
-    $P452 = root_new ['parrot';'ResizablePMCArray']
+    set $P453, $P452["termish"]
+    unless_null $P453, vivify_159
+    $P453 = root_new ['parrot';'ResizablePMCArray']
   vivify_159:
-    set $P453, $P452[0]
-    unless_null $P453, vivify_160
-    new $P453, "Undef"
+    set $P454, $P453[0]
+    unless_null $P454, vivify_160
+    new $P454, "Undef"
   vivify_160:
-    $P454 = $P453."ast"()
-    store_lex "$past", $P454
-.annotate 'line', 49
-    goto if_428_end
-  if_428:
-.annotate 'line', 44
-    get_hll_global $P433, ["PAST"], "Regex"
-    find_lex $P434, "$/"
-    $P435 = $P433."new"("alt" :named("pasttype"), $P434 :named("node"))
-    store_lex "$past", $P435
-.annotate 'line', 45
-    find_lex $P437, "$/"
-    unless_null $P437, vivify_161
-    $P437 = root_new ['parrot';'Hash']
+    $P455 = $P454."ast"()
+    store_lex "$past", $P455
+.annotate 'line', 46
+    goto if_429_end
+  if_429:
+.annotate 'line', 41
+    get_hll_global $P434, ["PAST"], "Regex"
+    find_lex $P435, "$/"
+    $P436 = $P434."new"("alt" :named("pasttype"), $P435 :named("node"))
+    store_lex "$past", $P436
+.annotate 'line', 42
+    find_lex $P438, "$/"
+    unless_null $P438, vivify_161
+    $P438 = root_new ['parrot';'Hash']
   vivify_161:
-    set $P438, $P437["termish"]
-    unless_null $P438, vivify_162
-    new $P438, "Undef"
+    set $P439, $P438["termish"]
+    unless_null $P439, vivify_162
+    new $P439, "Undef"
   vivify_162:
-    defined $I439, $P438
-    unless $I439, for_undef_163
-    iter $P436, $P438
-    new $P449, 'ExceptionHandler'
-    set_addr $P449, loop448_handler
-    $P449."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
-    push_eh $P449
-  loop448_test:
-    unless $P436, loop448_done
-    shift $P440, $P436
-  loop448_redo:
-    .const 'Sub' $P442 = "33_1279589166.57432" 
-    capture_lex $P442
-    $P442($P440)
-  loop448_next:
-    goto loop448_test
-  loop448_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P450, exception, 'type'
-    eq $P450, .CONTROL_LOOP_NEXT, loop448_next
-    eq $P450, .CONTROL_LOOP_REDO, loop448_redo
-  loop448_done:
+    defined $I440, $P439
+    unless $I440, for_undef_163
+    iter $P437, $P439
+    new $P450, 'ExceptionHandler'
+    set_addr $P450, loop449_handler
+    $P450."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P450
+  loop449_test:
+    unless $P437, loop449_done
+    shift $P441, $P437
+  loop449_redo:
+    .const 'Sub' $P443 = "33_1280467473.99327" 
+    capture_lex $P443
+    $P443($P441)
+  loop449_next:
+    goto loop449_test
+  loop449_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P451, exception, 'type'
+    eq $P451, .CONTROL_LOOP_NEXT, loop449_next
+    eq $P451, .CONTROL_LOOP_REDO, loop449_redo
+  loop449_done:
     pop_eh 
   for_undef_163:
-  if_428_end:
-.annotate 'line', 52
-    find_lex $P455, "$/"
-    find_lex $P456, "$past"
-    $P457 = $P455."!make"($P456)
+  if_429_end:
+.annotate 'line', 49
+    find_lex $P456, "$/"
+    find_lex $P457, "$past"
+    $P458 = $P456."!make"($P457)
 .annotate 'line', 30
-    .return ($P457)
+    .return ($P458)
   control_405:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P458, exception, "payload"
-    .return ($P458)
+    getattribute $P459, exception, "payload"
+    .return ($P459)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "_block415"  :anon :subid("32_1279589166.57432") :outer("31_1279589166.57432")
+.sub "_block415"  :anon :subid("32_1280467473.99327") :outer("31_1280467473.99327")
 .annotate 'line', 32
     $P417 = root_new ['parrot';'Hash']
     .lex "%old", $P417
@@ -9178,2742 +9177,2774 @@
   vivify_155:
     store_lex "%old", $P420
 .annotate 'line', 33
-
-                       $P0 = find_lex '%old'
-                       $P421 = clone $P0
-                   
-    store_lex "%new", $P421
-.annotate 'line', 37
-    get_global $P422, "@MODIFIERS"
-    find_lex $P423, "%new"
-    $P422."unshift"($P423)
-.annotate 'line', 38
-    new $P424, "Exception"
-    set $P424['type'], .CONTROL_RETURN
-    new $P425, "Integer"
-    assign $P425, 1
-    setattribute $P424, 'payload', $P425
-    throw $P424
+    find_lex $P421, "%old"
+    clone $P422, $P421
+    store_lex "%new", $P422
+.annotate 'line', 34
+    get_global $P423, "@MODIFIERS"
+    find_lex $P424, "%new"
+    $P423."unshift"($P424)
+.annotate 'line', 35
+    new $P425, "Exception"
+    set $P425['type'], .CONTROL_RETURN
+    new $P426, "Integer"
+    assign $P426, 1
+    setattribute $P425, 'payload', $P426
+    throw $P425
 .annotate 'line', 31
     .return ()
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block441"  :anon :subid("33_1279589166.57432") :outer("31_1279589166.57432")
-    .param pmc param_443
-.annotate 'line', 45
-    .lex "$_", param_443
-.annotate 'line', 46
-    find_lex $P444, "$past"
-    find_lex $P445, "$_"
-    $P446 = $P445."ast"()
-    $P447 = $P444."push"($P446)
-.annotate 'line', 45
-    .return ($P447)
+.sub "_block442"  :anon :subid("33_1280467473.99327") :outer("31_1280467473.99327")
+    .param pmc param_444
+.annotate 'line', 42
+    .lex "$_", param_444
+.annotate 'line', 43
+    find_lex $P445, "$past"
+    find_lex $P446, "$_"
+    $P447 = $P446."ast"()
+    $P448 = $P445."push"($P447)
+.annotate 'line', 42
+    .return ($P448)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "termish"  :subid("34_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_462
-.annotate 'line', 55
-    .const 'Sub' $P475 = "35_1279589166.57432" 
-    capture_lex $P475
-    new $P461, 'ExceptionHandler'
-    set_addr $P461, control_460
-    $P461."handle_types"(.CONTROL_RETURN)
-    push_eh $P461
+.sub "termish"  :subid("34_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_463
+.annotate 'line', 52
+    .const 'Sub' $P476 = "35_1280467473.99327" 
+    capture_lex $P476
+    new $P462, 'ExceptionHandler'
+    set_addr $P462, control_461
+    $P462."handle_types"(.CONTROL_RETURN)
+    push_eh $P462
     .lex "self", self
-    .lex "$/", param_462
-.annotate 'line', 56
-    new $P463, "Undef"
-    .lex "$past", $P463
-.annotate 'line', 57
+    .lex "$/", param_463
+.annotate 'line', 53
     new $P464, "Undef"
-    .lex "$lastlit", $P464
-.annotate 'line', 56
-    get_hll_global $P465, ["PAST"], "Regex"
-    find_lex $P466, "$/"
-    $P467 = $P465."new"("concat" :named("pasttype"), $P466 :named("node"))
-    store_lex "$past", $P467
-.annotate 'line', 57
-    new $P468, "Integer"
-    assign $P468, 0
-    store_lex "$lastlit", $P468
-.annotate 'line', 58
-    find_lex $P470, "$/"
-    unless_null $P470, vivify_164
-    $P470 = root_new ['parrot';'Hash']
+    .lex "$past", $P464
+.annotate 'line', 54
+    new $P465, "Undef"
+    .lex "$lastlit", $P465
+.annotate 'line', 53
+    get_hll_global $P466, ["PAST"], "Regex"
+    find_lex $P467, "$/"
+    $P468 = $P466."new"("concat" :named("pasttype"), $P467 :named("node"))
+    store_lex "$past", $P468
+.annotate 'line', 54
+    new $P469, "Integer"
+    assign $P469, 0
+    store_lex "$lastlit", $P469
+.annotate 'line', 55
+    find_lex $P471, "$/"
+    unless_null $P471, vivify_164
+    $P471 = root_new ['parrot';'Hash']
   vivify_164:
-    set $P471, $P470["noun"]
-    unless_null $P471, vivify_165
-    new $P471, "Undef"
+    set $P472, $P471["noun"]
+    unless_null $P472, vivify_165
+    new $P472, "Undef"
   vivify_165:
-    defined $I472, $P471
-    unless $I472, for_undef_166
-    iter $P469, $P471
-    new $P521, 'ExceptionHandler'
-    set_addr $P521, loop520_handler
-    $P521."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
-    push_eh $P521
-  loop520_test:
-    unless $P469, loop520_done
-    shift $P473, $P469
-  loop520_redo:
-    .const 'Sub' $P475 = "35_1279589166.57432" 
-    capture_lex $P475
-    $P475($P473)
-  loop520_next:
-    goto loop520_test
-  loop520_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P522, exception, 'type'
-    eq $P522, .CONTROL_LOOP_NEXT, loop520_next
-    eq $P522, .CONTROL_LOOP_REDO, loop520_redo
-  loop520_done:
+    defined $I473, $P472
+    unless $I473, for_undef_166
+    iter $P470, $P472
+    new $P522, 'ExceptionHandler'
+    set_addr $P522, loop521_handler
+    $P522."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P522
+  loop521_test:
+    unless $P470, loop521_done
+    shift $P474, $P470
+  loop521_redo:
+    .const 'Sub' $P476 = "35_1280467473.99327" 
+    capture_lex $P476
+    $P476($P474)
+  loop521_next:
+    goto loop521_test
+  loop521_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P523, exception, 'type'
+    eq $P523, .CONTROL_LOOP_NEXT, loop521_next
+    eq $P523, .CONTROL_LOOP_REDO, loop521_redo
+  loop521_done:
     pop_eh 
   for_undef_166:
-.annotate 'line', 73
-    find_lex $P523, "$/"
-    find_lex $P524, "$past"
-    $P525 = $P523."!make"($P524)
-.annotate 'line', 55
-    .return ($P525)
-  control_460:
+.annotate 'line', 70
+    find_lex $P524, "$/"
+    find_lex $P525, "$past"
+    $P526 = $P524."!make"($P525)
+.annotate 'line', 52
+    .return ($P526)
+  control_461:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P526, exception, "payload"
-    .return ($P526)
+    getattribute $P527, exception, "payload"
+    .return ($P527)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block474"  :anon :subid("35_1279589166.57432") :outer("34_1279589166.57432")
-    .param pmc param_477
+.sub "_block475"  :anon :subid("35_1280467473.99327") :outer("34_1280467473.99327")
+    .param pmc param_478
+.annotate 'line', 56
+    new $P477, "Undef"
+    .lex "$ast", $P477
+    .lex "$_", param_478
+    find_lex $P479, "$_"
+    $P480 = $P479."ast"()
+    store_lex "$ast", $P480
+.annotate 'line', 57
+    find_lex $P483, "$ast"
+    if $P483, if_482
+    set $P481, $P483
+    goto if_482_end
+  if_482:
+.annotate 'line', 58
+    find_lex $P490, "$lastlit"
+    if $P490, if_489
+    set $P488, $P490
+    goto if_489_end
+  if_489:
+    find_lex $P491, "$ast"
+    $S492 = $P491."pasttype"()
+    iseq $I493, $S492, "literal"
+    new $P488, 'Integer'
+    set $P488, $I493
+  if_489_end:
+    if $P488, if_487
+    set $P486, $P488
+    goto if_487_end
+  if_487:
 .annotate 'line', 59
-    new $P476, "Undef"
-    .lex "$ast", $P476
-    .lex "$_", param_477
-    find_lex $P478, "$_"
-    $P479 = $P478."ast"()
-    store_lex "$ast", $P479
-.annotate 'line', 60
-    find_lex $P482, "$ast"
-    if $P482, if_481
-    set $P480, $P482
-    goto if_481_end
-  if_481:
-.annotate 'line', 61
-    find_lex $P489, "$lastlit"
-    if $P489, if_488
-    set $P487, $P489
-    goto if_488_end
-  if_488:
-    find_lex $P490, "$ast"
-    $S491 = $P490."pasttype"()
-    iseq $I492, $S491, "literal"
-    new $P487, 'Integer'
-    set $P487, $I492
-  if_488_end:
-    if $P487, if_486
-    set $P485, $P487
-    goto if_486_end
-  if_486:
-.annotate 'line', 62
-    get_hll_global $P493, ["PAST"], "Node"
-    find_lex $P494, "$ast"
-    unless_null $P494, vivify_167
-    $P494 = root_new ['parrot';'ResizablePMCArray']
+    get_hll_global $P494, ["PAST"], "Node"
+    find_lex $P495, "$ast"
+    unless_null $P495, vivify_167
+    $P495 = root_new ['parrot';'ResizablePMCArray']
   vivify_167:
-    set $P495, $P494[0]
-    unless_null $P495, vivify_168
-    new $P495, "Undef"
+    set $P496, $P495[0]
+    unless_null $P496, vivify_168
+    new $P496, "Undef"
   vivify_168:
-    $P496 = $P493."ACCEPTS"($P495)
-    isfalse $I497, $P496
-    new $P485, 'Integer'
-    set $P485, $I497
-  if_486_end:
-    if $P485, if_484
-.annotate 'line', 66
-    find_lex $P504, "$past"
-    find_lex $P505, "$ast"
-    $P504."push"($P505)
-.annotate 'line', 67
-    find_lex $P510, "$ast"
-    $S511 = $P510."pasttype"()
-    iseq $I512, $S511, "literal"
-    if $I512, if_509
-    new $P508, 'Integer'
-    set $P508, $I512
-    goto if_509_end
-  if_509:
-.annotate 'line', 68
-    get_hll_global $P513, ["PAST"], "Node"
-    find_lex $P514, "$ast"
-    unless_null $P514, vivify_169
-    $P514 = root_new ['parrot';'ResizablePMCArray']
+    $P497 = $P494."ACCEPTS"($P496)
+    isfalse $I498, $P497
+    new $P486, 'Integer'
+    set $P486, $I498
+  if_487_end:
+    if $P486, if_485
+.annotate 'line', 63
+    find_lex $P505, "$past"
+    find_lex $P506, "$ast"
+    $P505."push"($P506)
+.annotate 'line', 64
+    find_lex $P511, "$ast"
+    $S512 = $P511."pasttype"()
+    iseq $I513, $S512, "literal"
+    if $I513, if_510
+    new $P509, 'Integer'
+    set $P509, $I513
+    goto if_510_end
+  if_510:
+.annotate 'line', 65
+    get_hll_global $P514, ["PAST"], "Node"
+    find_lex $P515, "$ast"
+    unless_null $P515, vivify_169
+    $P515 = root_new ['parrot';'ResizablePMCArray']
   vivify_169:
-    set $P515, $P514[0]
-    unless_null $P515, vivify_170
-    new $P515, "Undef"
+    set $P516, $P515[0]
+    unless_null $P516, vivify_170
+    new $P516, "Undef"
   vivify_170:
-    $P516 = $P513."ACCEPTS"($P515)
-    isfalse $I517, $P516
-    new $P508, 'Integer'
-    set $P508, $I517
-  if_509_end:
-    if $P508, if_507
-    new $P519, "Integer"
-    assign $P519, 0
-    set $P506, $P519
-    goto if_507_end
-  if_507:
-    find_lex $P518, "$ast"
-    set $P506, $P518
-  if_507_end:
-.annotate 'line', 69
-    store_lex "$lastlit", $P506
-.annotate 'line', 65
-    set $P483, $P506
+    $P517 = $P514."ACCEPTS"($P516)
+    isfalse $I518, $P517
+    new $P509, 'Integer'
+    set $P509, $I518
+  if_510_end:
+    if $P509, if_508
+    new $P520, "Integer"
+    assign $P520, 0
+    set $P507, $P520
+    goto if_508_end
+  if_508:
+    find_lex $P519, "$ast"
+    set $P507, $P519
+  if_508_end:
+.annotate 'line', 66
+    store_lex "$lastlit", $P507
 .annotate 'line', 62
-    goto if_484_end
-  if_484:
-.annotate 'line', 63
-    find_lex $P498, "$lastlit"
-    unless_null $P498, vivify_171
-    $P498 = root_new ['parrot';'ResizablePMCArray']
+    set $P484, $P507
+.annotate 'line', 59
+    goto if_485_end
+  if_485:
+.annotate 'line', 60
+    find_lex $P499, "$lastlit"
+    unless_null $P499, vivify_171
+    $P499 = root_new ['parrot';'ResizablePMCArray']
   vivify_171:
-    set $P499, $P498[0]
-    unless_null $P499, vivify_172
-    new $P499, "Undef"
+    set $P500, $P499[0]
+    unless_null $P500, vivify_172
+    new $P500, "Undef"
   vivify_172:
-    find_lex $P500, "$ast"
-    unless_null $P500, vivify_173
-    $P500 = root_new ['parrot';'ResizablePMCArray']
+    find_lex $P501, "$ast"
+    unless_null $P501, vivify_173
+    $P501 = root_new ['parrot';'ResizablePMCArray']
   vivify_173:
-    set $P501, $P500[0]
-    unless_null $P501, vivify_174
-    new $P501, "Undef"
+    set $P502, $P501[0]
+    unless_null $P502, vivify_174
+    new $P502, "Undef"
   vivify_174:
-    concat $P502, $P499, $P501
-    find_lex $P503, "$lastlit"
-    unless_null $P503, vivify_175
-    $P503 = root_new ['parrot';'ResizablePMCArray']
-    store_lex "$lastlit", $P503
+    concat $P503, $P500, $P502
+    find_lex $P504, "$lastlit"
+    unless_null $P504, vivify_175
+    $P504 = root_new ['parrot';'ResizablePMCArray']
+    store_lex "$lastlit", $P504
   vivify_175:
-    set $P503[0], $P502
-.annotate 'line', 62
-    set $P483, $P502
-  if_484_end:
-.annotate 'line', 60
-    set $P480, $P483
-  if_481_end:
-.annotate 'line', 58
-    .return ($P480)
+    set $P504[0], $P503
+.annotate 'line', 59
+    set $P484, $P503
+  if_485_end:
+.annotate 'line', 57
+    set $P481, $P484
+  if_482_end:
+.annotate 'line', 55
+    .return ($P481)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "quantified_atom"  :subid("36_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_530
-.annotate 'line', 76
-    .const 'Sub' $P539 = "37_1279589166.57432" 
-    capture_lex $P539
-    new $P529, 'ExceptionHandler'
-    set_addr $P529, control_528
-    $P529."handle_types"(.CONTROL_RETURN)
-    push_eh $P529
-    .lex "self", self
-    .lex "$/", param_530
-.annotate 'line', 77
-    new $P531, "Undef"
-    .lex "$past", $P531
-    find_lex $P532, "$/"
-    unless_null $P532, vivify_176
-    $P532 = root_new ['parrot';'Hash']
+.sub "quantified_atom"  :subid("36_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_531
+.annotate 'line', 73
+    .const 'Sub' $P540 = "37_1280467473.99327" 
+    capture_lex $P540
+    new $P530, 'ExceptionHandler'
+    set_addr $P530, control_529
+    $P530."handle_types"(.CONTROL_RETURN)
+    push_eh $P530
+    .lex "self", self
+    .lex "$/", param_531
+.annotate 'line', 74
+    new $P532, "Undef"
+    .lex "$past", $P532
+    find_lex $P533, "$/"
+    unless_null $P533, vivify_176
+    $P533 = root_new ['parrot';'Hash']
   vivify_176:
-    set $P533, $P532["atom"]
-    unless_null $P533, vivify_177
-    new $P533, "Undef"
+    set $P534, $P533["atom"]
+    unless_null $P534, vivify_177
+    new $P534, "Undef"
   vivify_177:
-    $P534 = $P533."ast"()
-    store_lex "$past", $P534
-.annotate 'line', 78
-    find_lex $P536, "$/"
-    unless_null $P536, vivify_178
-    $P536 = root_new ['parrot';'Hash']
+    $P535 = $P534."ast"()
+    store_lex "$past", $P535
+.annotate 'line', 75
+    find_lex $P537, "$/"
+    unless_null $P537, vivify_178
+    $P537 = root_new ['parrot';'Hash']
   vivify_178:
-    set $P537, $P536["quantifier"]
-    unless_null $P537, vivify_179
-    new $P537, "Undef"
+    set $P538, $P537["quantifier"]
+    unless_null $P538, vivify_179
+    new $P538, "Undef"
   vivify_179:
-    if $P537, if_535
-.annotate 'line', 84
-    find_lex $P554, "$/"
-    unless_null $P554, vivify_180
-    $P554 = root_new ['parrot';'Hash']
+    if $P538, if_536
+.annotate 'line', 81
+    find_lex $P555, "$/"
+    unless_null $P555, vivify_180
+    $P555 = root_new ['parrot';'Hash']
   vivify_180:
-    set $P555, $P554["backmod"]
-    unless_null $P555, vivify_181
-    $P555 = root_new ['parrot';'ResizablePMCArray']
+    set $P556, $P555["backmod"]
+    unless_null $P556, vivify_181
+    $P556 = root_new ['parrot';'ResizablePMCArray']
   vivify_181:
-    set $P556, $P555[0]
-    unless_null $P556, vivify_182
-    new $P556, "Undef"
+    set $P557, $P556[0]
+    unless_null $P557, vivify_182
+    new $P557, "Undef"
   vivify_182:
-    unless $P556, if_553_end
-    find_lex $P557, "$past"
-    find_lex $P558, "$/"
-    unless_null $P558, vivify_183
-    $P558 = root_new ['parrot';'Hash']
+    unless $P557, if_554_end
+    find_lex $P558, "$past"
+    find_lex $P559, "$/"
+    unless_null $P559, vivify_183
+    $P559 = root_new ['parrot';'Hash']
   vivify_183:
-    set $P559, $P558["backmod"]
-    unless_null $P559, vivify_184
-    $P559 = root_new ['parrot';'ResizablePMCArray']
+    set $P560, $P559["backmod"]
+    unless_null $P560, vivify_184
+    $P560 = root_new ['parrot';'ResizablePMCArray']
   vivify_184:
-    set $P560, $P559[0]
-    unless_null $P560, vivify_185
-    new $P560, "Undef"
+    set $P561, $P560[0]
+    unless_null $P561, vivify_185
+    new $P561, "Undef"
   vivify_185:
-    "backmod"($P557, $P560)
-  if_553_end:
-    goto if_535_end
-  if_535:
-.annotate 'line', 78
-    .const 'Sub' $P539 = "37_1279589166.57432" 
-    capture_lex $P539
-    $P539()
-  if_535_end:
-.annotate 'line', 85
-    find_lex $P566, "$past"
-    if $P566, if_565
-    set $P564, $P566
-    goto if_565_end
-  if_565:
+    "backmod"($P558, $P561)
+  if_554_end:
+    goto if_536_end
+  if_536:
+.annotate 'line', 75
+    .const 'Sub' $P540 = "37_1280467473.99327" 
+    capture_lex $P540
+    $P540()
+  if_536_end:
+.annotate 'line', 82
     find_lex $P567, "$past"
-    $P568 = $P567."backtrack"()
-    isfalse $I569, $P568
-    new $P564, 'Integer'
-    set $P564, $I569
-  if_565_end:
-    if $P564, if_563
-    set $P562, $P564
-    goto if_563_end
-  if_563:
-    get_global $P570, "@MODIFIERS"
-    unless_null $P570, vivify_189
-    $P570 = root_new ['parrot';'ResizablePMCArray']
+    if $P567, if_566
+    set $P565, $P567
+    goto if_566_end
+  if_566:
+    find_lex $P568, "$past"
+    $P569 = $P568."backtrack"()
+    isfalse $I570, $P569
+    new $P565, 'Integer'
+    set $P565, $I570
+  if_566_end:
+    if $P565, if_564
+    set $P563, $P565
+    goto if_564_end
+  if_564:
+    get_global $P571, "@MODIFIERS"
+    unless_null $P571, vivify_189
+    $P571 = root_new ['parrot';'ResizablePMCArray']
   vivify_189:
-    set $P571, $P570[0]
-    unless_null $P571, vivify_190
-    $P571 = root_new ['parrot';'Hash']
+    set $P572, $P571[0]
+    unless_null $P572, vivify_190
+    $P572 = root_new ['parrot';'Hash']
   vivify_190:
-    set $P572, $P571["r"]
-    unless_null $P572, vivify_191
-    new $P572, "Undef"
+    set $P573, $P572["r"]
+    unless_null $P573, vivify_191
+    new $P573, "Undef"
   vivify_191:
-    set $P562, $P572
-  if_563_end:
-    unless $P562, if_561_end
-.annotate 'line', 86
-    find_lex $P573, "$past"
-    $P573."backtrack"("r")
-  if_561_end:
-.annotate 'line', 88
-    find_lex $P574, "$/"
-    find_lex $P575, "$past"
-    $P576 = $P574."!make"($P575)
-.annotate 'line', 76
-    .return ($P576)
-  control_528:
+    set $P563, $P573
+  if_564_end:
+    unless $P563, if_562_end
+.annotate 'line', 83
+    find_lex $P574, "$past"
+    $P574."backtrack"("r")
+  if_562_end:
+.annotate 'line', 85
+    find_lex $P575, "$/"
+    find_lex $P576, "$past"
+    $P577 = $P575."!make"($P576)
+.annotate 'line', 73
+    .return ($P577)
+  control_529:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P577, exception, "payload"
-    .return ($P577)
+    getattribute $P578, exception, "payload"
+    .return ($P578)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block538"  :anon :subid("37_1279589166.57432") :outer("36_1279589166.57432")
-.annotate 'line', 80
-    new $P540, "Undef"
-    .lex "$qast", $P540
-.annotate 'line', 79
-    find_lex $P542, "$past"
-    isfalse $I543, $P542
-    unless $I543, if_541_end
-    find_lex $P544, "$/"
-    $P545 = $P544."CURSOR"()
-    $P545."panic"("Quantifier follows nothing")
-  if_541_end:
-.annotate 'line', 80
-    find_lex $P546, "$/"
-    unless_null $P546, vivify_186
-    $P546 = root_new ['parrot';'Hash']
+.sub "_block539"  :anon :subid("37_1280467473.99327") :outer("36_1280467473.99327")
+.annotate 'line', 77
+    new $P541, "Undef"
+    .lex "$qast", $P541
+.annotate 'line', 76
+    find_lex $P543, "$past"
+    isfalse $I544, $P543
+    unless $I544, if_542_end
+    find_lex $P545, "$/"
+    $P546 = $P545."CURSOR"()
+    $P546."panic"("Quantifier follows nothing")
+  if_542_end:
+.annotate 'line', 77
+    find_lex $P547, "$/"
+    unless_null $P547, vivify_186
+    $P547 = root_new ['parrot';'Hash']
   vivify_186:
-    set $P547, $P546["quantifier"]
-    unless_null $P547, vivify_187
-    $P547 = root_new ['parrot';'ResizablePMCArray']
+    set $P548, $P547["quantifier"]
+    unless_null $P548, vivify_187
+    $P548 = root_new ['parrot';'ResizablePMCArray']
   vivify_187:
-    set $P548, $P547[0]
-    unless_null $P548, vivify_188
-    new $P548, "Undef"
+    set $P549, $P548[0]
+    unless_null $P549, vivify_188
+    new $P549, "Undef"
   vivify_188:
-    $P549 = $P548."ast"()
-    store_lex "$qast", $P549
-.annotate 'line', 81
-    find_lex $P550, "$qast"
-    find_lex $P551, "$past"
-    $P550."unshift"($P551)
-.annotate 'line', 82
-    find_lex $P552, "$qast"
-    store_lex "$past", $P552
+    $P550 = $P549."ast"()
+    store_lex "$qast", $P550
 .annotate 'line', 78
-    .return ($P552)
+    find_lex $P551, "$qast"
+    find_lex $P552, "$past"
+    $P551."unshift"($P552)
+.annotate 'line', 79
+    find_lex $P553, "$qast"
+    store_lex "$past", $P553
+.annotate 'line', 75
+    .return ($P553)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "atom"  :subid("38_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_581
-.annotate 'line', 91
-    new $P580, 'ExceptionHandler'
-    set_addr $P580, control_579
-    $P580."handle_types"(.CONTROL_RETURN)
-    push_eh $P580
+.sub "atom"  :subid("38_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_582
+.annotate 'line', 88
+    new $P581, 'ExceptionHandler'
+    set_addr $P581, control_580
+    $P581."handle_types"(.CONTROL_RETURN)
+    push_eh $P581
     .lex "self", self
-    .lex "$/", param_581
-.annotate 'line', 92
-    new $P582, "Undef"
-    .lex "$past", $P582
-.annotate 'line', 91
-    find_lex $P583, "$past"
-.annotate 'line', 93
-    find_lex $P585, "$/"
-    unless_null $P585, vivify_192
-    $P585 = root_new ['parrot';'Hash']
+    .lex "$/", param_582
+.annotate 'line', 89
+    new $P583, "Undef"
+    .lex "$past", $P583
+.annotate 'line', 88
+    find_lex $P584, "$past"
+.annotate 'line', 90
+    find_lex $P586, "$/"
+    unless_null $P586, vivify_192
+    $P586 = root_new ['parrot';'Hash']
   vivify_192:
-    set $P586, $P585["metachar"]
-    unless_null $P586, vivify_193
-    new $P586, "Undef"
+    set $P587, $P586["metachar"]
+    unless_null $P587, vivify_193
+    new $P587, "Undef"
   vivify_193:
-    if $P586, if_584
-.annotate 'line', 95
-    get_hll_global $P590, ["PAST"], "Regex"
-    find_lex $P591, "$/"
-    set $S592, $P591
-    find_lex $P593, "$/"
-    $P594 = $P590."new"($S592, "literal" :named("pasttype"), $P593 :named("node"))
-    store_lex "$past", $P594
-.annotate 'line', 96
-    get_global $P596, "@MODIFIERS"
-    unless_null $P596, vivify_194
-    $P596 = root_new ['parrot';'ResizablePMCArray']
+    if $P587, if_585
+.annotate 'line', 92
+    get_hll_global $P591, ["PAST"], "Regex"
+    find_lex $P592, "$/"
+    set $S593, $P592
+    find_lex $P594, "$/"
+    $P595 = $P591."new"($S593, "literal" :named("pasttype"), $P594 :named("node"))
+    store_lex "$past", $P595
+.annotate 'line', 93
+    get_global $P597, "@MODIFIERS"
+    unless_null $P597, vivify_194
+    $P597 = root_new ['parrot';'ResizablePMCArray']
   vivify_194:
-    set $P597, $P596[0]
-    unless_null $P597, vivify_195
-    $P597 = root_new ['parrot';'Hash']
+    set $P598, $P597[0]
+    unless_null $P598, vivify_195
+    $P598 = root_new ['parrot';'Hash']
   vivify_195:
-    set $P598, $P597["i"]
-    unless_null $P598, vivify_196
-    new $P598, "Undef"
+    set $P599, $P598["i"]
+    unless_null $P599, vivify_196
+    new $P599, "Undef"
   vivify_196:
-    unless $P598, if_595_end
-    find_lex $P599, "$past"
-    $P599."subtype"("ignorecase")
-  if_595_end:
-.annotate 'line', 94
-    goto if_584_end
-  if_584:
-.annotate 'line', 93
-    find_lex $P587, "$/"
-    unless_null $P587, vivify_197
-    $P587 = root_new ['parrot';'Hash']
+    unless $P599, if_596_end
+    find_lex $P600, "$past"
+    $P600."subtype"("ignorecase")
+  if_596_end:
+.annotate 'line', 91
+    goto if_585_end
+  if_585:
+.annotate 'line', 90
+    find_lex $P588, "$/"
+    unless_null $P588, vivify_197
+    $P588 = root_new ['parrot';'Hash']
   vivify_197:
-    set $P588, $P587["metachar"]
-    unless_null $P588, vivify_198
-    new $P588, "Undef"
+    set $P589, $P588["metachar"]
+    unless_null $P589, vivify_198
+    new $P589, "Undef"
   vivify_198:
-    $P589 = $P588."ast"()
-    store_lex "$past", $P589
-  if_584_end:
-.annotate 'line', 98
-    find_lex $P600, "$/"
-    find_lex $P601, "$past"
-    $P602 = $P600."!make"($P601)
-.annotate 'line', 91
-    .return ($P602)
-  control_579:
+    $P590 = $P589."ast"()
+    store_lex "$past", $P590
+  if_585_end:
+.annotate 'line', 95
+    find_lex $P601, "$/"
+    find_lex $P602, "$past"
+    $P603 = $P601."!make"($P602)
+.annotate 'line', 88
+    .return ($P603)
+  control_580:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P603, exception, "payload"
-    .return ($P603)
+    getattribute $P604, exception, "payload"
+    .return ($P604)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "quantifier:sym<*>"  :subid("39_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_607
-.annotate 'line', 101
-    new $P606, 'ExceptionHandler'
-    set_addr $P606, control_605
-    $P606."handle_types"(.CONTROL_RETURN)
-    push_eh $P606
-    .lex "self", self
-    .lex "$/", param_607
-.annotate 'line', 102
-    new $P608, "Undef"
-    .lex "$past", $P608
-    get_hll_global $P609, ["PAST"], "Regex"
-    find_lex $P610, "$/"
-    $P611 = $P609."new"("quant" :named("pasttype"), $P610 :named("node"))
-    store_lex "$past", $P611
-.annotate 'line', 103
-    find_lex $P612, "$/"
-    find_lex $P613, "$past"
-    find_lex $P614, "$/"
-    unless_null $P614, vivify_199
-    $P614 = root_new ['parrot';'Hash']
+.sub "quantifier:sym<*>"  :subid("39_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_608
+.annotate 'line', 98
+    new $P607, 'ExceptionHandler'
+    set_addr $P607, control_606
+    $P607."handle_types"(.CONTROL_RETURN)
+    push_eh $P607
+    .lex "self", self
+    .lex "$/", param_608
+.annotate 'line', 99
+    new $P609, "Undef"
+    .lex "$past", $P609
+    get_hll_global $P610, ["PAST"], "Regex"
+    find_lex $P611, "$/"
+    $P612 = $P610."new"("quant" :named("pasttype"), $P611 :named("node"))
+    store_lex "$past", $P612
+.annotate 'line', 100
+    find_lex $P613, "$/"
+    find_lex $P614, "$past"
+    find_lex $P615, "$/"
+    unless_null $P615, vivify_199
+    $P615 = root_new ['parrot';'Hash']
   vivify_199:
-    set $P615, $P614["backmod"]
-    unless_null $P615, vivify_200
-    new $P615, "Undef"
+    set $P616, $P615["backmod"]
+    unless_null $P616, vivify_200
+    new $P616, "Undef"
   vivify_200:
-    $P616 = "backmod"($P613, $P615)
-    $P617 = $P612."!make"($P616)
-.annotate 'line', 101
-    .return ($P617)
-  control_605:
+    $P617 = "backmod"($P614, $P616)
+    $P618 = $P613."!make"($P617)
+.annotate 'line', 98
+    .return ($P618)
+  control_606:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P618, exception, "payload"
-    .return ($P618)
+    getattribute $P619, exception, "payload"
+    .return ($P619)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "quantifier:sym<+>"  :subid("40_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_622
-.annotate 'line', 106
-    new $P621, 'ExceptionHandler'
-    set_addr $P621, control_620
-    $P621."handle_types"(.CONTROL_RETURN)
-    push_eh $P621
-    .lex "self", self
-    .lex "$/", param_622
-.annotate 'line', 107
-    new $P623, "Undef"
-    .lex "$past", $P623
-    get_hll_global $P624, ["PAST"], "Regex"
-    find_lex $P625, "$/"
-    $P626 = $P624."new"("quant" :named("pasttype"), 1 :named("min"), $P625 :named("node"))
-    store_lex "$past", $P626
-.annotate 'line', 108
-    find_lex $P627, "$/"
-    find_lex $P628, "$past"
-    find_lex $P629, "$/"
-    unless_null $P629, vivify_201
-    $P629 = root_new ['parrot';'Hash']
+.sub "quantifier:sym<+>"  :subid("40_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_623
+.annotate 'line', 103
+    new $P622, 'ExceptionHandler'
+    set_addr $P622, control_621
+    $P622."handle_types"(.CONTROL_RETURN)
+    push_eh $P622
+    .lex "self", self
+    .lex "$/", param_623
+.annotate 'line', 104
+    new $P624, "Undef"
+    .lex "$past", $P624
+    get_hll_global $P625, ["PAST"], "Regex"
+    find_lex $P626, "$/"
+    $P627 = $P625."new"("quant" :named("pasttype"), 1 :named("min"), $P626 :named("node"))
+    store_lex "$past", $P627
+.annotate 'line', 105
+    find_lex $P628, "$/"
+    find_lex $P629, "$past"
+    find_lex $P630, "$/"
+    unless_null $P630, vivify_201
+    $P630 = root_new ['parrot';'Hash']
   vivify_201:
-    set $P630, $P629["backmod"]
-    unless_null $P630, vivify_202
-    new $P630, "Undef"
+    set $P631, $P630["backmod"]
+    unless_null $P631, vivify_202
+    new $P631, "Undef"
   vivify_202:
-    $P631 = "backmod"($P628, $P630)
-    $P632 = $P627."!make"($P631)
-.annotate 'line', 106
-    .return ($P632)
-  control_620:
+    $P632 = "backmod"($P629, $P631)
+    $P633 = $P628."!make"($P632)
+.annotate 'line', 103
+    .return ($P633)
+  control_621:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P633, exception, "payload"
-    .return ($P633)
+    getattribute $P634, exception, "payload"
+    .return ($P634)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "quantifier:sym<?>"  :subid("41_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_637
-.annotate 'line', 111
-    new $P636, 'ExceptionHandler'
-    set_addr $P636, control_635
-    $P636."handle_types"(.CONTROL_RETURN)
-    push_eh $P636
+.sub "quantifier:sym<?>"  :subid("41_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_638
+.annotate 'line', 108
+    new $P637, 'ExceptionHandler'
+    set_addr $P637, control_636
+    $P637."handle_types"(.CONTROL_RETURN)
+    push_eh $P637
     .lex "self", self
-    .lex "$/", param_637
-.annotate 'line', 112
-    new $P638, "Undef"
-    .lex "$past", $P638
-    get_hll_global $P639, ["PAST"], "Regex"
-    find_lex $P640, "$/"
-    $P641 = $P639."new"("quant" :named("pasttype"), 0 :named("min"), 1 :named("max"), $P640 :named("node"))
-    store_lex "$past", $P641
-.annotate 'line', 113
-    find_lex $P642, "$/"
-    find_lex $P643, "$past"
-    find_lex $P644, "$/"
-    unless_null $P644, vivify_203
-    $P644 = root_new ['parrot';'Hash']
+    .lex "$/", param_638
+.annotate 'line', 109
+    new $P639, "Undef"
+    .lex "$past", $P639
+    get_hll_global $P640, ["PAST"], "Regex"
+    find_lex $P641, "$/"
+    $P642 = $P640."new"("quant" :named("pasttype"), 0 :named("min"), 1 :named("max"), $P641 :named("node"))
+    store_lex "$past", $P642
+.annotate 'line', 110
+    find_lex $P643, "$/"
+    find_lex $P644, "$past"
+    find_lex $P645, "$/"
+    unless_null $P645, vivify_203
+    $P645 = root_new ['parrot';'Hash']
   vivify_203:
-    set $P645, $P644["backmod"]
-    unless_null $P645, vivify_204
-    new $P645, "Undef"
+    set $P646, $P645["backmod"]
+    unless_null $P646, vivify_204
+    new $P646, "Undef"
   vivify_204:
-    $P646 = "backmod"($P643, $P645)
-    $P642."!make"($P646)
-.annotate 'line', 114
-    find_lex $P647, "$/"
-    find_lex $P648, "$past"
-    $P649 = $P647."!make"($P648)
+    $P647 = "backmod"($P644, $P646)
+    $P643."!make"($P647)
 .annotate 'line', 111
-    .return ($P649)
-  control_635:
+    find_lex $P648, "$/"
+    find_lex $P649, "$past"
+    $P650 = $P648."!make"($P649)
+.annotate 'line', 108
+    .return ($P650)
+  control_636:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P650, exception, "payload"
-    .return ($P650)
+    getattribute $P651, exception, "payload"
+    .return ($P651)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "quantifier:sym<**>"  :subid("42_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_654
-.annotate 'line', 117
-    .const 'Sub' $P669 = "43_1279589166.57432" 
-    capture_lex $P669
-    new $P653, 'ExceptionHandler'
-    set_addr $P653, control_652
-    $P653."handle_types"(.CONTROL_RETURN)
-    push_eh $P653
+.sub "quantifier:sym<**>"  :subid("42_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_655
+.annotate 'line', 114
+    .const 'Sub' $P670 = "43_1280467473.99327" 
+    capture_lex $P670
+    new $P654, 'ExceptionHandler'
+    set_addr $P654, control_653
+    $P654."handle_types"(.CONTROL_RETURN)
+    push_eh $P654
     .lex "self", self
-    .lex "$/", param_654
-.annotate 'line', 118
-    new $P655, "Undef"
-    .lex "$past", $P655
-.annotate 'line', 119
+    .lex "$/", param_655
+.annotate 'line', 115
     new $P656, "Undef"
-    .lex "$ws", $P656
-.annotate 'line', 117
-    find_lex $P657, "$past"
-.annotate 'line', 119
-    find_lex $P660, "$/"
-    unless_null $P660, vivify_205
-    $P660 = root_new ['parrot';'Hash']
+    .lex "$past", $P656
+.annotate 'line', 116
+    new $P657, "Undef"
+    .lex "$ws", $P657
+.annotate 'line', 114
+    find_lex $P658, "$past"
+.annotate 'line', 116
+    find_lex $P661, "$/"
+    unless_null $P661, vivify_205
+    $P661 = root_new ['parrot';'Hash']
   vivify_205:
-    set $P661, $P660["normspace"]
-    unless_null $P661, vivify_206
-    new $P661, "Undef"
+    set $P662, $P661["normspace"]
+    unless_null $P662, vivify_206
+    new $P662, "Undef"
   vivify_206:
-    if $P661, if_659
-    set $P658, $P661
-    goto if_659_end
-  if_659:
-    get_global $P662, "@MODIFIERS"
-    unless_null $P662, vivify_207
-    $P662 = root_new ['parrot';'ResizablePMCArray']
+    if $P662, if_660
+    set $P659, $P662
+    goto if_660_end
+  if_660:
+    get_global $P663, "@MODIFIERS"
+    unless_null $P663, vivify_207
+    $P663 = root_new ['parrot';'ResizablePMCArray']
   vivify_207:
-    set $P663, $P662[0]
-    unless_null $P663, vivify_208
-    $P663 = root_new ['parrot';'Hash']
+    set $P664, $P663[0]
+    unless_null $P664, vivify_208
+    $P664 = root_new ['parrot';'Hash']
   vivify_208:
-    set $P664, $P663["s"]
-    unless_null $P664, vivify_209
-    new $P664, "Undef"
+    set $P665, $P664["s"]
+    unless_null $P665, vivify_209
+    new $P665, "Undef"
   vivify_209:
-    set $P658, $P664
-  if_659_end:
-    store_lex "$ws", $P658
-.annotate 'line', 120
-    find_lex $P666, "$/"
-    unless_null $P666, vivify_210
-    $P666 = root_new ['parrot';'Hash']
+    set $P659, $P665
+  if_660_end:
+    store_lex "$ws", $P659
+.annotate 'line', 117
+    find_lex $P667, "$/"
+    unless_null $P667, vivify_210
+    $P667 = root_new ['parrot';'Hash']
   vivify_210:
-    set $P667, $P666["quantified_atom"]
-    unless_null $P667, vivify_211
-    new $P667, "Undef"
+    set $P668, $P667["quantified_atom"]
+    unless_null $P668, vivify_211
+    new $P668, "Undef"
   vivify_211:
-    if $P667, if_665
-.annotate 'line', 136
-    get_hll_global $P687, ["PAST"], "Regex"
-    find_lex $P688, "$/"
-    unless_null $P688, vivify_212
-    $P688 = root_new ['parrot';'Hash']
+    if $P668, if_666
+.annotate 'line', 133
+    get_hll_global $P688, ["PAST"], "Regex"
+    find_lex $P689, "$/"
+    unless_null $P689, vivify_212
+    $P689 = root_new ['parrot';'Hash']
   vivify_212:
-    set $P689, $P688["min"]
-    unless_null $P689, vivify_213
-    new $P689, "Undef"
+    set $P690, $P689["min"]
+    unless_null $P690, vivify_213
+    new $P690, "Undef"
   vivify_213:
-    set $N690, $P689
-    find_lex $P691, "$/"
-    $P692 = $P687."new"("quant" :named("pasttype"), $N690 :named("min"), $P691 :named("node"))
-    store_lex "$past", $P692
-.annotate 'line', 137
-    find_lex $P694, "$/"
-    unless_null $P694, vivify_214
-    $P694 = root_new ['parrot';'Hash']
+    set $N691, $P690
+    find_lex $P692, "$/"
+    $P693 = $P688."new"("quant" :named("pasttype"), $N691 :named("min"), $P692 :named("node"))
+    store_lex "$past", $P693
+.annotate 'line', 134
+    find_lex $P695, "$/"
+    unless_null $P695, vivify_214
+    $P695 = root_new ['parrot';'Hash']
   vivify_214:
-    set $P695, $P694["max"]
-    unless_null $P695, vivify_215
-    new $P695, "Undef"
+    set $P696, $P695["max"]
+    unless_null $P696, vivify_215
+    new $P696, "Undef"
   vivify_215:
-    isfalse $I696, $P695
-    if $I696, if_693
-.annotate 'line', 138
-    find_lex $P702, "$/"
-    unless_null $P702, vivify_216
-    $P702 = root_new ['parrot';'Hash']
+    isfalse $I697, $P696
+    if $I697, if_694
+.annotate 'line', 135
+    find_lex $P703, "$/"
+    unless_null $P703, vivify_216
+    $P703 = root_new ['parrot';'Hash']
   vivify_216:
-    set $P703, $P702["max"]
-    unless_null $P703, vivify_217
-    $P703 = root_new ['parrot';'ResizablePMCArray']
+    set $P704, $P703["max"]
+    unless_null $P704, vivify_217
+    $P704 = root_new ['parrot';'ResizablePMCArray']
   vivify_217:
-    set $P704, $P703[0]
-    unless_null $P704, vivify_218
-    new $P704, "Undef"
+    set $P705, $P704[0]
+    unless_null $P705, vivify_218
+    new $P705, "Undef"
   vivify_218:
-    set $S705, $P704
-    isne $I706, $S705, "*"
-    unless $I706, if_701_end
-    find_lex $P707, "$past"
-    find_lex $P708, "$/"
-    unless_null $P708, vivify_219
-    $P708 = root_new ['parrot';'Hash']
+    set $S706, $P705
+    isne $I707, $S706, "*"
+    unless $I707, if_702_end
+    find_lex $P708, "$past"
+    find_lex $P709, "$/"
+    unless_null $P709, vivify_219
+    $P709 = root_new ['parrot';'Hash']
   vivify_219:
-    set $P709, $P708["max"]
-    unless_null $P709, vivify_220
-    $P709 = root_new ['parrot';'ResizablePMCArray']
+    set $P710, $P709["max"]
+    unless_null $P710, vivify_220
+    $P710 = root_new ['parrot';'ResizablePMCArray']
   vivify_220:
-    set $P710, $P709[0]
-    unless_null $P710, vivify_221
-    new $P710, "Undef"
+    set $P711, $P710[0]
+    unless_null $P711, vivify_221
+    new $P711, "Undef"
   vivify_221:
-    set $N711, $P710
-    $P707."max"($N711)
-  if_701_end:
-    goto if_693_end
-  if_693:
-.annotate 'line', 137
-    find_lex $P697, "$past"
-    find_lex $P698, "$/"
-    unless_null $P698, vivify_222
-    $P698 = root_new ['parrot';'Hash']
+    set $N712, $P711
+    $P708."max"($N712)
+  if_702_end:
+    goto if_694_end
+  if_694:
+.annotate 'line', 134
+    find_lex $P698, "$past"
+    find_lex $P699, "$/"
+    unless_null $P699, vivify_222
+    $P699 = root_new ['parrot';'Hash']
   vivify_222:
-    set $P699, $P698["min"]
-    unless_null $P699, vivify_223
-    new $P699, "Undef"
+    set $P700, $P699["min"]
+    unless_null $P700, vivify_223
+    new $P700, "Undef"
   vivify_223:
-    set $N700, $P699
-    $P697."max"($N700)
-  if_693_end:
-.annotate 'line', 139
-    find_lex $P713, "$ws"
-    unless $P713, if_712_end
-    find_lex $P714, "$past"
-    get_hll_global $P715, ["PAST"], "Regex"
-    $P716 = $P715."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"))
-    $P714."sep"($P716)
-  if_712_end:
-.annotate 'line', 135
-    goto if_665_end
-  if_665:
-.annotate 'line', 120
-    .const 'Sub' $P669 = "43_1279589166.57432" 
-    capture_lex $P669
-    $P669()
-  if_665_end:
-.annotate 'line', 143
-    find_lex $P717, "$/"
-    find_lex $P718, "$past"
-    find_lex $P719, "$/"
-    unless_null $P719, vivify_226
-    $P719 = root_new ['parrot';'Hash']
+    set $N701, $P700
+    $P698."max"($N701)
+  if_694_end:
+.annotate 'line', 136
+    find_lex $P714, "$ws"
+    unless $P714, if_713_end
+    find_lex $P715, "$past"
+    get_hll_global $P716, ["PAST"], "Regex"
+    $P717 = $P716."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"))
+    $P715."sep"($P717)
+  if_713_end:
+.annotate 'line', 132
+    goto if_666_end
+  if_666:
+.annotate 'line', 117
+    .const 'Sub' $P670 = "43_1280467473.99327" 
+    capture_lex $P670
+    $P670()
+  if_666_end:
+.annotate 'line', 140
+    find_lex $P718, "$/"
+    find_lex $P719, "$past"
+    find_lex $P720, "$/"
+    unless_null $P720, vivify_226
+    $P720 = root_new ['parrot';'Hash']
   vivify_226:
-    set $P720, $P719["backmod"]
-    unless_null $P720, vivify_227
-    new $P720, "Undef"
+    set $P721, $P720["backmod"]
+    unless_null $P721, vivify_227
+    new $P721, "Undef"
   vivify_227:
-    $P721 = "backmod"($P718, $P720)
-    $P722 = $P717."!make"($P721)
-.annotate 'line', 117
-    .return ($P722)
-  control_652:
+    $P722 = "backmod"($P719, $P721)
+    $P723 = $P718."!make"($P722)
+.annotate 'line', 114
+    .return ($P723)
+  control_653:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P723, exception, "payload"
-    .return ($P723)
+    getattribute $P724, exception, "payload"
+    .return ($P724)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block668"  :anon :subid("43_1279589166.57432") :outer("42_1279589166.57432")
-.annotate 'line', 121
-    new $P670, "Undef"
-    .lex "$ast", $P670
-    find_lex $P671, "$/"
-    unless_null $P671, vivify_224
-    $P671 = root_new ['parrot';'Hash']
+.sub "_block669"  :anon :subid("43_1280467473.99327") :outer("42_1280467473.99327")
+.annotate 'line', 118
+    new $P671, "Undef"
+    .lex "$ast", $P671
+    find_lex $P672, "$/"
+    unless_null $P672, vivify_224
+    $P672 = root_new ['parrot';'Hash']
   vivify_224:
-    set $P672, $P671["quantified_atom"]
-    unless_null $P672, vivify_225
-    new $P672, "Undef"
+    set $P673, $P672["quantified_atom"]
+    unless_null $P673, vivify_225
+    new $P673, "Undef"
   vivify_225:
-    $P673 = $P672."ast"()
-    store_lex "$ast", $P673
+    $P674 = $P673."ast"()
+    store_lex "$ast", $P674
+.annotate 'line', 119
+    find_lex $P676, "$ws"
+    unless $P676, if_675_end
+.annotate 'line', 120
+    get_hll_global $P677, ["PAST"], "Regex"
 .annotate 'line', 122
-    find_lex $P675, "$ws"
-    unless $P675, if_674_end
-.annotate 'line', 123
-    get_hll_global $P676, ["PAST"], "Regex"
+    get_hll_global $P678, ["PAST"], "Regex"
+    $P679 = $P678."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"))
+    find_lex $P680, "$ast"
 .annotate 'line', 125
-    get_hll_global $P677, ["PAST"], "Regex"
-    $P678 = $P677."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"))
-    find_lex $P679, "$ast"
-.annotate 'line', 128
-    get_hll_global $P680, ["PAST"], "Regex"
-    $P681 = $P680."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"))
-    $P682 = $P676."new"($P678, $P679, $P681, "concat" :named("pasttype"))
-.annotate 'line', 123
-    store_lex "$ast", $P682
-  if_674_end:
-.annotate 'line', 132
-    get_hll_global $P683, ["PAST"], "Regex"
-    find_lex $P684, "$ast"
-    find_lex $P685, "$/"
-    $P686 = $P683."new"("quant" :named("pasttype"), 1 :named("min"), $P684 :named("sep"), $P685 :named("node"))
-    store_lex "$past", $P686
+    get_hll_global $P681, ["PAST"], "Regex"
+    $P682 = $P681."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"))
+    $P683 = $P677."new"($P679, $P680, $P682, "concat" :named("pasttype"))
 .annotate 'line', 120
-    .return ($P686)
+    store_lex "$ast", $P683
+  if_675_end:
+.annotate 'line', 129
+    get_hll_global $P684, ["PAST"], "Regex"
+    find_lex $P685, "$ast"
+    find_lex $P686, "$/"
+    $P687 = $P684."new"("quant" :named("pasttype"), 1 :named("min"), $P685 :named("sep"), $P686 :named("node"))
+    store_lex "$past", $P687
+.annotate 'line', 117
+    .return ($P687)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<ws>"  :subid("44_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_727
-.annotate 'line', 146
-    new $P726, 'ExceptionHandler'
-    set_addr $P726, control_725
-    $P726."handle_types"(.CONTROL_RETURN)
-    push_eh $P726
-    .lex "self", self
-    .lex "$/", param_727
-.annotate 'line', 147
-    new $P728, "Undef"
-    .lex "$past", $P728
-.annotate 'line', 148
-    get_global $P731, "@MODIFIERS"
-    unless_null $P731, vivify_228
-    $P731 = root_new ['parrot';'ResizablePMCArray']
+.sub "metachar:sym<ws>"  :subid("44_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_728
+.annotate 'line', 143
+    new $P727, 'ExceptionHandler'
+    set_addr $P727, control_726
+    $P727."handle_types"(.CONTROL_RETURN)
+    push_eh $P727
+    .lex "self", self
+    .lex "$/", param_728
+.annotate 'line', 144
+    new $P729, "Undef"
+    .lex "$past", $P729
+.annotate 'line', 145
+    get_global $P732, "@MODIFIERS"
+    unless_null $P732, vivify_228
+    $P732 = root_new ['parrot';'ResizablePMCArray']
   vivify_228:
-    set $P732, $P731[0]
-    unless_null $P732, vivify_229
-    $P732 = root_new ['parrot';'Hash']
+    set $P733, $P732[0]
+    unless_null $P733, vivify_229
+    $P733 = root_new ['parrot';'Hash']
   vivify_229:
-    set $P733, $P732["s"]
-    unless_null $P733, vivify_230
-    new $P733, "Undef"
+    set $P734, $P733["s"]
+    unless_null $P734, vivify_230
+    new $P734, "Undef"
   vivify_230:
-    if $P733, if_730
-    new $P737, "Integer"
-    assign $P737, 0
-    set $P729, $P737
-    goto if_730_end
-  if_730:
-    get_hll_global $P734, ["PAST"], "Regex"
-    find_lex $P735, "$/"
-    $P736 = $P734."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"), $P735 :named("node"))
-    set $P729, $P736
-  if_730_end:
-    store_lex "$past", $P729
-.annotate 'line', 151
-    find_lex $P738, "$/"
-    find_lex $P739, "$past"
-    $P740 = $P738."!make"($P739)
-.annotate 'line', 146
-    .return ($P740)
-  control_725:
+    if $P734, if_731
+    new $P738, "Integer"
+    assign $P738, 0
+    set $P730, $P738
+    goto if_731_end
+  if_731:
+    get_hll_global $P735, ["PAST"], "Regex"
+    find_lex $P736, "$/"
+    $P737 = $P735."new"("ws", "subrule" :named("pasttype"), "method" :named("subtype"), $P736 :named("node"))
+    set $P730, $P737
+  if_731_end:
+    store_lex "$past", $P730
+.annotate 'line', 148
+    find_lex $P739, "$/"
+    find_lex $P740, "$past"
+    $P741 = $P739."!make"($P740)
+.annotate 'line', 143
+    .return ($P741)
+  control_726:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P741, exception, "payload"
-    .return ($P741)
+    getattribute $P742, exception, "payload"
+    .return ($P742)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<[ ]>"  :subid("45_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_745
-.annotate 'line', 155
-    new $P744, 'ExceptionHandler'
-    set_addr $P744, control_743
-    $P744."handle_types"(.CONTROL_RETURN)
-    push_eh $P744
+.sub "metachar:sym<[ ]>"  :subid("45_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_746
+.annotate 'line', 152
+    new $P745, 'ExceptionHandler'
+    set_addr $P745, control_744
+    $P745."handle_types"(.CONTROL_RETURN)
+    push_eh $P745
     .lex "self", self
-    .lex "$/", param_745
-.annotate 'line', 156
-    find_lex $P746, "$/"
+    .lex "$/", param_746
+.annotate 'line', 153
     find_lex $P747, "$/"
-    unless_null $P747, vivify_231
-    $P747 = root_new ['parrot';'Hash']
+    find_lex $P748, "$/"
+    unless_null $P748, vivify_231
+    $P748 = root_new ['parrot';'Hash']
   vivify_231:
-    set $P748, $P747["nibbler"]
-    unless_null $P748, vivify_232
-    new $P748, "Undef"
+    set $P749, $P748["nibbler"]
+    unless_null $P749, vivify_232
+    new $P749, "Undef"
   vivify_232:
-    $P749 = $P748."ast"()
-    $P750 = $P746."!make"($P749)
-.annotate 'line', 155
-    .return ($P750)
-  control_743:
+    $P750 = $P749."ast"()
+    $P751 = $P747."!make"($P750)
+.annotate 'line', 152
+    .return ($P751)
+  control_744:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P751, exception, "payload"
-    .return ($P751)
+    getattribute $P752, exception, "payload"
+    .return ($P752)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<( )>"  :subid("46_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_755
-.annotate 'line', 159
-    new $P754, 'ExceptionHandler'
-    set_addr $P754, control_753
-    $P754."handle_types"(.CONTROL_RETURN)
-    push_eh $P754
+.sub "metachar:sym<( )>"  :subid("46_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_756
+.annotate 'line', 156
+    new $P755, 'ExceptionHandler'
+    set_addr $P755, control_754
+    $P755."handle_types"(.CONTROL_RETURN)
+    push_eh $P755
     .lex "self", self
-    .lex "$/", param_755
-.annotate 'line', 160
-    new $P756, "Undef"
-    .lex "$subpast", $P756
-.annotate 'line', 161
+    .lex "$/", param_756
+.annotate 'line', 157
     new $P757, "Undef"
-    .lex "$past", $P757
-.annotate 'line', 160
-    find_lex $P758, "$/"
-    unless_null $P758, vivify_233
-    $P758 = root_new ['parrot';'Hash']
+    .lex "$subpast", $P757
+.annotate 'line', 158
+    new $P758, "Undef"
+    .lex "$past", $P758
+.annotate 'line', 157
+    find_lex $P759, "$/"
+    unless_null $P759, vivify_233
+    $P759 = root_new ['parrot';'Hash']
   vivify_233:
-    set $P759, $P758["nibbler"]
-    unless_null $P759, vivify_234
-    new $P759, "Undef"
+    set $P760, $P759["nibbler"]
+    unless_null $P760, vivify_234
+    new $P760, "Undef"
   vivify_234:
-    $P760 = $P759."ast"()
-    $P761 = "buildsub"($P760)
-    store_lex "$subpast", $P761
-.annotate 'line', 161
-    get_hll_global $P762, ["PAST"], "Regex"
-    find_lex $P763, "$subpast"
-    find_lex $P764, "$/"
-    $P765 = $P762."new"($P763, "subrule" :named("pasttype"), "capture" :named("subtype"), $P764 :named("node"))
-    store_lex "$past", $P765
-.annotate 'line', 163
-    find_lex $P766, "$/"
-    find_lex $P767, "$past"
-    $P768 = $P766."!make"($P767)
-.annotate 'line', 159
-    .return ($P768)
-  control_753:
+    $P761 = $P760."ast"()
+    $P762 = "buildsub"($P761)
+    store_lex "$subpast", $P762
+.annotate 'line', 158
+    get_hll_global $P763, ["PAST"], "Regex"
+    find_lex $P764, "$subpast"
+    find_lex $P765, "$/"
+    $P766 = $P763."new"($P764, "subrule" :named("pasttype"), "capture" :named("subtype"), $P765 :named("node"))
+    store_lex "$past", $P766
+.annotate 'line', 160
+    find_lex $P767, "$/"
+    find_lex $P768, "$past"
+    $P769 = $P767."!make"($P768)
+.annotate 'line', 156
+    .return ($P769)
+  control_754:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P769, exception, "payload"
-    .return ($P769)
+    getattribute $P770, exception, "payload"
+    .return ($P770)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<'>"  :subid("47_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_773
-.annotate 'line', 166
-    new $P772, 'ExceptionHandler'
-    set_addr $P772, control_771
-    $P772."handle_types"(.CONTROL_RETURN)
-    push_eh $P772
+.sub "metachar:sym<'>"  :subid("47_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_774
+.annotate 'line', 163
+    new $P773, 'ExceptionHandler'
+    set_addr $P773, control_772
+    $P773."handle_types"(.CONTROL_RETURN)
+    push_eh $P773
     .lex "self", self
-    .lex "$/", param_773
-.annotate 'line', 167
-    new $P774, "Undef"
-    .lex "$quote", $P774
-.annotate 'line', 169
+    .lex "$/", param_774
+.annotate 'line', 164
     new $P775, "Undef"
-    .lex "$past", $P775
-.annotate 'line', 167
-    find_lex $P776, "$/"
-    unless_null $P776, vivify_235
-    $P776 = root_new ['parrot';'Hash']
+    .lex "$quote", $P775
+.annotate 'line', 166
+    new $P776, "Undef"
+    .lex "$past", $P776
+.annotate 'line', 164
+    find_lex $P777, "$/"
+    unless_null $P777, vivify_235
+    $P777 = root_new ['parrot';'Hash']
   vivify_235:
-    set $P777, $P776["quote_EXPR"]
-    unless_null $P777, vivify_236
-    new $P777, "Undef"
+    set $P778, $P777["quote_EXPR"]
+    unless_null $P778, vivify_236
+    new $P778, "Undef"
   vivify_236:
-    $P778 = $P777."ast"()
-    store_lex "$quote", $P778
-.annotate 'line', 168
-    get_hll_global $P780, ["PAST"], "Val"
-    find_lex $P781, "$quote"
-    $P782 = $P780."ACCEPTS"($P781)
-    unless $P782, if_779_end
-    find_lex $P783, "$quote"
-    $P784 = $P783."value"()
-    store_lex "$quote", $P784
-  if_779_end:
-.annotate 'line', 169
-    get_hll_global $P785, ["PAST"], "Regex"
-    find_lex $P786, "$quote"
-    find_lex $P787, "$/"
-    $P788 = $P785."new"($P786, "literal" :named("pasttype"), $P787 :named("node"))
-    store_lex "$past", $P788
-.annotate 'line', 170
-    find_lex $P789, "$/"
-    find_lex $P790, "$past"
-    $P791 = $P789."!make"($P790)
+    $P779 = $P778."ast"()
+    store_lex "$quote", $P779
+.annotate 'line', 165
+    get_hll_global $P781, ["PAST"], "Val"
+    find_lex $P782, "$quote"
+    $P783 = $P781."ACCEPTS"($P782)
+    unless $P783, if_780_end
+    find_lex $P784, "$quote"
+    $P785 = $P784."value"()
+    store_lex "$quote", $P785
+  if_780_end:
 .annotate 'line', 166
-    .return ($P791)
-  control_771:
+    get_hll_global $P786, ["PAST"], "Regex"
+    find_lex $P787, "$quote"
+    find_lex $P788, "$/"
+    $P789 = $P786."new"($P787, "literal" :named("pasttype"), $P788 :named("node"))
+    store_lex "$past", $P789
+.annotate 'line', 167
+    get_global $P791, "@MODIFIERS"
+    unless_null $P791, vivify_237
+    $P791 = root_new ['parrot';'ResizablePMCArray']
+  vivify_237:
+    set $P792, $P791[0]
+    unless_null $P792, vivify_238
+    $P792 = root_new ['parrot';'Hash']
+  vivify_238:
+    set $P793, $P792["i"]
+    unless_null $P793, vivify_239
+    new $P793, "Undef"
+  vivify_239:
+    unless $P793, if_790_end
+    find_lex $P794, "$past"
+    $P794."subtype"("ignorecase")
+  if_790_end:
+.annotate 'line', 168
+    find_lex $P795, "$/"
+    find_lex $P796, "$past"
+    $P797 = $P795."!make"($P796)
+.annotate 'line', 163
+    .return ($P797)
+  control_772:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P792, exception, "payload"
-    .return ($P792)
+    getattribute $P798, exception, "payload"
+    .return ($P798)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<\">"  :subid("48_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_796
-.annotate 'line', 173
-    new $P795, 'ExceptionHandler'
-    set_addr $P795, control_794
-    $P795."handle_types"(.CONTROL_RETURN)
-    push_eh $P795
-    .lex "self", self
-    .lex "$/", param_796
+.sub "metachar:sym<\">"  :subid("48_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_802
+.annotate 'line', 171
+    new $P801, 'ExceptionHandler'
+    set_addr $P801, control_800
+    $P801."handle_types"(.CONTROL_RETURN)
+    push_eh $P801
+    .lex "self", self
+    .lex "$/", param_802
+.annotate 'line', 172
+    new $P803, "Undef"
+    .lex "$quote", $P803
 .annotate 'line', 174
-    new $P797, "Undef"
-    .lex "$quote", $P797
-.annotate 'line', 176
-    new $P798, "Undef"
-    .lex "$past", $P798
+    new $P804, "Undef"
+    .lex "$past", $P804
+.annotate 'line', 172
+    find_lex $P805, "$/"
+    unless_null $P805, vivify_240
+    $P805 = root_new ['parrot';'Hash']
+  vivify_240:
+    set $P806, $P805["quote_EXPR"]
+    unless_null $P806, vivify_241
+    new $P806, "Undef"
+  vivify_241:
+    $P807 = $P806."ast"()
+    store_lex "$quote", $P807
+.annotate 'line', 173
+    get_hll_global $P809, ["PAST"], "Val"
+    find_lex $P810, "$quote"
+    $P811 = $P809."ACCEPTS"($P810)
+    unless $P811, if_808_end
+    find_lex $P812, "$quote"
+    $P813 = $P812."value"()
+    store_lex "$quote", $P813
+  if_808_end:
 .annotate 'line', 174
-    find_lex $P799, "$/"
-    unless_null $P799, vivify_237
-    $P799 = root_new ['parrot';'Hash']
-  vivify_237:
-    set $P800, $P799["quote_EXPR"]
-    unless_null $P800, vivify_238
-    new $P800, "Undef"
-  vivify_238:
-    $P801 = $P800."ast"()
-    store_lex "$quote", $P801
+    get_hll_global $P814, ["PAST"], "Regex"
+    find_lex $P815, "$quote"
+    find_lex $P816, "$/"
+    $P817 = $P814."new"($P815, "literal" :named("pasttype"), $P816 :named("node"))
+    store_lex "$past", $P817
 .annotate 'line', 175
-    get_hll_global $P803, ["PAST"], "Val"
-    find_lex $P804, "$quote"
-    $P805 = $P803."ACCEPTS"($P804)
-    unless $P805, if_802_end
-    find_lex $P806, "$quote"
-    $P807 = $P806."value"()
-    store_lex "$quote", $P807
-  if_802_end:
+    get_global $P819, "@MODIFIERS"
+    unless_null $P819, vivify_242
+    $P819 = root_new ['parrot';'ResizablePMCArray']
+  vivify_242:
+    set $P820, $P819[0]
+    unless_null $P820, vivify_243
+    $P820 = root_new ['parrot';'Hash']
+  vivify_243:
+    set $P821, $P820["i"]
+    unless_null $P821, vivify_244
+    new $P821, "Undef"
+  vivify_244:
+    unless $P821, if_818_end
+    find_lex $P822, "$past"
+    $P822."subtype"("ignorecase")
+  if_818_end:
 .annotate 'line', 176
-    get_hll_global $P808, ["PAST"], "Regex"
-    find_lex $P809, "$quote"
-    find_lex $P810, "$/"
-    $P811 = $P808."new"($P809, "literal" :named("pasttype"), $P810 :named("node"))
-    store_lex "$past", $P811
-.annotate 'line', 177
-    find_lex $P812, "$/"
-    find_lex $P813, "$past"
-    $P814 = $P812."!make"($P813)
-.annotate 'line', 173
-    .return ($P814)
-  control_794:
+    find_lex $P823, "$/"
+    find_lex $P824, "$past"
+    $P825 = $P823."!make"($P824)
+.annotate 'line', 171
+    .return ($P825)
+  control_800:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P815, exception, "payload"
-    .return ($P815)
+    getattribute $P826, exception, "payload"
+    .return ($P826)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<.>"  :subid("49_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_819
-.annotate 'line', 180
-    new $P818, 'ExceptionHandler'
-    set_addr $P818, control_817
-    $P818."handle_types"(.CONTROL_RETURN)
-    push_eh $P818
+.sub "metachar:sym<.>"  :subid("49_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_830
+.annotate 'line', 179
+    new $P829, 'ExceptionHandler'
+    set_addr $P829, control_828
+    $P829."handle_types"(.CONTROL_RETURN)
+    push_eh $P829
     .lex "self", self
-    .lex "$/", param_819
-.annotate 'line', 181
-    new $P820, "Undef"
-    .lex "$past", $P820
-    get_hll_global $P821, ["PAST"], "Regex"
-    find_lex $P822, "$/"
-    $P823 = $P821."new"("charclass" :named("pasttype"), "." :named("subtype"), $P822 :named("node"))
-    store_lex "$past", $P823
-.annotate 'line', 182
-    find_lex $P824, "$/"
-    find_lex $P825, "$past"
-    $P826 = $P824."!make"($P825)
+    .lex "$/", param_830
 .annotate 'line', 180
-    .return ($P826)
-  control_817:
+    new $P831, "Undef"
+    .lex "$past", $P831
+    get_hll_global $P832, ["PAST"], "Regex"
+    find_lex $P833, "$/"
+    $P834 = $P832."new"("charclass" :named("pasttype"), "." :named("subtype"), $P833 :named("node"))
+    store_lex "$past", $P834
+.annotate 'line', 181
+    find_lex $P835, "$/"
+    find_lex $P836, "$past"
+    $P837 = $P835."!make"($P836)
+.annotate 'line', 179
+    .return ($P837)
+  control_828:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P827, exception, "payload"
-    .return ($P827)
+    getattribute $P838, exception, "payload"
+    .return ($P838)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<^>"  :subid("50_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_831
-.annotate 'line', 185
-    new $P830, 'ExceptionHandler'
-    set_addr $P830, control_829
-    $P830."handle_types"(.CONTROL_RETURN)
-    push_eh $P830
+.sub "metachar:sym<^>"  :subid("50_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_842
+.annotate 'line', 184
+    new $P841, 'ExceptionHandler'
+    set_addr $P841, control_840
+    $P841."handle_types"(.CONTROL_RETURN)
+    push_eh $P841
     .lex "self", self
-    .lex "$/", param_831
-.annotate 'line', 186
-    new $P832, "Undef"
-    .lex "$past", $P832
-    get_hll_global $P833, ["PAST"], "Regex"
-    find_lex $P834, "$/"
-    $P835 = $P833."new"("anchor" :named("pasttype"), "bos" :named("subtype"), $P834 :named("node"))
-    store_lex "$past", $P835
-.annotate 'line', 187
-    find_lex $P836, "$/"
-    find_lex $P837, "$past"
-    $P838 = $P836."!make"($P837)
+    .lex "$/", param_842
 .annotate 'line', 185
-    .return ($P838)
-  control_829:
+    new $P843, "Undef"
+    .lex "$past", $P843
+    get_hll_global $P844, ["PAST"], "Regex"
+    find_lex $P845, "$/"
+    $P846 = $P844."new"("anchor" :named("pasttype"), "bos" :named("subtype"), $P845 :named("node"))
+    store_lex "$past", $P846
+.annotate 'line', 186
+    find_lex $P847, "$/"
+    find_lex $P848, "$past"
+    $P849 = $P847."!make"($P848)
+.annotate 'line', 184
+    .return ($P849)
+  control_840:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P839, exception, "payload"
-    .return ($P839)
+    getattribute $P850, exception, "payload"
+    .return ($P850)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<^^>"  :subid("51_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_843
-.annotate 'line', 190
-    new $P842, 'ExceptionHandler'
-    set_addr $P842, control_841
-    $P842."handle_types"(.CONTROL_RETURN)
-    push_eh $P842
+.sub "metachar:sym<^^>"  :subid("51_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_854
+.annotate 'line', 189
+    new $P853, 'ExceptionHandler'
+    set_addr $P853, control_852
+    $P853."handle_types"(.CONTROL_RETURN)
+    push_eh $P853
     .lex "self", self
-    .lex "$/", param_843
-.annotate 'line', 191
-    new $P844, "Undef"
-    .lex "$past", $P844
-    get_hll_global $P845, ["PAST"], "Regex"
-    find_lex $P846, "$/"
-    $P847 = $P845."new"("anchor" :named("pasttype"), "bol" :named("subtype"), $P846 :named("node"))
-    store_lex "$past", $P847
-.annotate 'line', 192
-    find_lex $P848, "$/"
-    find_lex $P849, "$past"
-    $P850 = $P848."!make"($P849)
+    .lex "$/", param_854
 .annotate 'line', 190
-    .return ($P850)
-  control_841:
+    new $P855, "Undef"
+    .lex "$past", $P855
+    get_hll_global $P856, ["PAST"], "Regex"
+    find_lex $P857, "$/"
+    $P858 = $P856."new"("anchor" :named("pasttype"), "bol" :named("subtype"), $P857 :named("node"))
+    store_lex "$past", $P858
+.annotate 'line', 191
+    find_lex $P859, "$/"
+    find_lex $P860, "$past"
+    $P861 = $P859."!make"($P860)
+.annotate 'line', 189
+    .return ($P861)
+  control_852:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P851, exception, "payload"
-    .return ($P851)
+    getattribute $P862, exception, "payload"
+    .return ($P862)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<$>"  :subid("52_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_855
-.annotate 'line', 195
-    new $P854, 'ExceptionHandler'
-    set_addr $P854, control_853
-    $P854."handle_types"(.CONTROL_RETURN)
-    push_eh $P854
+.sub "metachar:sym<$>"  :subid("52_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_866
+.annotate 'line', 194
+    new $P865, 'ExceptionHandler'
+    set_addr $P865, control_864
+    $P865."handle_types"(.CONTROL_RETURN)
+    push_eh $P865
     .lex "self", self
-    .lex "$/", param_855
-.annotate 'line', 196
-    new $P856, "Undef"
-    .lex "$past", $P856
-    get_hll_global $P857, ["PAST"], "Regex"
-    find_lex $P858, "$/"
-    $P859 = $P857."new"("anchor" :named("pasttype"), "eos" :named("subtype"), $P858 :named("node"))
-    store_lex "$past", $P859
-.annotate 'line', 197
-    find_lex $P860, "$/"
-    find_lex $P861, "$past"
-    $P862 = $P860."!make"($P861)
+    .lex "$/", param_866
 .annotate 'line', 195
-    .return ($P862)
-  control_853:
+    new $P867, "Undef"
+    .lex "$past", $P867
+    get_hll_global $P868, ["PAST"], "Regex"
+    find_lex $P869, "$/"
+    $P870 = $P868."new"("anchor" :named("pasttype"), "eos" :named("subtype"), $P869 :named("node"))
+    store_lex "$past", $P870
+.annotate 'line', 196
+    find_lex $P871, "$/"
+    find_lex $P872, "$past"
+    $P873 = $P871."!make"($P872)
+.annotate 'line', 194
+    .return ($P873)
+  control_864:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P863, exception, "payload"
-    .return ($P863)
+    getattribute $P874, exception, "payload"
+    .return ($P874)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<$$>"  :subid("53_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_867
-.annotate 'line', 200
-    new $P866, 'ExceptionHandler'
-    set_addr $P866, control_865
-    $P866."handle_types"(.CONTROL_RETURN)
-    push_eh $P866
+.sub "metachar:sym<$$>"  :subid("53_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_878
+.annotate 'line', 199
+    new $P877, 'ExceptionHandler'
+    set_addr $P877, control_876
+    $P877."handle_types"(.CONTROL_RETURN)
+    push_eh $P877
     .lex "self", self
-    .lex "$/", param_867
-.annotate 'line', 201
-    new $P868, "Undef"
-    .lex "$past", $P868
-    get_hll_global $P869, ["PAST"], "Regex"
-    find_lex $P870, "$/"
-    $P871 = $P869."new"("anchor" :named("pasttype"), "eol" :named("subtype"), $P870 :named("node"))
-    store_lex "$past", $P871
-.annotate 'line', 202
-    find_lex $P872, "$/"
-    find_lex $P873, "$past"
-    $P874 = $P872."!make"($P873)
+    .lex "$/", param_878
 .annotate 'line', 200
-    .return ($P874)
-  control_865:
+    new $P879, "Undef"
+    .lex "$past", $P879
+    get_hll_global $P880, ["PAST"], "Regex"
+    find_lex $P881, "$/"
+    $P882 = $P880."new"("anchor" :named("pasttype"), "eol" :named("subtype"), $P881 :named("node"))
+    store_lex "$past", $P882
+.annotate 'line', 201
+    find_lex $P883, "$/"
+    find_lex $P884, "$past"
+    $P885 = $P883."!make"($P884)
+.annotate 'line', 199
+    .return ($P885)
+  control_876:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P875, exception, "payload"
-    .return ($P875)
+    getattribute $P886, exception, "payload"
+    .return ($P886)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<:::>"  :subid("54_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_879
-.annotate 'line', 205
-    new $P878, 'ExceptionHandler'
-    set_addr $P878, control_877
-    $P878."handle_types"(.CONTROL_RETURN)
-    push_eh $P878
+.sub "metachar:sym<:::>"  :subid("54_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_890
+.annotate 'line', 204
+    new $P889, 'ExceptionHandler'
+    set_addr $P889, control_888
+    $P889."handle_types"(.CONTROL_RETURN)
+    push_eh $P889
     .lex "self", self
-    .lex "$/", param_879
-.annotate 'line', 206
-    new $P880, "Undef"
-    .lex "$past", $P880
-    get_hll_global $P881, ["PAST"], "Regex"
-    find_lex $P882, "$/"
-    $P883 = $P881."new"("cut" :named("pasttype"), $P882 :named("node"))
-    store_lex "$past", $P883
-.annotate 'line', 207
-    find_lex $P884, "$/"
-    find_lex $P885, "$past"
-    $P886 = $P884."!make"($P885)
+    .lex "$/", param_890
 .annotate 'line', 205
-    .return ($P886)
-  control_877:
+    new $P891, "Undef"
+    .lex "$past", $P891
+    get_hll_global $P892, ["PAST"], "Regex"
+    find_lex $P893, "$/"
+    $P894 = $P892."new"("cut" :named("pasttype"), $P893 :named("node"))
+    store_lex "$past", $P894
+.annotate 'line', 206
+    find_lex $P895, "$/"
+    find_lex $P896, "$past"
+    $P897 = $P895."!make"($P896)
+.annotate 'line', 204
+    .return ($P897)
+  control_888:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P887, exception, "payload"
-    .return ($P887)
+    getattribute $P898, exception, "payload"
+    .return ($P898)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<lwb>"  :subid("55_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_891
-.annotate 'line', 210
-    new $P890, 'ExceptionHandler'
-    set_addr $P890, control_889
-    $P890."handle_types"(.CONTROL_RETURN)
-    push_eh $P890
+.sub "metachar:sym<lwb>"  :subid("55_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_902
+.annotate 'line', 209
+    new $P901, 'ExceptionHandler'
+    set_addr $P901, control_900
+    $P901."handle_types"(.CONTROL_RETURN)
+    push_eh $P901
     .lex "self", self
-    .lex "$/", param_891
-.annotate 'line', 211
-    new $P892, "Undef"
-    .lex "$past", $P892
-    get_hll_global $P893, ["PAST"], "Regex"
-    find_lex $P894, "$/"
-    $P895 = $P893."new"("anchor" :named("pasttype"), "lwb" :named("subtype"), $P894 :named("node"))
-    store_lex "$past", $P895
-.annotate 'line', 212
-    find_lex $P896, "$/"
-    find_lex $P897, "$past"
-    $P898 = $P896."!make"($P897)
+    .lex "$/", param_902
 .annotate 'line', 210
-    .return ($P898)
-  control_889:
+    new $P903, "Undef"
+    .lex "$past", $P903
+    get_hll_global $P904, ["PAST"], "Regex"
+    find_lex $P905, "$/"
+    $P906 = $P904."new"("anchor" :named("pasttype"), "lwb" :named("subtype"), $P905 :named("node"))
+    store_lex "$past", $P906
+.annotate 'line', 211
+    find_lex $P907, "$/"
+    find_lex $P908, "$past"
+    $P909 = $P907."!make"($P908)
+.annotate 'line', 209
+    .return ($P909)
+  control_900:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P899, exception, "payload"
-    .return ($P899)
+    getattribute $P910, exception, "payload"
+    .return ($P910)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<rwb>"  :subid("56_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_903
-.annotate 'line', 215
-    new $P902, 'ExceptionHandler'
-    set_addr $P902, control_901
-    $P902."handle_types"(.CONTROL_RETURN)
-    push_eh $P902
+.sub "metachar:sym<rwb>"  :subid("56_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_914
+.annotate 'line', 214
+    new $P913, 'ExceptionHandler'
+    set_addr $P913, control_912
+    $P913."handle_types"(.CONTROL_RETURN)
+    push_eh $P913
     .lex "self", self
-    .lex "$/", param_903
-.annotate 'line', 216
-    new $P904, "Undef"
-    .lex "$past", $P904
-    get_hll_global $P905, ["PAST"], "Regex"
-    find_lex $P906, "$/"
-    $P907 = $P905."new"("anchor" :named("pasttype"), "rwb" :named("subtype"), $P906 :named("node"))
-    store_lex "$past", $P907
-.annotate 'line', 217
-    find_lex $P908, "$/"
-    find_lex $P909, "$past"
-    $P910 = $P908."!make"($P909)
+    .lex "$/", param_914
 .annotate 'line', 215
-    .return ($P910)
-  control_901:
+    new $P915, "Undef"
+    .lex "$past", $P915
+    get_hll_global $P916, ["PAST"], "Regex"
+    find_lex $P917, "$/"
+    $P918 = $P916."new"("anchor" :named("pasttype"), "rwb" :named("subtype"), $P917 :named("node"))
+    store_lex "$past", $P918
+.annotate 'line', 216
+    find_lex $P919, "$/"
+    find_lex $P920, "$past"
+    $P921 = $P919."!make"($P920)
+.annotate 'line', 214
+    .return ($P921)
+  control_912:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P911, exception, "payload"
-    .return ($P911)
+    getattribute $P922, exception, "payload"
+    .return ($P922)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<bs>"  :subid("57_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_915
-.annotate 'line', 220
-    new $P914, 'ExceptionHandler'
-    set_addr $P914, control_913
-    $P914."handle_types"(.CONTROL_RETURN)
-    push_eh $P914
-    .lex "self", self
-    .lex "$/", param_915
-.annotate 'line', 221
-    find_lex $P916, "$/"
-    find_lex $P917, "$/"
-    unless_null $P917, vivify_239
-    $P917 = root_new ['parrot';'Hash']
-  vivify_239:
-    set $P918, $P917["backslash"]
-    unless_null $P918, vivify_240
-    new $P918, "Undef"
-  vivify_240:
-    $P919 = $P918."ast"()
-    $P920 = $P916."!make"($P919)
+.sub "metachar:sym<bs>"  :subid("57_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_926
+.annotate 'line', 219
+    new $P925, 'ExceptionHandler'
+    set_addr $P925, control_924
+    $P925."handle_types"(.CONTROL_RETURN)
+    push_eh $P925
+    .lex "self", self
+    .lex "$/", param_926
 .annotate 'line', 220
-    .return ($P920)
-  control_913:
+    find_lex $P927, "$/"
+    find_lex $P928, "$/"
+    unless_null $P928, vivify_245
+    $P928 = root_new ['parrot';'Hash']
+  vivify_245:
+    set $P929, $P928["backslash"]
+    unless_null $P929, vivify_246
+    new $P929, "Undef"
+  vivify_246:
+    $P930 = $P929."ast"()
+    $P931 = $P927."!make"($P930)
+.annotate 'line', 219
+    .return ($P931)
+  control_924:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P921, exception, "payload"
-    .return ($P921)
+    getattribute $P932, exception, "payload"
+    .return ($P932)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<mod>"  :subid("58_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_925
-.annotate 'line', 224
-    new $P924, 'ExceptionHandler'
-    set_addr $P924, control_923
-    $P924."handle_types"(.CONTROL_RETURN)
-    push_eh $P924
-    .lex "self", self
-    .lex "$/", param_925
-.annotate 'line', 225
-    find_lex $P926, "$/"
-    find_lex $P927, "$/"
-    unless_null $P927, vivify_241
-    $P927 = root_new ['parrot';'Hash']
-  vivify_241:
-    set $P928, $P927["mod_internal"]
-    unless_null $P928, vivify_242
-    new $P928, "Undef"
-  vivify_242:
-    $P929 = $P928."ast"()
-    $P930 = $P926."!make"($P929)
+.sub "metachar:sym<mod>"  :subid("58_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_936
+.annotate 'line', 223
+    new $P935, 'ExceptionHandler'
+    set_addr $P935, control_934
+    $P935."handle_types"(.CONTROL_RETURN)
+    push_eh $P935
+    .lex "self", self
+    .lex "$/", param_936
 .annotate 'line', 224
-    .return ($P930)
-  control_923:
+    find_lex $P937, "$/"
+    find_lex $P938, "$/"
+    unless_null $P938, vivify_247
+    $P938 = root_new ['parrot';'Hash']
+  vivify_247:
+    set $P939, $P938["mod_internal"]
+    unless_null $P939, vivify_248
+    new $P939, "Undef"
+  vivify_248:
+    $P940 = $P939."ast"()
+    $P941 = $P937."!make"($P940)
+.annotate 'line', 223
+    .return ($P941)
+  control_934:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P931, exception, "payload"
-    .return ($P931)
+    getattribute $P942, exception, "payload"
+    .return ($P942)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<assert>"  :subid("59_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_935
-.annotate 'line', 228
-    new $P934, 'ExceptionHandler'
-    set_addr $P934, control_933
-    $P934."handle_types"(.CONTROL_RETURN)
-    push_eh $P934
-    .lex "self", self
-    .lex "$/", param_935
-.annotate 'line', 229
-    find_lex $P936, "$/"
-    find_lex $P937, "$/"
-    unless_null $P937, vivify_243
-    $P937 = root_new ['parrot';'Hash']
-  vivify_243:
-    set $P938, $P937["assertion"]
-    unless_null $P938, vivify_244
-    new $P938, "Undef"
-  vivify_244:
-    $P939 = $P938."ast"()
-    $P940 = $P936."!make"($P939)
+.sub "metachar:sym<assert>"  :subid("59_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_946
+.annotate 'line', 227
+    new $P945, 'ExceptionHandler'
+    set_addr $P945, control_944
+    $P945."handle_types"(.CONTROL_RETURN)
+    push_eh $P945
+    .lex "self", self
+    .lex "$/", param_946
 .annotate 'line', 228
-    .return ($P940)
-  control_933:
+    find_lex $P947, "$/"
+    find_lex $P948, "$/"
+    unless_null $P948, vivify_249
+    $P948 = root_new ['parrot';'Hash']
+  vivify_249:
+    set $P949, $P948["assertion"]
+    unless_null $P949, vivify_250
+    new $P949, "Undef"
+  vivify_250:
+    $P950 = $P949."ast"()
+    $P951 = $P947."!make"($P950)
+.annotate 'line', 227
+    .return ($P951)
+  control_944:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P941, exception, "payload"
-    .return ($P941)
+    getattribute $P952, exception, "payload"
+    .return ($P952)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<~>"  :subid("60_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_945
-.annotate 'line', 232
-    new $P944, 'ExceptionHandler'
-    set_addr $P944, control_943
-    $P944."handle_types"(.CONTROL_RETURN)
-    push_eh $P944
+.sub "metachar:sym<~>"  :subid("60_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_956
+.annotate 'line', 231
+    new $P955, 'ExceptionHandler'
+    set_addr $P955, control_954
+    $P955."handle_types"(.CONTROL_RETURN)
+    push_eh $P955
     .lex "self", self
-    .lex "$/", param_945
+    .lex "$/", param_956
+.annotate 'line', 232
+    find_lex $P957, "$/"
+    get_hll_global $P958, ["PAST"], "Regex"
 .annotate 'line', 233
-    find_lex $P946, "$/"
-    get_hll_global $P947, ["PAST"], "Regex"
+    find_lex $P959, "$/"
+    unless_null $P959, vivify_251
+    $P959 = root_new ['parrot';'Hash']
+  vivify_251:
+    set $P960, $P959["EXPR"]
+    unless_null $P960, vivify_252
+    new $P960, "Undef"
+  vivify_252:
+    $P961 = $P960."ast"()
 .annotate 'line', 234
-    find_lex $P948, "$/"
-    unless_null $P948, vivify_245
-    $P948 = root_new ['parrot';'Hash']
-  vivify_245:
-    set $P949, $P948["EXPR"]
-    unless_null $P949, vivify_246
-    new $P949, "Undef"
-  vivify_246:
-    $P950 = $P949."ast"()
+    get_hll_global $P962, ["PAST"], "Regex"
 .annotate 'line', 235
-    get_hll_global $P951, ["PAST"], "Regex"
+    find_lex $P963, "$/"
+    unless_null $P963, vivify_253
+    $P963 = root_new ['parrot';'Hash']
+  vivify_253:
+    set $P964, $P963["GOAL"]
+    unless_null $P964, vivify_254
+    new $P964, "Undef"
+  vivify_254:
+    $P965 = $P964."ast"()
 .annotate 'line', 236
-    find_lex $P952, "$/"
-    unless_null $P952, vivify_247
-    $P952 = root_new ['parrot';'Hash']
-  vivify_247:
-    set $P953, $P952["GOAL"]
-    unless_null $P953, vivify_248
-    new $P953, "Undef"
-  vivify_248:
-    $P954 = $P953."ast"()
-.annotate 'line', 237
-    get_hll_global $P955, ["PAST"], "Regex"
-    find_lex $P956, "$/"
-    unless_null $P956, vivify_249
-    $P956 = root_new ['parrot';'Hash']
-  vivify_249:
-    set $P957, $P956["GOAL"]
-    unless_null $P957, vivify_250
-    new $P957, "Undef"
-  vivify_250:
-    set $S958, $P957
-    $P959 = $P955."new"("FAILGOAL", $S958, "subrule" :named("pasttype"), "method" :named("subtype"))
-    $P960 = $P951."new"($P954, $P959, "alt" :named("pasttype"))
-.annotate 'line', 235
-    $P961 = $P947."new"($P950, $P960, "concat" :named("pasttype"))
-.annotate 'line', 233
-    $P962 = $P946."!make"($P961)
+    get_hll_global $P966, ["PAST"], "Regex"
+    find_lex $P967, "$/"
+    unless_null $P967, vivify_255
+    $P967 = root_new ['parrot';'Hash']
+  vivify_255:
+    set $P968, $P967["GOAL"]
+    unless_null $P968, vivify_256
+    new $P968, "Undef"
+  vivify_256:
+    set $S969, $P968
+    $P970 = $P966."new"("FAILGOAL", $S969, "subrule" :named("pasttype"), "method" :named("subtype"))
+    $P971 = $P962."new"($P965, $P970, "alt" :named("pasttype"))
+.annotate 'line', 234
+    $P972 = $P958."new"($P961, $P971, "concat" :named("pasttype"))
 .annotate 'line', 232
-    .return ($P962)
-  control_943:
+    $P973 = $P957."!make"($P972)
+.annotate 'line', 231
+    .return ($P973)
+  control_954:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P963, exception, "payload"
-    .return ($P963)
+    getattribute $P974, exception, "payload"
+    .return ($P974)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<{*}>"  :subid("61_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_967
-.annotate 'line', 245
-    new $P966, 'ExceptionHandler'
-    set_addr $P966, control_965
-    $P966."handle_types"(.CONTROL_RETURN)
-    push_eh $P966
+.sub "metachar:sym<{*}>"  :subid("61_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_978
+.annotate 'line', 244
+    new $P977, 'ExceptionHandler'
+    set_addr $P977, control_976
+    $P977."handle_types"(.CONTROL_RETURN)
+    push_eh $P977
     .lex "self", self
-    .lex "$/", param_967
-.annotate 'line', 246
-    new $P968, "Undef"
-    .lex "$past", $P968
-.annotate 'line', 247
-    find_lex $P971, "$/"
-    unless_null $P971, vivify_251
-    $P971 = root_new ['parrot';'Hash']
-  vivify_251:
-    set $P972, $P971["key"]
-    unless_null $P972, vivify_252
-    new $P972, "Undef"
-  vivify_252:
-    if $P972, if_970
-    new $P980, "Integer"
-    assign $P980, 0
-    set $P969, $P980
-    goto if_970_end
-  if_970:
-    get_hll_global $P973, ["PAST"], "Regex"
-    find_lex $P974, "$/"
-    unless_null $P974, vivify_253
-    $P974 = root_new ['parrot';'Hash']
-  vivify_253:
-    set $P975, $P974["key"]
-    unless_null $P975, vivify_254
-    $P975 = root_new ['parrot';'ResizablePMCArray']
-  vivify_254:
-    set $P976, $P975[0]
-    unless_null $P976, vivify_255
-    new $P976, "Undef"
-  vivify_255:
-    set $S977, $P976
-    find_lex $P978, "$/"
-    $P979 = $P973."new"($S977, "reduce" :named("pasttype"), $P978 :named("node"))
-    set $P969, $P979
-  if_970_end:
-    store_lex "$past", $P969
-.annotate 'line', 249
-    find_lex $P981, "$/"
-    find_lex $P982, "$past"
-    $P983 = $P981."!make"($P982)
+    .lex "$/", param_978
 .annotate 'line', 245
-    .return ($P983)
-  control_965:
+    new $P979, "Undef"
+    .lex "$past", $P979
+.annotate 'line', 246
+    find_lex $P982, "$/"
+    unless_null $P982, vivify_257
+    $P982 = root_new ['parrot';'Hash']
+  vivify_257:
+    set $P983, $P982["key"]
+    unless_null $P983, vivify_258
+    new $P983, "Undef"
+  vivify_258:
+    if $P983, if_981
+    new $P991, "Integer"
+    assign $P991, 0
+    set $P980, $P991
+    goto if_981_end
+  if_981:
+    get_hll_global $P984, ["PAST"], "Regex"
+    find_lex $P985, "$/"
+    unless_null $P985, vivify_259
+    $P985 = root_new ['parrot';'Hash']
+  vivify_259:
+    set $P986, $P985["key"]
+    unless_null $P986, vivify_260
+    $P986 = root_new ['parrot';'ResizablePMCArray']
+  vivify_260:
+    set $P987, $P986[0]
+    unless_null $P987, vivify_261
+    new $P987, "Undef"
+  vivify_261:
+    set $S988, $P987
+    find_lex $P989, "$/"
+    $P990 = $P984."new"($S988, "reduce" :named("pasttype"), $P989 :named("node"))
+    set $P980, $P990
+  if_981_end:
+    store_lex "$past", $P980
+.annotate 'line', 248
+    find_lex $P992, "$/"
+    find_lex $P993, "$past"
+    $P994 = $P992."!make"($P993)
+.annotate 'line', 244
+    .return ($P994)
+  control_976:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P984, exception, "payload"
-    .return ($P984)
+    getattribute $P995, exception, "payload"
+    .return ($P995)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<var>"  :subid("62_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_988
-.annotate 'line', 252
-    new $P987, 'ExceptionHandler'
-    set_addr $P987, control_986
-    $P987."handle_types"(.CONTROL_RETURN)
-    push_eh $P987
+.sub "metachar:sym<var>"  :subid("62_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_999
+.annotate 'line', 251
+    new $P998, 'ExceptionHandler'
+    set_addr $P998, control_997
+    $P998."handle_types"(.CONTROL_RETURN)
+    push_eh $P998
     .lex "self", self
-    .lex "$/", param_988
-.annotate 'line', 253
-    new $P989, "Undef"
-    .lex "$past", $P989
-.annotate 'line', 254
-    new $P990, "Undef"
-    .lex "$name", $P990
+    .lex "$/", param_999
 .annotate 'line', 252
-    find_lex $P991, "$past"
-.annotate 'line', 254
-    find_lex $P994, "$/"
-    unless_null $P994, vivify_256
-    $P994 = root_new ['parrot';'Hash']
-  vivify_256:
-    set $P995, $P994["pos"]
-    unless_null $P995, vivify_257
-    new $P995, "Undef"
-  vivify_257:
-    if $P995, if_993
-    find_lex $P999, "$/"
-    unless_null $P999, vivify_258
-    $P999 = root_new ['parrot';'Hash']
-  vivify_258:
-    set $P1000, $P999["name"]
-    unless_null $P1000, vivify_259
     new $P1000, "Undef"
-  vivify_259:
-    set $S1001, $P1000
-    new $P992, 'String'
-    set $P992, $S1001
-    goto if_993_end
-  if_993:
-    find_lex $P996, "$/"
-    unless_null $P996, vivify_260
-    $P996 = root_new ['parrot';'Hash']
-  vivify_260:
-    set $P997, $P996["pos"]
-    unless_null $P997, vivify_261
-    new $P997, "Undef"
-  vivify_261:
-    set $N998, $P997
-    new $P992, 'Float'
-    set $P992, $N998
-  if_993_end:
-    store_lex "$name", $P992
-.annotate 'line', 255
-    find_lex $P1003, "$/"
-    unless_null $P1003, vivify_262
-    $P1003 = root_new ['parrot';'Hash']
-  vivify_262:
-    set $P1004, $P1003["quantified_atom"]
-    unless_null $P1004, vivify_263
-    new $P1004, "Undef"
-  vivify_263:
-    if $P1004, if_1002
-.annotate 'line', 266
-    get_hll_global $P1035, ["PAST"], "Regex"
-    find_lex $P1036, "$name"
-    find_lex $P1037, "$/"
-    $P1038 = $P1035."new"("!BACKREF", $P1036, "subrule" :named("pasttype"), "method" :named("subtype"), $P1037 :named("node"))
-    store_lex "$past", $P1038
-.annotate 'line', 265
-    goto if_1002_end
-  if_1002:
-.annotate 'line', 256
+    .lex "$past", $P1000
+.annotate 'line', 253
+    new $P1001, "Undef"
+    .lex "$name", $P1001
+.annotate 'line', 251
+    find_lex $P1002, "$past"
+.annotate 'line', 253
     find_lex $P1005, "$/"
-    unless_null $P1005, vivify_264
+    unless_null $P1005, vivify_262
     $P1005 = root_new ['parrot';'Hash']
+  vivify_262:
+    set $P1006, $P1005["pos"]
+    unless_null $P1006, vivify_263
+    new $P1006, "Undef"
+  vivify_263:
+    if $P1006, if_1004
+    find_lex $P1010, "$/"
+    unless_null $P1010, vivify_264
+    $P1010 = root_new ['parrot';'Hash']
   vivify_264:
-    set $P1006, $P1005["quantified_atom"]
-    unless_null $P1006, vivify_265
-    $P1006 = root_new ['parrot';'ResizablePMCArray']
+    set $P1011, $P1010["name"]
+    unless_null $P1011, vivify_265
+    new $P1011, "Undef"
   vivify_265:
-    set $P1007, $P1006[0]
+    set $S1012, $P1011
+    new $P1003, 'String'
+    set $P1003, $S1012
+    goto if_1004_end
+  if_1004:
+    find_lex $P1007, "$/"
     unless_null $P1007, vivify_266
-    new $P1007, "Undef"
+    $P1007 = root_new ['parrot';'Hash']
   vivify_266:
-    $P1008 = $P1007."ast"()
-    store_lex "$past", $P1008
-.annotate 'line', 257
-    find_lex $P1012, "$past"
-    $S1013 = $P1012."pasttype"()
-    iseq $I1014, $S1013, "quant"
-    if $I1014, if_1011
-    new $P1010, 'Integer'
-    set $P1010, $I1014
-    goto if_1011_end
-  if_1011:
-    find_lex $P1015, "$past"
-    unless_null $P1015, vivify_267
-    $P1015 = root_new ['parrot';'ResizablePMCArray']
+    set $P1008, $P1007["pos"]
+    unless_null $P1008, vivify_267
+    new $P1008, "Undef"
   vivify_267:
-    set $P1016, $P1015[0]
-    unless_null $P1016, vivify_268
-    new $P1016, "Undef"
+    set $N1009, $P1008
+    new $P1003, 'Float'
+    set $P1003, $N1009
+  if_1004_end:
+    store_lex "$name", $P1003
+.annotate 'line', 254
+    find_lex $P1014, "$/"
+    unless_null $P1014, vivify_268
+    $P1014 = root_new ['parrot';'Hash']
   vivify_268:
-    $S1017 = $P1016."pasttype"()
-    iseq $I1018, $S1017, "subrule"
-    new $P1010, 'Integer'
-    set $P1010, $I1018
-  if_1011_end:
-    if $P1010, if_1009
-.annotate 'line', 260
-    find_lex $P1024, "$past"
-    $S1025 = $P1024."pasttype"()
-    iseq $I1026, $S1025, "subrule"
-    if $I1026, if_1023
-.annotate 'line', 262
-    get_hll_global $P1030, ["PAST"], "Regex"
-    find_lex $P1031, "$past"
-    find_lex $P1032, "$name"
-    find_lex $P1033, "$/"
-    $P1034 = $P1030."new"($P1031, $P1032 :named("name"), "subcapture" :named("pasttype"), $P1033 :named("node"))
-    store_lex "$past", $P1034
-.annotate 'line', 261
-    goto if_1023_end
-  if_1023:
-.annotate 'line', 260
-    find_lex $P1027, "self"
-    find_lex $P1028, "$past"
-    find_lex $P1029, "$name"
-    $P1027."subrule_alias"($P1028, $P1029)
-  if_1023_end:
-    goto if_1009_end
-  if_1009:
-.annotate 'line', 258
-    find_lex $P1019, "self"
-    find_lex $P1020, "$past"
-    unless_null $P1020, vivify_269
-    $P1020 = root_new ['parrot';'ResizablePMCArray']
+    set $P1015, $P1014["quantified_atom"]
+    unless_null $P1015, vivify_269
+    new $P1015, "Undef"
   vivify_269:
-    set $P1021, $P1020[0]
-    unless_null $P1021, vivify_270
-    new $P1021, "Undef"
+    if $P1015, if_1013
+.annotate 'line', 265
+    get_hll_global $P1046, ["PAST"], "Regex"
+    find_lex $P1047, "$name"
+    find_lex $P1048, "$/"
+    $P1049 = $P1046."new"("!BACKREF", $P1047, "subrule" :named("pasttype"), "method" :named("subtype"), $P1048 :named("node"))
+    store_lex "$past", $P1049
+.annotate 'line', 264
+    goto if_1013_end
+  if_1013:
+.annotate 'line', 255
+    find_lex $P1016, "$/"
+    unless_null $P1016, vivify_270
+    $P1016 = root_new ['parrot';'Hash']
   vivify_270:
-    find_lex $P1022, "$name"
-    $P1019."subrule_alias"($P1021, $P1022)
-  if_1009_end:
-  if_1002_end:
-.annotate 'line', 269
-    find_lex $P1039, "$/"
-    find_lex $P1040, "$past"
-    $P1041 = $P1039."!make"($P1040)
-.annotate 'line', 252
-    .return ($P1041)
-  control_986:
+    set $P1017, $P1016["quantified_atom"]
+    unless_null $P1017, vivify_271
+    $P1017 = root_new ['parrot';'ResizablePMCArray']
+  vivify_271:
+    set $P1018, $P1017[0]
+    unless_null $P1018, vivify_272
+    new $P1018, "Undef"
+  vivify_272:
+    $P1019 = $P1018."ast"()
+    store_lex "$past", $P1019
+.annotate 'line', 256
+    find_lex $P1023, "$past"
+    $S1024 = $P1023."pasttype"()
+    iseq $I1025, $S1024, "quant"
+    if $I1025, if_1022
+    new $P1021, 'Integer'
+    set $P1021, $I1025
+    goto if_1022_end
+  if_1022:
+    find_lex $P1026, "$past"
+    unless_null $P1026, vivify_273
+    $P1026 = root_new ['parrot';'ResizablePMCArray']
+  vivify_273:
+    set $P1027, $P1026[0]
+    unless_null $P1027, vivify_274
+    new $P1027, "Undef"
+  vivify_274:
+    $S1028 = $P1027."pasttype"()
+    iseq $I1029, $S1028, "subrule"
+    new $P1021, 'Integer'
+    set $P1021, $I1029
+  if_1022_end:
+    if $P1021, if_1020
+.annotate 'line', 259
+    find_lex $P1035, "$past"
+    $S1036 = $P1035."pasttype"()
+    iseq $I1037, $S1036, "subrule"
+    if $I1037, if_1034
+.annotate 'line', 261
+    get_hll_global $P1041, ["PAST"], "Regex"
+    find_lex $P1042, "$past"
+    find_lex $P1043, "$name"
+    find_lex $P1044, "$/"
+    $P1045 = $P1041."new"($P1042, $P1043 :named("name"), "subcapture" :named("pasttype"), $P1044 :named("node"))
+    store_lex "$past", $P1045
+.annotate 'line', 260
+    goto if_1034_end
+  if_1034:
+.annotate 'line', 259
+    find_lex $P1038, "self"
+    find_lex $P1039, "$past"
+    find_lex $P1040, "$name"
+    $P1038."subrule_alias"($P1039, $P1040)
+  if_1034_end:
+    goto if_1020_end
+  if_1020:
+.annotate 'line', 257
+    find_lex $P1030, "self"
+    find_lex $P1031, "$past"
+    unless_null $P1031, vivify_275
+    $P1031 = root_new ['parrot';'ResizablePMCArray']
+  vivify_275:
+    set $P1032, $P1031[0]
+    unless_null $P1032, vivify_276
+    new $P1032, "Undef"
+  vivify_276:
+    find_lex $P1033, "$name"
+    $P1030."subrule_alias"($P1032, $P1033)
+  if_1020_end:
+  if_1013_end:
+.annotate 'line', 268
+    find_lex $P1050, "$/"
+    find_lex $P1051, "$past"
+    $P1052 = $P1050."!make"($P1051)
+.annotate 'line', 251
+    .return ($P1052)
+  control_997:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1042, exception, "payload"
-    .return ($P1042)
+    getattribute $P1053, exception, "payload"
+    .return ($P1053)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "metachar:sym<PIR>"  :subid("63_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1046
-.annotate 'line', 272
-    new $P1045, 'ExceptionHandler'
-    set_addr $P1045, control_1044
-    $P1045."handle_types"(.CONTROL_RETURN)
-    push_eh $P1045
+.sub "metachar:sym<PIR>"  :subid("63_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1057
+.annotate 'line', 271
+    new $P1056, 'ExceptionHandler'
+    set_addr $P1056, control_1055
+    $P1056."handle_types"(.CONTROL_RETURN)
+    push_eh $P1056
     .lex "self", self
-    .lex "$/", param_1046
-.annotate 'line', 273
-    find_lex $P1047, "$/"
-    get_hll_global $P1048, ["PAST"], "Regex"
-.annotate 'line', 274
-    get_hll_global $P1049, ["PAST"], "Op"
-    find_lex $P1050, "$/"
-    unless_null $P1050, vivify_271
-    $P1050 = root_new ['parrot';'Hash']
-  vivify_271:
-    set $P1051, $P1050["pir"]
-    unless_null $P1051, vivify_272
-    new $P1051, "Undef"
-  vivify_272:
-    set $S1052, $P1051
-    $P1053 = $P1049."new"($S1052 :named("inline"), "inline" :named("pasttype"))
-    find_lex $P1054, "$/"
-    $P1055 = $P1048."new"($P1053, "pastnode" :named("pasttype"), $P1054 :named("node"))
+    .lex "$/", param_1057
+.annotate 'line', 272
+    find_lex $P1058, "$/"
+    get_hll_global $P1059, ["PAST"], "Regex"
 .annotate 'line', 273
-    $P1056 = $P1047."!make"($P1055)
+    get_hll_global $P1060, ["PAST"], "Op"
+    find_lex $P1061, "$/"
+    unless_null $P1061, vivify_277
+    $P1061 = root_new ['parrot';'Hash']
+  vivify_277:
+    set $P1062, $P1061["pir"]
+    unless_null $P1062, vivify_278
+    new $P1062, "Undef"
+  vivify_278:
+    set $S1063, $P1062
+    $P1064 = $P1060."new"($S1063 :named("inline"), "inline" :named("pasttype"))
+    find_lex $P1065, "$/"
+    $P1066 = $P1059."new"($P1064, "pastnode" :named("pasttype"), $P1065 :named("node"))
 .annotate 'line', 272
-    .return ($P1056)
-  control_1044:
+    $P1067 = $P1058."!make"($P1066)
+.annotate 'line', 271
+    .return ($P1067)
+  control_1055:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1057, exception, "payload"
-    .return ($P1057)
+    getattribute $P1068, exception, "payload"
+    .return ($P1068)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<w>"  :subid("64_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1061
-.annotate 'line', 280
-    new $P1060, 'ExceptionHandler'
-    set_addr $P1060, control_1059
-    $P1060."handle_types"(.CONTROL_RETURN)
-    push_eh $P1060
+.sub "backslash:sym<w>"  :subid("64_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1072
+.annotate 'line', 279
+    new $P1071, 'ExceptionHandler'
+    set_addr $P1071, control_1070
+    $P1071."handle_types"(.CONTROL_RETURN)
+    push_eh $P1071
     .lex "self", self
-    .lex "$/", param_1061
+    .lex "$/", param_1072
+.annotate 'line', 280
+    new $P1073, "Undef"
+    .lex "$subtype", $P1073
 .annotate 'line', 281
-    new $P1062, "Undef"
-    .lex "$subtype", $P1062
-.annotate 'line', 282
-    new $P1063, "Undef"
-    .lex "$past", $P1063
+    new $P1074, "Undef"
+    .lex "$past", $P1074
+.annotate 'line', 280
+    find_lex $P1077, "$/"
+    unless_null $P1077, vivify_279
+    $P1077 = root_new ['parrot';'Hash']
+  vivify_279:
+    set $P1078, $P1077["sym"]
+    unless_null $P1078, vivify_280
+    new $P1078, "Undef"
+  vivify_280:
+    set $S1079, $P1078
+    iseq $I1080, $S1079, "n"
+    if $I1080, if_1076
+    find_lex $P1082, "$/"
+    unless_null $P1082, vivify_281
+    $P1082 = root_new ['parrot';'Hash']
+  vivify_281:
+    set $P1083, $P1082["sym"]
+    unless_null $P1083, vivify_282
+    new $P1083, "Undef"
+  vivify_282:
+    set $S1084, $P1083
+    new $P1075, 'String'
+    set $P1075, $S1084
+    goto if_1076_end
+  if_1076:
+    new $P1081, "String"
+    assign $P1081, "nl"
+    set $P1075, $P1081
+  if_1076_end:
+    store_lex "$subtype", $P1075
 .annotate 'line', 281
-    find_lex $P1066, "$/"
-    unless_null $P1066, vivify_273
-    $P1066 = root_new ['parrot';'Hash']
-  vivify_273:
-    set $P1067, $P1066["sym"]
-    unless_null $P1067, vivify_274
-    new $P1067, "Undef"
-  vivify_274:
-    set $S1068, $P1067
-    iseq $I1069, $S1068, "n"
-    if $I1069, if_1065
-    find_lex $P1071, "$/"
-    unless_null $P1071, vivify_275
-    $P1071 = root_new ['parrot';'Hash']
-  vivify_275:
-    set $P1072, $P1071["sym"]
-    unless_null $P1072, vivify_276
-    new $P1072, "Undef"
-  vivify_276:
-    set $S1073, $P1072
-    new $P1064, 'String'
-    set $P1064, $S1073
-    goto if_1065_end
-  if_1065:
-    new $P1070, "String"
-    assign $P1070, "nl"
-    set $P1064, $P1070
-  if_1065_end:
-    store_lex "$subtype", $P1064
+    get_hll_global $P1085, ["PAST"], "Regex"
+    find_lex $P1086, "$subtype"
+    find_lex $P1087, "$/"
+    $P1088 = $P1085."new"("charclass" :named("pasttype"), $P1086 :named("subtype"), $P1087 :named("node"))
+    store_lex "$past", $P1088
 .annotate 'line', 282
-    get_hll_global $P1074, ["PAST"], "Regex"
-    find_lex $P1075, "$subtype"
-    find_lex $P1076, "$/"
-    $P1077 = $P1074."new"("charclass" :named("pasttype"), $P1075 :named("subtype"), $P1076 :named("node"))
-    store_lex "$past", $P1077
-.annotate 'line', 283
-    find_lex $P1078, "$/"
-    find_lex $P1079, "$past"
-    $P1080 = $P1078."!make"($P1079)
-.annotate 'line', 280
-    .return ($P1080)
-  control_1059:
+    find_lex $P1089, "$/"
+    find_lex $P1090, "$past"
+    $P1091 = $P1089."!make"($P1090)
+.annotate 'line', 279
+    .return ($P1091)
+  control_1070:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1081, exception, "payload"
-    .return ($P1081)
+    getattribute $P1092, exception, "payload"
+    .return ($P1092)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<b>"  :subid("65_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1085
-.annotate 'line', 286
-    new $P1084, 'ExceptionHandler'
-    set_addr $P1084, control_1083
-    $P1084."handle_types"(.CONTROL_RETURN)
-    push_eh $P1084
+.sub "backslash:sym<b>"  :subid("65_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1096
+.annotate 'line', 285
+    new $P1095, 'ExceptionHandler'
+    set_addr $P1095, control_1094
+    $P1095."handle_types"(.CONTROL_RETURN)
+    push_eh $P1095
     .lex "self", self
-    .lex "$/", param_1085
-.annotate 'line', 287
-    new $P1086, "Undef"
-    .lex "$past", $P1086
-    get_hll_global $P1087, ["PAST"], "Regex"
-.annotate 'line', 288
-    find_lex $P1088, "$/"
-    unless_null $P1088, vivify_277
-    $P1088 = root_new ['parrot';'Hash']
-  vivify_277:
-    set $P1089, $P1088["sym"]
-    unless_null $P1089, vivify_278
-    new $P1089, "Undef"
-  vivify_278:
-    set $S1090, $P1089
-    iseq $I1091, $S1090, "B"
-    find_lex $P1092, "$/"
-    $P1093 = $P1087."new"("\b", "enumcharlist" :named("pasttype"), $I1091 :named("negate"), $P1092 :named("node"))
+    .lex "$/", param_1096
+.annotate 'line', 286
+    new $P1097, "Undef"
+    .lex "$past", $P1097
+    get_hll_global $P1098, ["PAST"], "Regex"
 .annotate 'line', 287
-    store_lex "$past", $P1093
-.annotate 'line', 289
-    find_lex $P1094, "$/"
-    find_lex $P1095, "$past"
-    $P1096 = $P1094."!make"($P1095)
+    find_lex $P1099, "$/"
+    unless_null $P1099, vivify_283
+    $P1099 = root_new ['parrot';'Hash']
+  vivify_283:
+    set $P1100, $P1099["sym"]
+    unless_null $P1100, vivify_284
+    new $P1100, "Undef"
+  vivify_284:
+    set $S1101, $P1100
+    iseq $I1102, $S1101, "B"
+    find_lex $P1103, "$/"
+    $P1104 = $P1098."new"("\b", "enumcharlist" :named("pasttype"), $I1102 :named("negate"), $P1103 :named("node"))
 .annotate 'line', 286
-    .return ($P1096)
-  control_1083:
+    store_lex "$past", $P1104
+.annotate 'line', 288
+    find_lex $P1105, "$/"
+    find_lex $P1106, "$past"
+    $P1107 = $P1105."!make"($P1106)
+.annotate 'line', 285
+    .return ($P1107)
+  control_1094:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1097, exception, "payload"
-    .return ($P1097)
+    getattribute $P1108, exception, "payload"
+    .return ($P1108)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<e>"  :subid("66_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1101
-.annotate 'line', 292
-    new $P1100, 'ExceptionHandler'
-    set_addr $P1100, control_1099
-    $P1100."handle_types"(.CONTROL_RETURN)
-    push_eh $P1100
+.sub "backslash:sym<e>"  :subid("66_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1112
+.annotate 'line', 291
+    new $P1111, 'ExceptionHandler'
+    set_addr $P1111, control_1110
+    $P1111."handle_types"(.CONTROL_RETURN)
+    push_eh $P1111
     .lex "self", self
-    .lex "$/", param_1101
-.annotate 'line', 293
-    new $P1102, "Undef"
-    .lex "$past", $P1102
-    get_hll_global $P1103, ["PAST"], "Regex"
-.annotate 'line', 294
-    find_lex $P1104, "$/"
-    unless_null $P1104, vivify_279
-    $P1104 = root_new ['parrot';'Hash']
-  vivify_279:
-    set $P1105, $P1104["sym"]
-    unless_null $P1105, vivify_280
-    new $P1105, "Undef"
-  vivify_280:
-    set $S1106, $P1105
-    iseq $I1107, $S1106, "E"
-    find_lex $P1108, "$/"
-    $P1109 = $P1103."new"("\e", "enumcharlist" :named("pasttype"), $I1107 :named("negate"), $P1108 :named("node"))
+    .lex "$/", param_1112
+.annotate 'line', 292
+    new $P1113, "Undef"
+    .lex "$past", $P1113
+    get_hll_global $P1114, ["PAST"], "Regex"
 .annotate 'line', 293
-    store_lex "$past", $P1109
-.annotate 'line', 295
-    find_lex $P1110, "$/"
-    find_lex $P1111, "$past"
-    $P1112 = $P1110."!make"($P1111)
+    find_lex $P1115, "$/"
+    unless_null $P1115, vivify_285
+    $P1115 = root_new ['parrot';'Hash']
+  vivify_285:
+    set $P1116, $P1115["sym"]
+    unless_null $P1116, vivify_286
+    new $P1116, "Undef"
+  vivify_286:
+    set $S1117, $P1116
+    iseq $I1118, $S1117, "E"
+    find_lex $P1119, "$/"
+    $P1120 = $P1114."new"("\e", "enumcharlist" :named("pasttype"), $I1118 :named("negate"), $P1119 :named("node"))
 .annotate 'line', 292
-    .return ($P1112)
-  control_1099:
+    store_lex "$past", $P1120
+.annotate 'line', 294
+    find_lex $P1121, "$/"
+    find_lex $P1122, "$past"
+    $P1123 = $P1121."!make"($P1122)
+.annotate 'line', 291
+    .return ($P1123)
+  control_1110:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1113, exception, "payload"
-    .return ($P1113)
+    getattribute $P1124, exception, "payload"
+    .return ($P1124)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<f>"  :subid("67_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1117
-.annotate 'line', 298
-    new $P1116, 'ExceptionHandler'
-    set_addr $P1116, control_1115
-    $P1116."handle_types"(.CONTROL_RETURN)
-    push_eh $P1116
+.sub "backslash:sym<f>"  :subid("67_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1128
+.annotate 'line', 297
+    new $P1127, 'ExceptionHandler'
+    set_addr $P1127, control_1126
+    $P1127."handle_types"(.CONTROL_RETURN)
+    push_eh $P1127
     .lex "self", self
-    .lex "$/", param_1117
-.annotate 'line', 299
-    new $P1118, "Undef"
-    .lex "$past", $P1118
-    get_hll_global $P1119, ["PAST"], "Regex"
-.annotate 'line', 300
-    find_lex $P1120, "$/"
-    unless_null $P1120, vivify_281
-    $P1120 = root_new ['parrot';'Hash']
-  vivify_281:
-    set $P1121, $P1120["sym"]
-    unless_null $P1121, vivify_282
-    new $P1121, "Undef"
-  vivify_282:
-    set $S1122, $P1121
-    iseq $I1123, $S1122, "F"
-    find_lex $P1124, "$/"
-    $P1125 = $P1119."new"("\f", "enumcharlist" :named("pasttype"), $I1123 :named("negate"), $P1124 :named("node"))
+    .lex "$/", param_1128
+.annotate 'line', 298
+    new $P1129, "Undef"
+    .lex "$past", $P1129
+    get_hll_global $P1130, ["PAST"], "Regex"
 .annotate 'line', 299
-    store_lex "$past", $P1125
-.annotate 'line', 301
-    find_lex $P1126, "$/"
-    find_lex $P1127, "$past"
-    $P1128 = $P1126."!make"($P1127)
+    find_lex $P1131, "$/"
+    unless_null $P1131, vivify_287
+    $P1131 = root_new ['parrot';'Hash']
+  vivify_287:
+    set $P1132, $P1131["sym"]
+    unless_null $P1132, vivify_288
+    new $P1132, "Undef"
+  vivify_288:
+    set $S1133, $P1132
+    iseq $I1134, $S1133, "F"
+    find_lex $P1135, "$/"
+    $P1136 = $P1130."new"("\f", "enumcharlist" :named("pasttype"), $I1134 :named("negate"), $P1135 :named("node"))
 .annotate 'line', 298
-    .return ($P1128)
-  control_1115:
+    store_lex "$past", $P1136
+.annotate 'line', 300
+    find_lex $P1137, "$/"
+    find_lex $P1138, "$past"
+    $P1139 = $P1137."!make"($P1138)
+.annotate 'line', 297
+    .return ($P1139)
+  control_1126:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1129, exception, "payload"
-    .return ($P1129)
+    getattribute $P1140, exception, "payload"
+    .return ($P1140)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<h>"  :subid("68_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1133
-.annotate 'line', 304
-    new $P1132, 'ExceptionHandler'
-    set_addr $P1132, control_1131
-    $P1132."handle_types"(.CONTROL_RETURN)
-    push_eh $P1132
+.sub "backslash:sym<h>"  :subid("68_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1144
+.annotate 'line', 303
+    new $P1143, 'ExceptionHandler'
+    set_addr $P1143, control_1142
+    $P1143."handle_types"(.CONTROL_RETURN)
+    push_eh $P1143
     .lex "self", self
-    .lex "$/", param_1133
-.annotate 'line', 305
-    new $P1134, "Undef"
-    .lex "$past", $P1134
-    get_hll_global $P1135, ["PAST"], "Regex"
-.annotate 'line', 306
-    find_lex $P1136, "$/"
-    unless_null $P1136, vivify_283
-    $P1136 = root_new ['parrot';'Hash']
-  vivify_283:
-    set $P1137, $P1136["sym"]
-    unless_null $P1137, vivify_284
-    new $P1137, "Undef"
-  vivify_284:
-    set $S1138, $P1137
-    iseq $I1139, $S1138, "H"
-    find_lex $P1140, "$/"
-    $P1141 = $P1135."new"(unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", "enumcharlist" :named("pasttype"), $I1139 :named("negate"), $P1140 :named("node"))
+    .lex "$/", param_1144
+.annotate 'line', 304
+    new $P1145, "Undef"
+    .lex "$past", $P1145
+    get_hll_global $P1146, ["PAST"], "Regex"
 .annotate 'line', 305
-    store_lex "$past", $P1141
-.annotate 'line', 307
-    find_lex $P1142, "$/"
-    find_lex $P1143, "$past"
-    $P1144 = $P1142."!make"($P1143)
+    find_lex $P1147, "$/"
+    unless_null $P1147, vivify_289
+    $P1147 = root_new ['parrot';'Hash']
+  vivify_289:
+    set $P1148, $P1147["sym"]
+    unless_null $P1148, vivify_290
+    new $P1148, "Undef"
+  vivify_290:
+    set $S1149, $P1148
+    iseq $I1150, $S1149, "H"
+    find_lex $P1151, "$/"
+    $P1152 = $P1146."new"(unicode:"\t \x{a0}\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000", "enumcharlist" :named("pasttype"), $I1150 :named("negate"), $P1151 :named("node"))
 .annotate 'line', 304
-    .return ($P1144)
-  control_1131:
+    store_lex "$past", $P1152
+.annotate 'line', 306
+    find_lex $P1153, "$/"
+    find_lex $P1154, "$past"
+    $P1155 = $P1153."!make"($P1154)
+.annotate 'line', 303
+    .return ($P1155)
+  control_1142:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1145, exception, "payload"
-    .return ($P1145)
+    getattribute $P1156, exception, "payload"
+    .return ($P1156)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<r>"  :subid("69_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1149
-.annotate 'line', 310
-    new $P1148, 'ExceptionHandler'
-    set_addr $P1148, control_1147
-    $P1148."handle_types"(.CONTROL_RETURN)
-    push_eh $P1148
+.sub "backslash:sym<r>"  :subid("69_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1160
+.annotate 'line', 309
+    new $P1159, 'ExceptionHandler'
+    set_addr $P1159, control_1158
+    $P1159."handle_types"(.CONTROL_RETURN)
+    push_eh $P1159
     .lex "self", self
-    .lex "$/", param_1149
-.annotate 'line', 311
-    new $P1150, "Undef"
-    .lex "$past", $P1150
-    get_hll_global $P1151, ["PAST"], "Regex"
-.annotate 'line', 312
-    find_lex $P1152, "$/"
-    unless_null $P1152, vivify_285
-    $P1152 = root_new ['parrot';'Hash']
-  vivify_285:
-    set $P1153, $P1152["sym"]
-    unless_null $P1153, vivify_286
-    new $P1153, "Undef"
-  vivify_286:
-    set $S1154, $P1153
-    iseq $I1155, $S1154, "R"
-    find_lex $P1156, "$/"
-    $P1157 = $P1151."new"("\r", "enumcharlist" :named("pasttype"), $I1155 :named("negate"), $P1156 :named("node"))
+    .lex "$/", param_1160
+.annotate 'line', 310
+    new $P1161, "Undef"
+    .lex "$past", $P1161
+    get_hll_global $P1162, ["PAST"], "Regex"
 .annotate 'line', 311
-    store_lex "$past", $P1157
-.annotate 'line', 313
-    find_lex $P1158, "$/"
-    find_lex $P1159, "$past"
-    $P1160 = $P1158."!make"($P1159)
+    find_lex $P1163, "$/"
+    unless_null $P1163, vivify_291
+    $P1163 = root_new ['parrot';'Hash']
+  vivify_291:
+    set $P1164, $P1163["sym"]
+    unless_null $P1164, vivify_292
+    new $P1164, "Undef"
+  vivify_292:
+    set $S1165, $P1164
+    iseq $I1166, $S1165, "R"
+    find_lex $P1167, "$/"
+    $P1168 = $P1162."new"("\r", "enumcharlist" :named("pasttype"), $I1166 :named("negate"), $P1167 :named("node"))
 .annotate 'line', 310
-    .return ($P1160)
-  control_1147:
+    store_lex "$past", $P1168
+.annotate 'line', 312
+    find_lex $P1169, "$/"
+    find_lex $P1170, "$past"
+    $P1171 = $P1169."!make"($P1170)
+.annotate 'line', 309
+    .return ($P1171)
+  control_1158:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1161, exception, "payload"
-    .return ($P1161)
+    getattribute $P1172, exception, "payload"
+    .return ($P1172)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<t>"  :subid("70_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1165
-.annotate 'line', 316
-    new $P1164, 'ExceptionHandler'
-    set_addr $P1164, control_1163
-    $P1164."handle_types"(.CONTROL_RETURN)
-    push_eh $P1164
+.sub "backslash:sym<t>"  :subid("70_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1176
+.annotate 'line', 315
+    new $P1175, 'ExceptionHandler'
+    set_addr $P1175, control_1174
+    $P1175."handle_types"(.CONTROL_RETURN)
+    push_eh $P1175
     .lex "self", self
-    .lex "$/", param_1165
-.annotate 'line', 317
-    new $P1166, "Undef"
-    .lex "$past", $P1166
-    get_hll_global $P1167, ["PAST"], "Regex"
-.annotate 'line', 318
-    find_lex $P1168, "$/"
-    unless_null $P1168, vivify_287
-    $P1168 = root_new ['parrot';'Hash']
-  vivify_287:
-    set $P1169, $P1168["sym"]
-    unless_null $P1169, vivify_288
-    new $P1169, "Undef"
-  vivify_288:
-    set $S1170, $P1169
-    iseq $I1171, $S1170, "T"
-    find_lex $P1172, "$/"
-    $P1173 = $P1167."new"("\t", "enumcharlist" :named("pasttype"), $I1171 :named("negate"), $P1172 :named("node"))
+    .lex "$/", param_1176
+.annotate 'line', 316
+    new $P1177, "Undef"
+    .lex "$past", $P1177
+    get_hll_global $P1178, ["PAST"], "Regex"
 .annotate 'line', 317
-    store_lex "$past", $P1173
-.annotate 'line', 319
-    find_lex $P1174, "$/"
-    find_lex $P1175, "$past"
-    $P1176 = $P1174."!make"($P1175)
+    find_lex $P1179, "$/"
+    unless_null $P1179, vivify_293
+    $P1179 = root_new ['parrot';'Hash']
+  vivify_293:
+    set $P1180, $P1179["sym"]
+    unless_null $P1180, vivify_294
+    new $P1180, "Undef"
+  vivify_294:
+    set $S1181, $P1180
+    iseq $I1182, $S1181, "T"
+    find_lex $P1183, "$/"
+    $P1184 = $P1178."new"("\t", "enumcharlist" :named("pasttype"), $I1182 :named("negate"), $P1183 :named("node"))
 .annotate 'line', 316
-    .return ($P1176)
-  control_1163:
+    store_lex "$past", $P1184
+.annotate 'line', 318
+    find_lex $P1185, "$/"
+    find_lex $P1186, "$past"
+    $P1187 = $P1185."!make"($P1186)
+.annotate 'line', 315
+    .return ($P1187)
+  control_1174:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1177, exception, "payload"
-    .return ($P1177)
+    getattribute $P1188, exception, "payload"
+    .return ($P1188)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<v>"  :subid("71_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1181
+.sub "backslash:sym<v>"  :subid("71_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1192
+.annotate 'line', 321
+    new $P1191, 'ExceptionHandler'
+    set_addr $P1191, control_1190
+    $P1191."handle_types"(.CONTROL_RETURN)
+    push_eh $P1191
+    .lex "self", self
+    .lex "$/", param_1192
 .annotate 'line', 322
-    new $P1180, 'ExceptionHandler'
-    set_addr $P1180, control_1179
-    $P1180."handle_types"(.CONTROL_RETURN)
-    push_eh $P1180
-    .lex "self", self
-    .lex "$/", param_1181
-.annotate 'line', 323
-    new $P1182, "Undef"
-    .lex "$past", $P1182
-    get_hll_global $P1183, ["PAST"], "Regex"
-.annotate 'line', 325
-    find_lex $P1184, "$/"
-    unless_null $P1184, vivify_289
-    $P1184 = root_new ['parrot';'Hash']
-  vivify_289:
-    set $P1185, $P1184["sym"]
-    unless_null $P1185, vivify_290
-    new $P1185, "Undef"
-  vivify_290:
-    set $S1186, $P1185
-    iseq $I1187, $S1186, "V"
-    find_lex $P1188, "$/"
-    $P1189 = $P1183."new"(unicode:"\n\x{b}\f\r\x{85}\u2028\u2029", "enumcharlist" :named("pasttype"), $I1187 :named("negate"), $P1188 :named("node"))
-.annotate 'line', 323
-    store_lex "$past", $P1189
-.annotate 'line', 326
-    find_lex $P1190, "$/"
-    find_lex $P1191, "$past"
-    $P1192 = $P1190."!make"($P1191)
+    new $P1193, "Undef"
+    .lex "$past", $P1193
+    get_hll_global $P1194, ["PAST"], "Regex"
+.annotate 'line', 324
+    find_lex $P1195, "$/"
+    unless_null $P1195, vivify_295
+    $P1195 = root_new ['parrot';'Hash']
+  vivify_295:
+    set $P1196, $P1195["sym"]
+    unless_null $P1196, vivify_296
+    new $P1196, "Undef"
+  vivify_296:
+    set $S1197, $P1196
+    iseq $I1198, $S1197, "V"
+    find_lex $P1199, "$/"
+    $P1200 = $P1194."new"(unicode:"\n\x{b}\f\r\x{85}\u2028\u2029", "enumcharlist" :named("pasttype"), $I1198 :named("negate"), $P1199 :named("node"))
 .annotate 'line', 322
-    .return ($P1192)
-  control_1179:
+    store_lex "$past", $P1200
+.annotate 'line', 325
+    find_lex $P1201, "$/"
+    find_lex $P1202, "$past"
+    $P1203 = $P1201."!make"($P1202)
+.annotate 'line', 321
+    .return ($P1203)
+  control_1190:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1193, exception, "payload"
-    .return ($P1193)
+    getattribute $P1204, exception, "payload"
+    .return ($P1204)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<o>"  :subid("72_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1197
-.annotate 'line', 329
-    new $P1196, 'ExceptionHandler'
-    set_addr $P1196, control_1195
-    $P1196."handle_types"(.CONTROL_RETURN)
-    push_eh $P1196
+.sub "backslash:sym<o>"  :subid("72_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1208
+.annotate 'line', 328
+    new $P1207, 'ExceptionHandler'
+    set_addr $P1207, control_1206
+    $P1207."handle_types"(.CONTROL_RETURN)
+    push_eh $P1207
     .lex "self", self
-    .lex "$/", param_1197
+    .lex "$/", param_1208
+.annotate 'line', 329
+    new $P1209, "Undef"
+    .lex "$octlit", $P1209
 .annotate 'line', 330
-    new $P1198, "Undef"
-    .lex "$octlit", $P1198
-.annotate 'line', 331
-    get_hll_global $P1199, ["HLL";"Actions"], "ints_to_string"
-    find_lex $P1202, "$/"
-    unless_null $P1202, vivify_291
-    $P1202 = root_new ['parrot';'Hash']
-  vivify_291:
-    set $P1203, $P1202["octint"]
-    unless_null $P1203, vivify_292
-    new $P1203, "Undef"
-  vivify_292:
-    unless $P1203, unless_1201
-    set $P1200, $P1203
-    goto unless_1201_end
-  unless_1201:
-    find_lex $P1204, "$/"
-    unless_null $P1204, vivify_293
-    $P1204 = root_new ['parrot';'Hash']
-  vivify_293:
-    set $P1205, $P1204["octints"]
-    unless_null $P1205, vivify_294
-    $P1205 = root_new ['parrot';'Hash']
-  vivify_294:
-    set $P1206, $P1205["octint"]
-    unless_null $P1206, vivify_295
-    new $P1206, "Undef"
-  vivify_295:
-    set $P1200, $P1206
-  unless_1201_end:
-    $P1207 = $P1199($P1200)
-    store_lex "$octlit", $P1207
-.annotate 'line', 332
-    find_lex $P1208, "$/"
-    find_lex $P1211, "$/"
-    unless_null $P1211, vivify_296
-    $P1211 = root_new ['parrot';'Hash']
-  vivify_296:
-    set $P1212, $P1211["sym"]
-    unless_null $P1212, vivify_297
-    new $P1212, "Undef"
+    get_hll_global $P1210, ["HLL";"Actions"], "ints_to_string"
+    find_lex $P1213, "$/"
+    unless_null $P1213, vivify_297
+    $P1213 = root_new ['parrot';'Hash']
   vivify_297:
-    set $S1213, $P1212
-    iseq $I1214, $S1213, "O"
-    if $I1214, if_1210
-.annotate 'line', 335
-    get_hll_global $P1219, ["PAST"], "Regex"
-    find_lex $P1220, "$octlit"
-    find_lex $P1221, "$/"
-    $P1222 = $P1219."new"($P1220, "literal" :named("pasttype"), $P1221 :named("node"))
-    set $P1209, $P1222
+    set $P1214, $P1213["octint"]
+    unless_null $P1214, vivify_298
+    new $P1214, "Undef"
+  vivify_298:
+    unless $P1214, unless_1212
+    set $P1211, $P1214
+    goto unless_1212_end
+  unless_1212:
+    find_lex $P1215, "$/"
+    unless_null $P1215, vivify_299
+    $P1215 = root_new ['parrot';'Hash']
+  vivify_299:
+    set $P1216, $P1215["octints"]
+    unless_null $P1216, vivify_300
+    $P1216 = root_new ['parrot';'Hash']
+  vivify_300:
+    set $P1217, $P1216["octint"]
+    unless_null $P1217, vivify_301
+    new $P1217, "Undef"
+  vivify_301:
+    set $P1211, $P1217
+  unless_1212_end:
+    $P1218 = $P1210($P1211)
+    store_lex "$octlit", $P1218
+.annotate 'line', 331
+    find_lex $P1219, "$/"
+    find_lex $P1222, "$/"
+    unless_null $P1222, vivify_302
+    $P1222 = root_new ['parrot';'Hash']
+  vivify_302:
+    set $P1223, $P1222["sym"]
+    unless_null $P1223, vivify_303
+    new $P1223, "Undef"
+  vivify_303:
+    set $S1224, $P1223
+    iseq $I1225, $S1224, "O"
+    if $I1225, if_1221
+.annotate 'line', 334
+    get_hll_global $P1230, ["PAST"], "Regex"
+    find_lex $P1231, "$octlit"
+    find_lex $P1232, "$/"
+    $P1233 = $P1230."new"($P1231, "literal" :named("pasttype"), $P1232 :named("node"))
+    set $P1220, $P1233
+.annotate 'line', 331
+    goto if_1221_end
+  if_1221:
 .annotate 'line', 332
-    goto if_1210_end
-  if_1210:
-.annotate 'line', 333
-    get_hll_global $P1215, ["PAST"], "Regex"
-    find_lex $P1216, "$octlit"
-    find_lex $P1217, "$/"
-    $P1218 = $P1215."new"($P1216, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1217 :named("node"))
-    set $P1209, $P1218
-  if_1210_end:
-    $P1223 = $P1208."!make"($P1209)
-.annotate 'line', 329
-    .return ($P1223)
-  control_1195:
+    get_hll_global $P1226, ["PAST"], "Regex"
+    find_lex $P1227, "$octlit"
+    find_lex $P1228, "$/"
+    $P1229 = $P1226."new"($P1227, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1228 :named("node"))
+    set $P1220, $P1229
+  if_1221_end:
+    $P1234 = $P1219."!make"($P1220)
+.annotate 'line', 328
+    .return ($P1234)
+  control_1206:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1224, exception, "payload"
-    .return ($P1224)
+    getattribute $P1235, exception, "payload"
+    .return ($P1235)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<x>"  :subid("73_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1228
-.annotate 'line', 338
-    new $P1227, 'ExceptionHandler'
-    set_addr $P1227, control_1226
-    $P1227."handle_types"(.CONTROL_RETURN)
-    push_eh $P1227
+.sub "backslash:sym<x>"  :subid("73_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1239
+.annotate 'line', 337
+    new $P1238, 'ExceptionHandler'
+    set_addr $P1238, control_1237
+    $P1238."handle_types"(.CONTROL_RETURN)
+    push_eh $P1238
     .lex "self", self
-    .lex "$/", param_1228
+    .lex "$/", param_1239
+.annotate 'line', 338
+    new $P1240, "Undef"
+    .lex "$hexlit", $P1240
 .annotate 'line', 339
-    new $P1229, "Undef"
-    .lex "$hexlit", $P1229
-.annotate 'line', 340
-    get_hll_global $P1230, ["HLL";"Actions"], "ints_to_string"
-    find_lex $P1233, "$/"
-    unless_null $P1233, vivify_298
-    $P1233 = root_new ['parrot';'Hash']
-  vivify_298:
-    set $P1234, $P1233["hexint"]
-    unless_null $P1234, vivify_299
-    new $P1234, "Undef"
-  vivify_299:
-    unless $P1234, unless_1232
-    set $P1231, $P1234
-    goto unless_1232_end
-  unless_1232:
-    find_lex $P1235, "$/"
-    unless_null $P1235, vivify_300
-    $P1235 = root_new ['parrot';'Hash']
-  vivify_300:
-    set $P1236, $P1235["hexints"]
-    unless_null $P1236, vivify_301
-    $P1236 = root_new ['parrot';'Hash']
-  vivify_301:
-    set $P1237, $P1236["hexint"]
-    unless_null $P1237, vivify_302
-    new $P1237, "Undef"
-  vivify_302:
-    set $P1231, $P1237
-  unless_1232_end:
-    $P1238 = $P1230($P1231)
-    store_lex "$hexlit", $P1238
-.annotate 'line', 341
-    find_lex $P1239, "$/"
-    find_lex $P1242, "$/"
-    unless_null $P1242, vivify_303
-    $P1242 = root_new ['parrot';'Hash']
-  vivify_303:
-    set $P1243, $P1242["sym"]
-    unless_null $P1243, vivify_304
-    new $P1243, "Undef"
+    get_hll_global $P1241, ["HLL";"Actions"], "ints_to_string"
+    find_lex $P1244, "$/"
+    unless_null $P1244, vivify_304
+    $P1244 = root_new ['parrot';'Hash']
   vivify_304:
-    set $S1244, $P1243
-    iseq $I1245, $S1244, "X"
-    if $I1245, if_1241
-.annotate 'line', 344
-    get_hll_global $P1250, ["PAST"], "Regex"
-    find_lex $P1251, "$hexlit"
-    find_lex $P1252, "$/"
-    $P1253 = $P1250."new"($P1251, "literal" :named("pasttype"), $P1252 :named("node"))
-    set $P1240, $P1253
+    set $P1245, $P1244["hexint"]
+    unless_null $P1245, vivify_305
+    new $P1245, "Undef"
+  vivify_305:
+    unless $P1245, unless_1243
+    set $P1242, $P1245
+    goto unless_1243_end
+  unless_1243:
+    find_lex $P1246, "$/"
+    unless_null $P1246, vivify_306
+    $P1246 = root_new ['parrot';'Hash']
+  vivify_306:
+    set $P1247, $P1246["hexints"]
+    unless_null $P1247, vivify_307
+    $P1247 = root_new ['parrot';'Hash']
+  vivify_307:
+    set $P1248, $P1247["hexint"]
+    unless_null $P1248, vivify_308
+    new $P1248, "Undef"
+  vivify_308:
+    set $P1242, $P1248
+  unless_1243_end:
+    $P1249 = $P1241($P1242)
+    store_lex "$hexlit", $P1249
+.annotate 'line', 340
+    find_lex $P1250, "$/"
+    find_lex $P1253, "$/"
+    unless_null $P1253, vivify_309
+    $P1253 = root_new ['parrot';'Hash']
+  vivify_309:
+    set $P1254, $P1253["sym"]
+    unless_null $P1254, vivify_310
+    new $P1254, "Undef"
+  vivify_310:
+    set $S1255, $P1254
+    iseq $I1256, $S1255, "X"
+    if $I1256, if_1252
+.annotate 'line', 343
+    get_hll_global $P1261, ["PAST"], "Regex"
+    find_lex $P1262, "$hexlit"
+    find_lex $P1263, "$/"
+    $P1264 = $P1261."new"($P1262, "literal" :named("pasttype"), $P1263 :named("node"))
+    set $P1251, $P1264
+.annotate 'line', 340
+    goto if_1252_end
+  if_1252:
 .annotate 'line', 341
-    goto if_1241_end
-  if_1241:
-.annotate 'line', 342
-    get_hll_global $P1246, ["PAST"], "Regex"
-    find_lex $P1247, "$hexlit"
-    find_lex $P1248, "$/"
-    $P1249 = $P1246."new"($P1247, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1248 :named("node"))
-    set $P1240, $P1249
-  if_1241_end:
-    $P1254 = $P1239."!make"($P1240)
-.annotate 'line', 338
-    .return ($P1254)
-  control_1226:
+    get_hll_global $P1257, ["PAST"], "Regex"
+    find_lex $P1258, "$hexlit"
+    find_lex $P1259, "$/"
+    $P1260 = $P1257."new"($P1258, "enumcharlist" :named("pasttype"), 1 :named("negate"), $P1259 :named("node"))
+    set $P1251, $P1260
+  if_1252_end:
+    $P1265 = $P1250."!make"($P1251)
+.annotate 'line', 337
+    .return ($P1265)
+  control_1237:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1255, exception, "payload"
-    .return ($P1255)
+    getattribute $P1266, exception, "payload"
+    .return ($P1266)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<c>"  :subid("74_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1259
-.annotate 'line', 347
-    new $P1258, 'ExceptionHandler'
-    set_addr $P1258, control_1257
-    $P1258."handle_types"(.CONTROL_RETURN)
-    push_eh $P1258
-    .lex "self", self
-    .lex "$/", param_1259
-.annotate 'line', 348
-    find_lex $P1260, "$/"
-    get_hll_global $P1261, ["PAST"], "Regex"
-    find_lex $P1262, "$/"
-    unless_null $P1262, vivify_305
-    $P1262 = root_new ['parrot';'Hash']
-  vivify_305:
-    set $P1263, $P1262["charspec"]
-    unless_null $P1263, vivify_306
-    new $P1263, "Undef"
-  vivify_306:
-    $P1264 = $P1263."ast"()
-    find_lex $P1265, "$/"
-    $P1266 = $P1261."new"($P1264, "literal" :named("pasttype"), $P1265 :named("node"))
-    $P1267 = $P1260."!make"($P1266)
+.sub "backslash:sym<c>"  :subid("74_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1270
+.annotate 'line', 346
+    new $P1269, 'ExceptionHandler'
+    set_addr $P1269, control_1268
+    $P1269."handle_types"(.CONTROL_RETURN)
+    push_eh $P1269
+    .lex "self", self
+    .lex "$/", param_1270
 .annotate 'line', 347
-    .return ($P1267)
-  control_1257:
+    find_lex $P1271, "$/"
+    get_hll_global $P1272, ["PAST"], "Regex"
+    find_lex $P1273, "$/"
+    unless_null $P1273, vivify_311
+    $P1273 = root_new ['parrot';'Hash']
+  vivify_311:
+    set $P1274, $P1273["charspec"]
+    unless_null $P1274, vivify_312
+    new $P1274, "Undef"
+  vivify_312:
+    $P1275 = $P1274."ast"()
+    find_lex $P1276, "$/"
+    $P1277 = $P1272."new"($P1275, "literal" :named("pasttype"), $P1276 :named("node"))
+    $P1278 = $P1271."!make"($P1277)
+.annotate 'line', 346
+    .return ($P1278)
+  control_1268:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1268, exception, "payload"
-    .return ($P1268)
+    getattribute $P1279, exception, "payload"
+    .return ($P1279)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "backslash:sym<misc>"  :subid("75_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1272
-.annotate 'line', 351
-    new $P1271, 'ExceptionHandler'
-    set_addr $P1271, control_1270
-    $P1271."handle_types"(.CONTROL_RETURN)
-    push_eh $P1271
+.sub "backslash:sym<misc>"  :subid("75_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1283
+.annotate 'line', 350
+    new $P1282, 'ExceptionHandler'
+    set_addr $P1282, control_1281
+    $P1282."handle_types"(.CONTROL_RETURN)
+    push_eh $P1282
     .lex "self", self
-    .lex "$/", param_1272
-.annotate 'line', 352
-    new $P1273, "Undef"
-    .lex "$past", $P1273
-    get_hll_global $P1274, ["PAST"], "Regex"
-    find_lex $P1275, "$/"
-    set $S1276, $P1275
-    find_lex $P1277, "$/"
-    $P1278 = $P1274."new"($S1276, "literal" :named("pasttype"), $P1277 :named("node"))
-    store_lex "$past", $P1278
-.annotate 'line', 353
-    find_lex $P1279, "$/"
-    find_lex $P1280, "$past"
-    $P1281 = $P1279."!make"($P1280)
+    .lex "$/", param_1283
 .annotate 'line', 351
-    .return ($P1281)
-  control_1270:
+    new $P1284, "Undef"
+    .lex "$past", $P1284
+    get_hll_global $P1285, ["PAST"], "Regex"
+    find_lex $P1286, "$/"
+    set $S1287, $P1286
+    find_lex $P1288, "$/"
+    $P1289 = $P1285."new"($S1287, "literal" :named("pasttype"), $P1288 :named("node"))
+    store_lex "$past", $P1289
+.annotate 'line', 352
+    find_lex $P1290, "$/"
+    find_lex $P1291, "$past"
+    $P1292 = $P1290."!make"($P1291)
+.annotate 'line', 350
+    .return ($P1292)
+  control_1281:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1282, exception, "payload"
-    .return ($P1282)
+    getattribute $P1293, exception, "payload"
+    .return ($P1293)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "assertion:sym<?>"  :subid("76_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1286
-.annotate 'line', 357
-    new $P1285, 'ExceptionHandler'
-    set_addr $P1285, control_1284
-    $P1285."handle_types"(.CONTROL_RETURN)
-    push_eh $P1285
+.sub "assertion:sym<?>"  :subid("76_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1297
+.annotate 'line', 356
+    new $P1296, 'ExceptionHandler'
+    set_addr $P1296, control_1295
+    $P1296."handle_types"(.CONTROL_RETURN)
+    push_eh $P1296
     .lex "self", self
-    .lex "$/", param_1286
-.annotate 'line', 358
-    new $P1287, "Undef"
-    .lex "$past", $P1287
+    .lex "$/", param_1297
 .annotate 'line', 357
-    find_lex $P1288, "$past"
+    new $P1298, "Undef"
+    .lex "$past", $P1298
+.annotate 'line', 356
+    find_lex $P1299, "$past"
+.annotate 'line', 358
+    find_lex $P1301, "$/"
+    unless_null $P1301, vivify_313
+    $P1301 = root_new ['parrot';'Hash']
+  vivify_313:
+    set $P1302, $P1301["assertion"]
+    unless_null $P1302, vivify_314
+    new $P1302, "Undef"
+  vivify_314:
+    if $P1302, if_1300
+.annotate 'line', 362
+    new $P1307, "Integer"
+    assign $P1307, 0
+    store_lex "$past", $P1307
+    goto if_1300_end
+  if_1300:
 .annotate 'line', 359
-    find_lex $P1290, "$/"
-    unless_null $P1290, vivify_307
-    $P1290 = root_new ['parrot';'Hash']
-  vivify_307:
-    set $P1291, $P1290["assertion"]
-    unless_null $P1291, vivify_308
-    new $P1291, "Undef"
-  vivify_308:
-    if $P1291, if_1289
-.annotate 'line', 363
-    new $P1296, "Integer"
-    assign $P1296, 0
-    store_lex "$past", $P1296
-    goto if_1289_end
-  if_1289:
+    find_lex $P1303, "$/"
+    unless_null $P1303, vivify_315
+    $P1303 = root_new ['parrot';'Hash']
+  vivify_315:
+    set $P1304, $P1303["assertion"]
+    unless_null $P1304, vivify_316
+    new $P1304, "Undef"
+  vivify_316:
+    $P1305 = $P1304."ast"()
+    store_lex "$past", $P1305
 .annotate 'line', 360
-    find_lex $P1292, "$/"
-    unless_null $P1292, vivify_309
-    $P1292 = root_new ['parrot';'Hash']
-  vivify_309:
-    set $P1293, $P1292["assertion"]
-    unless_null $P1293, vivify_310
-    new $P1293, "Undef"
-  vivify_310:
-    $P1294 = $P1293."ast"()
-    store_lex "$past", $P1294
-.annotate 'line', 361
-    find_lex $P1295, "$past"
-    $P1295."subtype"("zerowidth")
-  if_1289_end:
-.annotate 'line', 364
-    find_lex $P1297, "$/"
-    find_lex $P1298, "$past"
-    $P1299 = $P1297."!make"($P1298)
-.annotate 'line', 357
-    .return ($P1299)
-  control_1284:
+    find_lex $P1306, "$past"
+    $P1306."subtype"("zerowidth")
+  if_1300_end:
+.annotate 'line', 363
+    find_lex $P1308, "$/"
+    find_lex $P1309, "$past"
+    $P1310 = $P1308."!make"($P1309)
+.annotate 'line', 356
+    .return ($P1310)
+  control_1295:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1300, exception, "payload"
-    .return ($P1300)
+    getattribute $P1311, exception, "payload"
+    .return ($P1311)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "assertion:sym<!>"  :subid("77_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1304
-.annotate 'line', 367
-    new $P1303, 'ExceptionHandler'
-    set_addr $P1303, control_1302
-    $P1303."handle_types"(.CONTROL_RETURN)
-    push_eh $P1303
+.sub "assertion:sym<!>"  :subid("77_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1315
+.annotate 'line', 366
+    new $P1314, 'ExceptionHandler'
+    set_addr $P1314, control_1313
+    $P1314."handle_types"(.CONTROL_RETURN)
+    push_eh $P1314
     .lex "self", self
-    .lex "$/", param_1304
-.annotate 'line', 368
-    new $P1305, "Undef"
-    .lex "$past", $P1305
+    .lex "$/", param_1315
 .annotate 'line', 367
-    find_lex $P1306, "$past"
-.annotate 'line', 369
-    find_lex $P1308, "$/"
-    unless_null $P1308, vivify_311
-    $P1308 = root_new ['parrot';'Hash']
-  vivify_311:
-    set $P1309, $P1308["assertion"]
-    unless_null $P1309, vivify_312
-    new $P1309, "Undef"
-  vivify_312:
-    if $P1309, if_1307
-.annotate 'line', 375
-    get_hll_global $P1318, ["PAST"], "Regex"
+    new $P1316, "Undef"
+    .lex "$past", $P1316
+.annotate 'line', 366
+    find_lex $P1317, "$past"
+.annotate 'line', 368
     find_lex $P1319, "$/"
-    $P1320 = $P1318."new"("anchor" :named("pasttype"), "fail" :named("subtype"), $P1319 :named("node"))
-    store_lex "$past", $P1320
+    unless_null $P1319, vivify_317
+    $P1319 = root_new ['parrot';'Hash']
+  vivify_317:
+    set $P1320, $P1319["assertion"]
+    unless_null $P1320, vivify_318
+    new $P1320, "Undef"
+  vivify_318:
+    if $P1320, if_1318
 .annotate 'line', 374
-    goto if_1307_end
-  if_1307:
+    get_hll_global $P1329, ["PAST"], "Regex"
+    find_lex $P1330, "$/"
+    $P1331 = $P1329."new"("anchor" :named("pasttype"), "fail" :named("subtype"), $P1330 :named("node"))
+    store_lex "$past", $P1331
+.annotate 'line', 373
+    goto if_1318_end
+  if_1318:
+.annotate 'line', 369
+    find_lex $P1321, "$/"
+    unless_null $P1321, vivify_319
+    $P1321 = root_new ['parrot';'Hash']
+  vivify_319:
+    set $P1322, $P1321["assertion"]
+    unless_null $P1322, vivify_320
+    new $P1322, "Undef"
+  vivify_320:
+    $P1323 = $P1322."ast"()
+    store_lex "$past", $P1323
 .annotate 'line', 370
-    find_lex $P1310, "$/"
-    unless_null $P1310, vivify_313
-    $P1310 = root_new ['parrot';'Hash']
-  vivify_313:
-    set $P1311, $P1310["assertion"]
-    unless_null $P1311, vivify_314
-    new $P1311, "Undef"
-  vivify_314:
-    $P1312 = $P1311."ast"()
-    store_lex "$past", $P1312
+    find_lex $P1324, "$past"
+    find_lex $P1325, "$past"
+    $P1326 = $P1325."negate"()
+    isfalse $I1327, $P1326
+    $P1324."negate"($I1327)
 .annotate 'line', 371
-    find_lex $P1313, "$past"
-    find_lex $P1314, "$past"
-    $P1315 = $P1314."negate"()
-    isfalse $I1316, $P1315
-    $P1313."negate"($I1316)
-.annotate 'line', 372
-    find_lex $P1317, "$past"
-    $P1317."subtype"("zerowidth")
-  if_1307_end:
-.annotate 'line', 377
-    find_lex $P1321, "$/"
-    find_lex $P1322, "$past"
-    $P1323 = $P1321."!make"($P1322)
-.annotate 'line', 367
-    .return ($P1323)
-  control_1302:
+    find_lex $P1328, "$past"
+    $P1328."subtype"("zerowidth")
+  if_1318_end:
+.annotate 'line', 376
+    find_lex $P1332, "$/"
+    find_lex $P1333, "$past"
+    $P1334 = $P1332."!make"($P1333)
+.annotate 'line', 366
+    .return ($P1334)
+  control_1313:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1324, exception, "payload"
-    .return ($P1324)
+    getattribute $P1335, exception, "payload"
+    .return ($P1335)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "assertion:sym<method>"  :subid("78_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1328
-.annotate 'line', 380
-    new $P1327, 'ExceptionHandler'
-    set_addr $P1327, control_1326
-    $P1327."handle_types"(.CONTROL_RETURN)
-    push_eh $P1327
+.sub "assertion:sym<method>"  :subid("78_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1339
+.annotate 'line', 379
+    new $P1338, 'ExceptionHandler'
+    set_addr $P1338, control_1337
+    $P1338."handle_types"(.CONTROL_RETURN)
+    push_eh $P1338
     .lex "self", self
-    .lex "$/", param_1328
+    .lex "$/", param_1339
+.annotate 'line', 380
+    new $P1340, "Undef"
+    .lex "$past", $P1340
+    find_lex $P1341, "$/"
+    unless_null $P1341, vivify_321
+    $P1341 = root_new ['parrot';'Hash']
+  vivify_321:
+    set $P1342, $P1341["assertion"]
+    unless_null $P1342, vivify_322
+    new $P1342, "Undef"
+  vivify_322:
+    $P1343 = $P1342."ast"()
+    store_lex "$past", $P1343
 .annotate 'line', 381
-    new $P1329, "Undef"
-    .lex "$past", $P1329
-    find_lex $P1330, "$/"
-    unless_null $P1330, vivify_315
-    $P1330 = root_new ['parrot';'Hash']
-  vivify_315:
-    set $P1331, $P1330["assertion"]
-    unless_null $P1331, vivify_316
-    new $P1331, "Undef"
-  vivify_316:
-    $P1332 = $P1331."ast"()
-    store_lex "$past", $P1332
+    find_lex $P1344, "$past"
+    $P1344."subtype"("method")
 .annotate 'line', 382
-    find_lex $P1333, "$past"
-    $P1333."subtype"("method")
+    find_lex $P1345, "$past"
+    $P1345."name"("")
 .annotate 'line', 383
-    find_lex $P1334, "$past"
-    $P1334."name"("")
-.annotate 'line', 384
-    find_lex $P1335, "$/"
-    find_lex $P1336, "$past"
-    $P1337 = $P1335."!make"($P1336)
-.annotate 'line', 380
-    .return ($P1337)
-  control_1326:
+    find_lex $P1346, "$/"
+    find_lex $P1347, "$past"
+    $P1348 = $P1346."!make"($P1347)
+.annotate 'line', 379
+    .return ($P1348)
+  control_1337:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1338, exception, "payload"
-    .return ($P1338)
+    getattribute $P1349, exception, "payload"
+    .return ($P1349)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "assertion:sym<name>"  :subid("79_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1342
-.annotate 'line', 387
-    .const 'Sub' $P1399 = "81_1279589166.57432" 
-    capture_lex $P1399
-    .const 'Sub' $P1365 = "80_1279589166.57432" 
-    capture_lex $P1365
-    new $P1341, 'ExceptionHandler'
-    set_addr $P1341, control_1340
-    $P1341."handle_types"(.CONTROL_RETURN)
-    push_eh $P1341
+.sub "assertion:sym<name>"  :subid("79_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1353
+.annotate 'line', 386
+    .const 'Sub' $P1410 = "81_1280467473.99327" 
+    capture_lex $P1410
+    .const 'Sub' $P1376 = "80_1280467473.99327" 
+    capture_lex $P1376
+    new $P1352, 'ExceptionHandler'
+    set_addr $P1352, control_1351
+    $P1352."handle_types"(.CONTROL_RETURN)
+    push_eh $P1352
     .lex "self", self
-    .lex "$/", param_1342
-.annotate 'line', 388
-    new $P1343, "Undef"
-    .lex "$name", $P1343
-.annotate 'line', 389
-    new $P1344, "Undef"
-    .lex "$past", $P1344
+    .lex "$/", param_1353
+.annotate 'line', 387
+    new $P1354, "Undef"
+    .lex "$name", $P1354
 .annotate 'line', 388
-    find_lex $P1345, "$/"
-    unless_null $P1345, vivify_317
-    $P1345 = root_new ['parrot';'Hash']
-  vivify_317:
-    set $P1346, $P1345["longname"]
-    unless_null $P1346, vivify_318
-    new $P1346, "Undef"
-  vivify_318:
-    set $S1347, $P1346
-    new $P1348, 'String'
-    set $P1348, $S1347
-    store_lex "$name", $P1348
-    find_lex $P1349, "$past"
-.annotate 'line', 390
-    find_lex $P1351, "$/"
-    unless_null $P1351, vivify_319
-    $P1351 = root_new ['parrot';'Hash']
-  vivify_319:
-    set $P1352, $P1351["assertion"]
-    unless_null $P1352, vivify_320
-    new $P1352, "Undef"
-  vivify_320:
-    if $P1352, if_1350
-.annotate 'line', 394
-    find_lex $P1361, "$name"
-    set $S1362, $P1361
-    iseq $I1363, $S1362, "sym"
-    if $I1363, if_1360
-.annotate 'line', 410
-    find_lex $P1375, "self"
-    find_lex $P1376, "$/"
-    $P1377 = $P1375."named_assertion"($P1376)
-    store_lex "$past", $P1377
-.annotate 'line', 411
-    find_lex $P1379, "$/"
-    unless_null $P1379, vivify_321
-    $P1379 = root_new ['parrot';'Hash']
-  vivify_321:
-    set $P1380, $P1379["nibbler"]
-    unless_null $P1380, vivify_322
-    new $P1380, "Undef"
-  vivify_322:
-    if $P1380, if_1378
-.annotate 'line', 414
-    find_lex $P1388, "$/"
-    unless_null $P1388, vivify_323
-    $P1388 = root_new ['parrot';'Hash']
+    new $P1355, "Undef"
+    .lex "$past", $P1355
+.annotate 'line', 387
+    find_lex $P1356, "$/"
+    unless_null $P1356, vivify_323
+    $P1356 = root_new ['parrot';'Hash']
   vivify_323:
-    set $P1389, $P1388["arglist"]
-    unless_null $P1389, vivify_324
-    new $P1389, "Undef"
+    set $P1357, $P1356["longname"]
+    unless_null $P1357, vivify_324
+    new $P1357, "Undef"
   vivify_324:
-    unless $P1389, if_1387_end
-.annotate 'line', 415
-    find_lex $P1391, "$/"
-    unless_null $P1391, vivify_325
-    $P1391 = root_new ['parrot';'Hash']
+    set $S1358, $P1357
+    new $P1359, 'String'
+    set $P1359, $S1358
+    store_lex "$name", $P1359
+    find_lex $P1360, "$past"
+.annotate 'line', 389
+    find_lex $P1362, "$/"
+    unless_null $P1362, vivify_325
+    $P1362 = root_new ['parrot';'Hash']
   vivify_325:
-    set $P1392, $P1391["arglist"]
-    unless_null $P1392, vivify_326
-    $P1392 = root_new ['parrot';'ResizablePMCArray']
+    set $P1363, $P1362["assertion"]
+    unless_null $P1363, vivify_326
+    new $P1363, "Undef"
   vivify_326:
-    set $P1393, $P1392[0]
-    unless_null $P1393, vivify_327
-    new $P1393, "Undef"
+    if $P1363, if_1361
+.annotate 'line', 393
+    find_lex $P1372, "$name"
+    set $S1373, $P1372
+    iseq $I1374, $S1373, "sym"
+    if $I1374, if_1371
+.annotate 'line', 409
+    find_lex $P1386, "self"
+    find_lex $P1387, "$/"
+    $P1388 = $P1386."named_assertion"($P1387)
+    store_lex "$past", $P1388
+.annotate 'line', 410
+    find_lex $P1390, "$/"
+    unless_null $P1390, vivify_327
+    $P1390 = root_new ['parrot';'Hash']
   vivify_327:
-    $P1394 = $P1393."ast"()
-    $P1395 = $P1394."list"()
-    defined $I1396, $P1395
-    unless $I1396, for_undef_328
-    iter $P1390, $P1395
-    new $P1405, 'ExceptionHandler'
-    set_addr $P1405, loop1404_handler
-    $P1405."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
-    push_eh $P1405
-  loop1404_test:
-    unless $P1390, loop1404_done
-    shift $P1397, $P1390
-  loop1404_redo:
-    .const 'Sub' $P1399 = "81_1279589166.57432" 
-    capture_lex $P1399
-    $P1399($P1397)
-  loop1404_next:
-    goto loop1404_test
-  loop1404_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1406, exception, 'type'
-    eq $P1406, .CONTROL_LOOP_NEXT, loop1404_next
-    eq $P1406, .CONTROL_LOOP_REDO, loop1404_redo
-  loop1404_done:
-    pop_eh 
-  for_undef_328:
-  if_1387_end:
-.annotate 'line', 414
-    goto if_1378_end
-  if_1378:
-.annotate 'line', 412
-    find_lex $P1381, "$past"
-    find_lex $P1382, "$/"
-    unless_null $P1382, vivify_329
-    $P1382 = root_new ['parrot';'Hash']
+    set $P1391, $P1390["nibbler"]
+    unless_null $P1391, vivify_328
+    new $P1391, "Undef"
+  vivify_328:
+    if $P1391, if_1389
+.annotate 'line', 413
+    find_lex $P1399, "$/"
+    unless_null $P1399, vivify_329
+    $P1399 = root_new ['parrot';'Hash']
   vivify_329:
-    set $P1383, $P1382["nibbler"]
-    unless_null $P1383, vivify_330
-    $P1383 = root_new ['parrot';'ResizablePMCArray']
+    set $P1400, $P1399["arglist"]
+    unless_null $P1400, vivify_330
+    new $P1400, "Undef"
   vivify_330:
-    set $P1384, $P1383[0]
-    unless_null $P1384, vivify_331
-    new $P1384, "Undef"
+    unless $P1400, if_1398_end
+.annotate 'line', 414
+    find_lex $P1402, "$/"
+    unless_null $P1402, vivify_331
+    $P1402 = root_new ['parrot';'Hash']
   vivify_331:
-    $P1385 = $P1384."ast"()
-    $P1386 = "buildsub"($P1385)
-    $P1381."push"($P1386)
-  if_1378_end:
-.annotate 'line', 409
-    goto if_1360_end
-  if_1360:
-.annotate 'line', 394
-    .const 'Sub' $P1365 = "80_1279589166.57432" 
-    capture_lex $P1365
-    $P1365()
-  if_1360_end:
-    goto if_1350_end
-  if_1350:
-.annotate 'line', 391
-    find_lex $P1353, "$/"
-    unless_null $P1353, vivify_332
-    $P1353 = root_new ['parrot';'Hash']
+    set $P1403, $P1402["arglist"]
+    unless_null $P1403, vivify_332
+    $P1403 = root_new ['parrot';'ResizablePMCArray']
   vivify_332:
-    set $P1354, $P1353["assertion"]
-    unless_null $P1354, vivify_333
-    $P1354 = root_new ['parrot';'ResizablePMCArray']
+    set $P1404, $P1403[0]
+    unless_null $P1404, vivify_333
+    new $P1404, "Undef"
   vivify_333:
-    set $P1355, $P1354[0]
-    unless_null $P1355, vivify_334
-    new $P1355, "Undef"
-  vivify_334:
-    $P1356 = $P1355."ast"()
-    store_lex "$past", $P1356
-.annotate 'line', 392
-    find_lex $P1357, "self"
-    find_lex $P1358, "$past"
-    find_lex $P1359, "$name"
-    $P1357."subrule_alias"($P1358, $P1359)
-  if_1350_end:
-.annotate 'line', 418
-    find_lex $P1407, "$/"
-    find_lex $P1408, "$past"
-    $P1409 = $P1407."!make"($P1408)
-.annotate 'line', 387
-    .return ($P1409)
-  control_1340:
+    $P1405 = $P1404."ast"()
+    $P1406 = $P1405."list"()
+    defined $I1407, $P1406
+    unless $I1407, for_undef_334
+    iter $P1401, $P1406
+    new $P1416, 'ExceptionHandler'
+    set_addr $P1416, loop1415_handler
+    $P1416."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P1416
+  loop1415_test:
+    unless $P1401, loop1415_done
+    shift $P1408, $P1401
+  loop1415_redo:
+    .const 'Sub' $P1410 = "81_1280467473.99327" 
+    capture_lex $P1410
+    $P1410($P1408)
+  loop1415_next:
+    goto loop1415_test
+  loop1415_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1417, exception, 'type'
+    eq $P1417, .CONTROL_LOOP_NEXT, loop1415_next
+    eq $P1417, .CONTROL_LOOP_REDO, loop1415_redo
+  loop1415_done:
+    pop_eh 
+  for_undef_334:
+  if_1398_end:
+.annotate 'line', 413
+    goto if_1389_end
+  if_1389:
+.annotate 'line', 411
+    find_lex $P1392, "$past"
+    find_lex $P1393, "$/"
+    unless_null $P1393, vivify_335
+    $P1393 = root_new ['parrot';'Hash']
+  vivify_335:
+    set $P1394, $P1393["nibbler"]
+    unless_null $P1394, vivify_336
+    $P1394 = root_new ['parrot';'ResizablePMCArray']
+  vivify_336:
+    set $P1395, $P1394[0]
+    unless_null $P1395, vivify_337
+    new $P1395, "Undef"
+  vivify_337:
+    $P1396 = $P1395."ast"()
+    $P1397 = "buildsub"($P1396)
+    $P1392."push"($P1397)
+  if_1389_end:
+.annotate 'line', 408
+    goto if_1371_end
+  if_1371:
+.annotate 'line', 393
+    .const 'Sub' $P1376 = "80_1280467473.99327" 
+    capture_lex $P1376
+    $P1376()
+  if_1371_end:
+    goto if_1361_end
+  if_1361:
+.annotate 'line', 390
+    find_lex $P1364, "$/"
+    unless_null $P1364, vivify_338
+    $P1364 = root_new ['parrot';'Hash']
+  vivify_338:
+    set $P1365, $P1364["assertion"]
+    unless_null $P1365, vivify_339
+    $P1365 = root_new ['parrot';'ResizablePMCArray']
+  vivify_339:
+    set $P1366, $P1365[0]
+    unless_null $P1366, vivify_340
+    new $P1366, "Undef"
+  vivify_340:
+    $P1367 = $P1366."ast"()
+    store_lex "$past", $P1367
+.annotate 'line', 391
+    find_lex $P1368, "self"
+    find_lex $P1369, "$past"
+    find_lex $P1370, "$name"
+    $P1368."subrule_alias"($P1369, $P1370)
+  if_1361_end:
+.annotate 'line', 417
+    find_lex $P1418, "$/"
+    find_lex $P1419, "$past"
+    $P1420 = $P1418."!make"($P1419)
+.annotate 'line', 386
+    .return ($P1420)
+  control_1351:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1410, exception, "payload"
-    .return ($P1410)
+    getattribute $P1421, exception, "payload"
+    .return ($P1421)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1398"  :anon :subid("81_1279589166.57432") :outer("79_1279589166.57432")
-    .param pmc param_1400
-.annotate 'line', 415
-    .lex "$_", param_1400
-    find_lex $P1401, "$past"
-    find_lex $P1402, "$_"
-    $P1403 = $P1401."push"($P1402)
-    .return ($P1403)
+.sub "_block1409"  :anon :subid("81_1280467473.99327") :outer("79_1280467473.99327")
+    .param pmc param_1411
+.annotate 'line', 414
+    .lex "$_", param_1411
+    find_lex $P1412, "$past"
+    find_lex $P1413, "$_"
+    $P1414 = $P1412."push"($P1413)
+    .return ($P1414)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1364"  :anon :subid("80_1279589166.57432") :outer("79_1279589166.57432")
-.annotate 'line', 395
-    new $P1366, "Undef"
-    .lex "$regexsym", $P1366
+.sub "_block1375"  :anon :subid("80_1280467473.99327") :outer("79_1280467473.99327")
+.annotate 'line', 394
+    new $P1377, "Undef"
+    .lex "$regexsym", $P1377
 
             $P0 = get_global '$REGEXNAME'
             $S0 = $P0
@@ -11921,390 +11952,390 @@
             add $I0, 5
             $S0 = substr $S0, $I0
             $S0 = chopn $S0, 1
-            $P1367 = box $S0
+            $P1378 = box $S0
         
-    store_lex "$regexsym", $P1367
+    store_lex "$regexsym", $P1378
+.annotate 'line', 403
+    get_hll_global $P1379, ["PAST"], "Regex"
 .annotate 'line', 404
-    get_hll_global $P1368, ["PAST"], "Regex"
-.annotate 'line', 405
-    get_hll_global $P1369, ["PAST"], "Regex"
-    find_lex $P1370, "$regexsym"
-    $P1371 = $P1369."new"($P1370, "literal" :named("pasttype"))
-    find_lex $P1372, "$name"
-    find_lex $P1373, "$/"
-    $P1374 = $P1368."new"($P1371, $P1372 :named("name"), "subcapture" :named("pasttype"), $P1373 :named("node"))
-.annotate 'line', 404
-    store_lex "$past", $P1374
-.annotate 'line', 394
-    .return ($P1374)
+    get_hll_global $P1380, ["PAST"], "Regex"
+    find_lex $P1381, "$regexsym"
+    $P1382 = $P1380."new"($P1381, "literal" :named("pasttype"))
+    find_lex $P1383, "$name"
+    find_lex $P1384, "$/"
+    $P1385 = $P1379."new"($P1382, $P1383 :named("name"), "subcapture" :named("pasttype"), $P1384 :named("node"))
+.annotate 'line', 403
+    store_lex "$past", $P1385
+.annotate 'line', 393
+    .return ($P1385)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "assertion:sym<[>"  :subid("82_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1414
-.annotate 'line', 421
-    .const 'Sub' $P1449 = "83_1279589166.57432" 
-    capture_lex $P1449
-    new $P1413, 'ExceptionHandler'
-    set_addr $P1413, control_1412
-    $P1413."handle_types"(.CONTROL_RETURN)
-    push_eh $P1413
+.sub "assertion:sym<[>"  :subid("82_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1425
+.annotate 'line', 420
+    .const 'Sub' $P1460 = "83_1280467473.99327" 
+    capture_lex $P1460
+    new $P1424, 'ExceptionHandler'
+    set_addr $P1424, control_1423
+    $P1424."handle_types"(.CONTROL_RETURN)
+    push_eh $P1424
     .lex "self", self
-    .lex "$/", param_1414
+    .lex "$/", param_1425
+.annotate 'line', 421
+    new $P1426, "Undef"
+    .lex "$clist", $P1426
 .annotate 'line', 422
-    new $P1415, "Undef"
-    .lex "$clist", $P1415
-.annotate 'line', 423
-    new $P1416, "Undef"
-    .lex "$past", $P1416
+    new $P1427, "Undef"
+    .lex "$past", $P1427
+.annotate 'line', 431
+    new $P1428, "Undef"
+    .lex "$i", $P1428
 .annotate 'line', 432
-    new $P1417, "Undef"
-    .lex "$i", $P1417
-.annotate 'line', 433
-    new $P1418, "Undef"
-    .lex "$n", $P1418
+    new $P1429, "Undef"
+    .lex "$n", $P1429
+.annotate 'line', 421
+    find_lex $P1430, "$/"
+    unless_null $P1430, vivify_341
+    $P1430 = root_new ['parrot';'Hash']
+  vivify_341:
+    set $P1431, $P1430["cclass_elem"]
+    unless_null $P1431, vivify_342
+    new $P1431, "Undef"
+  vivify_342:
+    store_lex "$clist", $P1431
 .annotate 'line', 422
-    find_lex $P1419, "$/"
-    unless_null $P1419, vivify_335
-    $P1419 = root_new ['parrot';'Hash']
-  vivify_335:
-    set $P1420, $P1419["cclass_elem"]
-    unless_null $P1420, vivify_336
-    new $P1420, "Undef"
-  vivify_336:
-    store_lex "$clist", $P1420
+    find_lex $P1432, "$clist"
+    unless_null $P1432, vivify_343
+    $P1432 = root_new ['parrot';'ResizablePMCArray']
+  vivify_343:
+    set $P1433, $P1432[0]
+    unless_null $P1433, vivify_344
+    new $P1433, "Undef"
+  vivify_344:
+    $P1434 = $P1433."ast"()
+    store_lex "$past", $P1434
 .annotate 'line', 423
-    find_lex $P1421, "$clist"
-    unless_null $P1421, vivify_337
-    $P1421 = root_new ['parrot';'ResizablePMCArray']
-  vivify_337:
-    set $P1422, $P1421[0]
-    unless_null $P1422, vivify_338
-    new $P1422, "Undef"
-  vivify_338:
-    $P1423 = $P1422."ast"()
-    store_lex "$past", $P1423
+    find_lex $P1438, "$past"
+    $P1439 = $P1438."negate"()
+    if $P1439, if_1437
+    set $P1436, $P1439
+    goto if_1437_end
+  if_1437:
+    find_lex $P1440, "$past"
+    $S1441 = $P1440."pasttype"()
+    iseq $I1442, $S1441, "subrule"
+    new $P1436, 'Integer'
+    set $P1436, $I1442
+  if_1437_end:
+    unless $P1436, if_1435_end
 .annotate 'line', 424
-    find_lex $P1427, "$past"
-    $P1428 = $P1427."negate"()
-    if $P1428, if_1426
-    set $P1425, $P1428
-    goto if_1426_end
-  if_1426:
-    find_lex $P1429, "$past"
-    $S1430 = $P1429."pasttype"()
-    iseq $I1431, $S1430, "subrule"
-    new $P1425, 'Integer'
-    set $P1425, $I1431
-  if_1426_end:
-    unless $P1425, if_1424_end
+    find_lex $P1443, "$past"
+    $P1443."subtype"("zerowidth")
+.annotate 'line', 425
+    get_hll_global $P1444, ["PAST"], "Regex"
+    find_lex $P1445, "$past"
+.annotate 'line', 427
+    get_hll_global $P1446, ["PAST"], "Regex"
+    $P1447 = $P1446."new"("charclass" :named("pasttype"), "." :named("subtype"))
+    find_lex $P1448, "$/"
+    $P1449 = $P1444."new"($P1445, $P1447, $P1448 :named("node"))
 .annotate 'line', 425
-    find_lex $P1432, "$past"
-    $P1432."subtype"("zerowidth")
-.annotate 'line', 426
-    get_hll_global $P1433, ["PAST"], "Regex"
-    find_lex $P1434, "$past"
-.annotate 'line', 428
-    get_hll_global $P1435, ["PAST"], "Regex"
-    $P1436 = $P1435."new"("charclass" :named("pasttype"), "." :named("subtype"))
-    find_lex $P1437, "$/"
-    $P1438 = $P1433."new"($P1434, $P1436, $P1437 :named("node"))
-.annotate 'line', 426
-    store_lex "$past", $P1438
-  if_1424_end:
+    store_lex "$past", $P1449
+  if_1435_end:
+.annotate 'line', 431
+    new $P1450, "Integer"
+    assign $P1450, 1
+    store_lex "$i", $P1450
 .annotate 'line', 432
-    new $P1439, "Integer"
-    assign $P1439, 1
-    store_lex "$i", $P1439
+    find_lex $P1451, "$clist"
+    set $N1452, $P1451
+    new $P1453, 'Float'
+    set $P1453, $N1452
+    store_lex "$n", $P1453
 .annotate 'line', 433
-    find_lex $P1440, "$clist"
-    set $N1441, $P1440
-    new $P1442, 'Float'
-    set $P1442, $N1441
-    store_lex "$n", $P1442
-.annotate 'line', 434
-    new $P1473, 'ExceptionHandler'
-    set_addr $P1473, loop1472_handler
-    $P1473."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
-    push_eh $P1473
-  loop1472_test:
-    find_lex $P1443, "$i"
-    set $N1444, $P1443
-    find_lex $P1445, "$n"
-    set $N1446, $P1445
-    islt $I1447, $N1444, $N1446
-    unless $I1447, loop1472_done
-  loop1472_redo:
-    .const 'Sub' $P1449 = "83_1279589166.57432" 
-    capture_lex $P1449
-    $P1449()
-  loop1472_next:
-    goto loop1472_test
-  loop1472_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1474, exception, 'type'
-    eq $P1474, .CONTROL_LOOP_NEXT, loop1472_next
-    eq $P1474, .CONTROL_LOOP_REDO, loop1472_redo
-  loop1472_done:
+    new $P1484, 'ExceptionHandler'
+    set_addr $P1484, loop1483_handler
+    $P1484."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P1484
+  loop1483_test:
+    find_lex $P1454, "$i"
+    set $N1455, $P1454
+    find_lex $P1456, "$n"
+    set $N1457, $P1456
+    islt $I1458, $N1455, $N1457
+    unless $I1458, loop1483_done
+  loop1483_redo:
+    .const 'Sub' $P1460 = "83_1280467473.99327" 
+    capture_lex $P1460
+    $P1460()
+  loop1483_next:
+    goto loop1483_test
+  loop1483_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1485, exception, 'type'
+    eq $P1485, .CONTROL_LOOP_NEXT, loop1483_next
+    eq $P1485, .CONTROL_LOOP_REDO, loop1483_redo
+  loop1483_done:
     pop_eh 
-.annotate 'line', 445
-    find_lex $P1475, "$/"
-    find_lex $P1476, "$past"
-    $P1477 = $P1475."!make"($P1476)
-.annotate 'line', 421
-    .return ($P1477)
-  control_1412:
+.annotate 'line', 444
+    find_lex $P1486, "$/"
+    find_lex $P1487, "$past"
+    $P1488 = $P1486."!make"($P1487)
+.annotate 'line', 420
+    .return ($P1488)
+  control_1423:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1478, exception, "payload"
-    .return ($P1478)
+    getattribute $P1489, exception, "payload"
+    .return ($P1489)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1448"  :anon :subid("83_1279589166.57432") :outer("82_1279589166.57432")
+.sub "_block1459"  :anon :subid("83_1280467473.99327") :outer("82_1280467473.99327")
+.annotate 'line', 434
+    new $P1461, "Undef"
+    .lex "$ast", $P1461
+    find_lex $P1462, "$i"
+    set $I1463, $P1462
+    find_lex $P1464, "$clist"
+    unless_null $P1464, vivify_345
+    $P1464 = root_new ['parrot';'ResizablePMCArray']
+  vivify_345:
+    set $P1465, $P1464[$I1463]
+    unless_null $P1465, vivify_346
+    new $P1465, "Undef"
+  vivify_346:
+    $P1466 = $P1465."ast"()
+    store_lex "$ast", $P1466
 .annotate 'line', 435
-    new $P1450, "Undef"
-    .lex "$ast", $P1450
-    find_lex $P1451, "$i"
-    set $I1452, $P1451
-    find_lex $P1453, "$clist"
-    unless_null $P1453, vivify_339
-    $P1453 = root_new ['parrot';'ResizablePMCArray']
-  vivify_339:
-    set $P1454, $P1453[$I1452]
-    unless_null $P1454, vivify_340
-    new $P1454, "Undef"
-  vivify_340:
-    $P1455 = $P1454."ast"()
-    store_lex "$ast", $P1455
-.annotate 'line', 436
-    find_lex $P1457, "$ast"
-    $P1458 = $P1457."negate"()
-    if $P1458, if_1456
-.annotate 'line', 441
-    get_hll_global $P1465, ["PAST"], "Regex"
-    find_lex $P1466, "$past"
-    find_lex $P1467, "$ast"
-    find_lex $P1468, "$/"
-    $P1469 = $P1465."new"($P1466, $P1467, "alt" :named("pasttype"), $P1468 :named("node"))
-    store_lex "$past", $P1469
+    find_lex $P1468, "$ast"
+    $P1469 = $P1468."negate"()
+    if $P1469, if_1467
 .annotate 'line', 440
-    goto if_1456_end
-  if_1456:
+    get_hll_global $P1476, ["PAST"], "Regex"
+    find_lex $P1477, "$past"
+    find_lex $P1478, "$ast"
+    find_lex $P1479, "$/"
+    $P1480 = $P1476."new"($P1477, $P1478, "alt" :named("pasttype"), $P1479 :named("node"))
+    store_lex "$past", $P1480
+.annotate 'line', 439
+    goto if_1467_end
+  if_1467:
+.annotate 'line', 436
+    find_lex $P1470, "$ast"
+    $P1470."subtype"("zerowidth")
 .annotate 'line', 437
-    find_lex $P1459, "$ast"
-    $P1459."subtype"("zerowidth")
-.annotate 'line', 438
-    get_hll_global $P1460, ["PAST"], "Regex"
-    find_lex $P1461, "$ast"
-    find_lex $P1462, "$past"
-    find_lex $P1463, "$/"
-    $P1464 = $P1460."new"($P1461, $P1462, "concat" :named("pasttype"), $P1463 :named("node"))
-    store_lex "$past", $P1464
-  if_1456_end:
-.annotate 'line', 443
-    find_lex $P1470, "$i"
-    add $P1471, $P1470, 1
-    store_lex "$i", $P1471
-.annotate 'line', 434
-    .return ($P1471)
+    get_hll_global $P1471, ["PAST"], "Regex"
+    find_lex $P1472, "$ast"
+    find_lex $P1473, "$past"
+    find_lex $P1474, "$/"
+    $P1475 = $P1471."new"($P1472, $P1473, "concat" :named("pasttype"), $P1474 :named("node"))
+    store_lex "$past", $P1475
+  if_1467_end:
+.annotate 'line', 442
+    find_lex $P1481, "$i"
+    add $P1482, $P1481, 1
+    store_lex "$i", $P1482
+.annotate 'line', 433
+    .return ($P1482)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "cclass_elem"  :subid("84_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1482
-.annotate 'line', 448
-    .const 'Sub' $P1507 = "86_1279589166.57432" 
-    capture_lex $P1507
-    .const 'Sub' $P1491 = "85_1279589166.57432" 
-    capture_lex $P1491
-    new $P1481, 'ExceptionHandler'
-    set_addr $P1481, control_1480
-    $P1481."handle_types"(.CONTROL_RETURN)
-    push_eh $P1481
+.sub "cclass_elem"  :subid("84_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1493
+.annotate 'line', 447
+    .const 'Sub' $P1518 = "86_1280467473.99327" 
+    capture_lex $P1518
+    .const 'Sub' $P1502 = "85_1280467473.99327" 
+    capture_lex $P1502
+    new $P1492, 'ExceptionHandler'
+    set_addr $P1492, control_1491
+    $P1492."handle_types"(.CONTROL_RETURN)
+    push_eh $P1492
     .lex "self", self
-    .lex "$/", param_1482
+    .lex "$/", param_1493
+.annotate 'line', 448
+    new $P1494, "Undef"
+    .lex "$str", $P1494
 .annotate 'line', 449
-    new $P1483, "Undef"
-    .lex "$str", $P1483
+    new $P1495, "Undef"
+    .lex "$past", $P1495
+.annotate 'line', 448
+    new $P1496, "String"
+    assign $P1496, ""
+    store_lex "$str", $P1496
+    find_lex $P1497, "$past"
 .annotate 'line', 450
-    new $P1484, "Undef"
-    .lex "$past", $P1484
-.annotate 'line', 449
-    new $P1485, "String"
-    assign $P1485, ""
-    store_lex "$str", $P1485
-    find_lex $P1486, "$past"
-.annotate 'line', 451
-    find_lex $P1488, "$/"
-    unless_null $P1488, vivify_341
-    $P1488 = root_new ['parrot';'Hash']
-  vivify_341:
-    set $P1489, $P1488["name"]
-    unless_null $P1489, vivify_342
-    new $P1489, "Undef"
-  vivify_342:
-    if $P1489, if_1487
-.annotate 'line', 455
-    find_lex $P1502, "$/"
-    unless_null $P1502, vivify_343
-    $P1502 = root_new ['parrot';'Hash']
-  vivify_343:
-    set $P1503, $P1502["charspec"]
-    unless_null $P1503, vivify_344
-    new $P1503, "Undef"
-  vivify_344:
-    defined $I1504, $P1503
-    unless $I1504, for_undef_345
-    iter $P1501, $P1503
-    new $P1533, 'ExceptionHandler'
-    set_addr $P1533, loop1532_handler
-    $P1533."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
-    push_eh $P1533
-  loop1532_test:
-    unless $P1501, loop1532_done
-    shift $P1505, $P1501
-  loop1532_redo:
-    .const 'Sub' $P1507 = "86_1279589166.57432" 
-    capture_lex $P1507
-    $P1507($P1505)
-  loop1532_next:
-    goto loop1532_test
-  loop1532_handler:
-    .local pmc exception 
-    .get_results (exception) 
-    getattribute $P1534, exception, 'type'
-    eq $P1534, .CONTROL_LOOP_NEXT, loop1532_next
-    eq $P1534, .CONTROL_LOOP_REDO, loop1532_redo
-  loop1532_done:
-    pop_eh 
-  for_undef_345:
-.annotate 'line', 480
-    get_hll_global $P1535, ["PAST"], "Regex"
-    find_lex $P1536, "$str"
-    find_lex $P1537, "$/"
-    $P1538 = $P1535."new"($P1536, "enumcharlist" :named("pasttype"), $P1537 :named("node"))
-    store_lex "$past", $P1538
+    find_lex $P1499, "$/"
+    unless_null $P1499, vivify_347
+    $P1499 = root_new ['parrot';'Hash']
+  vivify_347:
+    set $P1500, $P1499["name"]
+    unless_null $P1500, vivify_348
+    new $P1500, "Undef"
+  vivify_348:
+    if $P1500, if_1498
 .annotate 'line', 454
-    goto if_1487_end
-  if_1487:
-.annotate 'line', 451
-    .const 'Sub' $P1491 = "85_1279589166.57432" 
-    capture_lex $P1491
-    $P1491()
-  if_1487_end:
+    find_lex $P1513, "$/"
+    unless_null $P1513, vivify_349
+    $P1513 = root_new ['parrot';'Hash']
+  vivify_349:
+    set $P1514, $P1513["charspec"]
+    unless_null $P1514, vivify_350
+    new $P1514, "Undef"
+  vivify_350:
+    defined $I1515, $P1514
+    unless $I1515, for_undef_351
+    iter $P1512, $P1514
+    new $P1544, 'ExceptionHandler'
+    set_addr $P1544, loop1543_handler
+    $P1544."handle_types"(.CONTROL_LOOP_NEXT, .CONTROL_LOOP_REDO, .CONTROL_LOOP_LAST)
+    push_eh $P1544
+  loop1543_test:
+    unless $P1512, loop1543_done
+    shift $P1516, $P1512
+  loop1543_redo:
+    .const 'Sub' $P1518 = "86_1280467473.99327" 
+    capture_lex $P1518
+    $P1518($P1516)
+  loop1543_next:
+    goto loop1543_test
+  loop1543_handler:
+    .local pmc exception 
+    .get_results (exception) 
+    getattribute $P1545, exception, 'type'
+    eq $P1545, .CONTROL_LOOP_NEXT, loop1543_next
+    eq $P1545, .CONTROL_LOOP_REDO, loop1543_redo
+  loop1543_done:
+    pop_eh 
+  for_undef_351:
+.annotate 'line', 479
+    get_hll_global $P1546, ["PAST"], "Regex"
+    find_lex $P1547, "$str"
+    find_lex $P1548, "$/"
+    $P1549 = $P1546."new"($P1547, "enumcharlist" :named("pasttype"), $P1548 :named("node"))
+    store_lex "$past", $P1549
+.annotate 'line', 453
+    goto if_1498_end
+  if_1498:
+.annotate 'line', 450
+    .const 'Sub' $P1502 = "85_1280467473.99327" 
+    capture_lex $P1502
+    $P1502()
+  if_1498_end:
+.annotate 'line', 481
+    find_lex $P1550, "$past"
+    find_lex $P1551, "$/"
+    unless_null $P1551, vivify_363
+    $P1551 = root_new ['parrot';'Hash']
+  vivify_363:
+    set $P1552, $P1551["sign"]
+    unless_null $P1552, vivify_364
+    new $P1552, "Undef"
+  vivify_364:
+    set $S1553, $P1552
+    iseq $I1554, $S1553, "-"
+    $P1550."negate"($I1554)
 .annotate 'line', 482
-    find_lex $P1539, "$past"
-    find_lex $P1540, "$/"
-    unless_null $P1540, vivify_357
-    $P1540 = root_new ['parrot';'Hash']
-  vivify_357:
-    set $P1541, $P1540["sign"]
-    unless_null $P1541, vivify_358
-    new $P1541, "Undef"
-  vivify_358:
-    set $S1542, $P1541
-    iseq $I1543, $S1542, "-"
-    $P1539."negate"($I1543)
-.annotate 'line', 483
-    find_lex $P1544, "$/"
-    find_lex $P1545, "$past"
-    $P1546 = $P1544."!make"($P1545)
-.annotate 'line', 448
-    .return ($P1546)
-  control_1480:
+    find_lex $P1555, "$/"
+    find_lex $P1556, "$past"
+    $P1557 = $P1555."!make"($P1556)
+.annotate 'line', 447
+    .return ($P1557)
+  control_1491:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1547, exception, "payload"
-    .return ($P1547)
+    getattribute $P1558, exception, "payload"
+    .return ($P1558)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1506"  :anon :subid("86_1279589166.57432") :outer("84_1279589166.57432")
-    .param pmc param_1508
+.sub "_block1517"  :anon :subid("86_1280467473.99327") :outer("84_1280467473.99327")
+    .param pmc param_1519
+.annotate 'line', 454
+    .const 'Sub' $P1525 = "87_1280467473.99327" 
+    capture_lex $P1525
+    .lex "$_", param_1519
 .annotate 'line', 455
-    .const 'Sub' $P1514 = "87_1279589166.57432" 
-    capture_lex $P1514
-    .lex "$_", param_1508
-.annotate 'line', 456
-    find_lex $P1511, "$_"
-    unless_null $P1511, vivify_346
-    $P1511 = root_new ['parrot';'ResizablePMCArray']
-  vivify_346:
-    set $P1512, $P1511[1]
-    unless_null $P1512, vivify_347
-    new $P1512, "Undef"
-  vivify_347:
-    if $P1512, if_1510
-.annotate 'line', 478
-    find_lex $P1528, "$str"
-    find_lex $P1529, "$_"
-    unless_null $P1529, vivify_348
-    $P1529 = root_new ['parrot';'ResizablePMCArray']
-  vivify_348:
-    set $P1530, $P1529[0]
-    unless_null $P1530, vivify_349
-    new $P1530, "Undef"
-  vivify_349:
-    concat $P1531, $P1528, $P1530
-    store_lex "$str", $P1531
-    set $P1509, $P1531
-.annotate 'line', 456
-    goto if_1510_end
-  if_1510:
-    .const 'Sub' $P1514 = "87_1279589166.57432" 
-    capture_lex $P1514
-    $P1527 = $P1514()
-    set $P1509, $P1527
-  if_1510_end:
+    find_lex $P1522, "$_"
+    unless_null $P1522, vivify_352
+    $P1522 = root_new ['parrot';'ResizablePMCArray']
+  vivify_352:
+    set $P1523, $P1522[1]
+    unless_null $P1523, vivify_353
+    new $P1523, "Undef"
+  vivify_353:
+    if $P1523, if_1521
+.annotate 'line', 477
+    find_lex $P1539, "$str"
+    find_lex $P1540, "$_"
+    unless_null $P1540, vivify_354
+    $P1540 = root_new ['parrot';'ResizablePMCArray']
+  vivify_354:
+    set $P1541, $P1540[0]
+    unless_null $P1541, vivify_355
+    new $P1541, "Undef"
+  vivify_355:
+    concat $P1542, $P1539, $P1541
+    store_lex "$str", $P1542
+    set $P1520, $P1542
 .annotate 'line', 455
-    .return ($P1509)
+    goto if_1521_end
+  if_1521:
+    .const 'Sub' $P1525 = "87_1280467473.99327" 
+    capture_lex $P1525
+    $P1538 = $P1525()
+    set $P1520, $P1538
+  if_1521_end:
+.annotate 'line', 454
+    .return ($P1520)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1513"  :anon :subid("87_1279589166.57432") :outer("86_1279589166.57432")
+.sub "_block1524"  :anon :subid("87_1280467473.99327") :outer("86_1280467473.99327")
+.annotate 'line', 456
+    new $P1526, "Undef"
+    .lex "$a", $P1526
 .annotate 'line', 457
-    new $P1515, "Undef"
-    .lex "$a", $P1515
+    new $P1527, "Undef"
+    .lex "$b", $P1527
 .annotate 'line', 458
-    new $P1516, "Undef"
-    .lex "$b", $P1516
-.annotate 'line', 459
-    new $P1517, "Undef"
-    .lex "$c", $P1517
+    new $P1528, "Undef"
+    .lex "$c", $P1528
+.annotate 'line', 456
+    find_lex $P1529, "$_"
+    unless_null $P1529, vivify_356
+    $P1529 = root_new ['parrot';'ResizablePMCArray']
+  vivify_356:
+    set $P1530, $P1529[0]
+    unless_null $P1530, vivify_357
+    new $P1530, "Undef"
+  vivify_357:
+    store_lex "$a", $P1530
 .annotate 'line', 457
-    find_lex $P1518, "$_"
-    unless_null $P1518, vivify_350
-    $P1518 = root_new ['parrot';'ResizablePMCArray']
-  vivify_350:
-    set $P1519, $P1518[0]
-    unless_null $P1519, vivify_351
-    new $P1519, "Undef"
-  vivify_351:
-    store_lex "$a", $P1519
+    find_lex $P1531, "$_"
+    unless_null $P1531, vivify_358
+    $P1531 = root_new ['parrot';'ResizablePMCArray']
+  vivify_358:
+    set $P1532, $P1531[1]
+    unless_null $P1532, vivify_359
+    $P1532 = root_new ['parrot';'ResizablePMCArray']
+  vivify_359:
+    set $P1533, $P1532[0]
+    unless_null $P1533, vivify_360
+    new $P1533, "Undef"
+  vivify_360:
+    store_lex "$b", $P1533
 .annotate 'line', 458
-    find_lex $P1520, "$_"
-    unless_null $P1520, vivify_352
-    $P1520 = root_new ['parrot';'ResizablePMCArray']
-  vivify_352:
-    set $P1521, $P1520[1]
-    unless_null $P1521, vivify_353
-    $P1521 = root_new ['parrot';'ResizablePMCArray']
-  vivify_353:
-    set $P1522, $P1521[0]
-    unless_null $P1522, vivify_354
-    new $P1522, "Undef"
-  vivify_354:
-    store_lex "$b", $P1522
-.annotate 'line', 459
 
                              $P0 = find_lex '$a'
                              $S0 = $P0
@@ -12320,255 +12351,255 @@
                              inc $I0
                              goto cclass_loop
                            cclass_done:
-                             $P1523 = box $S2
+                             $P1534 = box $S2
                          
-    store_lex "$c", $P1523
-.annotate 'line', 476
-    find_lex $P1524, "$str"
-    find_lex $P1525, "$c"
-    concat $P1526, $P1524, $P1525
-    store_lex "$str", $P1526
-.annotate 'line', 456
-    .return ($P1526)
+    store_lex "$c", $P1534
+.annotate 'line', 475
+    find_lex $P1535, "$str"
+    find_lex $P1536, "$c"
+    concat $P1537, $P1535, $P1536
+    store_lex "$str", $P1537
+.annotate 'line', 455
+    .return ($P1537)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1490"  :anon :subid("85_1279589166.57432") :outer("84_1279589166.57432")
-.annotate 'line', 452
-    new $P1492, "Undef"
-    .lex "$name", $P1492
-    find_lex $P1493, "$/"
-    unless_null $P1493, vivify_355
-    $P1493 = root_new ['parrot';'Hash']
-  vivify_355:
-    set $P1494, $P1493["name"]
-    unless_null $P1494, vivify_356
-    new $P1494, "Undef"
-  vivify_356:
-    set $S1495, $P1494
-    new $P1496, 'String'
-    set $P1496, $S1495
-    store_lex "$name", $P1496
-.annotate 'line', 453
-    get_hll_global $P1497, ["PAST"], "Regex"
-    find_lex $P1498, "$name"
-    find_lex $P1499, "$/"
-    $P1500 = $P1497."new"($P1498, "subrule" :named("pasttype"), "method" :named("subtype"), $P1499 :named("node"))
-    store_lex "$past", $P1500
+.sub "_block1501"  :anon :subid("85_1280467473.99327") :outer("84_1280467473.99327")
 .annotate 'line', 451
-    .return ($P1500)
+    new $P1503, "Undef"
+    .lex "$name", $P1503
+    find_lex $P1504, "$/"
+    unless_null $P1504, vivify_361
+    $P1504 = root_new ['parrot';'Hash']
+  vivify_361:
+    set $P1505, $P1504["name"]
+    unless_null $P1505, vivify_362
+    new $P1505, "Undef"
+  vivify_362:
+    set $S1506, $P1505
+    new $P1507, 'String'
+    set $P1507, $S1506
+    store_lex "$name", $P1507
+.annotate 'line', 452
+    get_hll_global $P1508, ["PAST"], "Regex"
+    find_lex $P1509, "$name"
+    find_lex $P1510, "$/"
+    $P1511 = $P1508."new"($P1509, "subrule" :named("pasttype"), "method" :named("subtype"), $P1510 :named("node"))
+    store_lex "$past", $P1511
+.annotate 'line', 450
+    .return ($P1511)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "mod_internal"  :subid("88_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1551
-.annotate 'line', 486
-    new $P1550, 'ExceptionHandler'
-    set_addr $P1550, control_1549
-    $P1550."handle_types"(.CONTROL_RETURN)
-    push_eh $P1550
+.sub "mod_internal"  :subid("88_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1562
+.annotate 'line', 485
+    new $P1561, 'ExceptionHandler'
+    set_addr $P1561, control_1560
+    $P1561."handle_types"(.CONTROL_RETURN)
+    push_eh $P1561
     .lex "self", self
-    .lex "$/", param_1551
-.annotate 'line', 487
-    $P1552 = root_new ['parrot';'Hash']
-    .lex "%mods", $P1552
-.annotate 'line', 488
-    new $P1553, "Undef"
-    .lex "$n", $P1553
-.annotate 'line', 487
-    get_global $P1554, "@MODIFIERS"
-    unless_null $P1554, vivify_359
-    $P1554 = root_new ['parrot';'ResizablePMCArray']
-  vivify_359:
-    set $P1555, $P1554[0]
-    unless_null $P1555, vivify_360
-    new $P1555, "Undef"
-  vivify_360:
-    store_lex "%mods", $P1555
-.annotate 'line', 488
-    find_lex $P1558, "$/"
-    unless_null $P1558, vivify_361
-    $P1558 = root_new ['parrot';'Hash']
-  vivify_361:
-    set $P1559, $P1558["n"]
-    unless_null $P1559, vivify_362
-    $P1559 = root_new ['parrot';'ResizablePMCArray']
-  vivify_362:
-    set $P1560, $P1559[0]
-    unless_null $P1560, vivify_363
-    new $P1560, "Undef"
-  vivify_363:
-    set $S1561, $P1560
-    isgt $I1562, $S1561, ""
-    if $I1562, if_1557
-    new $P1567, "Integer"
-    assign $P1567, 1
-    set $P1556, $P1567
-    goto if_1557_end
-  if_1557:
-    find_lex $P1563, "$/"
-    unless_null $P1563, vivify_364
+    .lex "$/", param_1562
+.annotate 'line', 486
     $P1563 = root_new ['parrot';'Hash']
-  vivify_364:
-    set $P1564, $P1563["n"]
-    unless_null $P1564, vivify_365
-    $P1564 = root_new ['parrot';'ResizablePMCArray']
+    .lex "%mods", $P1563
+.annotate 'line', 487
+    new $P1564, "Undef"
+    .lex "$n", $P1564
+.annotate 'line', 486
+    get_global $P1565, "@MODIFIERS"
+    unless_null $P1565, vivify_365
+    $P1565 = root_new ['parrot';'ResizablePMCArray']
   vivify_365:
-    set $P1565, $P1564[0]
-    unless_null $P1565, vivify_366
-    new $P1565, "Undef"
+    set $P1566, $P1565[0]
+    unless_null $P1566, vivify_366
+    new $P1566, "Undef"
   vivify_366:
-    set $N1566, $P1565
-    new $P1556, 'Float'
-    set $P1556, $N1566
-  if_1557_end:
-    store_lex "$n", $P1556
-.annotate 'line', 489
-    find_lex $P1568, "$n"
+    store_lex "%mods", $P1566
+.annotate 'line', 487
     find_lex $P1569, "$/"
     unless_null $P1569, vivify_367
     $P1569 = root_new ['parrot';'Hash']
   vivify_367:
-    set $P1570, $P1569["mod_ident"]
+    set $P1570, $P1569["n"]
     unless_null $P1570, vivify_368
-    $P1570 = root_new ['parrot';'Hash']
+    $P1570 = root_new ['parrot';'ResizablePMCArray']
   vivify_368:
-    set $P1571, $P1570["sym"]
+    set $P1571, $P1570[0]
     unless_null $P1571, vivify_369
     new $P1571, "Undef"
   vivify_369:
     set $S1572, $P1571
-    find_lex $P1573, "%mods"
-    unless_null $P1573, vivify_370
-    $P1573 = root_new ['parrot';'Hash']
-    store_lex "%mods", $P1573
-  vivify_370:
-    set $P1573[$S1572], $P1568
-.annotate 'line', 490
+    isgt $I1573, $S1572, ""
+    if $I1573, if_1568
+    new $P1578, "Integer"
+    assign $P1578, 1
+    set $P1567, $P1578
+    goto if_1568_end
+  if_1568:
     find_lex $P1574, "$/"
-    $P1575 = $P1574."!make"(0)
-.annotate 'line', 486
-    .return ($P1575)
-  control_1549:
+    unless_null $P1574, vivify_370
+    $P1574 = root_new ['parrot';'Hash']
+  vivify_370:
+    set $P1575, $P1574["n"]
+    unless_null $P1575, vivify_371
+    $P1575 = root_new ['parrot';'ResizablePMCArray']
+  vivify_371:
+    set $P1576, $P1575[0]
+    unless_null $P1576, vivify_372
+    new $P1576, "Undef"
+  vivify_372:
+    set $N1577, $P1576
+    new $P1567, 'Float'
+    set $P1567, $N1577
+  if_1568_end:
+    store_lex "$n", $P1567
+.annotate 'line', 488
+    find_lex $P1579, "$n"
+    find_lex $P1580, "$/"
+    unless_null $P1580, vivify_373
+    $P1580 = root_new ['parrot';'Hash']
+  vivify_373:
+    set $P1581, $P1580["mod_ident"]
+    unless_null $P1581, vivify_374
+    $P1581 = root_new ['parrot';'Hash']
+  vivify_374:
+    set $P1582, $P1581["sym"]
+    unless_null $P1582, vivify_375
+    new $P1582, "Undef"
+  vivify_375:
+    set $S1583, $P1582
+    find_lex $P1584, "%mods"
+    unless_null $P1584, vivify_376
+    $P1584 = root_new ['parrot';'Hash']
+    store_lex "%mods", $P1584
+  vivify_376:
+    set $P1584[$S1583], $P1579
+.annotate 'line', 489
+    find_lex $P1585, "$/"
+    $P1586 = $P1585."!make"(0)
+.annotate 'line', 485
+    .return ($P1586)
+  control_1560:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1576, exception, "payload"
-    .return ($P1576)
+    getattribute $P1587, exception, "payload"
+    .return ($P1587)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "subrule_alias"  :subid("89_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1583
-    .param pmc param_1584
-.annotate 'line', 584
-    new $P1582, 'ExceptionHandler'
-    set_addr $P1582, control_1581
-    $P1582."handle_types"(.CONTROL_RETURN)
-    push_eh $P1582
+.sub "subrule_alias"  :subid("89_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1594
+    .param pmc param_1595
+.annotate 'line', 583
+    new $P1593, 'ExceptionHandler'
+    set_addr $P1593, control_1592
+    $P1593."handle_types"(.CONTROL_RETURN)
+    push_eh $P1593
     .lex "self", self
-    .lex "$past", param_1583
-    .lex "$name", param_1584
-.annotate 'line', 585
-    find_lex $P1586, "$past"
-    $S1587 = $P1586."name"()
-    isgt $I1588, $S1587, ""
-    if $I1588, if_1585
-.annotate 'line', 586
-    find_lex $P1595, "$past"
-    find_lex $P1596, "$name"
-    $P1595."name"($P1596)
-    goto if_1585_end
-  if_1585:
-.annotate 'line', 585
-    find_lex $P1589, "$past"
-    find_lex $P1590, "$name"
-    concat $P1591, $P1590, "="
-    find_lex $P1592, "$past"
-    $S1593 = $P1592."name"()
-    concat $P1594, $P1591, $S1593
-    $P1589."name"($P1594)
-  if_1585_end:
-.annotate 'line', 587
+    .lex "$past", param_1594
+    .lex "$name", param_1595
+.annotate 'line', 584
     find_lex $P1597, "$past"
-    $P1598 = $P1597."subtype"("capture")
+    $S1598 = $P1597."name"()
+    isgt $I1599, $S1598, ""
+    if $I1599, if_1596
+.annotate 'line', 585
+    find_lex $P1606, "$past"
+    find_lex $P1607, "$name"
+    $P1606."name"($P1607)
+    goto if_1596_end
+  if_1596:
 .annotate 'line', 584
-    .return ($P1598)
-  control_1581:
+    find_lex $P1600, "$past"
+    find_lex $P1601, "$name"
+    concat $P1602, $P1601, "="
+    find_lex $P1603, "$past"
+    $S1604 = $P1603."name"()
+    concat $P1605, $P1602, $S1604
+    $P1600."name"($P1605)
+  if_1596_end:
+.annotate 'line', 586
+    find_lex $P1608, "$past"
+    $P1609 = $P1608."subtype"("capture")
+.annotate 'line', 583
+    .return ($P1609)
+  control_1592:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1599, exception, "payload"
-    .return ($P1599)
+    getattribute $P1610, exception, "payload"
+    .return ($P1610)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
 .include "except_types.pasm"
-.sub "named_assertion"  :subid("90_1279589166.57432") :method :outer("11_1279589166.57432")
-    .param pmc param_1603
-.annotate 'line', 590
-    new $P1602, 'ExceptionHandler'
-    set_addr $P1602, control_1601
-    $P1602."handle_types"(.CONTROL_RETURN)
-    push_eh $P1602
+.sub "named_assertion"  :subid("90_1280467473.99327") :method :outer("11_1280467473.99327")
+    .param pmc param_1614
+.annotate 'line', 589
+    new $P1613, 'ExceptionHandler'
+    set_addr $P1613, control_1612
+    $P1613."handle_types"(.CONTROL_RETURN)
+    push_eh $P1613
     .lex "self", self
-    .lex "$/", param_1603
-.annotate 'line', 591
-    new $P1604, "Undef"
-    .lex "$name", $P1604
-.annotate 'line', 592
-    new $P1605, "Undef"
-    .lex "$past", $P1605
+    .lex "$/", param_1614
+.annotate 'line', 590
+    new $P1615, "Undef"
+    .lex "$name", $P1615
 .annotate 'line', 591
-    find_lex $P1606, "$/"
-    unless_null $P1606, vivify_371
-    $P1606 = root_new ['parrot';'Hash']
-  vivify_371:
-    set $P1607, $P1606["longname"]
-    unless_null $P1607, vivify_372
-    new $P1607, "Undef"
-  vivify_372:
-    set $S1608, $P1607
-    new $P1609, 'String'
-    set $P1609, $S1608
-    store_lex "$name", $P1609
-.annotate 'line', 592
-    get_hll_global $P1610, ["PAST"], "Regex"
-    find_lex $P1611, "$name"
-    find_lex $P1612, "$name"
-    find_lex $P1613, "$/"
-    $P1614 = $P1610."new"($P1611, $P1612 :named("name"), "subrule" :named("pasttype"), "capture" :named("subtype"), $P1613 :named("node"))
-    store_lex "$past", $P1614
-    find_lex $P1615, "$past"
+    new $P1616, "Undef"
+    .lex "$past", $P1616
 .annotate 'line', 590
-    .return ($P1615)
-  control_1601:
+    find_lex $P1617, "$/"
+    unless_null $P1617, vivify_377
+    $P1617 = root_new ['parrot';'Hash']
+  vivify_377:
+    set $P1618, $P1617["longname"]
+    unless_null $P1618, vivify_378
+    new $P1618, "Undef"
+  vivify_378:
+    set $S1619, $P1618
+    new $P1620, 'String'
+    set $P1620, $S1619
+    store_lex "$name", $P1620
+.annotate 'line', 591
+    get_hll_global $P1621, ["PAST"], "Regex"
+    find_lex $P1622, "$name"
+    find_lex $P1623, "$name"
+    find_lex $P1624, "$/"
+    $P1625 = $P1621."new"($P1622, $P1623 :named("name"), "subrule" :named("pasttype"), "capture" :named("subtype"), $P1624 :named("node"))
+    store_lex "$past", $P1625
+    find_lex $P1626, "$past"
+.annotate 'line', 589
+    .return ($P1626)
+  control_1612:
     .local pmc exception 
     .get_results (exception) 
-    getattribute $P1616, exception, "payload"
-    .return ($P1616)
+    getattribute $P1627, exception, "payload"
+    .return ($P1627)
 .end
 
 
 .namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1618" :load :anon :subid("91_1279589166.57432")
+.sub "_block1629" :load :anon :subid("91_1280467473.99327")
 .annotate 'line', 4
-    .const 'Sub' $P1620 = "11_1279589166.57432" 
-    $P1621 = $P1620()
-    .return ($P1621)
+    .const 'Sub' $P1631 = "11_1280467473.99327" 
+    $P1632 = $P1631()
+    .return ($P1632)
 .end
 
 
 .namespace []
-.sub "_block1624" :load :anon :subid("92_1279589166.57432")
+.sub "_block1635" :load :anon :subid("92_1280467473.99327")
 .annotate 'line', 1
-    .const 'Sub' $P1626 = "10_1279589166.57432" 
-    $P1627 = $P1626()
-    .return ($P1627)
+    .const 'Sub' $P1637 = "10_1280467473.99327" 
+    $P1638 = $P1637()
+    .return ($P1638)
 .end
 
 # .include 'src/cheats/p6regex-grammar.pir'

Modified: branches/html_cleanup/ext/nqp-rx/src/stage0/Regex-s0.pir
==============================================================================
--- branches/html_cleanup/ext/nqp-rx/src/stage0/Regex-s0.pir	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/ext/nqp-rx/src/stage0/Regex-s0.pir	Tue Aug  3 22:29:26 2010	(r48299)
@@ -135,6 +135,7 @@
   caparray_int:
     $I0 = subname
     match[$I0] = arr
+    goto caparray_loop
   caparray_done:
 
     # If it's not a successful match, or if there are
@@ -2984,8 +2985,10 @@
     .param string backtrack
     .param int min
     .param int max
+    .param pmc sep
 
     if backtrack != 'r' goto pessimistic
+    if sep goto pessimistic
 
     .local string subtype
     .local int cclass, negate
@@ -3290,7 +3293,9 @@
     backtrack = 'g'
   have_backtrack:
 
+     .local pmc sep
      .local int min, max
+     sep = node.'sep'()
      min = node.'min'()
      $P0 = node.'max'()
      max = $P0
@@ -3308,7 +3313,7 @@
      $S0 = concat $S0, '_q'
      $I0 = can self, $S0
      unless $I0 goto optimize_done
-     $P0 = self.$S0(cpast, backtrack, min, max)
+     $P0 = self.$S0(cpast, backtrack, min, max, sep)
      if null $P0 goto optimize_done
      .return ($P0)
   optimize_done:

Modified: branches/html_cleanup/include/parrot/call.h
==============================================================================
--- branches/html_cleanup/include/parrot/call.h	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/include/parrot/call.h	Tue Aug  3 22:29:26 2010	(r48299)
@@ -87,18 +87,6 @@
         __attribute__nonnull__(2)
         __attribute__nonnull__(3);
 
-PARROT_EXPORT
-void Parrot_PCCINVOKE(PARROT_INTERP,
-    ARGIN(PMC* pmc),
-    ARGMOD(STRING *method_name),
-    ARGIN(const char *signature),
-    ...)
-        __attribute__nonnull__(1)
-        __attribute__nonnull__(2)
-        __attribute__nonnull__(3)
-        __attribute__nonnull__(4)
-        FUNC_MODIFIES(*method_name);
-
 #define ASSERT_ARGS_Parrot_pcc_do_run_ops __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(sub_obj))
@@ -118,11 +106,6 @@
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(sub_obj) \
     , PARROT_ASSERT_ARG(sig))
-#define ASSERT_ARGS_Parrot_PCCINVOKE __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(pmc) \
-    , PARROT_ASSERT_ARG(method_name) \
-    , PARROT_ASSERT_ARG(signature))
 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
 /* HEADERIZER END: src/call/pcc.c */
 
@@ -324,7 +307,7 @@
     ||  *(pc) == PARROT_OP_get_results_pc    \
     ||  *(pc) == PARROT_OP_get_params_pc     \
     ||  *(pc) == PARROT_OP_set_returns_pc) { \
-        PMC * const sig = (seg)->const_table->constants[(pc)[1]]->u.key; \
+        PMC * const sig = (seg)->const_table->constants[(pc)[1]].u.key; \
         (n) += VTABLE_elements((interp), sig); \
     } \
 } while (0)

Modified: branches/html_cleanup/include/parrot/context.h
==============================================================================
--- branches/html_cleanup/include/parrot/context.h	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/include/parrot/context.h	Tue Aug  3 22:29:26 2010	(r48299)
@@ -105,7 +105,7 @@
 PARROT_EXPORT
 PARROT_CANNOT_RETURN_NULL
 PARROT_PURE_FUNCTION
-struct PackFile_Constant ** Parrot_pcc_get_constants_func(SHIM_INTERP,
+struct PackFile_Constant * Parrot_pcc_get_constants_func(SHIM_INTERP,
     ARGIN(PMC *ctx))
         __attribute__nonnull__(2);
 
@@ -220,7 +220,7 @@
 PARROT_CAN_RETURN_NULL
 void Parrot_pcc_set_constants_func(SHIM_INTERP,
     ARGIN(PMC *ctx),
-    ARGIN_NULLOK(struct PackFile_Constant **constants))
+    ARGIN_NULLOK(struct PackFile_Constant *constants))
         __attribute__nonnull__(2);
 
 PARROT_EXPORT
@@ -452,10 +452,10 @@
 #  define Parrot_pcc_get_signature(i, c) (CONTEXT_STRUCT(c)->current_sig)
 #  define Parrot_pcc_set_signature(i, c, value) (CONTEXT_STRUCT(c)->current_sig = (value))
 
-#  define Parrot_pcc_get_int_constant(i, c, idx) (CONTEXT_STRUCT(c)->constants[(idx)]->u.integer)
-#  define Parrot_pcc_get_num_constant(i, c, idx) (CONTEXT_STRUCT(c)->constants[(idx)]->u.number)
-#  define Parrot_pcc_get_string_constant(i, c, idx) (CONTEXT_STRUCT(c)->constants[(idx)]->u.string)
-#  define Parrot_pcc_get_pmc_constant(i, c, idx) (CONTEXT_STRUCT(c)->constants[(idx)]->u.key)
+#  define Parrot_pcc_get_int_constant(i, c, idx) (CONTEXT_STRUCT(c)->constants[(idx)].u.integer)
+#  define Parrot_pcc_get_num_constant(i, c, idx) (CONTEXT_STRUCT(c)->constants[(idx)].u.number)
+#  define Parrot_pcc_get_string_constant(i, c, idx) (CONTEXT_STRUCT(c)->constants[(idx)].u.string)
+#  define Parrot_pcc_get_pmc_constant(i, c, idx) (CONTEXT_STRUCT(c)->constants[(idx)].u.key)
 
 #  define Parrot_pcc_get_recursion_depth(i, c) (CONTEXT_STRUCT(c)->recursion_depth)
 #  define Parrot_pcc_dec_recursion_depth(i, c) (--CONTEXT_STRUCT(c)->recursion_depth)

Modified: branches/html_cleanup/include/parrot/packfile.h
==============================================================================
--- branches/html_cleanup/include/parrot/packfile.h	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/include/parrot/packfile.h	Tue Aug  3 22:29:26 2010	(r48299)
@@ -261,7 +261,7 @@
 typedef struct PackFile_ConstTable {
     PackFile_Segment           base;
     opcode_t                   const_count;
-    PackFile_Constant        **constants;
+    PackFile_Constant         *constants;
     PackFile_ByteCode         *code;  /* where this segment belongs to */
 
     PMC                       *string_hash; /* Hash for lookup strings and numbers */
@@ -514,18 +514,6 @@
         __attribute__nonnull__(1);
 
 PARROT_EXPORT
-void PackFile_Constant_destroy(PARROT_INTERP,
-    ARGMOD_NULLOK(PackFile_Constant *self))
-        __attribute__nonnull__(1)
-        FUNC_MODIFIES(*self);
-
-PARROT_EXPORT
-PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
-PackFile_Constant * PackFile_Constant_new(PARROT_INTERP)
-        __attribute__nonnull__(1);
-
-PARROT_EXPORT
 PARROT_WARN_UNUSED_RESULT
 size_t PackFile_Constant_pack_size(PARROT_INTERP,
     ARGIN(const PackFile_Constant *self),
@@ -880,10 +868,6 @@
     , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_PackFile_Annotations_new __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_PackFile_Constant_destroy __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_PackFile_Constant_new __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_PackFile_Constant_pack_size __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(self) \
@@ -1064,9 +1048,8 @@
         __attribute__nonnull__(3);
 
 PARROT_WARN_UNUSED_RESULT
-INTVAL PF_fetch_integer(
-    ARGIN_NULLOK(PackFile *pf),
-    ARGIN(const opcode_t **stream))
+INTVAL PF_fetch_integer(ARGIN(PackFile *pf), ARGIN(const opcode_t **stream))
+        __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 
 PARROT_WARN_UNUSED_RESULT
@@ -1154,7 +1137,8 @@
     , PARROT_ASSERT_ARG(pf) \
     , PARROT_ASSERT_ARG(cursor))
 #define ASSERT_ARGS_PF_fetch_integer __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(stream))
+       PARROT_ASSERT_ARG(pf) \
+    , PARROT_ASSERT_ARG(stream))
 #define ASSERT_ARGS_PF_fetch_number __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(stream))
 #define ASSERT_ARGS_PF_fetch_opcode __attribute__unused__ int _ASSERT_ARGS_CHECK = (\

Modified: branches/html_cleanup/include/parrot/pmc_freeze.h
==============================================================================
--- branches/html_cleanup/include/parrot/pmc_freeze.h	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/include/parrot/pmc_freeze.h	Tue Aug  3 22:29:26 2010	(r48299)
@@ -155,7 +155,7 @@
 PARROT_EXPORT
 PARROT_WARN_UNUSED_RESULT
 PARROT_CANNOT_RETURN_NULL
-PMC* Parrot_thaw(PARROT_INTERP, ARGIN(STRING *image))
+PMC * Parrot_thaw(PARROT_INTERP, ARGIN(STRING *image))
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
 

Modified: branches/html_cleanup/lib/Parrot/Manifest.pm
==============================================================================
--- branches/html_cleanup/lib/Parrot/Manifest.pm	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/lib/Parrot/Manifest.pm	Tue Aug  3 22:29:26 2010	(r48299)
@@ -275,10 +275,11 @@
         src/vtable.tbl                                  [devel]src
         tools/build/ops2c.pl                            [devel]
         tools/build/pmc2c.pl                            [devel]
-        tools/dev/mk_language_shell.pl                  [devel]
         tools/dev/create_language.pl                    [devel]
-        tools/dev/pbc_to_exe.pir                        [devel]
         tools/dev/gen_makefile.pl                       [devel]
+        tools/dev/mk_language_shell.pl                  [devel]
+        tools/dev/pbc_to_exe.pir                        [devel]
+        tools/dev/pprof2cg.pl                           [devel]
         tools/dev/reconfigure.pl                        [devel]
     );
 

Modified: branches/html_cleanup/lib/Parrot/Pmc2c/PMC/Object.pm
==============================================================================
--- branches/html_cleanup/lib/Parrot/Pmc2c/PMC/Object.pm	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/lib/Parrot/Pmc2c/PMC/Object.pm	Tue Aug  3 22:29:26 2010	(r48299)
@@ -70,7 +70,7 @@
 EOC
         $method_body_text .= "            $pcc_result_decl\n" if $pcc_result_decl ne '';
         $method_body_text .= <<"EOC";
-            Parrot_pcc_invoke_sub_from_c_args(interp, meth, "Pi$pcc_sig", _self$pcc_args);
+            Parrot_ext_call(interp, meth, "Pi$pcc_sig", _self$pcc_args);
             $pcc_return_stmt
         }
 EOC

Modified: branches/html_cleanup/lib/Parrot/Pmc2c/PMCEmitter.pm
==============================================================================
--- branches/html_cleanup/lib/Parrot/Pmc2c/PMCEmitter.pm	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/lib/Parrot/Pmc2c/PMCEmitter.pm	Tue Aug  3 22:29:26 2010	(r48299)
@@ -139,8 +139,8 @@
     }
     $h->emit("${export}VTABLE* Parrot_${name}_get_vtable(PARROT_INTERP);\n");
     $h->emit("${export}VTABLE* Parrot_${name}_ro_get_vtable(PARROT_INTERP);\n");
-    $h->emit("${export}PMC*    Parrot_${name}_get_mro(PARROT_INTERP, PMC* mro);\n");
-    $h->emit("${export}Hash*   Parrot_${name}_get_isa(PARROT_INTERP, Hash* isa);\n");
+    $h->emit("${export}PMC*    Parrot_${name}_get_mro(PARROT_INTERP, ARGIN_NULLOK(PMC* mro));\n");
+    $h->emit("${export}Hash*   Parrot_${name}_get_isa(PARROT_INTERP, ARGIN_NULLOK(Hash* isa));\n");
 
 
     $self->gen_attributes;
@@ -822,7 +822,7 @@
 $export
 PARROT_CANNOT_RETURN_NULL
 PARROT_WARN_UNUSED_RESULT
-PMC* Parrot_${classname}_get_mro(PARROT_INTERP, PMC* mro) {
+PMC* Parrot_${classname}_get_mro(PARROT_INTERP, ARGIN_NULLOK(PMC* mro)) {
     if (PMC_IS_NULL(mro)) {
         mro = Parrot_pmc_new(interp, enum_class_ResizableStringArray);
     }
@@ -863,7 +863,7 @@
 $export
 PARROT_CANNOT_RETURN_NULL
 PARROT_WARN_UNUSED_RESULT
-Hash* Parrot_${classname}_get_isa(PARROT_INTERP, Hash* isa) {
+Hash* Parrot_${classname}_get_isa(PARROT_INTERP, ARGIN_NULLOK(Hash* isa)) {
 EOC
 
     if ($get_isa ne '') {

Modified: branches/html_cleanup/ports/debian/changelog
==============================================================================
--- branches/html_cleanup/ports/debian/changelog	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/ports/debian/changelog	Tue Aug  3 22:29:26 2010	(r48299)
@@ -1,3 +1,17 @@
+parrot (2.6.0-1) unstable; urgency=low
+  * New upstream release
+  * debian/parrot-devel.install.in:
+    - Applied patch from Matt Kraai to install new NQP supporting
+      libraries and install new Opcode generation tool ops2c and
+      supporting library opsc.pbc.
+  * debian/patches:
+    - Added 04_fix_opsc_man.patch, added README for new ops2c
+      binary.
+  * debian/rules:
+    - Generate manpage from the ops2c README file.
+
+ -- Allison Randal <allison at parrot.org>  Sat, 31 Jul 2010 18:32:07 +0100
+
 parrot (2.3.0-1) unstable; urgency=low
   * New upstream release
   * debian/patches:

Modified: branches/html_cleanup/ports/debian/control
==============================================================================
--- branches/html_cleanup/ports/debian/control	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/ports/debian/control	Tue Aug  3 22:29:26 2010	(r48299)
@@ -3,8 +3,8 @@
 Priority: optional
 Maintainer: Debian Parrot Maintainers <pkg-parrot-devel at lists.alioth.debian.org>
 Uploaders: Allison Randal <allison at parrot.org>, Nuno Carvalho <mestre.smash at gmail.com>, Patrick Michaud <pmichaud at pobox.com>
-Build-Depends: debhelper (>= 5.0.0), perl, perl-doc, libgdbm-dev, libreadline-dev, quilt
-Standards-Version: 3.8.4
+Build-Depends: debhelper (>= 5.0.0), perl, perl-doc, libreadline-dev, quilt
+Standards-Version: 3.9.1
 
 Package: parrot
 Architecture: any
@@ -26,7 +26,7 @@
  to get up and running in the average use case, and is sufficient to run most
  language implementations.
 
-Package: libparrot2.0.0
+Package: libparrot2.6.0
 Architecture: any
 Section: libs
 Depends: ${shlibs:Depends}, ${misc:Depends}
@@ -37,7 +37,7 @@
 Package: libparrot-dev
 Architecture: any
 Section: libdevel
-Depends: ${misc:Depends}, libparrot2.0.0 (= ${binary:Version}), parrot
+Depends: ${misc:Depends}, libparrot2.6.0 (= ${binary:Version}), parrot
 Description: Parrot shared library development files
  This package contains header files and a static library, needed to develop
  applications which embed Parrot.

Modified: branches/html_cleanup/ports/debian/control.in
==============================================================================
--- branches/html_cleanup/ports/debian/control.in	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/ports/debian/control.in	Tue Aug  3 22:29:26 2010	(r48299)
@@ -4,7 +4,7 @@
 Maintainer: Debian Parrot Maintainers <pkg-parrot-devel at lists.alioth.debian.org>
 Uploaders: Allison Randal <allison at parrot.org>, Nuno Carvalho <mestre.smash at gmail.com>, Patrick Michaud <pmichaud at pobox.com>
 Build-Depends: debhelper (>= 5.0.0), perl, perl-doc, libreadline-dev, quilt
-Standards-Version: 3.8.4
+Standards-Version: 3.9.1
 
 Package: parrot
 Architecture: any

Modified: branches/html_cleanup/ports/debian/parrot-devel.install.in
==============================================================================
--- branches/html_cleanup/ports/debian/parrot-devel.install.in	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/ports/debian/parrot-devel.install.in	Tue Aug  3 22:29:26 2010	(r48299)
@@ -1,3 +1,4 @@
+usr/bin/ops2c
 usr/bin/parrot_debugger
 usr/bin/pbc_disassemble
 usr/bin/pbc_dump
@@ -6,7 +7,6 @@
 usr/bin/parrot_config
 usr/bin/parrot-nqp
 usr/lib/parrot/@VERSION@/tools/*
-usr/lib/parrot/@VERSION@/languages/nqp/*
 usr/lib/parrot/@VERSION@/languages/pct/*
 usr/lib/parrot/@VERSION@/library/HLL.pbc
 usr/lib/parrot/@VERSION@/library/Regex.pbc
@@ -18,6 +18,8 @@
 usr/lib/parrot/@VERSION@/library/Parrot/Exception.pbc
 usr/lib/parrot/@VERSION@/library/config.pir
 usr/lib/parrot/@VERSION@/library/config.pbc
+usr/lib/parrot/@VERSION@/library/nqp-setting.pbc
+usr/lib/parrot/@VERSION@/library/opsc.pbc
 usr/lib/parrot/@VERSION@/languages/pge/*
 usr/lib/parrot/@VERSION@/library/PGE.pbc
 usr/lib/parrot/@VERSION@/library/PGE/*

Copied: branches/html_cleanup/ports/debian/patches/04_fix_opsc_man.patch (from r48297, trunk/ports/debian/patches/04_fix_opsc_man.patch)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/html_cleanup/ports/debian/patches/04_fix_opsc_man.patch	Tue Aug  3 22:29:26 2010	(r48299, copy of r48297, trunk/ports/debian/patches/04_fix_opsc_man.patch)
@@ -0,0 +1,50 @@
+--- parrot-2.6.0.orig/compilers/opsc/README.pod	(revision 0)
++++ parrot-2.6.0/compilers/opsc/README.pod	(revision 0)
+@@ -0,0 +1,47 @@
++# Copyright (C) 2010, Parrot Foundation.
++# $Id: $
++
++=head1 NAME
++
++opsc - An opcode compiler for Parrot
++
++=head1 DESCRIPTION
++
++Ops-to-C is a compiler to generate opcode definition files in C from
++Parrot's opcode definition language.
++
++=head1 SYNOPSIS
++
++ opsc [-options] <file>
++
++=head1 OPTIONS
++
++=over 4
++
++=item -c, --core
++
++Generate C code for core ops (for use only in building the Parrot VM)
++
++=item -d, --dynamic
++
++Generate C code for dynamic ops in a single file.
++
++=item -q, --quiet
++
++Only report error messages, other messages are silent.
++
++=item -h, --help
++
++Print usage information.
++
++=item -n, --no-lines
++
++Do not print #line directives in generated C code.
++
++=item -g, --debug
++
++Perform all processing but do not write to any files.
++
++=back
++
++=cut

Modified: branches/html_cleanup/ports/debian/patches/series
==============================================================================
--- branches/html_cleanup/ports/debian/patches/series	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/ports/debian/patches/series	Tue Aug  3 22:29:26 2010	(r48299)
@@ -1 +1,2 @@
 03_fix_nqp_man.patch
+04_fix_opsc_man.patch

Modified: branches/html_cleanup/ports/debian/rules
==============================================================================
--- branches/html_cleanup/ports/debian/rules	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/ports/debian/rules	Tue Aug  3 22:29:26 2010	(r48299)
@@ -49,6 +49,7 @@
 	pod2man --section=1 --release="Debian Project" --center="Debian GNU/Linux manual" src/pbc_merge.c debian/pbc_merge.1
 	pod2man --section=1 --release="Debian Project" --center="Debian GNU/Linux manual" tools/dev/pbc_to_exe.pir debian/pbc_to_exe.1
 	pod2man --section=1 --release="Debian Project" --center="Debian GNU/Linux manual" ext/nqp-rx/parrot-nqp.pod debian/parrot-nqp.1
+	pod2man --section=1 --release="Debian Project" --center="Debian GNU/Linux manual" compilers/opsc/README.pod debian/ops2c.1
 	touch build-stamp
 
 clean: debian-control-stamp unpatch
@@ -93,7 +94,7 @@
 	dh_testroot -a
 	dh_installchangelogs -a ChangeLog
 	dh_installman -pparrot-minimal debian/parrot.1
-	dh_installman -pparrot-devel debian/parrot_debugger.1 debian/pbc_disassemble.1 debian/pbc_dump.1 debian/pbc_merge.1 debian/parrot_config.1 debian/pbc_to_exe.1 debian/parrot-nqp.1
+	dh_installman -pparrot-devel debian/parrot_debugger.1 debian/pbc_disassemble.1 debian/pbc_dump.1 debian/pbc_merge.1 debian/parrot_config.1 debian/pbc_to_exe.1 debian/parrot-nqp.1 debian/ops2c.1
 	dh_installdocs -a
 	dh_strip -a
 	dh_compress -a

Copied: branches/html_cleanup/ports/fedora/2.6.0/parrot.desk.in.tar.gz (from r48297, trunk/ports/fedora/2.6.0/parrot.desk.in.tar.gz)
==============================================================================
Binary file (source and/or target). No diff available.

Copied: branches/html_cleanup/ports/fedora/2.6.0/parrot.spec (from r48297, trunk/ports/fedora/2.6.0/parrot.spec)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/html_cleanup/ports/fedora/2.6.0/parrot.spec	Tue Aug  3 22:29:26 2010	(r48299, copy of r48297, trunk/ports/fedora/2.6.0/parrot.spec)
@@ -0,0 +1,380 @@
+Name:           parrot
+Version:        2.6.0
+Release:        2%{?dist}
+Summary:        a virtual machine
+License:        Artistic 2.0
+Group:          Development/Libraries
+URL:            http://www.parrot.org/
+
+Source0:        ftp://ftp.parrot.org/pub/parrot/releases/stable/%{version}/parrot-%{version}.tar.gz
+Source1:        %{name}.desk.in.tar.gz
+
+BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires:  readline-devel
+BuildRequires:  ncurses-devel
+BuildRequires:  gmp-devel
+BuildRequires:  gdbm-devel
+BuildRequires:  libicu-devel
+BuildRequires:  perl(Test::Harness)
+BuildRequires:  perl(Test::Simple)
+BuildRequires:  ctags
+BuildRequires:  openssl-devel
+BuildRequires:  flex
+BuildRequires:  bison
+# Needed to generate the Parrot PDF book
+BuildRequires:  perl(Pod::PseudoPod::LaTeX), texlive-latex
+# Needed to desktop-file-install usage
+BuildRequires:  desktop-file-utils
+ 
+
+%package docs
+Summary:        Parrot Virtual Machine documentation
+Group:          Documentation
+Requires:       perl(strict)
+Requires:       perl(warnings)
+# Provides the executable in the desktop file (xdg-open)
+Requires:       xdg-utils
+BuildArch:      noarch
+
+#--
+
+%package devel
+Summary:        Parrot Virtual Machine development headers and libraries
+Group:          Development/Libraries
+Requires:       %{name} = %{version}-%{release}
+Requires:       pkgconfig, vim-common
+
+#--
+
+%package tools
+Summary:        Parrot Virtual Machine development for languages
+Group:          Development/Libraries
+Requires:       %{name} = %{version}-%{release}
+Requires:       perl(Pod::Simple)
+Requires:       perl(File::Which) >= 0.05
+Requires:       perl(Parrot::OpLib::core)
+# It is necessary to have installed the package "perl-Perl-Critic" to install
+# the parrot-tools
+Provides:       perl(Parrot::Pmc2c::MethodEmitter) = %{version}
+Provides:       perl(Parrot::Pmc2c::PCCMETHOD_BITS) = %{version}
+Provides:       perl(Parrot::Pmc2c::PMCEmitter) = %{version}
+Provides:       perl(Parrot::OpLib::core) = %{version}
+
+
+%description
+Parrot is a virtual machine designed to efficiently compile and execute
+bytecode for dynamic languages. Parrot is the target for Rakudo Perl 6,
+as well as variety of other languages.
+
+#--
+
+%description docs
+Documentation in text-, POD- and HTML-format (docs/html-subdirectory) and also
+examples about the Parrot Virtual Machine.
+
+#--
+
+%description devel
+Parrot Virtual Machine development headers and libraries.
+
+#--
+
+%description tools
+Parrot Virtual Machine development files for building languages.
+
+
+%prep
+%setup -q
+
+
+cat << \EOF > %{name}-prov
+#!/bin/sh
+%{__perl_provides} $* | %{__sed} -e '/perl(A)/d' -e '/perl(B)/d' \
+                            -e '/perl(DB)/d' -e '/perl(Parrot::OpLib::core)/d'
+EOF
+
+%global __perl_provides %{_builddir}/%{name}-%{version}/%{name}-prov
+chmod +x %{__perl_provides}
+
+
+%build
+%ifarch %{ix86} x86_64
+    RPM_OPT_FLAGS="$RPM_OPT_FLAGS -maccumulate-outgoing-args"
+%else
+# The PowerPC-architecture do not build with the '-maccumulate-outgoing-args'
+# option.
+    RPM_OPT_FLAGS="$RPM_OPT_FLAGS"
+%endif
+
+# there are problems in this version with the optimize="-O2" option building on
+# ppc64 and ppc with nqp-rx
+%ifarch ppc64 ppc
+    RPM_OPT_FLAGS=`echo "$RPM_OPT_FLAGS" | %{__perl} -pi -e 's/-O2//'`
+%endif
+
+%{__perl} Configure.pl \
+    --prefix=%{_usr} \
+    --libdir=%{_libdir} \
+    --sysconfdir=%{_sysconfdir} \
+    --infodir=%{_datadir}/info \
+    --mandir=%{_mandir} \
+    --cc="%{__cc}" \
+    --cxx=%{__cxx} \
+    --optimize="$RPM_OPT_FLAGS" \
+    --parrot_is_shared \
+    --disable-rpath \
+    --pkgconfigdir=pkgconfig \
+    --lex=%{_bindir}/flex
+
+# The LD_LIBRARY_PATH hack is needed for "miniparrot"
+# to find his parrot-library in "blib/lib" 
+export LD_LIBRARY_PATH=$( pwd )/blib/lib
+
+# pbc_to_exe would not build if %{_smp_mflags} would used
+make
+make html pdf
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+# The LD_LIBRARY_PATH hack is needed for the command "pbc_to_exe parrot-nqp.pbc"
+# to find his parrot-library in "blib/lib" 
+export LD_LIBRARY_PATH=$( pwd )/blib/lib
+
+make install DESTDIR=$RPM_BUILD_ROOT
+
+# Generate several files for syntax-highlighting and automatic indenting.
+# First they are installed in BUILD-directory with make and after that
+# they needed to be copied to the RPM_BUILD_ROOT.
+(  cd editor; 
+   make vim-install VIM_DIR=.%{_datadir}/vim/vimfiles \
+                    SKELETON=%{_datadir}/vim/vimfiles;
+   cp -r ./usr $RPM_BUILD_ROOT                                )
+
+# Creating man-pages
+%{__install} -d $RPM_BUILD_ROOT%{_mandir}/man1
+for var in 'parrot docs/running.pod' 'parrot_debugger src/parrot_debugger.c' \
+           'pbc_disassemble src/pbc_disassemble.c' 'pbc_dump src/pbc_dump.c' \
+           'pbc_merge src/pbc_merge.c' 'pbc_to_exe tools/dev/pbc_to_exe.pir' \
+           'parrot_config tools/build/parrot_config_c.pl' \
+           'parrot-nqp compilers/nqp/README.pod'
+do
+    MAN_NAME=`echo $var | %{__perl} -na -e 'print $F[0]'`
+    MAN_SOURCE=`echo $var | %{__perl} -na -e 'print $F[1]'`
+    pod2man --section=1 --name=$MAN_NAME $MAN_SOURCE | %{__gzip} -c > $RPM_BUILD_ROOT%{_mandir}/man1/${MAN_NAME}.1.gz
+done
+
+# Drop the docs so rpm can pick them up itself.
+rm -rf $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}
+
+# Force permissions on doc directories.
+find docs examples -type d -exec chmod 755 {} \;
+find docs examples -type f -exec chmod 644 {} \;
+
+
+%define RPM_PAR_LIB_DIR $RPM_BUILD_ROOT%{_libdir}/%{name}/%{version}/
+
+
+# Force permissions on shared versioned libs so they get stripped.
+# The parrot-install-script don't set the permissions right
+# With changed permissions the dependencies will be found
+find %{RPM_PAR_LIB_DIR}dynext -type f -name '*.so' -exec chmod 755 {} \;
+
+# Remove module that should be install instead (perl(File::Which))
+rm -rf %{RPM_PAR_LIB_DIR}tools/lib/File
+
+
+# Added to reduce output errors when using rpmlint
+
+# Force permission on perl-scripts in the "tools" subdirctory
+find %{RPM_PAR_LIB_DIR}tools -type f -name "*.pl" -exec chmod 755 {} \; \
+    -exec %{__sed} -i -e '1 s&#! perl&#!/usr/bin/perl&' {} \;
+# Set path to parrot binary and Force permission
+find %{RPM_PAR_LIB_DIR}tools/dev -type f -name "pbc_to_exe.pir" \
+    -exec %{__sed} -i -e '1 s&#! parrot&#!/usr/bin/parrot&' {} \; \
+    -exec chmod 755 {} \;
+
+# Remove doc-files with zero-length
+find docs/html -type f -size 0 -exec rm -f {} \;
+find docs -wholename 'docs/doc-prep' -type f -size 0 -exec rm -f {} \;
+
+# Set path for installed programs in docs package
+find examples -type f \( -name "*.pir" -o \
+                         -wholename 'examples/shootout/random.pasm' \)  \
+    -exec %{__sed} -i -e '1 s&#!.*\(parrot\)&#!/usr/bin/\1&' {} \;
+
+find examples -type f \( -name '*.pl' -o \
+                         -wholename 'examples/pir/befunge/t/basic.t' -o  \
+                         -path 'examples/languages/*/harness'               \) \
+    -exec %{__sed} -i -e '1 s&#! perl&#!/usr/bin/perl&' {} \;
+find examples -type f -name "*.py" \
+    -exec %{__sed} -i -e '1 s&#! python&#!/usr/bin/python&' {} \;
+find examples -type f -name "*.rb" \
+    -exec %{__sed} -i -e '1 s&#! ruby&#!/usr/bin/ruby&' {} \;
+
+find examples -wholename 'examples/languages/abc/t/01-tests.t' \
+    -exec %{__sed} -i -e '1 s&#!perl&#!/usr/bin/perl&' {} \;
+
+find examples -wholename 'examples/languages/abc/t/harness' \
+    -exec %{__perl} -pi -e 's/\r$//' {} \;
+
+#install desktop file
+%{__mkdir} ${RPM_BUILD_ROOT}%{_datadir}/applications/
+%{__tar} xzf %{SOURCE1} parrot_html.desk.in --to-stdout | %{__sed} "s|@DOCDIR@|%{_docdir}/%{name}-docs-%{version}|g" > ${RPM_BUILD_ROOT}%{_datadir}/applications/parrot_html.desktop
+%{__tar} xzf %{SOURCE1} parrot_pdf.desk.in --to-stdout | %{__sed} "s|@DOCDIR@|%{_docdir}/%{name}-docs-%{version}|g" > ${RPM_BUILD_ROOT}%{_datadir}/applications/parrot_pdf.desktop
+
+desktop-file-install --delete-original --add-category="Documentation"  \
+    --dir=${RPM_BUILD_ROOT}%{_datadir}/applications                    \
+    ${RPM_BUILD_ROOT}%{_datadir}/applications/parrot_html.desktop
+desktop-file-install --delete-original --add-category="Documentation"  \
+    --dir=${RPM_BUILD_ROOT}%{_datadir}/applications                    \
+    ${RPM_BUILD_ROOT}%{_datadir}/applications/parrot_pdf.desktop
+
+
+%check
+# 'make fulltest' is done by default; it take a lot of time
+export LD_LIBRARY_PATH=$( pwd )/blib/lib
+FULL='full'
+%{?_without_fulltest: FULL=''}
+%{?!_without_tests: make ${FULL}test; rm -f docs/doc-prep}
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root,-)
+%doc ChangeLog CREDITS NEWS PBC_COMPAT PLATFORMS README
+%doc RESPONSIBLE_PARTIES TODO LICENSE
+%{_bindir}/parrot
+%{_libdir}/parrot/
+%exclude %{_libdir}/parrot/%{version}/tools
+%exclude %{_libdir}/parrot/%{version}/VERSION
+%{_libdir}/libparrot.so.*
+%{_mandir}/man1/parrot.1.gz
+
+%files docs
+%defattr(-,root,root,-)
+%doc docs examples LICENSE
+%{_datadir}/applications/parrot_html.desktop
+%{_datadir}/applications/parrot_pdf.desktop
+
+%files devel
+%defattr(-,root,root,-)
+%{_bindir}/parrot_config
+%{_bindir}/parrot_debugger
+%{_bindir}/parrot_nci_thunk_gen
+%{_bindir}/parrot-nqp
+%{_bindir}/parrot-prove
+%{_bindir}/pbc_disassemble
+%{_bindir}/pbc_merge
+%{_bindir}/pbc_to_exe
+%{_bindir}/pbc_dump
+%{_bindir}/ops2c
+%{_includedir}/parrot
+%{_libdir}/libparrot.so
+%exclude %{_libdir}/libparrot.a
+%{_libdir}/pkgconfig/*
+%{_mandir}/man1/parrot_config.1.gz
+%{_mandir}/man1/parrot_debugger.1.gz
+%{_mandir}/man1/pbc_disassemble.1.gz
+%{_mandir}/man1/pbc_merge.1.gz
+%{_mandir}/man1/pbc_to_exe.1.gz
+%{_mandir}/man1/pbc_dump.1.gz
+%{_mandir}/man1/parrot-nqp.1.gz
+%{_datadir}/vim/vimfiles/skeleton.pir
+%{_datadir}/vim/vimfiles/plugin/parrot.vim
+%{_datadir}/vim/vimfiles/syntax/*
+%{_datadir}/vim/vimfiles/indent/pir.vim
+
+%files tools
+%defattr(-,root,root,-)
+# Files for building languages
+%{_libdir}/parrot/%{version}/tools/*
+%{_libdir}/parrot/%{version}/VERSION
+%{_usr}/src/parrot/*
+
+
+%changelog
+* Wed Jul 21 2010 Gerd Pokorra <gp at zimt.uni-siegen.de> 2.6.0-2
+- updated to 2.6.0
+- add vim files for syntax-highlighting and automatic indenting
+- so requires "vim-common" is added
+- add LICENSE file to docs-subpackage
+
+* Fri Jun 18 2010 Gerd Pokorra <gp at zimt.uni-siegen.de> 2.5.0-1
+- updated to 2.5.0
+- add the ops2c binary
+- add the parrot-prove binary
+
+* Tue Apr 20 2010 Gerd Pokorra <gp at zimt.uni-siegen.de> 2.3.0-1
+- add desktop files to access the documentation for reading
+- add the parrot_nci_thunk_gen binary
+
+* Wed Jan 20 2010 Gerd Pokorra <gp at zimt.uni-siegen.de> 2.0.0-1
+- new upstream version
+- add the parrot-nqp binary, with generating of the man-page
+
+* Fri Aug 21 2009 Gerd Pokorra <gp at zimt.uni-siegen.de> 1.5.0-1
+- add man pages
+
+* Sat Aug 1 2009 Gerd Pokorra <gp at zimt.uni-siegen.de> 1.4.0-9
+- include the necessary module Parrot::OpLib::core
+- change the place of header files to /usr/include/parrot/<version>
+- install the files /usr/src/parrot/*
+- add the new disable-rpath configure option
+
+* Wed Mar 25 2009 Gerd Pokorra <gp at zimt.uni-siegen.de> 1.0.0-6
+- add a list of changes from Lubomir Rintel
+- add filtering Provides
+- change requires for docs-subpackage
+- enable test suite
+- change the group of the subpackage "-docs" to Documentation
+- put the main-documentation from the docs-package to the main package
+- LICENSE file added
+- add Provides-lines
+- add patch for the file "tools/dev/install_files.pl"
+- add commands to reduce output of errors when using rpmlint
+- define RPM_PAR_LIB_DIR added
+- add subpackage "tools"
+- exclude tools directory from main-package
+- added make html
+
+* Sun Mar 22 2009 Fabien Georget <fabien.georget at gmail.com> 1.0.0-4
+- add tools
+
+* Sun Mar 22 2009 David Fetter <david at fetter.org> 1.0.0-3
+- Removed wrong prefix from pkgconfig per Christoph Wickert
+
+* Tue Mar 17 2009 Allison Randal <allison at parrot.org> 1.0.0
+- updated to 1.0.0
+
+* Tue Jan 23 2009 Reini Urban <rurban at x-ray.at> 0.9.0
+- added parrot_utils to devel
+
+* Tue Dec 16 2008 Whiteknight <wknight8111 at gmail.com> 0.8.2
+- updated to 0.8.2
+
+* Wed Feb 20 2008 Patrick Michaud <pmichaud at pobox.com> 0.5.3
+- Update to 0.5.3.
+
+* Sat Mar 10 2007 Steven Pritchard <steve at kspei.com> 0.4.9-1
+- BuildRequires ncurses-devel.
+- For some reason now I need to force -lm too.
+- Remove some files/directories that shouldn't be included.
+- Override lib_dir and make various substitutions to try to fix multilib.
+- Remove rpath use from Makefile.
+- Fix a pod error in src/ops/experimental.ops.
+- Enable "make test" since t/doc/pod.t won't fail now.
+- Force permissions on shared libraries so rpmbuild strips them.
+- Fix URL, description, summary, etc.
+- Add post/postun.
+- Move parrot-config to the devel sub-package.
+- Force permissions on the doc directories.
+- Add -lcurses to get readline detection to work.
+- Add BuildRequires libicu-devel.

Copied: branches/html_cleanup/ports/suse/2.5.0/parrot.diff (from r48297, trunk/ports/suse/2.5.0/parrot.diff)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/html_cleanup/ports/suse/2.5.0/parrot.diff	Tue Aug  3 22:29:26 2010	(r48299, copy of r48297, trunk/ports/suse/2.5.0/parrot.diff)
@@ -0,0 +1,35 @@
+--- ./tools/dev/pbc_to_exe.pir.orig	2010-04-19 06:37:28.000000000 +0000
++++ ./tools/dev/pbc_to_exe.pir	2010-04-20 14:25:40.000000000 +0000
+@@ -510,10 +510,11 @@ END_OF_FUNCTION
+     .param int install :optional
+ 
+     $P0 = '_config'()
+-    .local string cc, ccflags, cc_o_out, osname, build_dir, slash
++    .local string cc, ccflags, optimize, cc_o_out, osname, build_dir, slash
+     .local string installed, includepath, versiondir
+     cc        = $P0['cc']
+     ccflags   = $P0['ccflags']
++    optimize  = $P0['optimize']
+     cc_o_out  = $P0['cc_o_out']
+     osname    = $P0['osname']
+     build_dir = $P0['build_dir']
+@@ -547,6 +548,8 @@ END_OF_FUNCTION
+     compile .= pathquote
+     compile .= ' '
+     compile .= ccflags
++    compile .= ' '
++    compile .= optimize
+     compile .= ' -c '
+     compile .= cfile
+ 
+--- ./src/gc/system.c.orig	2010-04-20 14:36:05.000000000 +0000
++++ ./src/gc/system.c	2010-04-20 14:38:24.000000000 +0000
+@@ -197,7 +197,7 @@ trace_system_areas(PARROT_INTERP, ARGIN(
+ 
+ #  endif /* __hpux */
+ 
+-        trace_mem_block(interp, base,
++        trace_mem_block(interp, mem_pools, base,
+                 (size_t)current_regstore_top);
+ 
+ #else /* !__ia64__ */

Copied: branches/html_cleanup/ports/suse/2.5.0/parrot.spec (from r48297, trunk/ports/suse/2.5.0/parrot.spec)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ branches/html_cleanup/ports/suse/2.5.0/parrot.spec	Tue Aug  3 22:29:26 2010	(r48299, copy of r48297, trunk/ports/suse/2.5.0/parrot.spec)
@@ -0,0 +1,249 @@
+#
+# spec file for package parrot (Version 2.5.0)
+#
+# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+
+Name:           parrot
+Version:        2.5.0
+Release:        14.3
+%define pversion 2_5_0
+Summary:        Parrot Virtual Machine
+License:        Artistic 2.0
+Group:          Development/Libraries
+Url:            http://www.parrot.org/
+Source0:        parrot-%{version}.tar.bz2
+Patch0:         parrot.diff
+BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+BuildRequires:  readline-devel
+BuildRequires:  ncurses-devel
+BuildRequires:  gmp-devel
+BuildRequires:  gdbm-devel
+BuildRequires:  libicu-devel
+%if ! 0%{?suse_version}
+BuildRequires:  perl-Test-Harness
+%endif
+
+%package docs
+Summary:        Parrot Virtual Machine documentation
+License:        Artistic 2.0
+Group:          Development/Libraries
+%if ! 0%{?suse_version}
+BuildRequires:  /usr/bin/perldoc
+%endif
+
+%package -n libparrot%pversion
+
+
+Summary:        Parrot Virtual Machine Library
+License:        Artistic 2.0
+Group:          Development/Libraries
+
+%package devel
+Summary:        Parrot Virtual Machine development headers and libraries
+License:        Artistic 2.0
+Group:          Development/Libraries
+Requires:       %{name} = %{version}
+Requires:       readline-devel
+Requires:       ncurses-devel
+Requires:       gmp-devel
+Requires:       gdbm-devel
+Requires:       libicu-devel
+%if ! 0%{?suse_version}
+Requires:       %{_libdir}/pkgconfig
+%endif
+
+%description
+Parrot is a virtual machine designed to efficiently compile and execute
+bytecode for dynamic languages. Parrot is the target for Rakudo Perl 6,
+as well as variety of other languages.
+
+%description -n libparrot%pversion
+Parrot is a virtual machine designed to efficiently compile and execute
+bytecode for dynamic languages. Parrot is the target for Rakudo Perl 6,
+as well as variety of other languages.
+
+%description docs
+Documentation in text-, POD- and HTML-format (docs/html-subdirectory) and also
+examples about the Parrot Virtual Machine
+
+%description devel
+Parrot Virtual Machine development headers and libraries.
+
+%prep
+%setup -q
+%patch0
+%{__perl} -pi -e 's,"lib/,"%{_lib}/, if (/CONST_STRING\(interp,/)' \
+    src/library.c
+%{__perl} -pi -e "s,'/usr/lib','%{_libdir}',;s,runtime/lib/,runtime/%{_lib}/," \
+    tools/dev/install_files.pl
+%{__perl} -pi -e "s,'/usr/lib','%{_libdir}',;s,runtime/lib/,runtime/%{_lib}/," \
+    tools/dev/install_dev_files.pl
+
+%build
+if test "%{_vendor}" = "suse"
+then
+    LIBS='-lncurses -lm -lrt'
+else
+    LIBS='-lcurses -lm -lrt'
+fi
+OPTIMIZE="$RPM_OPT_FLAGS -fno-strict-aliasing"
+OPTIMIZE="$RPM_OPT_FLAGS"
+%ifarch %ix86 %x86_64
+OPTIMIZE="$OPTIMIZE -maccumulate-outgoing-args"
+%endif
+%ifarch ppc ia64
+OPTIMIZE="-O0"
+%endif
+%{__perl} Configure.pl \
+    --prefix=%{_usr} \
+    --libdir=%{_libdir} \
+    --sysconfdir=%{_sysconfdir} \
+    --infodir=%{_datadir}/info \
+    --mandir=%{_mandir} \
+    --cc="%{__cc}" \
+    --cxx=%{__cxx} \
+    --optimize="$OPTIMIZE" \
+    --parrot_is_shared \
+    --disable-rpath \
+    --lex=/usr/bin/flex \
+    --yacc=/usr/bin/yacc \
+    --libs="$LIBS"
+export LD_LIBRARY_PATH=$( pwd )/blib/lib
+make
+make parrot_utils
+make installable
+make html
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir $RPM_BUILD_ROOT
+export LD_LIBRARY_PATH=$( pwd )/blib/lib
+make install-dev DESTDIR=$RPM_BUILD_ROOT
+PARROT_LIB=%{_libdir}`./parrot_config versiondir`
+PARROT_INC=%{_includedir}`./parrot_config versiondir`
+wd=`pwd`
+for i in $RPM_BUILD_ROOT$PARROT_LIB/tools/build/* ; do
+    perl -pi -e "s@$wd/include@$PARROT_INC at g" $i
+    perl -pi -e "s@$wd/src/pmc@$PARROT_INC/pmc at g" $i
+    perl -pi -e "s@(-Wl,)?-L$wd/blib/lib@@" $i
+    perl -pi -e "s@$wd@$PARROT_LIB at g" $i
+done
+perl -pi -e 's@^(use lib ..FindBin::Bin/\.\./)\.\."@$1lib"@' $RPM_BUILD_ROOT$PARROT_LIB/tools/build/dynpmc.pl
+# Drop the docs so rpm can pick them up itself.
+rm -rf $RPM_BUILD_ROOT%{_usr}/share/doc/parrot    # necessary for SuSE
+#rm -rf $RPM_BUILD_ROOT/%{_docdir}/parrot         # for Solaris?
+# Force permissions on doc directories.
+find docs examples -type d -exec chmod 755 {} \;
+find docs examples -type f -exec chmod 644 {} \;
+# Force permissions on shared libs so they get stripped.
+find $RPM_BUILD_ROOT%{_libdir} -type f \( -name '*.so' -o -name '*.so.*' \) \
+    -exec chmod 755 {} \;
+# make libparrot.so a symlink
+(cd $RPM_BUILD_ROOT%{_libdir} ; ln -fs libparrot.so.* libparrot.so)
+
+%check
+export LD_LIBRARY_PATH=$( pwd )/blib/lib
+# make test < /dev/null
+# %{?_with_fulltest:make fulltest < /dev/null}
+# make test || :
+# %{?_with_fulltest:make fulltest || :}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post -n libparrot%pversion -p /sbin/ldconfig
+
+%postun -n libparrot%pversion -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root,-)
+%exclude %{_bindir}/parrot_config
+%exclude %{_bindir}/parrot_debugger
+%exclude %{_bindir}/pbc_*
+%{_bindir}/*
+
+%files -n libparrot%pversion
+%defattr(-,root,root,-)
+%dir %{_libdir}/parrot
+%dir %{_libdir}/parrot/*
+%{_libdir}/parrot/*/[^st]*
+%{_libdir}/libparrot.so.*
+
+%files docs
+%defattr(-,root,root,-)
+%doc ChangeLog CREDITS NEWS PBC_COMPAT PLATFORMS README
+%doc RESPONSIBLE_PARTIES TODO
+%doc docs examples
+
+%files devel
+%defattr(-,root,root,-)
+%{_bindir}/parrot_config
+%{_bindir}/parrot_debugger
+%{_bindir}/pbc_disassemble
+%{_bindir}/pbc_merge
+%{_bindir}/pbc_to_exe
+%{_bindir}/pbc_dump
+%{_includedir}/parrot
+%{_libdir}/libparrot.so
+%{_libdir}/libparrot.a
+%{_libdir}/pkgconfig/*
+%{_libdir}/parrot/*/[st]*
+%{_usrsrc}/parrot
+
+%changelog
+* Fri Jun 18 2010 mls at suse.de
+- update to parrot-2.5.0
+  * Added ByteBuffer PMC to allow direct byte manipulation
+  * Modified some PMC vtable functions to reduce complexity, simplifying coverage.
+  * Modified PAST to generate symbolic PASM constants in PIR output.
+  * General STRING API cleanups
+  * Fixed up 'exit' opcode, added CONTROL_EXIT exception type.
+  * Added proper support for multisubs and multimethods in nqp-rx
+* Thu May 20 2010 mls at suse.de
+- update to parrot-2.4.0
+  * STRINGs are now immutable.
+  * use STRINGNULL instead of NULL when working with strings
+  * Fixed storage of methods in the NameSpace PMC
+  * Added :nsentry flag to force method to be stored in the NameSpace
+  * Added StringBuilder and PackfileDebug PMCs
+  * Added experimental opcodes find_codepoint and unroll
+* Thu Apr 22 2010 mls at suse.de
+- update to parrot-2.3.0
+  * dlopen improved, loadlib opcode added
+  * Calling conventions are now much more consistent, and follows natural
+    semantics of handling arguments and return values
+  * Datatype STRINGNULL for a single Null STRING added
+- work around i586 compiler bug
+* Wed Mar 17 2010 mls at suse.de
+- update to parrot-2.2.0
+  * Most internal allocations now use the GC
+  * RNG non-randomness fixes
+  * Elimination of much dead code
+* Fri Feb 19 2010 mls at suse.de
+- update to parrot-2.1.1
+* Fri Oct 23 2009 mls at suse.de
+- update to October version
+* Mon Sep 21 2009 mls at suse.de
+- update to September version
+* Thu Aug 27 2009 mls at suse.de
+- update to August version
+* Fri Jun 26 2009 mls at suse.de
+- update to June version
+* Thu Apr 23 2009 mls at suse.de
+- update to April version
+* Fri Apr  3 2009 mls at suse.de
+- initial revision

Modified: branches/html_cleanup/runtime/parrot/library/P6object.pir
==============================================================================
--- branches/html_cleanup/runtime/parrot/library/P6object.pir	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/runtime/parrot/library/P6object.pir	Tue Aug  3 22:29:26 2010	(r48299)
@@ -86,6 +86,12 @@
     $P2.'register'($P0)
     $P3 = $P2.'register'($P1)
     setattribute $P3, 'protoobject', $P3
+
+    $P0 = new ['Boolean']
+    set_hll_global ['P6protoobject'], 'False', $P0
+    $P0 = new ['Boolean']
+    assign $P0, 1
+    set_hll_global ['P6protoobject'], 'True', $P0
 .end
 
 
@@ -794,32 +800,29 @@
 
     # Perl6Object (legacy) and Mu accept anything.
     $S0 = parrotclass
-    if $S0 == 'Perl6Object' goto accept_anyway
-    if $S0 == 'Mu' goto accept_anyway
+    if $S0 == 'Perl6Object' goto accept
+    if $S0 == 'Mu' goto accept
 
     # Otherwise, just try a normal check.
     $I0 = can topic, 'HOW'
-    unless $I0 goto end
+    unless $I0 goto reject
     topicwhat = topic.'WHAT'()
     $I0 = isa topicwhat, parrotclass
-    if $I0 goto end
+    if $I0 goto accept
     $I0 = does topic, parrotclass
-    if $I0 goto end
+    if $I0 goto accept
 
     # If this fails, and we want Any, and it's something form outside
     # of the Perl 6 world, we'd best just accept it.
-    unless $S0 == 'Any' goto end
+    unless $S0 == 'Any' goto reject
     $I0 = isa topicwhat, 'Mu'
-    unless $I0 goto accept_anyway
-    $I0 = 0
-    goto end
-
-  accept_anyway:
-    $I0 = 1
+    unless $I0 goto accept
+  reject:
+    $P0 = get_global 'False'
+    .return ($P0)
 
-  end:
-    $P0 = new ['Boolean']
-    assign $P0, $I0
+  accept:
+    $P0 = get_global 'True'
     .return ($P0)
 .end
 

Modified: branches/html_cleanup/src/call/args.c
==============================================================================
--- branches/html_cleanup/src/call/args.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/call/args.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -750,16 +750,14 @@
     INTVAL  param_index     = 0;
     INTVAL  arg_index       = 0;
     INTVAL  named_count     = 0;
-    INTVAL  err_check       = 0;
     INTVAL  param_count;
     INTVAL  positional_args;
+    /* Check if we should be throwing errors. This is configured separately
+     * for parameters and return values. */
+    const INTVAL err_check  = PARROT_ERRORS_test(interp, direction);
 
     GETATTR_FixedIntegerArray_size(interp, raw_sig, param_count);
 
-    /* Check if we should be throwing errors. This is configured separately
-     * for parameters and return values. */
-    if (PARROT_ERRORS_test(interp, direction))
-        err_check = 1;
 
     /* A null call object is fine if there are no arguments and no returns. */
     if (PMC_IS_NULL(call_object)) {

Modified: branches/html_cleanup/src/call/context_accessors.c
==============================================================================
--- branches/html_cleanup/src/call/context_accessors.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/call/context_accessors.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -49,11 +49,11 @@
 
 /*
 
-=item C<struct PackFile_Constant ** Parrot_pcc_get_constants_func(PARROT_INTERP,
+=item C<struct PackFile_Constant * Parrot_pcc_get_constants_func(PARROT_INTERP,
 PMC *ctx)>
 
 =item C<void Parrot_pcc_set_constants_func(PARROT_INTERP, PMC *ctx, struct
-PackFile_Constant **constants)>
+PackFile_Constant *constants)>
 
 Get/set constants from context.
 
@@ -64,7 +64,7 @@
 PARROT_EXPORT
 PARROT_CANNOT_RETURN_NULL
 PARROT_PURE_FUNCTION
-struct PackFile_Constant **
+struct PackFile_Constant *
 Parrot_pcc_get_constants_func(SHIM_INTERP, ARGIN(PMC *ctx))
 {
     ASSERT_ARGS(Parrot_pcc_get_constants_func)
@@ -75,7 +75,7 @@
 PARROT_CAN_RETURN_NULL
 void
 Parrot_pcc_set_constants_func(SHIM_INTERP, ARGIN(PMC *ctx),
-        ARGIN_NULLOK(struct PackFile_Constant **constants))
+        ARGIN_NULLOK(struct PackFile_Constant *constants))
 {
     ASSERT_ARGS(Parrot_pcc_set_constants_func)
     Parrot_Context * const c = CONTEXT_STRUCT(ctx);
@@ -681,8 +681,8 @@
 {
     ASSERT_ARGS(Parrot_pcc_get_int_constant_func)
     const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
-    PARROT_ASSERT(c->constants[idx]->type == 'i');
-    return c->constants[idx]->u.integer;
+    PARROT_ASSERT(c->constants[idx].type == 'i');
+    return c->constants[idx].u.integer;
 }
 
 PARROT_EXPORT
@@ -693,8 +693,8 @@
 {
     ASSERT_ARGS(Parrot_pcc_get_num_constant_func)
     const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
-    PARROT_ASSERT(c->constants[idx]->type == 'n');
-    return c->constants[idx]->u.number;
+    PARROT_ASSERT(c->constants[idx].type == 'n');
+    return c->constants[idx].u.number;
 }
 
 PARROT_EXPORT
@@ -705,8 +705,8 @@
 {
     ASSERT_ARGS(Parrot_pcc_get_string_constant_func)
     const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
-    PARROT_ASSERT(c->constants[idx]->type == 's');
-    return c->constants[idx]->u.string;
+    PARROT_ASSERT(c->constants[idx].type == 's');
+    return c->constants[idx].u.string;
 }
 
 PARROT_EXPORT
@@ -717,9 +717,9 @@
 {
     ASSERT_ARGS(Parrot_pcc_get_pmc_constant_func)
     const Parrot_Context * const c = CONTEXT_STRUCT(ctx);
-    PARROT_ASSERT((c->constants[idx]->type == 'k')
-            || (c->constants[idx]->type == 'p'));
-    return c->constants[idx]->u.key;
+    PARROT_ASSERT((c->constants[idx].type == 'k')
+            || (c->constants[idx].type == 'p'));
+    return c->constants[idx].u.key;
 }
 
 /*

Modified: branches/html_cleanup/src/call/pcc.c
==============================================================================
--- branches/html_cleanup/src/call/pcc.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/call/pcc.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -58,57 +58,15 @@
 =item C<void Parrot_pcc_invoke_sub_from_c_args(PARROT_INTERP, PMC *sub_obj,
 const char *sig, ...)>
 
-Follows the same conventions as C<Parrot_PCCINVOKE>, but the subroutine object
-to invoke is passed as an argument rather than looked up by name. The signature
-string and call arguments are converted to a CallSignature PMC.
-
-=cut
-
-*/
-
-PARROT_EXPORT
-void
-Parrot_pcc_invoke_sub_from_c_args(PARROT_INTERP, ARGIN(PMC *sub_obj),
-        ARGIN(const char *sig), ...)
-{
-    ASSERT_ARGS(Parrot_pcc_invoke_sub_from_c_args)
-    PMC         *call_obj;
-    va_list      args;
-    const char  *arg_sig, *ret_sig;
-    PMC         * const old_call_obj =
-        Parrot_pcc_get_signature(interp, CURRENT_CONTEXT(interp));
-
-    Parrot_pcc_split_signature_string(sig, &arg_sig, &ret_sig);
-
-    va_start(args, sig);
-    call_obj = Parrot_pcc_build_call_from_varargs(interp, PMCNULL,
-         arg_sig, &args);
-    Parrot_pcc_set_signature(interp, CURRENT_CONTEXT(interp), call_obj);
-    Parrot_pcc_invoke_from_sig_object(interp, sub_obj, call_obj);
-    call_obj = Parrot_pcc_get_signature(interp, CURRENT_CONTEXT(interp));
-    Parrot_pcc_fill_params_from_varargs(interp, call_obj, ret_sig, &args,
-            PARROT_ERRORS_RESULT_COUNT_FLAG);
-    va_end(args);
-    Parrot_pcc_set_signature(interp, CURRENT_CONTEXT(interp), old_call_obj);
-}
-
-
-/*
-
-=item C<void Parrot_PCCINVOKE(PARROT_INTERP, PMC* pmc, STRING *method_name,
-const char *signature, ...)>
+C<pmc> is the invocant.
 
-DEPRECATED. See TT #443. Use Parrot_pcc_invoke_method_from_c_args instead.
+C<sub_obj> is the sub to invoke.
 
-C<pmc> is the invocant.
+C<sig> is the signature.
 
-C<method_name> is the same C<method_name> used in the C<find_method>
-VTABLE call
+Variable args contains the IN arguments followed by the OUT results variables.
+You must pass the address_of(&) the OUT results, of course.
 
-C<signature> is a C string describing the Parrot calling conventions for
-Parrot_PCCINVOKE.  ... variable args contains the IN arguments followed
-by the OUT results variables.  You must pass the address_of(&) the OUT
-results, of course.
 
 Signatures:
   uppercase letters repesent each arg and denote its types
@@ -147,7 +105,6 @@
     a FLOATVAL: N
     a slurpy PMC: Ps
 
-invokes a PMC method
 
 =cut
 
@@ -155,25 +112,28 @@
 
 PARROT_EXPORT
 void
-Parrot_PCCINVOKE(PARROT_INTERP, ARGIN(PMC* pmc), ARGMOD(STRING *method_name),
-        ARGIN(const char *signature), ...)
+Parrot_pcc_invoke_sub_from_c_args(PARROT_INTERP, ARGIN(PMC *sub_obj),
+        ARGIN(const char *sig), ...)
 {
-    ASSERT_ARGS(Parrot_PCCINVOKE)
-    PMC *sig_obj;
-    PMC *sub_obj;
-    va_list args;
-    va_start(args, signature);
-    sig_obj = Parrot_pcc_build_sig_object_from_varargs(interp, pmc, signature, args);
-    va_end(args);
+    ASSERT_ARGS(Parrot_pcc_invoke_sub_from_c_args)
+    PMC         *call_obj;
+    va_list      args;
+    const char  *arg_sig, *ret_sig;
+    PMC         * const old_call_obj =
+        Parrot_pcc_get_signature(interp, CURRENT_CONTEXT(interp));
 
-    /* Find the subroutine object as a named method on pmc */
-    sub_obj = VTABLE_find_method(interp, pmc, method_name);
-    if (PMC_IS_NULL(sub_obj))
-         Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_METHOD_NOT_FOUND,
-             "Method '%Ss' not found", method_name);
+    Parrot_pcc_split_signature_string(sig, &arg_sig, &ret_sig);
 
-    /* Invoke the subroutine object with the given CallSignature object */
-    Parrot_pcc_invoke_from_sig_object(interp, sub_obj, sig_obj);
+    va_start(args, sig);
+    call_obj = Parrot_pcc_build_call_from_varargs(interp, PMCNULL,
+         arg_sig, &args);
+    Parrot_pcc_set_signature(interp, CURRENT_CONTEXT(interp), call_obj);
+    Parrot_pcc_invoke_from_sig_object(interp, sub_obj, call_obj);
+    call_obj = Parrot_pcc_get_signature(interp, CURRENT_CONTEXT(interp));
+    Parrot_pcc_fill_params_from_varargs(interp, call_obj, ret_sig, &args,
+            PARROT_ERRORS_RESULT_COUNT_FLAG);
+    va_end(args);
+    Parrot_pcc_set_signature(interp, CURRENT_CONTEXT(interp), old_call_obj);
 }
 
 
@@ -329,9 +289,8 @@
 =item C<void Parrot_pcc_invoke_from_sig_object(PARROT_INTERP, PMC *sub_obj, PMC
 *call_object)>
 
-Follows the same conventions as C<Parrot_PCCINVOKE>, but the subroutine object
-to invoke is passed as an argument rather than looked up by name, and the
-signature string and call arguments are passed in a CallSignature PMC.
+Follows the same conventions as C<Parrot_pcc_invoke_method_from_c_args>, but
+the signature string and call arguments are passed in a CallSignature PMC.
 
 =cut
 

Modified: branches/html_cleanup/src/debug.c
==============================================================================
--- branches/html_cleanup/src/debug.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/debug.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -2323,7 +2323,7 @@
           case PARROT_ARG_NC:
             {
                 /* Convert the float to a string */
-                const FLOATVAL f = interp->code->const_table->constants[op[j]]->u.number;
+                const FLOATVAL f = interp->code->const_table->constants[op[j]].u.number;
                 Parrot_snprintf(interp, buf, sizeof (buf), FLOATVAL_FMT, f);
                 strcpy(&dest[size], buf);
                 size += strlen(buf);
@@ -2331,13 +2331,13 @@
             break;
           case PARROT_ARG_SC:
             dest[size++] = '"';
-            if (interp->code->const_table->constants[op[j]]-> u.string->strlen) {
+            if (interp->code->const_table->constants[op[j]].u.string->strlen) {
                 char * const unescaped =
                     Parrot_str_to_cstring(interp, interp->code->
-                           const_table->constants[op[j]]->u.string);
+                           const_table->constants[op[j]].u.string);
                 char * const escaped =
                     PDB_escape(interp, unescaped, interp->code->const_table->
-                           constants[op[j]]->u.string->strlen);
+                           constants[op[j]].u.string->strlen);
                 if (escaped) {
                     strcpy(&dest[size], escaped);
                     size += strlen(escaped);
@@ -2361,7 +2361,7 @@
             break;
           case PARROT_ARG_KC:
             {
-                PMC * k = interp->code->const_table->constants[op[j]]->u.key;
+                PMC * k = interp->code->const_table->constants[op[j]].u.key;
                 dest[size - 1] = '[';
                 while (k) {
                     switch (PObj_get_FLAGS(k)) {
@@ -2463,7 +2463,7 @@
 
     if (specialop > 0) {
         char buf[1000];
-        PMC * const sig = interp->code->const_table->constants[op[1]]->u.key;
+        PMC * const sig = interp->code->const_table->constants[op[1]].u.key;
         const int n_values = VTABLE_elements(interp, sig);
         /* The flag_names strings come from Call_bits_enum_t (with which it
            should probably be colocated); they name the bits from LSB to MSB.

Modified: branches/html_cleanup/src/dynoplibs/Rules.in
==============================================================================
--- branches/html_cleanup/src/dynoplibs/Rules.in	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/dynoplibs/Rules.in	Tue Aug  3 22:29:26 2010	(r48299)
@@ -15,7 +15,7 @@
 #IF(cygwin or hpux):	$(CHMOD) 0775 $@
 
 src/dynoplibs/obscure_ops$(O): $(DYNOP_O_DEPS) \
-    src/dynoplibs/obscure_ops.c include/parrot/runcore_api.h
+    src/dynoplibs/obscure_ops.c src/dynoplibs/obscure_ops.h
 
 src/dynoplibs/obscure_ops.h: src/dynoplibs/obscure_ops.c
 
@@ -120,10 +120,9 @@
 #IF(cygwin or hpux):	$(CHMOD) 0775 $@
 
 src/dynoplibs/io_ops$(O): $(DYNOP_O_DEPS) \
-    src/dynoplibs/io_ops.c src/dynoplibs/io_ops.h
+    src/dynoplibs/io_ops.c src/dynoplibs/io_ops.h src/io/io_private.h
 
 src/dynoplibs/io_ops.h: src/dynoplibs/io_ops.c
 
 src/dynoplibs/io_ops.c: src/dynoplibs/io.ops $(OPS2C)
 	$(OPS2C) --dynamic src/dynoplibs/io.ops --quiet
-

Modified: branches/html_cleanup/src/embed.c
==============================================================================
--- branches/html_cleanup/src/embed.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/embed.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -20,6 +20,7 @@
 
 #include "parrot/parrot.h"
 #include "parrot/embed.h"
+#include "parrot/extend.h"
 #include "parrot/oplib/ops.h"
 #include "pmc/pmc_sub.h"
 #include "pmc/pmc_callcontext.h"
@@ -729,7 +730,7 @@
     for (i = 0; i < ft->fixup_count; ++i) {
         if (ft->fixups[i].type == enum_fixup_sub) {
             const opcode_t ci      = ft->fixups[i].offset;
-            PMC    * const sub_pmc = ct->constants[ci]->u.key;
+            PMC    * const sub_pmc = ct->constants[ci].u.key;
             Parrot_Sub_attributes *sub;
 
             PMC_get_sub(interp, sub_pmc, sub);
@@ -808,7 +809,7 @@
     Parrot_pcc_set_sub(interp, CURRENT_CONTEXT(interp), NULL);
     Parrot_pcc_set_constants(interp, interp->ctx, interp->code->const_table->constants);
 
-    Parrot_pcc_invoke_sub_from_c_args(interp, main_sub, "P->", userargv);
+    Parrot_ext_call(interp, main_sub, "P->", userargv);
 }
 
 
@@ -876,7 +877,7 @@
     Parrot_io_fprintf(interp, output, "=head1 Constant-table\n\n");
 
     for (i = 0; i < numconstants; ++i) {
-        const PackFile_Constant * const c = interp->code->const_table->constants[i];
+        const PackFile_Constant * const c = &interp->code->const_table->constants[i];
 
         switch (c->type) {
           case PFC_NUMBER:
@@ -1023,7 +1024,7 @@
                 const int filename_const_offset =
                     interp->code->debugs->mappings[curr_mapping].filename;
                 Parrot_io_fprintf(interp, output, "# Current Source Filename '%Ss'\n",
-                        interp->code->const_table->constants[filename_const_offset]->u.string);
+                        interp->code->const_table->constants[filename_const_offset].u.string);
                 ++curr_mapping;
             }
         }

Modified: branches/html_cleanup/src/hash.c
==============================================================================
--- branches/html_cleanup/src/hash.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/hash.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -50,6 +50,12 @@
         __attribute__nonnull__(2)
         FUNC_MODIFIES(*hash);
 
+static UINTVAL get_hash_val(PARROT_INTERP,
+    ARGIN(const Hash *hash),
+    ARGIN_NULLOK(const void *key))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
+
 static void hash_freeze(PARROT_INTERP,
     ARGIN(const Hash *hash),
     ARGMOD(PMC *info))
@@ -103,6 +109,9 @@
 #define ASSERT_ARGS_expand_hash __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(hash))
+#define ASSERT_ARGS_get_hash_val __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(hash))
 #define ASSERT_ARGS_hash_freeze __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(hash) \
@@ -156,6 +165,32 @@
 
 /*
 
+=item C<static UINTVAL get_hash_val(PARROT_INTERP, const Hash *hash, const void
+*key)>
+
+An inlinable helper function to avoid the overhead of calling key_hash_STRING()
+when there's already a calculated hash value for the STRING key.
+
+=cut
+
+*/
+
+static UINTVAL
+get_hash_val(PARROT_INTERP, ARGIN(const Hash *hash), ARGIN_NULLOK(const void *key))
+{
+    ASSERT_ARGS(get_hash_val)
+    if (hash->hash_val == (hash_hash_key_fn)key_hash_STRING) {
+        const STRING * const s = (const STRING *)key;
+        if (s->hashval)
+            return s->hashval;
+    }
+
+    return (hash->hash_val)(interp, key, hash->seed);
+}
+
+
+/*
+
 =item C<int STRING_compare(PARROT_INTERP, const void *search_key, const void
 *bucket_key)>
 
@@ -595,8 +630,19 @@
 
     hash->entries = 0;
 
+    /* special case for great speed */
+    if (key_type   == Hash_key_type_STRING
+    &&  entry_type == enum_hash_int) {
+        for (entry_index = 0; entry_index < num_entries; ++entry_index) {
+            STRING * const key = VTABLE_shift_string(interp, info);
+            const INTVAL   i   = VTABLE_shift_integer(interp, info);
+            parrot_hash_put(interp, hash, (void *)key, (void *)i);
+        }
+
+        return;
+    }
+
     for (entry_index = 0; entry_index < num_entries; ++entry_index) {
-        HashBucket *b;
         void       *key;
 
         switch (key_type) {
@@ -671,12 +717,15 @@
 hash_freeze(PARROT_INTERP, ARGIN(const Hash *hash), ARGMOD(PMC *info))
 {
     ASSERT_ARGS(hash_freeze)
-    size_t           i;
+    const Hash_key_type    key_type   = hash->key_type;
+    const PARROT_DATA_TYPE entry_type = hash->entry_type;
+    const size_t           entries    = hash->entries;
+    size_t                 i;
 
-    for (i = 0; i < hash->entries; ++i) {
+    for (i = 0; i < entries; ++i) {
         HashBucket * const b = hash->buckets + i;
 
-        switch (hash->key_type) {
+        switch (key_type) {
           case Hash_key_type_int:
             VTABLE_push_integer(interp, info, (INTVAL)b->key);
             break;
@@ -692,7 +741,7 @@
             break;
         }
 
-        switch (hash->entry_type) {
+        switch (entry_type) {
           case enum_hash_int:
             VTABLE_push_integer(interp, info, (INTVAL)b->value);
             break;
@@ -864,7 +913,7 @@
         while ((b = *next_p) != NULL) {
             /* rehash the bucket */
             const size_t new_loc =
-                (hash->hash_val)(interp, b->key, hash->seed) & (new_size - 1);
+                get_hash_val(interp, hash, b->key) & (new_size - 1);
 
             if (i != new_loc) {
                 *next_p         = b->next;
@@ -1258,7 +1307,7 @@
 
     /* if the fast search didn't work, try the normal hashing search */
     {
-        const UINTVAL hashval = (hash->hash_val)(interp, key, hash->seed);
+        const UINTVAL hashval = get_hash_val(interp, hash, key);
         HashBucket   *bucket  = hash->bucket_indices[hashval & hash->mask];
 
         while (bucket) {
@@ -1339,7 +1388,7 @@
         ARGIN_NULLOK(void *key), ARGIN_NULLOK(void *value))
 {
     ASSERT_ARGS(parrot_hash_put)
-    const UINTVAL hashval = (hash->hash_val)(interp, key, hash->seed);
+    const UINTVAL hashval = get_hash_val(interp, hash, key);
     HashBucket   *bucket  = hash->bucket_indices[hashval & hash->mask];
 
     /* When the hash is constant, check that the key and value are also

Modified: branches/html_cleanup/src/interp/inter_cb.c
==============================================================================
--- branches/html_cleanup/src/interp/inter_cb.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/interp/inter_cb.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -25,6 +25,7 @@
 */
 
 #include "parrot/parrot.h"
+#include "parrot/extend.h"
 #include "pmc/pmc_parrotinterpreter.h"
 #include "inter_cb.str"
 
@@ -350,8 +351,7 @@
     pasm_sig[2] = '-';
     pasm_sig[3] = '>';  /* no return value supported yet */
     pasm_sig[4] = '\0';
-    Parrot_pcc_invoke_sub_from_c_args(interp, sub, pasm_sig,
-            user_data, param);
+    Parrot_ext_call(interp, sub, pasm_sig, user_data, param);
 }
 /*
 

Modified: branches/html_cleanup/src/interp/inter_misc.c
==============================================================================
--- branches/html_cleanup/src/interp/inter_misc.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/interp/inter_misc.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -224,22 +224,8 @@
         ret = Parrot_gc_impatient_pmcs(interp);
         break;
       case CURRENT_RUNCORE:
-        {
-            STRING *name = interp->run_core->name;
-
-            if (Parrot_str_equal(interp, name, CONST_STRING(interp, "slow")))
-                return PARROT_SLOW_CORE;
-            else if (Parrot_str_equal(interp, name, CONST_STRING(interp, "fast")))
-                return PARROT_FAST_CORE;
-            else if (Parrot_str_equal(interp, name, CONST_STRING(interp, "switch")))
-                return PARROT_EXEC_CORE;
-            else if (Parrot_str_equal(interp, name, CONST_STRING(interp, "gc_debug")))
-                return PARROT_GC_DEBUG_CORE;
-            else if (Parrot_str_equal(interp, name, CONST_STRING(interp, "debugger")))
-                return PARROT_DEBUGGER_CORE;
-            else if (Parrot_str_equal(interp, name, CONST_STRING(interp, "profiling")))
-                return PARROT_PROFILING_CORE;
-        }
+        ret = interp->run_core->id;
+        break;
       default:        /* or a warning only? */
         ret = -1;
         Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNIMPLEMENTED,

Modified: branches/html_cleanup/src/io/api.c
==============================================================================
--- branches/html_cleanup/src/io/api.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/io/api.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -133,8 +133,7 @@
 
     flags = Parrot_io_parse_open_flags(interp, mode);
     if (new_filehandle->vtable->base_type == typenum) {
-        /* TODO: StringHandle may have a null path, but a filehandle really
-           shouldn't allow that. */
+        /* TODO: a filehandle shouldn't allow a NULL path. */
         PARROT_ASSERT(new_filehandle->vtable->base_type == typenum);
         filehandle = PIO_OPEN(interp, new_filehandle, path, flags);
         if (PMC_IS_NULL(filehandle))
@@ -146,10 +145,6 @@
         SETATTR_FileHandle_mode(interp, new_filehandle, mode);
         Parrot_io_setbuf(interp, filehandle, PIO_UNBOUND);
     }
-    else if (new_filehandle->vtable->base_type == enum_class_StringHandle) {
-        SETATTR_StringHandle_flags(interp, pmc, flags);
-        filehandle = pmc;
-    }
     else
         Parrot_pcc_invoke_method_from_c_args(interp, new_filehandle, CONST_STRING(interp, "open"), "SS->P", path, mode, &filehandle);
     return filehandle;
@@ -223,9 +218,6 @@
         result = Parrot_io_close_filehandle(interp, pmc);
         SETATTR_FileHandle_flags(interp, pmc, 0);
     }
-    else if (pmc->vtable->base_type == enum_class_StringHandle) {
-        SETATTR_StringHandle_read_offset(interp, pmc, 0);
-    }
     else
         Parrot_pcc_invoke_method_from_c_args(interp, pmc, CONST_STRING(interp, "close"), "->I", &result);
 
@@ -276,11 +268,6 @@
         return 1;
     if (pmc->vtable->base_type == enum_class_FileHandle)
         result = Parrot_io_is_closed_filehandle(interp, pmc);
-    else if (pmc->vtable->base_type == enum_class_StringHandle) {
-        STRING *stringhandle;
-        GETATTR_StringHandle_stringhandle(interp, pmc, stringhandle);
-        result = STRING_IS_NULL(stringhandle);
-    }
     else
         Parrot_pcc_invoke_method_from_c_args(interp, pmc, CONST_STRING(interp, "is_closed"), "->I", &result);
 

Modified: branches/html_cleanup/src/nci/extra_thunks.c
==============================================================================
--- branches/html_cleanup/src/nci/extra_thunks.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/nci/extra_thunks.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -45,7 +45,7 @@
     typedef void(* func_t)(PARROT_INTERP);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -66,7 +66,7 @@
     typedef int(* func_t)(int, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -89,7 +89,7 @@
     typedef int(* func_t)(PARROT_INTERP, PMC *, int, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -115,7 +115,7 @@
     typedef int(* func_t)(PARROT_INTERP, void *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -139,7 +139,7 @@
     typedef int(* func_t)(PARROT_INTERP, void *, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -165,7 +165,7 @@
     typedef int(* func_t)(void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -186,7 +186,7 @@
     typedef int(* func_t)(char *, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -209,7 +209,7 @@
     typedef void *(* func_t)(PARROT_INTERP);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -235,7 +235,7 @@
     typedef void *(* func_t)(PARROT_INTERP, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -262,7 +262,7 @@
     typedef char *(* func_t)(PARROT_INTERP);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -285,7 +285,7 @@
     typedef char *(* func_t)(PARROT_INTERP, void *, char *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -313,7 +313,7 @@
     typedef char *(* func_t)(void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -336,7 +336,7 @@
     typedef char *(* func_t)(void *, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -361,7 +361,7 @@
     typedef void(* func_t)(void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -382,7 +382,7 @@
     typedef void(* func_t)(void *, int, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -407,7 +407,7 @@
     typedef void(* func_t)(void *, char *, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -432,7 +432,7 @@
     typedef void(* func_t)(PARROT_INTERP, char *, int, int, int, void *, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -464,7 +464,7 @@
     typedef void *(* func_t)(PARROT_INTERP, char *, char *, PMC *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -497,7 +497,7 @@
     typedef PMC *(* func_t)(PARROT_INTERP, char *, void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     PMC * return_data;
@@ -523,7 +523,7 @@
     typedef int(* func_t)(void **, void *, void *, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -550,7 +550,7 @@
     typedef void(* func_t)(PARROT_INTERP, void *, PMC *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -576,7 +576,7 @@
     typedef void(* func_t)(void *, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -599,7 +599,7 @@
     typedef void(* func_t)(PARROT_INTERP, void *, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -623,7 +623,7 @@
     typedef void(* func_t)(void);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -642,7 +642,7 @@
     typedef void(* func_t)(PARROT_INTERP, int, int, int, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -670,7 +670,7 @@
     typedef void(* func_t)(int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -691,7 +691,7 @@
     typedef void(* func_t)(int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -714,7 +714,7 @@
     typedef void(* func_t)(int, long, long, long, long, long, long, long, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -751,7 +751,7 @@
     typedef void(* func_t)(long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -772,7 +772,7 @@
     typedef void(* func_t)(void *, void *, int, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -799,7 +799,7 @@
     typedef void(* func_t)(void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -822,7 +822,7 @@
     typedef void(* func_t)(void *, int, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -851,7 +851,7 @@
     typedef void(* func_t)(void *, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -874,7 +874,7 @@
     typedef void(* func_t)(void *, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -897,7 +897,7 @@
     typedef int(* func_t)(PARROT_INTERP, PMC *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -921,7 +921,7 @@
     typedef PMC *(* func_t)(PARROT_INTERP, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     PMC * return_data;
@@ -943,7 +943,7 @@
     typedef PMC *(* func_t)(PARROT_INTERP, PMC *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     PMC * return_data;
@@ -967,7 +967,7 @@
     typedef PMC *(* func_t)(PARROT_INTERP, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     PMC * return_data;
@@ -989,7 +989,7 @@
     typedef STRING *(* func_t)(PARROT_INTERP, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     STRING * return_data;
@@ -1011,7 +1011,7 @@
     typedef int(* func_t)(PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -1032,7 +1032,7 @@
     typedef PMC *(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     PMC * return_data;
@@ -1058,7 +1058,7 @@
     typedef PMC *(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     PMC * return_data;
@@ -1086,7 +1086,7 @@
     typedef void(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -1112,7 +1112,7 @@
     typedef void(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -1140,7 +1140,7 @@
     typedef PMC *(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *, PMC *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     PMC * return_data;
@@ -1170,7 +1170,7 @@
     typedef PMC *(* func_t)(PARROT_INTERP, PMC *, PMC *, PMC *, PMC *, PMC *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     PMC * return_data;
@@ -1202,7 +1202,7 @@
     typedef INTVAL(* func_t)(PARROT_INTERP, PMC *, STRING *, INTVAL);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -1228,7 +1228,7 @@
     typedef PMC *(* func_t)(PARROT_INTERP, PMC *, STRING *, INTVAL, INTVAL);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     PMC * return_data;
@@ -1256,7 +1256,7 @@
     typedef char *(* func_t)(void *, int *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -1281,7 +1281,7 @@
     typedef int(* func_t)(void *, void *, int *, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -1308,7 +1308,7 @@
     typedef int(* func_t)(void *, void *, int *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -1333,7 +1333,7 @@
     typedef int(* func_t)(void *, void *, double);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -1358,7 +1358,7 @@
     typedef int(* func_t)(void *, char *, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -1385,7 +1385,7 @@
     typedef int(* func_t)(void *, int, void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -1412,7 +1412,7 @@
     typedef char *(* func_t)(void *, char *, char *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -1441,7 +1441,7 @@
     typedef char *(* func_t)(void *, char *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -1468,7 +1468,7 @@
     typedef char *(* func_t)(void *, char *, char *, char *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -1499,7 +1499,7 @@
     typedef void *(* func_t)(PARROT_INTERP, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -1526,7 +1526,7 @@
     typedef void *(* func_t)(PARROT_INTERP, int, void *, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -1557,7 +1557,7 @@
     typedef void *(* func_t)(PARROT_INTERP, void *, int, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -1588,7 +1588,7 @@
     typedef void(* func_t)(PARROT_INTERP, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -1610,7 +1610,7 @@
     typedef void(* func_t)(PARROT_INTERP, STRING *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -1632,7 +1632,7 @@
     typedef char *(* func_t)(char *, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -1657,7 +1657,7 @@
     typedef INTVAL(* func_t)(PARROT_INTERP, PMC *, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -1681,7 +1681,7 @@
     typedef void(* func_t)(PARROT_INTERP, PMC *, STRING *, INTVAL);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -1707,7 +1707,7 @@
     typedef STRING *(* func_t)(PARROT_INTERP, PMC *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     STRING * return_data;
@@ -1731,7 +1731,7 @@
     typedef void(* func_t)(PARROT_INTERP, PMC *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -1755,7 +1755,7 @@
     typedef INTVAL(* func_t)(PARROT_INTERP, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -1777,7 +1777,7 @@
     typedef FLOATVAL(* func_t)(PARROT_INTERP, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     FLOATVAL return_data;
@@ -1799,7 +1799,7 @@
     typedef void(* func_t)(PARROT_INTERP, PMC *, FLOATVAL);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -1823,7 +1823,7 @@
     typedef PMC *(* func_t)(PARROT_INTERP, PMC *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     PMC * return_data;
@@ -1847,7 +1847,7 @@
     typedef void(* func_t)(PARROT_INTERP, PMC *, INTVAL);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -1871,7 +1871,7 @@
     typedef PMC *(* func_t)(PARROT_INTERP, PMC *, INTVAL);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     PMC * return_data;
@@ -1895,7 +1895,7 @@
     typedef PMC *(* func_t)(PARROT_INTERP, PMC *, INTVAL, STRING *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     PMC * return_data;
@@ -1921,7 +1921,7 @@
     typedef STRING *(* func_t)(PARROT_INTERP, PMC *, STRING *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     STRING * return_data;
@@ -1947,7 +1947,7 @@
     typedef int(* func_t)(void);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -1966,7 +1966,7 @@
     typedef int(* func_t)(int, int *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -1991,7 +1991,7 @@
     typedef int(* func_t)(int, void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2016,7 +2016,7 @@
     typedef long(* func_t)(long, char *, char *, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2043,7 +2043,7 @@
     typedef int(* func_t)(void *, int, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2068,7 +2068,7 @@
     typedef int(* func_t)(void *, int, STRING *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2093,7 +2093,7 @@
     typedef STRING *(* func_t)(int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     STRING * return_data;
@@ -2114,7 +2114,7 @@
     typedef long(* func_t)(void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2135,7 +2135,7 @@
     typedef char(* func_t)(void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2156,7 +2156,7 @@
     typedef void *(* func_t)(void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2184,7 +2184,7 @@
     typedef void *(* func_t)(void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2210,7 +2210,7 @@
     typedef int(* func_t)(void *, char *, char *, char *, char *, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2241,7 +2241,7 @@
     typedef char(* func_t)(void *, char *, char *, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2268,7 +2268,7 @@
     typedef void *(* func_t)(void *, char *, char *, char *, char *, int, char *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2308,7 +2308,7 @@
     typedef int(* func_t)(void *, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2331,7 +2331,7 @@
     typedef int(* func_t)(void *, char *, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2356,7 +2356,7 @@
     typedef int(* func_t)(void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2379,7 +2379,7 @@
     typedef int(* func_t)(void *, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2402,7 +2402,7 @@
     typedef long(* func_t)(void);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2421,7 +2421,7 @@
     typedef void *(* func_t)(void *, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2449,7 +2449,7 @@
     typedef void *(* func_t)(void *, char *, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2479,7 +2479,7 @@
     typedef int(* func_t)(void *, int, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2504,7 +2504,7 @@
     typedef void *(* func_t)(void *, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2532,7 +2532,7 @@
     typedef long(* func_t)(char *, char *, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2557,7 +2557,7 @@
     typedef long(* func_t)(void *, char *, char *, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2584,7 +2584,7 @@
     typedef void(* func_t)(char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2605,7 +2605,7 @@
     typedef void *(* func_t)(void *, char *, char *, char *, char *, int, char *, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2645,7 +2645,7 @@
     typedef void *(* func_t)(char *, int, char **, int *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2679,7 +2679,7 @@
     typedef void *(* func_t)(char *, int, void *, int *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2713,7 +2713,7 @@
     typedef int(* func_t)(void *, PMC *, char *, int, int, int, void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2748,7 +2748,7 @@
     typedef int(* func_t)(char *, void *, int, int, void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -2779,7 +2779,7 @@
     typedef void *(* func_t)(void *, char *, int, void *, void *, void *, void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2819,7 +2819,7 @@
     typedef void *(* func_t)(void *, int, int *, int *, int, void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2857,7 +2857,7 @@
     typedef void *(* func_t)(void *, char *, char *, int, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2891,7 +2891,7 @@
     typedef void *(* func_t)(void *, char *, int, void *, void *, void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2929,7 +2929,7 @@
     typedef void *(* func_t)(void *, void *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2959,7 +2959,7 @@
     typedef void *(* func_t)(int, int, int, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -2991,7 +2991,7 @@
     typedef int(* func_t)(void *, void *, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3016,7 +3016,7 @@
     typedef void(* func_t)(void *, int, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -3041,7 +3041,7 @@
     typedef void *(* func_t)(void *, char *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -3071,7 +3071,7 @@
     typedef int(* func_t)(void *, void *, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3096,7 +3096,7 @@
     typedef void *(* func_t)(void *, char *, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -3128,7 +3128,7 @@
     typedef void *(* func_t)(char *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -3156,7 +3156,7 @@
     typedef void *(* func_t)(void *, char *, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -3186,7 +3186,7 @@
     typedef int(* func_t)(void *, char *, int *, int *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3213,7 +3213,7 @@
     typedef char(* func_t)(void);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3232,7 +3232,7 @@
     typedef char(* func_t)(void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3255,7 +3255,7 @@
     typedef double(* func_t)(void);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     FLOATVAL return_data;
@@ -3274,7 +3274,7 @@
     typedef double(* func_t)(double);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     FLOATVAL return_data;
@@ -3295,7 +3295,7 @@
     typedef float(* func_t)(void);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     FLOATVAL return_data;
@@ -3314,7 +3314,7 @@
     typedef float(* func_t)(float, float);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     FLOATVAL return_data;
@@ -3337,7 +3337,7 @@
     typedef float(* func_t)(int, short);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     FLOATVAL return_data;
@@ -3360,7 +3360,7 @@
     typedef int(* func_t)(void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3381,7 +3381,7 @@
     typedef int(* func_t)(double);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3402,7 +3402,7 @@
     typedef int(* func_t)(int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3423,7 +3423,7 @@
     typedef int(* func_t)(int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3446,7 +3446,7 @@
     typedef int(* func_t)(int, int, long *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3471,7 +3471,7 @@
     typedef int(* func_t)(int, int, long *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3498,7 +3498,7 @@
     typedef int(* func_t)(int, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3525,7 +3525,7 @@
     typedef int(* func_t)(int, int, int, long, short, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3556,7 +3556,7 @@
     typedef int(* func_t)(int, int, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3581,7 +3581,7 @@
     typedef int(* func_t)(int, int, long, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3608,7 +3608,7 @@
     typedef int(* func_t)(int, int, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3633,7 +3633,7 @@
     typedef int(* func_t)(int, int, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3658,7 +3658,7 @@
     typedef int(* func_t)(int, int, char *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3685,7 +3685,7 @@
     typedef int(* func_t)(int, long, short, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3712,7 +3712,7 @@
     typedef int(* func_t)(int, char *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3737,7 +3737,7 @@
     typedef int(* func_t)(long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3758,7 +3758,7 @@
     typedef int(* func_t)(long, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3781,7 +3781,7 @@
     typedef int(* func_t)(long, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3804,7 +3804,7 @@
     typedef int(* func_t)(long, short, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3829,7 +3829,7 @@
     typedef int(* func_t)(void *, int *, int *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3854,7 +3854,7 @@
     typedef int(* func_t)(void *, int *, int *, int *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3881,7 +3881,7 @@
     typedef int(* func_t)(void *, int *, int *, int *, int *, int *, int *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3914,7 +3914,7 @@
     typedef int(* func_t)(void *, long *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3937,7 +3937,7 @@
     typedef int(* func_t)(void *, long *, short *, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3964,7 +3964,7 @@
     typedef int(* func_t)(void *, long *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -3989,7 +3989,7 @@
     typedef int(* func_t)(void *, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4012,7 +4012,7 @@
     typedef int(* func_t)(void *, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4037,7 +4037,7 @@
     typedef int(* func_t)(void *, int, int, long *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4064,7 +4064,7 @@
     typedef int(* func_t)(void *, int, int, long *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4093,7 +4093,7 @@
     typedef int(* func_t)(void *, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4120,7 +4120,7 @@
     typedef int(* func_t)(void *, int, int, int, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4153,7 +4153,7 @@
     typedef int(* func_t)(void *, int, int, int, long, short, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4186,7 +4186,7 @@
     typedef int(* func_t)(void *, int, int, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4213,7 +4213,7 @@
     typedef int(* func_t)(void *, int, int, long, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4242,7 +4242,7 @@
     typedef int(* func_t)(void *, int, int, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4269,7 +4269,7 @@
     typedef int(* func_t)(void *, int, int, char *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4298,7 +4298,7 @@
     typedef int(* func_t)(void *, int, long, short, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4327,7 +4327,7 @@
     typedef int(* func_t)(void *, long, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4352,7 +4352,7 @@
     typedef int(* func_t)(void *, long, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4377,7 +4377,7 @@
     typedef int(* func_t)(void *, long, long, long, long, long, long, long, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4414,7 +4414,7 @@
     typedef int(* func_t)(void *, long, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4439,7 +4439,7 @@
     typedef int(* func_t)(void *, long, short, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4466,7 +4466,7 @@
     typedef int(* func_t)(void *, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4489,7 +4489,7 @@
     typedef int(* func_t)(void *, void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4514,7 +4514,7 @@
     typedef int(* func_t)(void *, void *, int, int, int, int, int, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4553,7 +4553,7 @@
     typedef int(* func_t)(void *, void *, void *, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4580,7 +4580,7 @@
     typedef int(* func_t)(void *, short, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4605,7 +4605,7 @@
     typedef int(* func_t)(void *, char *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4630,7 +4630,7 @@
     typedef int(* func_t)(void *, int, char *, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4657,7 +4657,7 @@
     typedef int(* func_t)(short);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4678,7 +4678,7 @@
     typedef int(* func_t)(short, short *, short *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4703,7 +4703,7 @@
     typedef int(* func_t)(short, short *, short *, short *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4730,7 +4730,7 @@
     typedef int(* func_t)(short, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4753,7 +4753,7 @@
     typedef int(* func_t)(short, short, short);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4778,7 +4778,7 @@
     typedef int(* func_t)(short, short, short, short);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4805,7 +4805,7 @@
     typedef int(* func_t)(char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4826,7 +4826,7 @@
     typedef int(* func_t)(char *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4849,7 +4849,7 @@
     typedef int(* func_t)(long *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4870,7 +4870,7 @@
     typedef int(* func_t)(long *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4893,7 +4893,7 @@
     typedef int(* func_t)(long *, short *, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4918,7 +4918,7 @@
     typedef long(* func_t)(int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4941,7 +4941,7 @@
     typedef long(* func_t)(long, long *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4964,7 +4964,7 @@
     typedef long(* func_t)(void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -4987,7 +4987,7 @@
     typedef long(* func_t)(void *, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -5012,7 +5012,7 @@
     typedef long(* func_t)(void *, int *, int *, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -5039,7 +5039,7 @@
     typedef long(* func_t)(int *, int *, long);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -5064,7 +5064,7 @@
     typedef void *(* func_t)(void);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5088,7 +5088,7 @@
     typedef void *(* func_t)(char **);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5114,7 +5114,7 @@
     typedef void *(* func_t)(void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5140,7 +5140,7 @@
     typedef void *(* func_t)(PARROT_INTERP, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5167,7 +5167,7 @@
     typedef void *(* func_t)(int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5193,7 +5193,7 @@
     typedef void *(* func_t)(int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5221,7 +5221,7 @@
     typedef void *(* func_t)(int, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5253,7 +5253,7 @@
     typedef void *(* func_t)(int, int, int, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5289,7 +5289,7 @@
     typedef void *(* func_t)(int, int, int, int, int, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5329,7 +5329,7 @@
     typedef void *(* func_t)(void *, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5359,7 +5359,7 @@
     typedef void *(* func_t)(void *, int, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5393,7 +5393,7 @@
     typedef void *(* func_t)(char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5419,7 +5419,7 @@
     typedef void *(* func_t)(char *, void *, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5449,7 +5449,7 @@
     typedef void *(* func_t)(char *, char *, char *, char *, char *, char *, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5487,7 +5487,7 @@
     typedef short(* func_t)(void);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -5506,7 +5506,7 @@
     typedef char *(* func_t)(void);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -5527,7 +5527,7 @@
     typedef char *(* func_t)(int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -5550,7 +5550,7 @@
     typedef char *(* func_t)(int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -5575,7 +5575,7 @@
     typedef char *(* func_t)(void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -5600,7 +5600,7 @@
     typedef char *(* func_t)(void *, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -5627,7 +5627,7 @@
     typedef char *(* func_t)(char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -5650,7 +5650,7 @@
     typedef char *(* func_t)(char *, long, long *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -5677,7 +5677,7 @@
     typedef char *(* func_t)(char *, long *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -5702,7 +5702,7 @@
     typedef int(* func_t)(short, char);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -5725,7 +5725,7 @@
     typedef short(* func_t)(short, char);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -5748,7 +5748,7 @@
     typedef char(* func_t)(short, char);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -5771,7 +5771,7 @@
     typedef int(* func_t)(int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -5796,7 +5796,7 @@
     typedef int(* func_t)(int, int *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -5819,7 +5819,7 @@
     typedef char *(* func_t)(void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -5842,7 +5842,7 @@
     typedef char *(* func_t)(char **);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     char * return_data;
@@ -5865,7 +5865,7 @@
     typedef void(* func_t)(PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5886,7 +5886,7 @@
     typedef void(* func_t)(void *, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5909,7 +5909,7 @@
     typedef void *(* func_t)(int, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5937,7 +5937,7 @@
     typedef int(* func_t)(int *, int *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -5960,7 +5960,7 @@
     typedef void(* func_t)(void *, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -5985,7 +5985,7 @@
     typedef void(* func_t)(PARROT_INTERP, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -6007,7 +6007,7 @@
     typedef int(* func_t)(PARROT_INTERP, PMC *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6029,7 +6029,7 @@
     typedef int(* func_t)(PARROT_INTERP, PMC *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6053,7 +6053,7 @@
     typedef int(* func_t)(PARROT_INTERP, PMC *, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6077,7 +6077,7 @@
     typedef int(* func_t)(PARROT_INTERP, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6099,7 +6099,7 @@
     typedef int(* func_t)(PARROT_INTERP, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6121,7 +6121,7 @@
     typedef void(* func_t)(void **, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -6144,7 +6144,7 @@
     typedef void *(* func_t)(void *, void *, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -6178,7 +6178,7 @@
     typedef void *(* func_t)(void *, void *, int, int, int, int, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -6220,7 +6220,7 @@
     typedef int(* func_t)(void *, void *, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6247,7 +6247,7 @@
     typedef int(* func_t)(void *, void *, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6276,7 +6276,7 @@
     typedef int(* func_t)(void *, void *, int, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6307,7 +6307,7 @@
     typedef int(* func_t)(void *, void *, int, int, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6340,7 +6340,7 @@
     typedef int(* func_t)(void *, void *, int, int, int, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6375,7 +6375,7 @@
     typedef int(* func_t)(void *, void *, char *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6400,7 +6400,7 @@
     typedef int(* func_t)(void *, void *, void *, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6427,7 +6427,7 @@
     typedef int(* func_t)(void *, void *, void *, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6456,7 +6456,7 @@
     typedef int(* func_t)(void *, void *, void *, int, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6489,7 +6489,7 @@
     typedef int(* func_t)(void *, void *, void *, void *, int, int, int, int, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6528,7 +6528,7 @@
     typedef void(* func_t)(float, float, float);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -6553,7 +6553,7 @@
     typedef void(* func_t)(void **);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -6574,7 +6574,7 @@
     typedef void(* func_t)(void **, void **, void **);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     void * return_data;
@@ -6599,7 +6599,7 @@
     typedef int(* func_t)(char *, void **);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6622,7 +6622,7 @@
     typedef int(* func_t)(void *, char *, int, void **, void *);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6651,7 +6651,7 @@
     typedef int(* func_t)(void *, int, double);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;
@@ -6676,7 +6676,7 @@
     typedef int(* func_t)(void *, int, char *, int, int);
     func_t fn_pointer;
     void *orig_func;
-    PMC *       ctx         = CURRENT_CONTEXT(interp);
+    PMC * const ctx         = CURRENT_CONTEXT(interp);
     PMC * const call_object = Parrot_pcc_get_signature(interp, ctx);
     PMC *       ret_object  = PMCNULL;
     INTVAL return_data;

Modified: branches/html_cleanup/src/ops/core_ops.c
==============================================================================
--- branches/html_cleanup/src/ops/core_ops.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/ops/core_ops.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -14211,7 +14211,7 @@
 opcode_t *
 Parrot_load_bytecode_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    Parrot_load_bytecode(interp, CONST(1)->u.string);
+    Parrot_load_bytecode(interp, CONST(1).u.string);
 
 return (opcode_t *)cur_opcode + 2;}
 
@@ -14225,7 +14225,7 @@
 opcode_t *
 Parrot_load_language_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    Parrot_load_language(interp, CONST(1)->u.string);
+    Parrot_load_language(interp, CONST(1).u.string);
 
 return (opcode_t *)cur_opcode + 2;}
 
@@ -14456,7 +14456,7 @@
 Parrot_set_args_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     opcode_t * const raw_args = CUR_OPCODE;
-    PMC * const signature = CONST(1)->u.key;
+    PMC * const signature = CONST(1).u.key;
     PMC * const call_sig = Parrot_pcc_build_sig_object_from_op(interp,
             PMCNULL, signature, raw_args);
     const INTVAL argc = VTABLE_elements(interp, signature);
@@ -14467,7 +14467,7 @@
 Parrot_get_params_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     opcode_t * const raw_params  = CUR_OPCODE;
-    PMC      * const signature   = CONST(1)->u.key;
+    PMC      * const signature   = CONST(1).u.key;
     PMC      * const ctx         = CURRENT_CONTEXT(interp);
     PMC      * const ccont       = Parrot_pcc_get_continuation(interp, ctx);
     PMC      * const caller_ctx  = Parrot_pcc_get_caller_ctx(interp, ctx);
@@ -14490,7 +14490,7 @@
 Parrot_set_returns_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     opcode_t * const raw_args  = CUR_OPCODE;
-    PMC      * const signature = CONST(1)->u.key;
+    PMC      * const signature = CONST(1).u.key;
     PMC      * const call_sig  = Parrot_pcc_build_sig_object_from_op(interp,
                 Parrot_pcc_get_signature(interp,
                 Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp))),
@@ -14506,7 +14506,7 @@
 Parrot_get_results_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     opcode_t * const raw_params  = CUR_OPCODE;
-    PMC      * const signature   = CONST(1)->u.key;
+    PMC      * const signature   = CONST(1).u.key;
     PMC             *ctx         = CURRENT_CONTEXT(interp);
     PMC             *ccont       = Parrot_pcc_get_continuation(interp, ctx);
     PMC             *call_object = Parrot_pcc_get_signature(interp, ctx);
@@ -14538,7 +14538,7 @@
 
     VTABLE_set_attr_str(interp, ctx,
             Parrot_str_new_constant(interp, "return_flags"),
-            CONST(1)->u.key);
+            CONST(1).u.key);
 
 return (opcode_t *)cur_opcode + 2;}
 
@@ -14701,7 +14701,7 @@
     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_error,
-                                    CONTROL_ERROR, CONST(1)->u.string);
+                                    CONTROL_ERROR, CONST(1).u.string);
 
     VTABLE_set_pointer(interp, resume, ret);
 
@@ -14733,7 +14733,7 @@
     opcode_t        *dest;
     opcode_t * const ret       = cur_opcode + 2;
     PMC      * const resume    = pmc_new(interp, enum_class_Continuation);
-    STRING   * const msg       = PMC_IS_NULL(CONST(1)->u.key) ? NULL : VTABLE_get_string(interp, CONST(1)->u.key);
+    STRING   * const msg       = PMC_IS_NULL(CONST(1).u.key) ? NULL : VTABLE_get_string(interp, CONST(1).u.key);
     PMC      * const exception =
         Parrot_ex_build_exception(interp, EXCEPT_error, CONTROL_ERROR, msg);
 
@@ -15091,7 +15091,7 @@
 opcode_t *
 Parrot_loadlib_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = Parrot_load_lib(interp, CONST(2)->u.string, NULL);
+    PREG(1) = Parrot_load_lib(interp, CONST(2).u.string, NULL);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -15105,21 +15105,21 @@
 opcode_t *
 Parrot_loadlib_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = Parrot_load_lib(interp, CONST(2)->u.string, PREG(3));
+    PREG(1) = Parrot_load_lib(interp, CONST(2).u.string, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_loadlib_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = Parrot_load_lib(interp, SREG(2), CONST(3)->u.key);
+    PREG(1) = Parrot_load_lib(interp, SREG(2), CONST(3).u.key);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_loadlib_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = Parrot_load_lib(interp, CONST(2)->u.string, CONST(3)->u.key);
+    PREG(1) = Parrot_load_lib(interp, CONST(2).u.string, CONST(3).u.key);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -15165,13 +15165,13 @@
         dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
     }
 
-    ptr = Parrot_dlsym_str(interp, dl_handle, CONST(3)->u.string);
+    ptr = Parrot_dlsym_str(interp, dl_handle, CONST(3).u.string);
     p = D2FPTR(ptr);
 
     if (p == NULLfunc) {
         const char * err = Parrot_dlerror();
         Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG,
-                "Symbol '%Ss' not found: %s\n", CONST(3)->u.string, err ? err : "unknown reason");
+                "Symbol '%Ss' not found: %s\n", CONST(3).u.string, err ? err : "unknown reason");
         PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
     }
     else {
@@ -15205,7 +15205,7 @@
     }
     else {
         PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
-        VTABLE_set_pointer_keyed_str(interp, PREG(1), CONST(4)->u.string, F2DPTR(p));
+        VTABLE_set_pointer_keyed_str(interp, PREG(1), CONST(4).u.string, F2DPTR(p));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -15223,18 +15223,18 @@
         dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
     }
 
-    ptr = Parrot_dlsym_str(interp, dl_handle, CONST(3)->u.string);
+    ptr = Parrot_dlsym_str(interp, dl_handle, CONST(3).u.string);
     p = D2FPTR(ptr);
 
     if (p == NULLfunc) {
         const char * err = Parrot_dlerror();
         Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG,
-                "Symbol '%Ss' not found: %s\n", CONST(3)->u.string, err ? err : "unknown reason");
+                "Symbol '%Ss' not found: %s\n", CONST(3).u.string, err ? err : "unknown reason");
         PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
     }
     else {
         PREG(1) = Parrot_pmc_new(interp, enum_class_NCI);
-        VTABLE_set_pointer_keyed_str(interp, PREG(1), CONST(4)->u.string, F2DPTR(p));
+        VTABLE_set_pointer_keyed_str(interp, PREG(1), CONST(4).u.string, F2DPTR(p));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -15280,12 +15280,12 @@
         dl_handle = ((Parrot_ParrotLibrary_attributes*)PMC_data(PREG(2)))->dl_handle;
     }
 
-    p = Parrot_dlsym_str(interp, dl_handle, CONST(3)->u.string);
+    p = Parrot_dlsym_str(interp, dl_handle, CONST(3).u.string);
 
     if (p == NULL) {
         const char * const err = Parrot_dlerror();
         Parrot_warn(interp, PARROT_WARNINGS_UNDEF_FLAG,
-                "Symbol '%Ss' not found: %s\n", CONST(3)->u.string, err ? err : "unknown reason");
+                "Symbol '%Ss' not found: %s\n", CONST(3).u.string, err ? err : "unknown reason");
         PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
     }
     else {
@@ -15311,7 +15311,7 @@
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const compreg_hash = VTABLE_get_pmc_keyed_int(interp,
             interp->iglobals, IGLOBALS_COMPREG_HASH);
-    VTABLE_set_pmc_keyed_str(interp, compreg_hash, CONST(1)->u.string, PREG(2));
+    VTABLE_set_pmc_keyed_str(interp, compreg_hash, CONST(1).u.string, PREG(2));
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -15329,7 +15329,7 @@
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const compreg_hash = VTABLE_get_pmc_keyed_int(interp,
             interp->iglobals, IGLOBALS_COMPREG_HASH);
-    PREG(1) = VTABLE_get_pmc_keyed_str(interp, compreg_hash, CONST(2)->u.string);
+    PREG(1) = VTABLE_get_pmc_keyed_str(interp, compreg_hash, CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -15343,7 +15343,7 @@
 opcode_t *
 Parrot_new_callback_p_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = Parrot_make_cb(interp, PREG(2), PREG(3), CONST(4)->u.string);
+    PREG(1) = Parrot_make_cb(interp, PREG(2), PREG(3), CONST(4).u.string);
 
 return (opcode_t *)cur_opcode + 5;}
 
@@ -15381,7 +15381,7 @@
     if (interp->code->annotations) {
         const opcode_t cur_pos = ( cur_opcode + 3) - interp->code->base.data;
         PREG(1) = PackFile_Annotations_lookup(interp, interp->code->annotations,
-                cur_pos, CONST(2)->u.string);
+                cur_pos, CONST(2).u.string);
     }
     else {
         PREG(1) = PMCNULL;
@@ -15643,7 +15643,7 @@
 opcode_t *
 Parrot_eq_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (CONST(1)->u.number == NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (CONST(1).u.number == NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15651,7 +15651,7 @@
 opcode_t *
 Parrot_eq_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (NREG(1) == CONST(2)->u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (NREG(1) == CONST(2).u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15667,7 +15667,7 @@
 opcode_t *
 Parrot_eq_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (Parrot_str_equal(interp, CONST(1)->u.string, SREG(2))) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (Parrot_str_equal(interp, CONST(1).u.string, SREG(2))) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15675,7 +15675,7 @@
 opcode_t *
 Parrot_eq_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (Parrot_str_equal(interp, SREG(1), CONST(2)->u.string)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (Parrot_str_equal(interp, SREG(1), CONST(2).u.string)) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15739,7 +15739,7 @@
      * overriding the compare multi subs wouldn't
      * have any effect with the current code
      */
-    if (VTABLE_get_number(interp, PREG(1)) == CONST(2)->u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (VTABLE_get_number(interp, PREG(1)) == CONST(2).u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15755,7 +15755,7 @@
 opcode_t *
 Parrot_eq_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (Parrot_str_equal(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (Parrot_str_equal(interp, VTABLE_get_string(interp, PREG(1)), CONST(2).u.string)) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15787,7 +15787,7 @@
 opcode_t *
 Parrot_eq_addr_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (CONST(1)->u.string == SREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (CONST(1).u.string == SREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15795,7 +15795,7 @@
 opcode_t *
 Parrot_eq_addr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (SREG(1) == CONST(2)->u.string) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (SREG(1) == CONST(2).u.string) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15803,7 +15803,7 @@
 opcode_t *
 Parrot_eq_addr_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (CONST(1)->u.string == CONST(2)->u.string) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (CONST(1).u.string == CONST(2).u.string) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15851,7 +15851,7 @@
 opcode_t *
 Parrot_ne_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (CONST(1)->u.number != NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (CONST(1).u.number != NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15859,7 +15859,7 @@
 opcode_t *
 Parrot_ne_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (NREG(1) != CONST(2)->u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (NREG(1) != CONST(2).u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15875,7 +15875,7 @@
 opcode_t *
 Parrot_ne_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (Parrot_str_not_equal(interp, CONST(1)->u.string, SREG(2))) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (Parrot_str_not_equal(interp, CONST(1).u.string, SREG(2))) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15883,7 +15883,7 @@
 opcode_t *
 Parrot_ne_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (Parrot_str_not_equal(interp, SREG(1), CONST(2)->u.string)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (Parrot_str_not_equal(interp, SREG(1), CONST(2).u.string)) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15935,7 +15935,7 @@
 opcode_t *
 Parrot_ne_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (VTABLE_get_number(interp, PREG(1)) != CONST(2)->u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (VTABLE_get_number(interp, PREG(1)) != CONST(2).u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15951,7 +15951,7 @@
 opcode_t *
 Parrot_ne_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (Parrot_str_not_equal(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (Parrot_str_not_equal(interp, VTABLE_get_string(interp, PREG(1)), CONST(2).u.string)) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15983,7 +15983,7 @@
 opcode_t *
 Parrot_ne_addr_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (CONST(1)->u.string != SREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (CONST(1).u.string != SREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15991,7 +15991,7 @@
 opcode_t *
 Parrot_ne_addr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (SREG(1) != CONST(2)->u.string) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (SREG(1) != CONST(2).u.string) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -15999,7 +15999,7 @@
 opcode_t *
 Parrot_ne_addr_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (CONST(1)->u.string != CONST(2)->u.string) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (CONST(1).u.string != CONST(2).u.string) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16047,7 +16047,7 @@
 opcode_t *
 Parrot_lt_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (CONST(1)->u.number < NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (CONST(1).u.number < NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16055,7 +16055,7 @@
 opcode_t *
 Parrot_lt_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (NREG(1) < CONST(2)->u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (NREG(1) < CONST(2).u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16071,7 +16071,7 @@
 opcode_t *
 Parrot_lt_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (Parrot_str_compare(interp, CONST(1)->u.string, SREG(2)) < 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (Parrot_str_compare(interp, CONST(1).u.string, SREG(2)) < 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16079,7 +16079,7 @@
 opcode_t *
 Parrot_lt_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (Parrot_str_compare(interp, SREG(1), CONST(2)->u.string) < 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (Parrot_str_compare(interp, SREG(1), CONST(2).u.string) < 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16131,7 +16131,7 @@
 opcode_t *
 Parrot_lt_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (VTABLE_get_number(interp, PREG(1)) < CONST(2)->u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (VTABLE_get_number(interp, PREG(1)) < CONST(2).u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16147,7 +16147,7 @@
 opcode_t *
 Parrot_lt_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) < 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2).u.string) < 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16203,7 +16203,7 @@
 opcode_t *
 Parrot_le_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (CONST(1)->u.number <= NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (CONST(1).u.number <= NREG(2)) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16211,7 +16211,7 @@
 opcode_t *
 Parrot_le_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (NREG(1) <= CONST(2)->u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (NREG(1) <= CONST(2).u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16227,7 +16227,7 @@
 opcode_t *
 Parrot_le_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (Parrot_str_compare(interp, CONST(1)->u.string, SREG(2)) <= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (Parrot_str_compare(interp, CONST(1).u.string, SREG(2)) <= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16235,7 +16235,7 @@
 opcode_t *
 Parrot_le_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (Parrot_str_compare(interp, SREG(1), CONST(2)->u.string) <= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (Parrot_str_compare(interp, SREG(1), CONST(2).u.string) <= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16287,7 +16287,7 @@
 opcode_t *
 Parrot_le_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (VTABLE_get_number(interp, PREG(1)) <= CONST(2)->u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (VTABLE_get_number(interp, PREG(1)) <= CONST(2).u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16303,7 +16303,7 @@
 opcode_t *
 Parrot_le_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) <= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2).u.string) <= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16371,7 +16371,7 @@
 opcode_t *
 Parrot_gt_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (VTABLE_get_number(interp, PREG(1)) > CONST(2)->u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (VTABLE_get_number(interp, PREG(1)) > CONST(2).u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16387,7 +16387,7 @@
 opcode_t *
 Parrot_gt_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) > 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2).u.string) > 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16455,7 +16455,7 @@
 opcode_t *
 Parrot_ge_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (VTABLE_get_number(interp, PREG(1)) >= CONST(2)->u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (VTABLE_get_number(interp, PREG(1)) >= CONST(2).u.number) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16471,7 +16471,7 @@
 opcode_t *
 Parrot_ge_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) >= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
+    if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2).u.string) >= 0) {return (opcode_t *)cur_opcode + cur_opcode[3];
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16563,8 +16563,8 @@
 opcode_t *
 Parrot_cmp_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = CONST(2)->u.number < NREG(3) ? -1 :
-         CONST(2)->u.number > NREG(3) ? +1 :
+    IREG(1) = CONST(2).u.number < NREG(3) ? -1 :
+         CONST(2).u.number > NREG(3) ? +1 :
          0;
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16572,8 +16572,8 @@
 opcode_t *
 Parrot_cmp_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = NREG(2) < CONST(3)->u.number ? -1 :
-         NREG(2) > CONST(3)->u.number ? +1 :
+    IREG(1) = NREG(2) < CONST(3).u.number ? -1 :
+         NREG(2) > CONST(3).u.number ? +1 :
          0;
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16588,14 +16588,14 @@
 opcode_t *
 Parrot_cmp_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_compare(interp, CONST(2)->u.string, SREG(3));
+    IREG(1) = Parrot_str_compare(interp, CONST(2).u.string, SREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_cmp_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3)->u.string);
+    IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -16640,8 +16640,8 @@
 Parrot_cmp_i_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     const FLOATVAL l = VTABLE_get_number(interp, PREG(2));
-    IREG(1) = l < CONST(3)->u.number ? -1 :
-         l > CONST(3)->u.number ? +1 :
+    IREG(1) = l < CONST(3).u.number ? -1 :
+         l > CONST(3).u.number ? +1 :
          0;
 
 return (opcode_t *)cur_opcode + 4;}
@@ -16658,7 +16658,7 @@
 Parrot_cmp_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     STRING* const l = VTABLE_get_string(interp, PREG(2));
-    IREG(1) = Parrot_str_compare(interp, l, CONST(3)->u.string);
+    IREG(1) = Parrot_str_compare(interp, l, CONST(3).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -16703,21 +16703,21 @@
 opcode_t *
 Parrot_issame_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = CONST(2)->u.string == SREG(3);
+    IREG(1) = CONST(2).u.string == SREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_issame_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = SREG(2) == CONST(3)->u.string;
+    IREG(1) = SREG(2) == CONST(3).u.string;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_issame_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = CONST(2)->u.string == CONST(3)->u.string;
+    IREG(1) = CONST(2).u.string == CONST(3).u.string;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -16741,21 +16741,21 @@
 opcode_t *
 Parrot_isntsame_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = CONST(2)->u.string != SREG(3);
+    IREG(1) = CONST(2).u.string != SREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_isntsame_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = SREG(2) != CONST(3)->u.string;
+    IREG(1) = SREG(2) != CONST(3).u.string;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_isntsame_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = CONST(2)->u.string != CONST(3)->u.string;
+    IREG(1) = CONST(2).u.string != CONST(3).u.string;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -16783,7 +16783,7 @@
 opcode_t *
 Parrot_isnull_i_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = PMC_IS_NULL(CONST(2)->u.key);
+    IREG(1) = PMC_IS_NULL(CONST(2).u.key);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -16797,7 +16797,7 @@
 opcode_t *
 Parrot_isnull_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = STRING_IS_NULL(CONST(2)->u.string);
+    IREG(1) = STRING_IS_NULL(CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -16846,14 +16846,14 @@
 opcode_t *
 Parrot_isle_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = CONST(2)->u.number <= NREG(3);
+    IREG(1) = CONST(2).u.number <= NREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_isle_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = NREG(2) <= CONST(3)->u.number;
+    IREG(1) = NREG(2) <= CONST(3).u.number;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -16867,14 +16867,14 @@
 opcode_t *
 Parrot_isle_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_compare(interp, CONST(2)->u.string, SREG(3)) <= 0;
+    IREG(1) = Parrot_str_compare(interp, CONST(2).u.string, SREG(3)) <= 0;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_isle_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3)->u.string) <= 0;
+    IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3).u.string) <= 0;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -16916,14 +16916,14 @@
 opcode_t *
 Parrot_islt_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = CONST(2)->u.number < NREG(3);
+    IREG(1) = CONST(2).u.number < NREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_islt_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = NREG(2) < CONST(3)->u.number;
+    IREG(1) = NREG(2) < CONST(3).u.number;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -16937,14 +16937,14 @@
 opcode_t *
 Parrot_islt_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_compare(interp, CONST(2)->u.string, SREG(3)) < 0;
+    IREG(1) = Parrot_str_compare(interp, CONST(2).u.string, SREG(3)) < 0;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_islt_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3)->u.string) < 0;
+    IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3).u.string) < 0;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -16986,14 +16986,14 @@
 opcode_t *
 Parrot_iseq_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = CONST(2)->u.number == NREG(3);
+    IREG(1) = CONST(2).u.number == NREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_iseq_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = NREG(2) == CONST(3)->u.number;
+    IREG(1) = NREG(2) == CONST(3).u.number;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -17007,14 +17007,14 @@
 opcode_t *
 Parrot_iseq_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = (Parrot_str_equal(interp, CONST(2)->u.string, SREG(3)) ? 1 : 0);
+    IREG(1) = (Parrot_str_equal(interp, CONST(2).u.string, SREG(3)) ? 1 : 0);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_iseq_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = (Parrot_str_equal(interp, SREG(2), CONST(3)->u.string) ? 1 : 0);
+    IREG(1) = (Parrot_str_equal(interp, SREG(2), CONST(3).u.string) ? 1 : 0);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -17059,14 +17059,14 @@
 opcode_t *
 Parrot_isne_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = CONST(2)->u.number != NREG(3);
+    IREG(1) = CONST(2).u.number != NREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_isne_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = NREG(2) != CONST(3)->u.number;
+    IREG(1) = NREG(2) != CONST(3).u.number;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -17080,14 +17080,14 @@
 opcode_t *
 Parrot_isne_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = (Parrot_str_not_equal(interp, CONST(2)->u.string, SREG(3)) ? 1 : 0);
+    IREG(1) = (Parrot_str_not_equal(interp, CONST(2).u.string, SREG(3)) ? 1 : 0);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_isne_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = (Parrot_str_not_equal(interp, SREG(2), CONST(3)->u.string) ? 1 : 0);
+    IREG(1) = (Parrot_str_not_equal(interp, SREG(2), CONST(3).u.string) ? 1 : 0);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -17248,14 +17248,14 @@
 Parrot_print_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
 #ifdef PARROT_HAS_NEGATIVE_ZERO
-    Parrot_io_printf(interp, FLOATVAL_FMT, CONST(1)->u.number);
+    Parrot_io_printf(interp, FLOATVAL_FMT, CONST(1).u.number);
 #else
     /* Workaround for older msvcrt and openbsd. TT #313 */
-    if (Parrot_is_nzero(CONST(1)->u.number)) {
+    if (Parrot_is_nzero(CONST(1).u.number)) {
         Parrot_io_printf(interp, "-0");
     }
     else {
-        Parrot_io_printf(interp, FLOATVAL_FMT, CONST(1)->u.number);
+        Parrot_io_printf(interp, FLOATVAL_FMT, CONST(1).u.number);
     }
 #endif
 
@@ -17273,7 +17273,7 @@
 opcode_t *
 Parrot_print_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    STRING * const s = CONST(1)->u.string;
+    STRING * const s = CONST(1).u.string;
     if (s && Parrot_str_byte_length(interp, s))
         Parrot_io_putps(interp, _PIO_STDOUT(interp), s);
 
@@ -17324,14 +17324,14 @@
 Parrot_say_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
 #ifdef PARROT_HAS_NEGATIVE_ZERO
-    Parrot_io_printf(interp, FLOATVAL_FMT "\n", CONST(1)->u.number);
+    Parrot_io_printf(interp, FLOATVAL_FMT "\n", CONST(1).u.number);
 #else
     /* Workaround for older msvcrt and openbsd. TT #313 */
-    if (Parrot_is_nzero(CONST(1)->u.number)) {
+    if (Parrot_is_nzero(CONST(1).u.number)) {
         Parrot_io_printf(interp, "-0\n");
     }
     else {
-        Parrot_io_printf(interp, FLOATVAL_FMT "\n", CONST(1)->u.number);
+        Parrot_io_printf(interp, FLOATVAL_FMT "\n", CONST(1).u.number);
     }
 #endif
 
@@ -17350,7 +17350,7 @@
 opcode_t *
 Parrot_say_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    STRING * const s = CONST(1)->u.string;
+    STRING * const s = CONST(1).u.string;
     if (s && Parrot_str_byte_length(interp, s))
         Parrot_io_putps(interp, _PIO_STDOUT(interp), s);
     Parrot_io_putps(interp, _PIO_STDOUT(interp), Parrot_str_new_constant(interp, "\n"));
@@ -17410,7 +17410,7 @@
 Parrot_print_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     if (PREG(1)) {
-        STRING * const s = Parrot_sprintf_c(interp, FLOATVAL_FMT, CONST(2)->u.number);
+        STRING * const s = Parrot_sprintf_c(interp, FLOATVAL_FMT, CONST(2).u.number);
         Parrot_io_putps(interp, PREG(1), s);
     }
 
@@ -17428,8 +17428,8 @@
 opcode_t *
 Parrot_print_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (CONST(2)->u.string && PREG(1)) {
-        Parrot_io_putps(interp, PREG(1), CONST(2)->u.string);
+    if (CONST(2).u.string && PREG(1)) {
+        Parrot_io_putps(interp, PREG(1), CONST(2).u.string);
     }
 
 return (opcode_t *)cur_opcode + 3;}
@@ -17531,7 +17531,7 @@
 opcode_t *
 Parrot_add_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    NREG(1) += CONST(2)->u.number;
+    NREG(1) += CONST(2).u.number;
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -17566,7 +17566,7 @@
 opcode_t *
 Parrot_add_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_i_add_float(interp, PREG(1), CONST(2)->u.number);
+    VTABLE_i_add_float(interp, PREG(1), CONST(2).u.number);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -17601,14 +17601,14 @@
 opcode_t *
 Parrot_add_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    NREG(1) = CONST(2)->u.number + NREG(3);
+    NREG(1) = CONST(2).u.number + NREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_add_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    NREG(1) = NREG(2) + CONST(3)->u.number;
+    NREG(1) = NREG(2) + CONST(3).u.number;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -17643,7 +17643,7 @@
 opcode_t *
 Parrot_add_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_add_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
+    PREG(1) = VTABLE_add_float(interp, PREG(2), CONST(3).u.number, PREG(1));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -17710,7 +17710,7 @@
 opcode_t *
 Parrot_div_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    FLOATVAL den = CONST(2)->u.number;
+    FLOATVAL den = CONST(2).u.number;
     if (FLOAT_IS_ZERO(den)) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
             EXCEPTION_DIV_BY_ZERO,
@@ -17751,7 +17751,7 @@
 opcode_t *
 Parrot_div_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_i_divide_float(interp, PREG(1), CONST(2)->u.number);
+    VTABLE_i_divide_float(interp, PREG(1), CONST(2).u.number);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -17829,14 +17829,14 @@
             EXCEPTION_DIV_BY_ZERO,
             "Divide by zero");return (opcode_t *)handler;
     }
-    NREG(1) = CONST(2)->u.number / den;
+    NREG(1) = CONST(2).u.number / den;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_div_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    FLOATVAL den = CONST(3)->u.number;
+    FLOATVAL den = CONST(3).u.number;
     if (FLOAT_IS_ZERO(den)) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
             EXCEPTION_DIV_BY_ZERO,
@@ -17849,13 +17849,13 @@
 opcode_t *
 Parrot_div_n_nc_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    FLOATVAL den = CONST(3)->u.number;
+    FLOATVAL den = CONST(3).u.number;
     if (FLOAT_IS_ZERO(den)) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
             EXCEPTION_DIV_BY_ZERO,
             "Divide by zero");return (opcode_t *)handler;
     }
-    NREG(1) = CONST(2)->u.number / den;
+    NREG(1) = CONST(2).u.number / den;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -17890,7 +17890,7 @@
 opcode_t *
 Parrot_div_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_divide_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
+    PREG(1) = VTABLE_divide_float(interp, PREG(2), CONST(3).u.number, PREG(1));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -17906,7 +17906,7 @@
             "Divide by zero");return (opcode_t *)handler;
     }
 
-    f  = floor(IREG(1) / den);
+    f  = floor(((FLOATVAL)IREG(1)) / den);
     IREG(1) = (INTVAL)f;
 
 return (opcode_t *)cur_opcode + 3;}
@@ -17923,7 +17923,7 @@
             "Divide by zero");return (opcode_t *)handler;
     }
 
-    f  = floor(IREG(1) / den);
+    f  = floor(((FLOATVAL)IREG(1)) / den);
     IREG(1) = (INTVAL)f;
 
 return (opcode_t *)cur_opcode + 3;}
@@ -17944,7 +17944,7 @@
 opcode_t *
 Parrot_fdiv_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    FLOATVAL den = CONST(2)->u.number;
+    FLOATVAL den = CONST(2).u.number;
     if (FLOAT_IS_ZERO(den)) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
             EXCEPTION_DIV_BY_ZERO,
@@ -17985,7 +17985,7 @@
 opcode_t *
 Parrot_fdiv_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_i_floor_divide_float(interp, PREG(1), CONST(2)->u.number);
+    VTABLE_i_floor_divide_float(interp, PREG(1), CONST(2).u.number);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -18001,7 +18001,7 @@
             "Divide by zero");return (opcode_t *)handler;
     }
 
-    f  = floor(IREG(2) / den);
+    f  = floor((FLOATVAL)IREG(2) / den);
     IREG(1) = (INTVAL)f;
 
 return (opcode_t *)cur_opcode + 4;}
@@ -18018,7 +18018,7 @@
             "Divide by zero");return (opcode_t *)handler;
     }
 
-    f  = floor(cur_opcode[2] / den);
+    f  = floor((FLOATVAL)cur_opcode[2] / den);
     IREG(1) = (INTVAL)f;
 
 return (opcode_t *)cur_opcode + 4;}
@@ -18035,7 +18035,7 @@
             "Divide by zero");return (opcode_t *)handler;
     }
 
-    f  = floor(IREG(2) / den);
+    f  = floor((FLOATVAL)IREG(2) / den);
     IREG(1) = (INTVAL)f;
 
 return (opcode_t *)cur_opcode + 4;}
@@ -18062,14 +18062,14 @@
             EXCEPTION_DIV_BY_ZERO,
             "Divide by zero");return (opcode_t *)handler;
     }
-    NREG(1) = floor(CONST(2)->u.number / den);
+    NREG(1) = floor(CONST(2).u.number / den);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_fdiv_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    FLOATVAL den = CONST(3)->u.number;
+    FLOATVAL den = CONST(3).u.number;
     if (FLOAT_IS_ZERO(den)) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
             EXCEPTION_DIV_BY_ZERO,
@@ -18110,7 +18110,7 @@
 opcode_t *
 Parrot_fdiv_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_floor_divide_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
+    PREG(1) = VTABLE_floor_divide_float(interp, PREG(2), CONST(3).u.number, PREG(1));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -18203,7 +18203,7 @@
 opcode_t *
 Parrot_mod_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    NREG(1) = floatval_mod(NREG(1), CONST(2)->u.number);
+    NREG(1) = floatval_mod(NREG(1), CONST(2).u.number);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -18238,7 +18238,7 @@
 opcode_t *
 Parrot_mod_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_i_modulus_float(interp, PREG(1), CONST(2)->u.number);
+    VTABLE_i_modulus_float(interp, PREG(1), CONST(2).u.number);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -18273,14 +18273,14 @@
 opcode_t *
 Parrot_mod_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    NREG(1) = floatval_mod(CONST(2)->u.number, NREG(3));
+    NREG(1) = floatval_mod(CONST(2).u.number, NREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_mod_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    NREG(1) = floatval_mod(NREG(2), CONST(3)->u.number);
+    NREG(1) = floatval_mod(NREG(2), CONST(3).u.number);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -18315,7 +18315,7 @@
 opcode_t *
 Parrot_mod_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_modulus_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
+    PREG(1) = VTABLE_modulus_float(interp, PREG(2), CONST(3).u.number, PREG(1));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -18343,7 +18343,7 @@
 opcode_t *
 Parrot_mul_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    NREG(1) *= CONST(2)->u.number;
+    NREG(1) *= CONST(2).u.number;
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -18378,7 +18378,7 @@
 opcode_t *
 Parrot_mul_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_i_multiply_float(interp, PREG(1), CONST(2)->u.number);
+    VTABLE_i_multiply_float(interp, PREG(1), CONST(2).u.number);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -18413,14 +18413,14 @@
 opcode_t *
 Parrot_mul_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    NREG(1) = CONST(2)->u.number * NREG(3);
+    NREG(1) = CONST(2).u.number * NREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_mul_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    NREG(1) = NREG(2) * CONST(3)->u.number;
+    NREG(1) = NREG(2) * CONST(3).u.number;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -18455,7 +18455,7 @@
 opcode_t *
 Parrot_mul_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_multiply_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
+    PREG(1) = VTABLE_multiply_float(interp, PREG(2), CONST(3).u.number, PREG(1));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -18525,7 +18525,7 @@
 opcode_t *
 Parrot_sub_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    NREG(1) -= CONST(2)->u.number;
+    NREG(1) -= CONST(2).u.number;
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -18560,7 +18560,7 @@
 opcode_t *
 Parrot_sub_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_i_subtract_float(interp, PREG(1), CONST(2)->u.number);
+    VTABLE_i_subtract_float(interp, PREG(1), CONST(2).u.number);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -18595,14 +18595,14 @@
 opcode_t *
 Parrot_sub_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    NREG(1) = CONST(2)->u.number - NREG(3);
+    NREG(1) = CONST(2).u.number - NREG(3);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_sub_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    NREG(1) = NREG(2) - CONST(3)->u.number;
+    NREG(1) = NREG(2) - CONST(3).u.number;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -18637,7 +18637,7 @@
 opcode_t *
 Parrot_sub_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_subtract_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
+    PREG(1) = VTABLE_subtract_float(interp, PREG(2), CONST(3).u.number, PREG(1));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -18689,7 +18689,7 @@
 Parrot_callmethodcc_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC      * const object     = PREG(1);
-    STRING   * const meth       = CONST(2)->u.string;
+    STRING   * const meth       = CONST(2).u.string;
     opcode_t * const next       = cur_opcode + 3;
 
     PMC      * const method_pmc = VTABLE_find_method(interp, object, meth);
@@ -18769,7 +18769,7 @@
 Parrot_callmethod_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC      * const object     = PREG(1);
-    STRING   * const meth       = CONST(2)->u.string;
+    STRING   * const meth       = CONST(2).u.string;
     opcode_t * const next       = cur_opcode + 4;
 
     PMC      * const method_pmc = VTABLE_find_method(interp, object, meth);
@@ -18842,7 +18842,7 @@
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     opcode_t * const next       = cur_opcode + 3;
     PMC      * const object     = PREG(1);
-    STRING   * const meth       = CONST(2)->u.string;
+    STRING   * const meth       = CONST(2).u.string;
     PMC      * const method_pmc = VTABLE_find_method(interp, object, meth);
 
     opcode_t *dest;
@@ -18892,7 +18892,7 @@
 opcode_t *
 Parrot_addmethod_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_add_method(interp, PREG(1), CONST(2)->u.string, PREG(3));
+    VTABLE_add_method(interp, PREG(1), CONST(2).u.string, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -18906,7 +18906,7 @@
 opcode_t *
 Parrot_can_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = VTABLE_can(interp, PREG(2), CONST(3)->u.string);
+    IREG(1) = VTABLE_can(interp, PREG(2), CONST(3).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -18920,7 +18920,7 @@
 opcode_t *
 Parrot_does_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = CONST(3)->u.string ? VTABLE_does(interp, PREG(2), CONST(3)->u.string) : 0;
+    IREG(1) = CONST(3).u.string ? VTABLE_does(interp, PREG(2), CONST(3).u.string) : 0;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -18934,7 +18934,7 @@
 opcode_t *
 Parrot_does_i_p_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = CONST(3)->u.key ? VTABLE_does_pmc(interp, PREG(2), CONST(3)->u.key) : 0;
+    IREG(1) = CONST(3).u.key ? VTABLE_does_pmc(interp, PREG(2), CONST(3).u.key) : 0;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -18948,7 +18948,7 @@
 opcode_t *
 Parrot_isa_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = CONST(3)->u.string ? VTABLE_isa(interp, PREG(2), CONST(3)->u.string) : 0;
+    IREG(1) = CONST(3).u.string ? VTABLE_isa(interp, PREG(2), CONST(3).u.string) : 0;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -18962,7 +18962,7 @@
 opcode_t *
 Parrot_isa_i_p_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = CONST(3)->u.key ? VTABLE_isa_pmc(interp, PREG(2), CONST(3)->u.key) : 0;
+    IREG(1) = CONST(3).u.key ? VTABLE_isa_pmc(interp, PREG(2), CONST(3).u.key) : 0;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -18979,7 +18979,7 @@
 Parrot_newclass_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const name = Parrot_pmc_new(interp, enum_class_String);
-    VTABLE_set_string_native(interp, name, CONST(2)->u.string);
+    VTABLE_set_string_native(interp, name, CONST(2).u.string);
     PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, name);
 
 return (opcode_t *)cur_opcode + 3;}
@@ -18994,7 +18994,7 @@
 opcode_t *
 Parrot_newclass_p_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(2)->u.key);
+    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(2).u.key);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -19016,13 +19016,13 @@
 opcode_t *
 Parrot_subclass_p_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC      * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key);
+    PMC      * const parent_class = Parrot_oo_get_class(interp, CONST(2).u.key);
     opcode_t * const next         = cur_opcode + 3;
 
     if (PMC_IS_NULL(parent_class)) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
             EXCEPTION_NO_CLASS,
-            "Class '%Ss' doesn't exist", VTABLE_get_string(interp, CONST(2)->u.key));return (opcode_t *)handler;
+            "Class '%Ss' doesn't exist", VTABLE_get_string(interp, CONST(2).u.key));return (opcode_t *)handler;
     }
     PREG(1) = Parrot_pmc_new(interp, enum_class_Class);
     VTABLE_add_parent(interp, PREG(1), parent_class);return (opcode_t *)next;
@@ -19046,13 +19046,13 @@
 opcode_t *
 Parrot_subclass_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC      * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key);
+    PMC      * const parent_class = Parrot_oo_get_class(interp, CONST(2).u.key);
     opcode_t * const next         = cur_opcode + 4;
 
     if (PMC_IS_NULL(parent_class)) {
         opcode_t * handler = Parrot_ex_throw_from_op_args(interp, next,
             EXCEPTION_NO_CLASS,
-            "Class '%Ss' doesn't exist", VTABLE_get_string(interp, CONST(2)->u.key));return (opcode_t *)handler;
+            "Class '%Ss' doesn't exist", VTABLE_get_string(interp, CONST(2).u.key));return (opcode_t *)handler;
     }
     PREG(1) = Parrot_oo_newclass_from_str(interp, SREG(3));
     VTABLE_add_parent(interp, PREG(1), parent_class);return (opcode_t *)next;
@@ -19069,22 +19069,22 @@
             EXCEPTION_NO_CLASS,
             "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PREG(2)));return (opcode_t *)handler;
     }
-    PREG(1) = Parrot_oo_newclass_from_str(interp, CONST(3)->u.string);
+    PREG(1) = Parrot_oo_newclass_from_str(interp, CONST(3).u.string);
     VTABLE_add_parent(interp, PREG(1), parent_class);return (opcode_t *)next;
 }
 
 opcode_t *
 Parrot_subclass_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC      * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key);
+    PMC      * const parent_class = Parrot_oo_get_class(interp, CONST(2).u.key);
     opcode_t * const next         = cur_opcode + 4;
 
     if (PMC_IS_NULL(parent_class)) {
         opcode_t * handler = Parrot_ex_throw_from_op_args(interp, next,
             EXCEPTION_NO_CLASS,
-            "Class '%Ss' doesn't exist", VTABLE_get_string(interp, CONST(2)->u.key));return (opcode_t *)handler;
+            "Class '%Ss' doesn't exist", VTABLE_get_string(interp, CONST(2).u.key));return (opcode_t *)handler;
     }
-    PREG(1) = Parrot_oo_newclass_from_str(interp, CONST(3)->u.string);
+    PREG(1) = Parrot_oo_newclass_from_str(interp, CONST(3).u.string);
     VTABLE_add_parent(interp, PREG(1), parent_class);return (opcode_t *)next;
 }
 
@@ -19106,13 +19106,13 @@
 opcode_t *
 Parrot_subclass_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC      * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key);
+    PMC      * const parent_class = Parrot_oo_get_class(interp, CONST(2).u.key);
     opcode_t * const next         = cur_opcode + 4;
 
     if (PMC_IS_NULL(parent_class)) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
             EXCEPTION_NO_CLASS,
-            "Class '%Ss' doesn't exist", VTABLE_get_string(interp, CONST(2)->u.key));return (opcode_t *)handler;
+            "Class '%Ss' doesn't exist", VTABLE_get_string(interp, CONST(2).u.key));return (opcode_t *)handler;
     }
     PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(3));
     VTABLE_add_parent(interp, PREG(1), parent_class);return (opcode_t *)next;
@@ -19129,22 +19129,22 @@
             EXCEPTION_NO_CLASS,
             "Class '%Ss' doesn't exist", VTABLE_get_string(interp, PREG(2)));return (opcode_t *)handler;
     }
-    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(3)->u.key);
+    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(3).u.key);
     VTABLE_add_parent(interp, PREG(1), parent_class);return (opcode_t *)next;
 }
 
 opcode_t *
 Parrot_subclass_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC      * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key);
+    PMC      * const parent_class = Parrot_oo_get_class(interp, CONST(2).u.key);
     opcode_t * const next         = cur_opcode + 4;
 
     if (PMC_IS_NULL(parent_class)) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
             EXCEPTION_NO_CLASS,
-            "Class '%Ss' doesn't exist", VTABLE_get_string(interp, CONST(2)->u.key));return (opcode_t *)handler;
+            "Class '%Ss' doesn't exist", VTABLE_get_string(interp, CONST(2).u.key));return (opcode_t *)handler;
     }
-    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(3)->u.key);
+    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(3).u.key);
     VTABLE_add_parent(interp, PREG(1), parent_class);return (opcode_t *)next;
 }
 
@@ -19167,13 +19167,13 @@
 opcode_t *
 Parrot_subclass_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC      * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
+    PMC      * const parent_class = Parrot_oo_get_class_str(interp, CONST(2).u.string);
     opcode_t * const next         = cur_opcode + 3;
 
     if (PMC_IS_NULL(parent_class)) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
             EXCEPTION_NO_CLASS,
-            "Class '%Ss' doesn't exist", CONST(2)->u.string);return (opcode_t *)handler;
+            "Class '%Ss' doesn't exist", CONST(2).u.string);return (opcode_t *)handler;
     }
 
     PREG(1) = Parrot_pmc_new(interp, enum_class_Class);
@@ -19199,13 +19199,13 @@
 opcode_t *
 Parrot_subclass_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC      * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
+    PMC      * const parent_class = Parrot_oo_get_class_str(interp, CONST(2).u.string);
     opcode_t * const next         = cur_opcode + 4;
 
     if (PMC_IS_NULL(parent_class)) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
             EXCEPTION_NO_CLASS,
-            "Class '%Ss' doesn't exist", CONST(2)->u.string);return (opcode_t *)handler;
+            "Class '%Ss' doesn't exist", CONST(2).u.string);return (opcode_t *)handler;
     }
 
     PREG(1)  = Parrot_oo_newclass_from_str(interp, SREG(3));
@@ -19224,23 +19224,23 @@
             "Class '%Ss' doesn't exist", SREG(2));return (opcode_t *)handler;
     }
 
-    PREG(1)  = Parrot_oo_newclass_from_str(interp, CONST(3)->u.string);
+    PREG(1)  = Parrot_oo_newclass_from_str(interp, CONST(3).u.string);
     VTABLE_add_parent(interp, PREG(1), parent_class);return (opcode_t *)next;
 }
 
 opcode_t *
 Parrot_subclass_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC      * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
+    PMC      * const parent_class = Parrot_oo_get_class_str(interp, CONST(2).u.string);
     opcode_t * const next         = cur_opcode + 4;
 
     if (PMC_IS_NULL(parent_class)) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
             EXCEPTION_NO_CLASS,
-            "Class '%Ss' doesn't exist", CONST(2)->u.string);return (opcode_t *)handler;
+            "Class '%Ss' doesn't exist", CONST(2).u.string);return (opcode_t *)handler;
     }
 
-    PREG(1)  = Parrot_oo_newclass_from_str(interp, CONST(3)->u.string);
+    PREG(1)  = Parrot_oo_newclass_from_str(interp, CONST(3).u.string);
     VTABLE_add_parent(interp, PREG(1), parent_class);return (opcode_t *)next;
 }
 
@@ -19263,13 +19263,13 @@
 opcode_t *
 Parrot_subclass_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC      * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
+    PMC      * const parent_class = Parrot_oo_get_class_str(interp, CONST(2).u.string);
     opcode_t * const next         = cur_opcode + 4;
 
     if (PMC_IS_NULL(parent_class)) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
             EXCEPTION_NO_CLASS,
-            "Class '%Ss' doesn't exist", CONST(2)->u.string);return (opcode_t *)handler;
+            "Class '%Ss' doesn't exist", CONST(2).u.string);return (opcode_t *)handler;
     }
 
     PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(3));
@@ -19288,23 +19288,23 @@
             "Class '%Ss' doesn't exist", SREG(2));return (opcode_t *)handler;
     }
 
-    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(3)->u.key);
+    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(3).u.key);
     VTABLE_add_parent(interp, PREG(1), parent_class);return (opcode_t *)next;
 }
 
 opcode_t *
 Parrot_subclass_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC      * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
+    PMC      * const parent_class = Parrot_oo_get_class_str(interp, CONST(2).u.string);
     opcode_t * const next         = cur_opcode + 4;
 
     if (PMC_IS_NULL(parent_class)) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, next,
             EXCEPTION_NO_CLASS,
-            "Class '%Ss' doesn't exist", CONST(2)->u.string);return (opcode_t *)handler;
+            "Class '%Ss' doesn't exist", CONST(2).u.string);return (opcode_t *)handler;
     }
 
-    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(3)->u.key);
+    PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(3).u.key);
     VTABLE_add_parent(interp, PREG(1), parent_class);return (opcode_t *)next;
 }
 
@@ -19318,7 +19318,7 @@
 opcode_t *
 Parrot_get_class_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
+    PREG(1) = Parrot_oo_get_class_str(interp, CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -19332,7 +19332,7 @@
 opcode_t *
 Parrot_get_class_p_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = Parrot_oo_get_class(interp, CONST(2)->u.key);
+    PREG(1) = Parrot_oo_get_class(interp, CONST(2).u.key);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -19387,7 +19387,7 @@
     STRING * const role_name   = string_from_literal(interp, "Role");
 
     if (VTABLE_isa(interp, PREG(1), class_name) || VTABLE_isa(interp, PREG(1), role_name))
-        VTABLE_add_attribute(interp, PREG(1), CONST(2)->u.string, PMCNULL);
+        VTABLE_add_attribute(interp, PREG(1), CONST(2).u.string, PMCNULL);
     else {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
             EXCEPTION_INVALID_OPERATION,
@@ -19406,7 +19406,7 @@
 opcode_t *
 Parrot_removeattribute_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_remove_attribute(interp, PREG(1), CONST(2)->u.string);
+    VTABLE_remove_attribute(interp, PREG(1), CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -19420,7 +19420,7 @@
 opcode_t *
 Parrot_getattribute_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_attr_str(interp, PREG(2), CONST(3)->u.string);
+    PREG(1) = VTABLE_get_attr_str(interp, PREG(2), CONST(3).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -19434,21 +19434,21 @@
 opcode_t *
 Parrot_getattribute_p_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), CONST(3)->u.key, SREG(4));
+    PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), CONST(3).u.key, SREG(4));
 
 return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
 Parrot_getattribute_p_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), PREG(3), CONST(4)->u.string);
+    PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), PREG(3), CONST(4).u.string);
 
 return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
 Parrot_getattribute_p_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), CONST(3)->u.key, CONST(4)->u.string);
+    PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), CONST(3).u.key, CONST(4).u.string);
 
 return (opcode_t *)cur_opcode + 5;}
 
@@ -19462,7 +19462,7 @@
 opcode_t *
 Parrot_setattribute_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_attr_str(interp, PREG(1), CONST(2)->u.string, PREG(3));
+    VTABLE_set_attr_str(interp, PREG(1), CONST(2).u.string, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -19476,21 +19476,21 @@
 opcode_t *
 Parrot_setattribute_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_attr_keyed(interp, PREG(1), CONST(2)->u.key, SREG(3), PREG(4));
+    VTABLE_set_attr_keyed(interp, PREG(1), CONST(2).u.key, SREG(3), PREG(4));
 
 return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
 Parrot_setattribute_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_attr_keyed(interp, PREG(1), PREG(2), CONST(3)->u.string, PREG(4));
+    VTABLE_set_attr_keyed(interp, PREG(1), PREG(2), CONST(3).u.string, PREG(4));
 
 return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
 Parrot_setattribute_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_attr_keyed(interp, PREG(1), CONST(2)->u.key, CONST(3)->u.string, PREG(4));
+    VTABLE_set_attr_keyed(interp, PREG(1), CONST(2).u.key, CONST(3).u.string, PREG(4));
 
 return (opcode_t *)cur_opcode + 5;}
 
@@ -19504,7 +19504,7 @@
 opcode_t *
 Parrot_inspect_p_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_inspect(interp, CONST(2)->u.key);
+    PREG(1) = VTABLE_inspect(interp, CONST(2).u.key);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -19518,21 +19518,21 @@
 opcode_t *
 Parrot_inspect_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_inspect_str(interp, CONST(2)->u.key, SREG(3));
+    PREG(1) = VTABLE_inspect_str(interp, CONST(2).u.key, SREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_inspect_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_inspect_str(interp, PREG(2), CONST(3)->u.string);
+    PREG(1) = VTABLE_inspect_str(interp, PREG(2), CONST(3).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_inspect_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_inspect_str(interp, CONST(2)->u.key, CONST(3)->u.string);
+    PREG(1) = VTABLE_inspect_str(interp, CONST(2).u.key, CONST(3).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -19561,7 +19561,7 @@
 opcode_t *
 Parrot_new_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    STRING * const name   = CONST(2)->u.string;
+    STRING * const name   = CONST(2).u.string;
     PMC    * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
                           ? Parrot_oo_get_class_str(interp, name)
                           : PMCNULL;
@@ -19605,7 +19605,7 @@
 opcode_t *
 Parrot_new_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    STRING * const name   = CONST(2)->u.string;
+    STRING * const name   = CONST(2).u.string;
     PMC    * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
                           ? Parrot_oo_get_class_str(interp, name)
                           : PMCNULL;
@@ -19633,7 +19633,7 @@
                           : PMCNULL;
 
     if (!PMC_IS_NULL(_class))
-        PREG(1) = VTABLE_instantiate(interp, _class, CONST(3)->u.key);
+        PREG(1) = VTABLE_instantiate(interp, _class, CONST(3).u.key);
     else {
         const INTVAL type = Parrot_pmc_get_type_str(interp, name);
         if (type <= 0) {
@@ -19641,7 +19641,7 @@
                 EXCEPTION_NO_CLASS,
                 "Class '%Ss' not found", name);return (opcode_t *)dest;
         }
-        PREG(1) = Parrot_pmc_new_init(interp, type, CONST(3)->u.key);
+        PREG(1) = Parrot_pmc_new_init(interp, type, CONST(3).u.key);
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -19649,13 +19649,13 @@
 opcode_t *
 Parrot_new_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    STRING * const name   = CONST(2)->u.string;
+    STRING * const name   = CONST(2).u.string;
     PMC    * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
                           ? Parrot_oo_get_class_str(interp, name)
                           : PMCNULL;
 
     if (!PMC_IS_NULL(_class))
-        PREG(1) = VTABLE_instantiate(interp, _class, CONST(3)->u.key);
+        PREG(1) = VTABLE_instantiate(interp, _class, CONST(3).u.key);
     else {
         const INTVAL type = Parrot_pmc_get_type_str(interp, name);
         if (type <= 0) {
@@ -19663,7 +19663,7 @@
                 EXCEPTION_NO_CLASS,
                 "Class '%Ss' not found", name);return (opcode_t *)dest;
         }
-        PREG(1) = Parrot_pmc_new_init(interp, type, CONST(3)->u.key);
+        PREG(1) = Parrot_pmc_new_init(interp, type, CONST(3).u.key);
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -19691,7 +19691,7 @@
 opcode_t *
 Parrot_new_p_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC * const name_key = CONST(2)->u.key;
+    PMC * const name_key = CONST(2).u.key;
     PMC * const _class   = Parrot_oo_get_class(interp, name_key);
 
     if (!PMC_IS_NULL(_class))
@@ -19731,7 +19731,7 @@
 opcode_t *
 Parrot_new_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC * const name_key = CONST(2)->u.key;
+    PMC * const name_key = CONST(2).u.key;
     PMC * const _class   = Parrot_oo_get_class(interp, name_key);
 
     if (!PMC_IS_NULL(_class))
@@ -19755,7 +19755,7 @@
     PMC * const _class   = Parrot_oo_get_class(interp, name_key);
 
     if (!PMC_IS_NULL(_class))
-        PREG(1) = VTABLE_instantiate(interp, _class, CONST(3)->u.key);
+        PREG(1) = VTABLE_instantiate(interp, _class, CONST(3).u.key);
     else {
         const INTVAL type = Parrot_pmc_get_type(interp, name_key);
         if (type <= 0) {
@@ -19763,7 +19763,7 @@
                 EXCEPTION_NO_CLASS,
                 "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest;
         }
-        PREG(1) = Parrot_pmc_new_init(interp, type, CONST(3)->u.key);
+        PREG(1) = Parrot_pmc_new_init(interp, type, CONST(3).u.key);
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -19771,11 +19771,11 @@
 opcode_t *
 Parrot_new_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC * const name_key = CONST(2)->u.key;
+    PMC * const name_key = CONST(2).u.key;
     PMC * const _class   = Parrot_oo_get_class(interp, name_key);
 
     if (!PMC_IS_NULL(_class))
-        PREG(1) = VTABLE_instantiate(interp, _class, CONST(3)->u.key);
+        PREG(1) = VTABLE_instantiate(interp, _class, CONST(3).u.key);
     else {
         const INTVAL type = Parrot_pmc_get_type(interp, name_key);
         if (type <= 0) {
@@ -19783,7 +19783,7 @@
                 EXCEPTION_NO_CLASS,
                 "Class '%Ss' not found", VTABLE_get_repr(interp, name_key));return (opcode_t *)dest;
         }
-        PREG(1) = Parrot_pmc_new_init(interp, type, CONST(3)->u.key);
+        PREG(1) = Parrot_pmc_new_init(interp, type, CONST(3).u.key);
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -19811,7 +19811,7 @@
 opcode_t *
 Parrot_root_new_p_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC * const key      = CONST(2)->u.key;
+    PMC * const key      = CONST(2).u.key;
     PMC * const root_ns  = interp->root_namespace;
     PMC * const ns       = Parrot_ns_get_namespace_keyed(interp, root_ns, key);
     PMC * classobj       = PMCNULL;
@@ -19851,7 +19851,7 @@
 opcode_t *
 Parrot_root_new_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC * const key      = CONST(2)->u.key;
+    PMC * const key      = CONST(2).u.key;
     PMC * const root_ns  = interp->root_namespace;
     PMC * const ns       = Parrot_ns_get_namespace_keyed(interp, root_ns, key);
     PMC * classobj       = PMCNULL;
@@ -19879,7 +19879,7 @@
     if (!PMC_IS_NULL(ns))
         classobj = Parrot_oo_get_class(interp, ns);
     if (!PMC_IS_NULL(classobj))
-        PREG(1) = VTABLE_instantiate(interp, classobj, CONST(3)->u.key);
+        PREG(1) = VTABLE_instantiate(interp, classobj, CONST(3).u.key);
     else {
         opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
             EXCEPTION_NO_CLASS,
@@ -19891,7 +19891,7 @@
 opcode_t *
 Parrot_root_new_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC * const key      = CONST(2)->u.key;
+    PMC * const key      = CONST(2).u.key;
     PMC * const root_ns  = interp->root_namespace;
     PMC * const ns       = Parrot_ns_get_namespace_keyed(interp, root_ns, key);
     PMC * classobj       = PMCNULL;
@@ -19899,7 +19899,7 @@
     if (!PMC_IS_NULL(ns))
         classobj = Parrot_oo_get_class(interp, ns);
     if (!PMC_IS_NULL(classobj))
-        PREG(1) = VTABLE_instantiate(interp, classobj, CONST(3)->u.key);
+        PREG(1) = VTABLE_instantiate(interp, classobj, CONST(3).u.key);
     else {
         opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
             EXCEPTION_NO_CLASS,
@@ -19946,11 +19946,11 @@
 Parrot_find_method_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     opcode_t * const resume = cur_opcode + 4;
-    PREG(1) = VTABLE_find_method(interp, PREG(2), CONST(3)->u.string);
+    PREG(1) = VTABLE_find_method(interp, PREG(2), CONST(3).u.string);
     if (PMC_IS_NULL(PREG(1)) || !VTABLE_defined(interp, PREG(1))) {
         opcode_t * const dest = Parrot_ex_throw_from_op_args(interp, resume,
             EXCEPTION_METHOD_NOT_FOUND,
-            "Method '%Ss' not found for invocant of class '%Ss'", CONST(3)->u.string,
+            "Method '%Ss' not found for invocant of class '%Ss'", CONST(3).u.string,
             VTABLE_get_string(interp, VTABLE_get_class(interp, PREG(2))));return (opcode_t *)dest;
     }return (opcode_t *)resume;
 }
@@ -19986,7 +19986,7 @@
 opcode_t *
 Parrot_defined_i_p_kc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed(interp, PREG(2), CONST(3)->u.key);
+    IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed(interp, PREG(2), CONST(3).u.key);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -20014,7 +20014,7 @@
 opcode_t *
 Parrot_exists_i_p_kc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = PMC_IS_NULL(PREG(2)) ? 0: VTABLE_exists_keyed(interp, PREG(2), CONST(3)->u.key);
+    IREG(1) = PMC_IS_NULL(PREG(2)) ? 0: VTABLE_exists_keyed(interp, PREG(2), CONST(3).u.key);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -20028,7 +20028,7 @@
 opcode_t *
 Parrot_delete_p_kc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_delete_keyed(interp, PREG(1), CONST(2)->u.key);
+    VTABLE_delete_keyed(interp, PREG(1), CONST(2).u.key);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20077,7 +20077,7 @@
 opcode_t *
 Parrot_push_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_push_float(interp, PREG(1), CONST(2)->u.number);
+    VTABLE_push_float(interp, PREG(1), CONST(2).u.number);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20091,7 +20091,7 @@
 opcode_t *
 Parrot_push_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_push_string(interp, PREG(1), CONST(2)->u.string);
+    VTABLE_push_string(interp, PREG(1), CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20154,7 +20154,7 @@
 opcode_t *
 Parrot_unshift_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_unshift_float(interp, PREG(1), CONST(2)->u.number);
+    VTABLE_unshift_float(interp, PREG(1), CONST(2).u.number);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20168,7 +20168,7 @@
 opcode_t *
 Parrot_unshift_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_unshift_string(interp, PREG(1), CONST(2)->u.string);
+    VTABLE_unshift_string(interp, PREG(1), CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20245,7 +20245,7 @@
 opcode_t *
 Parrot_setprop_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_setprop(interp, PREG(1), CONST(2)->u.string, PREG(3));
+    VTABLE_setprop(interp, PREG(1), CONST(2).u.string, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -20259,7 +20259,7 @@
 opcode_t *
 Parrot_getprop_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_getprop(interp, PREG(3), CONST(2)->u.string);
+    PREG(1) = VTABLE_getprop(interp, PREG(3), CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -20273,7 +20273,7 @@
 opcode_t *
 Parrot_delprop_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_delprop(interp, PREG(1), CONST(2)->u.string);
+    VTABLE_delprop(interp, PREG(1), CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20301,7 +20301,7 @@
 opcode_t *
 Parrot_thaw_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = Parrot_thaw(interp, CONST(2)->u.string);
+    PREG(1) = Parrot_thaw(interp, CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20315,21 +20315,21 @@
 opcode_t *
 Parrot_add_multi_sc_s_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    Parrot_mmd_add_multi_from_long_sig(interp, CONST(1)->u.string, SREG(2), PREG(3));
+    Parrot_mmd_add_multi_from_long_sig(interp, CONST(1).u.string, SREG(2), PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_add_multi_s_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    Parrot_mmd_add_multi_from_long_sig(interp, SREG(1), CONST(2)->u.string, PREG(3));
+    Parrot_mmd_add_multi_from_long_sig(interp, SREG(1), CONST(2).u.string, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_add_multi_sc_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    Parrot_mmd_add_multi_from_long_sig(interp, CONST(1)->u.string, CONST(2)->u.string, PREG(3));
+    Parrot_mmd_add_multi_from_long_sig(interp, CONST(1).u.string, CONST(2).u.string, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -20343,21 +20343,21 @@
 opcode_t *
 Parrot_find_multi_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, CONST(2)->u.string, SREG(3));
+    PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, CONST(2).u.string, SREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_find_multi_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, SREG(2), CONST(3)->u.string);
+    PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, SREG(2), CONST(3).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_find_multi_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, CONST(2)->u.string, CONST(3)->u.string);
+    PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, CONST(2).u.string, CONST(3).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -20403,7 +20403,7 @@
 Parrot_box_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
-    VTABLE_set_number_native(interp, PREG(1), CONST(2)->u.number);
+    VTABLE_set_number_native(interp, PREG(1), CONST(2).u.number);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20419,7 +20419,7 @@
 Parrot_box_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_String));
-    VTABLE_set_string_native(interp, PREG(1), CONST(2)->u.string);
+    VTABLE_set_string_native(interp, PREG(1), CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20440,7 +20440,7 @@
 opcode_t *
 Parrot_morph_p_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_morph(interp, PREG(1), CONST(2)->u.key);
+    VTABLE_morph(interp, PREG(1), CONST(2).u.key);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20458,9 +20458,9 @@
 Parrot_clone_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     /* cloning a NULL STRING produces an empty STRING; TT #964 */
-    SREG(1) = STRING_IS_NULL(CONST(2)->u.string)
+    SREG(1) = STRING_IS_NULL(CONST(2).u.string)
        ? Parrot_str_new(interp, NULL, 0)
-       : CONST(2)->u.string;
+       : CONST(2).u.string;
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20488,7 +20488,7 @@
 opcode_t *
 Parrot_set_i_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = (INTVAL)(CONST(2)->u.number);
+    IREG(1) = (INTVAL)(CONST(2).u.number);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20502,7 +20502,7 @@
 opcode_t *
 Parrot_set_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_to_int(interp, CONST(2)->u.string);
+    IREG(1) = Parrot_str_to_int(interp, CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20516,7 +20516,7 @@
 opcode_t *
 Parrot_set_n_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    NREG(1) = CONST(2)->u.number;
+    NREG(1) = CONST(2).u.number;
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20544,7 +20544,7 @@
 opcode_t *
 Parrot_set_n_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    NREG(1) = Parrot_str_to_num(interp, CONST(2)->u.string);
+    NREG(1) = Parrot_str_to_num(interp, CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20572,7 +20572,7 @@
 opcode_t *
 Parrot_set_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = CONST(2)->u.string;
+    SREG(1) = CONST(2).u.string;
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20600,14 +20600,14 @@
 opcode_t *
 Parrot_set_s_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_from_num(interp, CONST(2)->u.number);
+    SREG(1) = Parrot_str_from_num(interp, CONST(2).u.number);
 
 return (opcode_t *)cur_opcode + 3;}
 
 opcode_t *
 Parrot_set_p_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = CONST(2)->u.key;
+    PREG(1) = CONST(2).u.key;
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20642,7 +20642,7 @@
 opcode_t *
 Parrot_set_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_number_native(interp, PREG(1), CONST(2)->u.number);
+    VTABLE_set_number_native(interp, PREG(1), CONST(2).u.number);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20656,7 +20656,7 @@
 opcode_t *
 Parrot_set_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_string_native(interp, PREG(1), CONST(2)->u.string);
+    VTABLE_set_string_native(interp, PREG(1), CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20698,7 +20698,7 @@
 opcode_t *
 Parrot_assign_p_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_number_native(interp, PREG(1), CONST(2)->u.number);
+    VTABLE_set_number_native(interp, PREG(1), CONST(2).u.number);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20712,7 +20712,7 @@
 opcode_t *
 Parrot_assign_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_assign_string_native(interp, PREG(1), CONST(2)->u.string);
+    VTABLE_assign_string_native(interp, PREG(1), CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20726,7 +20726,7 @@
 opcode_t *
 Parrot_assign_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = CONST(2)->u.string;
+    SREG(1) = CONST(2).u.string;
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -20789,14 +20789,14 @@
 opcode_t *
 Parrot_set_p_ki_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_number_keyed_int(interp, PREG(1), IREG(2), CONST(3)->u.number);
+    VTABLE_set_number_keyed_int(interp, PREG(1), IREG(2), CONST(3).u.number);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_set_p_kic_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_number_keyed_int(interp, PREG(1), cur_opcode[2], CONST(3)->u.number);
+    VTABLE_set_number_keyed_int(interp, PREG(1), cur_opcode[2], CONST(3).u.number);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -20817,14 +20817,14 @@
 opcode_t *
 Parrot_set_p_ki_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_string_keyed_int(interp, PREG(1), IREG(2), CONST(3)->u.string);
+    VTABLE_set_string_keyed_int(interp, PREG(1), IREG(2), CONST(3).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_set_p_kic_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_string_keyed_int(interp, PREG(1), cur_opcode[2], CONST(3)->u.string);
+    VTABLE_set_string_keyed_int(interp, PREG(1), cur_opcode[2], CONST(3).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -20908,7 +20908,7 @@
 opcode_t *
 Parrot_set_p_kc_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_integer_keyed(interp, PREG(1), CONST(2)->u.key, IREG(3));
+    VTABLE_set_integer_keyed(interp, PREG(1), CONST(2).u.key, IREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -20922,7 +20922,7 @@
 opcode_t *
 Parrot_set_p_kc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_integer_keyed(interp, PREG(1), CONST(2)->u.key, cur_opcode[3]);
+    VTABLE_set_integer_keyed(interp, PREG(1), CONST(2).u.key, cur_opcode[3]);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -20936,21 +20936,21 @@
 opcode_t *
 Parrot_set_p_kc_n(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_number_keyed(interp, PREG(1), CONST(2)->u.key, NREG(3));
+    VTABLE_set_number_keyed(interp, PREG(1), CONST(2).u.key, NREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_set_p_k_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_number_keyed(interp, PREG(1), PREG(2), CONST(3)->u.number);
+    VTABLE_set_number_keyed(interp, PREG(1), PREG(2), CONST(3).u.number);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_set_p_kc_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_number_keyed(interp, PREG(1), CONST(2)->u.key, CONST(3)->u.number);
+    VTABLE_set_number_keyed(interp, PREG(1), CONST(2).u.key, CONST(3).u.number);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -20964,21 +20964,21 @@
 opcode_t *
 Parrot_set_p_kc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_string_keyed(interp, PREG(1), CONST(2)->u.key, SREG(3));
+    VTABLE_set_string_keyed(interp, PREG(1), CONST(2).u.key, SREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_set_p_k_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_string_keyed(interp, PREG(1), PREG(2), CONST(3)->u.string);
+    VTABLE_set_string_keyed(interp, PREG(1), PREG(2), CONST(3).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_set_p_kc_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_string_keyed(interp, PREG(1), CONST(2)->u.key, CONST(3)->u.string);
+    VTABLE_set_string_keyed(interp, PREG(1), CONST(2).u.key, CONST(3).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -20992,7 +20992,7 @@
 opcode_t *
 Parrot_set_p_kc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_set_pmc_keyed(interp, PREG(1), CONST(2)->u.key, PREG(3));
+    VTABLE_set_pmc_keyed(interp, PREG(1), CONST(2).u.key, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21006,7 +21006,7 @@
 opcode_t *
 Parrot_set_i_p_kc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = VTABLE_get_integer_keyed(interp, PREG(2), CONST(3)->u.key);
+    IREG(1) = VTABLE_get_integer_keyed(interp, PREG(2), CONST(3).u.key);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21020,7 +21020,7 @@
 opcode_t *
 Parrot_set_n_p_kc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    NREG(1) = VTABLE_get_number_keyed(interp, PREG(2), CONST(3)->u.key);
+    NREG(1) = VTABLE_get_number_keyed(interp, PREG(2), CONST(3).u.key);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21034,7 +21034,7 @@
 opcode_t *
 Parrot_set_s_p_kc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = VTABLE_get_string_keyed(interp, PREG(2), CONST(3)->u.key);
+    SREG(1) = VTABLE_get_string_keyed(interp, PREG(2), CONST(3).u.key);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21048,7 +21048,7 @@
 opcode_t *
 Parrot_set_p_p_kc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3)->u.key);
+    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3).u.key);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21069,7 +21069,7 @@
 opcode_t *
 Parrot_clone_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_clone_pmc(interp, PREG(2), CONST(3)->u.key);
+    PREG(1) = VTABLE_clone_pmc(interp, PREG(2), CONST(3).u.key);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21149,7 +21149,7 @@
 opcode_t *
 Parrot_ord_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = string_ord(interp, CONST(2)->u.string, 0);
+    IREG(1) = string_ord(interp, CONST(2).u.string, 0);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -21163,7 +21163,7 @@
 opcode_t *
 Parrot_ord_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = string_ord(interp, CONST(2)->u.string, IREG(3));
+    IREG(1) = string_ord(interp, CONST(2).u.string, IREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21177,7 +21177,7 @@
 opcode_t *
 Parrot_ord_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = string_ord(interp, CONST(2)->u.string, cur_opcode[3]);
+    IREG(1) = string_ord(interp, CONST(2).u.string, cur_opcode[3]);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21207,7 +21207,7 @@
 opcode_t *
 Parrot_chopn_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_chopn(interp, CONST(2)->u.string, IREG(3));
+    SREG(1) = Parrot_str_chopn(interp, CONST(2).u.string, IREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21221,7 +21221,7 @@
 opcode_t *
 Parrot_chopn_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_chopn(interp, CONST(2)->u.string, cur_opcode[3]);
+    SREG(1) = Parrot_str_chopn(interp, CONST(2).u.string, cur_opcode[3]);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21235,7 +21235,7 @@
 opcode_t *
 Parrot_concat_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_concat(interp, SREG(1), CONST(2)->u.string);
+    SREG(1) = Parrot_str_concat(interp, SREG(1), CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -21256,7 +21256,7 @@
 opcode_t *
 Parrot_concat_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    VTABLE_i_concatenate_str(interp, PREG(1), CONST(2)->u.string);
+    VTABLE_i_concatenate_str(interp, PREG(1), CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -21270,14 +21270,14 @@
 opcode_t *
 Parrot_concat_s_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_concat(interp, CONST(2)->u.string, SREG(3));
+    SREG(1) = Parrot_str_concat(interp, CONST(2).u.string, SREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_concat_s_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_concat(interp, SREG(2), CONST(3)->u.string);
+    SREG(1) = Parrot_str_concat(interp, SREG(2), CONST(3).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21291,7 +21291,7 @@
 opcode_t *
 Parrot_concat_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_concatenate_str(interp, PREG(2), CONST(3)->u.string, PREG(1));
+    PREG(1) = VTABLE_concatenate_str(interp, PREG(2), CONST(3).u.string, PREG(1));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21322,7 +21322,7 @@
                 EXCEPTION_NEG_REPEAT,
                 "Cannot repeat with negative arg");return (opcode_t *)handler;
     }
-    SREG(1) = Parrot_str_repeat(interp, CONST(2)->u.string, (UINTVAL)IREG(3));
+    SREG(1) = Parrot_str_repeat(interp, CONST(2).u.string, (UINTVAL)IREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21346,7 +21346,7 @@
                 EXCEPTION_NEG_REPEAT,
                 "Cannot repeat with negative arg");return (opcode_t *)handler;
     }
-    SREG(1) = Parrot_str_repeat(interp, CONST(2)->u.string, (UINTVAL)cur_opcode[3]);
+    SREG(1) = Parrot_str_repeat(interp, CONST(2).u.string, (UINTVAL)cur_opcode[3]);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21417,7 +21417,7 @@
 opcode_t *
 Parrot_length_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_length(interp, CONST(2)->u.string);
+    IREG(1) = Parrot_str_length(interp, CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -21431,7 +21431,7 @@
 opcode_t *
 Parrot_bytelength_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_byte_length(interp, CONST(2)->u.string);
+    IREG(1) = Parrot_str_byte_length(interp, CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -21460,8 +21460,8 @@
 opcode_t *
 Parrot_substr_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    const INTVAL len = Parrot_str_byte_length(interp, CONST(2)->u.string);
-    SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, IREG(3), len);
+    const INTVAL len = Parrot_str_byte_length(interp, CONST(2).u.string);
+    SREG(1) = Parrot_str_substr(interp, CONST(2).u.string, IREG(3), len);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21476,8 +21476,8 @@
 opcode_t *
 Parrot_substr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    const INTVAL len = Parrot_str_byte_length(interp, CONST(2)->u.string);
-    SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, cur_opcode[3], len);
+    const INTVAL len = Parrot_str_byte_length(interp, CONST(2).u.string);
+    SREG(1) = Parrot_str_substr(interp, CONST(2).u.string, cur_opcode[3], len);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21491,7 +21491,7 @@
 opcode_t *
 Parrot_substr_s_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, IREG(3), IREG(4));
+    SREG(1) = Parrot_str_substr(interp, CONST(2).u.string, IREG(3), IREG(4));
 
 return (opcode_t *)cur_opcode + 5;}
 
@@ -21505,7 +21505,7 @@
 opcode_t *
 Parrot_substr_s_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, cur_opcode[3], IREG(4));
+    SREG(1) = Parrot_str_substr(interp, CONST(2).u.string, cur_opcode[3], IREG(4));
 
 return (opcode_t *)cur_opcode + 5;}
 
@@ -21519,7 +21519,7 @@
 opcode_t *
 Parrot_substr_s_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, IREG(3), cur_opcode[4]);
+    SREG(1) = Parrot_str_substr(interp, CONST(2).u.string, IREG(3), cur_opcode[4]);
 
 return (opcode_t *)cur_opcode + 5;}
 
@@ -21533,7 +21533,7 @@
 opcode_t *
 Parrot_substr_s_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, cur_opcode[3], cur_opcode[4]);
+    SREG(1) = Parrot_str_substr(interp, CONST(2).u.string, cur_opcode[3], cur_opcode[4]);
 
 return (opcode_t *)cur_opcode + 5;}
 
@@ -21575,7 +21575,7 @@
 opcode_t *
 Parrot_replace_s_sc_i_i_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, IREG(3), IREG(4), SREG(5));
+    SREG(1) = Parrot_str_replace(interp, CONST(2).u.string, IREG(3), IREG(4), SREG(5));
 
 return (opcode_t *)cur_opcode + 6;}
 
@@ -21589,7 +21589,7 @@
 opcode_t *
 Parrot_replace_s_sc_ic_i_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, cur_opcode[3], IREG(4), SREG(5));
+    SREG(1) = Parrot_str_replace(interp, CONST(2).u.string, cur_opcode[3], IREG(4), SREG(5));
 
 return (opcode_t *)cur_opcode + 6;}
 
@@ -21603,7 +21603,7 @@
 opcode_t *
 Parrot_replace_s_sc_i_ic_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, IREG(3), cur_opcode[4], SREG(5));
+    SREG(1) = Parrot_str_replace(interp, CONST(2).u.string, IREG(3), cur_opcode[4], SREG(5));
 
 return (opcode_t *)cur_opcode + 6;}
 
@@ -21617,63 +21617,63 @@
 opcode_t *
 Parrot_replace_s_sc_ic_ic_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, cur_opcode[3], cur_opcode[4], SREG(5));
+    SREG(1) = Parrot_str_replace(interp, CONST(2).u.string, cur_opcode[3], cur_opcode[4], SREG(5));
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_replace_s_s_i_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), IREG(4), CONST(5)->u.string);
+    SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), IREG(4), CONST(5).u.string);
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_replace_s_sc_i_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, IREG(3), IREG(4), CONST(5)->u.string);
+    SREG(1) = Parrot_str_replace(interp, CONST(2).u.string, IREG(3), IREG(4), CONST(5).u.string);
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_replace_s_s_ic_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_replace(interp, SREG(2), cur_opcode[3], IREG(4), CONST(5)->u.string);
+    SREG(1) = Parrot_str_replace(interp, SREG(2), cur_opcode[3], IREG(4), CONST(5).u.string);
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_replace_s_sc_ic_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, cur_opcode[3], IREG(4), CONST(5)->u.string);
+    SREG(1) = Parrot_str_replace(interp, CONST(2).u.string, cur_opcode[3], IREG(4), CONST(5).u.string);
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_replace_s_s_i_ic_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), cur_opcode[4], CONST(5)->u.string);
+    SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), cur_opcode[4], CONST(5).u.string);
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_replace_s_sc_i_ic_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, IREG(3), cur_opcode[4], CONST(5)->u.string);
+    SREG(1) = Parrot_str_replace(interp, CONST(2).u.string, IREG(3), cur_opcode[4], CONST(5).u.string);
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_replace_s_s_ic_ic_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_replace(interp, SREG(2), cur_opcode[3], cur_opcode[4], CONST(5)->u.string);
+    SREG(1) = Parrot_str_replace(interp, SREG(2), cur_opcode[3], cur_opcode[4], CONST(5).u.string);
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_replace_s_sc_ic_ic_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, cur_opcode[3], cur_opcode[4], CONST(5)->u.string);
+    SREG(1) = Parrot_str_replace(interp, CONST(2).u.string, cur_opcode[3], cur_opcode[4], CONST(5).u.string);
 
 return (opcode_t *)cur_opcode + 6;}
 
@@ -21687,21 +21687,21 @@
 opcode_t *
 Parrot_index_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = (CONST(2)->u.string && SREG(3)) ? Parrot_str_find_index(interp, CONST(2)->u.string, SREG(3), 0) : -1;
+    IREG(1) = (CONST(2).u.string && SREG(3)) ? Parrot_str_find_index(interp, CONST(2).u.string, SREG(3), 0) : -1;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_index_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = (SREG(2) && CONST(3)->u.string) ? Parrot_str_find_index(interp, SREG(2), CONST(3)->u.string, 0) : -1;
+    IREG(1) = (SREG(2) && CONST(3).u.string) ? Parrot_str_find_index(interp, SREG(2), CONST(3).u.string, 0) : -1;
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_index_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = (CONST(2)->u.string && CONST(3)->u.string) ? Parrot_str_find_index(interp, CONST(2)->u.string, CONST(3)->u.string, 0) : -1;
+    IREG(1) = (CONST(2).u.string && CONST(3).u.string) ? Parrot_str_find_index(interp, CONST(2).u.string, CONST(3).u.string, 0) : -1;
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21715,21 +21715,21 @@
 opcode_t *
 Parrot_index_i_sc_s_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = (CONST(2)->u.string && SREG(3)) ? Parrot_str_find_index(interp, CONST(2)->u.string, SREG(3), IREG(4)) : -1;
+    IREG(1) = (CONST(2).u.string && SREG(3)) ? Parrot_str_find_index(interp, CONST(2).u.string, SREG(3), IREG(4)) : -1;
 
 return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
 Parrot_index_i_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = (SREG(2) && CONST(3)->u.string) ? Parrot_str_find_index(interp, SREG(2), CONST(3)->u.string, IREG(4)) : -1;
+    IREG(1) = (SREG(2) && CONST(3).u.string) ? Parrot_str_find_index(interp, SREG(2), CONST(3).u.string, IREG(4)) : -1;
 
 return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
 Parrot_index_i_sc_sc_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = (CONST(2)->u.string && CONST(3)->u.string) ? Parrot_str_find_index(interp, CONST(2)->u.string, CONST(3)->u.string, IREG(4)) : -1;
+    IREG(1) = (CONST(2).u.string && CONST(3).u.string) ? Parrot_str_find_index(interp, CONST(2).u.string, CONST(3).u.string, IREG(4)) : -1;
 
 return (opcode_t *)cur_opcode + 5;}
 
@@ -21743,21 +21743,21 @@
 opcode_t *
 Parrot_index_i_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = (CONST(2)->u.string && SREG(3)) ? Parrot_str_find_index(interp, CONST(2)->u.string, SREG(3), cur_opcode[4]) : -1;
+    IREG(1) = (CONST(2).u.string && SREG(3)) ? Parrot_str_find_index(interp, CONST(2).u.string, SREG(3), cur_opcode[4]) : -1;
 
 return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
 Parrot_index_i_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = (SREG(2) && CONST(3)->u.string) ? Parrot_str_find_index(interp, SREG(2), CONST(3)->u.string, cur_opcode[4]) : -1;
+    IREG(1) = (SREG(2) && CONST(3).u.string) ? Parrot_str_find_index(interp, SREG(2), CONST(3).u.string, cur_opcode[4]) : -1;
 
 return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
 Parrot_index_i_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = (CONST(2)->u.string && CONST(3)->u.string) ? Parrot_str_find_index(interp, CONST(2)->u.string, CONST(3)->u.string, cur_opcode[4]) : -1;
+    IREG(1) = (CONST(2).u.string && CONST(3).u.string) ? Parrot_str_find_index(interp, CONST(2).u.string, CONST(3).u.string, cur_opcode[4]) : -1;
 
 return (opcode_t *)cur_opcode + 5;}
 
@@ -21771,7 +21771,7 @@
 opcode_t *
 Parrot_sprintf_s_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1)=Parrot_psprintf(interp, CONST(2)->u.string, PREG(3));
+    SREG(1)=Parrot_psprintf(interp, CONST(2).u.string, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -21843,27 +21843,27 @@
 opcode_t *
 Parrot_stringinfo_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (CONST(2)->u.string == NULL)
+    if (CONST(2).u.string == NULL)
         IREG(1) = 0;
     else {
         switch (IREG(3)) {
           case STRINGINFO_HEADER:
-            IREG(1) = PTR2UINTVAL(CONST(2)->u.string);
+            IREG(1) = PTR2UINTVAL(CONST(2).u.string);
             break;
           case STRINGINFO_STRSTART:
-            IREG(1) = PTR2UINTVAL(CONST(2)->u.string->strstart);
+            IREG(1) = PTR2UINTVAL(CONST(2).u.string->strstart);
             break;
           case STRINGINFO_BUFLEN:
-            IREG(1) = Buffer_buflen(CONST(2)->u.string);
+            IREG(1) = Buffer_buflen(CONST(2).u.string);
             break;
           case STRINGINFO_FLAGS:
-            IREG(1) = PObj_get_FLAGS(CONST(2)->u.string);
+            IREG(1) = PObj_get_FLAGS(CONST(2).u.string);
             break;
           case STRINGINFO_BUFUSED:
-            IREG(1) = CONST(2)->u.string->bufused;
+            IREG(1) = CONST(2).u.string->bufused;
             break;
           case STRINGINFO_STRLEN:
-            IREG(1) = CONST(2)->u.string->strlen;
+            IREG(1) = CONST(2).u.string->strlen;
             break;
           default:
             {
@@ -21915,27 +21915,27 @@
 opcode_t *
 Parrot_stringinfo_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (CONST(2)->u.string == NULL)
+    if (CONST(2).u.string == NULL)
         IREG(1) = 0;
     else {
         switch (cur_opcode[3]) {
           case STRINGINFO_HEADER:
-            IREG(1) = PTR2UINTVAL(CONST(2)->u.string);
+            IREG(1) = PTR2UINTVAL(CONST(2).u.string);
             break;
           case STRINGINFO_STRSTART:
-            IREG(1) = PTR2UINTVAL(CONST(2)->u.string->strstart);
+            IREG(1) = PTR2UINTVAL(CONST(2).u.string->strstart);
             break;
           case STRINGINFO_BUFLEN:
-            IREG(1) = Buffer_buflen(CONST(2)->u.string);
+            IREG(1) = Buffer_buflen(CONST(2).u.string);
             break;
           case STRINGINFO_FLAGS:
-            IREG(1) = PObj_get_FLAGS(CONST(2)->u.string);
+            IREG(1) = PObj_get_FLAGS(CONST(2).u.string);
             break;
           case STRINGINFO_BUFUSED:
-            IREG(1) = CONST(2)->u.string->bufused;
+            IREG(1) = CONST(2).u.string->bufused;
             break;
           case STRINGINFO_STRLEN:
-            IREG(1) = CONST(2)->u.string->strlen;
+            IREG(1) = CONST(2).u.string->strlen;
             break;
           default:
             {
@@ -21958,7 +21958,7 @@
 opcode_t *
 Parrot_upcase_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_upcase(interp, CONST(2)->u.string);
+    SREG(1) = Parrot_str_upcase(interp, CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -21972,7 +21972,7 @@
 opcode_t *
 Parrot_downcase_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_downcase(interp, CONST(2)->u.string);
+    SREG(1) = Parrot_str_downcase(interp, CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -21986,7 +21986,7 @@
 opcode_t *
 Parrot_titlecase_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_titlecase(interp, CONST(2)->u.string);
+    SREG(1) = Parrot_str_titlecase(interp, CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -22000,7 +22000,7 @@
 opcode_t *
 Parrot_join_s_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_join(interp, CONST(2)->u.string, PREG(3));
+    SREG(1) = Parrot_str_join(interp, CONST(2).u.string, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -22014,21 +22014,21 @@
 opcode_t *
 Parrot_split_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = Parrot_str_split(interp, CONST(2)->u.string, SREG(3));
+    PREG(1) = Parrot_str_split(interp, CONST(2).u.string, SREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_split_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = Parrot_str_split(interp, SREG(2), CONST(3)->u.string);
+    PREG(1) = Parrot_str_split(interp, SREG(2), CONST(3).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
 opcode_t *
 Parrot_split_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = Parrot_str_split(interp, CONST(2)->u.string, CONST(3)->u.string);
+    PREG(1) = Parrot_str_split(interp, CONST(2).u.string, CONST(3).u.string);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -22042,7 +22042,7 @@
 opcode_t *
 Parrot_charset_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_charset_number_of_str(interp, CONST(2)->u.string);
+    IREG(1) = Parrot_charset_number_of_str(interp, CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -22076,11 +22076,11 @@
 opcode_t *
 Parrot_find_charset_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    const INTVAL n = Parrot_charset_number(interp, CONST(2)->u.string);
+    const INTVAL n = Parrot_charset_number(interp, CONST(2).u.string);
     if (n < 0) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
                 EXCEPTION_INVALID_CHARTYPE,
-                "charset '%Ss' not found", CONST(2)->u.string);return (opcode_t *)handler;
+                "charset '%Ss' not found", CONST(2).u.string);return (opcode_t *)handler;
     }
     IREG(1) = n;
 
@@ -22096,7 +22096,7 @@
 opcode_t *
 Parrot_trans_charset_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_change_charset(interp, CONST(2)->u.string, IREG(3));
+    SREG(1) = Parrot_str_change_charset(interp, CONST(2).u.string, IREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -22110,7 +22110,7 @@
 opcode_t *
 Parrot_trans_charset_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_change_charset(interp, CONST(2)->u.string, cur_opcode[3]);
+    SREG(1) = Parrot_str_change_charset(interp, CONST(2).u.string, cur_opcode[3]);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -22124,7 +22124,7 @@
 opcode_t *
 Parrot_encoding_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_encoding_number_of_str(interp, CONST(2)->u.string);
+    IREG(1) = Parrot_encoding_number_of_str(interp, CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -22158,11 +22158,11 @@
 opcode_t *
 Parrot_find_encoding_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    const INTVAL n = Parrot_encoding_number(interp, CONST(2)->u.string);
+    const INTVAL n = Parrot_encoding_number(interp, CONST(2).u.string);
     if (n < 0) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
                 EXCEPTION_INVALID_ENCODING,
-                "encoding '%Ss' not found", CONST(2)->u.string);return (opcode_t *)handler;
+                "encoding '%Ss' not found", CONST(2).u.string);return (opcode_t *)handler;
     }
     IREG(1) = n;
 
@@ -22178,7 +22178,7 @@
 opcode_t *
 Parrot_trans_encoding_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_change_encoding(interp, CONST(2)->u.string, IREG(3));
+    SREG(1) = Parrot_str_change_encoding(interp, CONST(2).u.string, IREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -22192,7 +22192,7 @@
 opcode_t *
 Parrot_trans_encoding_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_change_encoding(interp, CONST(2)->u.string, cur_opcode[3]);
+    SREG(1) = Parrot_str_change_encoding(interp, CONST(2).u.string, cur_opcode[3]);
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -22213,14 +22213,14 @@
 opcode_t *
 Parrot_is_cclass_i_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_is_cclass(interp, IREG(2), CONST(3)->u.string, IREG(4));
+    IREG(1) = Parrot_str_is_cclass(interp, IREG(2), CONST(3).u.string, IREG(4));
 
 return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
 Parrot_is_cclass_i_ic_sc_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_is_cclass(interp, cur_opcode[2], CONST(3)->u.string, IREG(4));
+    IREG(1) = Parrot_str_is_cclass(interp, cur_opcode[2], CONST(3).u.string, IREG(4));
 
 return (opcode_t *)cur_opcode + 5;}
 
@@ -22241,14 +22241,14 @@
 opcode_t *
 Parrot_is_cclass_i_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_is_cclass(interp, IREG(2), CONST(3)->u.string, cur_opcode[4]);
+    IREG(1) = Parrot_str_is_cclass(interp, IREG(2), CONST(3).u.string, cur_opcode[4]);
 
 return (opcode_t *)cur_opcode + 5;}
 
 opcode_t *
 Parrot_is_cclass_i_ic_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_is_cclass(interp, cur_opcode[2], CONST(3)->u.string, cur_opcode[4]);
+    IREG(1) = Parrot_str_is_cclass(interp, cur_opcode[2], CONST(3).u.string, cur_opcode[4]);
 
 return (opcode_t *)cur_opcode + 5;}
 
@@ -22269,14 +22269,14 @@
 opcode_t *
 Parrot_find_cclass_i_i_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3)->u.string, IREG(4), IREG(5));
+    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3).u.string, IREG(4), IREG(5));
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_find_cclass_i_ic_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3)->u.string, IREG(4), IREG(5));
+    IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3).u.string, IREG(4), IREG(5));
 
 return (opcode_t *)cur_opcode + 6;}
 
@@ -22297,14 +22297,14 @@
 opcode_t *
 Parrot_find_cclass_i_i_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3)->u.string, cur_opcode[4], IREG(5));
+    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3).u.string, cur_opcode[4], IREG(5));
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_find_cclass_i_ic_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3)->u.string, cur_opcode[4], IREG(5));
+    IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3).u.string, cur_opcode[4], IREG(5));
 
 return (opcode_t *)cur_opcode + 6;}
 
@@ -22325,14 +22325,14 @@
 opcode_t *
 Parrot_find_cclass_i_i_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3)->u.string, IREG(4), cur_opcode[5]);
+    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3).u.string, IREG(4), cur_opcode[5]);
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_find_cclass_i_ic_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3)->u.string, IREG(4), cur_opcode[5]);
+    IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3).u.string, IREG(4), cur_opcode[5]);
 
 return (opcode_t *)cur_opcode + 6;}
 
@@ -22353,14 +22353,14 @@
 opcode_t *
 Parrot_find_cclass_i_i_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3)->u.string, cur_opcode[4], cur_opcode[5]);
+    IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3).u.string, cur_opcode[4], cur_opcode[5]);
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_find_cclass_i_ic_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3)->u.string, cur_opcode[4], cur_opcode[5]);
+    IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3).u.string, cur_opcode[4], cur_opcode[5]);
 
 return (opcode_t *)cur_opcode + 6;}
 
@@ -22381,14 +22381,14 @@
 opcode_t *
 Parrot_find_not_cclass_i_i_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3)->u.string, IREG(4), IREG(5));
+    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3).u.string, IREG(4), IREG(5));
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_find_not_cclass_i_ic_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3)->u.string, IREG(4), IREG(5));
+    IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3).u.string, IREG(4), IREG(5));
 
 return (opcode_t *)cur_opcode + 6;}
 
@@ -22409,14 +22409,14 @@
 opcode_t *
 Parrot_find_not_cclass_i_i_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3)->u.string, cur_opcode[4], IREG(5));
+    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3).u.string, cur_opcode[4], IREG(5));
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_find_not_cclass_i_ic_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3)->u.string, cur_opcode[4], IREG(5));
+    IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3).u.string, cur_opcode[4], IREG(5));
 
 return (opcode_t *)cur_opcode + 6;}
 
@@ -22437,14 +22437,14 @@
 opcode_t *
 Parrot_find_not_cclass_i_i_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3)->u.string, IREG(4), cur_opcode[5]);
+    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3).u.string, IREG(4), cur_opcode[5]);
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_find_not_cclass_i_ic_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3)->u.string, IREG(4), cur_opcode[5]);
+    IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3).u.string, IREG(4), cur_opcode[5]);
 
 return (opcode_t *)cur_opcode + 6;}
 
@@ -22465,14 +22465,14 @@
 opcode_t *
 Parrot_find_not_cclass_i_i_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3)->u.string, cur_opcode[4], cur_opcode[5]);
+    IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3).u.string, cur_opcode[4], cur_opcode[5]);
 
 return (opcode_t *)cur_opcode + 6;}
 
 opcode_t *
 Parrot_find_not_cclass_i_ic_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3)->u.string, cur_opcode[4], cur_opcode[5]);
+    IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3).u.string, cur_opcode[4], cur_opcode[5]);
 
 return (opcode_t *)cur_opcode + 6;}
 
@@ -22493,7 +22493,7 @@
 opcode_t *
 Parrot_compose_s_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    SREG(1) = Parrot_str_compose(interp, CONST(2)->u.string);
+    SREG(1) = Parrot_str_compose(interp, CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -22507,7 +22507,7 @@
 opcode_t *
 Parrot_spawnw_i_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    IREG(1) = Parrot_Run_OS_Command(interp, CONST(2)->u.string);
+    IREG(1) = Parrot_Run_OS_Command(interp, CONST(2).u.string);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -22603,12 +22603,12 @@
 Parrot_sleep_nc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     opcode_t *next = cur_opcode + 2;
-    if (CONST(1)->u.number < 0.0) {
+    if (CONST(1).u.number < 0.0) {
         opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, next,
             EXCEPTION_NEG_SLEEP,
             "Cannot go back in time");return (opcode_t *)handler;
     }
-    next = (opcode_t *)Parrot_cx_schedule_sleep(interp, CONST(1)->u.number, next);return (opcode_t *)next;
+    next = (opcode_t *)Parrot_cx_schedule_sleep(interp, CONST(1).u.number, next);return (opcode_t *)next;
 }
 
 opcode_t *
@@ -22631,7 +22631,7 @@
 Parrot_store_lex_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC     * const ctx      = CURRENT_CONTEXT(interp);
-    STRING  * const lex_name = CONST(1)->u.string;
+    STRING  * const lex_name = CONST(1).u.string;
     PMC     * const lex_pad  = Parrot_find_pad(interp, lex_name, ctx);
 
     if (PMC_IS_NULL(lex_pad)) {
@@ -22666,7 +22666,7 @@
 opcode_t *
 Parrot_store_dynamic_lex_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    STRING  * const lex_name = CONST(1)->u.string;
+    STRING  * const lex_name = CONST(1).u.string;
     PMC     * const ctx      =
         Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
     PMC     * const lex_pad  =
@@ -22707,7 +22707,7 @@
 Parrot_find_lex_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC     * const ctx      = CURRENT_CONTEXT(interp);
-    STRING  * const lex_name = CONST(2)->u.string;
+    STRING  * const lex_name = CONST(2).u.string;
     PMC     * const lex_pad  = Parrot_find_pad(interp, lex_name, ctx);
 
     PMC * const result =
@@ -22744,7 +22744,7 @@
 opcode_t *
 Parrot_find_dynamic_lex_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    STRING  * const lex_name = CONST(2)->u.string;
+    STRING  * const lex_name = CONST(2).u.string;
     PMC     * const ctx      =
         Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
     PMC     * const lex_pad  =
@@ -22783,7 +22783,7 @@
 opcode_t *
 Parrot_find_caller_lex_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    STRING  * const lex_name = CONST(2)->u.string;
+    STRING  * const lex_name = CONST(2).u.string;
     PMC     * ctx            = CURRENT_CONTEXT(interp);
     PMC     * result         = PMCNULL;
 
@@ -22823,7 +22823,7 @@
 Parrot_get_namespace_p_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
-    PMC * const ns     = Parrot_ns_get_namespace_keyed(interp, cur_ns, CONST(2)->u.key);
+    PMC * const ns     = Parrot_ns_get_namespace_keyed(interp, cur_ns, CONST(2).u.key);
 
     PREG(1) = PMC_IS_NULL(ns) ? PMCNULL : ns;
 
@@ -22857,7 +22857,7 @@
     if (PMC_IS_NULL(hll_ns))
         PREG(1) = PMCNULL;
     else {
-        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, CONST(2)->u.key);
+        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, CONST(2).u.key);
         PREG(1) = ns;
     }
 
@@ -22891,7 +22891,7 @@
     if (PMC_IS_NULL(root_ns))
         PREG(1) = PMCNULL;
     else {
-        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, root_ns, CONST(2)->u.key);
+        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, root_ns, CONST(2).u.key);
         PREG(1) = ns;
     }
 
@@ -22909,7 +22909,7 @@
 Parrot_get_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
-    PREG(1) = Parrot_ns_find_global_from_op(interp, cur_ns, CONST(2)->u.string, cur_opcode + 3);
+    PREG(1) = Parrot_ns_find_global_from_op(interp, cur_ns, CONST(2).u.string, cur_opcode + 3);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -22938,7 +22938,7 @@
         PREG(1) = PMCNULL;
     }
     else {
-        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, CONST(2)->u.key);
+        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, CONST(2).u.key);
         if (PMC_IS_NULL(ns))
             PREG(1) = PMCNULL;
         else
@@ -22959,7 +22959,7 @@
         if (PMC_IS_NULL(ns))
             PREG(1) = PMCNULL;
         else
-            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string, cur_opcode + 4);
+            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3).u.string, cur_opcode + 4);
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -22972,11 +22972,11 @@
         PREG(1) = PMCNULL;
     }
     else {
-        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, CONST(2)->u.key);
+        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, cur_ns, CONST(2).u.key);
         if (PMC_IS_NULL(ns))
             PREG(1) = PMCNULL;
         else
-            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string, cur_opcode + 4);
+            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3).u.string, cur_opcode + 4);
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -22993,7 +22993,7 @@
 Parrot_get_hll_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
-    PREG(1) = Parrot_ns_find_global_from_op(interp, hll_ns, CONST(2)->u.string, cur_opcode + 3);
+    PREG(1) = Parrot_ns_find_global_from_op(interp, hll_ns, CONST(2).u.string, cur_opcode + 3);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -23022,7 +23022,7 @@
         PREG(1) = hll_ns;
     }
     else {
-        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, CONST(2)->u.key);
+        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, CONST(2).u.key);
         if (PMC_IS_NULL(ns))
             PREG(1) = PMCNULL;
         else
@@ -23043,7 +23043,7 @@
         if (PMC_IS_NULL(ns))
             PREG(1) = PMCNULL;
         else
-            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string, cur_opcode + 4);
+            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3).u.string, cur_opcode + 4);
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -23056,11 +23056,11 @@
         PREG(1) = hll_ns;
     }
     else {
-        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, CONST(2)->u.key);
+        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, hll_ns, CONST(2).u.key);
         if (PMC_IS_NULL(ns))
             PREG(1) = PMCNULL;
         else
-            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string, cur_opcode + 4);
+            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3).u.string, cur_opcode + 4);
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -23077,7 +23077,7 @@
 Parrot_get_root_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const root_ns = interp->root_namespace;
-    PREG(1) = Parrot_ns_find_global_from_op(interp, root_ns, CONST(2)->u.string, cur_opcode + 3);
+    PREG(1) = Parrot_ns_find_global_from_op(interp, root_ns, CONST(2).u.string, cur_opcode + 3);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -23104,7 +23104,7 @@
     if (PMC_IS_NULL(root_ns))
         PREG(1) = PMCNULL;
     else {
-        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, root_ns, CONST(2)->u.key);
+        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, root_ns, CONST(2).u.key);
         if (PMC_IS_NULL(ns))
             PREG(1) = PMCNULL;
         else
@@ -23124,7 +23124,7 @@
         if (PMC_IS_NULL(ns))
             PREG(1) = PMCNULL;
         else
-            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string, cur_opcode + 4);
+            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3).u.string, cur_opcode + 4);
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -23136,11 +23136,11 @@
     if (PMC_IS_NULL(root_ns))
         PREG(1) = PMCNULL;
     else {
-        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, root_ns, CONST(2)->u.key);
+        PMC * const ns = Parrot_ns_get_namespace_keyed(interp, root_ns, CONST(2).u.key);
         if (PMC_IS_NULL(ns))
             PREG(1) = PMCNULL;
         else
-            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3)->u.string, cur_opcode + 4);
+            PREG(1) = Parrot_ns_find_global_from_op(interp, ns, CONST(3).u.string, cur_opcode + 4);
     }
 
 return (opcode_t *)cur_opcode + 4;}
@@ -23157,7 +23157,7 @@
 Parrot_set_global_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
-    Parrot_ns_set_global(interp, cur_ns, CONST(1)->u.string, PREG(2));
+    Parrot_ns_set_global(interp, cur_ns, CONST(1).u.string, PREG(2));
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -23175,7 +23175,7 @@
 Parrot_set_global_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
-    PMC * const ns     = Parrot_ns_make_namespace_keyed(interp, cur_ns, CONST(1)->u.key);
+    PMC * const ns     = Parrot_ns_make_namespace_keyed(interp, cur_ns, CONST(1).u.key);
 
     Parrot_ns_set_global(interp, ns, SREG(2), PREG(3));
 
@@ -23187,7 +23187,7 @@
     PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
     PMC * const ns     = Parrot_ns_make_namespace_keyed(interp, cur_ns, PREG(1));
 
-    Parrot_ns_set_global(interp, ns, CONST(2)->u.string, PREG(3));
+    Parrot_ns_set_global(interp, ns, CONST(2).u.string, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -23195,9 +23195,9 @@
 Parrot_set_global_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
-    PMC * const ns     = Parrot_ns_make_namespace_keyed(interp, cur_ns, CONST(1)->u.key);
+    PMC * const ns     = Parrot_ns_make_namespace_keyed(interp, cur_ns, CONST(1).u.key);
 
-    Parrot_ns_set_global(interp, ns, CONST(2)->u.string, PREG(3));
+    Parrot_ns_set_global(interp, ns, CONST(2).u.string, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -23213,7 +23213,7 @@
 Parrot_set_hll_global_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
-    Parrot_ns_set_global(interp, hll_ns, CONST(1)->u.string, PREG(2));
+    Parrot_ns_set_global(interp, hll_ns, CONST(1).u.string, PREG(2));
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -23231,7 +23231,7 @@
 Parrot_set_hll_global_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
-    PMC * const ns     = Parrot_ns_make_namespace_keyed(interp, hll_ns, CONST(1)->u.key);
+    PMC * const ns     = Parrot_ns_make_namespace_keyed(interp, hll_ns, CONST(1).u.key);
 
     Parrot_ns_set_global(interp, ns, SREG(2), PREG(3));
 
@@ -23243,7 +23243,7 @@
     PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
     PMC * const ns     = Parrot_ns_make_namespace_keyed(interp, hll_ns, PREG(1));
 
-    Parrot_ns_set_global(interp, ns, CONST(2)->u.string, PREG(3));
+    Parrot_ns_set_global(interp, ns, CONST(2).u.string, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -23251,9 +23251,9 @@
 Parrot_set_hll_global_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
-    PMC * const ns     = Parrot_ns_make_namespace_keyed(interp, hll_ns, CONST(1)->u.key);
+    PMC * const ns     = Parrot_ns_make_namespace_keyed(interp, hll_ns, CONST(1).u.key);
 
-    Parrot_ns_set_global(interp, ns, CONST(2)->u.string, PREG(3));
+    Parrot_ns_set_global(interp, ns, CONST(2).u.string, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -23269,7 +23269,7 @@
 Parrot_set_root_global_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const root_ns = interp->root_namespace;
-    Parrot_ns_set_global(interp, root_ns, CONST(1)->u.string, PREG(2));
+    Parrot_ns_set_global(interp, root_ns, CONST(1).u.string, PREG(2));
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -23287,7 +23287,7 @@
 Parrot_set_root_global_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const root_ns = interp->root_namespace;
-    PMC * const ns      = Parrot_ns_make_namespace_keyed(interp, root_ns, CONST(1)->u.key);
+    PMC * const ns      = Parrot_ns_make_namespace_keyed(interp, root_ns, CONST(1).u.key);
 
     Parrot_ns_set_global(interp, ns, SREG(2), PREG(3));
 
@@ -23299,7 +23299,7 @@
     PMC * const root_ns = interp->root_namespace;
     PMC * const ns      = Parrot_ns_make_namespace_keyed(interp, root_ns, PREG(1));
 
-    Parrot_ns_set_global(interp, ns, CONST(2)->u.string, PREG(3));
+    Parrot_ns_set_global(interp, ns, CONST(2).u.string, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -23307,9 +23307,9 @@
 Parrot_set_root_global_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PMC * const root_ns = interp->root_namespace;
-    PMC * const ns      = Parrot_ns_make_namespace_keyed(interp, root_ns, CONST(1)->u.key);
+    PMC * const ns      = Parrot_ns_make_namespace_keyed(interp, root_ns, CONST(1).u.key);
 
-    Parrot_ns_set_global(interp, ns, CONST(2)->u.string, PREG(3));
+    Parrot_ns_set_global(interp, ns, CONST(2).u.string, PREG(3));
 
 return (opcode_t *)cur_opcode + 4;}
 
@@ -23329,13 +23329,13 @@
 opcode_t *
 Parrot_find_name_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    if (!CONST(2)->u.string) {
+    if (!CONST(2).u.string) {
         opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
                 EXCEPTION_INVALID_OPERATION,
                 "Tried to find null name");return (opcode_t *)handler;
     }
 
-    PREG(1) = Parrot_ns_find_named_item(interp, CONST(2)->u.string, cur_opcode + 3);
+    PREG(1) = Parrot_ns_find_named_item(interp, CONST(2).u.string, cur_opcode + 3);
 
 return (opcode_t *)cur_opcode + 3;}
 
@@ -23361,14 +23361,14 @@
 Parrot_find_sub_not_null_p_sc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     opcode_t *dest = cur_opcode + 3;
-    PMC *sub = Parrot_ns_find_named_item(interp, CONST(2)->u.string, dest);
+    PMC *sub = Parrot_ns_find_named_item(interp, CONST(2).u.string, dest);
 
     if (PMC_IS_NULL(sub)) {
         opcode_t *handler;
         Parrot_pcc_set_pc_func(interp, CURRENT_CONTEXT(interp), dest);
         handler = Parrot_ex_throw_from_op_args(interp, dest,
                        EXCEPTION_GLOBAL_NOT_FOUND,
-                       "Could not find sub %Ss", CONST(2)->u.string);return (opcode_t *)handler;
+                       "Could not find sub %Ss", CONST(2).u.string);return (opcode_t *)handler;
     }
 
     PREG(1) = sub;
@@ -23427,7 +23427,7 @@
 opcode_t *
 Parrot_fetch_p_pc_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, PREG(3));
+    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2).u.key, PREG(3));
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
         if (!PMC_IS_NULL(classobj))
@@ -23449,7 +23449,7 @@
 opcode_t *
 Parrot_fetch_p_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3)->u.key);
+    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3).u.key);
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
         if (!PMC_IS_NULL(classobj))
@@ -23471,7 +23471,7 @@
 opcode_t *
 Parrot_fetch_p_pc_pc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key);
+    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2).u.key, CONST(3).u.key);
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
         if (!PMC_IS_NULL(classobj))
@@ -23495,15 +23495,15 @@
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -23515,17 +23515,17 @@
 opcode_t *
 Parrot_fetch_p_pc_p_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, PREG(3));
+    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2).u.key, PREG(3));
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -23537,17 +23537,17 @@
 opcode_t *
 Parrot_fetch_p_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3)->u.key);
+    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3).u.key);
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -23559,17 +23559,17 @@
 opcode_t *
 Parrot_fetch_p_pc_pc_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key);
+    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2).u.key, CONST(3).u.key);
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -23603,7 +23603,7 @@
 opcode_t *
 Parrot_fetch_p_pc_i_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3));
+    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2).u.key, IREG(3));
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
         if (!PMC_IS_NULL(classobj))
@@ -23647,7 +23647,7 @@
 opcode_t *
 Parrot_fetch_p_pc_ic_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3]);
+    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2).u.key, cur_opcode[3]);
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
         if (!PMC_IS_NULL(classobj))
@@ -23671,15 +23671,15 @@
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -23691,17 +23691,17 @@
 opcode_t *
 Parrot_fetch_p_pc_i_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3));
+    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2).u.key, IREG(3));
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -23715,15 +23715,15 @@
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), cur_opcode[3]);
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -23735,17 +23735,17 @@
 opcode_t *
 Parrot_fetch_p_pc_ic_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3]);
+    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2).u.key, cur_opcode[3]);
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -23779,7 +23779,7 @@
 opcode_t *
 Parrot_fetch_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3));
+    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2).u.key, SREG(3));
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
         if (!PMC_IS_NULL(classobj))
@@ -23801,7 +23801,7 @@
 opcode_t *
 Parrot_fetch_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string);
+    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3).u.string);
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
         if (!PMC_IS_NULL(classobj))
@@ -23823,7 +23823,7 @@
 opcode_t *
 Parrot_fetch_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string);
+    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2).u.key, CONST(3).u.string);
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
         if (!PMC_IS_NULL(classobj))
@@ -23847,15 +23847,15 @@
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -23867,17 +23867,17 @@
 opcode_t *
 Parrot_fetch_p_pc_s_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3));
+    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2).u.key, SREG(3));
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -23889,17 +23889,17 @@
 opcode_t *
 Parrot_fetch_p_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string);
+    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3).u.string);
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -23911,17 +23911,17 @@
 opcode_t *
 Parrot_fetch_p_pc_sc_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string);
+    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2).u.key, CONST(3).u.string);
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -23958,7 +23958,7 @@
 opcode_t *
 Parrot_vivify_p_pc_p_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, PREG(3));
+    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2).u.key, PREG(3));
 
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -23975,7 +23975,7 @@
 
             PREG(1) = Parrot_pmc_new(interp, type);
         }
-        VTABLE_set_pmc_keyed(interp, CONST(2)->u.key, PREG(3), PREG(1));
+        VTABLE_set_pmc_keyed(interp, CONST(2).u.key, PREG(3), PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -23983,7 +23983,7 @@
 opcode_t *
 Parrot_vivify_p_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3)->u.key);
+    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3).u.key);
 
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -24000,7 +24000,7 @@
 
             PREG(1) = Parrot_pmc_new(interp, type);
         }
-        VTABLE_set_pmc_keyed(interp, PREG(2), CONST(3)->u.key, PREG(1));
+        VTABLE_set_pmc_keyed(interp, PREG(2), CONST(3).u.key, PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -24008,7 +24008,7 @@
 opcode_t *
 Parrot_vivify_p_pc_pc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key);
+    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2).u.key, CONST(3).u.key);
 
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -24025,7 +24025,7 @@
 
             PREG(1) = Parrot_pmc_new(interp, type);
         }
-        VTABLE_set_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key, PREG(1));
+        VTABLE_set_pmc_keyed(interp, CONST(2).u.key, CONST(3).u.key, PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -24036,16 +24036,16 @@
     PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
 
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
 
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -24058,24 +24058,24 @@
 opcode_t *
 Parrot_vivify_p_pc_p_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, PREG(3));
+    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2).u.key, PREG(3));
 
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
 
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
         }
-        VTABLE_set_pmc_keyed(interp, CONST(2)->u.key, PREG(3), PREG(1));
+        VTABLE_set_pmc_keyed(interp, CONST(2).u.key, PREG(3), PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -24083,24 +24083,24 @@
 opcode_t *
 Parrot_vivify_p_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3)->u.key);
+    PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3).u.key);
 
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
 
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
         }
-        VTABLE_set_pmc_keyed(interp, PREG(2), CONST(3)->u.key, PREG(1));
+        VTABLE_set_pmc_keyed(interp, PREG(2), CONST(3).u.key, PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -24108,24 +24108,24 @@
 opcode_t *
 Parrot_vivify_p_pc_pc_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key);
+    PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2).u.key, CONST(3).u.key);
 
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
 
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
         }
-        VTABLE_set_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key, PREG(1));
+        VTABLE_set_pmc_keyed(interp, CONST(2).u.key, CONST(3).u.key, PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -24158,7 +24158,7 @@
 opcode_t *
 Parrot_vivify_p_pc_i_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3));
+    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2).u.key, IREG(3));
 
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -24175,7 +24175,7 @@
             PREG(1) = Parrot_pmc_new(interp, type);
         }
 
-        VTABLE_set_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3), PREG(1));
+        VTABLE_set_pmc_keyed_int(interp, CONST(2).u.key, IREG(3), PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -24208,7 +24208,7 @@
 opcode_t *
 Parrot_vivify_p_pc_ic_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3]);
+    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2).u.key, cur_opcode[3]);
 
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -24225,7 +24225,7 @@
             PREG(1) = Parrot_pmc_new(interp, type);
         }
 
-        VTABLE_set_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3], PREG(1));
+        VTABLE_set_pmc_keyed_int(interp, CONST(2).u.key, cur_opcode[3], PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -24236,15 +24236,15 @@
     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
 
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -24258,24 +24258,24 @@
 opcode_t *
 Parrot_vivify_p_pc_i_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3));
+    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2).u.key, IREG(3));
 
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
         }
 
-        VTABLE_set_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3), PREG(1));
+        VTABLE_set_pmc_keyed_int(interp, CONST(2).u.key, IREG(3), PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -24286,15 +24286,15 @@
     PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), cur_opcode[3]);
 
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -24308,24 +24308,24 @@
 opcode_t *
 Parrot_vivify_p_pc_ic_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3]);
+    PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2).u.key, cur_opcode[3]);
 
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
         }
 
-        VTABLE_set_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3], PREG(1));
+        VTABLE_set_pmc_keyed_int(interp, CONST(2).u.key, cur_opcode[3], PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -24358,7 +24358,7 @@
 opcode_t *
 Parrot_vivify_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3));
+    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2).u.key, SREG(3));
 
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -24375,7 +24375,7 @@
             PREG(1) = Parrot_pmc_new(interp, type);
         }
 
-        VTABLE_set_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3), PREG(1));
+        VTABLE_set_pmc_keyed_str(interp, CONST(2).u.key, SREG(3), PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -24383,7 +24383,7 @@
 opcode_t *
 Parrot_vivify_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string);
+    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3).u.string);
 
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -24400,7 +24400,7 @@
             PREG(1) = Parrot_pmc_new(interp, type);
         }
 
-        VTABLE_set_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string, PREG(1));
+        VTABLE_set_pmc_keyed_str(interp, PREG(2), CONST(3).u.string, PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -24408,7 +24408,7 @@
 opcode_t *
 Parrot_vivify_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string);
+    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2).u.key, CONST(3).u.string);
 
     if (PMC_IS_NULL(PREG(1))) {
         PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -24425,7 +24425,7 @@
             PREG(1) = Parrot_pmc_new(interp, type);
         }
 
-        VTABLE_set_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string, PREG(1));
+        VTABLE_set_pmc_keyed_str(interp, CONST(2).u.key, CONST(3).u.string, PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -24436,15 +24436,15 @@
     PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
 
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
@@ -24458,24 +24458,24 @@
 opcode_t *
 Parrot_vivify_p_pc_s_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3));
+    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2).u.key, SREG(3));
 
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
         }
 
-        VTABLE_set_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3), PREG(1));
+        VTABLE_set_pmc_keyed_str(interp, CONST(2).u.key, SREG(3), PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -24483,24 +24483,24 @@
 opcode_t *
 Parrot_vivify_p_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string);
+    PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3).u.string);
 
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
         }
 
-        VTABLE_set_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string, PREG(1));
+        VTABLE_set_pmc_keyed_str(interp, PREG(2), CONST(3).u.string, PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -24508,24 +24508,24 @@
 opcode_t *
 Parrot_vivify_p_pc_sc_pc(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string);
+    PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2).u.key, CONST(3).u.string);
 
     if (PMC_IS_NULL(PREG(1))) {
-        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
+        PMC * const classobj = Parrot_oo_get_class(interp, CONST(4).u.key);
         if (!PMC_IS_NULL(classobj))
             PREG(1) = VTABLE_instantiate(interp, classobj, PMCNULL);
         else {
-            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4)->u.key);
+            const INTVAL type = Parrot_pmc_get_type(interp, CONST(4).u.key);
             if (type <= 0) {
                 opcode_t *dest = Parrot_ex_throw_from_op_args(
                     interp, cur_opcode + 5, EXCEPTION_NO_CLASS,
-                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4)->u.key));return (opcode_t *)dest;
+                    "Class '%Ss' not found", VTABLE_get_repr(interp, CONST(4).u.key));return (opcode_t *)dest;
             }
 
             PREG(1) = Parrot_pmc_new(interp, type);
         }
 
-        VTABLE_set_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string, PREG(1));
+        VTABLE_set_pmc_keyed_str(interp, CONST(2).u.key, CONST(3).u.string, PREG(1));
     }
 
 return (opcode_t *)cur_opcode + 5;}
@@ -24558,7 +24558,7 @@
 opcode_t *
 Parrot_new_p_sc_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    STRING * const name   = CONST(2)->u.string;
+    STRING * const name   = CONST(2).u.string;
     PMC    * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
                           ? Parrot_oo_get_class_str(interp, name)
                           : PMCNULL;
@@ -24608,7 +24608,7 @@
 opcode_t *
 Parrot_new_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    STRING * const name   = CONST(2)->u.string;
+    STRING * const name   = CONST(2).u.string;
     PMC    * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
                           ? Parrot_oo_get_class_str(interp, name)
                           : PMCNULL;
@@ -24665,7 +24665,7 @@
 opcode_t *
 Parrot_new_p_pc_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC * const  name_key = CONST(2)->u.key;
+    PMC * const  name_key = CONST(2).u.key;
 
     /* get_class() returns a PMCProxy for core types, so check for core PMCs */
     const INTVAL type = Parrot_pmc_get_type(interp, name_key);
@@ -24729,7 +24729,7 @@
 opcode_t *
 Parrot_new_p_pc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC * const  name_key = CONST(2)->u.key;
+    PMC * const  name_key = CONST(2).u.key;
 
     /* get_class() returns a PMCProxy for core types, so check for core PMCs */
     const INTVAL type = Parrot_pmc_get_type(interp, name_key);
@@ -24795,7 +24795,7 @@
 opcode_t *
 Parrot_root_new_p_pc_i(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC * const  name_key = CONST(2)->u.key;
+    PMC * const  name_key = CONST(2).u.key;
 
     /* get_class() returns a PMCProxy for core types, so check for core PMCs */
     const INTVAL type = Parrot_pmc_get_type(interp, name_key);
@@ -24863,7 +24863,7 @@
 opcode_t *
 Parrot_root_new_p_pc_ic(opcode_t *cur_opcode, PARROT_INTERP)  {
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
-    PMC * const  name_key = CONST(2)->u.key;
+    PMC * const  name_key = CONST(2).u.key;
 
     /* get_class() returns a PMCProxy for core types, so check for core PMCs */
     const INTVAL type = Parrot_pmc_get_type(interp, name_key);
@@ -24916,7 +24916,7 @@
     const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
 #if PARROT_HAS_ICU
     UErrorCode   err       = U_ZERO_ERROR;
-    char * const cstr      = Parrot_str_to_cstring(interp, CONST(2)->u.string);
+    char * const cstr      = Parrot_str_to_cstring(interp, CONST(2).u.string);
     UChar32      codepoint = u_charFromName(U_EXTENDED_CHAR_NAME, cstr, &err);
     Parrot_str_free_cstring(cstr);
     IREG(1) = U_SUCCESS(err) ? (INTVAL) codepoint : -1;
@@ -24973,13 +24973,13 @@
     /* Go to the next op after loop unrolling */
     opcode_t * const dest = cur_opcode + 2;
     PMC *eh = PMCNULL;
-    if (!PMC_IS_NULL(CONST(1)->u.key)) {
+    if (!PMC_IS_NULL(CONST(1).u.key)) {
         /* If isa ExceptionHandler, use it. If isa Exception, get its active handler */
-        if (VTABLE_isa(interp, CONST(1)->u.key, Parrot_str_new_constant(interp, "ExceptionHandler")))
-            eh = CONST(1)->u.key;
-        else if (VTABLE_isa(interp, CONST(1)->u.key, Parrot_str_new_constant(interp, "Exception"))) {
+        if (VTABLE_isa(interp, CONST(1).u.key, Parrot_str_new_constant(interp, "ExceptionHandler")))
+            eh = CONST(1).u.key;
+        else if (VTABLE_isa(interp, CONST(1).u.key, Parrot_str_new_constant(interp, "Exception"))) {
             PMC *iter = VTABLE_get_attr_str(interp,
-                                            CONST(1)->u.key, Parrot_str_new_constant(interp, "handler_iter"));
+                                            CONST(1).u.key, Parrot_str_new_constant(interp, "handler_iter"));
             if (!PMC_IS_NULL(iter))
                 eh = VTABLE_get_pmc_keyed_int(interp, iter, -1);
         }
@@ -25017,7 +25017,7 @@
   PARROT_FUNCTION_CORE,                       /* core_type = PARROT_XX_CORE */
   0,                                /* flags */
   2,    /* major_version */
-  5,    /* minor_version */
+  6,    /* minor_version */
   0,    /* patch_version */
   1083,             /* op_count */
   core_op_info_table,       /* op_info_table */

Modified: branches/html_cleanup/src/ops/math.ops
==============================================================================
--- branches/html_cleanup/src/ops/math.ops	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/ops/math.ops	Tue Aug  3 22:29:26 2010	(r48299)
@@ -299,7 +299,7 @@
         goto ADDRESS(handler);
     }
 
-    f  = floor($1 / den);
+    f  = floor(((FLOATVAL)$1) / den);
     $1 = (INTVAL)f;
 }
 
@@ -337,7 +337,7 @@
         goto ADDRESS(handler);
     }
 
-    f  = floor($2 / den);
+    f  = floor((FLOATVAL)$2 / den);
     $1 = (INTVAL)f;
 }
 

Modified: branches/html_cleanup/src/packdump.c
==============================================================================
--- branches/html_cleanup/src/packdump.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/packdump.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -69,7 +69,7 @@
 
     for (i = 0; i < self->const_count; ++i) {
         Parrot_io_printf(interp, "    # %x:\n", (long)i);
-        PackFile_Constant_dump(interp, self, self->constants[i]);
+        PackFile_Constant_dump(interp, self, &self->constants[i]);
     }
 }
 
@@ -209,7 +209,7 @@
                     Parrot_io_printf(interp, "        TYPE        => NUMBER\n");
                     ct_index = PackFile_find_in_const(interp, ct, key, PFC_NUMBER);
                     Parrot_io_printf(interp, "        PFC_OFFSET  => %ld\n", ct_index);
-                    detail = ct->constants[ct_index];
+                    detail = &ct->constants[ct_index];
                     Parrot_io_printf(interp, "        DATA        => %ld\n", detail->u.number);
                     Parrot_io_printf(interp, "       },\n");
                 }
@@ -222,7 +222,7 @@
                     Parrot_io_printf(interp, "        TYPE        => STRING\n");
                     ct_index = PackFile_find_in_const(interp, ct, key, PFC_STRING);
                     Parrot_io_printf(interp, "        PFC_OFFSET  => %ld\n", ct_index);
-                    detail = ct->constants[ct_index];
+                    detail = &ct->constants[ct_index];
                     Parrot_io_printf(interp, "        DATA        => '%Ss'\n",
                               detail->u.string);
                     Parrot_io_printf(interp, "       },\n");

Modified: branches/html_cleanup/src/packfile.c
==============================================================================
--- branches/html_cleanup/src/packfile.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/packfile.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -53,12 +53,13 @@
     SHIM(int add))
         __attribute__nonnull__(1);
 
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static PackFile_Constant * clone_constant(PARROT_INTERP,
-    ARGIN(PackFile_Constant *old_const))
+static void clone_constant(PARROT_INTERP,
+    ARGIN(PackFile_Constant *old_const),
+    ARGMOD(PackFile_Constant *new_const))
         __attribute__nonnull__(1)
-        __attribute__nonnull__(2);
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
+        FUNC_MODIFIES(*new_const);
 
 static void compile_or_load_file(PARROT_INTERP,
     ARGIN(STRING *path),
@@ -186,7 +187,7 @@
 
 PARROT_WARN_UNUSED_RESULT
 PARROT_CANNOT_RETURN_NULL
-static PackFile_Constant ** find_constants(PARROT_INTERP,
+static PackFile_Constant * find_constants(PARROT_INTERP,
     ARGIN(PackFile_ConstTable *ct))
         __attribute__nonnull__(1)
         __attribute__nonnull__(2);
@@ -354,7 +355,8 @@
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_clone_constant __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
-    , PARROT_ASSERT_ARG(old_const))
+    , PARROT_ASSERT_ARG(old_const) \
+    , PARROT_ASSERT_ARG(new_const))
 #define ASSERT_ARGS_compile_or_load_file __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(path))
@@ -698,7 +700,7 @@
     Parrot_pcc_set_constants(interp, CURRENT_CONTEXT(interp),
             interp->code->const_table->constants);
 
-    Parrot_pcc_invoke_sub_from_c_args(interp, sub_pmc, "->P", &retval);
+    Parrot_ext_call(interp, sub_pmc, "->P", &retval);
     interp->run_core = old_core;
 
     return retval;
@@ -815,22 +817,24 @@
 mark_1_seg(PARROT_INTERP, ARGMOD(PackFile_ConstTable *ct))
 {
     ASSERT_ARGS(mark_1_seg)
-    PackFile_Constant ** const constants = find_constants(interp, ct);
+    PackFile_Constant * const constants = find_constants(interp, ct);
     opcode_t i;
 
     for (i = 0; i < ct->const_count; ++i) {
-        PMC    * pmc;
-        STRING * string;
-        switch (constants[i]->type) {
+        switch (constants[i].type) {
           case PFC_PMC:
           case PFC_KEY:
-            pmc = constants[i]->u.key;
+          {
+            PMC * const pmc = constants[i].u.key;
             Parrot_gc_mark_PMC_alive(interp, pmc);
             break;
+          }
           case PFC_STRING:
-            string = constants[i]->u.string;
+          {
+            STRING * const string = constants[i].u.string;
             Parrot_gc_mark_STRING_alive(interp, string);
             break;
+           }
           default:
             /* Do nothing. */
             break;
@@ -856,6 +860,9 @@
                                ARGIN_NULLOK(void *user_data))
 {
     ASSERT_ARGS(find_const_iter)
+
+    Parrot_gc_mark_STRING_alive(interp, seg->name);
+
     if (seg->type == PF_DIR_SEG)
         PackFile_map_segments(interp, (const PackFile_Directory *)seg,
                 find_const_iter, user_data);
@@ -881,18 +888,18 @@
 mark_const_subs(PARROT_INTERP)
 {
     ASSERT_ARGS(mark_const_subs)
-    PackFile_Directory *dir;
 
     PackFile * const self = interp->initial_pf;
 
     if (!self)
         return;
+    else {
+        /* locate top level dir */
+        PackFile_Directory * const dir = &self->directory;
 
-    /* locate top level dir */
-    dir = &self->directory;
-
-    /* iterate over all dir/segs */
-    PackFile_map_segments(interp, dir, find_const_iter, NULL);
+        /* iterate over all dir/segs */
+        PackFile_map_segments(interp, dir, find_const_iter, NULL);
+    }
 }
 
 
@@ -942,7 +949,7 @@
                     Parrot_ex_throw_from_c_args(interp, NULL, 1,
                         "Illegal fixup offset (%d) in enum_fixup_sub");
 
-                sub_pmc       = ct->constants[ci]->u.key;
+                sub_pmc       = ct->constants[ci].u.key;
                 PMC_get_sub(interp, sub_pmc, sub);
                 sub->eval_pmc = eval_pmc;
 
@@ -955,7 +962,7 @@
                     /* replace Sub PMC with computation results */
                     if (action == PBC_IMMEDIATE && !PMC_IS_NULL(result)) {
                         ft->fixups[i].type      = enum_fixup_none;
-                        ct->constants[ci]->u.key = result;
+                        ct->constants[ci].u.key = result;
                     }
                 }
 
@@ -2813,7 +2820,7 @@
         Parrot_io_printf(interp, "        OFFSET => %d,\n",
                    debug->mappings[i].offset);
         Parrot_io_printf(interp, "        FILENAME => %Ss\n",
-                PF_CONST(debug->code, debug->mappings[i].filename)->u.string);
+                PF_CONST(debug->code, debug->mappings[i].filename).u.string);
         Parrot_io_printf(interp, "    ],\n");
     }
 
@@ -2898,9 +2905,9 @@
     if (debug->num_mappings) {
         prev_filename_n = debug->mappings[debug->num_mappings-1].filename;
         filename_pstr = Parrot_str_new(interp, filename, 0);
-        if (ct->constants[prev_filename_n]->type == PFC_STRING &&
+        if (ct->constants[prev_filename_n].type == PFC_STRING &&
                 Parrot_str_equal(interp, filename_pstr,
-                    ct->constants[prev_filename_n]->u.string)) {
+                    ct->constants[prev_filename_n].u.string)) {
             return;
         }
     }
@@ -2941,8 +2948,8 @@
 
         /* Check if there is already a constant with this filename */
         for (i= 0; i < count; ++i) {
-            if (ct->constants[i]->type == PFC_STRING &&
-                    Parrot_str_equal(interp, namestr, ct->constants[i]->u.string))
+            if (ct->constants[i].type == PFC_STRING &&
+                    Parrot_str_equal(interp, namestr, ct->constants[i].u.string))
                 break;
         }
         if (i < count) {
@@ -2954,14 +2961,13 @@
             PackFile_Constant             *fnconst;
             ct->const_count   = ct->const_count + 1;
             ct->constants = mem_gc_realloc_n_typed_zeroed(interp, ct->constants,
-                    ct->const_count, ct->const_count - 1, PackFile_Constant *);
+                    ct->const_count, ct->const_count - 1, PackFile_Constant);
 
-            fnconst           = PackFile_Constant_new(interp);
+            fnconst           = &ct->constants[ct->const_count - 1];
             fnconst->type     = PFC_STRING;
             fnconst->u.string = Parrot_str_new_init(interp, filename, strlen(filename),
                     PARROT_DEFAULT_ENCODING, PARROT_DEFAULT_CHARSET,
                     PObj_constant_FLAG);
-            ct->constants[ct->const_count - 1] = fnconst;
         }
 
         /* Set the mapped value */
@@ -3001,7 +3007,7 @@
        || (debug->mappings[i].offset     <= pc
        &&  debug->mappings[i + 1].offset >  pc))
             return PF_CONST(debug->code,
-                    debug->mappings[i].filename)->u.string;
+                    debug->mappings[i].filename).u.string;
     }
 
     /* Otherwise, no mappings == no filename. */
@@ -3094,8 +3100,8 @@
 
 /*
 
-=item C<static PackFile_Constant * clone_constant(PARROT_INTERP,
-PackFile_Constant *old_const)>
+=item C<static void clone_constant(PARROT_INTERP, PackFile_Constant *old_const,
+PackFile_Constant *new_const)>
 
 Clones a constant (at least, if it's a Sub PMC), returning the clone.
 
@@ -3103,22 +3109,20 @@
 
 */
 
-PARROT_WARN_UNUSED_RESULT
-PARROT_CANNOT_RETURN_NULL
-static PackFile_Constant *
-clone_constant(PARROT_INTERP, ARGIN(PackFile_Constant *old_const))
+static void
+clone_constant(PARROT_INTERP, ARGIN(PackFile_Constant *old_const),
+ARGMOD(PackFile_Constant *new_const))
 {
     ASSERT_ARGS(clone_constant)
     STRING * const _sub = CONST_STRING(interp, "Sub");
 
+    memcpy(new_const, old_const, sizeof (PackFile_Constant));
+
     if (old_const->type == PFC_PMC
     &&  VTABLE_isa(interp, old_const->u.key, _sub)) {
-        PMC        *old_sub_pmc, *new_sub_pmc;
+        PMC                   *old_sub_pmc, *new_sub_pmc;
         Parrot_Sub_attributes *old_sub,     *new_sub;
-        PackFile_Constant * const ret = mem_gc_allocate_zeroed_typed(interp,
-                PackFile_Constant);
 
-        ret->type = old_const->type;
         old_sub_pmc   = old_const->u.key;
         new_sub_pmc   = Parrot_thaw_constants(interp, Parrot_freeze(interp, old_sub_pmc));
 
@@ -3131,18 +3135,14 @@
         && !(old_sub->comp_flags   &  SUB_COMP_FLAG_METHOD))
             Parrot_ns_store_sub(interp, new_sub_pmc);
 
-        ret->u.key = new_sub_pmc;
-
-        return ret;
+        new_const->u.key = new_sub_pmc;
     }
-
-    return old_const;
 }
 
 
 /*
 
-=item C<static PackFile_Constant ** find_constants(PARROT_INTERP,
+=item C<static PackFile_Constant * find_constants(PARROT_INTERP,
 PackFile_ConstTable *ct)>
 
 Finds the constant table associated with a thread. For now, we need to copy
@@ -3155,7 +3155,7 @@
 
 PARROT_WARN_UNUSED_RESULT
 PARROT_CANNOT_RETURN_NULL
-static PackFile_Constant **
+static PackFile_Constant *
 find_constants(PARROT_INTERP, ARGIN(PackFile_ConstTable *ct))
 {
     ASSERT_ARGS(find_constants)
@@ -3165,7 +3165,7 @@
         return ct->constants;
     else {
         Hash               *tables;
-        PackFile_Constant **new_consts;
+        PackFile_Constant  *new_consts;
 
         PARROT_ASSERT(interp->thread_data);
 
@@ -3174,19 +3174,19 @@
         }
 
         tables     = interp->thread_data->const_tables;
-        new_consts = (PackFile_Constant **)parrot_hash_get(interp, tables, ct);
+        new_consts = (PackFile_Constant *)parrot_hash_get(interp, tables, ct);
 
         if (!new_consts) {
             /* need to construct it */
-            PackFile_Constant ** const old_consts = ct->constants;
-            INTVAL               const num_consts = ct->const_count;
-            INTVAL                     i;
+            PackFile_Constant * const old_consts = ct->constants;
+            INTVAL              const num_consts = ct->const_count;
+            INTVAL                    i;
 
             new_consts = mem_gc_allocate_n_zeroed_typed(interp,
-                    num_consts, PackFile_Constant *);
+                    num_consts, PackFile_Constant);
 
             for (i = 0; i < num_consts; ++i)
-                new_consts[i] = clone_constant(interp, old_consts[i]);
+                clone_constant(interp, &old_consts[i], &new_consts[i]);
 
             parrot_hash_put(interp, tables, ct, new_consts);
         }
@@ -3228,16 +3228,11 @@
         while (bucket) {
             PackFile_ConstTable * const table      =
                 (PackFile_ConstTable *)bucket->key;
-            PackFile_Constant ** const orig_consts = table->constants;
-            PackFile_Constant ** const consts      =
-                (PackFile_Constant **) bucket->value;
+            PackFile_Constant * const orig_consts = table->constants;
+            PackFile_Constant * const consts      =
+                (PackFile_Constant *) bucket->value;
             INTVAL j;
 
-            for (j = 0; j < table->const_count; ++j) {
-                if (consts[j] != orig_consts[j])
-                    mem_gc_free(interp, consts[j]);
-            }
-
             mem_gc_free(interp, consts);
             bucket = bucket->next;
         }
@@ -3659,11 +3654,6 @@
     ASSERT_ARGS(PackFile_ConstTable_clear)
     opcode_t i;
 
-    for (i = 0; i < self->const_count; ++i) {
-        PackFile_Constant_destroy(interp, self->constants[i]);
-        self->constants[i] = NULL;
-    }
-
     if (self->constants) {
         mem_gc_free(interp, self->constants);
         self->constants = NULL;
@@ -3714,7 +3704,7 @@
         return cursor;
 
     self->constants = mem_gc_allocate_n_zeroed_typed(interp, self->const_count,
-                PackFile_Constant *);
+                PackFile_Constant);
 
     if (!self->constants) {
         Parrot_io_eprintf(interp,
@@ -3726,9 +3716,8 @@
     for (i = 0; i < self->const_count; ++i) {
         TRACE_PRINTF(("PackFile_ConstTable_unpack(): Unpacking constant %ld/%ld\n",
             i, self->const_count));
-        self->constants[i] = PackFile_Constant_new(interp);
 
-        cursor = PackFile_Constant_unpack(interp, self, self->constants[i],
+        cursor = PackFile_Constant_unpack(interp, self, &self->constants[i],
                     cursor);
     }
 
@@ -3781,61 +3770,6 @@
 
 /*
 
-=back
-
-=head2 PackFile Constant Structure Functions
-
-=over 4
-
-=item C<PackFile_Constant * PackFile_Constant_new(PARROT_INTERP)>
-
-Allocates a new empty PackFile Constant.
-
-This is only here so we can make a new one and then do an unpack.
-
-=cut
-
-*/
-
-PARROT_EXPORT
-PARROT_MALLOC
-PARROT_CANNOT_RETURN_NULL
-PackFile_Constant *
-PackFile_Constant_new(PARROT_INTERP)
-{
-    ASSERT_ARGS(PackFile_Constant_new)
-    PackFile_Constant * const self = mem_gc_allocate_typed(interp,
-            PackFile_Constant);
-
-    self->type = PFC_NONE;
-
-    return self;
-}
-
-
-/*
-
-=item C<void PackFile_Constant_destroy(PARROT_INTERP, PackFile_Constant *self)>
-
-Deletes the C<PackFile_Constant> C<self>.
-
-Don't delete C<PMC>s or C<STRING>s.  The GC will claim them.
-
-=cut
-
-*/
-
-PARROT_EXPORT
-void
-PackFile_Constant_destroy(PARROT_INTERP, ARGMOD_NULLOK(PackFile_Constant *self))
-{
-    ASSERT_ARGS(PackFile_Constant_destroy)
-    mem_gc_free(interp, self);
-}
-
-
-/*
-
 =item C<size_t PackFile_Constant_pack_size(PARROT_INTERP, const
 PackFile_Constant *self, const PackFile_ConstTable *ct)>
 
@@ -4046,10 +3980,10 @@
             key_set_integer(interp, tail, op);
             break;
           case PARROT_ARG_NC:
-            key_set_number(interp, tail, constt->constants[op]->u.number);
+            key_set_number(interp, tail, constt->constants[op].u.number);
             break;
           case PARROT_ARG_SC:
-            key_set_string(interp, tail, constt->constants[op]->u.string);
+            key_set_string(interp, tail, constt->constants[op].u.string);
             break;
           case PARROT_ARG_I:
             key_set_register(interp, tail, op, KEY_integer_FLAG);
@@ -4324,7 +4258,7 @@
         const PackFile_Annotations_Key * const key = self->keys + i;
         Parrot_io_printf(interp, "    #%d\n    [\n", i);
         Parrot_io_printf(interp, "        NAME => %Ss\n",
-                PF_CONST(self->code, key->name)->u.string);
+                PF_CONST(self->code, key->name).u.string);
         Parrot_io_printf(interp, "        TYPE => %s\n",
                 key->type == PF_ANNOTATION_KEY_TYPE_INT ? "integer" :
                 key->type == PF_ANNOTATION_KEY_TYPE_STR ? "string" :
@@ -4429,12 +4363,12 @@
 {
     ASSERT_ARGS(PackFile_Annotations_add_entry)
     /* See if we already have this key. */
-    STRING  * const key_name = PF_CONST(self->code, key)->u.string;
+    STRING  * const key_name = PF_CONST(self->code, key).u.string;
     opcode_t key_id   = -1;
     INTVAL   i;
 
     for (i = 0; i < self->num_keys; ++i) {
-        STRING * const test_key = PF_CONST(self->code, self->keys[i].name)->u.string;
+        STRING * const test_key = PF_CONST(self->code, self->keys[i].name).u.string;
         if (Parrot_str_equal(interp, test_key, key_name)) {
             key_id = i;
             break;
@@ -4509,12 +4443,12 @@
       case PF_ANNOTATION_KEY_TYPE_NUM:
         result = Parrot_pmc_new(interp, enum_class_Float);
         VTABLE_set_number_native(interp, result,
-                    PF_CONST(self->code, value)->u.number);
+                    PF_CONST(self->code, value).u.number);
         break;
       default:
         result = Parrot_pmc_new(interp, enum_class_String);
         VTABLE_set_string_native(interp, result,
-                    PF_CONST(self->code, value)->u.string);
+                    PF_CONST(self->code, value).u.string);
     }
 
     return result;
@@ -4551,7 +4485,7 @@
 
     if (!STRING_IS_NULL(key)) {
         for (i = 0; i < self->num_keys; ++i) {
-            STRING * const test_key = PF_CONST(self->code, self->keys[i].name)->u.string;
+            STRING * const test_key = PF_CONST(self->code, self->keys[i].name).u.string;
             if (Parrot_str_equal(interp, test_key, key)) {
                 key_id = i;
                 break;
@@ -4590,7 +4524,7 @@
 
         for (i = 0; i < self->num_keys; ++i) {
             if (have_values[i]) {
-                STRING * const key_name = PF_CONST(self->code, self->keys[i].name)->u.string;
+                STRING * const key_name = PF_CONST(self->code, self->keys[i].name).u.string;
                 VTABLE_set_pmc_keyed_str(interp, result, key_name,
                         make_annotation_value_pmc(interp, self, self->keys[i].type,
                                 latest_values[i]));

Modified: branches/html_cleanup/src/packfile/pf_items.c
==============================================================================
--- branches/html_cleanup/src/packfile/pf_items.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/packfile/pf_items.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -1018,20 +1018,18 @@
 XXX assumes C<sizeof (INTVAL) == sizeof (opcode_t)> - we don't have
 C<INTVAL> size in the PackFile header.
 
-When used for freeze/thaw the C<pf> argument might be NULL.
-
 =cut
 
 */
 
 PARROT_WARN_UNUSED_RESULT
 INTVAL
-PF_fetch_integer(ARGIN_NULLOK(PackFile *pf), ARGIN(const opcode_t **stream))
+PF_fetch_integer(ARGIN(PackFile *pf), ARGIN(const opcode_t **stream))
 {
     ASSERT_ARGS(PF_fetch_integer)
     INTVAL i;
 
-    if (!pf || pf->fetch_iv == NULL)
+    if (!pf->fetch_iv)
         return *(*stream)++;
     i = (pf->fetch_iv)(*((const unsigned char **)stream));
     TRACE_PRINTF_VAL(("  PF_fetch_integer: 0x%x (%d) at 0x%x\n", i, i,

Modified: branches/html_cleanup/src/packout.c
==============================================================================
--- branches/html_cleanup/src/packout.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/packout.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -166,7 +166,7 @@
     for (i = 0; i < n_constants; ++i) {
         /* only constants up to the current one will be valid on unpack */
         self->const_count = i;
-        size += PackFile_Constant_pack_size(interp, self->constants[i], self);
+        size += PackFile_Constant_pack_size(interp, &self->constants[i], self);
     }
 
     self->const_count = i;
@@ -208,7 +208,7 @@
     for (i = 0; i < n_constants; ++i) {
         /* only constants up to the current one will be valid on unpack */
         self->const_count = i;
-        cursor = PackFile_Constant_pack(interp, self, self->constants[i], cursor);
+        cursor = PackFile_Constant_pack(interp, self, &self->constants[i], cursor);
     }
 
     self->const_count = n_constants;
@@ -283,7 +283,7 @@
     }
 
     for (i = 0; i < ct->const_count; ++i) {
-        PackFile_Constant *constant = ct->constants[i];
+        PackFile_Constant *constant = &ct->constants[i];
 
         switch (type) {
           case PFC_STRING:

Modified: branches/html_cleanup/src/pbc_merge.c
==============================================================================
--- branches/html_cleanup/src/pbc_merge.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/pbc_merge.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -374,7 +374,7 @@
                     ARGMOD(PackFile_ByteCode *bc))
 {
     ASSERT_ARGS(pbc_merge_constants)
-    PackFile_Constant   **constants = mem_gc_allocate_typed(interp, PackFile_Constant *);
+    PackFile_Constant   *constants = mem_gc_allocate_typed(interp, PackFile_Constant);
 
     opcode_t cursor           = 0;
     opcode_t output_const_num = 0;
@@ -411,14 +411,13 @@
         /* Allocate space for the constant list, provided we have some. */
         if (in_seg->const_count > 0)
             constants = mem_gc_realloc_n_typed(interp, constants,
-                    cursor + in_seg->const_count, PackFile_Constant*);
+                    cursor + in_seg->const_count, PackFile_Constant);
 
         /* Loop over the constants and copy them to the output PBC. */
         for (j = 0; j < in_seg->const_count; ++j) {
-            /* Get the entry and allocate space for copy. */
-            PackFile_Constant *cur_entry = in_seg->constants[j];
-            PackFile_Constant *copy      = mem_gc_allocate_typed(interp,
-                    PackFile_Constant);
+            /* Get the entry and the copy. */
+            PackFile_Constant *cur_entry = &in_seg->constants[j];
+            PackFile_Constant *copy      = &constants[cursor];
             STRUCT_COPY(copy, cur_entry);
 
             /* If it's a sub PMC, need to deal with offsets. */
@@ -442,8 +441,6 @@
             ++input_const_num;
             ++output_const_num;
 
-            /* Slot it into the list. */
-            constants[cursor] = copy;
             ++cursor;
         }
     }
@@ -677,7 +674,7 @@
                 op_num == PARROT_OP_get_params_pc  ||
                 op_num == PARROT_OP_set_returns_pc) {
             /* Get the signature. */
-            PMC * const sig = bc->const_table->constants[op_ptr[1]]->u.key;
+            PMC * const sig = bc->const_table->constants[op_ptr[1]].u.key;
 
             /* Loop over the arguments to locate any that need a fixup. */
             const int sig_items = VTABLE_elements(interp, sig);

Modified: branches/html_cleanup/src/pmc/callcontext.pmc
==============================================================================
--- branches/html_cleanup/src/pmc/callcontext.pmc	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/pmc/callcontext.pmc	Tue Aug  3 22:29:26 2010	(r48299)
@@ -447,7 +447,7 @@
     ATTR PMC      *current_sig;           /* temporary CallContext PMC for active call */
 
     /* deref the constants - we need it all the time */
-    ATTR struct PackFile_Constant **constants;
+    ATTR struct PackFile_Constant *constants;
 
     ATTR INTVAL                 current_HLL;     /* see also src/hll.c */
 

Modified: branches/html_cleanup/src/pmc/capture.pmc
==============================================================================
--- branches/html_cleanup/src/pmc/capture.pmc	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/pmc/capture.pmc	Tue Aug  3 22:29:26 2010	(r48299)
@@ -22,17 +22,21 @@
 /* HEADERIZER BEGIN: static */
 /* HEADERIZER END: static */
 
-#define CAPTURE_array_CREATE(i, obj) \
+#define CAPTURE_array_CREATE(i, obj, arr) \
     do { \
-        GETATTR_Capture_array((i), (obj), array); \
-        if (!array) \
-            SETATTR_Capture_array((i), (obj), Parrot_pmc_new((i), enum_class_ResizablePMCArray)); \
+        GETATTR_Capture_array((i), (obj), (arr)); \
+        if (!(arr)) { \
+            (arr) = Parrot_pmc_new((i), enum_class_ResizablePMCArray); \
+            SETATTR_Capture_array((i), (obj), (arr)); \
+        } \
     } while (0)
-#define CAPTURE_hash_CREATE(i, obj) \
+#define CAPTURE_hash_CREATE(i, obj, hsh) \
     do { \
-        GETATTR_Capture_hash((i), (obj), hash); \
-        if (!hash) \
-            SETATTR_Capture_hash((i), (obj),  Parrot_pmc_new((i), enum_class_Hash)); \
+        GETATTR_Capture_hash((i), (obj), (hsh)); \
+        if (!(hsh)) { \
+            (hsh) = Parrot_pmc_new((i), enum_class_Hash); \
+            SETATTR_Capture_hash((i), (obj), (hsh)); \
+        } \
     } while (0)
 
 pmclass Capture auto_attrs {
@@ -97,32 +101,28 @@
     VTABLE void set_number_keyed_int(INTVAL key, FLOATVAL value) {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         VTABLE_set_number_keyed_int(INTERP, array, key, value);
     }
 
     VTABLE void set_integer_keyed_int(INTVAL key, INTVAL value) {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         VTABLE_set_integer_keyed_int(INTERP, array, key, value);
     }
 
     VTABLE void set_pmc_keyed_int(INTVAL key, PMC *value) {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         VTABLE_set_pmc_keyed_int(INTERP, array, key, value);
     }
 
     VTABLE void set_string_keyed_int(INTVAL key, STRING *value) {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         VTABLE_set_string_keyed_int(INTERP, array, key, value);
     }
 
@@ -215,72 +215,56 @@
     VTABLE void push_float(FLOATVAL value) {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         VTABLE_push_float(INTERP, array, value);
     }
 
     VTABLE void push_integer(INTVAL value) {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         VTABLE_push_integer(INTERP, array, value);
     }
 
     VTABLE void push_pmc(PMC *value) {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         VTABLE_push_pmc(INTERP, array, value);
     }
 
     VTABLE void push_string(STRING *value) {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         VTABLE_push_string(INTERP, array, value);
     }
 
     VTABLE void unshift_float(FLOATVAL value) {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         VTABLE_unshift_float(INTERP, array, value);
     }
 
     VTABLE void unshift_integer(INTVAL value) {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         VTABLE_unshift_integer(INTERP, array, value);
     }
 
     VTABLE void unshift_pmc(PMC *value) {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         VTABLE_unshift_pmc(INTERP, array, value);
     }
 
     VTABLE void unshift_string(STRING *value) {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         VTABLE_unshift_string(INTERP, array, value);
     }
 
@@ -313,72 +297,56 @@
     VTABLE FLOATVAL pop_float() {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         return VTABLE_pop_float(INTERP, array);
     }
 
     VTABLE INTVAL pop_integer() {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         return VTABLE_pop_integer(INTERP, array);
     }
 
     VTABLE PMC *pop_pmc() {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         return VTABLE_pop_pmc(INTERP, array);
     }
 
     VTABLE STRING *pop_string() {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         return VTABLE_pop_string(INTERP, array);
     }
 
     VTABLE FLOATVAL shift_float() {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         return VTABLE_shift_float(INTERP, array);
     }
 
     VTABLE INTVAL shift_integer() {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         return VTABLE_shift_integer(INTERP, array);
     }
 
     VTABLE PMC *shift_pmc() {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         return VTABLE_shift_pmc(INTERP, array);
     }
 
     VTABLE STRING *shift_string() {
         PMC *array;
 
-        CAPTURE_array_CREATE(INTERP, SELF);
-        GET_ATTR_array(INTERP, SELF, array);
-
+        CAPTURE_array_CREATE(INTERP, SELF, array);
         return VTABLE_shift_string(INTERP, array);
     }
 
@@ -465,36 +433,28 @@
     VTABLE void set_number_keyed(PMC *key, FLOATVAL value) {
         PMC *hash;
 
-        CAPTURE_hash_CREATE(INTERP, SELF);
-        GET_ATTR_hash(INTERP, SELF, hash);
-
+        CAPTURE_hash_CREATE(INTERP, SELF, hash);
         VTABLE_set_number_keyed(INTERP, hash, key, value);
     }
 
     VTABLE void set_integer_keyed(PMC *key, INTVAL value) {
         PMC *hash;
 
-        CAPTURE_hash_CREATE(INTERP, SELF);
-        GET_ATTR_hash(INTERP, SELF, hash);
-
+        CAPTURE_hash_CREATE(INTERP, SELF, hash);
         VTABLE_set_integer_keyed(INTERP, hash, key, value);
     }
 
     VTABLE void set_pmc_keyed(PMC *key, PMC *value) {
         PMC *hash;
 
-        CAPTURE_hash_CREATE(INTERP, SELF);
-        GET_ATTR_hash(INTERP, SELF, hash);
-
+        CAPTURE_hash_CREATE(INTERP, SELF, hash);
         VTABLE_set_pmc_keyed(INTERP, hash, key, value);
     }
 
     VTABLE void set_string_keyed(PMC *key, STRING *value) {
         PMC *hash;
 
-        CAPTURE_hash_CREATE(INTERP, SELF);
-        GET_ATTR_hash(INTERP, SELF, hash);
-
+        CAPTURE_hash_CREATE(INTERP, SELF, hash);
         VTABLE_set_string_keyed(INTERP, hash, key, value);
     }
 
@@ -577,36 +537,28 @@
     VTABLE void set_number_keyed_str(STRING *key, FLOATVAL value) {
         PMC *hash;
 
-        CAPTURE_hash_CREATE(INTERP, SELF);
-        GET_ATTR_hash(INTERP, SELF, hash);
-
+        CAPTURE_hash_CREATE(INTERP, SELF, hash);
         VTABLE_set_number_keyed_str(INTERP, hash, key, value);
     }
 
     VTABLE void set_integer_keyed_str(STRING *key, INTVAL value) {
         PMC *hash;
 
-        CAPTURE_hash_CREATE(INTERP, SELF);
-        GET_ATTR_hash(INTERP, SELF, hash);
-
+        CAPTURE_hash_CREATE(INTERP, SELF, hash);
         VTABLE_set_integer_keyed_str(INTERP, hash, key, value);
     }
 
     VTABLE void set_pmc_keyed_str(STRING *key, PMC *value) {
         PMC *hash;
 
-        CAPTURE_hash_CREATE(INTERP, SELF);
-        GET_ATTR_hash(INTERP, SELF, hash);
-
+        CAPTURE_hash_CREATE(INTERP, SELF, hash);
         VTABLE_set_pmc_keyed_str(INTERP, hash, key, value);
     }
 
     VTABLE void set_string_keyed_str(STRING *key, STRING *value) {
         PMC *hash;
 
-        CAPTURE_hash_CREATE(INTERP, SELF);
-        GET_ATTR_hash(INTERP, SELF, hash);
-
+        CAPTURE_hash_CREATE(INTERP, SELF, hash);
         VTABLE_set_string_keyed_str(INTERP, hash, key, value);
     }
 
@@ -820,16 +772,14 @@
 */
 
     VTABLE void mark() {
-        PMC *array, *hash;
-
-        if (!PMC_data(SELF))
-            return;
-
-        GET_ATTR_array(INTERP, SELF, array);
-        GET_ATTR_hash(INTERP, SELF, hash);
+        if (PMC_data(SELF)) {
+            PMC *array, *hash;
+            GET_ATTR_array(INTERP, SELF, array);
+            GET_ATTR_hash(INTERP, SELF, hash);
 
-        Parrot_gc_mark_PMC_alive(INTERP, array);
-        Parrot_gc_mark_PMC_alive(INTERP, hash);
+            Parrot_gc_mark_PMC_alive(INTERP, array);
+            Parrot_gc_mark_PMC_alive(INTERP, hash);
+        }
     }
 
 /*
@@ -861,9 +811,7 @@
             capt              = VTABLE_get_attr_keyed(INTERP, SELF, classobj, attribute);
         }
 
-        CAPTURE_array_CREATE(INTERP, capt);
-        GET_ATTR_array(INTERP, capt, array);
-
+        CAPTURE_array_CREATE(INTERP, capt, array);
         RETURN(PMC *array);
     }
 
@@ -880,8 +828,7 @@
             capt                     = VTABLE_get_attr_keyed(INTERP, SELF, classobj, attribute);
         }
 
-        CAPTURE_hash_CREATE(INTERP, capt);
-        GET_ATTR_hash(INTERP, capt, hash);
+        CAPTURE_hash_CREATE(INTERP, capt, hash);
 
         RETURN(PMC *hash);
     }

Modified: branches/html_cleanup/src/pmc/class.pmc
==============================================================================
--- branches/html_cleanup/src/pmc/class.pmc	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/pmc/class.pmc	Tue Aug  3 22:29:26 2010	(r48299)
@@ -458,7 +458,7 @@
 
         if (!PMC_IS_NULL(meth)) {
             /* preserve current_object */
-            Parrot_pcc_invoke_sub_from_c_args(interp, meth, "Pi->", object);
+            Parrot_ext_call(interp, meth, "Pi->", object);
         }
     }
 }
@@ -487,8 +487,7 @@
         meth = Parrot_oo_find_vtable_override_for_class(interp, parent, name);
 
         if (!PMC_IS_NULL(meth))
-            Parrot_pcc_invoke_sub_from_c_args(interp, meth,
-                    "PiP->", object, init);
+            Parrot_ext_call(interp, meth, "PiP->", object, init);
     }
 }
 

Modified: branches/html_cleanup/src/pmc/eval.pmc
==============================================================================
--- branches/html_cleanup/src/pmc/eval.pmc	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/pmc/eval.pmc	Tue Aug  3 22:29:26 2010	(r48299)
@@ -71,7 +71,7 @@
                     if (e->type == enum_fixup_sub) {
                         opcode_t  ci             = e->offset;
 
-                        ct->constants[ci]->u.key = NULL;
+                        ct->constants[ci].u.key = NULL;
                         e->type                  = 0;
                     }
                 }
@@ -106,7 +106,7 @@
                         opcode_t ci = e->offset;
 
                         if (n++ == idx)
-                            return ct->constants[ci]->u.key;
+                            return ct->constants[ci].u.key;
                     }
                 }
             }
@@ -138,7 +138,7 @@
 
                     if (e->type == enum_fixup_sub) {
                         opcode_t  ci  = e->offset;
-                        PMC      *sub = ct->constants[ci]->u.key;
+                        PMC      *sub = ct->constants[ci].u.key;
 
                         Parrot_gc_mark_PMC_alive(interp, sub);
                     }

Modified: branches/html_cleanup/src/pmc/imageio.pmc
==============================================================================
--- branches/html_cleanup/src/pmc/imageio.pmc	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/pmc/imageio.pmc	Tue Aug  3 22:29:26 2010	(r48299)
@@ -132,16 +132,18 @@
     return (opcode_t *)(buf + pos);
 }
 
+
 PARROT_INLINE
 static void
 SET_VISIT_CURSOR(ARGMOD(PMC *pmc), ARGIN(const char *cursor))
 {
     ASSERT_ARGS(SET_VISIT_CURSOR)
 
-    const char *bufstart  = (char *)Buffer_bufstart(PARROT_IMAGEIO(pmc)->buffer);
+    const char *bufstart = (char *)Buffer_bufstart(PARROT_IMAGEIO(pmc)->buffer);
     PARROT_IMAGEIO(pmc)->pos = (cursor - bufstart);
 }
 
+
 PARROT_INLINE
 static void
 INC_VISIT_CURSOR(ARGMOD(PMC *pmc), UINTVAL inc)
@@ -151,11 +153,10 @@
     PARROT_IMAGEIO(pmc)->pos += inc;
 }
 
+
 #define BYTECODE_SHIFT_OK(pmc) PARROT_ASSERT( \
     PARROT_IMAGEIO(pmc)->pos <= PARROT_IMAGEIO(pmc)->input_length)
 
-
-
 static void
 create_buffer(PARROT_INTERP, ARGIN_NULLOK(PMC *pmc), ARGMOD(PMC *info))
 {
@@ -166,11 +167,11 @@
     if (!PMC_IS_NULL(pmc)) {
         STRING * const array = CONST_STRING(interp, "array");
         STRING * const hash  = CONST_STRING(interp, "hash");
-        INTVAL  items = 1;
+        INTVAL         items = 1;
 
-        if (VTABLE_does(interp, pmc, array) || VTABLE_does(interp, pmc, hash)) {
+        if (VTABLE_does(interp, pmc, array) || VTABLE_does(interp, pmc, hash))
             items += VTABLE_elements(interp, pmc);
-        }
+
         len = items * FREEZE_BYTES_PER_ITEM;
     }
     else
@@ -180,7 +181,9 @@
         Parrot_gc_new_bufferlike_header(interp, sizeof (Buffer));
     Parrot_gc_allocate_buffer_storage_aligned(interp,
         PARROT_IMAGEIO(info)->buffer, len);
-    SET_VISIT_CURSOR(info, (char *)Buffer_bufstart(PARROT_IMAGEIO(info)->buffer));
+
+    SET_VISIT_CURSOR(info,
+        (char *)Buffer_bufstart(PARROT_IMAGEIO(info)->buffer));
 }
 
 
@@ -205,8 +208,10 @@
     /* grow by factor 1.5 or such */
     if (need_free <= 16) {
         size_t new_size = (size_t) (Buffer_buflen(buf) * 1.5);
+
         if (new_size < Buffer_buflen(buf) - need_free + 512)
             new_size = Buffer_buflen(buf) - need_free + 512;
+
         Parrot_gc_reallocate_buffer_storage(interp, buf, new_size);
         PARROT_ASSERT(Buffer_buflen(buf) - used - len >= 15);
     }
@@ -214,9 +219,9 @@
 #ifndef DISABLE_GC_DEBUG
     Parrot_gc_compact_memory_pool(interp);
 #endif
-
 }
 
+
 PARROT_WARN_UNUSED_RESULT
 PARROT_INLINE
 static INTVAL
@@ -227,6 +232,7 @@
     return PARROT_IMAGEIO(io)->pos < PARROT_IMAGEIO(io)->input_length;
 }
 
+
 PARROT_WARN_UNUSED_RESULT
 PARROT_CAN_RETURN_NULL
 PARROT_INLINE
@@ -238,6 +244,7 @@
     return VTABLE_get_pmc_keyed_int(interp, PARROT_IMAGEIO(io)->todo, id - 1);
 }
 
+
 PARROT_WARN_UNUSED_RESULT
 PARROT_CAN_RETURN_NULL
 PARROT_INLINE
@@ -247,7 +254,7 @@
     ASSERT_ARGS(visit_todo_list_thaw)
 
     const UINTVAL  n            = VTABLE_shift_integer(interp, info);
-    const UINTVAL  id           = PackID_get_PMCID(n);
+    const INTVAL   id           = PackID_get_PMCID(n);
     const int      packid_flags = PackID_get_FLAGS(n);
     PMC           *pmc          = PMCNULL;
 
@@ -260,13 +267,15 @@
         break;
       case enum_PackID_normal:
         {
-            PMC * const todo    = PARROT_IMAGEIO(info)->todo;
+            PMC * const  todo = PARROT_IMAGEIO(info)->todo;
             const INTVAL type = VTABLE_shift_integer(interp, info);
 
-            PARROT_ASSERT(id - 1 == VTABLE_elements(interp, PARROT_IMAGEIO(info)->todo));
+            PARROT_ASSERT(id - 1
+                 == VTABLE_elements(interp, PARROT_IMAGEIO(info)->todo));
 
             if (type <= 0 || type > interp->n_vtable_max)
-                Parrot_ex_throw_from_c_args(interp, NULL, 1, "Unknown PMC type to thaw %d", type);
+                Parrot_ex_throw_from_c_args(interp, NULL, 1,
+                    "Unknown PMC type to thaw %d", type);
 
             /* workaround to keep ParrotInterpreter PBC hack working */
             if (type == enum_class_ParrotInterpreter)
@@ -278,13 +287,15 @@
         }
         break;
       default:
-        Parrot_ex_throw_from_c_args(interp, NULL, 1, "Unknown PMC id args thaw %d", packid_flags);
+        Parrot_ex_throw_from_c_args(interp, NULL, 1,
+            "Unknown PMC id args thaw %d", packid_flags);
         break;
     }
 
     return pmc;
 }
 
+
 static void
 visit_todo_list_freeze(PARROT_INTERP, ARGIN_NULLOK(PMC* pmc), ARGMOD(PMC* info))
 {
@@ -300,10 +311,12 @@
         packid_type = enum_PackID_seen;
     }
     else {
-        Hash * const hash = (Hash *)VTABLE_get_pointer(interp, PARROT_IMAGEIO(info)->seen);
+        Hash * const hash = (Hash *)VTABLE_get_pointer(interp,
+            PARROT_IMAGEIO(info)->seen);
         HashBucket * const b = parrot_hash_get_bucket(interp, hash, pmc);
+
         if (b) {
-            id = (UINTVAL) b->value;
+            id = (UINTVAL)b->value;
             packid_type = enum_PackID_seen;
         }
         else {
@@ -316,7 +329,8 @@
     VTABLE_push_integer(interp, info, PackID_new(id, packid_type));
 
     if (packid_type == enum_PackID_normal) {
-        Hash * const hash = (Hash *)VTABLE_get_pointer(interp, PARROT_IMAGEIO(info)->seen);
+        Hash * const hash = (Hash *)VTABLE_get_pointer(interp,
+            PARROT_IMAGEIO(info)->seen);
 
         PARROT_ASSERT(pmc);
 
@@ -325,16 +339,19 @@
             PObj_flag_CLEAR(private1, info);
 
         VTABLE_push_integer(interp, info,
-                PObj_is_object_TEST(pmc) ? (INTVAL) enum_class_Object : pmc->vtable->base_type);
+            PObj_is_object_TEST(pmc)
+                ? (INTVAL) enum_class_Object
+                : pmc->vtable->base_type);
 
         parrot_hash_put(interp, hash, pmc, (void *)id);
         VTABLE_push_pmc(interp, PARROT_IMAGEIO(info)->todo, pmc);
     }
 }
 
+
 pmclass ImageIO auto_attrs {
     ATTR Buffer              *buffer;      /* buffer to store the image */
-    ATTR size_t               pos;         /* current read/write position in buffer */
+    ATTR size_t               pos;         /* current read/write buf position */
     ATTR size_t               input_length;
     ATTR INTVAL               what;
     ATTR PMC                 *seen;        /* seen hash */
@@ -363,17 +380,17 @@
 
 */
     VTABLE void init() {
-        PARROT_IMAGEIO(SELF)->buffer = NULL;
-        PARROT_IMAGEIO(SELF)->todo   = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
-        PARROT_IMAGEIO(SELF)->seen   = PMCNULL;
-        PARROT_IMAGEIO(SELF)->id     = 0;
-        PARROT_IMAGEIO(SELF)->pf     = PackFile_new(INTERP, 0);
+        PARROT_IMAGEIO(SELF)->seen = PMCNULL;
+        PARROT_IMAGEIO(SELF)->pf   = PackFile_new(INTERP, 0);
+        PARROT_IMAGEIO(SELF)->todo =
+            Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
 
         PObj_flag_CLEAR(private1, SELF);
 
         PObj_custom_mark_destroy_SETALL(SELF);
     }
 
+
 /*
 
 =item C<void init_pmc(PMC *pmc)>
@@ -384,13 +401,13 @@
 
 */
     VTABLE void init_pmc(PMC *pmc) {
-        PARROT_IMAGEIO(SELF)->buffer = NULL;
-        PARROT_IMAGEIO(SELF)->todo   = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
         PARROT_IMAGEIO(SELF)->seen   = PMCNULL;
-        PARROT_IMAGEIO(SELF)->id     = 0;
         PARROT_IMAGEIO(SELF)->pf     = PackFile_new(INTERP, 0);
+        PARROT_IMAGEIO(SELF)->pf_ct  =
+            (PackFile_ConstTable *)VTABLE_get_pointer(INTERP, pmc);
+        PARROT_IMAGEIO(SELF)->todo   =
+            Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
 
-        PARROT_IMAGEIO(SELF)->pf_ct  = (PackFile_ConstTable *)VTABLE_get_pointer(INTERP, pmc);
         PObj_flag_SET(private1, SELF);
 
         PObj_custom_mark_destroy_SETALL(SELF);
@@ -411,6 +428,7 @@
         PARROT_IMAGEIO(SELF)->pf = NULL;
     }
 
+
 /*
 
 =item C<void mark()>
@@ -428,6 +446,7 @@
         Parrot_gc_mark_PMC_alive(INTERP, PARROT_IMAGEIO(SELF)->seen);
     }
 
+
 /*
 
 =item C<STRING *get_string()>
@@ -444,6 +463,7 @@
                                           PARROT_IMAGEIO(SELF)->pos);
     }
 
+
 /*
 
 =item C<VTABLE PMC *get_pmc()>
@@ -455,9 +475,11 @@
 */
 
     VTABLE PMC *get_pmc() {
-        return VTABLE_get_pmc_keyed_int(INTERP, (PARROT_IMAGEIO(SELF))->todo, 0);
+        return VTABLE_get_pmc_keyed_int(INTERP,
+            (PARROT_IMAGEIO(SELF))->todo, 0);
     }
 
+
 /*
 
 =item C<VTABLE PMC *get_iter()>
@@ -476,7 +498,7 @@
 
 =item C<VTABLE INTVAL get_integer()>
 
-Returns the flags describing the visit action
+Returns the flags describing the visit action.
 
 =cut
 
@@ -486,6 +508,7 @@
         return PARROT_IMAGEIO(SELF)->what;
     }
 
+
 /*
 
 =item C<VTABLE void push_integer(INTVAL v)>
@@ -499,7 +522,8 @@
     VTABLE void push_integer(INTVAL v) {
         const size_t len = PF_size_integer() * sizeof (opcode_t);
         ensure_buffer_size(INTERP, SELF, len);
-        SET_VISIT_CURSOR(SELF, (char *)PF_store_integer(GET_VISIT_CURSOR(SELF), v));
+        SET_VISIT_CURSOR(SELF,
+            (char *)PF_store_integer(GET_VISIT_CURSOR(SELF), v));
     }
 
 
@@ -513,11 +537,11 @@
 
 */
 
-    VTABLE void push_float(FLOATVAL v)
-    {
-        size_t len = PF_size_number() * sizeof (opcode_t);
+    VTABLE void push_float(FLOATVAL v) {
+        const size_t len = PF_size_number() * sizeof (opcode_t);
         ensure_buffer_size(INTERP, SELF, len);
-        SET_VISIT_CURSOR(SELF, (char *)PF_store_number(GET_VISIT_CURSOR(SELF), &v));
+        SET_VISIT_CURSOR(SELF,
+            (char *)PF_store_number(GET_VISIT_CURSOR(SELF), &v));
     }
 
 
@@ -534,33 +558,35 @@
     VTABLE void push_string(STRING *v) {
         if (PObj_flag_TEST(private1, SELF)) {
             /* store a reference to constant table entry of string */
-            PMC *v_pmc = key_new_string(interp, v);
+            PMC                 *v_pmc = key_new_string(interp, v);
             PackFile_ConstTable *table = PARROT_IMAGEIO(SELF)->pf_ct;
-            int idx = PackFile_ConstTable_rlookup(INTERP, table, v_pmc, PFC_STRING);
+            int                  idx   =
+                PackFile_ConstTable_rlookup(INTERP, table, v_pmc, PFC_STRING);
 
             if (idx >= 0) {
                 STATICSELF.push_integer(idx);
                 return;
             }
 
-            /* XXX
-             * handle cases where the PMC has changed after Parrot_freeze_strings was called
-             * eg: :immediate subs
-             */
+            /* XXX handle cases where the PMC has changed after
+             * Parrot_freeze_strings was called eg: :immediate subs */
             STATICSELF.push_integer(-1);
+
             /* TODO
              * should really be:
-             * PANIC(INTERP, "string not previously in constant table when freezing to packfile");
-             */
+             * PANIC(INTERP, "string not previously in constant table "
+             *               "when freezing to packfile"); */
         }
 
         {
             const size_t len = PF_size_string(v) * sizeof (opcode_t);
             ensure_buffer_size(INTERP, SELF, len);
-            SET_VISIT_CURSOR(SELF, (char *)PF_store_string(GET_VISIT_CURSOR(SELF), v));
+            SET_VISIT_CURSOR(SELF,
+                (char *)PF_store_string(GET_VISIT_CURSOR(SELF), v));
         }
     }
 
+
 /*
 
 =item C<VTABLE void push_pmc(PMC *v)>
@@ -576,6 +602,23 @@
         visit_todo_list_freeze(INTERP, v, SELF);
     }
 
+
+/*
+
+=item C<void set_pointer(void *value)>
+
+Sets the constant table of this ImageIO PMC.
+
+=cut
+
+*/
+
+    VTABLE void set_pointer(void *value) {
+        PObj_flag_SET(private1, SELF);
+        PARROT_IMAGEIO(SELF)->pf_ct = (PackFile_ConstTable *)value;
+    }
+
+
 /*
 
 =item C<VTABLE INTVAL shift_integer()>
@@ -586,12 +629,14 @@
 
 */
 
-    VTABLE INTVAL shift_integer()
-    {
-        opcode_t *pos = GET_VISIT_CURSOR(SELF);
-        INTVAL    i   = PF_fetch_integer(PARROT_IMAGEIO(SELF)->pf,
-                (const opcode_t **)&pos);
-        SET_VISIT_CURSOR(SELF, (char *)pos);
+    VTABLE INTVAL shift_integer() {
+        /* inlining PF_fetch_integer speeds up PBC thawing measurably */
+        const PackFile      *pf     = PARROT_IMAGEIO(SELF)->pf;
+        const opcode_t      *pos    = GET_VISIT_CURSOR(SELF);
+        const unsigned char *stream = (const unsigned char *)pos;
+        const INTVAL         i      = pf->fetch_iv(stream);
+
+        SET_VISIT_CURSOR(SELF, (const char *)pos + pf->header->wordsize);
         BYTECODE_SHIFT_OK(SELF);
         return i;
     }
@@ -608,9 +653,8 @@
 */
 
     VTABLE FLOATVAL shift_float() {
-        opcode_t *pos = GET_VISIT_CURSOR(SELF);
-        FLOATVAL  f   = PF_fetch_number(PARROT_IMAGEIO(SELF)->pf,
-                (const opcode_t **)&pos);
+        const opcode_t *pos = GET_VISIT_CURSOR(SELF);
+        FLOATVAL        f   = PF_fetch_number(PARROT_IMAGEIO(SELF)->pf, &pos);
         SET_VISIT_CURSOR(SELF, (char *)pos);
         BYTECODE_SHIFT_OK(SELF);
         return f;
@@ -629,16 +673,17 @@
 
     VTABLE STRING *shift_string() {
         if (PObj_flag_TEST(private1, SELF)) {
-            PackFile_ConstTable *table = PARROT_IMAGEIO(SELF)->pf_ct;
-            INTVAL i                   = STATICSELF.shift_integer();
+            const INTVAL i = STATICSELF.shift_integer();
 
             if (i >= 0) {
-                if (! table->constants[i])
+                PackFile_ConstTable *table = PARROT_IMAGEIO(SELF)->pf_ct;
+
+                if (!table->constants[i].type)
                     Parrot_ex_throw_from_c_args(interp, NULL,
                             EXCEPTION_MALFORMED_PACKFILE,
                             "Reference to constant not yet unpacked %d", i);
-                return table->constants[i]->u.string;
-        }
+                return table->constants[i].u.string;
+            }
 
             /* XXX
              * only got here because constant table doesn't contain the string
@@ -647,15 +692,16 @@
         }
 
         {
-            opcode_t *pos = GET_VISIT_CURSOR(SELF);
-            STRING   *s   = PF_fetch_string(INTERP, PARROT_IMAGEIO(SELF)->pf,
-                                               (const opcode_t **)&pos);
+            const opcode_t *pos = GET_VISIT_CURSOR(SELF);
+            STRING         *s   = PF_fetch_string(INTERP,
+                                    PARROT_IMAGEIO(SELF)->pf, &pos);
             SET_VISIT_CURSOR(SELF, (char *)pos);
             BYTECODE_SHIFT_OK(SELF);
             return s;
         }
     }
 
+
 /*
 
 =item C<static PMC *shift_pmc()>
@@ -672,9 +718,11 @@
 
     VTABLE void set_pmc(PMC *p)
     {
-        const UINTVAL header_length = GROW_TO_16_BYTE_BOUNDARY(PACKFILE_HEADER_BYTES);
+        const UINTVAL header_length =
+            GROW_TO_16_BYTE_BOUNDARY(PACKFILE_HEADER_BYTES);
+
+        PARROT_IMAGEIO(SELF)->what  = VISIT_FREEZE_NORMAL;
 
-        PARROT_IMAGEIO(SELF)->what = VISIT_FREEZE_NORMAL;
         create_buffer(INTERP, p, SELF);
         ensure_buffer_size(INTERP, SELF, header_length);
         mem_sys_memcopy(GET_VISIT_CURSOR(SELF),
@@ -691,15 +739,17 @@
 
     VTABLE void set_string_native(STRING *image) {
         PMC          *unused;
-        const UINTVAL header_length = GROW_TO_16_BYTE_BOUNDARY(PACKFILE_HEADER_BYTES);
-        int unpacked_length;
+        int           unpacked_length;
+        const UINTVAL header_length =
+             GROW_TO_16_BYTE_BOUNDARY(PACKFILE_HEADER_BYTES);
 
         PARROT_IMAGEIO(SELF)->what   = VISIT_THAW_NORMAL;
         PARROT_IMAGEIO(SELF)->buffer = (Buffer *)image;
 
         PARROT_ASSERT(image->_bufstart == image->strstart);
 
-        SET_VISIT_CURSOR(SELF, (char *)Buffer_bufstart(PARROT_IMAGEIO(SELF)->buffer));
+        SET_VISIT_CURSOR(SELF,
+            (char *)Buffer_bufstart(PARROT_IMAGEIO(SELF)->buffer));
         PARROT_IMAGEIO(SELF)->input_length = image->strlen;
 
         PARROT_IMAGEIO(SELF)->pf->options |= PFOPT_PMC_FREEZE_ONLY;
@@ -721,6 +771,7 @@
         Parrot_visit_loop_thawfinish(INTERP, SELF);
     }
 
+
 /*
 
 =back

Modified: branches/html_cleanup/src/pmc/object.pmc
==============================================================================
--- branches/html_cleanup/src/pmc/object.pmc	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/pmc/object.pmc	Tue Aug  3 22:29:26 2010	(r48299)
@@ -279,8 +279,7 @@
 
         if (!PMC_IS_NULL(method)) {
             STRING *result = NULL;
-            Parrot_pcc_invoke_sub_from_c_args(INTERP, method, "Pi->S",
-                    SELF, &result);
+            Parrot_ext_call(INTERP, method, "Pi->S", SELF, &result);
             return result;
         }
         else
@@ -329,8 +328,7 @@
 
         if (!PMC_IS_NULL(method)) {
             PMC *result = PMCNULL;
-            Parrot_pcc_invoke_sub_from_c_args(INTERP, method, "PiS->P",
-                    SELF, name, &result);
+            Parrot_ext_call(INTERP, method, "PiS->P", SELF, name, &result);
             return result;
         }
 
@@ -394,8 +392,7 @@
                 VTABLE_get_class(INTERP, SELF), vtable_meth_name);
 
         if (!PMC_IS_NULL(method)) {
-            Parrot_pcc_invoke_sub_from_c_args(INTERP, method, "PiSP->",
-                SELF, name, value);
+            Parrot_ext_call(INTERP, method, "PiSP->", SELF, name, value);
             return;
         }
 
@@ -478,8 +475,7 @@
 
                 if (!PMC_IS_NULL(method)) {
                     PMC *result = PMCNULL;
-                    Parrot_pcc_invoke_sub_from_c_args(INTERP, method,
-                            "PiS->P", SELF, name, &result);
+                    Parrot_ext_call(INTERP, method, "PiS->P", SELF, name, &result);
 
                     /* break out to the CACHE IF FOUND code */
                     method = result;
@@ -538,8 +534,7 @@
 
             if (!PMC_IS_NULL(meth)) {
                 INTVAL result;
-                Parrot_pcc_invoke_sub_from_c_args(INTERP, meth, "Pi->I",
-                     SELF, &result);
+                Parrot_ext_call(INTERP, meth, "Pi->I", SELF, &result);
                 return result;
 
             }
@@ -577,8 +572,7 @@
 
         if (!PMC_IS_NULL(method)) {
             PMC *result;
-            Parrot_pcc_invoke_sub_from_c_args(INTERP, method, "Pi->P",
-                    SELF, &result);
+            Parrot_ext_call(INTERP, method, "Pi->P", SELF, &result);
             return result;
         }
 
@@ -606,8 +600,7 @@
 
         if (!PMC_IS_NULL(method)) {
             PMC *result;
-            Parrot_pcc_invoke_sub_from_c_args(INTERP, method, "Pi->P",
-                    SELF, &result);
+            Parrot_ext_call(INTERP, method, "Pi->P", SELF, &result);
             return result;
         }
 
@@ -698,8 +691,7 @@
 
             if (!PMC_IS_NULL(method)) {
                 INTVAL result;
-                Parrot_pcc_invoke_sub_from_c_args(INTERP, method,
-                        "PiS->I", SELF, role_name, &result);
+                Parrot_ext_call(INTERP, method, "PiS->I", SELF, role_name, &result);
                 if (result)
                     return 1;
             }
@@ -826,8 +818,7 @@
 
         if (!PMC_IS_NULL(meth)) {
             PMC *result;
-            Parrot_pcc_invoke_sub_from_c_args(INTERP, meth, "Pi->P",
-                 SELF, &result);
+            Parrot_ext_call(INTERP, meth, "Pi->P", SELF, &result);
             return result;
         }
 
@@ -975,8 +966,7 @@
              Parrot_oo_find_vtable_override(INTERP, classobj, meth_name);
 
         if (!PMC_IS_NULL(method))
-            Parrot_pcc_invoke_sub_from_c_args(INTERP, method, "PiP->",
-                    SELF, type);
+            Parrot_ext_call(INTERP, method, "PiP->", SELF, type);
         else
             SUPER(type);
     }

Modified: branches/html_cleanup/src/pmc/oplib.pmc
==============================================================================
--- branches/html_cleanup/src/pmc/oplib.pmc	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/pmc/oplib.pmc	Tue Aug  3 22:29:26 2010	(r48299)
@@ -89,7 +89,7 @@
     }
 
     VTABLE PMC* get_pmc_keyed_int(INTVAL value) {
-        if ((UINTVAL)value > INTERP->op_lib->op_count)
+        if ((UINTVAL)value >= INTERP->op_lib->op_count)
             Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_OUT_OF_BOUNDS,
                 "OpLib: Opcode index %d out of bounds", value);
         else {
@@ -99,10 +99,14 @@
         }
     }
 
-    VTABLE INTVAL get_integer() {
+    VTABLE INTVAL elements() {
         return INTERP->op_lib->op_count;
     }
 
+    VTABLE INTVAL get_integer() {
+        return STATICSELF.elements();
+    }
+
     METHOD op_family(STRING *shortname)
     {
         char * const sname = Parrot_str_to_cstring(INTERP, shortname);

Modified: branches/html_cleanup/src/pmc/packfileconstanttable.pmc
==============================================================================
--- branches/html_cleanup/src/pmc/packfileconstanttable.pmc	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/pmc/packfileconstanttable.pmc	Tue Aug  3 22:29:26 2010	(r48299)
@@ -92,7 +92,6 @@
                 PARROT_PACKFILECONSTANTTABLE(SELF);
         const PackFile_ConstTable * const table =
                 (const PackFile_ConstTable *)(pointer);
-        const PackFile_Constant * val;
         opcode_t i;
 
         /* Preallocate required amount of memory */
@@ -100,7 +99,7 @@
         VTABLE_set_integer_native(INTERP, attrs->types, table->const_count);
 
         for (i = 0; i < table->const_count; ++i) {
-            val = table->constants[i];
+            const PackFile_Constant * val = &table->constants[i];
             switch (val->type) {
               case PFC_NONE:
                 break;
@@ -141,10 +140,10 @@
         /* Copy all constanst with respect of type */
         pftable->const_count = VTABLE_get_integer(INTERP, attrs->constants);
         pftable->constants   = mem_gc_allocate_n_typed(INTERP,
-                pftable->const_count, PackFile_Constant*);
+                pftable->const_count, PackFile_Constant);
 
         for (i = 0; i < pftable->const_count; ++i) {
-            PackFile_Constant * const value = PackFile_Constant_new(INTERP);
+            PackFile_Constant * const value = &pftable->constants[i];
             value->type = VTABLE_get_integer_keyed_int(INTERP, attrs->types, i);
             switch (value->type) {
               case PFC_NONE:
@@ -167,8 +166,6 @@
                         EXCEPTION_MALFORMED_PACKFILE,
                         "Unknown PackFile constant type: %d", value->type);
             }
-
-            pftable->constants[i] = value;
         }
 
         return pftable;

Modified: branches/html_cleanup/src/pmc/stringhandle.pmc
==============================================================================
--- branches/html_cleanup/src/pmc/stringhandle.pmc	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/pmc/stringhandle.pmc	Tue Aug  3 22:29:26 2010	(r48299)
@@ -207,7 +207,8 @@
             SET_ATTR_mode(INTERP, SELF, open_mode);
         }
 
-        SELF = Parrot_io_open(INTERP, SELF, filename, open_mode);
+        flags = Parrot_io_parse_open_flags(INTERP, open_mode);
+        SET_ATTR_flags(INTERP, SELF, flags);
 
         RETURN(PMC *SELF);
     }
@@ -254,7 +255,10 @@
 */
 
     METHOD is_closed() {
-        const INTVAL status = Parrot_io_is_closed(INTERP, SELF);
+        STRING *stringhandle;
+        INTVAL status;
+        GET_ATTR_stringhandle(INTERP, SELF, stringhandle);
+        status = STRING_IS_NULL(stringhandle);
         RETURN(INTVAL status);
     }
 

Modified: branches/html_cleanup/src/pmc/sub.pmc
==============================================================================
--- branches/html_cleanup/src/pmc/sub.pmc	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/pmc/sub.pmc	Tue Aug  3 22:29:26 2010	(r48299)
@@ -863,7 +863,7 @@
             /* If the first instruction is a get_params... */
             if (*pc == PARROT_OP_get_params_pc) {
                 /* Get the signature (the next thing in the bytecode). */
-                PMC * const sig = PF_CONST(sub->seg, *(++pc))->u.key;
+                PMC * const sig = PF_CONST(sub->seg, *(++pc)).u.key;
 
                 /* Iterate over the signature and compute argument counts. */
                 const INTVAL sig_length = VTABLE_elements(INTERP, sig);

Modified: branches/html_cleanup/src/pmc_freeze.c
==============================================================================
--- branches/html_cleanup/src/pmc_freeze.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/pmc_freeze.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -11,7 +11,7 @@
 Thawing PMCs uses a list with (maximum) size of the amount of PMCs to
 keep track of retrieved PMCs.
 
-The individual information of PMCs is frozen/thawed by their vtables.
+PMCs freeze and thaw their own information through their vtables.
 
 To avoid recursion, the whole functionality is driven by
 C<< pmc->vtable->visit >>, which is called for the first PMC initially.
@@ -59,12 +59,13 @@
     return VTABLE_get_string(interp, image);
 }
 
+
 /*
 
 =item C<STRING * Parrot_freeze_pbc(PARROT_INTERP, PMC *pmc, const
 PackFile_ConstTable *pf)>
 
-Freeze to a PackFile.
+Freezes a PMC to a PackFile.
 
 =cut
 
@@ -81,7 +82,8 @@
     PMC * const pf_pmc = Parrot_pmc_new(interp, enum_class_UnManagedStruct);
     DECL_CONST_CAST;
 
-    VTABLE_set_pointer(interp, pf_pmc, PARROT_const_cast(void *, (const void*)pf));
+    VTABLE_set_pointer(interp, pf_pmc,
+        PARROT_const_cast(void *, (const void *)pf));
 
     visitor  = Parrot_pmc_new_init(interp, enum_class_ImageIO, pf_pmc);
     VTABLE_set_pmc(interp, visitor, pmc);
@@ -94,7 +96,7 @@
 
 =item C<UINTVAL Parrot_freeze_size(PARROT_INTERP, PMC *pmc)>
 
-Get the size of an image to be frozen without allocating a large buffer.
+Gets the size of an image to be frozen without allocating a large buffer.
 
 =cut
 
@@ -106,21 +108,21 @@
 Parrot_freeze_size(PARROT_INTERP, ARGIN(PMC *pmc))
 {
     ASSERT_ARGS(Parrot_freeze_size)
-    UINTVAL int_result;
     PMC    *pmc_result;
     PMC    * const visitor = Parrot_pmc_new(interp, enum_class_ImageIOSize);
     VTABLE_set_pmc(interp, visitor, pmc);
     pmc_result = VTABLE_get_pmc(interp, visitor);
-    int_result = VTABLE_get_integer(interp, pmc_result);
-    return int_result;
+
+    return VTABLE_get_integer(interp, pmc_result);
 }
 
+
 /*
 
 =item C<UINTVAL Parrot_freeze_pbc_size(PARROT_INTERP, PMC *pmc, const
 PackFile_ConstTable *pf)>
 
-Get the size of an image if it were created using C<Parrot_freeze_pbc>.
+Gets the size of an image if it were created using C<Parrot_freeze_pbc>.
 
 =cut
 
@@ -136,7 +138,8 @@
     PMC *visitor, *pmc_result;
     DECL_CONST_CAST;
 
-    VTABLE_set_pointer(interp, pf_pmc, PARROT_const_cast(void *, (const void *)pf));
+    VTABLE_set_pointer(interp, pf_pmc,
+        PARROT_const_cast(void *, (const void *)pf));
 
     visitor = Parrot_pmc_new_init(interp, enum_class_ImageIOSize, pf_pmc);
     VTABLE_set_pmc(interp, visitor, pmc);
@@ -150,7 +153,7 @@
 
 =item C<PMC * Parrot_freeze_strings(PARROT_INTERP, PMC *pmc)>
 
-Get the strings of a PMC to be frozen.
+Gets the strings of a PMC to be frozen.
 
 =cut
 
@@ -171,15 +174,14 @@
 
 /*
 
-=item C<PMC* Parrot_thaw(PARROT_INTERP, STRING *image)>
+=item C<PMC * Parrot_thaw(PARROT_INTERP, STRING *image)>
 
 Thaws a PMC.  Called from the C<thaw> opcode.
 
-For now it seems cheaper to use a list for remembering contained
-aggregates. We could of course decide dynamically, which strategy to
-use, e.g.: given a big image, the first thawed item is a small
-aggregate. This implies, it probably contains (or some big strings) more
-nested containers, for which another approach could be a win.
+For now it seems cheaper to use a list for remembering contained aggregates. We
+could of course decide dynamically, which strategy to use: given a big image,
+the first thawed item is a small aggregate. This implies it probably contains
+more nested containers, for which another approach could be a win.
 
 =cut
 
@@ -188,14 +190,14 @@
 PARROT_EXPORT
 PARROT_WARN_UNUSED_RESULT
 PARROT_CANNOT_RETURN_NULL
-PMC*
+PMC *
 Parrot_thaw(PARROT_INTERP, ARGIN(STRING *image))
 {
     ASSERT_ARGS(Parrot_thaw)
 
-    PMC * const info = Parrot_pmc_new(interp, enum_class_ImageIO);
-    int         gc_block = 0;
     PMC        *result;
+    PMC * const info     = Parrot_pmc_new(interp, enum_class_ImageIO);
+    int         gc_block = 0;
 
     /*
      * if we are thawing a lot of PMCs, it's cheaper to do
@@ -244,35 +246,20 @@
 Parrot_thaw_pbc(PARROT_INTERP, ARGIN(STRING *image), ARGIN(PackFile_ConstTable *pf))
 {
     ASSERT_ARGS(Parrot_thaw_pbc)
-    PMC *info, *pf_pmc, *result;
+    PMC *info = Parrot_pmc_new(interp, enum_class_ImageIO);
 
-    pf_pmc = Parrot_pmc_new(interp, enum_class_UnManagedStruct);
-    VTABLE_set_pointer(interp, pf_pmc, pf);
-
-    info = Parrot_pmc_new_init(interp, enum_class_ImageIO, pf_pmc);
-
-    /* TODO
-     * Find out what broken code depends on blocking GC here and fix it, regardless of performance
-     * wins.
-     */
-    Parrot_block_GC_mark(interp);
-    Parrot_block_GC_sweep(interp);
+    VTABLE_set_pointer(interp, info, pf);
 
     VTABLE_set_string_native(interp, info, image);
-    result = VTABLE_get_pmc(interp, info);
-
-    Parrot_unblock_GC_mark(interp);
-    Parrot_unblock_GC_sweep(interp);
-
-    return result;
+    return VTABLE_get_pmc(interp, info);
 }
 
+
 /*
 
 =item C<PMC* Parrot_thaw_constants(PARROT_INTERP, STRING *image)>
 
-Thaws constants, used by PackFile for unpacking PMC constants.
-This is a lie. It does nothing different from Parrot_thaw at the moment.
+This does nothing different from Parrot_thaw at the moment.
 
 =cut
 
@@ -310,6 +297,7 @@
     return VTABLE_clone(interp, pmc);
 }
 
+
 /*
 
 =item C<void Parrot_visit_loop_visit(PARROT_INTERP, PMC *info)>
@@ -325,9 +313,10 @@
 {
     ASSERT_ARGS(Parrot_visit_loop_visit)
 
-    INTVAL      i;
+    PMC * const  todo   = VTABLE_get_iter(interp, info);
     const INTVAL action = VTABLE_get_integer(interp, info);
-    PMC * const todo    = VTABLE_get_iter(interp, info);
+    const INTVAL e      = VTABLE_elements(interp, todo);
+    INTVAL       i;
 
     /* can't cache upper limit, visit may append items */
     for (i = 0; i < VTABLE_elements(interp, todo); ++i) {
@@ -349,11 +338,12 @@
     }
 }
 
+
 /*
 
 =item C<void Parrot_visit_loop_thawfinish(PARROT_INTERP, PMC *info)>
 
-Iterate a visitor PMC thawfinishing each encountered target PMC.
+Iterates a visitor PMC, thawfinishing each encountered target PMC.
 
 =cut
 
@@ -374,17 +364,18 @@
      *      order here is likely broken.
      */
 
-    PMC * const todo    = VTABLE_get_iter(interp, info);
-    const INTVAL n = VTABLE_elements(interp, todo);
+    PMC * const  todo = VTABLE_get_iter(interp, info);
+    const INTVAL n    = VTABLE_elements(interp, todo);
     int          i;
 
-    for (i = n-1; i >= 0; --i) {
+    for (i = n - 1; i >= 0; --i) {
         PMC *current = VTABLE_get_pmc_keyed_int(interp, todo, i);
         if (!PMC_IS_NULL(current))
             VTABLE_thawfinish(interp, current, info);
     }
 }
 
+
 /*
 
 =back

Modified: branches/html_cleanup/src/runcore/trace.c
==============================================================================
--- branches/html_cleanup/src/runcore/trace.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/runcore/trace.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -313,7 +313,7 @@
     ||  *pc == PARROT_OP_get_results_pc
     ||  *pc == PARROT_OP_get_params_pc
     ||  *pc == PARROT_OP_set_returns_pc) {
-        sig = interp->code->const_table->constants[pc[1]]->u.key;
+        sig = interp->code->const_table->constants[pc[1]].u.key;
 
         if (!sig)
             Parrot_ex_throw_from_c_args(interp, NULL, 1,

Modified: branches/html_cleanup/src/scheduler.c
==============================================================================
--- branches/html_cleanup/src/scheduler.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/scheduler.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -17,6 +17,7 @@
 */
 
 #include "parrot/parrot.h"
+#include "parrot/extend.h"
 #include "parrot/scheduler_private.h"
 #include "parrot/runcore_api.h"
 
@@ -141,8 +142,7 @@
                 PMC * const handler = Parrot_cx_find_handler_for_task(interp, task);
                 if (!PMC_IS_NULL(handler)) {
                     PMC * const handler_sub = VTABLE_get_attr_str(interp, handler, CONST_STRING(interp, "code"));
-                    Parrot_pcc_invoke_sub_from_c_args(interp, handler_sub,
-                            "PP->", handler, task);
+                    Parrot_ext_call(interp, handler_sub, "PP->", handler, task);
                 }
             }
             else {
@@ -952,8 +952,7 @@
                     Parrot_floatval_time());
 #endif
     if (!PMC_IS_NULL(timer_struct->codeblock)) {
-        Parrot_pcc_invoke_sub_from_c_args(interp,
-                timer_struct->codeblock, "->");
+        Parrot_ext_call(interp, timer_struct->codeblock, "->");
     }
 }
 

Modified: branches/html_cleanup/src/string/api.c
==============================================================================
--- branches/html_cleanup/src/string/api.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/string/api.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -2338,17 +2338,10 @@
 
     if (s->encoding->hash)
         hashval = ENCODING_HASH(interp, s, hashval);
+    else if (s->charset->compute_hash)
+        hashval = CHARSET_COMPUTE_HASH(interp, s, hashval);
     else {
-        /* ZZZZZ workaround for something not setting up encodings right */
-        ASSERT_STRING_SANITY(s);
-
-        ENCODING_ITER_INIT(interp, s, &iter);
-
-        for (offs = 0; offs < s->strlen; ++offs) {
-            const UINTVAL c = iter.get_and_advance(interp, &iter);
-            hashval += hashval << 5;
-            hashval += c;
-        }
+        exit_fatal(1, "String subsystem not properly initialized");
     }
 
     s->hashval = hashval;

Modified: branches/html_cleanup/src/string/charset/binary.c
==============================================================================
--- branches/html_cleanup/src/string/charset/binary.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/string/charset/binary.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -37,16 +37,6 @@
 static STRING* compose(PARROT_INTERP, SHIM(const STRING *src))
         __attribute__nonnull__(1);
 
-static INTVAL cs_index(SHIM_INTERP,
-    SHIM(const STRING *src),
-    SHIM(const STRING *search_string),
-    SHIM(UINTVAL offset));
-
-static INTVAL cs_rindex(SHIM_INTERP,
-    SHIM(const STRING *src),
-    SHIM(const STRING *search_string),
-    SHIM(UINTVAL offset));
-
 PARROT_CANNOT_RETURN_NULL
 static STRING* decompose(PARROT_INTERP, SHIM(const STRING *src))
         __attribute__nonnull__(1);
@@ -107,8 +97,6 @@
     , PARROT_ASSERT_ARG(rhs))
 #define ASSERT_ARGS_compose __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
-#define ASSERT_ARGS_cs_index __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
-#define ASSERT_ARGS_cs_rindex __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
 #define ASSERT_ARGS_decompose __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp))
 #define ASSERT_ARGS_downcase __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -346,46 +334,6 @@
 
 /*
 
-=item C<static INTVAL cs_index(PARROT_INTERP, const STRING *src, const STRING
-*search_string, UINTVAL offset)>
-
-Returns -1. It makes no sense to try and search for a substring in
-raw binary data.
-
-=cut
-
-*/
-
-static INTVAL
-cs_index(SHIM_INTERP, SHIM(const STRING *src),
-        SHIM(const STRING *search_string), SHIM(UINTVAL offset))
-{
-    ASSERT_ARGS(cs_index)
-    return -1;
-}
-
-/*
-
-=item C<static INTVAL cs_rindex(PARROT_INTERP, const STRING *src, const STRING
-*search_string, UINTVAL offset)>
-
-Returns -1. It makes no sense to search for the last substring match
-in raw binary data.
-
-=cut
-
-*/
-
-static INTVAL
-cs_rindex(SHIM_INTERP, SHIM(const STRING *src),
-        SHIM(const STRING *search_string), SHIM(UINTVAL offset))
-{
-    ASSERT_ARGS(cs_rindex)
-    return -1;
-}
-
-/*
-
 =item C<static UINTVAL validate(PARROT_INTERP, const STRING *src)>
 
 Returns 1. All sequential data is valid binary data.
@@ -510,8 +458,8 @@
         downcase_first,
         titlecase_first,
         compare,
-        cs_index,
-        cs_rindex,
+        ascii_cs_index,
+        ascii_cs_rindex,
         validate,
         is_cclass,
         find_cclass,

Modified: branches/html_cleanup/src/thread.c
==============================================================================
--- branches/html_cleanup/src/thread.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/thread.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -19,6 +19,7 @@
 */
 
 #include "parrot/parrot.h"
+#include "parrot/extend.h"
 #include "parrot/atomic.h"
 #include "parrot/runcore_api.h"
 #include "pmc/pmc_sub.h"
@@ -515,7 +516,7 @@
         Parrot_ex_add_c_handler(interp, &jump_point);
         Parrot_unblock_GC_mark(interp);
         Parrot_unblock_GC_sweep(interp);
-        Parrot_pcc_invoke_sub_from_c_args(interp, sub_pmc, "Pf->P", sub_arg, &ret_val);
+        Parrot_ext_call(interp, sub_pmc, "Pf->P", sub_arg, &ret_val);
     }
 
     /* thread is finito */

Modified: branches/html_cleanup/src/utils.c
==============================================================================
--- branches/html_cleanup/src/utils.c	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/src/utils.c	Tue Aug  3 22:29:26 2010	(r48299)
@@ -21,6 +21,7 @@
 */
 
 #include "parrot/parrot.h"
+#include "parrot/extend.h"
 #include "pmc/pmc_nci.h"
 
 typedef unsigned short _rand_buf[3];
@@ -930,7 +931,7 @@
         return f(interp, a, b);
     }
 
-    Parrot_pcc_invoke_sub_from_c_args(interp, cmp, "PP->I", a, b, &result);
+    Parrot_ext_call(interp, cmp, "PP->I", a, b, &result);
     return result;
 }
 

Modified: branches/html_cleanup/t/compilers/pct/complete_workflow.t
==============================================================================
--- branches/html_cleanup/t/compilers/pct/complete_workflow.t	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/t/compilers/pct/complete_workflow.t	Tue Aug  3 22:29:26 2010	(r48299)
@@ -306,6 +306,7 @@
     # Do not assume that . is in $PATH
     # places to look for things
     my $BUILD_DIR     = $PConfig{build_dir};
+    my $BD_CHARSET    = $BUILD_DIR =~ /[^[:ascii:]]/ ? "binary:" : q{};
     my $TEST_DIR      = "$BUILD_DIR/t/compilers/pct";
     my $PARROT        = "$BUILD_DIR/parrot$PConfig{exe}";
     my $PGE_LIBRARY   = "$BUILD_DIR/runtime/parrot/library/PGE";
@@ -334,7 +335,7 @@
     .local pmc args
     args = new 'ResizableStringArray'
     push args, "test_program"
-    push args, "$TEST_DIR/complete_workflow_sample_input.txt"
+    push args, $BD_CHARSET"$TEST_DIR/complete_workflow_sample_input.txt"
 
     \$P0 = new ['PCT'; 'HLLCompiler']
     \$P0.'language'('TestGrammar')

Modified: branches/html_cleanup/t/library/p6object.t
==============================================================================
--- branches/html_cleanup/t/library/p6object.t	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/t/library/p6object.t	Tue Aug  3 22:29:26 2010	(r48299)
@@ -26,7 +26,7 @@
     test_namespace.'export_to'(curr_namespace, exports)
 
     ##  set our plan
-    plan(295)
+    plan(303)
 
     ##  make sure we can load the P6object library
     push_eh load_fail
@@ -79,6 +79,20 @@
     $I0 = can abcobj, 'new'
     nok($I0, '! <can ABC_obj, "new" >')
 
+    ## verify .ACCEPTS method
+    $P0 = hashproto.'ACCEPTS'(hashobj)
+    ok($P0, 'Hash.ACCEPTS(Hash_obj)')
+    isa_ok($P0, 'Boolean', 'Boolean')
+    $P0 = hashproto.'ACCEPTS'(abcobj)
+    nok($P0, 'Hash.ACCEPTS(Abc_obj)')
+    isa_ok($P0, 'Boolean', 'Boolean')
+    $P0 = abcproto.'ACCEPTS'(hashobj)
+    nok($P0, 'ABC.ACCEPTS(Hash_obj)')
+    isa_ok($P0, 'Boolean', 'Boolean')
+    $P0 = abcproto.'ACCEPTS'(abcobj)
+    ok($P0, 'ABCh.ACCEPTS(Abc_obj)')
+    isa_ok($P0, 'Boolean', 'Boolean')
+
     ##  create new class by namespace
     .local pmc ghins, ghiproto, ghiobj
     ghins = get_hll_namespace ['GHI']

Modified: branches/html_cleanup/t/native_pbc/annotations.pbc
==============================================================================
Binary file (source and/or target). No diff available.

Modified: branches/html_cleanup/t/native_pbc/integer.pbc
==============================================================================
Binary file (source and/or target). No diff available.

Modified: branches/html_cleanup/t/native_pbc/number.pbc
==============================================================================
Binary file (source and/or target). No diff available.

Modified: branches/html_cleanup/t/native_pbc/string.pbc
==============================================================================
Binary file (source and/or target). No diff available.

Modified: branches/html_cleanup/t/op/64bit.t
==============================================================================
--- branches/html_cleanup/t/op/64bit.t	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/t/op/64bit.t	Tue Aug  3 22:29:26 2010	(r48299)
@@ -36,7 +36,18 @@
     goto end
 
   is_64_bit:
-    bitops64()
+
+    # setup TODO for platform 'MSWin32'
+    .local string osname
+    osname = config['osname']
+    .local int todo_1
+    todo_1 = 0
+    unless  osname == "MSWin32" goto do_test
+    todo_1 = 1
+
+  do_test:
+
+    bitops64(todo_1)
 
   end:
 .end
@@ -44,10 +55,22 @@
 
 .sub bitops64
         # check bitops for 8-byte ints
+        .param int todo_1
 
         set $I0, 0xffffffffffffffff
+
+        if todo_1 goto do_todo
         is( $I0, -1, 'bitops64' )
+        goto test_2
+
+      do_todo:
+        if $I0 == -1 goto todo_pass
+        todo ( 0, 'bitops64', 'not working on MSWin32, amd64' )
+        goto test_2
+      todo_pass:
+        todo ( 1, 'bitops64', 'not working on MSWin32, amd64' )
 
+      test_2:
         set $I1, 0x00000000ffffffff
         is( $I1, 4294967295, 'bitops64' )
 

Modified: branches/html_cleanup/t/op/integer.t
==============================================================================
--- branches/html_cleanup/t/op/integer.t	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/t/op/integer.t	Tue Aug  3 22:29:26 2010	(r48299)
@@ -16,7 +16,7 @@
 
 =cut
 
-.const int TESTS = 150
+.const int TESTS = 152
 
 .sub 'test' :main
     .include 'test_more.pir'
@@ -30,6 +30,7 @@
     test_sub()
     test_mul()
     test_div()
+    test_fdiv()
     test_mod()
     mod_negative_zero_rest()
     test_eq()
@@ -276,6 +277,18 @@
     is($I1, 10, 'div_i_ic_ic')
 .end
 
+.sub 'test_fdiv'
+    $I0 = 9
+    $I1 = -4
+    fdiv $I0, $I1
+    is($I0, -3, 'fdiv_i_i with negative divisor')
+
+    $I0 = 9
+    $I1 = -4
+    $I2 = fdiv $I0, $I1
+    is($I2, -3, 'fdiv_i_i_i with negative divisor')
+.end
+
 .sub 'test_mod'
     $I0 = 5
     $I1 = 0

Modified: branches/html_cleanup/t/op/string.t
==============================================================================
--- branches/html_cleanup/t/op/string.t	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/t/op/string.t	Tue Aug  3 22:29:26 2010	(r48299)
@@ -989,7 +989,7 @@
     set $S0, binary:"Parrot"
     set $S1, binary:"rot"
     index $I1, $S0, $S1
-    is( $I1, "-1", 'binary - binary' )
+    is( $I1, 3, 'binary - binary' )
 .end
 
 .sub negative_index_bug_35959

Modified: branches/html_cleanup/t/pmc/capture.t
==============================================================================
--- branches/html_cleanup/t/pmc/capture.t	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/t/pmc/capture.t	Tue Aug  3 22:29:26 2010	(r48299)
@@ -17,7 +17,7 @@
 
 =cut
 
-.const int TESTS = 47
+.const int TESTS = 53
 
 .sub 'test' :main
     .include 'test_more.pir'
@@ -25,6 +25,7 @@
     plan(TESTS)
 
     test_new_capture()
+    empty_capture_tests()
     basic_capture_tests()
     test_defined_delete_exists()
     test_hash_list()
@@ -41,6 +42,29 @@
     ok(1, 'new Capture')
 .end
 
+.sub 'empty_capture_tests'
+    .local pmc capt
+
+    capt = new ['Capture']
+
+    $I0 = elements capt
+    is($I0, 0, 'elements on empty Capture')
+
+    $N0 = capt[0]
+    is($N0, 0.0, 'get_number_keyed_int on empty Capture')
+    $I0 = capt[0]
+    is($I0, 0, 'get_integer_keyed_int on empty Capture')
+    $S0 = capt[0]
+    is($S0, '', 'get_string_keyed_int on empty Capture')
+
+    $N0 = capt['nothing']
+    is($N0, 0.0, 'get_number_keyed on empty Capture')
+
+    $S0 = capt
+    $S1 = 'get_string on empty Capture - ' . $S0
+    substring($S0, 'Capture[', $S1)
+.end
+
 .sub 'basic_capture_tests'
     .local pmc capt
 

Modified: branches/html_cleanup/t/pmc/exceptionhandler.t
==============================================================================
--- branches/html_cleanup/t/pmc/exceptionhandler.t	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/t/pmc/exceptionhandler.t	Tue Aug  3 22:29:26 2010	(r48299)
@@ -1,5 +1,5 @@
 #!./parrot
-# Copyright (C) 2006-2008, Parrot Foundation.
+# Copyright (C) 2006-2010, Parrot Foundation.
 # $Id$
 
 =head1 NAME
@@ -23,9 +23,9 @@
     .include 'test_more.pir'
 
     # If test exited with "bad plan" MyHandlerCan.can_handle wasn't invoked.
-    plan(11)
+    plan(15)
 
-    .local pmc eh
+    .local pmc eh, eh2
     eh = new ['ExceptionHandler']
     ok(1, 'Instantiated ExceptionHandler')
 
@@ -34,11 +34,21 @@
     eh.'max_severity'(.EXCEPT_WARNING)
     push_eh eh
 
-    eh = new ['ExceptionHandler']
-    set_addr eh, error_handler_one
-    eh.'min_severity'(.EXCEPT_ERROR)
-    eh.'max_severity'(.EXCEPT_FATAL)
-    push_eh eh
+    eh2 = new ['ExceptionHandler']
+    set_addr eh2, error_handler_one
+    eh2.'min_severity'(.EXCEPT_ERROR)
+    eh2.'max_severity'(.EXCEPT_FATAL)
+    push_eh eh2
+
+    .local int i
+    i = eh.'min_severity'()
+    is(i, .EXCEPT_NORMAL, 'get min_severity - 1')
+    i = eh.'max_severity'()
+    is(i, .EXCEPT_WARNING, 'get max_severity - 1')
+    i = eh2.'min_severity'()
+    is(i, .EXCEPT_ERROR, 'get min_severity - 2')
+    i = eh2.'max_severity'()
+    is(i, .EXCEPT_FATAL, 'get max_severity - 2')
 
     $P0 = new ['Exception']
     $P0['severity'] = .EXCEPT_NORMAL

Modified: branches/html_cleanup/t/pmc/opcode.t
==============================================================================
--- branches/html_cleanup/t/pmc/opcode.t	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/t/pmc/opcode.t	Tue Aug  3 22:29:26 2010	(r48299)
@@ -12,6 +12,8 @@
 
 =cut
 
+.include 'except_types.pasm'
+
 .sub main :main
     .include 'test_more.pir'
     plan(1)
@@ -19,12 +21,18 @@
 .end
 
 .sub cannot_create_directly
-    push_eh cannot_create
+    .local pmc eh, ex
+    eh = new ['ExceptionHandler']
+    eh.'handle_types'(.EXCEPTION_INVALID_OPERATION)
+    set_label eh, cannot_create
+    push_eh eh
     $P0 = new ['Opcode']
     ok(0, "shouldn't be able to create new opcode")
     goto create_end
   cannot_create:
-    ok(1)
+    .get_results(ex)
+    $S0 = ex['message']
+    ok(1,  $S0)
   create_end:
 .end
 

Modified: branches/html_cleanup/t/pmc/oplib.t
==============================================================================
--- branches/html_cleanup/t/pmc/oplib.t	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/t/pmc/oplib.t	Tue Aug  3 22:29:26 2010	(r48299)
@@ -12,12 +12,26 @@
 
 =cut
 
+# Hardcoded assumptions for tests:
+# * We have an op called end
+# * It has no arguments
+# * Is the only member of its familiy
+.const string TESTED_OP = 'end'
+.const int TESTED_OP_ELEMS = 0
+.const int TESTED_OP_FAMILIY_ELEMS = 1
+# Never have an op with this name:
+.const string TESTED_NOSUCHOP = 'hopeweneverhaveopcodesnamedlikethis'
+
+.include 'except_types.pasm'
+
 .sub main :main
     .include 'test_more.pir'
-    plan(5)
+    plan(12)
     new_oplib()
-    get_end()
-    get_no_opcode()
+    check_elements()
+    getint_end()
+    getint_no_opcode()
+    getop_end()
     family_end()
     family_no_opcode()
 .end
@@ -28,36 +42,84 @@
     nok($I0, "new OpLib")
 .end
 
-.sub get_end
+.sub check_elements
+    .local pmc oplib, op, eh
+    .local int n, i
+    oplib = new ['OpLib']
+    n = elements oplib
+    i = n - 1
+    op = oplib[i]
+    i = isnull op
+    is(i, 0, 'last opcode exists')
+    eh = new ['ExceptionHandler']
+    eh.'handle_types'(.EXCEPTION_OUT_OF_BOUNDS)
+    set_addr eh, catch
+    push_eh eh
+    op = oplib[n]
+    nok(1, 'out of bounds opcode number should throw')
+    goto end
+  catch:
+    finalize eh
+    pop_eh
+    ok(1, 'out of bounds opcode number throws')
+  end:
+.end
+
+.sub getint_end
     $P0 = new ['OpLib']
-    # Assumption: we'll always have an end opcode.
-    $I1 = $P0['end']
+    $I1 = $P0[TESTED_OP]
     $I0 = isne $I1, -1
     ok($I0, "got end opcode")
 .end
 
-.sub get_no_opcode
+.sub getint_no_opcode
     $P0 = new ['OpLib']
-    $I1 = $P0['hopeweneverhaveopcodesnamedlikethis']
+    $I1 = $P0[TESTED_NOSUCHOP]
     $I0 = iseq $I1, -1
     ok($I0, "get non existent opcode fails")
 .end
 
+.sub getop_end
+    .local pmc oplib, op, op2, name
+    oplib = new ['OpLib']
+
+    # Using a string constant
+    op = oplib[TESTED_OP]
+    $I0 = isnull op
+    is($I0, 0, "got end opcode data")
+
+    $I0 = elements op
+    is($I0, TESTED_OP_ELEMS, "the opcode tested has the expected lenght")
+
+    # Using a String PMC
+    name = new ['String']
+    name = TESTED_OP
+    op2 = oplib[name]
+    $I0 = isnull op2
+    is($I0, 0, "got end opcode data keyed pmc")
+
+    $I0 = issame op, op2
+    ok($I0, "got same result from both ways")
+
+    $I1 = op
+    $I0 = oplib['end']
+    is($I0, $I1, 'opcode number from Opcode and from OpLib is the same')
+.end
+
 .sub family_end
     $P0 = new ['OpLib']
-    # Assumption: we'll always have an end opcode.
-    $P1 = $P0.'op_family'('end')
+    $P1 = $P0.'op_family'(TESTED_OP)
     $I0 = isnull $P1
     dec $I0
     unless $I0 goto done
     $I0 = elements $P1
 done:
-    is($I0, 1, "'end' family is not null and has 1 element")
+    is($I0, TESTED_OP_FAMILIY_ELEMS, "'end' family is not null and has 1 element")
 .end
 
 .sub family_no_opcode
     $P0 = new ['OpLib']
-    $P1 = $P0.'op_family'('hopeweneverhaveopcodesnamedlikethis')
+    $P1 = $P0.'op_family'(TESTED_NOSUCHOP)
     $I0 = isnull $P1
     ok($I0, "non existent opcode family is null")
 .end

Modified: branches/html_cleanup/t/pmc/packfile.t
==============================================================================
--- branches/html_cleanup/t/pmc/packfile.t	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/t/pmc/packfile.t	Tue Aug  3 22:29:26 2010	(r48299)
@@ -20,12 +20,14 @@
 =cut
 
 .include 't/pmc/testlib/packfile_common.pir'
+.include 'except_types.pasm'
 
 .sub main :main
 .include 'test_more.pir'
 
-    plan(36)
+    plan(37)
     'test_new'()
+    'test_set_string_native'()
     'test_get_string'()
     'test_set_string'()
     'test_get_integer'()
@@ -47,10 +49,33 @@
     pf = new ['Packfile']
     $I0 = defined pf
     ok($I0, 'new')
+
+    # Make sure the mark vtable function is exercised
+    sweep 1
+
     .tailcall _check_header(pf)
 .end
 
 
+.sub 'test_set_string_native'
+    .local pmc pf, eh
+    .local int result
+
+    eh = new ['ExceptionHandler']
+    eh.'handle_types'(.EXCEPTION_MALFORMED_PACKFILE)
+    set_label eh, catch
+    push_eh eh
+    pf = new ['Packfile']
+    pf = 'This is not data with a valid packfile format'
+    result = 0
+    goto end
+  catch:
+    result = 1
+  end:
+    is(result, 1, 'set_string_native with invalid data throws')
+.end
+
+
 .sub 'test_get_string'
     .local pmc pf
     pf = new ['Packfile']

Modified: branches/html_cleanup/t/tools/pbc_dump.t
==============================================================================
--- branches/html_cleanup/t/tools/pbc_dump.t	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/t/tools/pbc_dump.t	Tue Aug  3 22:29:26 2010	(r48299)
@@ -45,7 +45,7 @@
         plan skip_all => "pbc_dump hasn't been built. Run make parrot_utils";
         exit(0);
     }
-    plan tests => 6;
+    plan tests => 8;
 }
 
 dump_output_like( <<PIR, "pir", [qr/FIXUP_t/, qr/CONSTANT_t/, qr/BYTECODE_t/], 'pbc_dump basic sanity');
@@ -72,6 +72,53 @@
 .end
 PIR
 
+my $longcode = ".sub main :main\n";
+for (0 ... 10000) {
+    $longcode .= "\$I0 = \$I0 + 1234\n";
+}
+$longcode .= ".end";
+
+dump_output_like( $longcode, "pir",  qr/BYTECODE.*_DB.*=>/,
+    "large pir program doesn't mess up pbc_dump");
+
+open my $INC1, '>', "inc_a.pir";
+print $INC1 <<'EOF';
+.sub does :vtable
+    .param string provides
+.end
+EOF
+close $INC1;
+
+open my $INC2, '>', "inc_b.pir";
+print $INC2 <<'EOF';
+.namespace [ 'TclConst' ]
+.sub class_init :anon :load
+    $P0 = get_class 'String'
+.end
+EOF
+close $INC2;
+
+open my $INC3, '>', "inc_c.pir";
+print $INC3 <<'EOF';
+.namespace [ 'TclDict' ]
+.sub class_init :anon :load
+    say "wut"
+.end
+EOF
+close $INC3;
+
+#test known-good hard-coded values.  These values come from looking at
+#pbc_dump's #output and sanity checking with the locations of the various subs.
+dump_output_like( <<PIR, "pir", qr/BYTECODE.*_DB.*OFFSET => 0,.*OFFSET => 7.*OFFSET => 13/ms, 'debug segments contain accurate offsets');
+.include 'inc_a.pir'
+.include 'inc_b.pir'
+.include 'inc_c.pir'
+PIR
+
+unlink('inc_a.pir');
+unlink('inc_b.pir');
+unlink('inc_c.pir');
+
 =head1 HELPER SUBROUTINES
 
 =head2 dump_output_like

Modified: branches/html_cleanup/tools/dev/pbc_to_exe.pir
==============================================================================
--- branches/html_cleanup/tools/dev/pbc_to_exe.pir	Tue Aug  3 22:27:14 2010	(r48298)
+++ branches/html_cleanup/tools/dev/pbc_to_exe.pir	Tue Aug  3 22:29:26 2010	(r48299)
@@ -255,7 +255,7 @@
   read_done:
     ifh.'close'()
 
-    push codestring, "\n};\n\nconst int bytecode_size = "
+    push codestring, "\n};\n\nconst size_t bytecode_size = "
     $S0 = size
     push codestring, $S0
     push codestring, ";\n"
@@ -353,7 +353,7 @@
 
     push codestring, '"'
     push codestring, "\n;\n\n"
-    push codestring, "const int bytecode_size = "
+    push codestring, "const size_t bytecode_size = "
     $S0 = size
     push codestring, $S0
     push codestring, ";\n"

Deleted: branches/html_cleanup/tools/dev/pprof2cg.nqp
==============================================================================
--- branches/html_cleanup/tools/dev/pprof2cg.nqp	Tue Aug  3 22:29:26 2010	(r48298)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,284 +0,0 @@
-#! parrot-nqp
-
-
-#XXX: can't do main with args yet, so fake it
-
-main();
-
-sub main() {
-
-    my $filename := pir::getinterp__P[2][1];
-
-    my %stats;
-    %stats<global_stats><total_time> := 0;
-
-    my $fh := pir::new__PP("FileHandle");
-    $fh.open($filename, "r");
-    
-    process_input($fh, %stats);
-
-    $fh.close();
-
-    #print_stats(%stats);
-
-    $filename := $filename ~ ".out";
-
-    $fh.open($filename, "w");
-    my @profile := get_cg_profile(%stats);
-    for @profile -> $line {
-        $fh.print($line ~ "\n");
-    }
-    $fh.close();
-    say("all done.");
-}
-
-sub process_input($fh, %stats) {
-    my @call_stack;
-    my $line := $fh.readline();
-
-    while (!$fh.eof()) {
-
-        my $type := pir::substr($line, 0, pir::index($line, ':'));
-        my $data := pir::substr($line, pir::index($line, ':')+1);
-        #say("data is '$data'");
-
-        if ($type eq "OP") {
-            #say("found an op line");
-            
-            my %op_hash := split_line($data);
-            my %cur_ctx := @call_stack[0];
-
-            if (pir::defined__IP(%cur_ctx<line>) && %op_hash<line> == %cur_ctx<line>) {
-                %cur_ctx<op_num>++;
-            }
-            else {
-                %cur_ctx<op_num> := 0;
-            }
-
-            my $op_time     := %op_hash<time>;
-            # += would be nice here
-            my $global_time := $op_time + %stats<global_stats><total_time>;
-            %stats<global_stats><total_time> := $global_time;
-            %cur_ctx<line>  := %op_hash<line>;
-            store_stats(%stats, %cur_ctx, $op_time, %op_hash<op>);
-
-            my $skip_first := 1;
-            for @call_stack {
-                if $skip_first {
-                    $skip_first--;
-                }
-                else {
-                    %stats{ $_<file> }{ $_<ns> }{ $_<line> }[ $_<op_num> ]<time> :=
-                    %stats{ $_<file> }{ $_<ns> }{ $_<line> }[ $_<op_num> ]<time> + $op_time;
-                }
-            }
-        }
-
-        elsif ($type eq "CS") {
-            #say("found a context switch line");
-
-            my %cs_hash := split_line($data);
-            if (@call_stack == 0) {
-                #say("ctx stack is empty");
-                @call_stack[0] := %cs_hash;
-            }
-            else {
-                my %cur_ctx      := @call_stack[0];
-                my $hash_ctx     := %cs_hash<ctx>;
-                my $is_redundant := %cur_ctx<ctx> eq $hash_ctx;
-                my $reused_ctx   := $is_redundant && %cur_ctx<sub> != %cs_hash<sub>;
-
-                if ($reused_ctx) {
-                    #say("is reused: $hash_ctx vs " ~ %cur_ctx<ctx>);
-                    %cur_ctx<ns>  := %cs_hash<ns>;
-                    %cur_ctx<sub> := %cs_hash<sub>;
-                }
-                
-                elsif $is_redundant {
-                    #say("is redundant: $hash_ctx vs " ~ %cur_ctx<ctx>);
-                }
-                else {
-                    my $found_ctx := 0;
-                    for @call_stack {
-                        #would be nice to exit early
-                        $found_ctx := $found_ctx || $_<ctx> eq $hash_ctx;
-                    }
-
-                    if $found_ctx {
-                        pir::shift(@call_stack) while @call_stack[0]<ctx> ne $hash_ctx
-                    }
-                    else {
-                        %cur_ctx<op_num>++;
-                        store_stats(%stats, @call_stack[0], 0, "CALL", :target(%cs_hash<ns>));
-                        pir::unshift(@call_stack, %cs_hash);
-                    }
-                }
-            }
-        }
-
-        elsif ($type eq "VERSION") {
-            my $version_num;
-            Q:PIR {
-                $P0 = find_lex "$data"
-                $I0 = $P0
-                $P0 = box $I0
-                store_lex "$version_num", $P0
-            };
-            #say("found a version line: '$version_num'");
-            if ($version_num != 1) {
-                say("pprof is from an incompatible Parrot version");
-                pir::exit(1);
-            }
-        }
-        elsif ($type eq "CLI") {
-            #say("found a CLI line");
-            %stats<global_stats><cli> := $data;
-        }
-        elsif (pir::index($line, "END_OF_RUNLOOP") == 0) {
-            #say("found an end of runloop line");
-            @call_stack := ();
-        }
-        elsif (pir::index($line, "#") == 0) {
-            #say("found a comment line");
-        }
-        else {
-            say("don't know what to do with this line: \"$line\"");
-        }
-        $line := $fh.readline();
-    }
-}
-
-
-sub store_stats(%stats, %loc, $time, $op_name, :$target?) {
-
-    my %op_stats;
-    if pir::defined__IP( %stats{ %loc<file> }{ %loc<ns> }{ %loc<line> }[ %loc<op_num> ] ) {
-        %op_stats := %stats{ %loc<file> }{ %loc<ns> }{ %loc<line> }[ %loc<op_num> ];
-    }
-    else {
-        %op_stats := %stats{ %loc<file> }{ %loc<ns> }{ %loc<line> }[ %loc<op_num> ] := {};
-    }
-
-    if %op_stats<hits> {
-        %op_stats<hits>++;
-        %op_stats<time> := %op_stats<time> + $time;
-    }
-    else {
-        %op_stats<hits>    := 1;
-        %op_stats<time>    := $time;
-        %op_stats<op_name> := $op_name;
-        %op_stats<target>  := $target if pir::defined__IP($target);
-    }
-}
-
-sub print_stats(%stats) {
-#    for %stats -> $file {
-#        if $file ne 'global_stats' {
-#            for %stats{$file} -> $ns {
-#                for %stats{$file}{$ns} -> $line_num {
-#                    my $max_op := +%stats{$file}{$ns}{$line_num};
-#                    my $cur_op := 0;
-#                    while ($cur_op < $max_op) {
-#                        print("$file  $ns  line/op:$line_num/$cur_op");
-#                        for %stats{$file}{$ns}{$line_num}[$cur_op] -> $attr {
-#                            print(" $attr => " ~ ~%stats{$file}{$ns}{$line_num}[$cur_op]{$attr});
-#                        }
-#                        $cur_op++;
-#                        print("\n");
-#                    }
-#                }
-#                print("\n");
-#            }
-#        }
-#    }
-    pir::load_bytecode("dumper.pbc");
-    _dumper(%stats);
-}
-
-
-sub get_cg_profile(%stats) {
-    my @output;
-    @output.push("version: 1");
-    @output.push("creator: PARROT IS AWESOME");
-    @output.push("pid: 5751");
-    @output.push("cmd: " ~ ~%stats<global_stats><cli>);
-    #@output.push("");
-    @output.push("part: 1");
-    @output.push("desc: I1 cache:");
-    @output.push("desc: D1 cache:");
-    @output.push("desc: L2 cache:");
-    @output.push("desc: Timerange: Basic block 0 - " ~ +%stats<global_stats><total_time>);
-    @output.push("desc: Trigger: Program termination");
-    @output.push("positions: line");
-    @output.push("events: Ir");
-    @output.push("summary: "~ %stats<global_stats><total_time>);
-    @output.push("");
-
-    for %stats -> $file {
-        if $file ne "global_stats" {
-
-            @output.push("fl=$file");
-            for %stats{$file} -> $ns {
-                @output.push("\nfn=$ns");
-
-                #%stats{$file}{$ns}.sort();
-                for %stats{$file}{$ns} -> $line {
-                    my $curr_op    := 0;
-                    my @line_stats := %stats{$file}{$ns}{$line};
-                    my $op_count   := + at line_stats;
-                    my $op_time    := 0;
-
-                    while $curr_op < $op_count && @line_stats[$curr_op]<op_name> ne "CALL"  {
-                        $op_time := $op_time + @line_stats[$curr_op]<time>;
-                        #say("op is "~ @line_stats[$curr_op]<op_name>);
-                        $curr_op++;
-                    }
-                    @output.push(~$line ~ " " ~ ~$op_time);
-                    
-                    if $curr_op < $op_count && @line_stats[$curr_op]<op_name> eq "CALL" {
-                        my $hits   := @line_stats[$curr_op]<hits>;
-                        my $time   := @line_stats[$curr_op]<time>;
-                        my $target := @line_stats[$curr_op]<target>;
-                        @output.push("cfn=$target");
-                        @output.push("calls=$hits $time");
-                        #say("op is "~ @line_stats[$curr_op]<op_name>);
-                    }
-                    
-                    if $curr_op < $op_count {
-                        $op_time := 0;
-                        while $curr_op < $op_count {
-                            $op_time := $op_time + @line_stats[$curr_op]<time>;
-                        #say("op is "~ @line_stats[$curr_op]<op_name>);
-                            $curr_op++;
-                        }
-                        @output.push(~$line ~ " " ~ ~$op_time);
-                    }
-                }
-            }
-        }
-    }
-    @output.push("totals: " ~ ~%stats<global_stats><total_time>);
-    @output;
-}
-
-
-sub split_line($line) {
-    my %values := {};
-
-    #take off the opening and closing {x{ and }x}
-    $line   := pir::substr($line, 3);
-    my $len := pir::length($line);
-    $len    := $len - 4;
-    $line   := pir::substr($line, 0, $len);
-
-    my @attrs := pir::split('}x}{x{', $line);
-
-    for @attrs {
-        my $idx       := pir::index($_, ":");
-        my $key       := pir::substr($_, 0, $idx);
-        my $value     := pir::substr($_, $idx+1);
-        %values{$key} := $value;
-        #say("key is $key, value is $value");
-    }
-    return %values;
-}


More information about the parrot-commits mailing list