guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, master, updated. release_1-9-12-169-ga


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-12-169-gaee24ba
Date: Fri, 08 Oct 2010 11:26:00 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=aee24bac50ae0851264b3382d2bce0c23fd9eff7

The branch, master has been updated
       via  aee24bac50ae0851264b3382d2bce0c23fd9eff7 (commit)
       via  9b78275eb07efab57d4e4b2e902939aa38f11884 (commit)
       via  b262b74b51142bbc066438fe034c7c22c000feb0 (commit)
       via  d608db1d593cf46af4a5fc519dcc7274d422378b (commit)
       via  4388818adb8786cae9867a55bbc80b500983a672 (commit)
       via  381ccb0b8969774dd7d8173439df0a088ea6e2c6 (commit)
       via  cf45ff030cb224eb007562d27201bb124aadf15a (commit)
       via  1ecf39a6a76c95e5413ba55b7792416bd13c7fe6 (commit)
       via  6b1d1af7daf6cd252d6a4ac113b96fab13351fef (commit)
      from  63e36ea6da6e8e9599c18a6235617283c4c7832f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit aee24bac50ae0851264b3382d2bce0c23fd9eff7
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 8 12:29:54 2010 +0200

    fix a bug in `finish'
    
    * module/system/repl/command.scm (repl-pop-continuation-resumer)
      (finish): Fix a bug printing return values.

commit 9b78275eb07efab57d4e4b2e902939aa38f11884
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 8 12:23:34 2010 +0200

    stepping traps use frame-next-source, not frame-source
    
    * module/system/vm/trap-state.scm (add-ephemeral-stepping-trap!): Use
      frame-next-source in stepping traps.

commit b262b74b51142bbc066438fe034c7c22c000feb0
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 8 12:21:20 2010 +0200

    add program-sources-pre-retire to core and define frame-next-source
    
    * libguile/programs.h:
    * libguile/programs.c (scm_program_source): Add an optional arg, the
      sources table to traverse. Defaults to the result of
      scm_program_sources.
    
    * module/system/vm/program.scm (program-sources-pre-retire): Move
      definition here from (system vm traps), and export.
    
    * module/system/vm/traps.scm: Adapt.
    
    * module/system/vm/frame.scm (frame-next-source): New exported binding,
      returns the source line corresponding to the next instruction instead
      of the previous instruction.

commit d608db1d593cf46af4a5fc519dcc7274d422378b
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 8 11:53:59 2010 +0200

    fix error in frame-return-values
    
    * module/system/vm/frame.scm (frame-return-values): Fix off-by-one
      error.

commit 4388818adb8786cae9867a55bbc80b500983a672
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 8 11:52:38 2010 +0200

    fix tracing of mv returns
    
    * module/system/vm/trace.scm (print-return): Fix multiple-value-return
      printing.

commit 381ccb0b8969774dd7d8173439df0a088ea6e2c6
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 8 11:43:15 2010 +0200

    more inlining in psyntax
    
    * module/ice-9/psyntax.scm (make-wrap, wrap-marks, wrap-subst): Use
      identifier syntax here too.
    
    * module/ice-9/psyntax-pp.scm: Regenerated.

commit cf45ff030cb224eb007562d27201bb124aadf15a
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 8 11:30:17 2010 +0200

    inline symbol? and vector? to opcodes, and a psyntax inlining tweak
    
    * libguile/vm-i-scheme.c (symbol?, vector?): New
      instructions. Renumbered the rest.
    * libguile/vm-i-system.c: Renumber instructions.
    * libguile/_scm.h (SCM_OBJCODE_MINOR_VERSION): Bump.
    
    * module/ice-9/psyntax.scm (binding-type, binding-value): Define using
      macros so that we inline to car and cdr opcodes. Oh, for an inliner :)
    
    * module/language/tree-il/compile-glil.scm (*primcall-ops*)
    * module/language/tree-il/primitives.scm
      (*interesting-primitive-names*, *effect-free-primitives*)
      (*effect+exception-free-primitives*): Add symbol? and vector?
      inlines.

commit 1ecf39a6a76c95e5413ba55b7792416bd13c7fe6
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 8 11:13:19 2010 +0200

    add repl debugging command docs
    
    * doc/ref/scheme-using.texi (Debug Commands): Add docs for new debugging
      commands (break, step, registers, etc).

commit 6b1d1af7daf6cd252d6a4ac113b96fab13351fef
Author: Andy Wingo <address@hidden>
Date:   Fri Oct 8 10:54:03 2010 +0200

    proof-reading fixen in api-debug
    
    * doc/ref/api-debug.texi (Trap States, High-Level Traps): A couple of
      proof-reading fixes.

-----------------------------------------------------------------------

Summary of changes:
 doc/ref/api-debug.texi                   |    8 +-
 doc/ref/scheme-using.texi                |   87 +-
 libguile/_scm.h                          |    2 +-
 libguile/programs.c                      |   33 +-
 libguile/programs.h                      |    2 +-
 libguile/vm-i-scheme.c                   |  152 +-
 libguile/vm-i-system.c                   |  184 +-
 module/ice-9/psyntax-pp.scm              |13665 +++++++++++++++---------------
 module/ice-9/psyntax.scm                 |   14 +-
 module/language/tree-il/compile-glil.scm |    2 +
 module/language/tree-il/primitives.scm   |    6 +-
 module/system/repl/command.scm           |    6 +-
 module/system/vm/frame.scm               |   17 +-
 module/system/vm/program.scm             |   59 +-
 module/system/vm/trace.scm               |    2 +-
 module/system/vm/trap-state.scm          |    4 +-
 module/system/vm/traps.scm               |   56 +-
 17 files changed, 7152 insertions(+), 7147 deletions(-)

diff --git a/doc/ref/api-debug.texi b/doc/ref/api-debug.texi
index 709da3f..7efbb75 100644
--- a/doc/ref/api-debug.texi
+++ b/doc/ref/api-debug.texi
@@ -1175,7 +1175,7 @@ state}. The trap state object is not exposed to the user; 
rather, API
 that works on trap states fetches the current trap state from the
 dynamic environment.
 
-Traps identified by integers. A trap can be enabled, disabled, or
+Traps are identified by integers. A trap can be enabled, disabled, or
 removed, and can have an associated user-visible name.
 
 These procedures have their own module:
@@ -1230,13 +1230,13 @@ Do you enter a debugger, or mail a summary of the 
situation to your
 great-aunt, or what?
 
 So for the common case in which you just want to install breakpoints,
-and then have them all result in calls one parameterizable procedure, we
-have the high-level trap interface.
+and then have them all result in calls to one parameterizable procedure,
+we have the high-level trap interface.
 
 Perhaps we should have started this section with this interface, as it's
 clearly the one most people should use.  But as its capabilities and
 limitations proceed from the lower layers, we felt that the
-character-building exercise of building a mental model could be useful.
+character-building exercise of building a mental model might be helpful.
 
 These procedures share a module with trap states:
 
diff --git a/doc/ref/scheme-using.texi b/doc/ref/scheme-using.texi
index e9cff76..5749f02 100644
--- a/doc/ref/scheme-using.texi
+++ b/doc/ref/scheme-using.texi
@@ -319,51 +319,48 @@ Display the message associated with the error that 
started the current
 debugging REPL.
 @end deffn
 
address@hidden FIXME: whenever we regain support for stepping, here are the 
docs..
-
address@hidden The commands in this subsection all apply only when the stack is
address@hidden @dfn{continuable} --- in other words when it makes sense for the 
program
address@hidden that the stack comes from to continue running.  Usually this 
means that
address@hidden the program stopped because of a trap or a breakpoint.
-
address@hidden @deffn {Debugger Command} step [n]
address@hidden Tell the debugged program to do @var{n} more steps from its 
current
address@hidden position.  One @dfn{step} means executing until the next frame 
entry or
address@hidden exit of any kind.  @var{n} defaults to 1.
address@hidden @end deffn
-
address@hidden @deffn {Debugger Command} next [n]
address@hidden Tell the debugged program to do @var{n} more steps from its 
current
address@hidden position, but only counting frame entries and exits where the
address@hidden corresponding source code comes from the same file as the 
current stack
address@hidden frame.  (See @ref{Step Traps} for the details of how this 
works.)  If
address@hidden the current stack frame has no source code, the effect of this 
command
address@hidden is the same as of @code{step}.  @var{n} defaults to 1.
address@hidden @end deffn
-
address@hidden @deffn {Debugger Command} finish
address@hidden Tell the program being debugged to continue running until the 
completion
address@hidden of the current stack frame, and at that time to print the result 
and
address@hidden reenter the command line debugger.
address@hidden @end deffn
-
address@hidden @deffn {Debugger Command} continue
address@hidden Tell the program being debugged to continue running.  (In fact 
this is
address@hidden the same as the @code{quit} command, because it exits the 
debugger
address@hidden command loop and so allows whatever code it was that invoked the
address@hidden debugger to continue.)
address@hidden @end deffn
-
address@hidden The @code{evaluate} command is most useful for querying the 
value of a
address@hidden variable, either global or local, in the environment of the 
selected
address@hidden stack frame, but it can be used more generally to evaluate any
address@hidden expression.
-
address@hidden @deffn {Debugger Command} evaluate expression
address@hidden Evaluate an expression in the environment of the selected stack 
frame.
address@hidden The expression must appear on the same line as the command, 
however it
address@hidden may be continued over multiple lines.
address@hidden @end deffn
address@hidden {REPL Command} registers
+Show the VM registers associated with the current frame.
+
address@hidden Layout}, for more information on VM stack frames.
address@hidden deffn
+
+The next 3 commands work at any REPL.
+
address@hidden {REPL Command} break proc
+Set a breakpoint at @var{proc}.
address@hidden deffn
+
address@hidden {REPL Command} break-at-source file line
+Set a breakpoint at the given source location.
address@hidden deffn
+
address@hidden {REPL Command} tracepoint proc
+Set a tracepoint on the given procedure. This will cause all calls to
+the procedure to print out a tracing message. @xref{Tracing Traps}, for
+more information.
address@hidden deffn
+
+The rest of the commands in this subsection all apply only when the
+stack is @dfn{continuable} --- in other words when it makes sense for
+the program that the stack comes from to continue running.  Usually this
+means that the program stopped because of a trap or a breakpoint.
+
address@hidden {REPL Command} step
+Tell the debugged program to step to the next source location.
address@hidden deffn
+
address@hidden {REPL Command} next
+Tell the debugged program to step to the next source location in the
+same frame.  (See @ref{Traps} for the details of how this works.)
address@hidden deffn
+
address@hidden {REPL Command} finish
+Tell the program being debugged to continue running until the completion
+of the current stack frame, and at that time to print the result and
+reenter the REPL.
address@hidden deffn
+
 
 @node Inspect Commands
 @subsubsection Inspect Commands
diff --git a/libguile/_scm.h b/libguile/_scm.h
index 0d86fe1..f9b140f 100644
--- a/libguile/_scm.h
+++ b/libguile/_scm.h
@@ -183,7 +183,7 @@
 
 /* Major and minor versions must be single characters. */
 #define SCM_OBJCODE_MAJOR_VERSION 0
-#define SCM_OBJCODE_MINOR_VERSION R
+#define SCM_OBJCODE_MINOR_VERSION S
 #define SCM_OBJCODE_MAJOR_VERSION_STRING        \
   SCM_CPP_STRINGIFY(SCM_OBJCODE_MAJOR_VERSION)
 #define SCM_OBJCODE_MINOR_VERSION_STRING        \
diff --git a/libguile/programs.c b/libguile/programs.c
index 3a14f65..4404f83 100644
--- a/libguile/programs.c
+++ b/libguile/programs.c
@@ -267,28 +267,37 @@ scm_i_program_properties (SCM program)
 }
 #undef FUNC_NAME
 
-SCM_DEFINE (scm_program_source, "program-source", 2, 0, 0,
-           (SCM program, SCM ip),
+static SCM
+program_source (SCM program, size_t ip, SCM sources)
+{
+  SCM source = SCM_BOOL_F;
+
+  while (!scm_is_null (sources)
+         && scm_to_size_t (scm_caar (sources)) <= ip)
+    {
+      source = scm_car (sources);
+      sources = scm_cdr (sources);
+    }
+  
+  return source; /* (addr . (filename . (line . column))) */
+}
+
+SCM_DEFINE (scm_program_source, "program-source", 2, 1, 0,
+           (SCM program, SCM ip, SCM sources),
            "")
 #define FUNC_NAME s_scm_program_source
 {
   SCM_VALIDATE_PROGRAM (1, program);
-  return scm_c_program_source (program, scm_to_size_t (ip));
+  if (SCM_UNBNDP (sources))
+    sources = scm_program_sources (program);
+  return program_source (program, scm_to_size_t (ip), sources);
 }
 #undef FUNC_NAME
     
 extern SCM
 scm_c_program_source (SCM program, size_t ip)
 {
-  SCM sources, source = SCM_BOOL_F;
-
-  for (sources = scm_program_sources (program);
-       !scm_is_null (sources)
-         && scm_to_size_t (scm_caar (sources)) <= ip;
-       sources = scm_cdr (sources))
-    source = scm_car (sources);
-  
-  return source; /* (addr . (filename . (line . column))) */
+  return program_source (program, ip, scm_program_sources (program));
 }
 
 SCM_DEFINE (scm_program_num_free_variables, "program-num-free-variables", 1, 
0, 0,
diff --git a/libguile/programs.h b/libguile/programs.h
index 7f9b6f7..d0e788e 100644
--- a/libguile/programs.h
+++ b/libguile/programs.h
@@ -54,7 +54,7 @@ SCM_API SCM scm_program_base (SCM program);
 SCM_API SCM scm_program_meta (SCM program);
 SCM_API SCM scm_program_bindings (SCM program);
 SCM_API SCM scm_program_sources (SCM program);
-SCM_API SCM scm_program_source (SCM program, SCM ip);
+SCM_API SCM scm_program_source (SCM program, SCM ip, SCM sources);
 SCM_API SCM scm_program_arities (SCM program);
 SCM_API SCM scm_program_objects (SCM program);
 SCM_API SCM scm_program_module (SCM program);
diff --git a/libguile/vm-i-scheme.c b/libguile/vm-i-scheme.c
index 15c5e8f..69ea8a5 100644
--- a/libguile/vm-i-scheme.c
+++ b/libguile/vm-i-scheme.c
@@ -99,12 +99,24 @@ VM_DEFINE_FUNCTION (137, listp, "list?", 1)
   RETURN (scm_from_bool (scm_ilength (x) >= 0));
 }
 
+VM_DEFINE_FUNCTION (138, symbolp, "symbol?", 1)
+{
+  ARGS1 (x);
+  RETURN (scm_from_bool (scm_is_symbol (x)));
+}
+
+VM_DEFINE_FUNCTION (139, vectorp, "vector?", 1)
+{
+  ARGS1 (x);
+  RETURN (scm_from_bool (SCM_I_IS_VECTOR (x)));
+}
+
 
 /*
  * Basic data
  */
 
-VM_DEFINE_FUNCTION (138, cons, "cons", 2)
+VM_DEFINE_FUNCTION (140, cons, "cons", 2)
 {
   ARGS2 (x, y);
   CONS (x, x, y);
@@ -118,21 +130,21 @@ VM_DEFINE_FUNCTION (138, cons, "cons", 2)
       goto vm_error_not_a_pair;                 \
     }
   
-VM_DEFINE_FUNCTION (139, car, "car", 1)
+VM_DEFINE_FUNCTION (141, car, "car", 1)
 {
   ARGS1 (x);
   VM_VALIDATE_CONS (x, "car");
   RETURN (SCM_CAR (x));
 }
 
-VM_DEFINE_FUNCTION (140, cdr, "cdr", 1)
+VM_DEFINE_FUNCTION (142, cdr, "cdr", 1)
 {
   ARGS1 (x);
   VM_VALIDATE_CONS (x, "cdr");
   RETURN (SCM_CDR (x));
 }
 
-VM_DEFINE_INSTRUCTION (141, set_car, "set-car!", 0, 2, 0)
+VM_DEFINE_INSTRUCTION (143, set_car, "set-car!", 0, 2, 0)
 {
   SCM x, y;
   POP (y);
@@ -142,7 +154,7 @@ VM_DEFINE_INSTRUCTION (141, set_car, "set-car!", 0, 2, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (142, set_cdr, "set-cdr!", 0, 2, 0)
+VM_DEFINE_INSTRUCTION (144, set_cdr, "set-cdr!", 0, 2, 0)
 {
   SCM x, y;
   POP (y);
@@ -167,27 +179,27 @@ VM_DEFINE_INSTRUCTION (142, set_cdr, "set-cdr!", 0, 2, 0)
   RETURN (srel (x, y));                                         \
 }
 
-VM_DEFINE_FUNCTION (143, ee, "ee?", 2)
+VM_DEFINE_FUNCTION (145, ee, "ee?", 2)
 {
   REL (==, scm_num_eq_p);
 }
 
-VM_DEFINE_FUNCTION (144, lt, "lt?", 2)
+VM_DEFINE_FUNCTION (146, lt, "lt?", 2)
 {
   REL (<, scm_less_p);
 }
 
-VM_DEFINE_FUNCTION (145, le, "le?", 2)
+VM_DEFINE_FUNCTION (147, le, "le?", 2)
 {
   REL (<=, scm_leq_p);
 }
 
-VM_DEFINE_FUNCTION (146, gt, "gt?", 2)
+VM_DEFINE_FUNCTION (148, gt, "gt?", 2)
 {
   REL (>, scm_gr_p);
 }
 
-VM_DEFINE_FUNCTION (147, ge, "ge?", 2)
+VM_DEFINE_FUNCTION (149, ge, "ge?", 2)
 {
   REL (>=, scm_geq_p);
 }
@@ -211,12 +223,12 @@ VM_DEFINE_FUNCTION (147, ge, "ge?", 2)
   RETURN (SFUNC (x, y));                               \
 }
 
-VM_DEFINE_FUNCTION (148, add, "add", 2)
+VM_DEFINE_FUNCTION (150, add, "add", 2)
 {
   FUNC2 (+, scm_sum);
 }
 
-VM_DEFINE_FUNCTION (149, add1, "add1", 1)
+VM_DEFINE_FUNCTION (151, add1, "add1", 1)
 {
   ARGS1 (x);
   if (SCM_I_INUMP (x))
@@ -229,12 +241,12 @@ VM_DEFINE_FUNCTION (149, add1, "add1", 1)
   RETURN (scm_sum (x, SCM_I_MAKINUM (1)));
 }
 
-VM_DEFINE_FUNCTION (150, sub, "sub", 2)
+VM_DEFINE_FUNCTION (152, sub, "sub", 2)
 {
   FUNC2 (-, scm_difference);
 }
 
-VM_DEFINE_FUNCTION (151, sub1, "sub1", 1)
+VM_DEFINE_FUNCTION (153, sub1, "sub1", 1)
 {
   ARGS1 (x);
   if (SCM_I_INUMP (x))
@@ -247,42 +259,42 @@ VM_DEFINE_FUNCTION (151, sub1, "sub1", 1)
   RETURN (scm_difference (x, SCM_I_MAKINUM (1)));
 }
 
-VM_DEFINE_FUNCTION (152, mul, "mul", 2)
+VM_DEFINE_FUNCTION (154, mul, "mul", 2)
 {
   ARGS2 (x, y);
   SYNC_REGISTER ();
   RETURN (scm_product (x, y));
 }
 
-VM_DEFINE_FUNCTION (153, div, "div", 2)
+VM_DEFINE_FUNCTION (155, div, "div", 2)
 {
   ARGS2 (x, y);
   SYNC_REGISTER ();
   RETURN (scm_divide (x, y));
 }
 
-VM_DEFINE_FUNCTION (154, quo, "quo", 2)
+VM_DEFINE_FUNCTION (156, quo, "quo", 2)
 {
   ARGS2 (x, y);
   SYNC_REGISTER ();
   RETURN (scm_quotient (x, y));
 }
 
-VM_DEFINE_FUNCTION (155, rem, "rem", 2)
+VM_DEFINE_FUNCTION (157, rem, "rem", 2)
 {
   ARGS2 (x, y);
   SYNC_REGISTER ();
   RETURN (scm_remainder (x, y));
 }
 
-VM_DEFINE_FUNCTION (156, mod, "mod", 2)
+VM_DEFINE_FUNCTION (158, mod, "mod", 2)
 {
   ARGS2 (x, y);
   SYNC_REGISTER ();
   RETURN (scm_modulo (x, y));
 }
 
-VM_DEFINE_FUNCTION (157, ash, "ash", 2)
+VM_DEFINE_FUNCTION (159, ash, "ash", 2)
 {
   ARGS2 (x, y);
   if (SCM_I_INUMP (x) && SCM_I_INUMP (y))
@@ -311,7 +323,7 @@ VM_DEFINE_FUNCTION (157, ash, "ash", 2)
   RETURN (scm_ash (x, y));
 }
 
-VM_DEFINE_FUNCTION (158, logand, "logand", 2)
+VM_DEFINE_FUNCTION (160, logand, "logand", 2)
 {
   ARGS2 (x, y);
   if (SCM_I_INUMP (x) && SCM_I_INUMP (y))
@@ -320,7 +332,7 @@ VM_DEFINE_FUNCTION (158, logand, "logand", 2)
   RETURN (scm_logand (x, y));
 }
 
-VM_DEFINE_FUNCTION (159, logior, "logior", 2)
+VM_DEFINE_FUNCTION (161, logior, "logior", 2)
 {
   ARGS2 (x, y);
   if (SCM_I_INUMP (x) && SCM_I_INUMP (y))
@@ -329,7 +341,7 @@ VM_DEFINE_FUNCTION (159, logior, "logior", 2)
   RETURN (scm_logior (x, y));
 }
 
-VM_DEFINE_FUNCTION (160, logxor, "logxor", 2)
+VM_DEFINE_FUNCTION (162, logxor, "logxor", 2)
 {
   ARGS2 (x, y);
   if (SCM_I_INUMP (x) && SCM_I_INUMP (y))
@@ -343,7 +355,7 @@ VM_DEFINE_FUNCTION (160, logxor, "logxor", 2)
  * Vectors and arrays
  */
 
-VM_DEFINE_FUNCTION (161, vector_ref, "vector-ref", 2)
+VM_DEFINE_FUNCTION (163, vector_ref, "vector-ref", 2)
 {
   long i = 0;
   ARGS2 (vect, idx);
@@ -359,7 +371,7 @@ VM_DEFINE_FUNCTION (161, vector_ref, "vector-ref", 2)
     }
 }
 
-VM_DEFINE_INSTRUCTION (162, vector_set, "vector-set", 0, 3, 0)
+VM_DEFINE_INSTRUCTION (164, vector_set, "vector-set", 0, 3, 0)
 {
   long i = 0;
   SCM vect, idx, val;
@@ -377,7 +389,7 @@ VM_DEFINE_INSTRUCTION (162, vector_set, "vector-set", 0, 3, 
0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (163, make_array, "make-array", 3, -1, 1)
+VM_DEFINE_INSTRUCTION (165, make_array, "make-array", 3, -1, 1)
 {
   scm_t_uint32 len;
   SCM shape, ret;
@@ -406,20 +418,20 @@ VM_DEFINE_INSTRUCTION (163, make_array, "make-array", 3, 
-1, 1)
       goto vm_error_not_a_struct;              \
     }
 
-VM_DEFINE_FUNCTION (164, struct_p, "struct?", 1)
+VM_DEFINE_FUNCTION (166, struct_p, "struct?", 1)
 {
   ARGS1 (obj);
   RETURN (scm_from_bool (SCM_STRUCTP (obj)));
 }
 
-VM_DEFINE_FUNCTION (165, struct_vtable, "struct-vtable", 1)
+VM_DEFINE_FUNCTION (167, struct_vtable, "struct-vtable", 1)
 {
   ARGS1 (obj);
   VM_VALIDATE_STRUCT (obj, "struct_vtable");
   RETURN (SCM_STRUCT_VTABLE (obj));
 }
 
-VM_DEFINE_INSTRUCTION (166, make_struct, "make-struct", 2, -1, 1)
+VM_DEFINE_INSTRUCTION (168, make_struct, "make-struct", 2, -1, 1)
 {
   unsigned h = FETCH ();
   unsigned l = FETCH ();
@@ -452,7 +464,7 @@ VM_DEFINE_INSTRUCTION (166, make_struct, "make-struct", 2, 
-1, 1)
   NEXT;
 }
 
-VM_DEFINE_FUNCTION (167, struct_ref, "struct-ref", 2)
+VM_DEFINE_FUNCTION (169, struct_ref, "struct-ref", 2)
 {
   ARGS2 (obj, pos);
 
@@ -479,7 +491,7 @@ VM_DEFINE_FUNCTION (167, struct_ref, "struct-ref", 2)
   RETURN (scm_struct_ref (obj, pos));
 }
 
-VM_DEFINE_FUNCTION (168, struct_set, "struct-set", 3)
+VM_DEFINE_FUNCTION (170, struct_set, "struct-set", 3)
 {
   ARGS3 (obj, pos, val);
 
@@ -512,7 +524,7 @@ VM_DEFINE_FUNCTION (168, struct_set, "struct-set", 3)
 /*
  * GOOPS support
  */
-VM_DEFINE_FUNCTION (169, class_of, "class-of", 1)
+VM_DEFINE_FUNCTION (171, class_of, "class-of", 1)
 {
   ARGS1 (obj);
   if (SCM_INSTANCEP (obj))
@@ -521,7 +533,7 @@ VM_DEFINE_FUNCTION (169, class_of, "class-of", 1)
   RETURN (scm_class_of (obj));
 }
 
-VM_DEFINE_FUNCTION (170, slot_ref, "slot-ref", 2)
+VM_DEFINE_FUNCTION (172, slot_ref, "slot-ref", 2)
 {
   size_t slot;
   ARGS2 (instance, idx);
@@ -529,7 +541,7 @@ VM_DEFINE_FUNCTION (170, slot_ref, "slot-ref", 2)
   RETURN (SCM_PACK (SCM_STRUCT_DATA (instance) [slot]));
 }
 
-VM_DEFINE_INSTRUCTION (171, slot_set, "slot-set", 0, 3, 0)
+VM_DEFINE_INSTRUCTION (173, slot_set, "slot-set", 0, 3, 0)
 {
   SCM instance, idx, val;
   size_t slot;
@@ -574,21 +586,21 @@ VM_DEFINE_INSTRUCTION (171, slot_set, "slot-set", 0, 3, 0)
 #define ALIGNED_P(ptr, type)                   \
   ((scm_t_uintptr) (ptr) % alignof (type) == 0)
 
-VM_DEFINE_FUNCTION (172, bv_u16_ref, "bv-u16-ref", 3)
+VM_DEFINE_FUNCTION (174, bv_u16_ref, "bv-u16-ref", 3)
 BV_REF_WITH_ENDIANNESS (u16, u16)
-VM_DEFINE_FUNCTION (173, bv_s16_ref, "bv-s16-ref", 3)
+VM_DEFINE_FUNCTION (175, bv_s16_ref, "bv-s16-ref", 3)
 BV_REF_WITH_ENDIANNESS (s16, s16)
-VM_DEFINE_FUNCTION (174, bv_u32_ref, "bv-u32-ref", 3)
+VM_DEFINE_FUNCTION (176, bv_u32_ref, "bv-u32-ref", 3)
 BV_REF_WITH_ENDIANNESS (u32, u32)
-VM_DEFINE_FUNCTION (175, bv_s32_ref, "bv-s32-ref", 3)
+VM_DEFINE_FUNCTION (177, bv_s32_ref, "bv-s32-ref", 3)
 BV_REF_WITH_ENDIANNESS (s32, s32)
-VM_DEFINE_FUNCTION (176, bv_u64_ref, "bv-u64-ref", 3)
+VM_DEFINE_FUNCTION (178, bv_u64_ref, "bv-u64-ref", 3)
 BV_REF_WITH_ENDIANNESS (u64, u64)
-VM_DEFINE_FUNCTION (177, bv_s64_ref, "bv-s64-ref", 3)
+VM_DEFINE_FUNCTION (179, bv_s64_ref, "bv-s64-ref", 3)
 BV_REF_WITH_ENDIANNESS (s64, s64)
-VM_DEFINE_FUNCTION (178, bv_f32_ref, "bv-f32-ref", 3)
+VM_DEFINE_FUNCTION (180, bv_f32_ref, "bv-f32-ref", 3)
 BV_REF_WITH_ENDIANNESS (f32, ieee_single)
-VM_DEFINE_FUNCTION (179, bv_f64_ref, "bv-f64-ref", 3)
+VM_DEFINE_FUNCTION (181, bv_f64_ref, "bv-f64-ref", 3)
 BV_REF_WITH_ENDIANNESS (f64, ieee_double)
 
 #undef BV_REF_WITH_ENDIANNESS
@@ -666,33 +678,33 @@ BV_REF_WITH_ENDIANNESS (f64, ieee_double)
     RETURN (scm_bytevector_ ## fn_stem ## _native_ref (bv, idx));      \
 }
 
-VM_DEFINE_FUNCTION (180, bv_u8_ref, "bv-u8-ref", 2)
+VM_DEFINE_FUNCTION (182, bv_u8_ref, "bv-u8-ref", 2)
 BV_FIXABLE_INT_REF (u8, u8, uint8, 1)
-VM_DEFINE_FUNCTION (181, bv_s8_ref, "bv-s8-ref", 2)
+VM_DEFINE_FUNCTION (183, bv_s8_ref, "bv-s8-ref", 2)
 BV_FIXABLE_INT_REF (s8, s8, int8, 1)
-VM_DEFINE_FUNCTION (182, bv_u16_native_ref, "bv-u16-native-ref", 2)
+VM_DEFINE_FUNCTION (184, bv_u16_native_ref, "bv-u16-native-ref", 2)
 BV_FIXABLE_INT_REF (u16, u16_native, uint16, 2)
-VM_DEFINE_FUNCTION (183, bv_s16_native_ref, "bv-s16-native-ref", 2)
+VM_DEFINE_FUNCTION (185, bv_s16_native_ref, "bv-s16-native-ref", 2)
 BV_FIXABLE_INT_REF (s16, s16_native, int16, 2)
-VM_DEFINE_FUNCTION (184, bv_u32_native_ref, "bv-u32-native-ref", 2)
+VM_DEFINE_FUNCTION (186, bv_u32_native_ref, "bv-u32-native-ref", 2)
 #if SIZEOF_VOID_P > 4
 BV_FIXABLE_INT_REF (u32, u32_native, uint32, 4)
 #else
 BV_INT_REF (u32, uint32, 4)
 #endif
-VM_DEFINE_FUNCTION (185, bv_s32_native_ref, "bv-s32-native-ref", 2)
+VM_DEFINE_FUNCTION (187, bv_s32_native_ref, "bv-s32-native-ref", 2)
 #if SIZEOF_VOID_P > 4
 BV_FIXABLE_INT_REF (s32, s32_native, int32, 4)
 #else
 BV_INT_REF (s32, int32, 4)
 #endif
-VM_DEFINE_FUNCTION (186, bv_u64_native_ref, "bv-u64-native-ref", 2)
+VM_DEFINE_FUNCTION (188, bv_u64_native_ref, "bv-u64-native-ref", 2)
 BV_INT_REF (u64, uint64, 8)
-VM_DEFINE_FUNCTION (187, bv_s64_native_ref, "bv-s64-native-ref", 2)
+VM_DEFINE_FUNCTION (189, bv_s64_native_ref, "bv-s64-native-ref", 2)
 BV_INT_REF (s64, int64, 8)
-VM_DEFINE_FUNCTION (188, bv_f32_native_ref, "bv-f32-native-ref", 2)
+VM_DEFINE_FUNCTION (190, bv_f32_native_ref, "bv-f32-native-ref", 2)
 BV_FLOAT_REF (f32, ieee_single, float, 4)
-VM_DEFINE_FUNCTION (189, bv_f64_native_ref, "bv-f64-native-ref", 2)
+VM_DEFINE_FUNCTION (191, bv_f64_native_ref, "bv-f64-native-ref", 2)
 BV_FLOAT_REF (f64, ieee_double, double, 8)
 
 #undef BV_FIXABLE_INT_REF
@@ -714,21 +726,21 @@ BV_FLOAT_REF (f64, ieee_double, double, 8)
   }                                                                     \
 }
 
-VM_DEFINE_INSTRUCTION (190, bv_u16_set, "bv-u16-set", 0, 4, 0)
+VM_DEFINE_INSTRUCTION (192, bv_u16_set, "bv-u16-set", 0, 4, 0)
 BV_SET_WITH_ENDIANNESS (u16, u16)
-VM_DEFINE_INSTRUCTION (191, bv_s16_set, "bv-s16-set", 0, 4, 0)
+VM_DEFINE_INSTRUCTION (193, bv_s16_set, "bv-s16-set", 0, 4, 0)
 BV_SET_WITH_ENDIANNESS (s16, s16)
-VM_DEFINE_INSTRUCTION (192, bv_u32_set, "bv-u32-set", 0, 4, 0)
+VM_DEFINE_INSTRUCTION (194, bv_u32_set, "bv-u32-set", 0, 4, 0)
 BV_SET_WITH_ENDIANNESS (u32, u32)
-VM_DEFINE_INSTRUCTION (193, bv_s32_set, "bv-s32-set", 0, 4, 0)
+VM_DEFINE_INSTRUCTION (195, bv_s32_set, "bv-s32-set", 0, 4, 0)
 BV_SET_WITH_ENDIANNESS (s32, s32)
-VM_DEFINE_INSTRUCTION (194, bv_u64_set, "bv-u64-set", 0, 4, 0)
+VM_DEFINE_INSTRUCTION (196, bv_u64_set, "bv-u64-set", 0, 4, 0)
 BV_SET_WITH_ENDIANNESS (u64, u64)
-VM_DEFINE_INSTRUCTION (195, bv_s64_set, "bv-s64-set", 0, 4, 0)
+VM_DEFINE_INSTRUCTION (197, bv_s64_set, "bv-s64-set", 0, 4, 0)
 BV_SET_WITH_ENDIANNESS (s64, s64)
-VM_DEFINE_INSTRUCTION (196, bv_f32_set, "bv-f32-set", 0, 4, 0)
+VM_DEFINE_INSTRUCTION (198, bv_f32_set, "bv-f32-set", 0, 4, 0)
 BV_SET_WITH_ENDIANNESS (f32, ieee_single)
-VM_DEFINE_INSTRUCTION (197, bv_f64_set, "bv-f64-set", 0, 4, 0)
+VM_DEFINE_INSTRUCTION (199, bv_f64_set, "bv-f64-set", 0, 4, 0)
 BV_SET_WITH_ENDIANNESS (f64, ieee_double)
 
 #undef BV_SET_WITH_ENDIANNESS
@@ -799,33 +811,33 @@ BV_SET_WITH_ENDIANNESS (f64, ieee_double)
   NEXT;                                                                \
 }
 
-VM_DEFINE_INSTRUCTION (198, bv_u8_set, "bv-u8-set", 0, 3, 0)
+VM_DEFINE_INSTRUCTION (200, bv_u8_set, "bv-u8-set", 0, 3, 0)
 BV_FIXABLE_INT_SET (u8, u8, uint8, 0, SCM_T_UINT8_MAX, 1)
-VM_DEFINE_INSTRUCTION (199, bv_s8_set, "bv-s8-set", 0, 3, 0)
+VM_DEFINE_INSTRUCTION (201, bv_s8_set, "bv-s8-set", 0, 3, 0)
 BV_FIXABLE_INT_SET (s8, s8, int8, SCM_T_INT8_MIN, SCM_T_INT8_MAX, 1)
-VM_DEFINE_INSTRUCTION (200, bv_u16_native_set, "bv-u16-native-set", 0, 3, 0)
+VM_DEFINE_INSTRUCTION (202, bv_u16_native_set, "bv-u16-native-set", 0, 3, 0)
 BV_FIXABLE_INT_SET (u16, u16_native, uint16, 0, SCM_T_UINT16_MAX, 2)
-VM_DEFINE_INSTRUCTION (201, bv_s16_native_set, "bv-s16-native-set", 0, 3, 0)
+VM_DEFINE_INSTRUCTION (203, bv_s16_native_set, "bv-s16-native-set", 0, 3, 0)
 BV_FIXABLE_INT_SET (s16, s16_native, int16, SCM_T_INT16_MIN, SCM_T_INT16_MAX, 
2)
-VM_DEFINE_INSTRUCTION (202, bv_u32_native_set, "bv-u32-native-set", 0, 3, 0)
+VM_DEFINE_INSTRUCTION (204, bv_u32_native_set, "bv-u32-native-set", 0, 3, 0)
 #if SIZEOF_VOID_P > 4
 BV_FIXABLE_INT_SET (u32, u32_native, uint32, 0, SCM_T_UINT32_MAX, 4)
 #else
 BV_INT_SET (u32, uint32, 4)
 #endif
-VM_DEFINE_INSTRUCTION (203, bv_s32_native_set, "bv-s32-native-set", 0, 3, 0)
+VM_DEFINE_INSTRUCTION (205, bv_s32_native_set, "bv-s32-native-set", 0, 3, 0)
 #if SIZEOF_VOID_P > 4
 BV_FIXABLE_INT_SET (s32, s32_native, int32, SCM_T_INT32_MIN, SCM_T_INT32_MAX, 
4)
 #else
 BV_INT_SET (s32, int32, 4)
 #endif
-VM_DEFINE_INSTRUCTION (204, bv_u64_native_set, "bv-u64-native-set", 0, 3, 0)
+VM_DEFINE_INSTRUCTION (206, bv_u64_native_set, "bv-u64-native-set", 0, 3, 0)
 BV_INT_SET (u64, uint64, 8)
-VM_DEFINE_INSTRUCTION (205, bv_s64_native_set, "bv-s64-native-set", 0, 3, 0)
+VM_DEFINE_INSTRUCTION (207, bv_s64_native_set, "bv-s64-native-set", 0, 3, 0)
 BV_INT_SET (s64, int64, 8)
-VM_DEFINE_INSTRUCTION (206, bv_f32_native_set, "bv-f32-native-set", 0, 3, 0)
+VM_DEFINE_INSTRUCTION (208, bv_f32_native_set, "bv-f32-native-set", 0, 3, 0)
 BV_FLOAT_SET (f32, ieee_single, float, 4)
-VM_DEFINE_INSTRUCTION (207, bv_f64_native_set, "bv-f64-native-set", 0, 3, 0)
+VM_DEFINE_INSTRUCTION (209, bv_f64_native_set, "bv-f64-native-set", 0, 3, 0)
 BV_FLOAT_SET (f64, ieee_double, double, 8)
 
 #undef BV_FIXABLE_INT_SET
diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c
index 05c632c..16b74e2 100644
--- a/libguile/vm-i-system.c
+++ b/libguile/vm-i-system.c
@@ -61,13 +61,13 @@ VM_DEFINE_INSTRUCTION (1, halt, "halt", 0, 0, 0)
   goto vm_done;
 }
 
-VM_DEFINE_INSTRUCTION (3, drop, "drop", 0, 1, 0)
+VM_DEFINE_INSTRUCTION (2, drop, "drop", 0, 1, 0)
 {
   DROP ();
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (4, dup, "dup", 0, 0, 1)
+VM_DEFINE_INSTRUCTION (3, dup, "dup", 0, 0, 1)
 {
   SCM x = *sp;
   PUSH (x);
@@ -79,55 +79,55 @@ VM_DEFINE_INSTRUCTION (4, dup, "dup", 0, 0, 1)
  * Object creation
  */
 
-VM_DEFINE_INSTRUCTION (5, void, "void", 0, 0, 1)
+VM_DEFINE_INSTRUCTION (4, void, "void", 0, 0, 1)
 {
   PUSH (SCM_UNSPECIFIED);
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (6, make_true, "make-true", 0, 0, 1)
+VM_DEFINE_INSTRUCTION (5, make_true, "make-true", 0, 0, 1)
 {
   PUSH (SCM_BOOL_T);
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (7, make_false, "make-false", 0, 0, 1)
+VM_DEFINE_INSTRUCTION (6, make_false, "make-false", 0, 0, 1)
 {
   PUSH (SCM_BOOL_F);
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (8, make_nil, "make-nil", 0, 0, 1)
+VM_DEFINE_INSTRUCTION (7, make_nil, "make-nil", 0, 0, 1)
 {
   PUSH (SCM_ELISP_NIL);
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (9, make_eol, "make-eol", 0, 0, 1)
+VM_DEFINE_INSTRUCTION (8, make_eol, "make-eol", 0, 0, 1)
 {
   PUSH (SCM_EOL);
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (10, make_int8, "make-int8", 1, 0, 1)
+VM_DEFINE_INSTRUCTION (9, make_int8, "make-int8", 1, 0, 1)
 {
   PUSH (SCM_I_MAKINUM ((signed char) FETCH ()));
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (11, make_int8_0, "make-int8:0", 0, 0, 1)
+VM_DEFINE_INSTRUCTION (10, make_int8_0, "make-int8:0", 0, 0, 1)
 {
   PUSH (SCM_INUM0);
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (12, make_int8_1, "make-int8:1", 0, 0, 1)
+VM_DEFINE_INSTRUCTION (11, make_int8_1, "make-int8:1", 0, 0, 1)
 {
   PUSH (SCM_I_MAKINUM (1));
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (13, make_int16, "make-int16", 2, 0, 1)
+VM_DEFINE_INSTRUCTION (12, make_int16, "make-int16", 2, 0, 1)
 {
   int h = FETCH ();
   int l = FETCH ();
@@ -135,7 +135,7 @@ VM_DEFINE_INSTRUCTION (13, make_int16, "make-int16", 2, 0, 
1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (14, make_int64, "make-int64", 8, 0, 1)
+VM_DEFINE_INSTRUCTION (13, make_int64, "make-int64", 8, 0, 1)
 {
   scm_t_uint64 v = 0;
   v += FETCH ();
@@ -150,7 +150,7 @@ VM_DEFINE_INSTRUCTION (14, make_int64, "make-int64", 8, 0, 
1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (15, make_uint64, "make-uint64", 8, 0, 1)
+VM_DEFINE_INSTRUCTION (14, make_uint64, "make-uint64", 8, 0, 1)
 {
   scm_t_uint64 v = 0;
   v += FETCH ();
@@ -165,7 +165,7 @@ VM_DEFINE_INSTRUCTION (15, make_uint64, "make-uint64", 8, 
0, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (16, make_char8, "make-char8", 1, 0, 1)
+VM_DEFINE_INSTRUCTION (15, make_char8, "make-char8", 1, 0, 1)
 {
   scm_t_uint8 v = 0;
   v = FETCH ();
@@ -177,7 +177,7 @@ VM_DEFINE_INSTRUCTION (16, make_char8, "make-char8", 1, 0, 
1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (17, make_char32, "make-char32", 4, 0, 1)
+VM_DEFINE_INSTRUCTION (16, make_char32, "make-char32", 4, 0, 1)
 {
   scm_t_wchar v = 0;
   v += FETCH ();
@@ -190,7 +190,7 @@ VM_DEFINE_INSTRUCTION (17, make_char32, "make-char32", 4, 
0, 1)
 
 
 
-VM_DEFINE_INSTRUCTION (18, list, "list", 2, -1, 1)
+VM_DEFINE_INSTRUCTION (17, list, "list", 2, -1, 1)
 {
   unsigned h = FETCH ();
   unsigned l = FETCH ();
@@ -199,7 +199,7 @@ VM_DEFINE_INSTRUCTION (18, list, "list", 2, -1, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (19, vector, "vector", 2, -1, 1)
+VM_DEFINE_INSTRUCTION (18, vector, "vector", 2, -1, 1)
 {
   unsigned h = FETCH ();
   unsigned l = FETCH ();
@@ -239,7 +239,7 @@ VM_DEFINE_INSTRUCTION (19, vector, "vector", 2, -1, 1)
 
 /* ref */
 
-VM_DEFINE_INSTRUCTION (20, object_ref, "object-ref", 1, 0, 1)
+VM_DEFINE_INSTRUCTION (19, object_ref, "object-ref", 1, 0, 1)
 {
   register unsigned objnum = FETCH ();
   CHECK_OBJECT (objnum);
@@ -248,7 +248,7 @@ VM_DEFINE_INSTRUCTION (20, object_ref, "object-ref", 1, 0, 
1)
 }
 
 /* FIXME: necessary? elt 255 of the vector could be a vector... */
-VM_DEFINE_INSTRUCTION (21, long_object_ref, "long-object-ref", 2, 0, 1)
+VM_DEFINE_INSTRUCTION (20, long_object_ref, "long-object-ref", 2, 0, 1)
 {
   unsigned int objnum = FETCH ();
   objnum <<= 8;
@@ -258,14 +258,14 @@ VM_DEFINE_INSTRUCTION (21, long_object_ref, 
"long-object-ref", 2, 0, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (22, local_ref, "local-ref", 1, 0, 1)
+VM_DEFINE_INSTRUCTION (21, local_ref, "local-ref", 1, 0, 1)
 {
   PUSH (LOCAL_REF (FETCH ()));
   ASSERT_BOUND (*sp);
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (23, long_local_ref, "long-local-ref", 2, 0, 1)
+VM_DEFINE_INSTRUCTION (22, long_local_ref, "long-local-ref", 2, 0, 1)
 {
   unsigned int i = FETCH ();
   i <<= 8;
@@ -275,7 +275,7 @@ VM_DEFINE_INSTRUCTION (23, long_local_ref, 
"long-local-ref", 2, 0, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (24, local_bound, "local-bound?", 1, 0, 1)
+VM_DEFINE_INSTRUCTION (23, local_bound, "local-bound?", 1, 0, 1)
 {
   if (LOCAL_REF (FETCH ()) == SCM_UNDEFINED)
     PUSH (SCM_BOOL_F);
@@ -284,7 +284,7 @@ VM_DEFINE_INSTRUCTION (24, local_bound, "local-bound?", 1, 
0, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (25, long_local_bound, "long-local-bound?", 2, 0, 1)
+VM_DEFINE_INSTRUCTION (24, long_local_bound, "long-local-bound?", 2, 0, 1)
 {
   unsigned int i = FETCH ();
   i <<= 8;
@@ -296,7 +296,7 @@ VM_DEFINE_INSTRUCTION (25, long_local_bound, 
"long-local-bound?", 2, 0, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (26, variable_ref, "variable-ref", 0, 1, 1)
+VM_DEFINE_INSTRUCTION (25, variable_ref, "variable-ref", 0, 1, 1)
 {
   SCM x = *sp;
 
@@ -318,7 +318,7 @@ VM_DEFINE_INSTRUCTION (26, variable_ref, "variable-ref", 0, 
1, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (27, variable_bound, "variable-bound?", 0, 1, 1)
+VM_DEFINE_INSTRUCTION (26, variable_bound, "variable-bound?", 0, 1, 1)
 {
   if (VARIABLE_BOUNDP (*sp))
     *sp = SCM_BOOL_T;
@@ -327,7 +327,7 @@ VM_DEFINE_INSTRUCTION (27, variable_bound, 
"variable-bound?", 0, 1, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (28, toplevel_ref, "toplevel-ref", 1, 0, 1)
+VM_DEFINE_INSTRUCTION (27, toplevel_ref, "toplevel-ref", 1, 0, 1)
 {
   unsigned objnum = FETCH ();
   SCM what;
@@ -350,7 +350,7 @@ VM_DEFINE_INSTRUCTION (28, toplevel_ref, "toplevel-ref", 1, 
0, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (29, long_toplevel_ref, "long-toplevel-ref", 2, 0, 1)
+VM_DEFINE_INSTRUCTION (28, long_toplevel_ref, "long-toplevel-ref", 2, 0, 1)
 {
   SCM what;
   unsigned int objnum = FETCH ();
@@ -377,14 +377,14 @@ VM_DEFINE_INSTRUCTION (29, long_toplevel_ref, 
"long-toplevel-ref", 2, 0, 1)
 
 /* set */
 
-VM_DEFINE_INSTRUCTION (30, local_set, "local-set", 1, 1, 0)
+VM_DEFINE_INSTRUCTION (29, local_set, "local-set", 1, 1, 0)
 {
   LOCAL_SET (FETCH (), *sp);
   DROP ();
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (31, long_local_set, "long-local-set", 2, 1, 0)
+VM_DEFINE_INSTRUCTION (30, long_local_set, "long-local-set", 2, 1, 0)
 {
   unsigned int i = FETCH ();
   i <<= 8;
@@ -394,14 +394,14 @@ VM_DEFINE_INSTRUCTION (31, long_local_set, 
"long-local-set", 2, 1, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (32, variable_set, "variable-set", 0, 2, 0)
+VM_DEFINE_INSTRUCTION (31, variable_set, "variable-set", 0, 2, 0)
 {
   VARIABLE_SET (sp[0], sp[-1]);
   DROPN (2);
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (33, toplevel_set, "toplevel-set", 1, 1, 0)
+VM_DEFINE_INSTRUCTION (32, toplevel_set, "toplevel-set", 1, 1, 0)
 {
   unsigned objnum = FETCH ();
   SCM what;
@@ -420,7 +420,7 @@ VM_DEFINE_INSTRUCTION (33, toplevel_set, "toplevel-set", 1, 
1, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (34, long_toplevel_set, "long-toplevel-set", 2, 1, 0)
+VM_DEFINE_INSTRUCTION (33, long_toplevel_set, "long-toplevel-set", 2, 1, 0)
 {
   SCM what;
   unsigned int objnum = FETCH ();
@@ -468,7 +468,7 @@ VM_DEFINE_INSTRUCTION (34, long_toplevel_set, 
"long-toplevel-set", 2, 1, 0)
   NEXT;                                                \
 }
 
-VM_DEFINE_INSTRUCTION (35, br, "br", 3, 0, 0)
+VM_DEFINE_INSTRUCTION (34, br, "br", 3, 0, 0)
 {
   scm_t_int32 offset;
   FETCH_OFFSET (offset);
@@ -478,34 +478,34 @@ VM_DEFINE_INSTRUCTION (35, br, "br", 3, 0, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (36, br_if, "br-if", 3, 0, 0)
+VM_DEFINE_INSTRUCTION (35, br_if, "br-if", 3, 0, 0)
 {
   BR (scm_is_true (*sp));
 }
 
-VM_DEFINE_INSTRUCTION (37, br_if_not, "br-if-not", 3, 0, 0)
+VM_DEFINE_INSTRUCTION (36, br_if_not, "br-if-not", 3, 0, 0)
 {
   BR (scm_is_false (*sp));
 }
 
-VM_DEFINE_INSTRUCTION (38, br_if_eq, "br-if-eq", 3, 0, 0)
+VM_DEFINE_INSTRUCTION (37, br_if_eq, "br-if-eq", 3, 0, 0)
 {
   sp--; /* underflow? */
   BR (scm_is_eq (sp[0], sp[1]));
 }
 
-VM_DEFINE_INSTRUCTION (39, br_if_not_eq, "br-if-not-eq", 3, 0, 0)
+VM_DEFINE_INSTRUCTION (38, br_if_not_eq, "br-if-not-eq", 3, 0, 0)
 {
   sp--; /* underflow? */
   BR (!scm_is_eq (sp[0], sp[1]));
 }
 
-VM_DEFINE_INSTRUCTION (40, br_if_null, "br-if-null", 3, 0, 0)
+VM_DEFINE_INSTRUCTION (39, br_if_null, "br-if-null", 3, 0, 0)
 {
   BR (scm_is_null (*sp));
 }
 
-VM_DEFINE_INSTRUCTION (41, br_if_not_null, "br-if-not-null", 3, 0, 0)
+VM_DEFINE_INSTRUCTION (40, br_if_not_null, "br-if-not-null", 3, 0, 0)
 {
   BR (!scm_is_null (*sp));
 }
@@ -515,7 +515,7 @@ VM_DEFINE_INSTRUCTION (41, br_if_not_null, 
"br-if-not-null", 3, 0, 0)
  * Subprogram call
  */
 
-VM_DEFINE_INSTRUCTION (42, br_if_nargs_ne, "br-if-nargs-ne", 5, 0, 0)
+VM_DEFINE_INSTRUCTION (41, br_if_nargs_ne, "br-if-nargs-ne", 5, 0, 0)
 {
   scm_t_ptrdiff n;
   scm_t_int32 offset;
@@ -527,7 +527,7 @@ VM_DEFINE_INSTRUCTION (42, br_if_nargs_ne, 
"br-if-nargs-ne", 5, 0, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (43, br_if_nargs_lt, "br-if-nargs-lt", 5, 0, 0)
+VM_DEFINE_INSTRUCTION (42, br_if_nargs_lt, "br-if-nargs-lt", 5, 0, 0)
 {
   scm_t_ptrdiff n;
   scm_t_int32 offset;
@@ -539,7 +539,7 @@ VM_DEFINE_INSTRUCTION (43, br_if_nargs_lt, 
"br-if-nargs-lt", 5, 0, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (44, br_if_nargs_gt, "br-if-nargs-gt", 5, 0, 0)
+VM_DEFINE_INSTRUCTION (43, br_if_nargs_gt, "br-if-nargs-gt", 5, 0, 0)
 {
   scm_t_ptrdiff n;
   scm_t_int32 offset;
@@ -552,7 +552,7 @@ VM_DEFINE_INSTRUCTION (44, br_if_nargs_gt, 
"br-if-nargs-gt", 5, 0, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (45, assert_nargs_ee, "assert-nargs-ee", 2, 0, 0)
+VM_DEFINE_INSTRUCTION (44, assert_nargs_ee, "assert-nargs-ee", 2, 0, 0)
 {
   scm_t_ptrdiff n;
   n = FETCH () << 8;
@@ -562,7 +562,7 @@ VM_DEFINE_INSTRUCTION (45, assert_nargs_ee, 
"assert-nargs-ee", 2, 0, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (46, assert_nargs_ge, "assert-nargs-ge", 2, 0, 0)
+VM_DEFINE_INSTRUCTION (45, assert_nargs_ge, "assert-nargs-ge", 2, 0, 0)
 {
   scm_t_ptrdiff n;
   n = FETCH () << 8;
@@ -572,7 +572,7 @@ VM_DEFINE_INSTRUCTION (46, assert_nargs_ge, 
"assert-nargs-ge", 2, 0, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (47, bind_optionals, "bind-optionals", 2, -1, -1)
+VM_DEFINE_INSTRUCTION (46, bind_optionals, "bind-optionals", 2, -1, -1)
 {
   scm_t_ptrdiff n;
   n = FETCH () << 8;
@@ -582,7 +582,7 @@ VM_DEFINE_INSTRUCTION (47, bind_optionals, 
"bind-optionals", 2, -1, -1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (48, bind_optionals_shuffle, "bind-optionals/shuffle", 
6, -1, -1)
+VM_DEFINE_INSTRUCTION (47, bind_optionals_shuffle, "bind-optionals/shuffle", 
6, -1, -1)
 {
   SCM *walk;
   scm_t_ptrdiff nreq, nreq_and_opt, ntotal;
@@ -625,7 +625,7 @@ VM_DEFINE_INSTRUCTION (48, bind_optionals_shuffle, 
"bind-optionals/shuffle", 6,
 #define F_ALLOW_OTHER_KEYS  1
 #define F_REST              2
 
-VM_DEFINE_INSTRUCTION (49, bind_kwargs, "bind-kwargs", 5, 0, 0)
+VM_DEFINE_INSTRUCTION (48, bind_kwargs, "bind-kwargs", 5, 0, 0)
 {
   scm_t_uint16 idx;
   scm_t_ptrdiff nkw;
@@ -678,7 +678,7 @@ VM_DEFINE_INSTRUCTION (49, bind_kwargs, "bind-kwargs", 5, 
0, 0)
 #undef F_REST
 
 
-VM_DEFINE_INSTRUCTION (50, push_rest, "push-rest", 2, -1, -1)
+VM_DEFINE_INSTRUCTION (49, push_rest, "push-rest", 2, -1, -1)
 {
   scm_t_ptrdiff n;
   SCM rest = SCM_EOL;
@@ -691,7 +691,7 @@ VM_DEFINE_INSTRUCTION (50, push_rest, "push-rest", 2, -1, 
-1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (51, bind_rest, "bind-rest", 4, -1, -1)
+VM_DEFINE_INSTRUCTION (50, bind_rest, "bind-rest", 4, -1, -1)
 {
   scm_t_ptrdiff n;
   scm_t_uint32 i;
@@ -707,7 +707,7 @@ VM_DEFINE_INSTRUCTION (51, bind_rest, "bind-rest", 4, -1, 
-1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (52, reserve_locals, "reserve-locals", 2, -1, -1)
+VM_DEFINE_INSTRUCTION (51, reserve_locals, "reserve-locals", 2, -1, -1)
 {
   SCM *old_sp;
   scm_t_int32 n;
@@ -728,7 +728,7 @@ VM_DEFINE_INSTRUCTION (52, reserve_locals, 
"reserve-locals", 2, -1, -1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (53, new_frame, "new-frame", 0, 0, 3)
+VM_DEFINE_INSTRUCTION (52, new_frame, "new-frame", 0, 0, 3)
 {
   /* NB: if you change this, see frames.c:vm-frame-num-locals */
   /* and frames.h, vm-engine.c, etc of course */
@@ -738,7 +738,7 @@ VM_DEFINE_INSTRUCTION (53, new_frame, "new-frame", 0, 0, 3)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (54, call, "call", 1, -1, 1)
+VM_DEFINE_INSTRUCTION (53, call, "call", 1, -1, 1)
 {
   nargs = FETCH ();
 
@@ -777,7 +777,7 @@ VM_DEFINE_INSTRUCTION (54, call, "call", 1, -1, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (55, tail_call, "tail-call", 1, -1, 1)
+VM_DEFINE_INSTRUCTION (54, tail_call, "tail-call", 1, -1, 1)
 {
   nargs = FETCH ();
 
@@ -828,7 +828,7 @@ VM_DEFINE_INSTRUCTION (55, tail_call, "tail-call", 1, -1, 1)
     }
 }
 
-VM_DEFINE_INSTRUCTION (56, subr_call, "subr-call", 1, -1, -1)
+VM_DEFINE_INSTRUCTION (55, subr_call, "subr-call", 1, -1, -1)
 {
   SCM pointer, ret;
   SCM (*subr)();
@@ -897,7 +897,7 @@ VM_DEFINE_INSTRUCTION (56, subr_call, "subr-call", 1, -1, 
-1)
     }
 }
 
-VM_DEFINE_INSTRUCTION (57, smob_call, "smob-call", 1, -1, -1)
+VM_DEFINE_INSTRUCTION (56, smob_call, "smob-call", 1, -1, -1)
 {
   SCM smob, ret;
   SCM (*subr)();
@@ -944,7 +944,7 @@ VM_DEFINE_INSTRUCTION (57, smob_call, "smob-call", 1, -1, 
-1)
     }
 }
 
-VM_DEFINE_INSTRUCTION (58, foreign_call, "foreign-call", 1, -1, -1)
+VM_DEFINE_INSTRUCTION (57, foreign_call, "foreign-call", 1, -1, -1)
 {
   SCM foreign, ret;
   nargs = FETCH ();
@@ -972,7 +972,7 @@ VM_DEFINE_INSTRUCTION (58, foreign_call, "foreign-call", 1, 
-1, -1)
     }
 }
 
-VM_DEFINE_INSTRUCTION (89, continuation_call, "continuation-call", 0, -1, 0)
+VM_DEFINE_INSTRUCTION (58, continuation_call, "continuation-call", 0, -1, 0)
 {
   SCM contregs;
   POP (contregs);
@@ -988,7 +988,7 @@ VM_DEFINE_INSTRUCTION (89, continuation_call, 
"continuation-call", 0, -1, 0)
   abort ();
 }
 
-VM_DEFINE_INSTRUCTION (94, partial_cont_call, "partial-cont-call", 0, -1, 0)
+VM_DEFINE_INSTRUCTION (59, partial_cont_call, "partial-cont-call", 0, -1, 0)
 {
   SCM vmcont, intwinds, prevwinds;
   POP (intwinds);
@@ -1016,7 +1016,7 @@ VM_DEFINE_INSTRUCTION (94, partial_cont_call, 
"partial-cont-call", 0, -1, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (59, tail_call_nargs, "tail-call/nargs", 0, 0, 1)
+VM_DEFINE_INSTRUCTION (60, tail_call_nargs, "tail-call/nargs", 0, 0, 1)
 {
   SCM x;
   POP (x);
@@ -1025,7 +1025,7 @@ VM_DEFINE_INSTRUCTION (59, tail_call_nargs, 
"tail-call/nargs", 0, 0, 1)
   goto vm_tail_call;
 }
 
-VM_DEFINE_INSTRUCTION (60, call_nargs, "call/nargs", 0, 0, 1)
+VM_DEFINE_INSTRUCTION (61, call_nargs, "call/nargs", 0, 0, 1)
 {
   SCM x;
   POP (x);
@@ -1034,7 +1034,7 @@ VM_DEFINE_INSTRUCTION (60, call_nargs, "call/nargs", 0, 
0, 1)
   goto vm_call;
 }
 
-VM_DEFINE_INSTRUCTION (61, mv_call, "mv-call", 4, -1, 1)
+VM_DEFINE_INSTRUCTION (62, mv_call, "mv-call", 4, -1, 1)
 {
   scm_t_int32 offset;
   scm_t_uint8 *mvra;
@@ -1078,7 +1078,7 @@ VM_DEFINE_INSTRUCTION (61, mv_call, "mv-call", 4, -1, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (62, apply, "apply", 1, -1, 1)
+VM_DEFINE_INSTRUCTION (63, apply, "apply", 1, -1, 1)
 {
   int len;
   SCM ls;
@@ -1100,7 +1100,7 @@ VM_DEFINE_INSTRUCTION (62, apply, "apply", 1, -1, 1)
   goto vm_call;
 }
 
-VM_DEFINE_INSTRUCTION (63, tail_apply, "tail-apply", 1, -1, 1)
+VM_DEFINE_INSTRUCTION (64, tail_apply, "tail-apply", 1, -1, 1)
 {
   int len;
   SCM ls;
@@ -1122,7 +1122,7 @@ VM_DEFINE_INSTRUCTION (63, tail_apply, "tail-apply", 1, 
-1, 1)
   goto vm_tail_call;
 }
 
-VM_DEFINE_INSTRUCTION (64, call_cc, "call/cc", 0, 1, 1)
+VM_DEFINE_INSTRUCTION (65, call_cc, "call/cc", 0, 1, 1)
 {
   int first;
   SCM proc, vm_cont, cont;
@@ -1157,7 +1157,7 @@ VM_DEFINE_INSTRUCTION (64, call_cc, "call/cc", 0, 1, 1)
     }
 }
 
-VM_DEFINE_INSTRUCTION (65, tail_call_cc, "tail-call/cc", 0, 1, 1)
+VM_DEFINE_INSTRUCTION (66, tail_call_cc, "tail-call/cc", 0, 1, 1)
 {
   int first;
   SCM proc, vm_cont, cont;
@@ -1197,7 +1197,7 @@ VM_DEFINE_INSTRUCTION (65, tail_call_cc, "tail-call/cc", 
0, 1, 1)
     }
 }
 
-VM_DEFINE_INSTRUCTION (66, return, "return", 0, 1, 1)
+VM_DEFINE_INSTRUCTION (67, return, "return", 0, 1, 1)
 {
  vm_return:
   POP_CONTINUATION_HOOK (1);
@@ -1233,7 +1233,7 @@ VM_DEFINE_INSTRUCTION (66, return, "return", 0, 1, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (67, return_values, "return/values", 1, -1, -1)
+VM_DEFINE_INSTRUCTION (68, return_values, "return/values", 1, -1, -1)
 {
   /* nvalues declared at top level, because for some reason gcc seems to think
      that perhaps it might be used without declaration. Fooey to that, I say. 
*/
@@ -1289,7 +1289,7 @@ VM_DEFINE_INSTRUCTION (67, return_values, 
"return/values", 1, -1, -1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (68, return_values_star, "return/values*", 1, -1, -1)
+VM_DEFINE_INSTRUCTION (69, return_values_star, "return/values*", 1, -1, -1)
 {
   SCM l;
 
@@ -1312,7 +1312,7 @@ VM_DEFINE_INSTRUCTION (68, return_values_star, 
"return/values*", 1, -1, -1)
   goto vm_return_values;
 }
 
-VM_DEFINE_INSTRUCTION (88, return_nvalues, "return/nvalues", 0, 1, -1)
+VM_DEFINE_INSTRUCTION (70, return_nvalues, "return/nvalues", 0, 1, -1)
 {
   SCM n;
   POP (n);
@@ -1321,7 +1321,7 @@ VM_DEFINE_INSTRUCTION (88, return_nvalues, 
"return/nvalues", 0, 1, -1)
   goto vm_return_values;
 }
 
-VM_DEFINE_INSTRUCTION (69, truncate_values, "truncate-values", 2, -1, -1)
+VM_DEFINE_INSTRUCTION (71, truncate_values, "truncate-values", 2, -1, -1)
 {
   SCM x;
   int nbinds, rest;
@@ -1344,7 +1344,7 @@ VM_DEFINE_INSTRUCTION (69, truncate_values, 
"truncate-values", 2, -1, -1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (70, box, "box", 1, 1, 0)
+VM_DEFINE_INSTRUCTION (72, box, "box", 1, 1, 0)
 {
   SCM val;
   POP (val);
@@ -1358,7 +1358,7 @@ VM_DEFINE_INSTRUCTION (70, box, "box", 1, 1, 0)
      (set! a (lambda () (b ...)))
      ...)
  */
-VM_DEFINE_INSTRUCTION (71, empty_box, "empty-box", 1, 0, 0)
+VM_DEFINE_INSTRUCTION (73, empty_box, "empty-box", 1, 0, 0)
 {
   SYNC_BEFORE_GC ();
   LOCAL_SET (FETCH (),
@@ -1366,7 +1366,7 @@ VM_DEFINE_INSTRUCTION (71, empty_box, "empty-box", 1, 0, 
0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (72, local_boxed_ref, "local-boxed-ref", 1, 0, 1)
+VM_DEFINE_INSTRUCTION (74, local_boxed_ref, "local-boxed-ref", 1, 0, 1)
 {
   SCM v = LOCAL_REF (FETCH ());
   ASSERT_BOUND_VARIABLE (v);
@@ -1374,7 +1374,7 @@ VM_DEFINE_INSTRUCTION (72, local_boxed_ref, 
"local-boxed-ref", 1, 0, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (73, local_boxed_set, "local-boxed-set", 1, 1, 0)
+VM_DEFINE_INSTRUCTION (75, local_boxed_set, "local-boxed-set", 1, 1, 0)
 {
   SCM v, val;
   v = LOCAL_REF (FETCH ());
@@ -1384,7 +1384,7 @@ VM_DEFINE_INSTRUCTION (73, local_boxed_set, 
"local-boxed-set", 1, 1, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (74, free_ref, "free-ref", 1, 0, 1)
+VM_DEFINE_INSTRUCTION (76, free_ref, "free-ref", 1, 0, 1)
 {
   scm_t_uint8 idx = FETCH ();
   
@@ -1395,7 +1395,7 @@ VM_DEFINE_INSTRUCTION (74, free_ref, "free-ref", 1, 0, 1)
 
 /* no free-set -- if a var is assigned, it should be in a box */
 
-VM_DEFINE_INSTRUCTION (75, free_boxed_ref, "free-boxed-ref", 1, 0, 1)
+VM_DEFINE_INSTRUCTION (77, free_boxed_ref, "free-boxed-ref", 1, 0, 1)
 {
   SCM v;
   scm_t_uint8 idx = FETCH ();
@@ -1406,7 +1406,7 @@ VM_DEFINE_INSTRUCTION (75, free_boxed_ref, 
"free-boxed-ref", 1, 0, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (76, free_boxed_set, "free-boxed-set", 1, 1, 0)
+VM_DEFINE_INSTRUCTION (78, free_boxed_set, "free-boxed-set", 1, 1, 0)
 {
   SCM v, val;
   scm_t_uint8 idx = FETCH ();
@@ -1418,7 +1418,7 @@ VM_DEFINE_INSTRUCTION (76, free_boxed_set, 
"free-boxed-set", 1, 1, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (77, make_closure, "make-closure", 2, -1, 1)
+VM_DEFINE_INSTRUCTION (79, make_closure, "make-closure", 2, -1, 1)
 {
   size_t n, len;
   SCM closure;
@@ -1437,7 +1437,7 @@ VM_DEFINE_INSTRUCTION (77, make_closure, "make-closure", 
2, -1, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (78, make_variable, "make-variable", 0, 0, 1)
+VM_DEFINE_INSTRUCTION (80, make_variable, "make-variable", 0, 0, 1)
 {
   SYNC_BEFORE_GC ();
   /* fixme underflow */
@@ -1445,7 +1445,7 @@ VM_DEFINE_INSTRUCTION (78, make_variable, 
"make-variable", 0, 0, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (79, fix_closure, "fix-closure", 2, -1, 0)
+VM_DEFINE_INSTRUCTION (81, fix_closure, "fix-closure", 2, -1, 0)
 {
   SCM x;
   unsigned int i = FETCH ();
@@ -1462,7 +1462,7 @@ VM_DEFINE_INSTRUCTION (79, fix_closure, "fix-closure", 2, 
-1, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (80, define, "define", 0, 0, 2)
+VM_DEFINE_INSTRUCTION (82, define, "define", 0, 0, 2)
 {
   SCM sym, val;
   POP (sym);
@@ -1474,7 +1474,7 @@ VM_DEFINE_INSTRUCTION (80, define, "define", 0, 0, 2)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (81, make_keyword, "make-keyword", 0, 1, 1)
+VM_DEFINE_INSTRUCTION (83, make_keyword, "make-keyword", 0, 1, 1)
 {
   CHECK_UNDERFLOW ();
   SYNC_REGISTER ();
@@ -1482,7 +1482,7 @@ VM_DEFINE_INSTRUCTION (81, make_keyword, "make-keyword", 
0, 1, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (82, make_symbol, "make-symbol", 0, 1, 1)
+VM_DEFINE_INSTRUCTION (84, make_symbol, "make-symbol", 0, 1, 1)
 {
   CHECK_UNDERFLOW ();
   SYNC_REGISTER ();
@@ -1490,7 +1490,7 @@ VM_DEFINE_INSTRUCTION (82, make_symbol, "make-symbol", 0, 
1, 1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (83, prompt, "prompt", 4, 2, 0)
+VM_DEFINE_INSTRUCTION (85, prompt, "prompt", 4, 2, 0)
 {
   scm_t_int32 offset;
   scm_t_uint8 escape_only_p;
@@ -1528,7 +1528,7 @@ VM_DEFINE_INSTRUCTION (83, prompt, "prompt", 4, 2, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (85, wind, "wind", 0, 2, 0)
+VM_DEFINE_INSTRUCTION (86, wind, "wind", 0, 2, 0)
 {
   SCM wind, unwind;
   POP (unwind);
@@ -1551,7 +1551,7 @@ VM_DEFINE_INSTRUCTION (85, wind, "wind", 0, 2, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (86, abort, "abort", 1, -1, -1)
+VM_DEFINE_INSTRUCTION (87, abort, "abort", 1, -1, -1)
 {
   unsigned n = FETCH ();
   SYNC_REGISTER ();
@@ -1562,7 +1562,7 @@ VM_DEFINE_INSTRUCTION (86, abort, "abort", 1, -1, -1)
   abort ();
 }
 
-VM_DEFINE_INSTRUCTION (87, unwind, "unwind", 0, 0, 0)
+VM_DEFINE_INSTRUCTION (88, unwind, "unwind", 0, 0, 0)
 {
   /* A normal exit from the dynamic extent of an expression. Pop the top entry
      off of the dynamic stack. */
@@ -1570,7 +1570,7 @@ VM_DEFINE_INSTRUCTION (87, unwind, "unwind", 0, 0, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (90, wind_fluids, "wind-fluids", 1, -1, 0)
+VM_DEFINE_INSTRUCTION (89, wind_fluids, "wind-fluids", 1, -1, 0)
 {
   unsigned n = FETCH ();
   SCM wf;
@@ -1585,7 +1585,7 @@ VM_DEFINE_INSTRUCTION (90, wind_fluids, "wind-fluids", 1, 
-1, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (91, unwind_fluids, "unwind-fluids", 0, 0, 0)
+VM_DEFINE_INSTRUCTION (90, unwind_fluids, "unwind-fluids", 0, 0, 0)
 {
   SCM wf;
   wf = scm_car (scm_i_dynwinds ());
@@ -1594,7 +1594,7 @@ VM_DEFINE_INSTRUCTION (91, unwind_fluids, 
"unwind-fluids", 0, 0, 0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (92, fluid_ref, "fluid-ref", 0, 1, 1)
+VM_DEFINE_INSTRUCTION (91, fluid_ref, "fluid-ref", 0, 1, 1)
 {
   size_t num;
   SCM fluids;
@@ -1614,7 +1614,7 @@ VM_DEFINE_INSTRUCTION (92, fluid_ref, "fluid-ref", 0, 1, 
1)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (93, fluid_set, "fluid-set", 0, 2, 0)
+VM_DEFINE_INSTRUCTION (92, fluid_set, "fluid-set", 0, 2, 0)
 {
   size_t num;
   SCM val, fluid, fluids;
@@ -1635,7 +1635,7 @@ VM_DEFINE_INSTRUCTION (93, fluid_set, "fluid-set", 0, 2, 
0)
   NEXT;
 }
 
-VM_DEFINE_INSTRUCTION (95, assert_nargs_ee_locals, "assert-nargs-ee/locals", 
1, 0, 0)
+VM_DEFINE_INSTRUCTION (93, assert_nargs_ee_locals, "assert-nargs-ee/locals", 
1, 0, 0)
 {
   scm_t_ptrdiff n;
   SCM *old_sp;
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index 6e5427e..9bcc25d 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -46,1178 +46,1163 @@
             (if #f #f))
           (#{set-syntax-object-wrap!\ 354}# (if #f #f))
           (#{set-syntax-object-module!\ 356}# (if #f #f))
-          (#{binding-type\ 363}# (if #f #f))
-          (#{binding-value\ 365}# (if #f #f))
-          (#{make-wrap\ 385}# (if #f #f))
-          (#{wrap-marks\ 387}# (if #f #f))
-          (#{wrap-subst\ 389}# (if #f #f))
-          (#{ribcage?\ 403}# (if #f #f)))
+          (#{ribcage?\ 398}# (if #f #f)))
       (letrec*
         ((#{make-void\ 238}#
-           (lambda (#{src\ 698}#)
+           (lambda (#{src\ 750}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 0)
-               #{src\ 698}#)))
+               #{src\ 750}#)))
          (#{make-const\ 240}#
-           (lambda (#{src\ 700}# #{exp\ 701}#)
+           (lambda (#{src\ 752}# #{exp\ 753}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 1)
-               #{src\ 700}#
-               #{exp\ 701}#)))
+               #{src\ 752}#
+               #{exp\ 753}#)))
          (#{make-lexical-ref\ 244}#
-           (lambda (#{src\ 708}# #{name\ 709}# #{gensym\ 710}#)
+           (lambda (#{src\ 760}# #{name\ 761}# #{gensym\ 762}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 3)
-               #{src\ 708}#
-               #{name\ 709}#
-               #{gensym\ 710}#)))
+               #{src\ 760}#
+               #{name\ 761}#
+               #{gensym\ 762}#)))
          (#{make-lexical-set\ 246}#
-           (lambda (#{src\ 714}#
-                    #{name\ 715}#
-                    #{gensym\ 716}#
-                    #{exp\ 717}#)
+           (lambda (#{src\ 766}#
+                    #{name\ 767}#
+                    #{gensym\ 768}#
+                    #{exp\ 769}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 4)
-               #{src\ 714}#
-               #{name\ 715}#
-               #{gensym\ 716}#
-               #{exp\ 717}#)))
+               #{src\ 766}#
+               #{name\ 767}#
+               #{gensym\ 768}#
+               #{exp\ 769}#)))
          (#{make-module-ref\ 248}#
-           (lambda (#{src\ 722}#
-                    #{mod\ 723}#
-                    #{name\ 724}#
-                    #{public?\ 725}#)
+           (lambda (#{src\ 774}#
+                    #{mod\ 775}#
+                    #{name\ 776}#
+                    #{public?\ 777}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 5)
-               #{src\ 722}#
-               #{mod\ 723}#
-               #{name\ 724}#
-               #{public?\ 725}#)))
+               #{src\ 774}#
+               #{mod\ 775}#
+               #{name\ 776}#
+               #{public?\ 777}#)))
          (#{make-module-set\ 250}#
-           (lambda (#{src\ 730}#
-                    #{mod\ 731}#
-                    #{name\ 732}#
-                    #{public?\ 733}#
-                    #{exp\ 734}#)
+           (lambda (#{src\ 782}#
+                    #{mod\ 783}#
+                    #{name\ 784}#
+                    #{public?\ 785}#
+                    #{exp\ 786}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 6)
-               #{src\ 730}#
-               #{mod\ 731}#
-               #{name\ 732}#
-               #{public?\ 733}#
-               #{exp\ 734}#)))
+               #{src\ 782}#
+               #{mod\ 783}#
+               #{name\ 784}#
+               #{public?\ 785}#
+               #{exp\ 786}#)))
          (#{make-toplevel-ref\ 252}#
-           (lambda (#{src\ 740}# #{name\ 741}#)
+           (lambda (#{src\ 792}# #{name\ 793}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 7)
-               #{src\ 740}#
-               #{name\ 741}#)))
+               #{src\ 792}#
+               #{name\ 793}#)))
          (#{make-toplevel-set\ 254}#
-           (lambda (#{src\ 744}# #{name\ 745}# #{exp\ 746}#)
+           (lambda (#{src\ 796}# #{name\ 797}# #{exp\ 798}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 8)
-               #{src\ 744}#
-               #{name\ 745}#
-               #{exp\ 746}#)))
+               #{src\ 796}#
+               #{name\ 797}#
+               #{exp\ 798}#)))
          (#{make-toplevel-define\ 256}#
-           (lambda (#{src\ 750}# #{name\ 751}# #{exp\ 752}#)
+           (lambda (#{src\ 802}# #{name\ 803}# #{exp\ 804}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 9)
-               #{src\ 750}#
-               #{name\ 751}#
-               #{exp\ 752}#)))
+               #{src\ 802}#
+               #{name\ 803}#
+               #{exp\ 804}#)))
          (#{make-conditional\ 258}#
-           (lambda (#{src\ 756}#
-                    #{test\ 757}#
-                    #{consequent\ 758}#
-                    #{alternate\ 759}#)
+           (lambda (#{src\ 808}#
+                    #{test\ 809}#
+                    #{consequent\ 810}#
+                    #{alternate\ 811}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 10)
-               #{src\ 756}#
-               #{test\ 757}#
-               #{consequent\ 758}#
-               #{alternate\ 759}#)))
+               #{src\ 808}#
+               #{test\ 809}#
+               #{consequent\ 810}#
+               #{alternate\ 811}#)))
          (#{make-application\ 260}#
-           (lambda (#{src\ 764}# #{proc\ 765}# #{args\ 766}#)
+           (lambda (#{src\ 816}# #{proc\ 817}# #{args\ 818}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 11)
-               #{src\ 764}#
-               #{proc\ 765}#
-               #{args\ 766}#)))
+               #{src\ 816}#
+               #{proc\ 817}#
+               #{args\ 818}#)))
          (#{make-sequence\ 262}#
-           (lambda (#{src\ 770}# #{exps\ 771}#)
+           (lambda (#{src\ 822}# #{exps\ 823}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 12)
-               #{src\ 770}#
-               #{exps\ 771}#)))
+               #{src\ 822}#
+               #{exps\ 823}#)))
          (#{make-lambda\ 264}#
-           (lambda (#{src\ 774}# #{meta\ 775}# #{body\ 776}#)
+           (lambda (#{src\ 826}# #{meta\ 827}# #{body\ 828}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 13)
-               #{src\ 774}#
-               #{meta\ 775}#
-               #{body\ 776}#)))
+               #{src\ 826}#
+               #{meta\ 827}#
+               #{body\ 828}#)))
          (#{make-lambda-case\ 266}#
-           (lambda (#{src\ 780}#
-                    #{req\ 781}#
-                    #{opt\ 782}#
-                    #{rest\ 783}#
-                    #{kw\ 784}#
-                    #{inits\ 785}#
-                    #{gensyms\ 786}#
-                    #{body\ 787}#
-                    #{alternate\ 788}#)
+           (lambda (#{src\ 832}#
+                    #{req\ 833}#
+                    #{opt\ 834}#
+                    #{rest\ 835}#
+                    #{kw\ 836}#
+                    #{inits\ 837}#
+                    #{gensyms\ 838}#
+                    #{body\ 839}#
+                    #{alternate\ 840}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 14)
-               #{src\ 780}#
-               #{req\ 781}#
-               #{opt\ 782}#
-               #{rest\ 783}#
-               #{kw\ 784}#
-               #{inits\ 785}#
-               #{gensyms\ 786}#
-               #{body\ 787}#
-               #{alternate\ 788}#)))
+               #{src\ 832}#
+               #{req\ 833}#
+               #{opt\ 834}#
+               #{rest\ 835}#
+               #{kw\ 836}#
+               #{inits\ 837}#
+               #{gensyms\ 838}#
+               #{body\ 839}#
+               #{alternate\ 840}#)))
          (#{make-let\ 268}#
-           (lambda (#{src\ 798}#
-                    #{names\ 799}#
-                    #{gensyms\ 800}#
-                    #{vals\ 801}#
-                    #{body\ 802}#)
+           (lambda (#{src\ 850}#
+                    #{names\ 851}#
+                    #{gensyms\ 852}#
+                    #{vals\ 853}#
+                    #{body\ 854}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 15)
-               #{src\ 798}#
-               #{names\ 799}#
-               #{gensyms\ 800}#
-               #{vals\ 801}#
-               #{body\ 802}#)))
+               #{src\ 850}#
+               #{names\ 851}#
+               #{gensyms\ 852}#
+               #{vals\ 853}#
+               #{body\ 854}#)))
          (#{make-letrec\ 270}#
-           (lambda (#{src\ 808}#
-                    #{in-order?\ 809}#
-                    #{names\ 810}#
-                    #{gensyms\ 811}#
-                    #{vals\ 812}#
-                    #{body\ 813}#)
+           (lambda (#{src\ 860}#
+                    #{in-order?\ 861}#
+                    #{names\ 862}#
+                    #{gensyms\ 863}#
+                    #{vals\ 864}#
+                    #{body\ 865}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 16)
-               #{src\ 808}#
-               #{in-order?\ 809}#
-               #{names\ 810}#
-               #{gensyms\ 811}#
-               #{vals\ 812}#
-               #{body\ 813}#)))
+               #{src\ 860}#
+               #{in-order?\ 861}#
+               #{names\ 862}#
+               #{gensyms\ 863}#
+               #{vals\ 864}#
+               #{body\ 865}#)))
          (#{make-dynlet\ 272}#
-           (lambda (#{src\ 820}#
-                    #{fluids\ 821}#
-                    #{vals\ 822}#
-                    #{body\ 823}#)
+           (lambda (#{src\ 872}#
+                    #{fluids\ 873}#
+                    #{vals\ 874}#
+                    #{body\ 875}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 17)
-               #{src\ 820}#
-               #{fluids\ 821}#
-               #{vals\ 822}#
-               #{body\ 823}#)))
+               #{src\ 872}#
+               #{fluids\ 873}#
+               #{vals\ 874}#
+               #{body\ 875}#)))
          (#{lambda?\ 275}#
-           (lambda (#{x\ 828}#)
-             (if (struct? #{x\ 828}#)
-               (eq? (struct-vtable #{x\ 828}#)
+           (lambda (#{x\ 880}#)
+             (if (struct? #{x\ 880}#)
+               (eq? (struct-vtable #{x\ 880}#)
                     (vector-ref %expanded-vtables 13))
                #f)))
          (#{lambda-meta\ 277}#
-           (lambda (#{x\ 832}#) (struct-ref #{x\ 832}# 1)))
+           (lambda (#{x\ 884}#) (struct-ref #{x\ 884}# 1)))
          (#{set-lambda-meta!\ 279}#
-           (lambda (#{x\ 834}# #{v\ 835}#)
-             (struct-set! #{x\ 834}# 1 #{v\ 835}#)))
+           (lambda (#{x\ 886}# #{v\ 887}#)
+             (struct-set! #{x\ 886}# 1 #{v\ 887}#)))
          (#{top-level-eval-hook\ 289}#
-           (lambda (#{x\ 838}# #{mod\ 839}#)
-             (primitive-eval #{x\ 838}#)))
+           (lambda (#{x\ 890}# #{mod\ 891}#)
+             (primitive-eval #{x\ 890}#)))
          (#{local-eval-hook\ 291}#
-           (lambda (#{x\ 842}# #{mod\ 843}#)
-             (primitive-eval #{x\ 842}#)))
+           (lambda (#{x\ 894}# #{mod\ 895}#)
+             (primitive-eval #{x\ 894}#)))
          (#{put-global-definition-hook\ 294}#
-           (lambda (#{symbol\ 846}# #{type\ 847}# #{val\ 848}#)
+           (lambda (#{symbol\ 898}# #{type\ 899}# #{val\ 900}#)
              (module-define!
                (current-module)
-               #{symbol\ 846}#
+               #{symbol\ 898}#
                (make-syntax-transformer
-                 #{symbol\ 846}#
-                 #{type\ 847}#
-                 #{val\ 848}#))))
+                 #{symbol\ 898}#
+                 #{type\ 899}#
+                 #{val\ 900}#))))
          (#{get-global-definition-hook\ 296}#
-           (lambda (#{symbol\ 852}# #{module\ 853}#)
+           (lambda (#{symbol\ 904}# #{module\ 905}#)
              (begin
-               (if (if (not #{module\ 853}#) (current-module) #f)
+               (if (if (not #{module\ 905}#) (current-module) #f)
                  (warn "module system is booted, we should have a module"
-                       #{symbol\ 852}#))
+                       #{symbol\ 904}#))
                (begin
-                 (let ((#{v\ 859}# (module-variable
-                                     (if #{module\ 853}#
-                                       (resolve-module (cdr #{module\ 853}#))
+                 (let ((#{v\ 911}# (module-variable
+                                     (if #{module\ 905}#
+                                       (resolve-module (cdr #{module\ 905}#))
                                        (current-module))
-                                     #{symbol\ 852}#)))
-                   (if #{v\ 859}#
-                     (if (variable-bound? #{v\ 859}#)
+                                     #{symbol\ 904}#)))
+                   (if #{v\ 911}#
+                     (if (variable-bound? #{v\ 911}#)
                        (begin
-                         (let ((#{val\ 864}# (variable-ref #{v\ 859}#)))
-                           (if (macro? #{val\ 864}#)
-                             (if (macro-type #{val\ 864}#)
-                               (cons (macro-type #{val\ 864}#)
-                                     (macro-binding #{val\ 864}#))
+                         (let ((#{val\ 916}# (variable-ref #{v\ 911}#)))
+                           (if (macro? #{val\ 916}#)
+                             (if (macro-type #{val\ 916}#)
+                               (cons (macro-type #{val\ 916}#)
+                                     (macro-binding #{val\ 916}#))
                                #f)
                              #f)))
                        #f)
                      #f))))))
          (#{decorate-source\ 298}#
-           (lambda (#{e\ 868}# #{s\ 869}#)
+           (lambda (#{e\ 920}# #{s\ 921}#)
              (begin
-               (if (if (pair? #{e\ 868}#) #{s\ 869}# #f)
-                 (set-source-properties! #{e\ 868}# #{s\ 869}#))
-               #{e\ 868}#)))
+               (if (if (pair? #{e\ 920}#) #{s\ 921}# #f)
+                 (set-source-properties! #{e\ 920}# #{s\ 921}#))
+               #{e\ 920}#)))
          (#{maybe-name-value!\ 300}#
-           (lambda (#{name\ 874}# #{val\ 875}#)
-             (if (#{lambda?\ 275}# #{val\ 875}#)
+           (lambda (#{name\ 926}# #{val\ 927}#)
+             (if (#{lambda?\ 275}# #{val\ 927}#)
                (begin
-                 (let ((#{meta\ 879}#
-                         (#{lambda-meta\ 277}# #{val\ 875}#)))
-                   (if (not (assq (quote name) #{meta\ 879}#))
+                 (let ((#{meta\ 931}#
+                         (#{lambda-meta\ 277}# #{val\ 927}#)))
+                   (if (not (assq (quote name) #{meta\ 931}#))
                      (#{set-lambda-meta!\ 279}#
-                       #{val\ 875}#
-                       (cons (cons (quote name) #{name\ 874}#)
-                             #{meta\ 879}#))))))))
+                       #{val\ 927}#
+                       (cons (cons (quote name) #{name\ 926}#)
+                             #{meta\ 931}#))))))))
          (#{build-void\ 302}#
-           (lambda (#{source\ 880}#)
-             (#{make-void\ 238}# #{source\ 880}#)))
+           (lambda (#{source\ 932}#)
+             (#{make-void\ 238}# #{source\ 932}#)))
          (#{build-application\ 304}#
-           (lambda (#{source\ 882}#
-                    #{fun-exp\ 883}#
-                    #{arg-exps\ 884}#)
+           (lambda (#{source\ 934}#
+                    #{fun-exp\ 935}#
+                    #{arg-exps\ 936}#)
              (#{make-application\ 260}#
-               #{source\ 882}#
-               #{fun-exp\ 883}#
-               #{arg-exps\ 884}#)))
+               #{source\ 934}#
+               #{fun-exp\ 935}#
+               #{arg-exps\ 936}#)))
          (#{build-conditional\ 306}#
-           (lambda (#{source\ 888}#
-                    #{test-exp\ 889}#
-                    #{then-exp\ 890}#
-                    #{else-exp\ 891}#)
+           (lambda (#{source\ 940}#
+                    #{test-exp\ 941}#
+                    #{then-exp\ 942}#
+                    #{else-exp\ 943}#)
              (#{make-conditional\ 258}#
-               #{source\ 888}#
-               #{test-exp\ 889}#
-               #{then-exp\ 890}#
-               #{else-exp\ 891}#)))
+               #{source\ 940}#
+               #{test-exp\ 941}#
+               #{then-exp\ 942}#
+               #{else-exp\ 943}#)))
          (#{build-dynlet\ 308}#
-           (lambda (#{source\ 896}#
-                    #{fluids\ 897}#
-                    #{vals\ 898}#
-                    #{body\ 899}#)
+           (lambda (#{source\ 948}#
+                    #{fluids\ 949}#
+                    #{vals\ 950}#
+                    #{body\ 951}#)
              (#{make-dynlet\ 272}#
-               #{source\ 896}#
-               #{fluids\ 897}#
-               #{vals\ 898}#
-               #{body\ 899}#)))
+               #{source\ 948}#
+               #{fluids\ 949}#
+               #{vals\ 950}#
+               #{body\ 951}#)))
          (#{build-lexical-reference\ 310}#
-           (lambda (#{type\ 904}#
-                    #{source\ 905}#
-                    #{name\ 906}#
-                    #{var\ 907}#)
+           (lambda (#{type\ 956}#
+                    #{source\ 957}#
+                    #{name\ 958}#
+                    #{var\ 959}#)
              (#{make-lexical-ref\ 244}#
-               #{source\ 905}#
-               #{name\ 906}#
-               #{var\ 907}#)))
+               #{source\ 957}#
+               #{name\ 958}#
+               #{var\ 959}#)))
          (#{build-lexical-assignment\ 312}#
-           (lambda (#{source\ 912}#
-                    #{name\ 913}#
-                    #{var\ 914}#
-                    #{exp\ 915}#)
+           (lambda (#{source\ 964}#
+                    #{name\ 965}#
+                    #{var\ 966}#
+                    #{exp\ 967}#)
              (begin
                (#{maybe-name-value!\ 300}#
-                 #{name\ 913}#
-                 #{exp\ 915}#)
+                 #{name\ 965}#
+                 #{exp\ 967}#)
                (#{make-lexical-set\ 246}#
-                 #{source\ 912}#
-                 #{name\ 913}#
-                 #{var\ 914}#
-                 #{exp\ 915}#))))
+                 #{source\ 964}#
+                 #{name\ 965}#
+                 #{var\ 966}#
+                 #{exp\ 967}#))))
          (#{analyze-variable\ 314}#
-           (lambda (#{mod\ 920}#
-                    #{var\ 921}#
-                    #{modref-cont\ 922}#
-                    #{bare-cont\ 923}#)
-             (if (not #{mod\ 920}#)
-               (#{bare-cont\ 923}# #{var\ 921}#)
+           (lambda (#{mod\ 972}#
+                    #{var\ 973}#
+                    #{modref-cont\ 974}#
+                    #{bare-cont\ 975}#)
+             (if (not #{mod\ 972}#)
+               (#{bare-cont\ 975}# #{var\ 973}#)
                (begin
-                 (let ((#{kind\ 930}# (car #{mod\ 920}#))
-                       (#{mod\ 931}# (cdr #{mod\ 920}#)))
-                   (if (eqv? #{kind\ 930}# (quote public))
-                     (#{modref-cont\ 922}#
-                       #{mod\ 931}#
-                       #{var\ 921}#
+                 (let ((#{kind\ 982}# (car #{mod\ 972}#))
+                       (#{mod\ 983}# (cdr #{mod\ 972}#)))
+                   (if (eqv? #{kind\ 982}# (quote public))
+                     (#{modref-cont\ 974}#
+                       #{mod\ 983}#
+                       #{var\ 973}#
                        #t)
-                     (if (eqv? #{kind\ 930}# (quote private))
+                     (if (eqv? #{kind\ 982}# (quote private))
                        (if (not (equal?
-                                  #{mod\ 931}#
+                                  #{mod\ 983}#
                                   (module-name (current-module))))
-                         (#{modref-cont\ 922}#
-                           #{mod\ 931}#
-                           #{var\ 921}#
+                         (#{modref-cont\ 974}#
+                           #{mod\ 983}#
+                           #{var\ 973}#
                            #f)
-                         (#{bare-cont\ 923}# #{var\ 921}#))
-                       (if (eqv? #{kind\ 930}# (quote bare))
-                         (#{bare-cont\ 923}# #{var\ 921}#)
-                         (if (eqv? #{kind\ 930}# (quote hygiene))
+                         (#{bare-cont\ 975}# #{var\ 973}#))
+                       (if (eqv? #{kind\ 982}# (quote bare))
+                         (#{bare-cont\ 975}# #{var\ 973}#)
+                         (if (eqv? #{kind\ 982}# (quote hygiene))
                            (if (if (not (equal?
-                                          #{mod\ 931}#
+                                          #{mod\ 983}#
                                           (module-name (current-module))))
                                  (module-variable
-                                   (resolve-module #{mod\ 931}#)
-                                   #{var\ 921}#)
+                                   (resolve-module #{mod\ 983}#)
+                                   #{var\ 973}#)
                                  #f)
-                             (#{modref-cont\ 922}#
-                               #{mod\ 931}#
-                               #{var\ 921}#
+                             (#{modref-cont\ 974}#
+                               #{mod\ 983}#
+                               #{var\ 973}#
                                #f)
-                             (#{bare-cont\ 923}# #{var\ 921}#))
+                             (#{bare-cont\ 975}# #{var\ 973}#))
                            (syntax-violation
                              #f
                              "bad module kind"
-                             #{var\ 921}#
-                             #{mod\ 931}#))))))))))
+                             #{var\ 973}#
+                             #{mod\ 983}#))))))))))
          (#{build-global-reference\ 316}#
-           (lambda (#{source\ 939}# #{var\ 940}# #{mod\ 941}#)
+           (lambda (#{source\ 991}# #{var\ 992}# #{mod\ 993}#)
              (#{analyze-variable\ 314}#
-               #{mod\ 941}#
-               #{var\ 940}#
-               (lambda (#{mod\ 945}# #{var\ 946}# #{public?\ 947}#)
+               #{mod\ 993}#
+               #{var\ 992}#
+               (lambda (#{mod\ 997}# #{var\ 998}# #{public?\ 999}#)
                  (#{make-module-ref\ 248}#
-                   #{source\ 939}#
-                   #{mod\ 945}#
-                   #{var\ 946}#
-                   #{public?\ 947}#))
-               (lambda (#{var\ 951}#)
+                   #{source\ 991}#
+                   #{mod\ 997}#
+                   #{var\ 998}#
+                   #{public?\ 999}#))
+               (lambda (#{var\ 1003}#)
                  (#{make-toplevel-ref\ 252}#
-                   #{source\ 939}#
-                   #{var\ 951}#)))))
+                   #{source\ 991}#
+                   #{var\ 1003}#)))))
          (#{build-global-assignment\ 318}#
-           (lambda (#{source\ 953}#
-                    #{var\ 954}#
-                    #{exp\ 955}#
-                    #{mod\ 956}#)
+           (lambda (#{source\ 1005}#
+                    #{var\ 1006}#
+                    #{exp\ 1007}#
+                    #{mod\ 1008}#)
              (begin
                (#{maybe-name-value!\ 300}#
-                 #{var\ 954}#
-                 #{exp\ 955}#)
+                 #{var\ 1006}#
+                 #{exp\ 1007}#)
                (#{analyze-variable\ 314}#
-                 #{mod\ 956}#
-                 #{var\ 954}#
-                 (lambda (#{mod\ 961}# #{var\ 962}# #{public?\ 963}#)
+                 #{mod\ 1008}#
+                 #{var\ 1006}#
+                 (lambda (#{mod\ 1013}# #{var\ 1014}# #{public?\ 1015}#)
                    (#{make-module-set\ 250}#
-                     #{source\ 953}#
-                     #{mod\ 961}#
-                     #{var\ 962}#
-                     #{public?\ 963}#
-                     #{exp\ 955}#))
-                 (lambda (#{var\ 967}#)
+                     #{source\ 1005}#
+                     #{mod\ 1013}#
+                     #{var\ 1014}#
+                     #{public?\ 1015}#
+                     #{exp\ 1007}#))
+                 (lambda (#{var\ 1019}#)
                    (#{make-toplevel-set\ 254}#
-                     #{source\ 953}#
-                     #{var\ 967}#
-                     #{exp\ 955}#))))))
+                     #{source\ 1005}#
+                     #{var\ 1019}#
+                     #{exp\ 1007}#))))))
          (#{build-global-definition\ 320}#
-           (lambda (#{source\ 969}# #{var\ 970}# #{exp\ 971}#)
+           (lambda (#{source\ 1021}# #{var\ 1022}# #{exp\ 1023}#)
              (begin
                (#{maybe-name-value!\ 300}#
-                 #{var\ 970}#
-                 #{exp\ 971}#)
+                 #{var\ 1022}#
+                 #{exp\ 1023}#)
                (#{make-toplevel-define\ 256}#
-                 #{source\ 969}#
-                 #{var\ 970}#
-                 #{exp\ 971}#))))
+                 #{source\ 1021}#
+                 #{var\ 1022}#
+                 #{exp\ 1023}#))))
          (#{build-simple-lambda\ 322}#
-           (lambda (#{src\ 975}#
-                    #{req\ 976}#
-                    #{rest\ 977}#
-                    #{vars\ 978}#
-                    #{meta\ 979}#
-                    #{exp\ 980}#)
+           (lambda (#{src\ 1027}#
+                    #{req\ 1028}#
+                    #{rest\ 1029}#
+                    #{vars\ 1030}#
+                    #{meta\ 1031}#
+                    #{exp\ 1032}#)
              (#{make-lambda\ 264}#
-               #{src\ 975}#
-               #{meta\ 979}#
+               #{src\ 1027}#
+               #{meta\ 1031}#
                (#{make-lambda-case\ 266}#
-                 #{src\ 975}#
-                 #{req\ 976}#
+                 #{src\ 1027}#
+                 #{req\ 1028}#
                  #f
-                 #{rest\ 977}#
+                 #{rest\ 1029}#
                  #f
                  '()
-                 #{vars\ 978}#
-                 #{exp\ 980}#
+                 #{vars\ 1030}#
+                 #{exp\ 1032}#
                  #f))))
          (#{build-case-lambda\ 324}#
-           (lambda (#{src\ 987}# #{meta\ 988}# #{body\ 989}#)
+           (lambda (#{src\ 1039}# #{meta\ 1040}# #{body\ 1041}#)
              (#{make-lambda\ 264}#
-               #{src\ 987}#
-               #{meta\ 988}#
-               #{body\ 989}#)))
+               #{src\ 1039}#
+               #{meta\ 1040}#
+               #{body\ 1041}#)))
          (#{build-lambda-case\ 326}#
-           (lambda (#{src\ 993}#
-                    #{req\ 994}#
-                    #{opt\ 995}#
-                    #{rest\ 996}#
-                    #{kw\ 997}#
-                    #{inits\ 998}#
-                    #{vars\ 999}#
-                    #{body\ 1000}#
-                    #{else-case\ 1001}#)
+           (lambda (#{src\ 1045}#
+                    #{req\ 1046}#
+                    #{opt\ 1047}#
+                    #{rest\ 1048}#
+                    #{kw\ 1049}#
+                    #{inits\ 1050}#
+                    #{vars\ 1051}#
+                    #{body\ 1052}#
+                    #{else-case\ 1053}#)
              (#{make-lambda-case\ 266}#
-               #{src\ 993}#
-               #{req\ 994}#
-               #{opt\ 995}#
-               #{rest\ 996}#
-               #{kw\ 997}#
-               #{inits\ 998}#
-               #{vars\ 999}#
-               #{body\ 1000}#
-               #{else-case\ 1001}#)))
+               #{src\ 1045}#
+               #{req\ 1046}#
+               #{opt\ 1047}#
+               #{rest\ 1048}#
+               #{kw\ 1049}#
+               #{inits\ 1050}#
+               #{vars\ 1051}#
+               #{body\ 1052}#
+               #{else-case\ 1053}#)))
          (#{build-primref\ 328}#
-           (lambda (#{src\ 1011}# #{name\ 1012}#)
+           (lambda (#{src\ 1063}# #{name\ 1064}#)
              (if (equal?
                    (module-name (current-module))
                    '(guile))
                (#{make-toplevel-ref\ 252}#
-                 #{src\ 1011}#
-                 #{name\ 1012}#)
+                 #{src\ 1063}#
+                 #{name\ 1064}#)
                (#{make-module-ref\ 248}#
-                 #{src\ 1011}#
+                 #{src\ 1063}#
                  '(guile)
-                 #{name\ 1012}#
+                 #{name\ 1064}#
                  #f))))
          (#{build-data\ 330}#
-           (lambda (#{src\ 1015}# #{exp\ 1016}#)
-             (#{make-const\ 240}# #{src\ 1015}# #{exp\ 1016}#)))
+           (lambda (#{src\ 1067}# #{exp\ 1068}#)
+             (#{make-const\ 240}# #{src\ 1067}# #{exp\ 1068}#)))
          (#{build-sequence\ 332}#
-           (lambda (#{src\ 1019}# #{exps\ 1020}#)
-             (if (null? (cdr #{exps\ 1020}#))
-               (car #{exps\ 1020}#)
+           (lambda (#{src\ 1071}# #{exps\ 1072}#)
+             (if (null? (cdr #{exps\ 1072}#))
+               (car #{exps\ 1072}#)
                (#{make-sequence\ 262}#
-                 #{src\ 1019}#
-                 #{exps\ 1020}#))))
+                 #{src\ 1071}#
+                 #{exps\ 1072}#))))
          (#{build-let\ 334}#
-           (lambda (#{src\ 1023}#
-                    #{ids\ 1024}#
-                    #{vars\ 1025}#
-                    #{val-exps\ 1026}#
-                    #{body-exp\ 1027}#)
+           (lambda (#{src\ 1075}#
+                    #{ids\ 1076}#
+                    #{vars\ 1077}#
+                    #{val-exps\ 1078}#
+                    #{body-exp\ 1079}#)
              (begin
                (for-each
                  #{maybe-name-value!\ 300}#
-                 #{ids\ 1024}#
-                 #{val-exps\ 1026}#)
-               (if (null? #{vars\ 1025}#)
-                 #{body-exp\ 1027}#
+                 #{ids\ 1076}#
+                 #{val-exps\ 1078}#)
+               (if (null? #{vars\ 1077}#)
+                 #{body-exp\ 1079}#
                  (#{make-let\ 268}#
-                   #{src\ 1023}#
-                   #{ids\ 1024}#
-                   #{vars\ 1025}#
-                   #{val-exps\ 1026}#
-                   #{body-exp\ 1027}#)))))
+                   #{src\ 1075}#
+                   #{ids\ 1076}#
+                   #{vars\ 1077}#
+                   #{val-exps\ 1078}#
+                   #{body-exp\ 1079}#)))))
          (#{build-named-let\ 336}#
-           (lambda (#{src\ 1033}#
-                    #{ids\ 1034}#
-                    #{vars\ 1035}#
-                    #{val-exps\ 1036}#
-                    #{body-exp\ 1037}#)
+           (lambda (#{src\ 1085}#
+                    #{ids\ 1086}#
+                    #{vars\ 1087}#
+                    #{val-exps\ 1088}#
+                    #{body-exp\ 1089}#)
              (begin
-               (let ((#{f\ 1047}# (car #{vars\ 1035}#))
-                     (#{f-name\ 1048}# (car #{ids\ 1034}#))
-                     (#{vars\ 1049}# (cdr #{vars\ 1035}#))
-                     (#{ids\ 1050}# (cdr #{ids\ 1034}#)))
+               (let ((#{f\ 1099}# (car #{vars\ 1087}#))
+                     (#{f-name\ 1100}# (car #{ids\ 1086}#))
+                     (#{vars\ 1101}# (cdr #{vars\ 1087}#))
+                     (#{ids\ 1102}# (cdr #{ids\ 1086}#)))
                  (begin
-                   (let ((#{proc\ 1052}#
+                   (let ((#{proc\ 1104}#
                            (#{build-simple-lambda\ 322}#
-                             #{src\ 1033}#
-                             #{ids\ 1050}#
+                             #{src\ 1085}#
+                             #{ids\ 1102}#
                              #f
-                             #{vars\ 1049}#
+                             #{vars\ 1101}#
                              '()
-                             #{body-exp\ 1037}#)))
+                             #{body-exp\ 1089}#)))
                      (begin
                        (#{maybe-name-value!\ 300}#
-                         #{f-name\ 1048}#
-                         #{proc\ 1052}#)
+                         #{f-name\ 1100}#
+                         #{proc\ 1104}#)
                        (for-each
                          #{maybe-name-value!\ 300}#
-                         #{ids\ 1050}#
-                         #{val-exps\ 1036}#)
+                         #{ids\ 1102}#
+                         #{val-exps\ 1088}#)
                        (#{make-letrec\ 270}#
-                         #{src\ 1033}#
+                         #{src\ 1085}#
                          #f
-                         (list #{f-name\ 1048}#)
-                         (list #{f\ 1047}#)
-                         (list #{proc\ 1052}#)
+                         (list #{f-name\ 1100}#)
+                         (list #{f\ 1099}#)
+                         (list #{proc\ 1104}#)
                          (#{build-application\ 304}#
-                           #{src\ 1033}#
+                           #{src\ 1085}#
                            (#{build-lexical-reference\ 310}#
                              'fun
-                             #{src\ 1033}#
-                             #{f-name\ 1048}#
-                             #{f\ 1047}#)
-                           #{val-exps\ 1036}#)))))))))
+                             #{src\ 1085}#
+                             #{f-name\ 1100}#
+                             #{f\ 1099}#)
+                           #{val-exps\ 1088}#)))))))))
          (#{build-letrec\ 338}#
-           (lambda (#{src\ 1053}#
-                    #{in-order?\ 1054}#
-                    #{ids\ 1055}#
-                    #{vars\ 1056}#
-                    #{val-exps\ 1057}#
-                    #{body-exp\ 1058}#)
-             (if (null? #{vars\ 1056}#)
-               #{body-exp\ 1058}#
+           (lambda (#{src\ 1105}#
+                    #{in-order?\ 1106}#
+                    #{ids\ 1107}#
+                    #{vars\ 1108}#
+                    #{val-exps\ 1109}#
+                    #{body-exp\ 1110}#)
+             (if (null? #{vars\ 1108}#)
+               #{body-exp\ 1110}#
                (begin
                  (for-each
                    #{maybe-name-value!\ 300}#
-                   #{ids\ 1055}#
-                   #{val-exps\ 1057}#)
+                   #{ids\ 1107}#
+                   #{val-exps\ 1109}#)
                  (#{make-letrec\ 270}#
-                   #{src\ 1053}#
-                   #{in-order?\ 1054}#
-                   #{ids\ 1055}#
-                   #{vars\ 1056}#
-                   #{val-exps\ 1057}#
-                   #{body-exp\ 1058}#)))))
+                   #{src\ 1105}#
+                   #{in-order?\ 1106}#
+                   #{ids\ 1107}#
+                   #{vars\ 1108}#
+                   #{val-exps\ 1109}#
+                   #{body-exp\ 1110}#)))))
          (#{make-syntax-object\ 342}#
-           (lambda (#{expression\ 1065}#
-                    #{wrap\ 1066}#
-                    #{module\ 1067}#)
+           (lambda (#{expression\ 1117}#
+                    #{wrap\ 1118}#
+                    #{module\ 1119}#)
              (vector
                'syntax-object
-               #{expression\ 1065}#
-               #{wrap\ 1066}#
-               #{module\ 1067}#)))
+               #{expression\ 1117}#
+               #{wrap\ 1118}#
+               #{module\ 1119}#)))
          (#{syntax-object?\ 344}#
-           (lambda (#{x\ 1071}#)
-             (if (vector? #{x\ 1071}#)
-               (if (= (vector-length #{x\ 1071}#) 4)
-                 (eq? (vector-ref #{x\ 1071}# 0)
+           (lambda (#{x\ 1123}#)
+             (if (vector? #{x\ 1123}#)
+               (if (= (vector-length #{x\ 1123}#) 4)
+                 (eq? (vector-ref #{x\ 1123}# 0)
                       'syntax-object)
                  #f)
                #f)))
          (#{syntax-object-expression\ 346}#
-           (lambda (#{x\ 1076}#) (vector-ref #{x\ 1076}# 1)))
+           (lambda (#{x\ 1128}#) (vector-ref #{x\ 1128}# 1)))
          (#{syntax-object-wrap\ 348}#
-           (lambda (#{x\ 1078}#) (vector-ref #{x\ 1078}# 2)))
+           (lambda (#{x\ 1130}#) (vector-ref #{x\ 1130}# 2)))
          (#{syntax-object-module\ 350}#
-           (lambda (#{x\ 1080}#) (vector-ref #{x\ 1080}# 3)))
+           (lambda (#{x\ 1132}#) (vector-ref #{x\ 1132}# 3)))
          (#{source-annotation\ 359}#
-           (lambda (#{x\ 1094}#)
-             (if (#{syntax-object?\ 344}# #{x\ 1094}#)
+           (lambda (#{x\ 1146}#)
+             (if (#{syntax-object?\ 344}# #{x\ 1146}#)
                (#{source-annotation\ 359}#
-                 (#{syntax-object-expression\ 346}# #{x\ 1094}#))
-               (if (pair? #{x\ 1094}#)
+                 (#{syntax-object-expression\ 346}# #{x\ 1146}#))
+               (if (pair? #{x\ 1146}#)
                  (begin
-                   (let ((#{props\ 1101}# (source-properties #{x\ 1094}#)))
-                     (if (pair? #{props\ 1101}#) #{props\ 1101}# #f)))
+                   (let ((#{props\ 1153}# (source-properties #{x\ 1146}#)))
+                     (if (pair? #{props\ 1153}#) #{props\ 1153}# #f)))
                  #f))))
-         (#{extend-env\ 368}#
-           (lambda (#{labels\ 1103}# #{bindings\ 1104}# #{r\ 1105}#)
-             (if (null? #{labels\ 1103}#)
-               #{r\ 1105}#
-               (#{extend-env\ 368}#
-                 (cdr #{labels\ 1103}#)
-                 (cdr #{bindings\ 1104}#)
-                 (cons (cons (car #{labels\ 1103}#)
-                             (car #{bindings\ 1104}#))
-                       #{r\ 1105}#)))))
-         (#{extend-var-env\ 370}#
-           (lambda (#{labels\ 1109}# #{vars\ 1110}# #{r\ 1111}#)
-             (if (null? #{labels\ 1109}#)
-               #{r\ 1111}#
-               (#{extend-var-env\ 370}#
-                 (cdr #{labels\ 1109}#)
-                 (cdr #{vars\ 1110}#)
-                 (cons (cons (car #{labels\ 1109}#)
-                             (cons (quote lexical) (car #{vars\ 1110}#)))
-                       #{r\ 1111}#)))))
-         (#{macros-only-env\ 372}#
-           (lambda (#{r\ 1116}#)
-             (if (null? #{r\ 1116}#)
+         (#{extend-env\ 366}#
+           (lambda (#{labels\ 1155}# #{bindings\ 1156}# #{r\ 1157}#)
+             (if (null? #{labels\ 1155}#)
+               #{r\ 1157}#
+               (#{extend-env\ 366}#
+                 (cdr #{labels\ 1155}#)
+                 (cdr #{bindings\ 1156}#)
+                 (cons (cons (car #{labels\ 1155}#)
+                             (car #{bindings\ 1156}#))
+                       #{r\ 1157}#)))))
+         (#{extend-var-env\ 368}#
+           (lambda (#{labels\ 1161}# #{vars\ 1162}# #{r\ 1163}#)
+             (if (null? #{labels\ 1161}#)
+               #{r\ 1163}#
+               (#{extend-var-env\ 368}#
+                 (cdr #{labels\ 1161}#)
+                 (cdr #{vars\ 1162}#)
+                 (cons (cons (car #{labels\ 1161}#)
+                             (cons (quote lexical) (car #{vars\ 1162}#)))
+                       #{r\ 1163}#)))))
+         (#{macros-only-env\ 370}#
+           (lambda (#{r\ 1168}#)
+             (if (null? #{r\ 1168}#)
                '()
                (begin
-                 (let ((#{a\ 1119}# (car #{r\ 1116}#)))
-                   (if (eq? (car (cdr #{a\ 1119}#)) (quote macro))
-                     (cons #{a\ 1119}#
-                           (#{macros-only-env\ 372}# (cdr #{r\ 1116}#)))
-                     (#{macros-only-env\ 372}# (cdr #{r\ 1116}#))))))))
-         (#{lookup\ 374}#
-           (lambda (#{x\ 1120}# #{r\ 1121}# #{mod\ 1122}#)
+                 (let ((#{a\ 1171}# (car #{r\ 1168}#)))
+                   (if (eq? (car (cdr #{a\ 1171}#)) (quote macro))
+                     (cons #{a\ 1171}#
+                           (#{macros-only-env\ 370}# (cdr #{r\ 1168}#)))
+                     (#{macros-only-env\ 370}# (cdr #{r\ 1168}#))))))))
+         (#{lookup\ 372}#
+           (lambda (#{x\ 1172}# #{r\ 1173}# #{mod\ 1174}#)
              (begin
-               (let ((#{t\ 1128}# (assq #{x\ 1120}# #{r\ 1121}#)))
-                 (if #{t\ 1128}#
-                   (cdr #{t\ 1128}#)
-                   (if (symbol? #{x\ 1120}#)
+               (let ((#{t\ 1180}# (assq #{x\ 1172}# #{r\ 1173}#)))
+                 (if #{t\ 1180}#
+                   (cdr #{t\ 1180}#)
+                   (if (symbol? #{x\ 1172}#)
                      (begin
-                       (let ((#{t\ 1134}#
+                       (let ((#{t\ 1186}#
                                (#{get-global-definition-hook\ 296}#
-                                 #{x\ 1120}#
-                                 #{mod\ 1122}#)))
-                         (if #{t\ 1134}# #{t\ 1134}# (quote (global)))))
+                                 #{x\ 1172}#
+                                 #{mod\ 1174}#)))
+                         (if #{t\ 1186}# #{t\ 1186}# (quote (global)))))
                      '(displaced-lexical)))))))
-         (#{global-extend\ 376}#
-           (lambda (#{type\ 1139}# #{sym\ 1140}# #{val\ 1141}#)
+         (#{global-extend\ 374}#
+           (lambda (#{type\ 1191}# #{sym\ 1192}# #{val\ 1193}#)
              (#{put-global-definition-hook\ 294}#
-               #{sym\ 1140}#
-               #{type\ 1139}#
-               #{val\ 1141}#)))
-         (#{nonsymbol-id?\ 378}#
-           (lambda (#{x\ 1145}#)
-             (if (#{syntax-object?\ 344}# #{x\ 1145}#)
+               #{sym\ 1192}#
+               #{type\ 1191}#
+               #{val\ 1193}#)))
+         (#{nonsymbol-id?\ 376}#
+           (lambda (#{x\ 1197}#)
+             (if (#{syntax-object?\ 344}# #{x\ 1197}#)
                (symbol?
-                 (#{syntax-object-expression\ 346}# #{x\ 1145}#))
+                 (#{syntax-object-expression\ 346}# #{x\ 1197}#))
                #f)))
-         (#{id?\ 380}#
-           (lambda (#{x\ 1149}#)
-             (if (symbol? #{x\ 1149}#)
+         (#{id?\ 378}#
+           (lambda (#{x\ 1201}#)
+             (if (symbol? #{x\ 1201}#)
                #t
-               (if (#{syntax-object?\ 344}# #{x\ 1149}#)
+               (if (#{syntax-object?\ 344}# #{x\ 1201}#)
                  (symbol?
-                   (#{syntax-object-expression\ 346}# #{x\ 1149}#))
+                   (#{syntax-object-expression\ 346}# #{x\ 1201}#))
                  #f))))
-         (#{id-sym-name&marks\ 383}#
-           (lambda (#{x\ 1156}# #{w\ 1157}#)
-             (if (#{syntax-object?\ 344}# #{x\ 1156}#)
+         (#{id-sym-name&marks\ 381}#
+           (lambda (#{x\ 1208}# #{w\ 1209}#)
+             (if (#{syntax-object?\ 344}# #{x\ 1208}#)
                (values
-                 (#{syntax-object-expression\ 346}# #{x\ 1156}#)
-                 (#{join-marks\ 433}#
-                   (#{wrap-marks\ 387}# #{w\ 1157}#)
-                   (#{wrap-marks\ 387}#
-                     (#{syntax-object-wrap\ 348}# #{x\ 1156}#))))
-               (values
-                 #{x\ 1156}#
-                 (#{wrap-marks\ 387}# #{w\ 1157}#)))))
-         (#{gen-label\ 396}#
+                 (#{syntax-object-expression\ 346}# #{x\ 1208}#)
+                 (#{join-marks\ 428}#
+                   (car #{w\ 1209}#)
+                   (car (#{syntax-object-wrap\ 348}# #{x\ 1208}#))))
+               (values #{x\ 1208}# (car #{w\ 1209}#)))))
+         (#{gen-label\ 391}#
            (lambda () (symbol->string (gensym "i"))))
-         (#{gen-labels\ 398}#
-           (lambda (#{ls\ 1160}#)
-             (if (null? #{ls\ 1160}#)
+         (#{gen-labels\ 393}#
+           (lambda (#{ls\ 1215}#)
+             (if (null? #{ls\ 1215}#)
                '()
-               (cons (#{gen-label\ 396}#)
-                     (#{gen-labels\ 398}# (cdr #{ls\ 1160}#))))))
-         (#{make-ribcage\ 401}#
-           (lambda (#{symnames\ 1162}#
-                    #{marks\ 1163}#
-                    #{labels\ 1164}#)
+               (cons (#{gen-label\ 391}#)
+                     (#{gen-labels\ 393}# (cdr #{ls\ 1215}#))))))
+         (#{make-ribcage\ 396}#
+           (lambda (#{symnames\ 1217}#
+                    #{marks\ 1218}#
+                    #{labels\ 1219}#)
              (vector
                'ribcage
-               #{symnames\ 1162}#
-               #{marks\ 1163}#
-               #{labels\ 1164}#)))
-         (#{ribcage-symnames\ 405}#
-           (lambda (#{x\ 1173}#) (vector-ref #{x\ 1173}# 1)))
-         (#{ribcage-marks\ 407}#
-           (lambda (#{x\ 1175}#) (vector-ref #{x\ 1175}# 2)))
-         (#{ribcage-labels\ 409}#
-           (lambda (#{x\ 1177}#) (vector-ref #{x\ 1177}# 3)))
-         (#{set-ribcage-symnames!\ 411}#
-           (lambda (#{x\ 1179}# #{update\ 1180}#)
-             (vector-set! #{x\ 1179}# 1 #{update\ 1180}#)))
-         (#{set-ribcage-marks!\ 413}#
-           (lambda (#{x\ 1183}# #{update\ 1184}#)
-             (vector-set! #{x\ 1183}# 2 #{update\ 1184}#)))
-         (#{set-ribcage-labels!\ 415}#
-           (lambda (#{x\ 1187}# #{update\ 1188}#)
-             (vector-set! #{x\ 1187}# 3 #{update\ 1188}#)))
-         (#{anti-mark\ 421}#
-           (lambda (#{w\ 1191}#)
-             (#{make-wrap\ 385}#
-               (cons #f (#{wrap-marks\ 387}# #{w\ 1191}#))
-               (cons 'shift
-                     (#{wrap-subst\ 389}# #{w\ 1191}#)))))
-         (#{extend-ribcage!\ 425}#
-           (lambda (#{ribcage\ 1194}# #{id\ 1195}# #{label\ 1196}#)
+               #{symnames\ 1217}#
+               #{marks\ 1218}#
+               #{labels\ 1219}#)))
+         (#{ribcage-symnames\ 400}#
+           (lambda (#{x\ 1228}#) (vector-ref #{x\ 1228}# 1)))
+         (#{ribcage-marks\ 402}#
+           (lambda (#{x\ 1230}#) (vector-ref #{x\ 1230}# 2)))
+         (#{ribcage-labels\ 404}#
+           (lambda (#{x\ 1232}#) (vector-ref #{x\ 1232}# 3)))
+         (#{set-ribcage-symnames!\ 406}#
+           (lambda (#{x\ 1234}# #{update\ 1235}#)
+             (vector-set! #{x\ 1234}# 1 #{update\ 1235}#)))
+         (#{set-ribcage-marks!\ 408}#
+           (lambda (#{x\ 1238}# #{update\ 1239}#)
+             (vector-set! #{x\ 1238}# 2 #{update\ 1239}#)))
+         (#{set-ribcage-labels!\ 410}#
+           (lambda (#{x\ 1242}# #{update\ 1243}#)
+             (vector-set! #{x\ 1242}# 3 #{update\ 1243}#)))
+         (#{anti-mark\ 416}#
+           (lambda (#{w\ 1246}#)
+             (cons (cons #f (car #{w\ 1246}#))
+                   (cons (quote shift) (cdr #{w\ 1246}#)))))
+         (#{extend-ribcage!\ 420}#
+           (lambda (#{ribcage\ 1252}# #{id\ 1253}# #{label\ 1254}#)
              (begin
-               (#{set-ribcage-symnames!\ 411}#
-                 #{ribcage\ 1194}#
-                 (cons (#{syntax-object-expression\ 346}# #{id\ 1195}#)
-                       (#{ribcage-symnames\ 405}# #{ribcage\ 1194}#)))
-               (#{set-ribcage-marks!\ 413}#
-                 #{ribcage\ 1194}#
-                 (cons (#{wrap-marks\ 387}#
-                         (#{syntax-object-wrap\ 348}# #{id\ 1195}#))
-                       (#{ribcage-marks\ 407}# #{ribcage\ 1194}#)))
-               (#{set-ribcage-labels!\ 415}#
-                 #{ribcage\ 1194}#
-                 (cons #{label\ 1196}#
-                       (#{ribcage-labels\ 409}# #{ribcage\ 1194}#))))))
-         (#{make-binding-wrap\ 427}#
-           (lambda (#{ids\ 1200}# #{labels\ 1201}# #{w\ 1202}#)
-             (if (null? #{ids\ 1200}#)
-               #{w\ 1202}#
-               (#{make-wrap\ 385}#
-                 (#{wrap-marks\ 387}# #{w\ 1202}#)
-                 (cons (begin
-                         (let ((#{labelvec\ 1207}#
-                                 (list->vector #{labels\ 1201}#)))
-                           (begin
-                             (let ((#{n\ 1209}#
-                                     (vector-length #{labelvec\ 1207}#)))
+               (#{set-ribcage-symnames!\ 406}#
+                 #{ribcage\ 1252}#
+                 (cons (#{syntax-object-expression\ 346}# #{id\ 1253}#)
+                       (#{ribcage-symnames\ 400}# #{ribcage\ 1252}#)))
+               (#{set-ribcage-marks!\ 408}#
+                 #{ribcage\ 1252}#
+                 (cons (car (#{syntax-object-wrap\ 348}# #{id\ 1253}#))
+                       (#{ribcage-marks\ 402}# #{ribcage\ 1252}#)))
+               (#{set-ribcage-labels!\ 410}#
+                 #{ribcage\ 1252}#
+                 (cons #{label\ 1254}#
+                       (#{ribcage-labels\ 404}# #{ribcage\ 1252}#))))))
+         (#{make-binding-wrap\ 422}#
+           (lambda (#{ids\ 1259}# #{labels\ 1260}# #{w\ 1261}#)
+             (if (null? #{ids\ 1259}#)
+               #{w\ 1261}#
+               (cons (car #{w\ 1261}#)
+                     (cons (begin
+                             (let ((#{labelvec\ 1268}#
+                                     (list->vector #{labels\ 1260}#)))
                                (begin
-                                 (let ((#{symnamevec\ 1212}#
-                                         (make-vector #{n\ 1209}#))
-                                       (#{marksvec\ 1213}#
-                                         (make-vector #{n\ 1209}#)))
+                                 (let ((#{n\ 1270}#
+                                         (vector-length #{labelvec\ 1268}#)))
                                    (begin
-                                     (letrec*
-                                       ((#{f\ 1217}#
-                                          (lambda (#{ids\ 1218}# #{i\ 1219}#)
-                                            (if (not (null? #{ids\ 1218}#))
-                                              (call-with-values
-                                                (lambda ()
-                                                  (#{id-sym-name&marks\ 383}#
-                                                    (car #{ids\ 1218}#)
-                                                    #{w\ 1202}#))
-                                                (lambda (#{symname\ 1220}#
-                                                         #{marks\ 1221}#)
-                                                  (begin
-                                                    (vector-set!
-                                                      #{symnamevec\ 1212}#
-                                                      #{i\ 1219}#
-                                                      #{symname\ 1220}#)
-                                                    (vector-set!
-                                                      #{marksvec\ 1213}#
-                                                      #{i\ 1219}#
-                                                      #{marks\ 1221}#)
-                                                    (#{f\ 1217}#
-                                                      (cdr #{ids\ 1218}#)
-                                                      (#{fx+\ 281}#
-                                                        #{i\ 1219}#
-                                                        1)))))))))
-                                       (begin (#{f\ 1217}# #{ids\ 1200}# 0)))
-                                     (#{make-ribcage\ 401}#
-                                       #{symnamevec\ 1212}#
-                                       #{marksvec\ 1213}#
-                                       #{labelvec\ 1207}#))))))))
-                       (#{wrap-subst\ 389}# #{w\ 1202}#))))))
-         (#{smart-append\ 429}#
-           (lambda (#{m1\ 1224}# #{m2\ 1225}#)
-             (if (null? #{m2\ 1225}#)
-               #{m1\ 1224}#
-               (append #{m1\ 1224}# #{m2\ 1225}#))))
-         (#{join-wraps\ 431}#
-           (lambda (#{w1\ 1228}# #{w2\ 1229}#)
+                                     (let ((#{symnamevec\ 1273}#
+                                             (make-vector #{n\ 1270}#))
+                                           (#{marksvec\ 1274}#
+                                             (make-vector #{n\ 1270}#)))
+                                       (begin
+                                         (letrec*
+                                           ((#{f\ 1278}#
+                                              (lambda (#{ids\ 1279}#
+                                                       #{i\ 1280}#)
+                                                (if (not (null? #{ids\ 1279}#))
+                                                  (call-with-values
+                                                    (lambda ()
+                                                      (#{id-sym-name&marks\ 
381}#
+                                                        (car #{ids\ 1279}#)
+                                                        #{w\ 1261}#))
+                                                    (lambda (#{symname\ 1281}#
+                                                             #{marks\ 1282}#)
+                                                      (begin
+                                                        (vector-set!
+                                                          #{symnamevec\ 1273}#
+                                                          #{i\ 1280}#
+                                                          #{symname\ 1281}#)
+                                                        (vector-set!
+                                                          #{marksvec\ 1274}#
+                                                          #{i\ 1280}#
+                                                          #{marks\ 1282}#)
+                                                        (#{f\ 1278}#
+                                                          (cdr #{ids\ 1279}#)
+                                                          (#{fx+\ 281}#
+                                                            #{i\ 1280}#
+                                                            1)))))))))
+                                           (begin
+                                             (#{f\ 1278}# #{ids\ 1259}# 0)))
+                                         (#{make-ribcage\ 396}#
+                                           #{symnamevec\ 1273}#
+                                           #{marksvec\ 1274}#
+                                           #{labelvec\ 1268}#))))))))
+                           (cdr #{w\ 1261}#))))))
+         (#{smart-append\ 424}#
+           (lambda (#{m1\ 1286}# #{m2\ 1287}#)
+             (if (null? #{m2\ 1287}#)
+               #{m1\ 1286}#
+               (append #{m1\ 1286}# #{m2\ 1287}#))))
+         (#{join-wraps\ 426}#
+           (lambda (#{w1\ 1290}# #{w2\ 1291}#)
              (begin
-               (let ((#{m1\ 1234}# (#{wrap-marks\ 387}# #{w1\ 1228}#))
-                     (#{s1\ 1235}# (#{wrap-subst\ 389}# #{w1\ 1228}#)))
-                 (if (null? #{m1\ 1234}#)
-                   (if (null? #{s1\ 1235}#)
-                     #{w2\ 1229}#
-                     (#{make-wrap\ 385}#
-                       (#{wrap-marks\ 387}# #{w2\ 1229}#)
-                       (#{smart-append\ 429}#
-                         #{s1\ 1235}#
-                         (#{wrap-subst\ 389}# #{w2\ 1229}#))))
-                   (#{make-wrap\ 385}#
-                     (#{smart-append\ 429}#
-                       #{m1\ 1234}#
-                       (#{wrap-marks\ 387}# #{w2\ 1229}#))
-                     (#{smart-append\ 429}#
-                       #{s1\ 1235}#
-                       (#{wrap-subst\ 389}# #{w2\ 1229}#))))))))
-         (#{join-marks\ 433}#
-           (lambda (#{m1\ 1236}# #{m2\ 1237}#)
-             (#{smart-append\ 429}# #{m1\ 1236}# #{m2\ 1237}#)))
-         (#{same-marks?\ 435}#
-           (lambda (#{x\ 1240}# #{y\ 1241}#)
+               (let ((#{m1\ 1296}# (car #{w1\ 1290}#))
+                     (#{s1\ 1297}# (cdr #{w1\ 1290}#)))
+                 (if (null? #{m1\ 1296}#)
+                   (if (null? #{s1\ 1297}#)
+                     #{w2\ 1291}#
+                     (cons (car #{w2\ 1291}#)
+                           (#{smart-append\ 424}#
+                             #{s1\ 1297}#
+                             (cdr #{w2\ 1291}#))))
+                   (cons (#{smart-append\ 424}#
+                           #{m1\ 1296}#
+                           (car #{w2\ 1291}#))
+                         (#{smart-append\ 424}#
+                           #{s1\ 1297}#
+                           (cdr #{w2\ 1291}#))))))))
+         (#{join-marks\ 428}#
+           (lambda (#{m1\ 1306}# #{m2\ 1307}#)
+             (#{smart-append\ 424}# #{m1\ 1306}# #{m2\ 1307}#)))
+         (#{same-marks?\ 430}#
+           (lambda (#{x\ 1310}# #{y\ 1311}#)
              (begin
-               (let ((#{t\ 1246}# (eq? #{x\ 1240}# #{y\ 1241}#)))
-                 (if #{t\ 1246}#
-                   #{t\ 1246}#
-                   (if (not (null? #{x\ 1240}#))
-                     (if (not (null? #{y\ 1241}#))
-                       (if (eq? (car #{x\ 1240}#) (car #{y\ 1241}#))
-                         (#{same-marks?\ 435}#
-                           (cdr #{x\ 1240}#)
-                           (cdr #{y\ 1241}#))
+               (let ((#{t\ 1316}# (eq? #{x\ 1310}# #{y\ 1311}#)))
+                 (if #{t\ 1316}#
+                   #{t\ 1316}#
+                   (if (not (null? #{x\ 1310}#))
+                     (if (not (null? #{y\ 1311}#))
+                       (if (eq? (car #{x\ 1310}#) (car #{y\ 1311}#))
+                         (#{same-marks?\ 430}#
+                           (cdr #{x\ 1310}#)
+                           (cdr #{y\ 1311}#))
                          #f)
                        #f)
                      #f))))))
-         (#{id-var-name\ 437}#
-           (lambda (#{id\ 1252}# #{w\ 1253}#)
+         (#{id-var-name\ 432}#
+           (lambda (#{id\ 1322}# #{w\ 1323}#)
              (letrec*
-               ((#{search\ 1258}#
-                  (lambda (#{sym\ 1274}# #{subst\ 1275}# #{marks\ 1276}#)
-                    (if (null? #{subst\ 1275}#)
-                      (values #f #{marks\ 1276}#)
+               ((#{search\ 1328}#
+                  (lambda (#{sym\ 1344}# #{subst\ 1345}# #{marks\ 1346}#)
+                    (if (null? #{subst\ 1345}#)
+                      (values #f #{marks\ 1346}#)
                       (begin
-                        (let ((#{fst\ 1281}# (car #{subst\ 1275}#)))
-                          (if (eq? #{fst\ 1281}# (quote shift))
-                            (#{search\ 1258}#
-                              #{sym\ 1274}#
-                              (cdr #{subst\ 1275}#)
-                              (cdr #{marks\ 1276}#))
+                        (let ((#{fst\ 1351}# (car #{subst\ 1345}#)))
+                          (if (eq? #{fst\ 1351}# (quote shift))
+                            (#{search\ 1328}#
+                              #{sym\ 1344}#
+                              (cdr #{subst\ 1345}#)
+                              (cdr #{marks\ 1346}#))
                             (begin
-                              (let ((#{symnames\ 1283}#
-                                      (#{ribcage-symnames\ 405}#
-                                        #{fst\ 1281}#)))
-                                (if (vector? #{symnames\ 1283}#)
-                                  (#{search-vector-rib\ 1262}#
-                                    #{sym\ 1274}#
-                                    #{subst\ 1275}#
-                                    #{marks\ 1276}#
-                                    #{symnames\ 1283}#
-                                    #{fst\ 1281}#)
-                                  (#{search-list-rib\ 1260}#
-                                    #{sym\ 1274}#
-                                    #{subst\ 1275}#
-                                    #{marks\ 1276}#
-                                    #{symnames\ 1283}#
-                                    #{fst\ 1281}#))))))))))
-                (#{search-list-rib\ 1260}#
-                  (lambda (#{sym\ 1284}#
-                           #{subst\ 1285}#
-                           #{marks\ 1286}#
-                           #{symnames\ 1287}#
-                           #{ribcage\ 1288}#)
+                              (let ((#{symnames\ 1353}#
+                                      (#{ribcage-symnames\ 400}#
+                                        #{fst\ 1351}#)))
+                                (if (vector? #{symnames\ 1353}#)
+                                  (#{search-vector-rib\ 1332}#
+                                    #{sym\ 1344}#
+                                    #{subst\ 1345}#
+                                    #{marks\ 1346}#
+                                    #{symnames\ 1353}#
+                                    #{fst\ 1351}#)
+                                  (#{search-list-rib\ 1330}#
+                                    #{sym\ 1344}#
+                                    #{subst\ 1345}#
+                                    #{marks\ 1346}#
+                                    #{symnames\ 1353}#
+                                    #{fst\ 1351}#))))))))))
+                (#{search-list-rib\ 1330}#
+                  (lambda (#{sym\ 1354}#
+                           #{subst\ 1355}#
+                           #{marks\ 1356}#
+                           #{symnames\ 1357}#
+                           #{ribcage\ 1358}#)
                     (letrec*
-                      ((#{f\ 1297}#
-                         (lambda (#{symnames\ 1298}# #{i\ 1299}#)
-                           (if (null? #{symnames\ 1298}#)
-                             (#{search\ 1258}#
-                               #{sym\ 1284}#
-                               (cdr #{subst\ 1285}#)
-                               #{marks\ 1286}#)
-                             (if (if (eq? (car #{symnames\ 1298}#)
-                                          #{sym\ 1284}#)
-                                   (#{same-marks?\ 435}#
-                                     #{marks\ 1286}#
+                      ((#{f\ 1367}#
+                         (lambda (#{symnames\ 1368}# #{i\ 1369}#)
+                           (if (null? #{symnames\ 1368}#)
+                             (#{search\ 1328}#
+                               #{sym\ 1354}#
+                               (cdr #{subst\ 1355}#)
+                               #{marks\ 1356}#)
+                             (if (if (eq? (car #{symnames\ 1368}#)
+                                          #{sym\ 1354}#)
+                                   (#{same-marks?\ 430}#
+                                     #{marks\ 1356}#
                                      (list-ref
-                                       (#{ribcage-marks\ 407}#
-                                         #{ribcage\ 1288}#)
-                                       #{i\ 1299}#))
+                                       (#{ribcage-marks\ 402}#
+                                         #{ribcage\ 1358}#)
+                                       #{i\ 1369}#))
                                    #f)
                                (values
                                  (list-ref
-                                   (#{ribcage-labels\ 409}# #{ribcage\ 1288}#)
-                                   #{i\ 1299}#)
-                                 #{marks\ 1286}#)
-                               (#{f\ 1297}#
-                                 (cdr #{symnames\ 1298}#)
-                                 (#{fx+\ 281}# #{i\ 1299}# 1)))))))
-                      (begin (#{f\ 1297}# #{symnames\ 1287}# 0)))))
-                (#{search-vector-rib\ 1262}#
-                  (lambda (#{sym\ 1307}#
-                           #{subst\ 1308}#
-                           #{marks\ 1309}#
-                           #{symnames\ 1310}#
-                           #{ribcage\ 1311}#)
+                                   (#{ribcage-labels\ 404}# #{ribcage\ 1358}#)
+                                   #{i\ 1369}#)
+                                 #{marks\ 1356}#)
+                               (#{f\ 1367}#
+                                 (cdr #{symnames\ 1368}#)
+                                 (#{fx+\ 281}# #{i\ 1369}# 1)))))))
+                      (begin (#{f\ 1367}# #{symnames\ 1357}# 0)))))
+                (#{search-vector-rib\ 1332}#
+                  (lambda (#{sym\ 1377}#
+                           #{subst\ 1378}#
+                           #{marks\ 1379}#
+                           #{symnames\ 1380}#
+                           #{ribcage\ 1381}#)
                     (begin
-                      (let ((#{n\ 1318}# (vector-length #{symnames\ 1310}#)))
+                      (let ((#{n\ 1388}# (vector-length #{symnames\ 1380}#)))
                         (letrec*
-                          ((#{f\ 1321}#
-                             (lambda (#{i\ 1322}#)
-                               (if (#{fx=\ 285}# #{i\ 1322}# #{n\ 1318}#)
-                                 (#{search\ 1258}#
-                                   #{sym\ 1307}#
-                                   (cdr #{subst\ 1308}#)
-                                   #{marks\ 1309}#)
+                          ((#{f\ 1391}#
+                             (lambda (#{i\ 1392}#)
+                               (if (#{fx=\ 285}# #{i\ 1392}# #{n\ 1388}#)
+                                 (#{search\ 1328}#
+                                   #{sym\ 1377}#
+                                   (cdr #{subst\ 1378}#)
+                                   #{marks\ 1379}#)
                                  (if (if (eq? (vector-ref
-                                                #{symnames\ 1310}#
-                                                #{i\ 1322}#)
-                                              #{sym\ 1307}#)
-                                       (#{same-marks?\ 435}#
-                                         #{marks\ 1309}#
+                                                #{symnames\ 1380}#
+                                                #{i\ 1392}#)
+                                              #{sym\ 1377}#)
+                                       (#{same-marks?\ 430}#
+                                         #{marks\ 1379}#
                                          (vector-ref
-                                           (#{ribcage-marks\ 407}#
-                                             #{ribcage\ 1311}#)
-                                           #{i\ 1322}#))
+                                           (#{ribcage-marks\ 402}#
+                                             #{ribcage\ 1381}#)
+                                           #{i\ 1392}#))
                                        #f)
                                    (values
                                      (vector-ref
-                                       (#{ribcage-labels\ 409}#
-                                         #{ribcage\ 1311}#)
-                                       #{i\ 1322}#)
-                                     #{marks\ 1309}#)
-                                   (#{f\ 1321}#
-                                     (#{fx+\ 281}# #{i\ 1322}# 1)))))))
-                          (begin (#{f\ 1321}# 0))))))))
+                                       (#{ribcage-labels\ 404}#
+                                         #{ribcage\ 1381}#)
+                                       #{i\ 1392}#)
+                                     #{marks\ 1379}#)
+                                   (#{f\ 1391}#
+                                     (#{fx+\ 281}# #{i\ 1392}# 1)))))))
+                          (begin (#{f\ 1391}# 0))))))))
                (begin
-                 (if (symbol? #{id\ 1252}#)
+                 (if (symbol? #{id\ 1322}#)
                    (begin
-                     (let ((#{t\ 1332}#
+                     (let ((#{t\ 1402}#
                              (call-with-values
                                (lambda ()
-                                 (#{search\ 1258}#
-                                   #{id\ 1252}#
-                                   (#{wrap-subst\ 389}# #{w\ 1253}#)
-                                   (#{wrap-marks\ 387}# #{w\ 1253}#)))
-                               (lambda (#{x\ 1334}# . #{ignore\ 1335}#)
-                                 #{x\ 1334}#))))
-                       (if #{t\ 1332}# #{t\ 1332}# #{id\ 1252}#)))
-                   (if (#{syntax-object?\ 344}# #{id\ 1252}#)
+                                 (#{search\ 1328}#
+                                   #{id\ 1322}#
+                                   (cdr #{w\ 1323}#)
+                                   (car #{w\ 1323}#)))
+                               (lambda (#{x\ 1406}# . #{ignore\ 1407}#)
+                                 #{x\ 1406}#))))
+                       (if #{t\ 1402}# #{t\ 1402}# #{id\ 1322}#)))
+                   (if (#{syntax-object?\ 344}# #{id\ 1322}#)
                      (begin
-                       (let ((#{id\ 1343}#
+                       (let ((#{id\ 1415}#
                                (#{syntax-object-expression\ 346}#
-                                 #{id\ 1252}#))
-                             (#{w1\ 1344}#
-                               (#{syntax-object-wrap\ 348}# #{id\ 1252}#)))
+                                 #{id\ 1322}#))
+                             (#{w1\ 1416}#
+                               (#{syntax-object-wrap\ 348}# #{id\ 1322}#)))
                          (begin
-                           (let ((#{marks\ 1346}#
-                                   (#{join-marks\ 433}#
-                                     (#{wrap-marks\ 387}# #{w\ 1253}#)
-                                     (#{wrap-marks\ 387}# #{w1\ 1344}#))))
+                           (let ((#{marks\ 1418}#
+                                   (#{join-marks\ 428}#
+                                     (car #{w\ 1323}#)
+                                     (car #{w1\ 1416}#))))
                              (call-with-values
                                (lambda ()
-                                 (#{search\ 1258}#
-                                   #{id\ 1343}#
-                                   (#{wrap-subst\ 389}# #{w\ 1253}#)
-                                   #{marks\ 1346}#))
-                               (lambda (#{new-id\ 1347}# #{marks\ 1348}#)
+                                 (#{search\ 1328}#
+                                   #{id\ 1415}#
+                                   (cdr #{w\ 1323}#)
+                                   #{marks\ 1418}#))
+                               (lambda (#{new-id\ 1422}# #{marks\ 1423}#)
                                  (begin
-                                   (let ((#{t\ 1353}# #{new-id\ 1347}#))
-                                     (if #{t\ 1353}#
-                                       #{t\ 1353}#
+                                   (let ((#{t\ 1428}# #{new-id\ 1422}#))
+                                     (if #{t\ 1428}#
+                                       #{t\ 1428}#
                                        (begin
-                                         (let ((#{t\ 1356}#
+                                         (let ((#{t\ 1431}#
                                                  (call-with-values
                                                    (lambda ()
-                                                     (#{search\ 1258}#
-                                                       #{id\ 1343}#
-                                                       (#{wrap-subst\ 389}#
-                                                         #{w1\ 1344}#)
-                                                       #{marks\ 1348}#))
-                                                   (lambda (#{x\ 1358}#
+                                                     (#{search\ 1328}#
+                                                       #{id\ 1415}#
+                                                       (cdr #{w1\ 1416}#)
+                                                       #{marks\ 1423}#))
+                                                   (lambda (#{x\ 1434}#
                                                             .
-                                                            #{ignore\ 1359}#)
-                                                     #{x\ 1358}#))))
-                                           (if #{t\ 1356}#
-                                             #{t\ 1356}#
-                                             #{id\ 1343}#))))))))))))
+                                                            #{ignore\ 1435}#)
+                                                     #{x\ 1434}#))))
+                                           (if #{t\ 1431}#
+                                             #{t\ 1431}#
+                                             #{id\ 1415}#))))))))))))
                      (syntax-violation
                        'id-var-name
                        "invalid id"
-                       #{id\ 1252}#)))))))
-         (#{free-id=?\ 439}#
-           (lambda (#{i\ 1364}# #{j\ 1365}#)
+                       #{id\ 1322}#)))))))
+         (#{free-id=?\ 434}#
+           (lambda (#{i\ 1440}# #{j\ 1441}#)
              (if (eq? (begin
-                        (let ((#{x\ 1371}# #{i\ 1364}#))
-                          (if (#{syntax-object?\ 344}# #{x\ 1371}#)
-                            (#{syntax-object-expression\ 346}# #{x\ 1371}#)
-                            #{x\ 1371}#)))
+                        (let ((#{x\ 1447}# #{i\ 1440}#))
+                          (if (#{syntax-object?\ 344}# #{x\ 1447}#)
+                            (#{syntax-object-expression\ 346}# #{x\ 1447}#)
+                            #{x\ 1447}#)))
                       (begin
-                        (let ((#{x\ 1374}# #{j\ 1365}#))
-                          (if (#{syntax-object?\ 344}# #{x\ 1374}#)
-                            (#{syntax-object-expression\ 346}# #{x\ 1374}#)
-                            #{x\ 1374}#))))
-               (eq? (#{id-var-name\ 437}# #{i\ 1364}# (quote (())))
-                    (#{id-var-name\ 437}# #{j\ 1365}# (quote (()))))
+                        (let ((#{x\ 1450}# #{j\ 1441}#))
+                          (if (#{syntax-object?\ 344}# #{x\ 1450}#)
+                            (#{syntax-object-expression\ 346}# #{x\ 1450}#)
+                            #{x\ 1450}#))))
+               (eq? (#{id-var-name\ 432}# #{i\ 1440}# (quote (())))
+                    (#{id-var-name\ 432}# #{j\ 1441}# (quote (()))))
                #f)))
-         (#{bound-id=?\ 441}#
-           (lambda (#{i\ 1378}# #{j\ 1379}#)
-             (if (if (#{syntax-object?\ 344}# #{i\ 1378}#)
-                   (#{syntax-object?\ 344}# #{j\ 1379}#)
+         (#{bound-id=?\ 436}#
+           (lambda (#{i\ 1454}# #{j\ 1455}#)
+             (if (if (#{syntax-object?\ 344}# #{i\ 1454}#)
+                   (#{syntax-object?\ 344}# #{j\ 1455}#)
                    #f)
-               (if (eq? (#{syntax-object-expression\ 346}# #{i\ 1378}#)
-                        (#{syntax-object-expression\ 346}# #{j\ 1379}#))
-                 (#{same-marks?\ 435}#
-                   (#{wrap-marks\ 387}#
-                     (#{syntax-object-wrap\ 348}# #{i\ 1378}#))
-                   (#{wrap-marks\ 387}#
-                     (#{syntax-object-wrap\ 348}# #{j\ 1379}#)))
+               (if (eq? (#{syntax-object-expression\ 346}# #{i\ 1454}#)
+                        (#{syntax-object-expression\ 346}# #{j\ 1455}#))
+                 (#{same-marks?\ 430}#
+                   (car (#{syntax-object-wrap\ 348}# #{i\ 1454}#))
+                   (car (#{syntax-object-wrap\ 348}# #{j\ 1455}#)))
                  #f)
-               (eq? #{i\ 1378}# #{j\ 1379}#))))
-         (#{valid-bound-ids?\ 443}#
-           (lambda (#{ids\ 1386}#)
+               (eq? #{i\ 1454}# #{j\ 1455}#))))
+         (#{valid-bound-ids?\ 438}#
+           (lambda (#{ids\ 1464}#)
              (if (letrec*
-                   ((#{all-ids?\ 1391}#
-                      (lambda (#{ids\ 1392}#)
+                   ((#{all-ids?\ 1469}#
+                      (lambda (#{ids\ 1470}#)
                         (begin
-                          (let ((#{t\ 1395}# (null? #{ids\ 1392}#)))
-                            (if #{t\ 1395}#
-                              #{t\ 1395}#
-                              (if (#{id?\ 380}# (car #{ids\ 1392}#))
-                                (#{all-ids?\ 1391}# (cdr #{ids\ 1392}#))
+                          (let ((#{t\ 1473}# (null? #{ids\ 1470}#)))
+                            (if #{t\ 1473}#
+                              #{t\ 1473}#
+                              (if (#{id?\ 378}# (car #{ids\ 1470}#))
+                                (#{all-ids?\ 1469}# (cdr #{ids\ 1470}#))
                                 #f)))))))
-                   (begin (#{all-ids?\ 1391}# #{ids\ 1386}#)))
-               (#{distinct-bound-ids?\ 445}# #{ids\ 1386}#)
+                   (begin (#{all-ids?\ 1469}# #{ids\ 1464}#)))
+               (#{distinct-bound-ids?\ 440}# #{ids\ 1464}#)
                #f)))
-         (#{distinct-bound-ids?\ 445}#
-           (lambda (#{ids\ 1400}#)
+         (#{distinct-bound-ids?\ 440}#
+           (lambda (#{ids\ 1478}#)
              (letrec*
-               ((#{distinct?\ 1404}#
-                  (lambda (#{ids\ 1405}#)
+               ((#{distinct?\ 1482}#
+                  (lambda (#{ids\ 1483}#)
                     (begin
-                      (let ((#{t\ 1408}# (null? #{ids\ 1405}#)))
-                        (if #{t\ 1408}#
-                          #{t\ 1408}#
-                          (if (not (#{bound-id-member?\ 447}#
-                                     (car #{ids\ 1405}#)
-                                     (cdr #{ids\ 1405}#)))
-                            (#{distinct?\ 1404}# (cdr #{ids\ 1405}#))
+                      (let ((#{t\ 1486}# (null? #{ids\ 1483}#)))
+                        (if #{t\ 1486}#
+                          #{t\ 1486}#
+                          (if (not (#{bound-id-member?\ 442}#
+                                     (car #{ids\ 1483}#)
+                                     (cdr #{ids\ 1483}#)))
+                            (#{distinct?\ 1482}# (cdr #{ids\ 1483}#))
                             #f)))))))
-               (begin (#{distinct?\ 1404}# #{ids\ 1400}#)))))
-         (#{bound-id-member?\ 447}#
-           (lambda (#{x\ 1412}# #{list\ 1413}#)
-             (if (not (null? #{list\ 1413}#))
+               (begin (#{distinct?\ 1482}# #{ids\ 1478}#)))))
+         (#{bound-id-member?\ 442}#
+           (lambda (#{x\ 1490}# #{list\ 1491}#)
+             (if (not (null? #{list\ 1491}#))
                (begin
-                 (let ((#{t\ 1420}#
-                         (#{bound-id=?\ 441}#
-                           #{x\ 1412}#
-                           (car #{list\ 1413}#))))
-                   (if #{t\ 1420}#
-                     #{t\ 1420}#
-                     (#{bound-id-member?\ 447}#
-                       #{x\ 1412}#
-                       (cdr #{list\ 1413}#)))))
+                 (let ((#{t\ 1498}#
+                         (#{bound-id=?\ 436}#
+                           #{x\ 1490}#
+                           (car #{list\ 1491}#))))
+                   (if #{t\ 1498}#
+                     #{t\ 1498}#
+                     (#{bound-id-member?\ 442}#
+                       #{x\ 1490}#
+                       (cdr #{list\ 1491}#)))))
                #f)))
-         (#{wrap\ 449}#
-           (lambda (#{x\ 1422}# #{w\ 1423}# #{defmod\ 1424}#)
-             (if (if (null? (#{wrap-marks\ 387}# #{w\ 1423}#))
-                   (null? (#{wrap-subst\ 389}# #{w\ 1423}#))
+         (#{wrap\ 444}#
+           (lambda (#{x\ 1500}# #{w\ 1501}# #{defmod\ 1502}#)
+             (if (if (null? (car #{w\ 1501}#))
+                   (null? (cdr #{w\ 1501}#))
                    #f)
-               #{x\ 1422}#
-               (if (#{syntax-object?\ 344}# #{x\ 1422}#)
+               #{x\ 1500}#
+               (if (#{syntax-object?\ 344}# #{x\ 1500}#)
                  (#{make-syntax-object\ 342}#
-                   (#{syntax-object-expression\ 346}# #{x\ 1422}#)
-                   (#{join-wraps\ 431}#
-                     #{w\ 1423}#
-                     (#{syntax-object-wrap\ 348}# #{x\ 1422}#))
-                   (#{syntax-object-module\ 350}# #{x\ 1422}#))
-                 (if (null? #{x\ 1422}#)
-                   #{x\ 1422}#
+                   (#{syntax-object-expression\ 346}# #{x\ 1500}#)
+                   (#{join-wraps\ 426}#
+                     #{w\ 1501}#
+                     (#{syntax-object-wrap\ 348}# #{x\ 1500}#))
+                   (#{syntax-object-module\ 350}# #{x\ 1500}#))
+                 (if (null? #{x\ 1500}#)
+                   #{x\ 1500}#
                    (#{make-syntax-object\ 342}#
-                     #{x\ 1422}#
-                     #{w\ 1423}#
-                     #{defmod\ 1424}#))))))
-         (#{source-wrap\ 451}#
-           (lambda (#{x\ 1437}#
-                    #{w\ 1438}#
-                    #{s\ 1439}#
-                    #{defmod\ 1440}#)
-             (#{wrap\ 449}#
+                     #{x\ 1500}#
+                     #{w\ 1501}#
+                     #{defmod\ 1502}#))))))
+         (#{source-wrap\ 446}#
+           (lambda (#{x\ 1517}#
+                    #{w\ 1518}#
+                    #{s\ 1519}#
+                    #{defmod\ 1520}#)
+             (#{wrap\ 444}#
                (#{decorate-source\ 298}#
-                 #{x\ 1437}#
-                 #{s\ 1439}#)
-               #{w\ 1438}#
-               #{defmod\ 1440}#)))
-         (#{chi-sequence\ 453}#
-           (lambda (#{body\ 1445}#
-                    #{r\ 1446}#
-                    #{w\ 1447}#
-                    #{s\ 1448}#
-                    #{mod\ 1449}#)
+                 #{x\ 1517}#
+                 #{s\ 1519}#)
+               #{w\ 1518}#
+               #{defmod\ 1520}#)))
+         (#{chi-sequence\ 448}#
+           (lambda (#{body\ 1525}#
+                    #{r\ 1526}#
+                    #{w\ 1527}#
+                    #{s\ 1528}#
+                    #{mod\ 1529}#)
              (#{build-sequence\ 332}#
-               #{s\ 1448}#
+               #{s\ 1528}#
                (letrec*
-                 ((#{dobody\ 1460}#
-                    (lambda (#{body\ 1461}#
-                             #{r\ 1462}#
-                             #{w\ 1463}#
-                             #{mod\ 1464}#)
-                      (if (null? #{body\ 1461}#)
+                 ((#{dobody\ 1540}#
+                    (lambda (#{body\ 1541}#
+                             #{r\ 1542}#
+                             #{w\ 1543}#
+                             #{mod\ 1544}#)
+                      (if (null? #{body\ 1541}#)
                         '()
                         (begin
-                          (let ((#{first\ 1466}#
-                                  (#{chi\ 465}#
-                                    (car #{body\ 1461}#)
-                                    #{r\ 1462}#
-                                    #{w\ 1463}#
-                                    #{mod\ 1464}#)))
-                            (cons #{first\ 1466}#
-                                  (#{dobody\ 1460}#
-                                    (cdr #{body\ 1461}#)
-                                    #{r\ 1462}#
-                                    #{w\ 1463}#
-                                    #{mod\ 1464}#))))))))
+                          (let ((#{first\ 1546}#
+                                  (#{chi\ 460}#
+                                    (car #{body\ 1541}#)
+                                    #{r\ 1542}#
+                                    #{w\ 1543}#
+                                    #{mod\ 1544}#)))
+                            (cons #{first\ 1546}#
+                                  (#{dobody\ 1540}#
+                                    (cdr #{body\ 1541}#)
+                                    #{r\ 1542}#
+                                    #{w\ 1543}#
+                                    #{mod\ 1544}#))))))))
                  (begin
-                   (#{dobody\ 1460}#
-                     #{body\ 1445}#
-                     #{r\ 1446}#
-                     #{w\ 1447}#
-                     #{mod\ 1449}#))))))
-         (#{chi-top-sequence\ 455}#
-           (lambda (#{body\ 1467}#
-                    #{r\ 1468}#
-                    #{w\ 1469}#
-                    #{s\ 1470}#
-                    #{m\ 1471}#
-                    #{esew\ 1472}#
-                    #{mod\ 1473}#)
+                   (#{dobody\ 1540}#
+                     #{body\ 1525}#
+                     #{r\ 1526}#
+                     #{w\ 1527}#
+                     #{mod\ 1529}#))))))
+         (#{chi-top-sequence\ 450}#
+           (lambda (#{body\ 1547}#
+                    #{r\ 1548}#
+                    #{w\ 1549}#
+                    #{s\ 1550}#
+                    #{m\ 1551}#
+                    #{esew\ 1552}#
+                    #{mod\ 1553}#)
              (#{build-sequence\ 332}#
-               #{s\ 1470}#
+               #{s\ 1550}#
                (letrec*
-                 ((#{dobody\ 1489}#
-                    (lambda (#{body\ 1490}#
-                             #{r\ 1491}#
-                             #{w\ 1492}#
-                             #{m\ 1493}#
-                             #{esew\ 1494}#
-                             #{mod\ 1495}#
-                             #{out\ 1496}#)
-                      (if (null? #{body\ 1490}#)
-                        (reverse #{out\ 1496}#)
-                        (#{dobody\ 1489}#
-                          (cdr #{body\ 1490}#)
-                          #{r\ 1491}#
-                          #{w\ 1492}#
-                          #{m\ 1493}#
-                          #{esew\ 1494}#
-                          #{mod\ 1495}#
-                          (cons (#{chi-top\ 463}#
-                                  (car #{body\ 1490}#)
-                                  #{r\ 1491}#
-                                  #{w\ 1492}#
-                                  #{m\ 1493}#
-                                  #{esew\ 1494}#
-                                  #{mod\ 1495}#)
-                                #{out\ 1496}#))))))
+                 ((#{dobody\ 1569}#
+                    (lambda (#{body\ 1570}#
+                             #{r\ 1571}#
+                             #{w\ 1572}#
+                             #{m\ 1573}#
+                             #{esew\ 1574}#
+                             #{mod\ 1575}#
+                             #{out\ 1576}#)
+                      (if (null? #{body\ 1570}#)
+                        (reverse #{out\ 1576}#)
+                        (#{dobody\ 1569}#
+                          (cdr #{body\ 1570}#)
+                          #{r\ 1571}#
+                          #{w\ 1572}#
+                          #{m\ 1573}#
+                          #{esew\ 1574}#
+                          #{mod\ 1575}#
+                          (cons (#{chi-top\ 458}#
+                                  (car #{body\ 1570}#)
+                                  #{r\ 1571}#
+                                  #{w\ 1572}#
+                                  #{m\ 1573}#
+                                  #{esew\ 1574}#
+                                  #{mod\ 1575}#)
+                                #{out\ 1576}#))))))
                  (begin
-                   (#{dobody\ 1489}#
-                     #{body\ 1467}#
-                     #{r\ 1468}#
-                     #{w\ 1469}#
-                     #{m\ 1471}#
-                     #{esew\ 1472}#
-                     #{mod\ 1473}#
+                   (#{dobody\ 1569}#
+                     #{body\ 1547}#
+                     #{r\ 1548}#
+                     #{w\ 1549}#
+                     #{m\ 1551}#
+                     #{esew\ 1552}#
+                     #{mod\ 1553}#
                      '()))))))
-         (#{chi-install-global\ 457}#
-           (lambda (#{name\ 1497}# #{e\ 1498}#)
+         (#{chi-install-global\ 452}#
+           (lambda (#{name\ 1577}# #{e\ 1578}#)
              (#{build-global-definition\ 320}#
                #f
-               #{name\ 1497}#
+               #{name\ 1577}#
                (#{build-application\ 304}#
                  #f
                  (#{build-primref\ 328}#
                    #f
                    'make-syntax-transformer)
-                 (list (#{build-data\ 330}# #f #{name\ 1497}#)
+                 (list (#{build-data\ 330}# #f #{name\ 1577}#)
                        (#{build-data\ 330}# #f (quote macro))
-                       #{e\ 1498}#)))))
-         (#{chi-when-list\ 459}#
-           (lambda (#{e\ 1506}# #{when-list\ 1507}# #{w\ 1508}#)
+                       #{e\ 1578}#)))))
+         (#{chi-when-list\ 454}#
+           (lambda (#{e\ 1586}# #{when-list\ 1587}# #{w\ 1588}#)
              (letrec*
-               ((#{f\ 1515}#
-                  (lambda (#{when-list\ 1516}# #{situations\ 1517}#)
-                    (if (null? #{when-list\ 1516}#)
-                      #{situations\ 1517}#
-                      (#{f\ 1515}#
-                        (cdr #{when-list\ 1516}#)
+               ((#{f\ 1595}#
+                  (lambda (#{when-list\ 1596}# #{situations\ 1597}#)
+                    (if (null? #{when-list\ 1596}#)
+                      #{situations\ 1597}#
+                      (#{f\ 1595}#
+                        (cdr #{when-list\ 1596}#)
                         (cons (begin
-                                (let ((#{x\ 1519}# (car #{when-list\ 1516}#)))
-                                  (if (#{free-id=?\ 439}#
-                                        #{x\ 1519}#
+                                (let ((#{x\ 1599}# (car #{when-list\ 1596}#)))
+                                  (if (#{free-id=?\ 434}#
+                                        #{x\ 1599}#
                                         '#(syntax-object
                                            compile
                                            ((top)
                                             #(ribcage () () ())
                                             #(ribcage () () ())
                                             #(ribcage () () ())
-                                            #(ribcage #(x) #((top)) #("i1518"))
+                                            #(ribcage #(x) #((top)) #("i1598"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(f when-list situations)
                                               #((top) (top) (top))
-                                              #("i1512" "i1513" "i1514"))
+                                              #("i1592" "i1593" "i1594"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(e when-list w)
                                               #((top) (top) (top))
-                                              #("i1509" "i1510" "i1511"))
+                                              #("i1589" "i1590" "i1591"))
                                             #(ribcage
                                               (lambda-var-list
                                                 gen-var
@@ -1493,69 +1478,68 @@
                                                (top)
                                                (top)
                                                (top))
-                                              ("i494"
-                                               "i492"
-                                               "i490"
-                                               "i488"
-                                               "i486"
-                                               "i484"
-                                               "i482"
-                                               "i480"
-                                               "i478"
-                                               "i476"
-                                               "i474"
-                                               "i472"
-                                               "i470"
-                                               "i468"
-                                               "i466"
-                                               "i464"
-                                               "i462"
-                                               "i460"
-                                               "i458"
-                                               "i456"
-                                               "i454"
-                                               "i452"
-                                               "i450"
-                                               "i448"
-                                               "i446"
-                                               "i444"
-                                               "i442"
-                                               "i440"
-                                               "i438"
-                                               "i436"
-                                               "i434"
-                                               "i432"
-                                               "i430"
-                                               "i428"
-                                               "i426"
-                                               "i424"
+                                              ("i489"
+                                               "i487"
+                                               "i485"
+                                               "i483"
+                                               "i481"
+                                               "i479"
+                                               "i477"
+                                               "i475"
+                                               "i473"
+                                               "i471"
+                                               "i469"
+                                               "i467"
+                                               "i465"
+                                               "i463"
+                                               "i461"
+                                               "i459"
+                                               "i457"
+                                               "i455"
+                                               "i453"
+                                               "i451"
+                                               "i449"
+                                               "i447"
+                                               "i445"
+                                               "i443"
+                                               "i441"
+                                               "i439"
+                                               "i437"
+                                               "i435"
+                                               "i433"
+                                               "i431"
+                                               "i429"
+                                               "i427"
+                                               "i425"
                                                "i423"
-                                               "i422"
-                                               "i420"
+                                               "i421"
                                                "i419"
                                                "i418"
                                                "i417"
-                                               "i416"
+                                               "i415"
                                                "i414"
+                                               "i413"
                                                "i412"
-                                               "i410"
-                                               "i408"
-                                               "i406"
-                                               "i404"
-                                               "i402"
-                                               "i400"
+                                               "i411"
+                                               "i409"
+                                               "i407"
+                                               "i405"
+                                               "i403"
+                                               "i401"
+                                               "i399"
                                                "i397"
                                                "i395"
-                                               "i394"
-                                               "i393"
                                                "i392"
-                                               "i391"
                                                "i390"
+                                               "i389"
                                                "i388"
+                                               "i387"
                                                "i386"
+                                               "i385"
                                                "i384"
+                                               "i383"
                                                "i382"
-                                               "i381"
+                                               "i380"
                                                "i379"
                                                "i377"
                                                "i375"
@@ -1563,8 +1547,9 @@
                                                "i371"
                                                "i369"
                                                "i367"
-                                               "i366"
+                                               "i365"
                                                "i364"
+                                               "i363"
                                                "i362"
                                                "i361"
                                                "i360"
@@ -1639,8 +1624,8 @@
                                               ("i39" "i38" "i37" "i35")))
                                            (hygiene guile)))
                                     'compile
-                                    (if (#{free-id=?\ 439}#
-                                          #{x\ 1519}#
+                                    (if (#{free-id=?\ 434}#
+                                          #{x\ 1599}#
                                           '#(syntax-object
                                              load
                                              ((top)
@@ -1650,17 +1635,17 @@
                                               #(ribcage
                                                 #(x)
                                                 #((top))
-                                                #("i1518"))
+                                                #("i1598"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(f when-list situations)
                                                 #((top) (top) (top))
-                                                #("i1512" "i1513" "i1514"))
+                                                #("i1592" "i1593" "i1594"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(e when-list w)
                                                 #((top) (top) (top))
-                                                #("i1509" "i1510" "i1511"))
+                                                #("i1589" "i1590" "i1591"))
                                               #(ribcage
                                                 (lambda-var-list
                                                   gen-var
@@ -1936,69 +1921,68 @@
                                                  (top)
                                                  (top)
                                                  (top))
-                                                ("i494"
-                                                 "i492"
-                                                 "i490"
-                                                 "i488"
-                                                 "i486"
-                                                 "i484"
-                                                 "i482"
-                                                 "i480"
-                                                 "i478"
-                                                 "i476"
-                                                 "i474"
-                                                 "i472"
-                                                 "i470"
-                                                 "i468"
-                                                 "i466"
-                                                 "i464"
-                                                 "i462"
-                                                 "i460"
-                                                 "i458"
-                                                 "i456"
-                                                 "i454"
-                                                 "i452"
-                                                 "i450"
-                                                 "i448"
-                                                 "i446"
-                                                 "i444"
-                                                 "i442"
-                                                 "i440"
-                                                 "i438"
-                                                 "i436"
-                                                 "i434"
-                                                 "i432"
-                                                 "i430"
-                                                 "i428"
-                                                 "i426"
-                                                 "i424"
+                                                ("i489"
+                                                 "i487"
+                                                 "i485"
+                                                 "i483"
+                                                 "i481"
+                                                 "i479"
+                                                 "i477"
+                                                 "i475"
+                                                 "i473"
+                                                 "i471"
+                                                 "i469"
+                                                 "i467"
+                                                 "i465"
+                                                 "i463"
+                                                 "i461"
+                                                 "i459"
+                                                 "i457"
+                                                 "i455"
+                                                 "i453"
+                                                 "i451"
+                                                 "i449"
+                                                 "i447"
+                                                 "i445"
+                                                 "i443"
+                                                 "i441"
+                                                 "i439"
+                                                 "i437"
+                                                 "i435"
+                                                 "i433"
+                                                 "i431"
+                                                 "i429"
+                                                 "i427"
+                                                 "i425"
                                                  "i423"
-                                                 "i422"
-                                                 "i420"
+                                                 "i421"
                                                  "i419"
                                                  "i418"
                                                  "i417"
-                                                 "i416"
+                                                 "i415"
                                                  "i414"
+                                                 "i413"
                                                  "i412"
-                                                 "i410"
-                                                 "i408"
-                                                 "i406"
-                                                 "i404"
-                                                 "i402"
-                                                 "i400"
+                                                 "i411"
+                                                 "i409"
+                                                 "i407"
+                                                 "i405"
+                                                 "i403"
+                                                 "i401"
+                                                 "i399"
                                                  "i397"
                                                  "i395"
-                                                 "i394"
-                                                 "i393"
                                                  "i392"
-                                                 "i391"
                                                  "i390"
+                                                 "i389"
                                                  "i388"
+                                                 "i387"
                                                  "i386"
+                                                 "i385"
                                                  "i384"
+                                                 "i383"
                                                  "i382"
-                                                 "i381"
+                                                 "i380"
                                                  "i379"
                                                  "i377"
                                                  "i375"
@@ -2006,8 +1990,9 @@
                                                  "i371"
                                                  "i369"
                                                  "i367"
-                                                 "i366"
+                                                 "i365"
                                                  "i364"
+                                                 "i363"
                                                  "i362"
                                                  "i361"
                                                  "i360"
@@ -2082,8 +2067,8 @@
                                                 ("i39" "i38" "i37" "i35")))
                                              (hygiene guile)))
                                       'load
-                                      (if (#{free-id=?\ 439}#
-                                            #{x\ 1519}#
+                                      (if (#{free-id=?\ 434}#
+                                            #{x\ 1599}#
                                             '#(syntax-object
                                                eval
                                                ((top)
@@ -2093,17 +2078,17 @@
                                                 #(ribcage
                                                   #(x)
                                                   #((top))
-                                                  #("i1518"))
+                                                  #("i1598"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(f when-list situations)
                                                   #((top) (top) (top))
-                                                  #("i1512" "i1513" "i1514"))
+                                                  #("i1592" "i1593" "i1594"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(e when-list w)
                                                   #((top) (top) (top))
-                                                  #("i1509" "i1510" "i1511"))
+                                                  #("i1589" "i1590" "i1591"))
                                                 #(ribcage
                                                   (lambda-var-list
                                                     gen-var
@@ -2379,69 +2364,68 @@
                                                    (top)
                                                    (top)
                                                    (top))
-                                                  ("i494"
-                                                   "i492"
-                                                   "i490"
-                                                   "i488"
-                                                   "i486"
-                                                   "i484"
-                                                   "i482"
-                                                   "i480"
-                                                   "i478"
-                                                   "i476"
-                                                   "i474"
-                                                   "i472"
-                                                   "i470"
-                                                   "i468"
-                                                   "i466"
-                                                   "i464"
-                                                   "i462"
-                                                   "i460"
-                                                   "i458"
-                                                   "i456"
-                                                   "i454"
-                                                   "i452"
-                                                   "i450"
-                                                   "i448"
-                                                   "i446"
-                                                   "i444"
-                                                   "i442"
-                                                   "i440"
-                                                   "i438"
-                                                   "i436"
-                                                   "i434"
-                                                   "i432"
-                                                   "i430"
-                                                   "i428"
-                                                   "i426"
-                                                   "i424"
+                                                  ("i489"
+                                                   "i487"
+                                                   "i485"
+                                                   "i483"
+                                                   "i481"
+                                                   "i479"
+                                                   "i477"
+                                                   "i475"
+                                                   "i473"
+                                                   "i471"
+                                                   "i469"
+                                                   "i467"
+                                                   "i465"
+                                                   "i463"
+                                                   "i461"
+                                                   "i459"
+                                                   "i457"
+                                                   "i455"
+                                                   "i453"
+                                                   "i451"
+                                                   "i449"
+                                                   "i447"
+                                                   "i445"
+                                                   "i443"
+                                                   "i441"
+                                                   "i439"
+                                                   "i437"
+                                                   "i435"
+                                                   "i433"
+                                                   "i431"
+                                                   "i429"
+                                                   "i427"
+                                                   "i425"
                                                    "i423"
-                                                   "i422"
-                                                   "i420"
+                                                   "i421"
                                                    "i419"
                                                    "i418"
                                                    "i417"
-                                                   "i416"
+                                                   "i415"
                                                    "i414"
+                                                   "i413"
                                                    "i412"
-                                                   "i410"
-                                                   "i408"
-                                                   "i406"
-                                                   "i404"
-                                                   "i402"
-                                                   "i400"
+                                                   "i411"
+                                                   "i409"
+                                                   "i407"
+                                                   "i405"
+                                                   "i403"
+                                                   "i401"
+                                                   "i399"
                                                    "i397"
                                                    "i395"
-                                                   "i394"
-                                                   "i393"
                                                    "i392"
-                                                   "i391"
                                                    "i390"
+                                                   "i389"
                                                    "i388"
+                                                   "i387"
                                                    "i386"
+                                                   "i385"
                                                    "i384"
+                                                   "i383"
                                                    "i382"
-                                                   "i381"
+                                                   "i380"
                                                    "i379"
                                                    "i377"
                                                    "i375"
@@ -2449,8 +2433,9 @@
                                                    "i371"
                                                    "i369"
                                                    "i367"
-                                                   "i366"
+                                                   "i365"
                                                    "i364"
+                                                   "i363"
                                                    "i362"
                                                    "i361"
                                                    "i360"
@@ -2525,8 +2510,8 @@
                                                   ("i39" "i38" "i37" "i35")))
                                                (hygiene guile)))
                                         'eval
-                                        (if (#{free-id=?\ 439}#
-                                              #{x\ 1519}#
+                                        (if (#{free-id=?\ 434}#
+                                              #{x\ 1599}#
                                               '#(syntax-object
                                                  expand
                                                  ((top)
@@ -2536,17 +2521,17 @@
                                                   #(ribcage
                                                     #(x)
                                                     #((top))
-                                                    #("i1518"))
+                                                    #("i1598"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(f when-list situations)
                                                     #((top) (top) (top))
-                                                    #("i1512" "i1513" "i1514"))
+                                                    #("i1592" "i1593" "i1594"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(e when-list w)
                                                     #((top) (top) (top))
-                                                    #("i1509" "i1510" "i1511"))
+                                                    #("i1589" "i1590" "i1591"))
                                                   #(ribcage
                                                     (lambda-var-list
                                                       gen-var
@@ -2822,69 +2807,68 @@
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i494"
-                                                     "i492"
-                                                     "i490"
-                                                     "i488"
-                                                     "i486"
-                                                     "i484"
-                                                     "i482"
-                                                     "i480"
-                                                     "i478"
-                                                     "i476"
-                                                     "i474"
-                                                     "i472"
-                                                     "i470"
-                                                     "i468"
-                                                     "i466"
-                                                     "i464"
-                                                     "i462"
-                                                     "i460"
-                                                     "i458"
-                                                     "i456"
-                                                     "i454"
-                                                     "i452"
-                                                     "i450"
-                                                     "i448"
-                                                     "i446"
-                                                     "i444"
-                                                     "i442"
-                                                     "i440"
-                                                     "i438"
-                                                     "i436"
-                                                     "i434"
-                                                     "i432"
-                                                     "i430"
-                                                     "i428"
-                                                     "i426"
-                                                     "i424"
+                                                    ("i489"
+                                                     "i487"
+                                                     "i485"
+                                                     "i483"
+                                                     "i481"
+                                                     "i479"
+                                                     "i477"
+                                                     "i475"
+                                                     "i473"
+                                                     "i471"
+                                                     "i469"
+                                                     "i467"
+                                                     "i465"
+                                                     "i463"
+                                                     "i461"
+                                                     "i459"
+                                                     "i457"
+                                                     "i455"
+                                                     "i453"
+                                                     "i451"
+                                                     "i449"
+                                                     "i447"
+                                                     "i445"
+                                                     "i443"
+                                                     "i441"
+                                                     "i439"
+                                                     "i437"
+                                                     "i435"
+                                                     "i433"
+                                                     "i431"
+                                                     "i429"
+                                                     "i427"
+                                                     "i425"
                                                      "i423"
-                                                     "i422"
-                                                     "i420"
+                                                     "i421"
                                                      "i419"
                                                      "i418"
                                                      "i417"
-                                                     "i416"
+                                                     "i415"
                                                      "i414"
+                                                     "i413"
                                                      "i412"
-                                                     "i410"
-                                                     "i408"
-                                                     "i406"
-                                                     "i404"
-                                                     "i402"
-                                                     "i400"
+                                                     "i411"
+                                                     "i409"
+                                                     "i407"
+                                                     "i405"
+                                                     "i403"
+                                                     "i401"
+                                                     "i399"
                                                      "i397"
                                                      "i395"
-                                                     "i394"
-                                                     "i393"
                                                      "i392"
-                                                     "i391"
                                                      "i390"
+                                                     "i389"
                                                      "i388"
+                                                     "i387"
                                                      "i386"
+                                                     "i385"
                                                      "i384"
+                                                     "i383"
                                                      "i382"
-                                                     "i381"
+                                                     "i380"
                                                      "i379"
                                                      "i377"
                                                      "i375"
@@ -2892,8 +2876,9 @@
                                                      "i371"
                                                      "i369"
                                                      "i367"
-                                                     "i366"
+                                                     "i365"
                                                      "i364"
+                                                     "i363"
                                                      "i362"
                                                      "i361"
                                                      "i360"
@@ -2971,248 +2956,247 @@
                                           (syntax-violation
                                             'eval-when
                                             "invalid situation"
-                                            #{e\ 1506}#
-                                            (#{wrap\ 449}#
-                                              #{x\ 1519}#
-                                              #{w\ 1508}#
+                                            #{e\ 1586}#
+                                            (#{wrap\ 444}#
+                                              #{x\ 1599}#
+                                              #{w\ 1588}#
                                               #f))))))))
-                              #{situations\ 1517}#))))))
+                              #{situations\ 1597}#))))))
                (begin
-                 (#{f\ 1515}# #{when-list\ 1507}# (quote ()))))))
-         (#{syntax-type\ 461}#
-           (lambda (#{e\ 1529}#
-                    #{r\ 1530}#
-                    #{w\ 1531}#
-                    #{s\ 1532}#
-                    #{rib\ 1533}#
-                    #{mod\ 1534}#
-                    #{for-car?\ 1535}#)
-             (if (symbol? #{e\ 1529}#)
+                 (#{f\ 1595}# #{when-list\ 1587}# (quote ()))))))
+         (#{syntax-type\ 456}#
+           (lambda (#{e\ 1609}#
+                    #{r\ 1610}#
+                    #{w\ 1611}#
+                    #{s\ 1612}#
+                    #{rib\ 1613}#
+                    #{mod\ 1614}#
+                    #{for-car?\ 1615}#)
+             (if (symbol? #{e\ 1609}#)
                (begin
-                 (let ((#{n\ 1547}#
-                         (#{id-var-name\ 437}# #{e\ 1529}# #{w\ 1531}#)))
+                 (let ((#{n\ 1627}#
+                         (#{id-var-name\ 432}# #{e\ 1609}# #{w\ 1611}#)))
                    (begin
-                     (let ((#{b\ 1549}#
-                             (#{lookup\ 374}#
-                               #{n\ 1547}#
-                               #{r\ 1530}#
-                               #{mod\ 1534}#)))
+                     (let ((#{b\ 1629}#
+                             (#{lookup\ 372}#
+                               #{n\ 1627}#
+                               #{r\ 1610}#
+                               #{mod\ 1614}#)))
                        (begin
-                         (let ((#{type\ 1551}#
-                                 (#{binding-type\ 363}# #{b\ 1549}#)))
-                           (if (eqv? #{type\ 1551}# (quote lexical))
+                         (let ((#{type\ 1631}# (car #{b\ 1629}#)))
+                           (if (eqv? #{type\ 1631}# (quote lexical))
                              (values
-                               #{type\ 1551}#
-                               (#{binding-value\ 365}# #{b\ 1549}#)
-                               #{e\ 1529}#
-                               #{w\ 1531}#
-                               #{s\ 1532}#
-                               #{mod\ 1534}#)
-                             (if (eqv? #{type\ 1551}# (quote global))
+                               #{type\ 1631}#
+                               (cdr #{b\ 1629}#)
+                               #{e\ 1609}#
+                               #{w\ 1611}#
+                               #{s\ 1612}#
+                               #{mod\ 1614}#)
+                             (if (eqv? #{type\ 1631}# (quote global))
                                (values
-                                 #{type\ 1551}#
-                                 #{n\ 1547}#
-                                 #{e\ 1529}#
-                                 #{w\ 1531}#
-                                 #{s\ 1532}#
-                                 #{mod\ 1534}#)
-                               (if (eqv? #{type\ 1551}# (quote macro))
-                                 (if #{for-car?\ 1535}#
+                                 #{type\ 1631}#
+                                 #{n\ 1627}#
+                                 #{e\ 1609}#
+                                 #{w\ 1611}#
+                                 #{s\ 1612}#
+                                 #{mod\ 1614}#)
+                               (if (eqv? #{type\ 1631}# (quote macro))
+                                 (if #{for-car?\ 1615}#
                                    (values
-                                     #{type\ 1551}#
-                                     (#{binding-value\ 365}# #{b\ 1549}#)
-                                     #{e\ 1529}#
-                                     #{w\ 1531}#
-                                     #{s\ 1532}#
-                                     #{mod\ 1534}#)
-                                   (#{syntax-type\ 461}#
-                                     (#{chi-macro\ 471}#
-                                       (#{binding-value\ 365}# #{b\ 1549}#)
-                                       #{e\ 1529}#
-                                       #{r\ 1530}#
-                                       #{w\ 1531}#
-                                       #{s\ 1532}#
-                                       #{rib\ 1533}#
-                                       #{mod\ 1534}#)
-                                     #{r\ 1530}#
+                                     #{type\ 1631}#
+                                     (cdr #{b\ 1629}#)
+                                     #{e\ 1609}#
+                                     #{w\ 1611}#
+                                     #{s\ 1612}#
+                                     #{mod\ 1614}#)
+                                   (#{syntax-type\ 456}#
+                                     (#{chi-macro\ 466}#
+                                       (cdr #{b\ 1629}#)
+                                       #{e\ 1609}#
+                                       #{r\ 1610}#
+                                       #{w\ 1611}#
+                                       #{s\ 1612}#
+                                       #{rib\ 1613}#
+                                       #{mod\ 1614}#)
+                                     #{r\ 1610}#
                                      '(())
-                                     #{s\ 1532}#
-                                     #{rib\ 1533}#
-                                     #{mod\ 1534}#
+                                     #{s\ 1612}#
+                                     #{rib\ 1613}#
+                                     #{mod\ 1614}#
                                      #f))
                                  (values
-                                   #{type\ 1551}#
-                                   (#{binding-value\ 365}# #{b\ 1549}#)
-                                   #{e\ 1529}#
-                                   #{w\ 1531}#
-                                   #{s\ 1532}#
-                                   #{mod\ 1534}#))))))))))
-               (if (pair? #{e\ 1529}#)
+                                   #{type\ 1631}#
+                                   (cdr #{b\ 1629}#)
+                                   #{e\ 1609}#
+                                   #{w\ 1611}#
+                                   #{s\ 1612}#
+                                   #{mod\ 1614}#))))))))))
+               (if (pair? #{e\ 1609}#)
                  (begin
-                   (let ((#{first\ 1560}# (car #{e\ 1529}#)))
+                   (let ((#{first\ 1645}# (car #{e\ 1609}#)))
                      (call-with-values
                        (lambda ()
-                         (#{syntax-type\ 461}#
-                           #{first\ 1560}#
-                           #{r\ 1530}#
-                           #{w\ 1531}#
-                           #{s\ 1532}#
-                           #{rib\ 1533}#
-                           #{mod\ 1534}#
+                         (#{syntax-type\ 456}#
+                           #{first\ 1645}#
+                           #{r\ 1610}#
+                           #{w\ 1611}#
+                           #{s\ 1612}#
+                           #{rib\ 1613}#
+                           #{mod\ 1614}#
                            #t))
-                       (lambda (#{ftype\ 1561}#
-                                #{fval\ 1562}#
-                                #{fe\ 1563}#
-                                #{fw\ 1564}#
-                                #{fs\ 1565}#
-                                #{fmod\ 1566}#)
-                         (if (eqv? #{ftype\ 1561}# (quote lexical))
+                       (lambda (#{ftype\ 1646}#
+                                #{fval\ 1647}#
+                                #{fe\ 1648}#
+                                #{fw\ 1649}#
+                                #{fs\ 1650}#
+                                #{fmod\ 1651}#)
+                         (if (eqv? #{ftype\ 1646}# (quote lexical))
                            (values
                              'lexical-call
-                             #{fval\ 1562}#
-                             #{e\ 1529}#
-                             #{w\ 1531}#
-                             #{s\ 1532}#
-                             #{mod\ 1534}#)
-                           (if (eqv? #{ftype\ 1561}# (quote global))
+                             #{fval\ 1647}#
+                             #{e\ 1609}#
+                             #{w\ 1611}#
+                             #{s\ 1612}#
+                             #{mod\ 1614}#)
+                           (if (eqv? #{ftype\ 1646}# (quote global))
                              (values
                                'global-call
                                (#{make-syntax-object\ 342}#
-                                 #{fval\ 1562}#
-                                 #{w\ 1531}#
-                                 #{fmod\ 1566}#)
-                               #{e\ 1529}#
-                               #{w\ 1531}#
-                               #{s\ 1532}#
-                               #{mod\ 1534}#)
-                             (if (eqv? #{ftype\ 1561}# (quote macro))
-                               (#{syntax-type\ 461}#
-                                 (#{chi-macro\ 471}#
-                                   #{fval\ 1562}#
-                                   #{e\ 1529}#
-                                   #{r\ 1530}#
-                                   #{w\ 1531}#
-                                   #{s\ 1532}#
-                                   #{rib\ 1533}#
-                                   #{mod\ 1534}#)
-                                 #{r\ 1530}#
+                                 #{fval\ 1647}#
+                                 #{w\ 1611}#
+                                 #{fmod\ 1651}#)
+                               #{e\ 1609}#
+                               #{w\ 1611}#
+                               #{s\ 1612}#
+                               #{mod\ 1614}#)
+                             (if (eqv? #{ftype\ 1646}# (quote macro))
+                               (#{syntax-type\ 456}#
+                                 (#{chi-macro\ 466}#
+                                   #{fval\ 1647}#
+                                   #{e\ 1609}#
+                                   #{r\ 1610}#
+                                   #{w\ 1611}#
+                                   #{s\ 1612}#
+                                   #{rib\ 1613}#
+                                   #{mod\ 1614}#)
+                                 #{r\ 1610}#
                                  '(())
-                                 #{s\ 1532}#
-                                 #{rib\ 1533}#
-                                 #{mod\ 1534}#
-                                 #{for-car?\ 1535}#)
-                               (if (eqv? #{ftype\ 1561}# (quote module-ref))
+                                 #{s\ 1612}#
+                                 #{rib\ 1613}#
+                                 #{mod\ 1614}#
+                                 #{for-car?\ 1615}#)
+                               (if (eqv? #{ftype\ 1646}# (quote module-ref))
                                  (call-with-values
                                    (lambda ()
-                                     (#{fval\ 1562}#
-                                       #{e\ 1529}#
-                                       #{r\ 1530}#
-                                       #{w\ 1531}#))
-                                   (lambda (#{e\ 1578}#
-                                            #{r\ 1579}#
-                                            #{w\ 1580}#
-                                            #{s\ 1581}#
-                                            #{mod\ 1582}#)
-                                     (#{syntax-type\ 461}#
-                                       #{e\ 1578}#
-                                       #{r\ 1579}#
-                                       #{w\ 1580}#
-                                       #{s\ 1581}#
-                                       #{rib\ 1533}#
-                                       #{mod\ 1582}#
-                                       #{for-car?\ 1535}#)))
-                                 (if (eqv? #{ftype\ 1561}# (quote core))
+                                     (#{fval\ 1647}#
+                                       #{e\ 1609}#
+                                       #{r\ 1610}#
+                                       #{w\ 1611}#))
+                                   (lambda (#{e\ 1663}#
+                                            #{r\ 1664}#
+                                            #{w\ 1665}#
+                                            #{s\ 1666}#
+                                            #{mod\ 1667}#)
+                                     (#{syntax-type\ 456}#
+                                       #{e\ 1663}#
+                                       #{r\ 1664}#
+                                       #{w\ 1665}#
+                                       #{s\ 1666}#
+                                       #{rib\ 1613}#
+                                       #{mod\ 1667}#
+                                       #{for-car?\ 1615}#)))
+                                 (if (eqv? #{ftype\ 1646}# (quote core))
                                    (values
                                      'core-form
-                                     #{fval\ 1562}#
-                                     #{e\ 1529}#
-                                     #{w\ 1531}#
-                                     #{s\ 1532}#
-                                     #{mod\ 1534}#)
-                                   (if (eqv? #{ftype\ 1561}#
+                                     #{fval\ 1647}#
+                                     #{e\ 1609}#
+                                     #{w\ 1611}#
+                                     #{s\ 1612}#
+                                     #{mod\ 1614}#)
+                                   (if (eqv? #{ftype\ 1646}#
                                              'local-syntax)
                                      (values
                                        'local-syntax-form
-                                       #{fval\ 1562}#
-                                       #{e\ 1529}#
-                                       #{w\ 1531}#
-                                       #{s\ 1532}#
-                                       #{mod\ 1534}#)
-                                     (if (eqv? #{ftype\ 1561}# (quote begin))
+                                       #{fval\ 1647}#
+                                       #{e\ 1609}#
+                                       #{w\ 1611}#
+                                       #{s\ 1612}#
+                                       #{mod\ 1614}#)
+                                     (if (eqv? #{ftype\ 1646}# (quote begin))
                                        (values
                                          'begin-form
                                          #f
-                                         #{e\ 1529}#
-                                         #{w\ 1531}#
-                                         #{s\ 1532}#
-                                         #{mod\ 1534}#)
-                                       (if (eqv? #{ftype\ 1561}#
+                                         #{e\ 1609}#
+                                         #{w\ 1611}#
+                                         #{s\ 1612}#
+                                         #{mod\ 1614}#)
+                                       (if (eqv? #{ftype\ 1646}#
                                                  'eval-when)
                                          (values
                                            'eval-when-form
                                            #f
-                                           #{e\ 1529}#
-                                           #{w\ 1531}#
-                                           #{s\ 1532}#
-                                           #{mod\ 1534}#)
-                                         (if (eqv? #{ftype\ 1561}#
+                                           #{e\ 1609}#
+                                           #{w\ 1611}#
+                                           #{s\ 1612}#
+                                           #{mod\ 1614}#)
+                                         (if (eqv? #{ftype\ 1646}#
                                                    'define)
-                                           (let ((#{tmp\ 1593}# #{e\ 1529}#))
-                                             (let ((#{tmp\ 1594}#
+                                           (let ((#{tmp\ 1678}# #{e\ 1609}#))
+                                             (let ((#{tmp\ 1679}#
                                                      ($sc-dispatch
-                                                       #{tmp\ 1593}#
+                                                       #{tmp\ 1678}#
                                                        '(_ any any))))
-                                               (if (if #{tmp\ 1594}#
+                                               (if (if #{tmp\ 1679}#
                                                      (@apply
-                                                       (lambda (#{name\ 1597}#
-                                                                #{val\ 1598}#)
-                                                         (#{id?\ 380}#
-                                                           #{name\ 1597}#))
-                                                       #{tmp\ 1594}#)
+                                                       (lambda (#{name\ 1682}#
+                                                                #{val\ 1683}#)
+                                                         (#{id?\ 378}#
+                                                           #{name\ 1682}#))
+                                                       #{tmp\ 1679}#)
                                                      #f)
                                                  (@apply
-                                                   (lambda (#{name\ 1601}#
-                                                            #{val\ 1602}#)
+                                                   (lambda (#{name\ 1686}#
+                                                            #{val\ 1687}#)
                                                      (values
                                                        'define-form
-                                                       #{name\ 1601}#
-                                                       #{val\ 1602}#
-                                                       #{w\ 1531}#
-                                                       #{s\ 1532}#
-                                                       #{mod\ 1534}#))
-                                                   #{tmp\ 1594}#)
-                                                 (let ((#{tmp\ 1603}#
+                                                       #{name\ 1686}#
+                                                       #{val\ 1687}#
+                                                       #{w\ 1611}#
+                                                       #{s\ 1612}#
+                                                       #{mod\ 1614}#))
+                                                   #{tmp\ 1679}#)
+                                                 (let ((#{tmp\ 1688}#
                                                          ($sc-dispatch
-                                                           #{tmp\ 1593}#
+                                                           #{tmp\ 1678}#
                                                            '(_ (any . any)
                                                                any
                                                                .
                                                                each-any))))
-                                                   (if (if #{tmp\ 1603}#
+                                                   (if (if #{tmp\ 1688}#
                                                          (@apply
-                                                           (lambda (#{name\ 
1608}#
-                                                                    #{args\ 
1609}#
-                                                                    #{e1\ 
1610}#
-                                                                    #{e2\ 
1611}#)
-                                                             (if (#{id?\ 380}#
-                                                                   #{name\ 
1608}#)
-                                                               
(#{valid-bound-ids?\ 443}#
-                                                                 
(#{lambda-var-list\ 495}#
-                                                                   #{args\ 
1609}#))
+                                                           (lambda (#{name\ 
1693}#
+                                                                    #{args\ 
1694}#
+                                                                    #{e1\ 
1695}#
+                                                                    #{e2\ 
1696}#)
+                                                             (if (#{id?\ 378}#
+                                                                   #{name\ 
1693}#)
+                                                               
(#{valid-bound-ids?\ 438}#
+                                                                 
(#{lambda-var-list\ 490}#
+                                                                   #{args\ 
1694}#))
                                                                #f))
-                                                           #{tmp\ 1603}#)
+                                                           #{tmp\ 1688}#)
                                                          #f)
                                                      (@apply
-                                                       (lambda (#{name\ 1618}#
-                                                                #{args\ 1619}#
-                                                                #{e1\ 1620}#
-                                                                #{e2\ 1621}#)
+                                                       (lambda (#{name\ 1703}#
+                                                                #{args\ 1704}#
+                                                                #{e1\ 1705}#
+                                                                #{e2\ 1706}#)
                                                          (values
                                                            'define-form
-                                                           (#{wrap\ 449}#
-                                                             #{name\ 1618}#
-                                                             #{w\ 1531}#
-                                                             #{mod\ 1534}#)
+                                                           (#{wrap\ 444}#
+                                                             #{name\ 1703}#
+                                                             #{w\ 1611}#
+                                                             #{mod\ 1614}#)
                                                            (#{decorate-source\ 
298}#
                                                              (cons 
'#(syntax-object
                                                                       lambda
@@ -3226,10 +3210,10 @@
                                                                            
(top)
                                                                            
(top)
                                                                            
(top))
-                                                                         
#("i1614"
-                                                                           
"i1615"
-                                                                           
"i1616"
-                                                                           
"i1617"))
+                                                                         
#("i1699"
+                                                                           
"i1700"
+                                                                           
"i1701"
+                                                                           
"i1702"))
                                                                        
#(ribcage
                                                                          ()
                                                                          ()
@@ -3251,12 +3235,12 @@
                                                                            
(top)
                                                                            
(top)
                                                                            
(top))
-                                                                         
#("i1567"
-                                                                           
"i1568"
-                                                                           
"i1569"
-                                                                           
"i1570"
-                                                                           
"i1571"
-                                                                           
"i1572"))
+                                                                         
#("i1652"
+                                                                           
"i1653"
+                                                                           
"i1654"
+                                                                           
"i1655"
+                                                                           
"i1656"
+                                                                           
"i1657"))
                                                                        
#(ribcage
                                                                          ()
                                                                          ()
@@ -3264,7 +3248,7 @@
                                                                        
#(ribcage
                                                                          
#(first)
                                                                          
#((top))
-                                                                         
#("i1559"))
+                                                                         
#("i1644"))
                                                                        
#(ribcage
                                                                          ()
                                                                          ()
@@ -3292,13 +3276,13 @@
                                                                            
(top)
                                                                            
(top)
                                                                            
(top))
-                                                                         
#("i1536"
-                                                                           
"i1537"
-                                                                           
"i1538"
-                                                                           
"i1539"
-                                                                           
"i1540"
-                                                                           
"i1541"
-                                                                           
"i1542"))
+                                                                         
#("i1616"
+                                                                           
"i1617"
+                                                                           
"i1618"
+                                                                           
"i1619"
+                                                                           
"i1620"
+                                                                           
"i1621"
+                                                                           
"i1622"))
                                                                        
#(ribcage
                                                                          
(lambda-var-list
                                                                            
gen-var
@@ -3574,69 +3558,68 @@
                                                                           (top)
                                                                           (top)
                                                                           
(top))
-                                                                         
("i494"
-                                                                          
"i492"
-                                                                          
"i490"
-                                                                          
"i488"
-                                                                          
"i486"
-                                                                          
"i484"
-                                                                          
"i482"
-                                                                          
"i480"
-                                                                          
"i478"
-                                                                          
"i476"
-                                                                          
"i474"
-                                                                          
"i472"
-                                                                          
"i470"
-                                                                          
"i468"
-                                                                          
"i466"
-                                                                          
"i464"
-                                                                          
"i462"
-                                                                          
"i460"
-                                                                          
"i458"
-                                                                          
"i456"
-                                                                          
"i454"
-                                                                          
"i452"
-                                                                          
"i450"
-                                                                          
"i448"
-                                                                          
"i446"
-                                                                          
"i444"
-                                                                          
"i442"
-                                                                          
"i440"
-                                                                          
"i438"
-                                                                          
"i436"
-                                                                          
"i434"
-                                                                          
"i432"
-                                                                          
"i430"
-                                                                          
"i428"
-                                                                          
"i426"
-                                                                          
"i424"
+                                                                         
("i489"
+                                                                          
"i487"
+                                                                          
"i485"
+                                                                          
"i483"
+                                                                          
"i481"
+                                                                          
"i479"
+                                                                          
"i477"
+                                                                          
"i475"
+                                                                          
"i473"
+                                                                          
"i471"
+                                                                          
"i469"
+                                                                          
"i467"
+                                                                          
"i465"
+                                                                          
"i463"
+                                                                          
"i461"
+                                                                          
"i459"
+                                                                          
"i457"
+                                                                          
"i455"
+                                                                          
"i453"
+                                                                          
"i451"
+                                                                          
"i449"
+                                                                          
"i447"
+                                                                          
"i445"
+                                                                          
"i443"
+                                                                          
"i441"
+                                                                          
"i439"
+                                                                          
"i437"
+                                                                          
"i435"
+                                                                          
"i433"
+                                                                          
"i431"
+                                                                          
"i429"
+                                                                          
"i427"
+                                                                          
"i425"
                                                                           
"i423"
-                                                                          
"i422"
-                                                                          
"i420"
+                                                                          
"i421"
                                                                           
"i419"
                                                                           
"i418"
                                                                           
"i417"
-                                                                          
"i416"
+                                                                          
"i415"
                                                                           
"i414"
+                                                                          
"i413"
                                                                           
"i412"
-                                                                          
"i410"
-                                                                          
"i408"
-                                                                          
"i406"
-                                                                          
"i404"
-                                                                          
"i402"
-                                                                          
"i400"
+                                                                          
"i411"
+                                                                          
"i409"
+                                                                          
"i407"
+                                                                          
"i405"
+                                                                          
"i403"
+                                                                          
"i401"
+                                                                          
"i399"
                                                                           
"i397"
                                                                           
"i395"
-                                                                          
"i394"
-                                                                          
"i393"
                                                                           
"i392"
-                                                                          
"i391"
                                                                           
"i390"
+                                                                          
"i389"
                                                                           
"i388"
+                                                                          
"i387"
                                                                           
"i386"
+                                                                          
"i385"
                                                                           
"i384"
+                                                                          
"i383"
                                                                           
"i382"
-                                                                          
"i381"
+                                                                          
"i380"
                                                                           
"i379"
                                                                           
"i377"
                                                                           
"i375"
@@ -3644,8 +3627,9 @@
                                                                           
"i371"
                                                                           
"i369"
                                                                           
"i367"
-                                                                          
"i366"
+                                                                          
"i365"
                                                                           
"i364"
+                                                                          
"i363"
                                                                           
"i362"
                                                                           
"i361"
                                                                           
"i360"
@@ -3726,43 +3710,43 @@
                                                                           
"i35")))
                                                                       (hygiene
                                                                         guile))
-                                                                   (#{wrap\ 
449}#
-                                                                     (cons 
#{args\ 1619}#
-                                                                           
(cons #{e1\ 1620}#
-                                                                               
  #{e2\ 1621}#))
-                                                                     #{w\ 
1531}#
-                                                                     #{mod\ 
1534}#))
-                                                             #{s\ 1532}#)
+                                                                   (#{wrap\ 
444}#
+                                                                     (cons 
#{args\ 1704}#
+                                                                           
(cons #{e1\ 1705}#
+                                                                               
  #{e2\ 1706}#))
+                                                                     #{w\ 
1611}#
+                                                                     #{mod\ 
1614}#))
+                                                             #{s\ 1612}#)
                                                            '(())
-                                                           #{s\ 1532}#
-                                                           #{mod\ 1534}#))
-                                                       #{tmp\ 1603}#)
-                                                     (let ((#{tmp\ 1624}#
+                                                           #{s\ 1612}#
+                                                           #{mod\ 1614}#))
+                                                       #{tmp\ 1688}#)
+                                                     (let ((#{tmp\ 1709}#
                                                              ($sc-dispatch
-                                                               #{tmp\ 1593}#
+                                                               #{tmp\ 1678}#
                                                                '(_ any))))
-                                                       (if (if #{tmp\ 1624}#
+                                                       (if (if #{tmp\ 1709}#
                                                              (@apply
-                                                               (lambda 
(#{name\ 1626}#)
-                                                                 (#{id?\ 380}#
-                                                                   #{name\ 
1626}#))
-                                                               #{tmp\ 1624}#)
+                                                               (lambda 
(#{name\ 1711}#)
+                                                                 (#{id?\ 378}#
+                                                                   #{name\ 
1711}#))
+                                                               #{tmp\ 1709}#)
                                                              #f)
                                                          (@apply
-                                                           (lambda (#{name\ 
1628}#)
+                                                           (lambda (#{name\ 
1713}#)
                                                              (values
                                                                'define-form
-                                                               (#{wrap\ 449}#
-                                                                 #{name\ 1628}#
-                                                                 #{w\ 1531}#
-                                                                 #{mod\ 1534}#)
+                                                               (#{wrap\ 444}#
+                                                                 #{name\ 1713}#
+                                                                 #{w\ 1611}#
+                                                                 #{mod\ 1614}#)
                                                                
'(#(syntax-object
                                                                    if
                                                                    ((top)
                                                                     #(ribcage
                                                                       #(name)
                                                                       #((top))
-                                                                      
#("i1627"))
+                                                                      
#("i1712"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -3784,12 +3768,12 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      #("i1567"
-                                                                        "i1568"
-                                                                        "i1569"
-                                                                        "i1570"
-                                                                        "i1571"
-                                                                        
"i1572"))
+                                                                      #("i1652"
+                                                                        "i1653"
+                                                                        "i1654"
+                                                                        "i1655"
+                                                                        "i1656"
+                                                                        
"i1657"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -3797,7 +3781,7 @@
                                                                     #(ribcage
                                                                       #(first)
                                                                       #((top))
-                                                                      
#("i1559"))
+                                                                      
#("i1644"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -3825,13 +3809,13 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      #("i1536"
-                                                                        "i1537"
-                                                                        "i1538"
-                                                                        "i1539"
-                                                                        "i1540"
-                                                                        "i1541"
-                                                                        
"i1542"))
+                                                                      #("i1616"
+                                                                        "i1617"
+                                                                        "i1618"
+                                                                        "i1619"
+                                                                        "i1620"
+                                                                        "i1621"
+                                                                        
"i1622"))
                                                                     #(ribcage
                                                                       
(lambda-var-list
                                                                         gen-var
@@ -4107,69 +4091,68 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                      ("i494"
-                                                                       "i492"
-                                                                       "i490"
-                                                                       "i488"
-                                                                       "i486"
-                                                                       "i484"
-                                                                       "i482"
-                                                                       "i480"
-                                                                       "i478"
-                                                                       "i476"
-                                                                       "i474"
-                                                                       "i472"
-                                                                       "i470"
-                                                                       "i468"
-                                                                       "i466"
-                                                                       "i464"
-                                                                       "i462"
-                                                                       "i460"
-                                                                       "i458"
-                                                                       "i456"
-                                                                       "i454"
-                                                                       "i452"
-                                                                       "i450"
-                                                                       "i448"
-                                                                       "i446"
-                                                                       "i444"
-                                                                       "i442"
-                                                                       "i440"
-                                                                       "i438"
-                                                                       "i436"
-                                                                       "i434"
-                                                                       "i432"
-                                                                       "i430"
-                                                                       "i428"
-                                                                       "i426"
-                                                                       "i424"
+                                                                      ("i489"
+                                                                       "i487"
+                                                                       "i485"
+                                                                       "i483"
+                                                                       "i481"
+                                                                       "i479"
+                                                                       "i477"
+                                                                       "i475"
+                                                                       "i473"
+                                                                       "i471"
+                                                                       "i469"
+                                                                       "i467"
+                                                                       "i465"
+                                                                       "i463"
+                                                                       "i461"
+                                                                       "i459"
+                                                                       "i457"
+                                                                       "i455"
+                                                                       "i453"
+                                                                       "i451"
+                                                                       "i449"
+                                                                       "i447"
+                                                                       "i445"
+                                                                       "i443"
+                                                                       "i441"
+                                                                       "i439"
+                                                                       "i437"
+                                                                       "i435"
+                                                                       "i433"
+                                                                       "i431"
+                                                                       "i429"
+                                                                       "i427"
+                                                                       "i425"
                                                                        "i423"
-                                                                       "i422"
-                                                                       "i420"
+                                                                       "i421"
                                                                        "i419"
                                                                        "i418"
                                                                        "i417"
-                                                                       "i416"
+                                                                       "i415"
                                                                        "i414"
+                                                                       "i413"
                                                                        "i412"
-                                                                       "i410"
-                                                                       "i408"
-                                                                       "i406"
-                                                                       "i404"
-                                                                       "i402"
-                                                                       "i400"
+                                                                       "i411"
+                                                                       "i409"
+                                                                       "i407"
+                                                                       "i405"
+                                                                       "i403"
+                                                                       "i401"
+                                                                       "i399"
                                                                        "i397"
                                                                        "i395"
-                                                                       "i394"
-                                                                       "i393"
                                                                        "i392"
-                                                                       "i391"
                                                                        "i390"
+                                                                       "i389"
                                                                        "i388"
+                                                                       "i387"
                                                                        "i386"
+                                                                       "i385"
                                                                        "i384"
+                                                                       "i383"
                                                                        "i382"
-                                                                       "i381"
+                                                                       "i380"
                                                                        "i379"
                                                                        "i377"
                                                                        "i375"
@@ -4177,8 +4160,9 @@
                                                                        "i371"
                                                                        "i369"
                                                                        "i367"
-                                                                       "i366"
+                                                                       "i365"
                                                                        "i364"
+                                                                       "i363"
                                                                        "i362"
                                                                        "i361"
                                                                        "i360"
@@ -4265,7 +4249,7 @@
                                                                     #(ribcage
                                                                       #(name)
                                                                       #((top))
-                                                                      
#("i1627"))
+                                                                      
#("i1712"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -4287,12 +4271,12 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      #("i1567"
-                                                                        "i1568"
-                                                                        "i1569"
-                                                                        "i1570"
-                                                                        "i1571"
-                                                                        
"i1572"))
+                                                                      #("i1652"
+                                                                        "i1653"
+                                                                        "i1654"
+                                                                        "i1655"
+                                                                        "i1656"
+                                                                        
"i1657"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -4300,7 +4284,7 @@
                                                                     #(ribcage
                                                                       #(first)
                                                                       #((top))
-                                                                      
#("i1559"))
+                                                                      
#("i1644"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -4328,13 +4312,13 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      #("i1536"
-                                                                        "i1537"
-                                                                        "i1538"
-                                                                        "i1539"
-                                                                        "i1540"
-                                                                        "i1541"
-                                                                        
"i1542"))
+                                                                      #("i1616"
+                                                                        "i1617"
+                                                                        "i1618"
+                                                                        "i1619"
+                                                                        "i1620"
+                                                                        "i1621"
+                                                                        
"i1622"))
                                                                     #(ribcage
                                                                       
(lambda-var-list
                                                                         gen-var
@@ -4610,69 +4594,68 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                      ("i494"
-                                                                       "i492"
-                                                                       "i490"
-                                                                       "i488"
-                                                                       "i486"
-                                                                       "i484"
-                                                                       "i482"
-                                                                       "i480"
-                                                                       "i478"
-                                                                       "i476"
-                                                                       "i474"
-                                                                       "i472"
-                                                                       "i470"
-                                                                       "i468"
-                                                                       "i466"
-                                                                       "i464"
-                                                                       "i462"
-                                                                       "i460"
-                                                                       "i458"
-                                                                       "i456"
-                                                                       "i454"
-                                                                       "i452"
-                                                                       "i450"
-                                                                       "i448"
-                                                                       "i446"
-                                                                       "i444"
-                                                                       "i442"
-                                                                       "i440"
-                                                                       "i438"
-                                                                       "i436"
-                                                                       "i434"
-                                                                       "i432"
-                                                                       "i430"
-                                                                       "i428"
-                                                                       "i426"
-                                                                       "i424"
+                                                                      ("i489"
+                                                                       "i487"
+                                                                       "i485"
+                                                                       "i483"
+                                                                       "i481"
+                                                                       "i479"
+                                                                       "i477"
+                                                                       "i475"
+                                                                       "i473"
+                                                                       "i471"
+                                                                       "i469"
+                                                                       "i467"
+                                                                       "i465"
+                                                                       "i463"
+                                                                       "i461"
+                                                                       "i459"
+                                                                       "i457"
+                                                                       "i455"
+                                                                       "i453"
+                                                                       "i451"
+                                                                       "i449"
+                                                                       "i447"
+                                                                       "i445"
+                                                                       "i443"
+                                                                       "i441"
+                                                                       "i439"
+                                                                       "i437"
+                                                                       "i435"
+                                                                       "i433"
+                                                                       "i431"
+                                                                       "i429"
+                                                                       "i427"
+                                                                       "i425"
                                                                        "i423"
-                                                                       "i422"
-                                                                       "i420"
+                                                                       "i421"
                                                                        "i419"
                                                                        "i418"
                                                                        "i417"
-                                                                       "i416"
+                                                                       "i415"
                                                                        "i414"
+                                                                       "i413"
                                                                        "i412"
-                                                                       "i410"
-                                                                       "i408"
-                                                                       "i406"
-                                                                       "i404"
-                                                                       "i402"
-                                                                       "i400"
+                                                                       "i411"
+                                                                       "i409"
+                                                                       "i407"
+                                                                       "i405"
+                                                                       "i403"
+                                                                       "i401"
+                                                                       "i399"
                                                                        "i397"
                                                                        "i395"
-                                                                       "i394"
-                                                                       "i393"
                                                                        "i392"
-                                                                       "i391"
                                                                        "i390"
+                                                                       "i389"
                                                                        "i388"
+                                                                       "i387"
                                                                        "i386"
+                                                                       "i385"
                                                                        "i384"
+                                                                       "i383"
                                                                        "i382"
-                                                                       "i381"
+                                                                       "i380"
                                                                        "i379"
                                                                        "i377"
                                                                        "i375"
@@ -4680,8 +4663,9 @@
                                                                        "i371"
                                                                        "i369"
                                                                        "i367"
-                                                                       "i366"
+                                                                       "i365"
                                                                        "i364"
+                                                                       "i363"
                                                                        "i362"
                                                                        "i361"
                                                                        "i360"
@@ -4768,7 +4752,7 @@
                                                                     #(ribcage
                                                                       #(name)
                                                                       #((top))
-                                                                      
#("i1627"))
+                                                                      
#("i1712"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -4790,12 +4774,12 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      #("i1567"
-                                                                        "i1568"
-                                                                        "i1569"
-                                                                        "i1570"
-                                                                        "i1571"
-                                                                        
"i1572"))
+                                                                      #("i1652"
+                                                                        "i1653"
+                                                                        "i1654"
+                                                                        "i1655"
+                                                                        "i1656"
+                                                                        
"i1657"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -4803,7 +4787,7 @@
                                                                     #(ribcage
                                                                       #(first)
                                                                       #((top))
-                                                                      
#("i1559"))
+                                                                      
#("i1644"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -4831,13 +4815,13 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      #("i1536"
-                                                                        "i1537"
-                                                                        "i1538"
-                                                                        "i1539"
-                                                                        "i1540"
-                                                                        "i1541"
-                                                                        
"i1542"))
+                                                                      #("i1616"
+                                                                        "i1617"
+                                                                        "i1618"
+                                                                        "i1619"
+                                                                        "i1620"
+                                                                        "i1621"
+                                                                        
"i1622"))
                                                                     #(ribcage
                                                                       
(lambda-var-list
                                                                         gen-var
@@ -5113,69 +5097,68 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                      ("i494"
-                                                                       "i492"
-                                                                       "i490"
-                                                                       "i488"
-                                                                       "i486"
-                                                                       "i484"
-                                                                       "i482"
-                                                                       "i480"
-                                                                       "i478"
-                                                                       "i476"
-                                                                       "i474"
-                                                                       "i472"
-                                                                       "i470"
-                                                                       "i468"
-                                                                       "i466"
-                                                                       "i464"
-                                                                       "i462"
-                                                                       "i460"
-                                                                       "i458"
-                                                                       "i456"
-                                                                       "i454"
-                                                                       "i452"
-                                                                       "i450"
-                                                                       "i448"
-                                                                       "i446"
-                                                                       "i444"
-                                                                       "i442"
-                                                                       "i440"
-                                                                       "i438"
-                                                                       "i436"
-                                                                       "i434"
-                                                                       "i432"
-                                                                       "i430"
-                                                                       "i428"
-                                                                       "i426"
-                                                                       "i424"
+                                                                      ("i489"
+                                                                       "i487"
+                                                                       "i485"
+                                                                       "i483"
+                                                                       "i481"
+                                                                       "i479"
+                                                                       "i477"
+                                                                       "i475"
+                                                                       "i473"
+                                                                       "i471"
+                                                                       "i469"
+                                                                       "i467"
+                                                                       "i465"
+                                                                       "i463"
+                                                                       "i461"
+                                                                       "i459"
+                                                                       "i457"
+                                                                       "i455"
+                                                                       "i453"
+                                                                       "i451"
+                                                                       "i449"
+                                                                       "i447"
+                                                                       "i445"
+                                                                       "i443"
+                                                                       "i441"
+                                                                       "i439"
+                                                                       "i437"
+                                                                       "i435"
+                                                                       "i433"
+                                                                       "i431"
+                                                                       "i429"
+                                                                       "i427"
+                                                                       "i425"
                                                                        "i423"
-                                                                       "i422"
-                                                                       "i420"
+                                                                       "i421"
                                                                        "i419"
                                                                        "i418"
                                                                        "i417"
-                                                                       "i416"
+                                                                       "i415"
                                                                        "i414"
+                                                                       "i413"
                                                                        "i412"
-                                                                       "i410"
-                                                                       "i408"
-                                                                       "i406"
-                                                                       "i404"
-                                                                       "i402"
-                                                                       "i400"
+                                                                       "i411"
+                                                                       "i409"
+                                                                       "i407"
+                                                                       "i405"
+                                                                       "i403"
+                                                                       "i401"
+                                                                       "i399"
                                                                        "i397"
                                                                        "i395"
-                                                                       "i394"
-                                                                       "i393"
                                                                        "i392"
-                                                                       "i391"
                                                                        "i390"
+                                                                       "i389"
                                                                        "i388"
+                                                                       "i387"
                                                                        "i386"
+                                                                       "i385"
                                                                        "i384"
+                                                                       "i383"
                                                                        "i382"
-                                                                       "i381"
+                                                                       "i380"
                                                                        "i379"
                                                                        "i377"
                                                                        "i375"
@@ -5183,8 +5166,9 @@
                                                                        "i371"
                                                                        "i369"
                                                                        "i367"
-                                                                       "i366"
+                                                                       "i365"
                                                                        "i364"
+                                                                       "i363"
                                                                        "i362"
                                                                        "i361"
                                                                        "i360"
@@ -5266,1212 +5250,1208 @@
                                                                    (hygiene
                                                                      guile)))
                                                                '(())
-                                                               #{s\ 1532}#
-                                                               #{mod\ 1534}#))
-                                                           #{tmp\ 1624}#)
+                                                               #{s\ 1612}#
+                                                               #{mod\ 1614}#))
+                                                           #{tmp\ 1709}#)
                                                          (syntax-violation
                                                            #f
                                                            "source expression 
failed to match any pattern"
-                                                           #{tmp\ 
1593}#))))))))
-                                           (if (eqv? #{ftype\ 1561}#
+                                                           #{tmp\ 
1678}#))))))))
+                                           (if (eqv? #{ftype\ 1646}#
                                                      'define-syntax)
-                                             (let ((#{tmp\ 1631}# #{e\ 1529}#))
-                                               (let ((#{tmp\ 1632}#
+                                             (let ((#{tmp\ 1716}# #{e\ 1609}#))
+                                               (let ((#{tmp\ 1717}#
                                                        ($sc-dispatch
-                                                         #{tmp\ 1631}#
+                                                         #{tmp\ 1716}#
                                                          '(_ any any))))
-                                                 (if (if #{tmp\ 1632}#
+                                                 (if (if #{tmp\ 1717}#
                                                        (@apply
-                                                         (lambda (#{name\ 
1635}#
-                                                                  #{val\ 
1636}#)
-                                                           (#{id?\ 380}#
-                                                             #{name\ 1635}#))
-                                                         #{tmp\ 1632}#)
+                                                         (lambda (#{name\ 
1720}#
+                                                                  #{val\ 
1721}#)
+                                                           (#{id?\ 378}#
+                                                             #{name\ 1720}#))
+                                                         #{tmp\ 1717}#)
                                                        #f)
                                                    (@apply
-                                                     (lambda (#{name\ 1639}#
-                                                              #{val\ 1640}#)
+                                                     (lambda (#{name\ 1724}#
+                                                              #{val\ 1725}#)
                                                        (values
                                                          'define-syntax-form
-                                                         #{name\ 1639}#
-                                                         #{val\ 1640}#
-                                                         #{w\ 1531}#
-                                                         #{s\ 1532}#
-                                                         #{mod\ 1534}#))
-                                                     #{tmp\ 1632}#)
+                                                         #{name\ 1724}#
+                                                         #{val\ 1725}#
+                                                         #{w\ 1611}#
+                                                         #{s\ 1612}#
+                                                         #{mod\ 1614}#))
+                                                     #{tmp\ 1717}#)
                                                    (syntax-violation
                                                      #f
                                                      "source expression failed 
to match any pattern"
-                                                     #{tmp\ 1631}#))))
+                                                     #{tmp\ 1716}#))))
                                              (values
                                                'call
                                                #f
-                                               #{e\ 1529}#
-                                               #{w\ 1531}#
-                                               #{s\ 1532}#
-                                               #{mod\ 1534}#)))))))))))))))
-                 (if (#{syntax-object?\ 344}# #{e\ 1529}#)
-                   (#{syntax-type\ 461}#
-                     (#{syntax-object-expression\ 346}# #{e\ 1529}#)
-                     #{r\ 1530}#
-                     (#{join-wraps\ 431}#
-                       #{w\ 1531}#
-                       (#{syntax-object-wrap\ 348}# #{e\ 1529}#))
+                                               #{e\ 1609}#
+                                               #{w\ 1611}#
+                                               #{s\ 1612}#
+                                               #{mod\ 1614}#)))))))))))))))
+                 (if (#{syntax-object?\ 344}# #{e\ 1609}#)
+                   (#{syntax-type\ 456}#
+                     (#{syntax-object-expression\ 346}# #{e\ 1609}#)
+                     #{r\ 1610}#
+                     (#{join-wraps\ 426}#
+                       #{w\ 1611}#
+                       (#{syntax-object-wrap\ 348}# #{e\ 1609}#))
                      (begin
-                       (let ((#{t\ 1646}#
-                               (#{source-annotation\ 359}# #{e\ 1529}#)))
-                         (if #{t\ 1646}# #{t\ 1646}# #{s\ 1532}#)))
-                     #{rib\ 1533}#
+                       (let ((#{t\ 1731}#
+                               (#{source-annotation\ 359}# #{e\ 1609}#)))
+                         (if #{t\ 1731}# #{t\ 1731}# #{s\ 1612}#)))
+                     #{rib\ 1613}#
                      (begin
-                       (let ((#{t\ 1650}#
-                               (#{syntax-object-module\ 350}# #{e\ 1529}#)))
-                         (if #{t\ 1650}# #{t\ 1650}# #{mod\ 1534}#)))
-                     #{for-car?\ 1535}#)
-                   (if (self-evaluating? #{e\ 1529}#)
+                       (let ((#{t\ 1735}#
+                               (#{syntax-object-module\ 350}# #{e\ 1609}#)))
+                         (if #{t\ 1735}# #{t\ 1735}# #{mod\ 1614}#)))
+                     #{for-car?\ 1615}#)
+                   (if (self-evaluating? #{e\ 1609}#)
                      (values
                        'constant
                        #f
-                       #{e\ 1529}#
-                       #{w\ 1531}#
-                       #{s\ 1532}#
-                       #{mod\ 1534}#)
+                       #{e\ 1609}#
+                       #{w\ 1611}#
+                       #{s\ 1612}#
+                       #{mod\ 1614}#)
                      (values
                        'other
                        #f
-                       #{e\ 1529}#
-                       #{w\ 1531}#
-                       #{s\ 1532}#
-                       #{mod\ 1534}#)))))))
-         (#{chi-top\ 463}#
-           (lambda (#{e\ 1655}#
-                    #{r\ 1656}#
-                    #{w\ 1657}#
-                    #{m\ 1658}#
-                    #{esew\ 1659}#
-                    #{mod\ 1660}#)
+                       #{e\ 1609}#
+                       #{w\ 1611}#
+                       #{s\ 1612}#
+                       #{mod\ 1614}#)))))))
+         (#{chi-top\ 458}#
+           (lambda (#{e\ 1740}#
+                    #{r\ 1741}#
+                    #{w\ 1742}#
+                    #{m\ 1743}#
+                    #{esew\ 1744}#
+                    #{mod\ 1745}#)
              (call-with-values
                (lambda ()
-                 (#{syntax-type\ 461}#
-                   #{e\ 1655}#
-                   #{r\ 1656}#
-                   #{w\ 1657}#
-                   (#{source-annotation\ 359}# #{e\ 1655}#)
+                 (#{syntax-type\ 456}#
+                   #{e\ 1740}#
+                   #{r\ 1741}#
+                   #{w\ 1742}#
+                   (#{source-annotation\ 359}# #{e\ 1740}#)
                    #f
-                   #{mod\ 1660}#
+                   #{mod\ 1745}#
                    #f))
-               (lambda (#{type\ 1681}#
-                        #{value\ 1682}#
-                        #{e\ 1683}#
-                        #{w\ 1684}#
-                        #{s\ 1685}#
-                        #{mod\ 1686}#)
-                 (if (eqv? #{type\ 1681}# (quote begin-form))
-                   (let ((#{tmp\ 1694}# #{e\ 1683}#))
-                     (let ((#{tmp\ 1695}#
-                             ($sc-dispatch #{tmp\ 1694}# (quote (_)))))
-                       (if #{tmp\ 1695}#
+               (lambda (#{type\ 1766}#
+                        #{value\ 1767}#
+                        #{e\ 1768}#
+                        #{w\ 1769}#
+                        #{s\ 1770}#
+                        #{mod\ 1771}#)
+                 (if (eqv? #{type\ 1766}# (quote begin-form))
+                   (let ((#{tmp\ 1779}# #{e\ 1768}#))
+                     (let ((#{tmp\ 1780}#
+                             ($sc-dispatch #{tmp\ 1779}# (quote (_)))))
+                       (if #{tmp\ 1780}#
                          (@apply
-                           (lambda () (#{chi-void\ 479}#))
-                           #{tmp\ 1695}#)
-                         (let ((#{tmp\ 1696}#
+                           (lambda () (#{chi-void\ 474}#))
+                           #{tmp\ 1780}#)
+                         (let ((#{tmp\ 1781}#
                                  ($sc-dispatch
-                                   #{tmp\ 1694}#
+                                   #{tmp\ 1779}#
                                    '(_ any . each-any))))
-                           (if #{tmp\ 1696}#
+                           (if #{tmp\ 1781}#
                              (@apply
-                               (lambda (#{e1\ 1699}# #{e2\ 1700}#)
-                                 (#{chi-top-sequence\ 455}#
-                                   (cons #{e1\ 1699}# #{e2\ 1700}#)
-                                   #{r\ 1656}#
-                                   #{w\ 1684}#
-                                   #{s\ 1685}#
-                                   #{m\ 1658}#
-                                   #{esew\ 1659}#
-                                   #{mod\ 1686}#))
-                               #{tmp\ 1696}#)
+                               (lambda (#{e1\ 1784}# #{e2\ 1785}#)
+                                 (#{chi-top-sequence\ 450}#
+                                   (cons #{e1\ 1784}# #{e2\ 1785}#)
+                                   #{r\ 1741}#
+                                   #{w\ 1769}#
+                                   #{s\ 1770}#
+                                   #{m\ 1743}#
+                                   #{esew\ 1744}#
+                                   #{mod\ 1771}#))
+                               #{tmp\ 1781}#)
                              (syntax-violation
                                #f
                                "source expression failed to match any pattern"
-                               #{tmp\ 1694}#))))))
-                   (if (eqv? #{type\ 1681}# (quote local-syntax-form))
-                     (#{chi-local-syntax\ 475}#
-                       #{value\ 1682}#
-                       #{e\ 1683}#
-                       #{r\ 1656}#
-                       #{w\ 1684}#
-                       #{s\ 1685}#
-                       #{mod\ 1686}#
-                       (lambda (#{body\ 1703}#
-                                #{r\ 1704}#
-                                #{w\ 1705}#
-                                #{s\ 1706}#
-                                #{mod\ 1707}#)
-                         (#{chi-top-sequence\ 455}#
-                           #{body\ 1703}#
-                           #{r\ 1704}#
-                           #{w\ 1705}#
-                           #{s\ 1706}#
-                           #{m\ 1658}#
-                           #{esew\ 1659}#
-                           #{mod\ 1707}#)))
-                     (if (eqv? #{type\ 1681}# (quote eval-when-form))
-                       (let ((#{tmp\ 1714}# #{e\ 1683}#))
-                         (let ((#{tmp\ 1715}#
+                               #{tmp\ 1779}#))))))
+                   (if (eqv? #{type\ 1766}# (quote local-syntax-form))
+                     (#{chi-local-syntax\ 470}#
+                       #{value\ 1767}#
+                       #{e\ 1768}#
+                       #{r\ 1741}#
+                       #{w\ 1769}#
+                       #{s\ 1770}#
+                       #{mod\ 1771}#
+                       (lambda (#{body\ 1788}#
+                                #{r\ 1789}#
+                                #{w\ 1790}#
+                                #{s\ 1791}#
+                                #{mod\ 1792}#)
+                         (#{chi-top-sequence\ 450}#
+                           #{body\ 1788}#
+                           #{r\ 1789}#
+                           #{w\ 1790}#
+                           #{s\ 1791}#
+                           #{m\ 1743}#
+                           #{esew\ 1744}#
+                           #{mod\ 1792}#)))
+                     (if (eqv? #{type\ 1766}# (quote eval-when-form))
+                       (let ((#{tmp\ 1799}# #{e\ 1768}#))
+                         (let ((#{tmp\ 1800}#
                                  ($sc-dispatch
-                                   #{tmp\ 1714}#
+                                   #{tmp\ 1799}#
                                    '(_ each-any any . each-any))))
-                           (if #{tmp\ 1715}#
+                           (if #{tmp\ 1800}#
                              (@apply
-                               (lambda (#{x\ 1719}# #{e1\ 1720}# #{e2\ 1721}#)
+                               (lambda (#{x\ 1804}# #{e1\ 1805}# #{e2\ 1806}#)
                                  (begin
-                                   (let ((#{when-list\ 1724}#
-                                           (#{chi-when-list\ 459}#
-                                             #{e\ 1683}#
-                                             #{x\ 1719}#
-                                             #{w\ 1684}#))
-                                         (#{body\ 1725}#
-                                           (cons #{e1\ 1720}# #{e2\ 1721}#)))
-                                     (if (eq? #{m\ 1658}# (quote e))
+                                   (let ((#{when-list\ 1809}#
+                                           (#{chi-when-list\ 454}#
+                                             #{e\ 1768}#
+                                             #{x\ 1804}#
+                                             #{w\ 1769}#))
+                                         (#{body\ 1810}#
+                                           (cons #{e1\ 1805}# #{e2\ 1806}#)))
+                                     (if (eq? #{m\ 1743}# (quote e))
                                        (if (memq 'eval
-                                                 #{when-list\ 1724}#)
-                                         (#{chi-top-sequence\ 455}#
-                                           #{body\ 1725}#
-                                           #{r\ 1656}#
-                                           #{w\ 1684}#
-                                           #{s\ 1685}#
+                                                 #{when-list\ 1809}#)
+                                         (#{chi-top-sequence\ 450}#
+                                           #{body\ 1810}#
+                                           #{r\ 1741}#
+                                           #{w\ 1769}#
+                                           #{s\ 1770}#
                                            (if (memq 'expand
-                                                     #{when-list\ 1724}#)
+                                                     #{when-list\ 1809}#)
                                              'c&e
                                              'e)
                                            '(eval)
-                                           #{mod\ 1686}#)
+                                           #{mod\ 1771}#)
                                          (begin
                                            (if (memq 'expand
-                                                     #{when-list\ 1724}#)
+                                                     #{when-list\ 1809}#)
                                              (#{top-level-eval-hook\ 289}#
-                                               (#{chi-top-sequence\ 455}#
-                                                 #{body\ 1725}#
-                                                 #{r\ 1656}#
-                                                 #{w\ 1684}#
-                                                 #{s\ 1685}#
+                                               (#{chi-top-sequence\ 450}#
+                                                 #{body\ 1810}#
+                                                 #{r\ 1741}#
+                                                 #{w\ 1769}#
+                                                 #{s\ 1770}#
                                                  'e
                                                  '(eval)
-                                                 #{mod\ 1686}#)
-                                               #{mod\ 1686}#))
-                                           (#{chi-void\ 479}#)))
+                                                 #{mod\ 1771}#)
+                                               #{mod\ 1771}#))
+                                           (#{chi-void\ 474}#)))
                                        (if (memq 'load
-                                                 #{when-list\ 1724}#)
+                                                 #{when-list\ 1809}#)
                                          (if (begin
-                                               (let ((#{t\ 1734}#
+                                               (let ((#{t\ 1819}#
                                                        (memq 'compile
-                                                             #{when-list\ 
1724}#)))
-                                                 (if #{t\ 1734}#
-                                                   #{t\ 1734}#
+                                                             #{when-list\ 
1809}#)))
+                                                 (if #{t\ 1819}#
+                                                   #{t\ 1819}#
                                                    (begin
-                                                     (let ((#{t\ 1737}#
+                                                     (let ((#{t\ 1822}#
                                                              (memq 'expand
-                                                                   
#{when-list\ 1724}#)))
-                                                       (if #{t\ 1737}#
-                                                         #{t\ 1737}#
-                                                         (if (eq? #{m\ 1658}#
+                                                                   
#{when-list\ 1809}#)))
+                                                       (if #{t\ 1822}#
+                                                         #{t\ 1822}#
+                                                         (if (eq? #{m\ 1743}#
                                                                   'c&e)
                                                            (memq 'eval
-                                                                 #{when-list\ 
1724}#)
+                                                                 #{when-list\ 
1809}#)
                                                            #f)))))))
-                                           (#{chi-top-sequence\ 455}#
-                                             #{body\ 1725}#
-                                             #{r\ 1656}#
-                                             #{w\ 1684}#
-                                             #{s\ 1685}#
+                                           (#{chi-top-sequence\ 450}#
+                                             #{body\ 1810}#
+                                             #{r\ 1741}#
+                                             #{w\ 1769}#
+                                             #{s\ 1770}#
                                              'c&e
                                              '(compile load)
-                                             #{mod\ 1686}#)
-                                           (if (if (eq? #{m\ 1658}# (quote c))
+                                             #{mod\ 1771}#)
+                                           (if (if (eq? #{m\ 1743}# (quote c))
                                                  #t
-                                                 (eq? #{m\ 1658}# (quote c&e)))
-                                             (#{chi-top-sequence\ 455}#
-                                               #{body\ 1725}#
-                                               #{r\ 1656}#
-                                               #{w\ 1684}#
-                                               #{s\ 1685}#
+                                                 (eq? #{m\ 1743}# (quote c&e)))
+                                             (#{chi-top-sequence\ 450}#
+                                               #{body\ 1810}#
+                                               #{r\ 1741}#
+                                               #{w\ 1769}#
+                                               #{s\ 1770}#
                                                'c
                                                '(load)
-                                               #{mod\ 1686}#)
-                                             (#{chi-void\ 479}#)))
+                                               #{mod\ 1771}#)
+                                             (#{chi-void\ 474}#)))
                                          (if (begin
-                                               (let ((#{t\ 1745}#
+                                               (let ((#{t\ 1830}#
                                                        (memq 'compile
-                                                             #{when-list\ 
1724}#)))
-                                                 (if #{t\ 1745}#
-                                                   #{t\ 1745}#
+                                                             #{when-list\ 
1809}#)))
+                                                 (if #{t\ 1830}#
+                                                   #{t\ 1830}#
                                                    (begin
-                                                     (let ((#{t\ 1748}#
+                                                     (let ((#{t\ 1833}#
                                                              (memq 'expand
-                                                                   
#{when-list\ 1724}#)))
-                                                       (if #{t\ 1748}#
-                                                         #{t\ 1748}#
-                                                         (if (eq? #{m\ 1658}#
+                                                                   
#{when-list\ 1809}#)))
+                                                       (if #{t\ 1833}#
+                                                         #{t\ 1833}#
+                                                         (if (eq? #{m\ 1743}#
                                                                   'c&e)
                                                            (memq 'eval
-                                                                 #{when-list\ 
1724}#)
+                                                                 #{when-list\ 
1809}#)
                                                            #f)))))))
                                            (begin
                                              (#{top-level-eval-hook\ 289}#
-                                               (#{chi-top-sequence\ 455}#
-                                                 #{body\ 1725}#
-                                                 #{r\ 1656}#
-                                                 #{w\ 1684}#
-                                                 #{s\ 1685}#
+                                               (#{chi-top-sequence\ 450}#
+                                                 #{body\ 1810}#
+                                                 #{r\ 1741}#
+                                                 #{w\ 1769}#
+                                                 #{s\ 1770}#
                                                  'e
                                                  '(eval)
-                                                 #{mod\ 1686}#)
-                                               #{mod\ 1686}#)
-                                             (#{chi-void\ 479}#))
-                                           (#{chi-void\ 479}#)))))))
-                               #{tmp\ 1715}#)
+                                                 #{mod\ 1771}#)
+                                               #{mod\ 1771}#)
+                                             (#{chi-void\ 474}#))
+                                           (#{chi-void\ 474}#)))))))
+                               #{tmp\ 1800}#)
                              (syntax-violation
                                #f
                                "source expression failed to match any pattern"
-                               #{tmp\ 1714}#))))
-                       (if (eqv? #{type\ 1681}# (quote define-syntax-form))
+                               #{tmp\ 1799}#))))
+                       (if (eqv? #{type\ 1766}# (quote define-syntax-form))
                          (begin
-                           (let ((#{n\ 1756}#
-                                   (#{id-var-name\ 437}#
-                                     #{value\ 1682}#
-                                     #{w\ 1684}#))
-                                 (#{r\ 1757}#
-                                   (#{macros-only-env\ 372}# #{r\ 1656}#)))
-                             (if (eqv? #{m\ 1658}# (quote c))
-                               (if (memq (quote compile) #{esew\ 1659}#)
+                           (let ((#{n\ 1841}#
+                                   (#{id-var-name\ 432}#
+                                     #{value\ 1767}#
+                                     #{w\ 1769}#))
+                                 (#{r\ 1842}#
+                                   (#{macros-only-env\ 370}# #{r\ 1741}#)))
+                             (if (eqv? #{m\ 1743}# (quote c))
+                               (if (memq (quote compile) #{esew\ 1744}#)
                                  (begin
-                                   (let ((#{e\ 1760}#
-                                           (#{chi-install-global\ 457}#
-                                             #{n\ 1756}#
-                                             (#{chi\ 465}#
-                                               #{e\ 1683}#
-                                               #{r\ 1757}#
-                                               #{w\ 1684}#
-                                               #{mod\ 1686}#))))
+                                   (let ((#{e\ 1845}#
+                                           (#{chi-install-global\ 452}#
+                                             #{n\ 1841}#
+                                             (#{chi\ 460}#
+                                               #{e\ 1768}#
+                                               #{r\ 1842}#
+                                               #{w\ 1769}#
+                                               #{mod\ 1771}#))))
                                      (begin
                                        (#{top-level-eval-hook\ 289}#
-                                         #{e\ 1760}#
-                                         #{mod\ 1686}#)
-                                       (if (memq (quote load) #{esew\ 1659}#)
-                                         #{e\ 1760}#
-                                         (#{chi-void\ 479}#)))))
-                                 (if (memq (quote load) #{esew\ 1659}#)
-                                   (#{chi-install-global\ 457}#
-                                     #{n\ 1756}#
-                                     (#{chi\ 465}#
-                                       #{e\ 1683}#
-                                       #{r\ 1757}#
-                                       #{w\ 1684}#
-                                       #{mod\ 1686}#))
-                                   (#{chi-void\ 479}#)))
-                               (if (eqv? #{m\ 1658}# (quote c&e))
+                                         #{e\ 1845}#
+                                         #{mod\ 1771}#)
+                                       (if (memq (quote load) #{esew\ 1744}#)
+                                         #{e\ 1845}#
+                                         (#{chi-void\ 474}#)))))
+                                 (if (memq (quote load) #{esew\ 1744}#)
+                                   (#{chi-install-global\ 452}#
+                                     #{n\ 1841}#
+                                     (#{chi\ 460}#
+                                       #{e\ 1768}#
+                                       #{r\ 1842}#
+                                       #{w\ 1769}#
+                                       #{mod\ 1771}#))
+                                   (#{chi-void\ 474}#)))
+                               (if (eqv? #{m\ 1743}# (quote c&e))
                                  (begin
-                                   (let ((#{e\ 1763}#
-                                           (#{chi-install-global\ 457}#
-                                             #{n\ 1756}#
-                                             (#{chi\ 465}#
-                                               #{e\ 1683}#
-                                               #{r\ 1757}#
-                                               #{w\ 1684}#
-                                               #{mod\ 1686}#))))
+                                   (let ((#{e\ 1848}#
+                                           (#{chi-install-global\ 452}#
+                                             #{n\ 1841}#
+                                             (#{chi\ 460}#
+                                               #{e\ 1768}#
+                                               #{r\ 1842}#
+                                               #{w\ 1769}#
+                                               #{mod\ 1771}#))))
                                      (begin
                                        (#{top-level-eval-hook\ 289}#
-                                         #{e\ 1763}#
-                                         #{mod\ 1686}#)
-                                       #{e\ 1763}#)))
+                                         #{e\ 1848}#
+                                         #{mod\ 1771}#)
+                                       #{e\ 1848}#)))
                                  (begin
-                                   (if (memq (quote eval) #{esew\ 1659}#)
+                                   (if (memq (quote eval) #{esew\ 1744}#)
                                      (#{top-level-eval-hook\ 289}#
-                                       (#{chi-install-global\ 457}#
-                                         #{n\ 1756}#
-                                         (#{chi\ 465}#
-                                           #{e\ 1683}#
-                                           #{r\ 1757}#
-                                           #{w\ 1684}#
-                                           #{mod\ 1686}#))
-                                       #{mod\ 1686}#))
-                                   (#{chi-void\ 479}#))))))
-                         (if (eqv? #{type\ 1681}# (quote define-form))
+                                       (#{chi-install-global\ 452}#
+                                         #{n\ 1841}#
+                                         (#{chi\ 460}#
+                                           #{e\ 1768}#
+                                           #{r\ 1842}#
+                                           #{w\ 1769}#
+                                           #{mod\ 1771}#))
+                                       #{mod\ 1771}#))
+                                   (#{chi-void\ 474}#))))))
+                         (if (eqv? #{type\ 1766}# (quote define-form))
                            (begin
-                             (let ((#{n\ 1768}#
-                                     (#{id-var-name\ 437}#
-                                       #{value\ 1682}#
-                                       #{w\ 1684}#)))
+                             (let ((#{n\ 1853}#
+                                     (#{id-var-name\ 432}#
+                                       #{value\ 1767}#
+                                       #{w\ 1769}#)))
                                (begin
-                                 (let ((#{type\ 1770}#
-                                         (#{binding-type\ 363}#
-                                           (#{lookup\ 374}#
-                                             #{n\ 1768}#
-                                             #{r\ 1656}#
-                                             #{mod\ 1686}#))))
-                                   (if (if (eqv? #{type\ 1770}# (quote global))
+                                 (let ((#{type\ 1855}#
+                                         (car (#{lookup\ 372}#
+                                                #{n\ 1853}#
+                                                #{r\ 1741}#
+                                                #{mod\ 1771}#))))
+                                   (if (if (eqv? #{type\ 1855}# (quote global))
                                          #t
-                                         (if (eqv? #{type\ 1770}# (quote core))
+                                         (if (eqv? #{type\ 1855}# (quote core))
                                            #t
-                                           (if (eqv? #{type\ 1770}#
+                                           (if (eqv? #{type\ 1855}#
                                                      'macro)
                                              #t
-                                             (eqv? #{type\ 1770}#
+                                             (eqv? #{type\ 1855}#
                                                    'module-ref))))
                                      (begin
-                                       (if (if (if (eq? #{m\ 1658}# (quote c))
+                                       (if (if (if (eq? #{m\ 1743}# (quote c))
                                                  #t
-                                                 (eq? #{m\ 1658}# (quote c&e)))
+                                                 (eq? #{m\ 1743}# (quote c&e)))
                                              (if (not (module-local-variable
                                                         (current-module)
-                                                        #{n\ 1768}#))
+                                                        #{n\ 1853}#))
                                                (current-module)
                                                #f)
                                              #f)
                                          (begin
-                                           (let ((#{old\ 1776}#
+                                           (let ((#{old\ 1862}#
                                                    (module-variable
                                                      (current-module)
-                                                     #{n\ 1768}#)))
+                                                     #{n\ 1853}#)))
                                              (module-define!
                                                (current-module)
-                                               #{n\ 1768}#
-                                               (if (variable? #{old\ 1776}#)
-                                                 (variable-ref #{old\ 1776}#)
+                                               #{n\ 1853}#
+                                               (if (variable? #{old\ 1862}#)
+                                                 (variable-ref #{old\ 1862}#)
                                                  #f)))))
                                        (begin
-                                         (let ((#{x\ 1779}#
+                                         (let ((#{x\ 1865}#
                                                  (#{build-global-definition\ 
320}#
-                                                   #{s\ 1685}#
-                                                   #{n\ 1768}#
-                                                   (#{chi\ 465}#
-                                                     #{e\ 1683}#
-                                                     #{r\ 1656}#
-                                                     #{w\ 1684}#
-                                                     #{mod\ 1686}#))))
+                                                   #{s\ 1770}#
+                                                   #{n\ 1853}#
+                                                   (#{chi\ 460}#
+                                                     #{e\ 1768}#
+                                                     #{r\ 1741}#
+                                                     #{w\ 1769}#
+                                                     #{mod\ 1771}#))))
                                            (begin
-                                             (if (eq? #{m\ 1658}# (quote c&e))
+                                             (if (eq? #{m\ 1743}# (quote c&e))
                                                (#{top-level-eval-hook\ 289}#
-                                                 #{x\ 1779}#
-                                                 #{mod\ 1686}#))
-                                             #{x\ 1779}#))))
-                                     (if (eqv? #{type\ 1770}#
+                                                 #{x\ 1865}#
+                                                 #{mod\ 1771}#))
+                                             #{x\ 1865}#))))
+                                     (if (eqv? #{type\ 1855}#
                                                'displaced-lexical)
                                        (syntax-violation
                                          #f
                                          "identifier out of context"
-                                         #{e\ 1683}#
-                                         (#{wrap\ 449}#
-                                           #{value\ 1682}#
-                                           #{w\ 1684}#
-                                           #{mod\ 1686}#))
+                                         #{e\ 1768}#
+                                         (#{wrap\ 444}#
+                                           #{value\ 1767}#
+                                           #{w\ 1769}#
+                                           #{mod\ 1771}#))
                                        (syntax-violation
                                          #f
                                          "cannot define keyword at top level"
-                                         #{e\ 1683}#
-                                         (#{wrap\ 449}#
-                                           #{value\ 1682}#
-                                           #{w\ 1684}#
-                                           #{mod\ 1686}#))))))))
+                                         #{e\ 1768}#
+                                         (#{wrap\ 444}#
+                                           #{value\ 1767}#
+                                           #{w\ 1769}#
+                                           #{mod\ 1771}#))))))))
                            (begin
-                             (let ((#{x\ 1785}#
-                                     (#{chi-expr\ 467}#
-                                       #{type\ 1681}#
-                                       #{value\ 1682}#
-                                       #{e\ 1683}#
-                                       #{r\ 1656}#
-                                       #{w\ 1684}#
-                                       #{s\ 1685}#
-                                       #{mod\ 1686}#)))
+                             (let ((#{x\ 1871}#
+                                     (#{chi-expr\ 462}#
+                                       #{type\ 1766}#
+                                       #{value\ 1767}#
+                                       #{e\ 1768}#
+                                       #{r\ 1741}#
+                                       #{w\ 1769}#
+                                       #{s\ 1770}#
+                                       #{mod\ 1771}#)))
                                (begin
-                                 (if (eq? #{m\ 1658}# (quote c&e))
+                                 (if (eq? #{m\ 1743}# (quote c&e))
                                    (#{top-level-eval-hook\ 289}#
-                                     #{x\ 1785}#
-                                     #{mod\ 1686}#))
-                                 #{x\ 1785}#))))))))))))
-         (#{chi\ 465}#
-           (lambda (#{e\ 1786}#
-                    #{r\ 1787}#
-                    #{w\ 1788}#
-                    #{mod\ 1789}#)
+                                     #{x\ 1871}#
+                                     #{mod\ 1771}#))
+                                 #{x\ 1871}#))))))))))))
+         (#{chi\ 460}#
+           (lambda (#{e\ 1872}#
+                    #{r\ 1873}#
+                    #{w\ 1874}#
+                    #{mod\ 1875}#)
              (call-with-values
                (lambda ()
-                 (#{syntax-type\ 461}#
-                   #{e\ 1786}#
-                   #{r\ 1787}#
-                   #{w\ 1788}#
-                   (#{source-annotation\ 359}# #{e\ 1786}#)
+                 (#{syntax-type\ 456}#
+                   #{e\ 1872}#
+                   #{r\ 1873}#
+                   #{w\ 1874}#
+                   (#{source-annotation\ 359}# #{e\ 1872}#)
                    #f
-                   #{mod\ 1789}#
+                   #{mod\ 1875}#
                    #f))
-               (lambda (#{type\ 1794}#
-                        #{value\ 1795}#
-                        #{e\ 1796}#
-                        #{w\ 1797}#
-                        #{s\ 1798}#
-                        #{mod\ 1799}#)
-                 (#{chi-expr\ 467}#
-                   #{type\ 1794}#
-                   #{value\ 1795}#
-                   #{e\ 1796}#
-                   #{r\ 1787}#
-                   #{w\ 1797}#
-                   #{s\ 1798}#
-                   #{mod\ 1799}#)))))
-         (#{chi-expr\ 467}#
-           (lambda (#{type\ 1806}#
-                    #{value\ 1807}#
-                    #{e\ 1808}#
-                    #{r\ 1809}#
-                    #{w\ 1810}#
-                    #{s\ 1811}#
-                    #{mod\ 1812}#)
-             (if (eqv? #{type\ 1806}# (quote lexical))
+               (lambda (#{type\ 1880}#
+                        #{value\ 1881}#
+                        #{e\ 1882}#
+                        #{w\ 1883}#
+                        #{s\ 1884}#
+                        #{mod\ 1885}#)
+                 (#{chi-expr\ 462}#
+                   #{type\ 1880}#
+                   #{value\ 1881}#
+                   #{e\ 1882}#
+                   #{r\ 1873}#
+                   #{w\ 1883}#
+                   #{s\ 1884}#
+                   #{mod\ 1885}#)))))
+         (#{chi-expr\ 462}#
+           (lambda (#{type\ 1892}#
+                    #{value\ 1893}#
+                    #{e\ 1894}#
+                    #{r\ 1895}#
+                    #{w\ 1896}#
+                    #{s\ 1897}#
+                    #{mod\ 1898}#)
+             (if (eqv? #{type\ 1892}# (quote lexical))
                (#{build-lexical-reference\ 310}#
                  'value
-                 #{s\ 1811}#
-                 #{e\ 1808}#
-                 #{value\ 1807}#)
-               (if (if (eqv? #{type\ 1806}# (quote core))
+                 #{s\ 1897}#
+                 #{e\ 1894}#
+                 #{value\ 1893}#)
+               (if (if (eqv? #{type\ 1892}# (quote core))
                      #t
-                     (eqv? #{type\ 1806}# (quote core-form)))
-                 (#{value\ 1807}#
-                   #{e\ 1808}#
-                   #{r\ 1809}#
-                   #{w\ 1810}#
-                   #{s\ 1811}#
-                   #{mod\ 1812}#)
-                 (if (eqv? #{type\ 1806}# (quote module-ref))
+                     (eqv? #{type\ 1892}# (quote core-form)))
+                 (#{value\ 1893}#
+                   #{e\ 1894}#
+                   #{r\ 1895}#
+                   #{w\ 1896}#
+                   #{s\ 1897}#
+                   #{mod\ 1898}#)
+                 (if (eqv? #{type\ 1892}# (quote module-ref))
                    (call-with-values
                      (lambda ()
-                       (#{value\ 1807}#
-                         #{e\ 1808}#
-                         #{r\ 1809}#
-                         #{w\ 1810}#))
-                     (lambda (#{e\ 1823}#
-                              #{r\ 1824}#
-                              #{w\ 1825}#
-                              #{s\ 1826}#
-                              #{mod\ 1827}#)
-                       (#{chi\ 465}#
-                         #{e\ 1823}#
-                         #{r\ 1824}#
-                         #{w\ 1825}#
-                         #{mod\ 1827}#)))
-                   (if (eqv? #{type\ 1806}# (quote lexical-call))
-                     (#{chi-application\ 469}#
+                       (#{value\ 1893}#
+                         #{e\ 1894}#
+                         #{r\ 1895}#
+                         #{w\ 1896}#))
+                     (lambda (#{e\ 1909}#
+                              #{r\ 1910}#
+                              #{w\ 1911}#
+                              #{s\ 1912}#
+                              #{mod\ 1913}#)
+                       (#{chi\ 460}#
+                         #{e\ 1909}#
+                         #{r\ 1910}#
+                         #{w\ 1911}#
+                         #{mod\ 1913}#)))
+                   (if (eqv? #{type\ 1892}# (quote lexical-call))
+                     (#{chi-application\ 464}#
                        (begin
-                         (let ((#{id\ 1835}# (car #{e\ 1808}#)))
+                         (let ((#{id\ 1921}# (car #{e\ 1894}#)))
                            (#{build-lexical-reference\ 310}#
                              'fun
-                             (#{source-annotation\ 359}# #{id\ 1835}#)
-                             (if (#{syntax-object?\ 344}# #{id\ 1835}#)
-                               (syntax->datum #{id\ 1835}#)
-                               #{id\ 1835}#)
-                             #{value\ 1807}#)))
-                       #{e\ 1808}#
-                       #{r\ 1809}#
-                       #{w\ 1810}#
-                       #{s\ 1811}#
-                       #{mod\ 1812}#)
-                     (if (eqv? #{type\ 1806}# (quote global-call))
-                       (#{chi-application\ 469}#
+                             (#{source-annotation\ 359}# #{id\ 1921}#)
+                             (if (#{syntax-object?\ 344}# #{id\ 1921}#)
+                               (syntax->datum #{id\ 1921}#)
+                               #{id\ 1921}#)
+                             #{value\ 1893}#)))
+                       #{e\ 1894}#
+                       #{r\ 1895}#
+                       #{w\ 1896}#
+                       #{s\ 1897}#
+                       #{mod\ 1898}#)
+                     (if (eqv? #{type\ 1892}# (quote global-call))
+                       (#{chi-application\ 464}#
                          (#{build-global-reference\ 316}#
-                           (#{source-annotation\ 359}# (car #{e\ 1808}#))
-                           (if (#{syntax-object?\ 344}# #{value\ 1807}#)
+                           (#{source-annotation\ 359}# (car #{e\ 1894}#))
+                           (if (#{syntax-object?\ 344}# #{value\ 1893}#)
                              (#{syntax-object-expression\ 346}#
-                               #{value\ 1807}#)
-                             #{value\ 1807}#)
-                           (if (#{syntax-object?\ 344}# #{value\ 1807}#)
-                             (#{syntax-object-module\ 350}# #{value\ 1807}#)
-                             #{mod\ 1812}#))
-                         #{e\ 1808}#
-                         #{r\ 1809}#
-                         #{w\ 1810}#
-                         #{s\ 1811}#
-                         #{mod\ 1812}#)
-                       (if (eqv? #{type\ 1806}# (quote constant))
+                               #{value\ 1893}#)
+                             #{value\ 1893}#)
+                           (if (#{syntax-object?\ 344}# #{value\ 1893}#)
+                             (#{syntax-object-module\ 350}# #{value\ 1893}#)
+                             #{mod\ 1898}#))
+                         #{e\ 1894}#
+                         #{r\ 1895}#
+                         #{w\ 1896}#
+                         #{s\ 1897}#
+                         #{mod\ 1898}#)
+                       (if (eqv? #{type\ 1892}# (quote constant))
                          (#{build-data\ 330}#
-                           #{s\ 1811}#
-                           (#{strip\ 491}#
-                             (#{source-wrap\ 451}#
-                               #{e\ 1808}#
-                               #{w\ 1810}#
-                               #{s\ 1811}#
-                               #{mod\ 1812}#)
+                           #{s\ 1897}#
+                           (#{strip\ 486}#
+                             (#{source-wrap\ 446}#
+                               #{e\ 1894}#
+                               #{w\ 1896}#
+                               #{s\ 1897}#
+                               #{mod\ 1898}#)
                              '(())))
-                         (if (eqv? #{type\ 1806}# (quote global))
+                         (if (eqv? #{type\ 1892}# (quote global))
                            (#{build-global-reference\ 316}#
-                             #{s\ 1811}#
-                             #{value\ 1807}#
-                             #{mod\ 1812}#)
-                           (if (eqv? #{type\ 1806}# (quote call))
-                             (#{chi-application\ 469}#
-                               (#{chi\ 465}#
-                                 (car #{e\ 1808}#)
-                                 #{r\ 1809}#
-                                 #{w\ 1810}#
-                                 #{mod\ 1812}#)
-                               #{e\ 1808}#
-                               #{r\ 1809}#
-                               #{w\ 1810}#
-                               #{s\ 1811}#
-                               #{mod\ 1812}#)
-                             (if (eqv? #{type\ 1806}# (quote begin-form))
-                               (let ((#{tmp\ 1842}# #{e\ 1808}#))
-                                 (let ((#{tmp\ 1843}#
+                             #{s\ 1897}#
+                             #{value\ 1893}#
+                             #{mod\ 1898}#)
+                           (if (eqv? #{type\ 1892}# (quote call))
+                             (#{chi-application\ 464}#
+                               (#{chi\ 460}#
+                                 (car #{e\ 1894}#)
+                                 #{r\ 1895}#
+                                 #{w\ 1896}#
+                                 #{mod\ 1898}#)
+                               #{e\ 1894}#
+                               #{r\ 1895}#
+                               #{w\ 1896}#
+                               #{s\ 1897}#
+                               #{mod\ 1898}#)
+                             (if (eqv? #{type\ 1892}# (quote begin-form))
+                               (let ((#{tmp\ 1928}# #{e\ 1894}#))
+                                 (let ((#{tmp\ 1929}#
                                          ($sc-dispatch
-                                           #{tmp\ 1842}#
+                                           #{tmp\ 1928}#
                                            '(_ any . each-any))))
-                                   (if #{tmp\ 1843}#
+                                   (if #{tmp\ 1929}#
                                      (@apply
-                                       (lambda (#{e1\ 1846}# #{e2\ 1847}#)
-                                         (#{chi-sequence\ 453}#
-                                           (cons #{e1\ 1846}# #{e2\ 1847}#)
-                                           #{r\ 1809}#
-                                           #{w\ 1810}#
-                                           #{s\ 1811}#
-                                           #{mod\ 1812}#))
-                                       #{tmp\ 1843}#)
+                                       (lambda (#{e1\ 1932}# #{e2\ 1933}#)
+                                         (#{chi-sequence\ 448}#
+                                           (cons #{e1\ 1932}# #{e2\ 1933}#)
+                                           #{r\ 1895}#
+                                           #{w\ 1896}#
+                                           #{s\ 1897}#
+                                           #{mod\ 1898}#))
+                                       #{tmp\ 1929}#)
                                      (syntax-violation
                                        #f
                                        "source expression failed to match any 
pattern"
-                                       #{tmp\ 1842}#))))
-                               (if (eqv? #{type\ 1806}#
+                                       #{tmp\ 1928}#))))
+                               (if (eqv? #{type\ 1892}#
                                          'local-syntax-form)
-                                 (#{chi-local-syntax\ 475}#
-                                   #{value\ 1807}#
-                                   #{e\ 1808}#
-                                   #{r\ 1809}#
-                                   #{w\ 1810}#
-                                   #{s\ 1811}#
-                                   #{mod\ 1812}#
-                                   #{chi-sequence\ 453}#)
-                                 (if (eqv? #{type\ 1806}#
+                                 (#{chi-local-syntax\ 470}#
+                                   #{value\ 1893}#
+                                   #{e\ 1894}#
+                                   #{r\ 1895}#
+                                   #{w\ 1896}#
+                                   #{s\ 1897}#
+                                   #{mod\ 1898}#
+                                   #{chi-sequence\ 448}#)
+                                 (if (eqv? #{type\ 1892}#
                                            'eval-when-form)
-                                   (let ((#{tmp\ 1851}# #{e\ 1808}#))
-                                     (let ((#{tmp\ 1852}#
+                                   (let ((#{tmp\ 1937}# #{e\ 1894}#))
+                                     (let ((#{tmp\ 1938}#
                                              ($sc-dispatch
-                                               #{tmp\ 1851}#
+                                               #{tmp\ 1937}#
                                                '(_ each-any any . each-any))))
-                                       (if #{tmp\ 1852}#
+                                       (if #{tmp\ 1938}#
                                          (@apply
-                                           (lambda (#{x\ 1856}#
-                                                    #{e1\ 1857}#
-                                                    #{e2\ 1858}#)
+                                           (lambda (#{x\ 1942}#
+                                                    #{e1\ 1943}#
+                                                    #{e2\ 1944}#)
                                              (begin
-                                               (let ((#{when-list\ 1860}#
-                                                       (#{chi-when-list\ 459}#
-                                                         #{e\ 1808}#
-                                                         #{x\ 1856}#
-                                                         #{w\ 1810}#)))
+                                               (let ((#{when-list\ 1946}#
+                                                       (#{chi-when-list\ 454}#
+                                                         #{e\ 1894}#
+                                                         #{x\ 1942}#
+                                                         #{w\ 1896}#)))
                                                  (if (memq 'eval
-                                                           #{when-list\ 1860}#)
-                                                   (#{chi-sequence\ 453}#
-                                                     (cons #{e1\ 1857}#
-                                                           #{e2\ 1858}#)
-                                                     #{r\ 1809}#
-                                                     #{w\ 1810}#
-                                                     #{s\ 1811}#
-                                                     #{mod\ 1812}#)
-                                                   (#{chi-void\ 479}#)))))
-                                           #{tmp\ 1852}#)
+                                                           #{when-list\ 1946}#)
+                                                   (#{chi-sequence\ 448}#
+                                                     (cons #{e1\ 1943}#
+                                                           #{e2\ 1944}#)
+                                                     #{r\ 1895}#
+                                                     #{w\ 1896}#
+                                                     #{s\ 1897}#
+                                                     #{mod\ 1898}#)
+                                                   (#{chi-void\ 474}#)))))
+                                           #{tmp\ 1938}#)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match 
any pattern"
-                                           #{tmp\ 1851}#))))
-                                   (if (if (eqv? #{type\ 1806}#
+                                           #{tmp\ 1937}#))))
+                                   (if (if (eqv? #{type\ 1892}#
                                                  'define-form)
                                          #t
-                                         (eqv? #{type\ 1806}#
+                                         (eqv? #{type\ 1892}#
                                                'define-syntax-form))
                                      (syntax-violation
                                        #f
                                        "definition in expression context"
-                                       #{e\ 1808}#
-                                       (#{wrap\ 449}#
-                                         #{value\ 1807}#
-                                         #{w\ 1810}#
-                                         #{mod\ 1812}#))
-                                     (if (eqv? #{type\ 1806}# (quote syntax))
+                                       #{e\ 1894}#
+                                       (#{wrap\ 444}#
+                                         #{value\ 1893}#
+                                         #{w\ 1896}#
+                                         #{mod\ 1898}#))
+                                     (if (eqv? #{type\ 1892}# (quote syntax))
                                        (syntax-violation
                                          #f
                                          "reference to pattern variable 
outside syntax form"
-                                         (#{source-wrap\ 451}#
-                                           #{e\ 1808}#
-                                           #{w\ 1810}#
-                                           #{s\ 1811}#
-                                           #{mod\ 1812}#))
-                                       (if (eqv? #{type\ 1806}#
+                                         (#{source-wrap\ 446}#
+                                           #{e\ 1894}#
+                                           #{w\ 1896}#
+                                           #{s\ 1897}#
+                                           #{mod\ 1898}#))
+                                       (if (eqv? #{type\ 1892}#
                                                  'displaced-lexical)
                                          (syntax-violation
                                            #f
                                            "reference to identifier outside 
its scope"
-                                           (#{source-wrap\ 451}#
-                                             #{e\ 1808}#
-                                             #{w\ 1810}#
-                                             #{s\ 1811}#
-                                             #{mod\ 1812}#))
+                                           (#{source-wrap\ 446}#
+                                             #{e\ 1894}#
+                                             #{w\ 1896}#
+                                             #{s\ 1897}#
+                                             #{mod\ 1898}#))
                                          (syntax-violation
                                            #f
                                            "unexpected syntax"
-                                           (#{source-wrap\ 451}#
-                                             #{e\ 1808}#
-                                             #{w\ 1810}#
-                                             #{s\ 1811}#
-                                             #{mod\ 1812}#))))))))))))))))))
-         (#{chi-application\ 469}#
-           (lambda (#{x\ 1867}#
-                    #{e\ 1868}#
-                    #{r\ 1869}#
-                    #{w\ 1870}#
-                    #{s\ 1871}#
-                    #{mod\ 1872}#)
-             (let ((#{tmp\ 1879}# #{e\ 1868}#))
-               (let ((#{tmp\ 1880}#
+                                           (#{source-wrap\ 446}#
+                                             #{e\ 1894}#
+                                             #{w\ 1896}#
+                                             #{s\ 1897}#
+                                             #{mod\ 1898}#))))))))))))))))))
+         (#{chi-application\ 464}#
+           (lambda (#{x\ 1953}#
+                    #{e\ 1954}#
+                    #{r\ 1955}#
+                    #{w\ 1956}#
+                    #{s\ 1957}#
+                    #{mod\ 1958}#)
+             (let ((#{tmp\ 1965}# #{e\ 1954}#))
+               (let ((#{tmp\ 1966}#
                        ($sc-dispatch
-                         #{tmp\ 1879}#
+                         #{tmp\ 1965}#
                          '(any . each-any))))
-                 (if #{tmp\ 1880}#
+                 (if #{tmp\ 1966}#
                    (@apply
-                     (lambda (#{e0\ 1883}# #{e1\ 1884}#)
+                     (lambda (#{e0\ 1969}# #{e1\ 1970}#)
                        (#{build-application\ 304}#
-                         #{s\ 1871}#
-                         #{x\ 1867}#
-                         (map (lambda (#{e\ 1885}#)
-                                (#{chi\ 465}#
-                                  #{e\ 1885}#
-                                  #{r\ 1869}#
-                                  #{w\ 1870}#
-                                  #{mod\ 1872}#))
-                              #{e1\ 1884}#)))
-                     #{tmp\ 1880}#)
+                         #{s\ 1957}#
+                         #{x\ 1953}#
+                         (map (lambda (#{e\ 1971}#)
+                                (#{chi\ 460}#
+                                  #{e\ 1971}#
+                                  #{r\ 1955}#
+                                  #{w\ 1956}#
+                                  #{mod\ 1958}#))
+                              #{e1\ 1970}#)))
+                     #{tmp\ 1966}#)
                    (syntax-violation
                      #f
                      "source expression failed to match any pattern"
-                     #{tmp\ 1879}#))))))
-         (#{chi-macro\ 471}#
-           (lambda (#{p\ 1888}#
-                    #{e\ 1889}#
-                    #{r\ 1890}#
-                    #{w\ 1891}#
-                    #{s\ 1892}#
-                    #{rib\ 1893}#
-                    #{mod\ 1894}#)
+                     #{tmp\ 1965}#))))))
+         (#{chi-macro\ 466}#
+           (lambda (#{p\ 1974}#
+                    #{e\ 1975}#
+                    #{r\ 1976}#
+                    #{w\ 1977}#
+                    #{s\ 1978}#
+                    #{rib\ 1979}#
+                    #{mod\ 1980}#)
              (letrec*
-               ((#{rebuild-macro-output\ 1903}#
-                  (lambda (#{x\ 1904}# #{m\ 1905}#)
-                    (if (pair? #{x\ 1904}#)
+               ((#{rebuild-macro-output\ 1989}#
+                  (lambda (#{x\ 1990}# #{m\ 1991}#)
+                    (if (pair? #{x\ 1990}#)
                       (#{decorate-source\ 298}#
-                        (cons (#{rebuild-macro-output\ 1903}#
-                                (car #{x\ 1904}#)
-                                #{m\ 1905}#)
-                              (#{rebuild-macro-output\ 1903}#
-                                (cdr #{x\ 1904}#)
-                                #{m\ 1905}#))
-                        #{s\ 1892}#)
-                      (if (#{syntax-object?\ 344}# #{x\ 1904}#)
+                        (cons (#{rebuild-macro-output\ 1989}#
+                                (car #{x\ 1990}#)
+                                #{m\ 1991}#)
+                              (#{rebuild-macro-output\ 1989}#
+                                (cdr #{x\ 1990}#)
+                                #{m\ 1991}#))
+                        #{s\ 1978}#)
+                      (if (#{syntax-object?\ 344}# #{x\ 1990}#)
                         (begin
-                          (let ((#{w\ 1913}#
-                                  (#{syntax-object-wrap\ 348}# #{x\ 1904}#)))
+                          (let ((#{w\ 1999}#
+                                  (#{syntax-object-wrap\ 348}# #{x\ 1990}#)))
                             (begin
-                              (let ((#{ms\ 1916}#
-                                      (#{wrap-marks\ 387}# #{w\ 1913}#))
-                                    (#{s\ 1917}#
-                                      (#{wrap-subst\ 389}# #{w\ 1913}#)))
-                                (if (if (pair? #{ms\ 1916}#)
-                                      (eq? (car #{ms\ 1916}#) #f)
+                              (let ((#{ms\ 2002}# (car #{w\ 1999}#))
+                                    (#{s\ 2003}# (cdr #{w\ 1999}#)))
+                                (if (if (pair? #{ms\ 2002}#)
+                                      (eq? (car #{ms\ 2002}#) #f)
                                       #f)
                                   (#{make-syntax-object\ 342}#
                                     (#{syntax-object-expression\ 346}#
-                                      #{x\ 1904}#)
-                                    (#{make-wrap\ 385}#
-                                      (cdr #{ms\ 1916}#)
-                                      (if #{rib\ 1893}#
-                                        (cons #{rib\ 1893}# (cdr #{s\ 1917}#))
-                                        (cdr #{s\ 1917}#)))
+                                      #{x\ 1990}#)
+                                    (cons (cdr #{ms\ 2002}#)
+                                          (if #{rib\ 1979}#
+                                            (cons #{rib\ 1979}#
+                                                  (cdr #{s\ 2003}#))
+                                            (cdr #{s\ 2003}#)))
                                     (#{syntax-object-module\ 350}#
-                                      #{x\ 1904}#))
+                                      #{x\ 1990}#))
                                   (#{make-syntax-object\ 342}#
                                     (#{decorate-source\ 298}#
                                       (#{syntax-object-expression\ 346}#
-                                        #{x\ 1904}#)
-                                      #{s\ 1917}#)
-                                    (#{make-wrap\ 385}#
-                                      (cons #{m\ 1905}# #{ms\ 1916}#)
-                                      (if #{rib\ 1893}#
-                                        (cons #{rib\ 1893}#
-                                              (cons (quote shift) #{s\ 1917}#))
-                                        (cons (quote shift) #{s\ 1917}#)))
+                                        #{x\ 1990}#)
+                                      #{s\ 2003}#)
+                                    (cons (cons #{m\ 1991}# #{ms\ 2002}#)
+                                          (if #{rib\ 1979}#
+                                            (cons #{rib\ 1979}#
+                                                  (cons 'shift
+                                                        #{s\ 2003}#))
+                                            (cons (quote shift) #{s\ 2003}#)))
                                     (#{syntax-object-module\ 350}#
-                                      #{x\ 1904}#)))))))
-                        (if (vector? #{x\ 1904}#)
+                                      #{x\ 1990}#)))))))
+                        (if (vector? #{x\ 1990}#)
                           (begin
-                            (let ((#{n\ 1925}# (vector-length #{x\ 1904}#)))
+                            (let ((#{n\ 2015}# (vector-length #{x\ 1990}#)))
                               (begin
-                                (let ((#{v\ 1927}#
+                                (let ((#{v\ 2017}#
                                         (#{decorate-source\ 298}#
-                                          (make-vector #{n\ 1925}#)
-                                          #{x\ 1904}#)))
+                                          (make-vector #{n\ 2015}#)
+                                          #{x\ 1990}#)))
                                   (letrec*
-                                    ((#{loop\ 1930}#
-                                       (lambda (#{i\ 1931}#)
+                                    ((#{loop\ 2020}#
+                                       (lambda (#{i\ 2021}#)
                                          (if (#{fx=\ 285}#
-                                               #{i\ 1931}#
-                                               #{n\ 1925}#)
-                                           (begin (if #f #f) #{v\ 1927}#)
+                                               #{i\ 2021}#
+                                               #{n\ 2015}#)
+                                           (begin (if #f #f) #{v\ 2017}#)
                                            (begin
                                              (vector-set!
-                                               #{v\ 1927}#
-                                               #{i\ 1931}#
-                                               (#{rebuild-macro-output\ 1903}#
+                                               #{v\ 2017}#
+                                               #{i\ 2021}#
+                                               (#{rebuild-macro-output\ 1989}#
                                                  (vector-ref
-                                                   #{x\ 1904}#
-                                                   #{i\ 1931}#)
-                                                 #{m\ 1905}#))
-                                             (#{loop\ 1930}#
+                                                   #{x\ 1990}#
+                                                   #{i\ 2021}#)
+                                                 #{m\ 1991}#))
+                                             (#{loop\ 2020}#
                                                (#{fx+\ 281}#
-                                                 #{i\ 1931}#
+                                                 #{i\ 2021}#
                                                  1)))))))
-                                    (begin (#{loop\ 1930}# 0)))))))
-                          (if (symbol? #{x\ 1904}#)
+                                    (begin (#{loop\ 2020}# 0)))))))
+                          (if (symbol? #{x\ 1990}#)
                             (syntax-violation
                               #f
                               "encountered raw symbol in macro output"
-                              (#{source-wrap\ 451}#
-                                #{e\ 1889}#
-                                #{w\ 1891}#
-                                (#{wrap-subst\ 389}# #{w\ 1891}#)
-                                #{mod\ 1894}#)
-                              #{x\ 1904}#)
+                              (#{source-wrap\ 446}#
+                                #{e\ 1975}#
+                                #{w\ 1977}#
+                                (cdr #{w\ 1977}#)
+                                #{mod\ 1980}#)
+                              #{x\ 1990}#)
                             (#{decorate-source\ 298}#
-                              #{x\ 1904}#
-                              #{s\ 1892}#))))))))
+                              #{x\ 1990}#
+                              #{s\ 1978}#))))))))
                (begin
-                 (#{rebuild-macro-output\ 1903}#
-                   (#{p\ 1888}#
-                     (#{source-wrap\ 451}#
-                       #{e\ 1889}#
-                       (#{anti-mark\ 421}# #{w\ 1891}#)
-                       #{s\ 1892}#
-                       #{mod\ 1894}#))
+                 (#{rebuild-macro-output\ 1989}#
+                   (#{p\ 1974}#
+                     (#{source-wrap\ 446}#
+                       #{e\ 1975}#
+                       (#{anti-mark\ 416}# #{w\ 1977}#)
+                       #{s\ 1978}#
+                       #{mod\ 1980}#))
                    (gensym "m"))))))
-         (#{chi-body\ 473}#
-           (lambda (#{body\ 1938}#
-                    #{outer-form\ 1939}#
-                    #{r\ 1940}#
-                    #{w\ 1941}#
-                    #{mod\ 1942}#)
+         (#{chi-body\ 468}#
+           (lambda (#{body\ 2029}#
+                    #{outer-form\ 2030}#
+                    #{r\ 2031}#
+                    #{w\ 2032}#
+                    #{mod\ 2033}#)
              (begin
-               (let ((#{r\ 1950}#
+               (let ((#{r\ 2041}#
                        (cons '("placeholder" placeholder)
-                             #{r\ 1940}#)))
+                             #{r\ 2031}#)))
                  (begin
-                   (let ((#{ribcage\ 1952}#
-                           (#{make-ribcage\ 401}#
+                   (let ((#{ribcage\ 2043}#
+                           (#{make-ribcage\ 396}#
                              '()
                              '()
                              '())))
                      (begin
-                       (let ((#{w\ 1955}#
-                               (#{make-wrap\ 385}#
-                                 (#{wrap-marks\ 387}# #{w\ 1941}#)
-                                 (cons #{ribcage\ 1952}#
-                                       (#{wrap-subst\ 389}# #{w\ 1941}#)))))
+                       (let ((#{w\ 2046}#
+                               (cons (car #{w\ 2032}#)
+                                     (cons #{ribcage\ 2043}#
+                                           (cdr #{w\ 2032}#)))))
                          (letrec*
-                           ((#{parse\ 1964}#
-                              (lambda (#{body\ 1965}#
-                                       #{ids\ 1966}#
-                                       #{labels\ 1967}#
-                                       #{var-ids\ 1968}#
-                                       #{vars\ 1969}#
-                                       #{vals\ 1970}#
-                                       #{bindings\ 1971}#)
-                                (if (null? #{body\ 1965}#)
+                           ((#{parse\ 2058}#
+                              (lambda (#{body\ 2059}#
+                                       #{ids\ 2060}#
+                                       #{labels\ 2061}#
+                                       #{var-ids\ 2062}#
+                                       #{vars\ 2063}#
+                                       #{vals\ 2064}#
+                                       #{bindings\ 2065}#)
+                                (if (null? #{body\ 2059}#)
                                   (syntax-violation
                                     #f
                                     "no expressions in body"
-                                    #{outer-form\ 1939}#)
+                                    #{outer-form\ 2030}#)
                                   (begin
-                                    (let ((#{e\ 1976}#
-                                            (cdr (car #{body\ 1965}#)))
-                                          (#{er\ 1977}#
-                                            (car (car #{body\ 1965}#))))
+                                    (let ((#{e\ 2070}#
+                                            (cdr (car #{body\ 2059}#)))
+                                          (#{er\ 2071}#
+                                            (car (car #{body\ 2059}#))))
                                       (call-with-values
                                         (lambda ()
-                                          (#{syntax-type\ 461}#
-                                            #{e\ 1976}#
-                                            #{er\ 1977}#
+                                          (#{syntax-type\ 456}#
+                                            #{e\ 2070}#
+                                            #{er\ 2071}#
                                             '(())
                                             (#{source-annotation\ 359}#
-                                              #{er\ 1977}#)
-                                            #{ribcage\ 1952}#
-                                            #{mod\ 1942}#
+                                              #{er\ 2071}#)
+                                            #{ribcage\ 2043}#
+                                            #{mod\ 2033}#
                                             #f))
-                                        (lambda (#{type\ 1979}#
-                                                 #{value\ 1980}#
-                                                 #{e\ 1981}#
-                                                 #{w\ 1982}#
-                                                 #{s\ 1983}#
-                                                 #{mod\ 1984}#)
-                                          (if (eqv? #{type\ 1979}#
+                                        (lambda (#{type\ 2073}#
+                                                 #{value\ 2074}#
+                                                 #{e\ 2075}#
+                                                 #{w\ 2076}#
+                                                 #{s\ 2077}#
+                                                 #{mod\ 2078}#)
+                                          (if (eqv? #{type\ 2073}#
                                                     'define-form)
                                             (begin
-                                              (let ((#{id\ 1994}#
-                                                      (#{wrap\ 449}#
-                                                        #{value\ 1980}#
-                                                        #{w\ 1982}#
-                                                        #{mod\ 1984}#))
-                                                    (#{label\ 1995}#
-                                                      (#{gen-label\ 396}#)))
+                                              (let ((#{id\ 2088}#
+                                                      (#{wrap\ 444}#
+                                                        #{value\ 2074}#
+                                                        #{w\ 2076}#
+                                                        #{mod\ 2078}#))
+                                                    (#{label\ 2089}#
+                                                      (#{gen-label\ 391}#)))
                                                 (begin
-                                                  (let ((#{var\ 1997}#
-                                                          (#{gen-var\ 493}#
-                                                            #{id\ 1994}#)))
+                                                  (let ((#{var\ 2091}#
+                                                          (#{gen-var\ 488}#
+                                                            #{id\ 2088}#)))
                                                     (begin
-                                                      (#{extend-ribcage!\ 425}#
-                                                        #{ribcage\ 1952}#
-                                                        #{id\ 1994}#
-                                                        #{label\ 1995}#)
-                                                      (#{parse\ 1964}#
-                                                        (cdr #{body\ 1965}#)
-                                                        (cons #{id\ 1994}#
-                                                              #{ids\ 1966}#)
-                                                        (cons #{label\ 1995}#
-                                                              #{labels\ 1967}#)
-                                                        (cons #{id\ 1994}#
-                                                              #{var-ids\ 
1968}#)
-                                                        (cons #{var\ 1997}#
-                                                              #{vars\ 1969}#)
-                                                        (cons (cons #{er\ 
1977}#
-                                                                    (#{wrap\ 
449}#
-                                                                      #{e\ 
1981}#
-                                                                      #{w\ 
1982}#
-                                                                      #{mod\ 
1984}#))
-                                                              #{vals\ 1970}#)
+                                                      (#{extend-ribcage!\ 420}#
+                                                        #{ribcage\ 2043}#
+                                                        #{id\ 2088}#
+                                                        #{label\ 2089}#)
+                                                      (#{parse\ 2058}#
+                                                        (cdr #{body\ 2059}#)
+                                                        (cons #{id\ 2088}#
+                                                              #{ids\ 2060}#)
+                                                        (cons #{label\ 2089}#
+                                                              #{labels\ 2061}#)
+                                                        (cons #{id\ 2088}#
+                                                              #{var-ids\ 
2062}#)
+                                                        (cons #{var\ 2091}#
+                                                              #{vars\ 2063}#)
+                                                        (cons (cons #{er\ 
2071}#
+                                                                    (#{wrap\ 
444}#
+                                                                      #{e\ 
2075}#
+                                                                      #{w\ 
2076}#
+                                                                      #{mod\ 
2078}#))
+                                                              #{vals\ 2064}#)
                                                         (cons (cons 'lexical
-                                                                    #{var\ 
1997}#)
-                                                              #{bindings\ 
1971}#)))))))
-                                            (if (eqv? #{type\ 1979}#
+                                                                    #{var\ 
2091}#)
+                                                              #{bindings\ 
2065}#)))))))
+                                            (if (eqv? #{type\ 2073}#
                                                       'define-syntax-form)
                                               (begin
-                                                (let ((#{id\ 2002}#
-                                                        (#{wrap\ 449}#
-                                                          #{value\ 1980}#
-                                                          #{w\ 1982}#
-                                                          #{mod\ 1984}#))
-                                                      (#{label\ 2003}#
-                                                        (#{gen-label\ 396}#)))
+                                                (let ((#{id\ 2096}#
+                                                        (#{wrap\ 444}#
+                                                          #{value\ 2074}#
+                                                          #{w\ 2076}#
+                                                          #{mod\ 2078}#))
+                                                      (#{label\ 2097}#
+                                                        (#{gen-label\ 391}#)))
                                                   (begin
-                                                    (#{extend-ribcage!\ 425}#
-                                                      #{ribcage\ 1952}#
-                                                      #{id\ 2002}#
-                                                      #{label\ 2003}#)
-                                                    (#{parse\ 1964}#
-                                                      (cdr #{body\ 1965}#)
-                                                      (cons #{id\ 2002}#
-                                                            #{ids\ 1966}#)
-                                                      (cons #{label\ 2003}#
-                                                            #{labels\ 1967}#)
-                                                      #{var-ids\ 1968}#
-                                                      #{vars\ 1969}#
-                                                      #{vals\ 1970}#
+                                                    (#{extend-ribcage!\ 420}#
+                                                      #{ribcage\ 2043}#
+                                                      #{id\ 2096}#
+                                                      #{label\ 2097}#)
+                                                    (#{parse\ 2058}#
+                                                      (cdr #{body\ 2059}#)
+                                                      (cons #{id\ 2096}#
+                                                            #{ids\ 2060}#)
+                                                      (cons #{label\ 2097}#
+                                                            #{labels\ 2061}#)
+                                                      #{var-ids\ 2062}#
+                                                      #{vars\ 2063}#
+                                                      #{vals\ 2064}#
                                                       (cons (cons 'macro
-                                                                  (cons #{er\ 
1977}#
-                                                                        
(#{wrap\ 449}#
-                                                                          #{e\ 
1981}#
-                                                                          #{w\ 
1982}#
-                                                                          
#{mod\ 1984}#)))
-                                                            #{bindings\ 
1971}#)))))
-                                              (if (eqv? #{type\ 1979}#
+                                                                  (cons #{er\ 
2071}#
+                                                                        
(#{wrap\ 444}#
+                                                                          #{e\ 
2075}#
+                                                                          #{w\ 
2076}#
+                                                                          
#{mod\ 2078}#)))
+                                                            #{bindings\ 
2065}#)))))
+                                              (if (eqv? #{type\ 2073}#
                                                         'begin-form)
-                                                (let ((#{tmp\ 2006}#
-                                                        #{e\ 1981}#))
-                                                  (let ((#{tmp\ 2007}#
+                                                (let ((#{tmp\ 2100}#
+                                                        #{e\ 2075}#))
+                                                  (let ((#{tmp\ 2101}#
                                                           ($sc-dispatch
-                                                            #{tmp\ 2006}#
+                                                            #{tmp\ 2100}#
                                                             '(_ . each-any))))
-                                                    (if #{tmp\ 2007}#
+                                                    (if #{tmp\ 2101}#
                                                       (@apply
-                                                        (lambda (#{e1\ 2009}#)
-                                                          (#{parse\ 1964}#
+                                                        (lambda (#{e1\ 2103}#)
+                                                          (#{parse\ 2058}#
                                                             (letrec*
-                                                              ((#{f\ 2012}#
-                                                                 (lambda 
(#{forms\ 2013}#)
-                                                                   (if (null? 
#{forms\ 2013}#)
-                                                                     (cdr 
#{body\ 1965}#)
-                                                                     (cons 
(cons #{er\ 1977}#
-                                                                               
  (#{wrap\ 449}#
-                                                                               
    (car #{forms\ 2013}#)
-                                                                               
    #{w\ 1982}#
-                                                                               
    #{mod\ 1984}#))
-                                                                           
(#{f\ 2012}#
-                                                                             
(cdr #{forms\ 2013}#)))))))
+                                                              ((#{f\ 2106}#
+                                                                 (lambda 
(#{forms\ 2107}#)
+                                                                   (if (null? 
#{forms\ 2107}#)
+                                                                     (cdr 
#{body\ 2059}#)
+                                                                     (cons 
(cons #{er\ 2071}#
+                                                                               
  (#{wrap\ 444}#
+                                                                               
    (car #{forms\ 2107}#)
+                                                                               
    #{w\ 2076}#
+                                                                               
    #{mod\ 2078}#))
+                                                                           
(#{f\ 2106}#
+                                                                             
(cdr #{forms\ 2107}#)))))))
                                                               (begin
-                                                                (#{f\ 2012}#
-                                                                  #{e1\ 
2009}#)))
-                                                            #{ids\ 1966}#
-                                                            #{labels\ 1967}#
-                                                            #{var-ids\ 1968}#
-                                                            #{vars\ 1969}#
-                                                            #{vals\ 1970}#
-                                                            #{bindings\ 
1971}#))
-                                                        #{tmp\ 2007}#)
+                                                                (#{f\ 2106}#
+                                                                  #{e1\ 
2103}#)))
+                                                            #{ids\ 2060}#
+                                                            #{labels\ 2061}#
+                                                            #{var-ids\ 2062}#
+                                                            #{vars\ 2063}#
+                                                            #{vals\ 2064}#
+                                                            #{bindings\ 
2065}#))
+                                                        #{tmp\ 2101}#)
                                                       (syntax-violation
                                                         #f
                                                         "source expression 
failed to match any pattern"
-                                                        #{tmp\ 2006}#))))
-                                                (if (eqv? #{type\ 1979}#
+                                                        #{tmp\ 2100}#))))
+                                                (if (eqv? #{type\ 2073}#
                                                           'local-syntax-form)
-                                                  (#{chi-local-syntax\ 475}#
-                                                    #{value\ 1980}#
-                                                    #{e\ 1981}#
-                                                    #{er\ 1977}#
-                                                    #{w\ 1982}#
-                                                    #{s\ 1983}#
-                                                    #{mod\ 1984}#
-                                                    (lambda (#{forms\ 2016}#
-                                                             #{er\ 2017}#
-                                                             #{w\ 2018}#
-                                                             #{s\ 2019}#
-                                                             #{mod\ 2020}#)
-                                                      (#{parse\ 1964}#
+                                                  (#{chi-local-syntax\ 470}#
+                                                    #{value\ 2074}#
+                                                    #{e\ 2075}#
+                                                    #{er\ 2071}#
+                                                    #{w\ 2076}#
+                                                    #{s\ 2077}#
+                                                    #{mod\ 2078}#
+                                                    (lambda (#{forms\ 2110}#
+                                                             #{er\ 2111}#
+                                                             #{w\ 2112}#
+                                                             #{s\ 2113}#
+                                                             #{mod\ 2114}#)
+                                                      (#{parse\ 2058}#
                                                         (letrec*
-                                                          ((#{f\ 2028}#
-                                                             (lambda (#{forms\ 
2029}#)
-                                                               (if (null? 
#{forms\ 2029}#)
-                                                                 (cdr #{body\ 
1965}#)
-                                                                 (cons (cons 
#{er\ 2017}#
-                                                                             
(#{wrap\ 449}#
-                                                                               
(car #{forms\ 2029}#)
-                                                                               
#{w\ 2018}#
-                                                                               
#{mod\ 2020}#))
-                                                                       (#{f\ 
2028}#
-                                                                         (cdr 
#{forms\ 2029}#)))))))
+                                                          ((#{f\ 2122}#
+                                                             (lambda (#{forms\ 
2123}#)
+                                                               (if (null? 
#{forms\ 2123}#)
+                                                                 (cdr #{body\ 
2059}#)
+                                                                 (cons (cons 
#{er\ 2111}#
+                                                                             
(#{wrap\ 444}#
+                                                                               
(car #{forms\ 2123}#)
+                                                                               
#{w\ 2112}#
+                                                                               
#{mod\ 2114}#))
+                                                                       (#{f\ 
2122}#
+                                                                         (cdr 
#{forms\ 2123}#)))))))
                                                           (begin
-                                                            (#{f\ 2028}#
-                                                              #{forms\ 
2016}#)))
-                                                        #{ids\ 1966}#
-                                                        #{labels\ 1967}#
-                                                        #{var-ids\ 1968}#
-                                                        #{vars\ 1969}#
-                                                        #{vals\ 1970}#
-                                                        #{bindings\ 1971}#)))
-                                                  (if (null? #{ids\ 1966}#)
+                                                            (#{f\ 2122}#
+                                                              #{forms\ 
2110}#)))
+                                                        #{ids\ 2060}#
+                                                        #{labels\ 2061}#
+                                                        #{var-ids\ 2062}#
+                                                        #{vars\ 2063}#
+                                                        #{vals\ 2064}#
+                                                        #{bindings\ 2065}#)))
+                                                  (if (null? #{ids\ 2060}#)
                                                     (#{build-sequence\ 332}#
                                                       #f
-                                                      (map (lambda (#{x\ 
2032}#)
-                                                             (#{chi\ 465}#
-                                                               (cdr #{x\ 
2032}#)
-                                                               (car #{x\ 
2032}#)
+                                                      (map (lambda (#{x\ 
2126}#)
+                                                             (#{chi\ 460}#
+                                                               (cdr #{x\ 
2126}#)
+                                                               (car #{x\ 
2126}#)
                                                                '(())
-                                                               #{mod\ 1984}#))
-                                                           (cons (cons #{er\ 
1977}#
-                                                                       
(#{source-wrap\ 451}#
-                                                                         #{e\ 
1981}#
-                                                                         #{w\ 
1982}#
-                                                                         #{s\ 
1983}#
-                                                                         
#{mod\ 1984}#))
-                                                                 (cdr #{body\ 
1965}#))))
+                                                               #{mod\ 2078}#))
+                                                           (cons (cons #{er\ 
2071}#
+                                                                       
(#{source-wrap\ 446}#
+                                                                         #{e\ 
2075}#
+                                                                         #{w\ 
2076}#
+                                                                         #{s\ 
2077}#
+                                                                         
#{mod\ 2078}#))
+                                                                 (cdr #{body\ 
2059}#))))
                                                     (begin
-                                                      (if (not 
(#{valid-bound-ids?\ 443}#
-                                                                 #{ids\ 
1966}#))
+                                                      (if (not 
(#{valid-bound-ids?\ 438}#
+                                                                 #{ids\ 
2060}#))
                                                         (syntax-violation
                                                           #f
                                                           "invalid or 
duplicate identifier in definition"
-                                                          #{outer-form\ 
1939}#))
+                                                          #{outer-form\ 
2030}#))
                                                       (letrec*
-                                                        ((#{loop\ 2039}#
-                                                           (lambda (#{bs\ 
2040}#
-                                                                    
#{er-cache\ 2041}#
-                                                                    #{r-cache\ 
2042}#)
-                                                             (if (not (null? 
#{bs\ 2040}#))
+                                                        ((#{loop\ 2133}#
+                                                           (lambda (#{bs\ 
2134}#
+                                                                    
#{er-cache\ 2135}#
+                                                                    #{r-cache\ 
2136}#)
+                                                             (if (not (null? 
#{bs\ 2134}#))
                                                                (begin
-                                                                 (let ((#{b\ 
2045}#
-                                                                         (car 
#{bs\ 2040}#)))
-                                                                   (if (eq? 
(car #{b\ 2045}#)
+                                                                 (let ((#{b\ 
2139}#
+                                                                         (car 
#{bs\ 2134}#)))
+                                                                   (if (eq? 
(car #{b\ 2139}#)
                                                                             
'macro)
                                                                      (begin
-                                                                       (let 
((#{er\ 2048}#
-                                                                               
(car (cdr #{b\ 2045}#))))
+                                                                       (let 
((#{er\ 2142}#
+                                                                               
(car (cdr #{b\ 2139}#))))
                                                                          (begin
-                                                                           
(let ((#{r-cache\ 2050}#
-                                                                               
    (if (eq? #{er\ 2048}#
-                                                                               
             #{er-cache\ 2041}#)
-                                                                               
      #{r-cache\ 2042}#
-                                                                               
      (#{macros-only-env\ 372}#
-                                                                               
        #{er\ 2048}#))))
+                                                                           
(let ((#{r-cache\ 2144}#
+                                                                               
    (if (eq? #{er\ 2142}#
+                                                                               
             #{er-cache\ 2135}#)
+                                                                               
      #{r-cache\ 2136}#
+                                                                               
      (#{macros-only-env\ 370}#
+                                                                               
        #{er\ 2142}#))))
                                                                              
(begin
                                                                                
(set-cdr!
-                                                                               
  #{b\ 2045}#
-                                                                               
  (#{eval-local-transformer\ 477}#
-                                                                               
    (#{chi\ 465}#
-                                                                               
      (cdr (cdr #{b\ 2045}#))
-                                                                               
      #{r-cache\ 2050}#
+                                                                               
  #{b\ 2139}#
+                                                                               
  (#{eval-local-transformer\ 472}#
+                                                                               
    (#{chi\ 460}#
+                                                                               
      (cdr (cdr #{b\ 2139}#))
+                                                                               
      #{r-cache\ 2144}#
                                                                                
      '(())
-                                                                               
      #{mod\ 1984}#)
-                                                                               
    #{mod\ 1984}#))
-                                                                               
(#{loop\ 2039}#
-                                                                               
  (cdr #{bs\ 2040}#)
-                                                                               
  #{er\ 2048}#
-                                                                               
  #{r-cache\ 2050}#))))))
-                                                                     (#{loop\ 
2039}#
-                                                                       (cdr 
#{bs\ 2040}#)
-                                                                       
#{er-cache\ 2041}#
-                                                                       
#{r-cache\ 2042}#))))))))
+                                                                               
      #{mod\ 2078}#)
+                                                                               
    #{mod\ 2078}#))
+                                                                               
(#{loop\ 2133}#
+                                                                               
  (cdr #{bs\ 2134}#)
+                                                                               
  #{er\ 2142}#
+                                                                               
  #{r-cache\ 2144}#))))))
+                                                                     (#{loop\ 
2133}#
+                                                                       (cdr 
#{bs\ 2134}#)
+                                                                       
#{er-cache\ 2135}#
+                                                                       
#{r-cache\ 2136}#))))))))
                                                         (begin
-                                                          (#{loop\ 2039}#
-                                                            #{bindings\ 1971}#
+                                                          (#{loop\ 2133}#
+                                                            #{bindings\ 2065}#
                                                             #f
                                                             #f)))
                                                       (set-cdr!
-                                                        #{r\ 1950}#
-                                                        (#{extend-env\ 368}#
-                                                          #{labels\ 1967}#
-                                                          #{bindings\ 1971}#
-                                                          (cdr #{r\ 1950}#)))
+                                                        #{r\ 2041}#
+                                                        (#{extend-env\ 366}#
+                                                          #{labels\ 2061}#
+                                                          #{bindings\ 2065}#
+                                                          (cdr #{r\ 2041}#)))
                                                       (#{build-letrec\ 338}#
                                                         #f
                                                         #t
                                                         (reverse
                                                           (map syntax->datum
-                                                               #{var-ids\ 
1968}#))
+                                                               #{var-ids\ 
2062}#))
                                                         (reverse
-                                                          #{vars\ 1969}#)
-                                                        (map (lambda (#{x\ 
2053}#)
-                                                               (#{chi\ 465}#
-                                                                 (cdr #{x\ 
2053}#)
-                                                                 (car #{x\ 
2053}#)
+                                                          #{vars\ 2063}#)
+                                                        (map (lambda (#{x\ 
2147}#)
+                                                               (#{chi\ 460}#
+                                                                 (cdr #{x\ 
2147}#)
+                                                                 (car #{x\ 
2147}#)
                                                                  '(())
-                                                                 #{mod\ 
1984}#))
+                                                                 #{mod\ 
2078}#))
                                                              (reverse
-                                                               #{vals\ 1970}#))
+                                                               #{vals\ 2064}#))
                                                         (#{build-sequence\ 
332}#
                                                           #f
-                                                          (map (lambda (#{x\ 
2057}#)
-                                                                 (#{chi\ 465}#
-                                                                   (cdr #{x\ 
2057}#)
-                                                                   (car #{x\ 
2057}#)
+                                                          (map (lambda (#{x\ 
2151}#)
+                                                                 (#{chi\ 460}#
+                                                                   (cdr #{x\ 
2151}#)
+                                                                   (car #{x\ 
2151}#)
                                                                    '(())
-                                                                   #{mod\ 
1984}#))
-                                                               (cons (cons 
#{er\ 1977}#
-                                                                           
(#{source-wrap\ 451}#
-                                                                             
#{e\ 1981}#
-                                                                             
#{w\ 1982}#
-                                                                             
#{s\ 1983}#
-                                                                             
#{mod\ 1984}#))
-                                                                     (cdr 
#{body\ 1965}#)))))))))))))))))))
+                                                                   #{mod\ 
2078}#))
+                                                               (cons (cons 
#{er\ 2071}#
+                                                                           
(#{source-wrap\ 446}#
+                                                                             
#{e\ 2075}#
+                                                                             
#{w\ 2076}#
+                                                                             
#{s\ 2077}#
+                                                                             
#{mod\ 2078}#))
+                                                                     (cdr 
#{body\ 2059}#)))))))))))))))))))
                            (begin
-                             (#{parse\ 1964}#
-                               (map (lambda (#{x\ 1972}#)
-                                      (cons #{r\ 1950}#
-                                            (#{wrap\ 449}#
-                                              #{x\ 1972}#
-                                              #{w\ 1955}#
-                                              #{mod\ 1942}#)))
-                                    #{body\ 1938}#)
+                             (#{parse\ 2058}#
+                               (map (lambda (#{x\ 2066}#)
+                                      (cons #{r\ 2041}#
+                                            (#{wrap\ 444}#
+                                              #{x\ 2066}#
+                                              #{w\ 2046}#
+                                              #{mod\ 2033}#)))
+                                    #{body\ 2029}#)
                                '()
                                '()
                                '()
                                '()
                                '()
                                '())))))))))))
-         (#{chi-local-syntax\ 475}#
-           (lambda (#{rec?\ 2060}#
-                    #{e\ 2061}#
-                    #{r\ 2062}#
-                    #{w\ 2063}#
-                    #{s\ 2064}#
-                    #{mod\ 2065}#
-                    #{k\ 2066}#)
-             (let ((#{tmp\ 2074}# #{e\ 2061}#))
-               (let ((#{tmp\ 2075}#
+         (#{chi-local-syntax\ 470}#
+           (lambda (#{rec?\ 2154}#
+                    #{e\ 2155}#
+                    #{r\ 2156}#
+                    #{w\ 2157}#
+                    #{s\ 2158}#
+                    #{mod\ 2159}#
+                    #{k\ 2160}#)
+             (let ((#{tmp\ 2168}# #{e\ 2155}#))
+               (let ((#{tmp\ 2169}#
                        ($sc-dispatch
-                         #{tmp\ 2074}#
+                         #{tmp\ 2168}#
                          '(_ #(each (any any)) any . each-any))))
-                 (if #{tmp\ 2075}#
+                 (if #{tmp\ 2169}#
                    (@apply
-                     (lambda (#{id\ 2080}#
-                              #{val\ 2081}#
-                              #{e1\ 2082}#
-                              #{e2\ 2083}#)
+                     (lambda (#{id\ 2174}#
+                              #{val\ 2175}#
+                              #{e1\ 2176}#
+                              #{e2\ 2177}#)
                        (begin
-                         (let ((#{ids\ 2085}# #{id\ 2080}#))
-                           (if (not (#{valid-bound-ids?\ 443}# #{ids\ 2085}#))
+                         (let ((#{ids\ 2179}# #{id\ 2174}#))
+                           (if (not (#{valid-bound-ids?\ 438}# #{ids\ 2179}#))
                              (syntax-violation
                                #f
                                "duplicate bound keyword"
-                               #{e\ 2061}#)
+                               #{e\ 2155}#)
                              (begin
-                               (let ((#{labels\ 2088}#
-                                       (#{gen-labels\ 398}# #{ids\ 2085}#)))
+                               (let ((#{labels\ 2182}#
+                                       (#{gen-labels\ 393}# #{ids\ 2179}#)))
                                  (begin
-                                   (let ((#{new-w\ 2090}#
-                                           (#{make-binding-wrap\ 427}#
-                                             #{ids\ 2085}#
-                                             #{labels\ 2088}#
-                                             #{w\ 2063}#)))
-                                     (#{k\ 2066}#
-                                       (cons #{e1\ 2082}# #{e2\ 2083}#)
-                                       (#{extend-env\ 368}#
-                                         #{labels\ 2088}#
+                                   (let ((#{new-w\ 2184}#
+                                           (#{make-binding-wrap\ 422}#
+                                             #{ids\ 2179}#
+                                             #{labels\ 2182}#
+                                             #{w\ 2157}#)))
+                                     (#{k\ 2160}#
+                                       (cons #{e1\ 2176}# #{e2\ 2177}#)
+                                       (#{extend-env\ 366}#
+                                         #{labels\ 2182}#
                                          (begin
-                                           (let ((#{w\ 2094}#
-                                                   (if #{rec?\ 2060}#
-                                                     #{new-w\ 2090}#
-                                                     #{w\ 2063}#))
-                                                 (#{trans-r\ 2095}#
-                                                   (#{macros-only-env\ 372}#
-                                                     #{r\ 2062}#)))
-                                             (map (lambda (#{x\ 2096}#)
+                                           (let ((#{w\ 2188}#
+                                                   (if #{rec?\ 2154}#
+                                                     #{new-w\ 2184}#
+                                                     #{w\ 2157}#))
+                                                 (#{trans-r\ 2189}#
+                                                   (#{macros-only-env\ 370}#
+                                                     #{r\ 2156}#)))
+                                             (map (lambda (#{x\ 2190}#)
                                                     (cons 'macro
-                                                          
(#{eval-local-transformer\ 477}#
-                                                            (#{chi\ 465}#
-                                                              #{x\ 2096}#
-                                                              #{trans-r\ 2095}#
-                                                              #{w\ 2094}#
-                                                              #{mod\ 2065}#)
-                                                            #{mod\ 2065}#)))
-                                                  #{val\ 2081}#)))
-                                         #{r\ 2062}#)
-                                       #{new-w\ 2090}#
-                                       #{s\ 2064}#
-                                       #{mod\ 2065}#)))))))))
-                     #{tmp\ 2075}#)
-                   (let ((#{_\ 2101}# #{tmp\ 2074}#))
+                                                          
(#{eval-local-transformer\ 472}#
+                                                            (#{chi\ 460}#
+                                                              #{x\ 2190}#
+                                                              #{trans-r\ 2189}#
+                                                              #{w\ 2188}#
+                                                              #{mod\ 2159}#)
+                                                            #{mod\ 2159}#)))
+                                                  #{val\ 2175}#)))
+                                         #{r\ 2156}#)
+                                       #{new-w\ 2184}#
+                                       #{s\ 2158}#
+                                       #{mod\ 2159}#)))))))))
+                     #{tmp\ 2169}#)
+                   (let ((#{_\ 2195}# #{tmp\ 2168}#))
                      (syntax-violation
                        #f
                        "bad local syntax definition"
-                       (#{source-wrap\ 451}#
-                         #{e\ 2061}#
-                         #{w\ 2063}#
-                         #{s\ 2064}#
-                         #{mod\ 2065}#))))))))
-         (#{eval-local-transformer\ 477}#
-           (lambda (#{expanded\ 2102}# #{mod\ 2103}#)
+                       (#{source-wrap\ 446}#
+                         #{e\ 2155}#
+                         #{w\ 2157}#
+                         #{s\ 2158}#
+                         #{mod\ 2159}#))))))))
+         (#{eval-local-transformer\ 472}#
+           (lambda (#{expanded\ 2196}# #{mod\ 2197}#)
              (begin
-               (let ((#{p\ 2107}#
+               (let ((#{p\ 2201}#
                        (#{local-eval-hook\ 291}#
-                         #{expanded\ 2102}#
-                         #{mod\ 2103}#)))
-                 (if (procedure? #{p\ 2107}#)
-                   #{p\ 2107}#
+                         #{expanded\ 2196}#
+                         #{mod\ 2197}#)))
+                 (if (procedure? #{p\ 2201}#)
+                   #{p\ 2201}#
                    (syntax-violation
                      #f
                      "nonprocedure transformer"
-                     #{p\ 2107}#))))))
-         (#{chi-void\ 479}#
+                     #{p\ 2201}#))))))
+         (#{chi-void\ 474}#
            (lambda () (#{build-void\ 302}# #f)))
-         (#{ellipsis?\ 481}#
-           (lambda (#{x\ 2109}#)
-             (if (#{nonsymbol-id?\ 378}# #{x\ 2109}#)
-               (#{free-id=?\ 439}#
-                 #{x\ 2109}#
+         (#{ellipsis?\ 476}#
+           (lambda (#{x\ 2203}#)
+             (if (#{nonsymbol-id?\ 376}# #{x\ 2203}#)
+               (#{free-id=?\ 434}#
+                 #{x\ 2203}#
                  '#(syntax-object
                     ...
                     ((top)
                      #(ribcage () () ())
                      #(ribcage () () ())
-                     #(ribcage #(x) #((top)) #("i2110"))
+                     #(ribcage #(x) #((top)) #("i2204"))
                      #(ribcage
                        (lambda-var-list
                          gen-var
@@ -6747,69 +6727,68 @@
                         (top)
                         (top)
                         (top))
-                       ("i494"
-                        "i492"
-                        "i490"
-                        "i488"
-                        "i486"
-                        "i484"
-                        "i482"
-                        "i480"
-                        "i478"
-                        "i476"
-                        "i474"
-                        "i472"
-                        "i470"
-                        "i468"
-                        "i466"
-                        "i464"
-                        "i462"
-                        "i460"
-                        "i458"
-                        "i456"
-                        "i454"
-                        "i452"
-                        "i450"
-                        "i448"
-                        "i446"
-                        "i444"
-                        "i442"
-                        "i440"
-                        "i438"
-                        "i436"
-                        "i434"
-                        "i432"
-                        "i430"
-                        "i428"
-                        "i426"
-                        "i424"
+                       ("i489"
+                        "i487"
+                        "i485"
+                        "i483"
+                        "i481"
+                        "i479"
+                        "i477"
+                        "i475"
+                        "i473"
+                        "i471"
+                        "i469"
+                        "i467"
+                        "i465"
+                        "i463"
+                        "i461"
+                        "i459"
+                        "i457"
+                        "i455"
+                        "i453"
+                        "i451"
+                        "i449"
+                        "i447"
+                        "i445"
+                        "i443"
+                        "i441"
+                        "i439"
+                        "i437"
+                        "i435"
+                        "i433"
+                        "i431"
+                        "i429"
+                        "i427"
+                        "i425"
                         "i423"
-                        "i422"
-                        "i420"
+                        "i421"
                         "i419"
                         "i418"
                         "i417"
-                        "i416"
+                        "i415"
                         "i414"
+                        "i413"
                         "i412"
-                        "i410"
-                        "i408"
-                        "i406"
-                        "i404"
-                        "i402"
-                        "i400"
+                        "i411"
+                        "i409"
+                        "i407"
+                        "i405"
+                        "i403"
+                        "i401"
+                        "i399"
                         "i397"
                         "i395"
-                        "i394"
-                        "i393"
                         "i392"
-                        "i391"
                         "i390"
+                        "i389"
                         "i388"
+                        "i387"
                         "i386"
+                        "i385"
                         "i384"
+                        "i383"
                         "i382"
-                        "i381"
+                        "i380"
                         "i379"
                         "i377"
                         "i375"
@@ -6817,8 +6796,9 @@
                         "i371"
                         "i369"
                         "i367"
-                        "i366"
+                        "i365"
                         "i364"
+                        "i363"
                         "i362"
                         "i361"
                         "i360"
@@ -6893,271 +6873,271 @@
                        ("i39" "i38" "i37" "i35")))
                     (hygiene guile)))
                #f)))
-         (#{lambda-formals\ 483}#
-           (lambda (#{orig-args\ 2113}#)
+         (#{lambda-formals\ 478}#
+           (lambda (#{orig-args\ 2207}#)
              (letrec*
-               ((#{req\ 2116}#
-                  (lambda (#{args\ 2119}# #{rreq\ 2120}#)
-                    (let ((#{tmp\ 2123}# #{args\ 2119}#))
-                      (let ((#{tmp\ 2124}#
-                              ($sc-dispatch #{tmp\ 2123}# (quote ()))))
-                        (if #{tmp\ 2124}#
+               ((#{req\ 2210}#
+                  (lambda (#{args\ 2213}# #{rreq\ 2214}#)
+                    (let ((#{tmp\ 2217}# #{args\ 2213}#))
+                      (let ((#{tmp\ 2218}#
+                              ($sc-dispatch #{tmp\ 2217}# (quote ()))))
+                        (if #{tmp\ 2218}#
                           (@apply
                             (lambda ()
-                              (#{check\ 2118}# (reverse #{rreq\ 2120}#) #f))
-                            #{tmp\ 2124}#)
-                          (let ((#{tmp\ 2125}#
+                              (#{check\ 2212}# (reverse #{rreq\ 2214}#) #f))
+                            #{tmp\ 2218}#)
+                          (let ((#{tmp\ 2219}#
                                   ($sc-dispatch
-                                    #{tmp\ 2123}#
+                                    #{tmp\ 2217}#
                                     '(any . any))))
-                            (if (if #{tmp\ 2125}#
+                            (if (if #{tmp\ 2219}#
                                   (@apply
-                                    (lambda (#{a\ 2128}# #{b\ 2129}#)
-                                      (#{id?\ 380}# #{a\ 2128}#))
-                                    #{tmp\ 2125}#)
+                                    (lambda (#{a\ 2222}# #{b\ 2223}#)
+                                      (#{id?\ 378}# #{a\ 2222}#))
+                                    #{tmp\ 2219}#)
                                   #f)
                               (@apply
-                                (lambda (#{a\ 2132}# #{b\ 2133}#)
-                                  (#{req\ 2116}#
-                                    #{b\ 2133}#
-                                    (cons #{a\ 2132}# #{rreq\ 2120}#)))
-                                #{tmp\ 2125}#)
-                              (let ((#{tmp\ 2134}# (list #{tmp\ 2123}#)))
-                                (if (if #{tmp\ 2134}#
+                                (lambda (#{a\ 2226}# #{b\ 2227}#)
+                                  (#{req\ 2210}#
+                                    #{b\ 2227}#
+                                    (cons #{a\ 2226}# #{rreq\ 2214}#)))
+                                #{tmp\ 2219}#)
+                              (let ((#{tmp\ 2228}# (list #{tmp\ 2217}#)))
+                                (if (if #{tmp\ 2228}#
                                       (@apply
-                                        (lambda (#{r\ 2136}#)
-                                          (#{id?\ 380}# #{r\ 2136}#))
-                                        #{tmp\ 2134}#)
+                                        (lambda (#{r\ 2230}#)
+                                          (#{id?\ 378}# #{r\ 2230}#))
+                                        #{tmp\ 2228}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{r\ 2138}#)
-                                      (#{check\ 2118}#
-                                        (reverse #{rreq\ 2120}#)
-                                        #{r\ 2138}#))
-                                    #{tmp\ 2134}#)
-                                  (let ((#{else\ 2140}# #{tmp\ 2123}#))
+                                    (lambda (#{r\ 2232}#)
+                                      (#{check\ 2212}#
+                                        (reverse #{rreq\ 2214}#)
+                                        #{r\ 2232}#))
+                                    #{tmp\ 2228}#)
+                                  (let ((#{else\ 2234}# #{tmp\ 2217}#))
                                     (syntax-violation
                                       'lambda
                                       "invalid argument list"
-                                      #{orig-args\ 2113}#
-                                      #{args\ 2119}#)))))))))))
-                (#{check\ 2118}#
-                  (lambda (#{req\ 2141}# #{rest\ 2142}#)
-                    (if (#{distinct-bound-ids?\ 445}#
-                          (if #{rest\ 2142}#
-                            (cons #{rest\ 2142}# #{req\ 2141}#)
-                            #{req\ 2141}#))
-                      (values #{req\ 2141}# #f #{rest\ 2142}# #f)
+                                      #{orig-args\ 2207}#
+                                      #{args\ 2213}#)))))))))))
+                (#{check\ 2212}#
+                  (lambda (#{req\ 2235}# #{rest\ 2236}#)
+                    (if (#{distinct-bound-ids?\ 440}#
+                          (if #{rest\ 2236}#
+                            (cons #{rest\ 2236}# #{req\ 2235}#)
+                            #{req\ 2235}#))
+                      (values #{req\ 2235}# #f #{rest\ 2236}# #f)
                       (syntax-violation
                         'lambda
                         "duplicate identifier in argument list"
-                        #{orig-args\ 2113}#)))))
+                        #{orig-args\ 2207}#)))))
                (begin
-                 (#{req\ 2116}# #{orig-args\ 2113}# (quote ()))))))
-         (#{chi-simple-lambda\ 485}#
-           (lambda (#{e\ 2148}#
-                    #{r\ 2149}#
-                    #{w\ 2150}#
-                    #{s\ 2151}#
-                    #{mod\ 2152}#
-                    #{req\ 2153}#
-                    #{rest\ 2154}#
-                    #{meta\ 2155}#
-                    #{body\ 2156}#)
+                 (#{req\ 2210}# #{orig-args\ 2207}# (quote ()))))))
+         (#{chi-simple-lambda\ 480}#
+           (lambda (#{e\ 2242}#
+                    #{r\ 2243}#
+                    #{w\ 2244}#
+                    #{s\ 2245}#
+                    #{mod\ 2246}#
+                    #{req\ 2247}#
+                    #{rest\ 2248}#
+                    #{meta\ 2249}#
+                    #{body\ 2250}#)
              (begin
-               (let ((#{ids\ 2168}#
-                       (if #{rest\ 2154}#
-                         (append #{req\ 2153}# (list #{rest\ 2154}#))
-                         #{req\ 2153}#)))
+               (let ((#{ids\ 2262}#
+                       (if #{rest\ 2248}#
+                         (append #{req\ 2247}# (list #{rest\ 2248}#))
+                         #{req\ 2247}#)))
                  (begin
-                   (let ((#{vars\ 2170}#
-                           (map #{gen-var\ 493}# #{ids\ 2168}#)))
+                   (let ((#{vars\ 2264}#
+                           (map #{gen-var\ 488}# #{ids\ 2262}#)))
                      (begin
-                       (let ((#{labels\ 2172}#
-                               (#{gen-labels\ 398}# #{ids\ 2168}#)))
+                       (let ((#{labels\ 2266}#
+                               (#{gen-labels\ 393}# #{ids\ 2262}#)))
                          (#{build-simple-lambda\ 322}#
-                           #{s\ 2151}#
-                           (map syntax->datum #{req\ 2153}#)
-                           (if #{rest\ 2154}#
-                             (syntax->datum #{rest\ 2154}#)
+                           #{s\ 2245}#
+                           (map syntax->datum #{req\ 2247}#)
+                           (if #{rest\ 2248}#
+                             (syntax->datum #{rest\ 2248}#)
                              #f)
-                           #{vars\ 2170}#
-                           #{meta\ 2155}#
-                           (#{chi-body\ 473}#
-                             #{body\ 2156}#
-                             (#{source-wrap\ 451}#
-                               #{e\ 2148}#
-                               #{w\ 2150}#
-                               #{s\ 2151}#
-                               #{mod\ 2152}#)
-                             (#{extend-var-env\ 370}#
-                               #{labels\ 2172}#
-                               #{vars\ 2170}#
-                               #{r\ 2149}#)
-                             (#{make-binding-wrap\ 427}#
-                               #{ids\ 2168}#
-                               #{labels\ 2172}#
-                               #{w\ 2150}#)
-                             #{mod\ 2152}#))))))))))
-         (#{lambda*-formals\ 487}#
-           (lambda (#{orig-args\ 2175}#)
+                           #{vars\ 2264}#
+                           #{meta\ 2249}#
+                           (#{chi-body\ 468}#
+                             #{body\ 2250}#
+                             (#{source-wrap\ 446}#
+                               #{e\ 2242}#
+                               #{w\ 2244}#
+                               #{s\ 2245}#
+                               #{mod\ 2246}#)
+                             (#{extend-var-env\ 368}#
+                               #{labels\ 2266}#
+                               #{vars\ 2264}#
+                               #{r\ 2243}#)
+                             (#{make-binding-wrap\ 422}#
+                               #{ids\ 2262}#
+                               #{labels\ 2266}#
+                               #{w\ 2244}#)
+                             #{mod\ 2246}#))))))))))
+         (#{lambda*-formals\ 482}#
+           (lambda (#{orig-args\ 2269}#)
              (letrec*
-               ((#{req\ 2178}#
-                  (lambda (#{args\ 2187}# #{rreq\ 2188}#)
-                    (let ((#{tmp\ 2191}# #{args\ 2187}#))
-                      (let ((#{tmp\ 2192}#
-                              ($sc-dispatch #{tmp\ 2191}# (quote ()))))
-                        (if #{tmp\ 2192}#
+               ((#{req\ 2272}#
+                  (lambda (#{args\ 2281}# #{rreq\ 2282}#)
+                    (let ((#{tmp\ 2285}# #{args\ 2281}#))
+                      (let ((#{tmp\ 2286}#
+                              ($sc-dispatch #{tmp\ 2285}# (quote ()))))
+                        (if #{tmp\ 2286}#
                           (@apply
                             (lambda ()
-                              (#{check\ 2186}#
-                                (reverse #{rreq\ 2188}#)
+                              (#{check\ 2280}#
+                                (reverse #{rreq\ 2282}#)
                                 '()
                                 #f
                                 '()))
-                            #{tmp\ 2192}#)
-                          (let ((#{tmp\ 2193}#
+                            #{tmp\ 2286}#)
+                          (let ((#{tmp\ 2287}#
                                   ($sc-dispatch
-                                    #{tmp\ 2191}#
+                                    #{tmp\ 2285}#
                                     '(any . any))))
-                            (if (if #{tmp\ 2193}#
+                            (if (if #{tmp\ 2287}#
                                   (@apply
-                                    (lambda (#{a\ 2196}# #{b\ 2197}#)
-                                      (#{id?\ 380}# #{a\ 2196}#))
-                                    #{tmp\ 2193}#)
+                                    (lambda (#{a\ 2290}# #{b\ 2291}#)
+                                      (#{id?\ 378}# #{a\ 2290}#))
+                                    #{tmp\ 2287}#)
                                   #f)
                               (@apply
-                                (lambda (#{a\ 2200}# #{b\ 2201}#)
-                                  (#{req\ 2178}#
-                                    #{b\ 2201}#
-                                    (cons #{a\ 2200}# #{rreq\ 2188}#)))
-                                #{tmp\ 2193}#)
-                              (let ((#{tmp\ 2202}#
+                                (lambda (#{a\ 2294}# #{b\ 2295}#)
+                                  (#{req\ 2272}#
+                                    #{b\ 2295}#
+                                    (cons #{a\ 2294}# #{rreq\ 2282}#)))
+                                #{tmp\ 2287}#)
+                              (let ((#{tmp\ 2296}#
                                       ($sc-dispatch
-                                        #{tmp\ 2191}#
+                                        #{tmp\ 2285}#
                                         '(any . any))))
-                                (if (if #{tmp\ 2202}#
+                                (if (if #{tmp\ 2296}#
                                       (@apply
-                                        (lambda (#{a\ 2205}# #{b\ 2206}#)
-                                          (eq? (syntax->datum #{a\ 2205}#)
+                                        (lambda (#{a\ 2299}# #{b\ 2300}#)
+                                          (eq? (syntax->datum #{a\ 2299}#)
                                                #:optional))
-                                        #{tmp\ 2202}#)
+                                        #{tmp\ 2296}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{a\ 2209}# #{b\ 2210}#)
-                                      (#{opt\ 2180}#
-                                        #{b\ 2210}#
-                                        (reverse #{rreq\ 2188}#)
+                                    (lambda (#{a\ 2303}# #{b\ 2304}#)
+                                      (#{opt\ 2274}#
+                                        #{b\ 2304}#
+                                        (reverse #{rreq\ 2282}#)
                                         '()))
-                                    #{tmp\ 2202}#)
-                                  (let ((#{tmp\ 2211}#
+                                    #{tmp\ 2296}#)
+                                  (let ((#{tmp\ 2305}#
                                           ($sc-dispatch
-                                            #{tmp\ 2191}#
+                                            #{tmp\ 2285}#
                                             '(any . any))))
-                                    (if (if #{tmp\ 2211}#
+                                    (if (if #{tmp\ 2305}#
                                           (@apply
-                                            (lambda (#{a\ 2214}# #{b\ 2215}#)
-                                              (eq? (syntax->datum #{a\ 2214}#)
+                                            (lambda (#{a\ 2308}# #{b\ 2309}#)
+                                              (eq? (syntax->datum #{a\ 2308}#)
                                                    #:key))
-                                            #{tmp\ 2211}#)
+                                            #{tmp\ 2305}#)
                                           #f)
                                       (@apply
-                                        (lambda (#{a\ 2218}# #{b\ 2219}#)
-                                          (#{key\ 2182}#
-                                            #{b\ 2219}#
-                                            (reverse #{rreq\ 2188}#)
+                                        (lambda (#{a\ 2312}# #{b\ 2313}#)
+                                          (#{key\ 2276}#
+                                            #{b\ 2313}#
+                                            (reverse #{rreq\ 2282}#)
                                             '()
                                             '()))
-                                        #{tmp\ 2211}#)
-                                      (let ((#{tmp\ 2220}#
+                                        #{tmp\ 2305}#)
+                                      (let ((#{tmp\ 2314}#
                                               ($sc-dispatch
-                                                #{tmp\ 2191}#
+                                                #{tmp\ 2285}#
                                                 '(any any))))
-                                        (if (if #{tmp\ 2220}#
+                                        (if (if #{tmp\ 2314}#
                                               (@apply
-                                                (lambda (#{a\ 2223}#
-                                                         #{b\ 2224}#)
+                                                (lambda (#{a\ 2317}#
+                                                         #{b\ 2318}#)
                                                   (eq? (syntax->datum
-                                                         #{a\ 2223}#)
+                                                         #{a\ 2317}#)
                                                        #:rest))
-                                                #{tmp\ 2220}#)
+                                                #{tmp\ 2314}#)
                                               #f)
                                           (@apply
-                                            (lambda (#{a\ 2227}# #{b\ 2228}#)
-                                              (#{rest\ 2184}#
-                                                #{b\ 2228}#
-                                                (reverse #{rreq\ 2188}#)
+                                            (lambda (#{a\ 2321}# #{b\ 2322}#)
+                                              (#{rest\ 2278}#
+                                                #{b\ 2322}#
+                                                (reverse #{rreq\ 2282}#)
                                                 '()
                                                 '()))
-                                            #{tmp\ 2220}#)
-                                          (let ((#{tmp\ 2229}#
-                                                  (list #{tmp\ 2191}#)))
-                                            (if (if #{tmp\ 2229}#
+                                            #{tmp\ 2314}#)
+                                          (let ((#{tmp\ 2323}#
+                                                  (list #{tmp\ 2285}#)))
+                                            (if (if #{tmp\ 2323}#
                                                   (@apply
-                                                    (lambda (#{r\ 2231}#)
-                                                      (#{id?\ 380}#
-                                                        #{r\ 2231}#))
-                                                    #{tmp\ 2229}#)
+                                                    (lambda (#{r\ 2325}#)
+                                                      (#{id?\ 378}#
+                                                        #{r\ 2325}#))
+                                                    #{tmp\ 2323}#)
                                                   #f)
                                               (@apply
-                                                (lambda (#{r\ 2233}#)
-                                                  (#{rest\ 2184}#
-                                                    #{r\ 2233}#
-                                                    (reverse #{rreq\ 2188}#)
+                                                (lambda (#{r\ 2327}#)
+                                                  (#{rest\ 2278}#
+                                                    #{r\ 2327}#
+                                                    (reverse #{rreq\ 2282}#)
                                                     '()
                                                     '()))
-                                                #{tmp\ 2229}#)
-                                              (let ((#{else\ 2235}#
-                                                      #{tmp\ 2191}#))
+                                                #{tmp\ 2323}#)
+                                              (let ((#{else\ 2329}#
+                                                      #{tmp\ 2285}#))
                                                 (syntax-violation
                                                   'lambda*
                                                   "invalid argument list"
-                                                  #{orig-args\ 2175}#
-                                                  #{args\ 
2187}#)))))))))))))))))
-                (#{opt\ 2180}#
-                  (lambda (#{args\ 2236}# #{req\ 2237}# #{ropt\ 2238}#)
-                    (let ((#{tmp\ 2242}# #{args\ 2236}#))
-                      (let ((#{tmp\ 2243}#
-                              ($sc-dispatch #{tmp\ 2242}# (quote ()))))
-                        (if #{tmp\ 2243}#
+                                                  #{orig-args\ 2269}#
+                                                  #{args\ 
2281}#)))))))))))))))))
+                (#{opt\ 2274}#
+                  (lambda (#{args\ 2330}# #{req\ 2331}# #{ropt\ 2332}#)
+                    (let ((#{tmp\ 2336}# #{args\ 2330}#))
+                      (let ((#{tmp\ 2337}#
+                              ($sc-dispatch #{tmp\ 2336}# (quote ()))))
+                        (if #{tmp\ 2337}#
                           (@apply
                             (lambda ()
-                              (#{check\ 2186}#
-                                #{req\ 2237}#
-                                (reverse #{ropt\ 2238}#)
+                              (#{check\ 2280}#
+                                #{req\ 2331}#
+                                (reverse #{ropt\ 2332}#)
                                 #f
                                 '()))
-                            #{tmp\ 2243}#)
-                          (let ((#{tmp\ 2244}#
+                            #{tmp\ 2337}#)
+                          (let ((#{tmp\ 2338}#
                                   ($sc-dispatch
-                                    #{tmp\ 2242}#
+                                    #{tmp\ 2336}#
                                     '(any . any))))
-                            (if (if #{tmp\ 2244}#
+                            (if (if #{tmp\ 2338}#
                                   (@apply
-                                    (lambda (#{a\ 2247}# #{b\ 2248}#)
-                                      (#{id?\ 380}# #{a\ 2247}#))
-                                    #{tmp\ 2244}#)
+                                    (lambda (#{a\ 2341}# #{b\ 2342}#)
+                                      (#{id?\ 378}# #{a\ 2341}#))
+                                    #{tmp\ 2338}#)
                                   #f)
                               (@apply
-                                (lambda (#{a\ 2251}# #{b\ 2252}#)
-                                  (#{opt\ 2180}#
-                                    #{b\ 2252}#
-                                    #{req\ 2237}#
-                                    (cons (cons #{a\ 2251}#
+                                (lambda (#{a\ 2345}# #{b\ 2346}#)
+                                  (#{opt\ 2274}#
+                                    #{b\ 2346}#
+                                    #{req\ 2331}#
+                                    (cons (cons #{a\ 2345}#
                                                 '(#(syntax-object
                                                     #f
                                                     ((top)
                                                      #(ribcage
                                                        #(a b)
                                                        #((top) (top))
-                                                       #("i2249" "i2250"))
+                                                       #("i2343" "i2344"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(args req ropt)
                                                        #((top) (top) (top))
-                                                       #("i2239"
-                                                         "i2240"
-                                                         "i2241"))
+                                                       #("i2333"
+                                                         "i2334"
+                                                         "i2335"))
                                                      #(ribcage
                                                        (check rest key opt req)
                                                        ((top)
@@ -7165,15 +7145,15 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                       ("i2185"
-                                                        "i2183"
-                                                        "i2181"
-                                                        "i2179"
-                                                        "i2177"))
+                                                       ("i2279"
+                                                        "i2277"
+                                                        "i2275"
+                                                        "i2273"
+                                                        "i2271"))
                                                      #(ribcage
                                                        #(orig-args)
                                                        #((top))
-                                                       #("i2176"))
+                                                       #("i2270"))
                                                      #(ribcage
                                                        (lambda-var-list
                                                          gen-var
@@ -7449,69 +7429,68 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                       ("i494"
-                                                        "i492"
-                                                        "i490"
-                                                        "i488"
-                                                        "i486"
-                                                        "i484"
-                                                        "i482"
-                                                        "i480"
-                                                        "i478"
-                                                        "i476"
-                                                        "i474"
-                                                        "i472"
-                                                        "i470"
-                                                        "i468"
-                                                        "i466"
-                                                        "i464"
-                                                        "i462"
-                                                        "i460"
-                                                        "i458"
-                                                        "i456"
-                                                        "i454"
-                                                        "i452"
-                                                        "i450"
-                                                        "i448"
-                                                        "i446"
-                                                        "i444"
-                                                        "i442"
-                                                        "i440"
-                                                        "i438"
-                                                        "i436"
-                                                        "i434"
-                                                        "i432"
-                                                        "i430"
-                                                        "i428"
-                                                        "i426"
-                                                        "i424"
+                                                       ("i489"
+                                                        "i487"
+                                                        "i485"
+                                                        "i483"
+                                                        "i481"
+                                                        "i479"
+                                                        "i477"
+                                                        "i475"
+                                                        "i473"
+                                                        "i471"
+                                                        "i469"
+                                                        "i467"
+                                                        "i465"
+                                                        "i463"
+                                                        "i461"
+                                                        "i459"
+                                                        "i457"
+                                                        "i455"
+                                                        "i453"
+                                                        "i451"
+                                                        "i449"
+                                                        "i447"
+                                                        "i445"
+                                                        "i443"
+                                                        "i441"
+                                                        "i439"
+                                                        "i437"
+                                                        "i435"
+                                                        "i433"
+                                                        "i431"
+                                                        "i429"
+                                                        "i427"
+                                                        "i425"
                                                         "i423"
-                                                        "i422"
-                                                        "i420"
+                                                        "i421"
                                                         "i419"
                                                         "i418"
                                                         "i417"
-                                                        "i416"
+                                                        "i415"
                                                         "i414"
+                                                        "i413"
                                                         "i412"
-                                                        "i410"
-                                                        "i408"
-                                                        "i406"
-                                                        "i404"
-                                                        "i402"
-                                                        "i400"
+                                                        "i411"
+                                                        "i409"
+                                                        "i407"
+                                                        "i405"
+                                                        "i403"
+                                                        "i401"
+                                                        "i399"
                                                         "i397"
                                                         "i395"
-                                                        "i394"
-                                                        "i393"
                                                         "i392"
-                                                        "i391"
                                                         "i390"
+                                                        "i389"
                                                         "i388"
+                                                        "i387"
                                                         "i386"
+                                                        "i385"
                                                         "i384"
+                                                        "i383"
                                                         "i382"
-                                                        "i381"
+                                                        "i380"
                                                         "i379"
                                                         "i377"
                                                         "i375"
@@ -7519,8 +7498,9 @@
                                                         "i371"
                                                         "i369"
                                                         "i367"
-                                                        "i366"
+                                                        "i365"
                                                         "i364"
+                                                        "i363"
                                                         "i362"
                                                         "i361"
                                                         "i360"
@@ -7600,145 +7580,145 @@
                                                         "i37"
                                                         "i35")))
                                                     (hygiene guile))))
-                                          #{ropt\ 2238}#)))
-                                #{tmp\ 2244}#)
-                              (let ((#{tmp\ 2253}#
+                                          #{ropt\ 2332}#)))
+                                #{tmp\ 2338}#)
+                              (let ((#{tmp\ 2347}#
                                       ($sc-dispatch
-                                        #{tmp\ 2242}#
+                                        #{tmp\ 2336}#
                                         '((any any) . any))))
-                                (if (if #{tmp\ 2253}#
+                                (if (if #{tmp\ 2347}#
                                       (@apply
-                                        (lambda (#{a\ 2257}#
-                                                 #{init\ 2258}#
-                                                 #{b\ 2259}#)
-                                          (#{id?\ 380}# #{a\ 2257}#))
-                                        #{tmp\ 2253}#)
+                                        (lambda (#{a\ 2351}#
+                                                 #{init\ 2352}#
+                                                 #{b\ 2353}#)
+                                          (#{id?\ 378}# #{a\ 2351}#))
+                                        #{tmp\ 2347}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{a\ 2263}#
-                                             #{init\ 2264}#
-                                             #{b\ 2265}#)
-                                      (#{opt\ 2180}#
-                                        #{b\ 2265}#
-                                        #{req\ 2237}#
-                                        (cons (list #{a\ 2263}# #{init\ 2264}#)
-                                              #{ropt\ 2238}#)))
-                                    #{tmp\ 2253}#)
-                                  (let ((#{tmp\ 2266}#
+                                    (lambda (#{a\ 2357}#
+                                             #{init\ 2358}#
+                                             #{b\ 2359}#)
+                                      (#{opt\ 2274}#
+                                        #{b\ 2359}#
+                                        #{req\ 2331}#
+                                        (cons (list #{a\ 2357}# #{init\ 2358}#)
+                                              #{ropt\ 2332}#)))
+                                    #{tmp\ 2347}#)
+                                  (let ((#{tmp\ 2360}#
                                           ($sc-dispatch
-                                            #{tmp\ 2242}#
+                                            #{tmp\ 2336}#
                                             '(any . any))))
-                                    (if (if #{tmp\ 2266}#
+                                    (if (if #{tmp\ 2360}#
                                           (@apply
-                                            (lambda (#{a\ 2269}# #{b\ 2270}#)
-                                              (eq? (syntax->datum #{a\ 2269}#)
+                                            (lambda (#{a\ 2363}# #{b\ 2364}#)
+                                              (eq? (syntax->datum #{a\ 2363}#)
                                                    #:key))
-                                            #{tmp\ 2266}#)
+                                            #{tmp\ 2360}#)
                                           #f)
                                       (@apply
-                                        (lambda (#{a\ 2273}# #{b\ 2274}#)
-                                          (#{key\ 2182}#
-                                            #{b\ 2274}#
-                                            #{req\ 2237}#
-                                            (reverse #{ropt\ 2238}#)
+                                        (lambda (#{a\ 2367}# #{b\ 2368}#)
+                                          (#{key\ 2276}#
+                                            #{b\ 2368}#
+                                            #{req\ 2331}#
+                                            (reverse #{ropt\ 2332}#)
                                             '()))
-                                        #{tmp\ 2266}#)
-                                      (let ((#{tmp\ 2275}#
+                                        #{tmp\ 2360}#)
+                                      (let ((#{tmp\ 2369}#
                                               ($sc-dispatch
-                                                #{tmp\ 2242}#
+                                                #{tmp\ 2336}#
                                                 '(any any))))
-                                        (if (if #{tmp\ 2275}#
+                                        (if (if #{tmp\ 2369}#
                                               (@apply
-                                                (lambda (#{a\ 2278}#
-                                                         #{b\ 2279}#)
+                                                (lambda (#{a\ 2372}#
+                                                         #{b\ 2373}#)
                                                   (eq? (syntax->datum
-                                                         #{a\ 2278}#)
+                                                         #{a\ 2372}#)
                                                        #:rest))
-                                                #{tmp\ 2275}#)
+                                                #{tmp\ 2369}#)
                                               #f)
                                           (@apply
-                                            (lambda (#{a\ 2282}# #{b\ 2283}#)
-                                              (#{rest\ 2184}#
-                                                #{b\ 2283}#
-                                                #{req\ 2237}#
-                                                (reverse #{ropt\ 2238}#)
+                                            (lambda (#{a\ 2376}# #{b\ 2377}#)
+                                              (#{rest\ 2278}#
+                                                #{b\ 2377}#
+                                                #{req\ 2331}#
+                                                (reverse #{ropt\ 2332}#)
                                                 '()))
-                                            #{tmp\ 2275}#)
-                                          (let ((#{tmp\ 2284}#
-                                                  (list #{tmp\ 2242}#)))
-                                            (if (if #{tmp\ 2284}#
+                                            #{tmp\ 2369}#)
+                                          (let ((#{tmp\ 2378}#
+                                                  (list #{tmp\ 2336}#)))
+                                            (if (if #{tmp\ 2378}#
                                                   (@apply
-                                                    (lambda (#{r\ 2286}#)
-                                                      (#{id?\ 380}#
-                                                        #{r\ 2286}#))
-                                                    #{tmp\ 2284}#)
+                                                    (lambda (#{r\ 2380}#)
+                                                      (#{id?\ 378}#
+                                                        #{r\ 2380}#))
+                                                    #{tmp\ 2378}#)
                                                   #f)
                                               (@apply
-                                                (lambda (#{r\ 2288}#)
-                                                  (#{rest\ 2184}#
-                                                    #{r\ 2288}#
-                                                    #{req\ 2237}#
-                                                    (reverse #{ropt\ 2238}#)
+                                                (lambda (#{r\ 2382}#)
+                                                  (#{rest\ 2278}#
+                                                    #{r\ 2382}#
+                                                    #{req\ 2331}#
+                                                    (reverse #{ropt\ 2332}#)
                                                     '()))
-                                                #{tmp\ 2284}#)
-                                              (let ((#{else\ 2290}#
-                                                      #{tmp\ 2242}#))
+                                                #{tmp\ 2378}#)
+                                              (let ((#{else\ 2384}#
+                                                      #{tmp\ 2336}#))
                                                 (syntax-violation
                                                   'lambda*
                                                   "invalid optional argument 
list"
-                                                  #{orig-args\ 2175}#
-                                                  #{args\ 
2236}#)))))))))))))))))
-                (#{key\ 2182}#
-                  (lambda (#{args\ 2291}#
-                           #{req\ 2292}#
-                           #{opt\ 2293}#
-                           #{rkey\ 2294}#)
-                    (let ((#{tmp\ 2299}# #{args\ 2291}#))
-                      (let ((#{tmp\ 2300}#
-                              ($sc-dispatch #{tmp\ 2299}# (quote ()))))
-                        (if #{tmp\ 2300}#
+                                                  #{orig-args\ 2269}#
+                                                  #{args\ 
2330}#)))))))))))))))))
+                (#{key\ 2276}#
+                  (lambda (#{args\ 2385}#
+                           #{req\ 2386}#
+                           #{opt\ 2387}#
+                           #{rkey\ 2388}#)
+                    (let ((#{tmp\ 2393}# #{args\ 2385}#))
+                      (let ((#{tmp\ 2394}#
+                              ($sc-dispatch #{tmp\ 2393}# (quote ()))))
+                        (if #{tmp\ 2394}#
                           (@apply
                             (lambda ()
-                              (#{check\ 2186}#
-                                #{req\ 2292}#
-                                #{opt\ 2293}#
+                              (#{check\ 2280}#
+                                #{req\ 2386}#
+                                #{opt\ 2387}#
                                 #f
-                                (cons #f (reverse #{rkey\ 2294}#))))
-                            #{tmp\ 2300}#)
-                          (let ((#{tmp\ 2301}#
+                                (cons #f (reverse #{rkey\ 2388}#))))
+                            #{tmp\ 2394}#)
+                          (let ((#{tmp\ 2395}#
                                   ($sc-dispatch
-                                    #{tmp\ 2299}#
+                                    #{tmp\ 2393}#
                                     '(any . any))))
-                            (if (if #{tmp\ 2301}#
+                            (if (if #{tmp\ 2395}#
                                   (@apply
-                                    (lambda (#{a\ 2304}# #{b\ 2305}#)
-                                      (#{id?\ 380}# #{a\ 2304}#))
-                                    #{tmp\ 2301}#)
+                                    (lambda (#{a\ 2398}# #{b\ 2399}#)
+                                      (#{id?\ 378}# #{a\ 2398}#))
+                                    #{tmp\ 2395}#)
                                   #f)
                               (@apply
-                                (lambda (#{a\ 2308}# #{b\ 2309}#)
-                                  (let ((#{tmp\ 2311}#
+                                (lambda (#{a\ 2402}# #{b\ 2403}#)
+                                  (let ((#{tmp\ 2405}#
                                           (symbol->keyword
-                                            (syntax->datum #{a\ 2308}#))))
-                                    (let ((#{k\ 2313}# #{tmp\ 2311}#))
-                                      (#{key\ 2182}#
-                                        #{b\ 2309}#
-                                        #{req\ 2292}#
-                                        #{opt\ 2293}#
-                                        (cons (cons #{k\ 2313}#
-                                                    (cons #{a\ 2308}#
+                                            (syntax->datum #{a\ 2402}#))))
+                                    (let ((#{k\ 2407}# #{tmp\ 2405}#))
+                                      (#{key\ 2276}#
+                                        #{b\ 2403}#
+                                        #{req\ 2386}#
+                                        #{opt\ 2387}#
+                                        (cons (cons #{k\ 2407}#
+                                                    (cons #{a\ 2402}#
                                                           '(#(syntax-object
                                                               #f
                                                               ((top)
                                                                #(ribcage
                                                                  #(k)
                                                                  #((top))
-                                                                 #("i2312"))
+                                                                 #("i2406"))
                                                                #(ribcage
                                                                  #(a b)
                                                                  #((top) (top))
-                                                                 #("i2306"
-                                                                   "i2307"))
+                                                                 #("i2400"
+                                                                   "i2401"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -7752,10 +7732,10 @@
                                                                    (top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i2295"
-                                                                   "i2296"
-                                                                   "i2297"
-                                                                   "i2298"))
+                                                                 #("i2389"
+                                                                   "i2390"
+                                                                   "i2391"
+                                                                   "i2392"))
                                                                #(ribcage
                                                                  (check rest
                                                                         key
@@ -7766,15 +7746,15 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                 ("i2185"
-                                                                  "i2183"
-                                                                  "i2181"
-                                                                  "i2179"
-                                                                  "i2177"))
+                                                                 ("i2279"
+                                                                  "i2277"
+                                                                  "i2275"
+                                                                  "i2273"
+                                                                  "i2271"))
                                                                #(ribcage
                                                                  #(orig-args)
                                                                  #((top))
-                                                                 #("i2176"))
+                                                                 #("i2270"))
                                                                #(ribcage
                                                                  
(lambda-var-list
                                                                    gen-var
@@ -8050,69 +8030,68 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                 ("i494"
-                                                                  "i492"
-                                                                  "i490"
-                                                                  "i488"
-                                                                  "i486"
-                                                                  "i484"
-                                                                  "i482"
-                                                                  "i480"
-                                                                  "i478"
-                                                                  "i476"
-                                                                  "i474"
-                                                                  "i472"
-                                                                  "i470"
-                                                                  "i468"
-                                                                  "i466"
-                                                                  "i464"
-                                                                  "i462"
-                                                                  "i460"
-                                                                  "i458"
-                                                                  "i456"
-                                                                  "i454"
-                                                                  "i452"
-                                                                  "i450"
-                                                                  "i448"
-                                                                  "i446"
-                                                                  "i444"
-                                                                  "i442"
-                                                                  "i440"
-                                                                  "i438"
-                                                                  "i436"
-                                                                  "i434"
-                                                                  "i432"
-                                                                  "i430"
-                                                                  "i428"
-                                                                  "i426"
-                                                                  "i424"
+                                                                 ("i489"
+                                                                  "i487"
+                                                                  "i485"
+                                                                  "i483"
+                                                                  "i481"
+                                                                  "i479"
+                                                                  "i477"
+                                                                  "i475"
+                                                                  "i473"
+                                                                  "i471"
+                                                                  "i469"
+                                                                  "i467"
+                                                                  "i465"
+                                                                  "i463"
+                                                                  "i461"
+                                                                  "i459"
+                                                                  "i457"
+                                                                  "i455"
+                                                                  "i453"
+                                                                  "i451"
+                                                                  "i449"
+                                                                  "i447"
+                                                                  "i445"
+                                                                  "i443"
+                                                                  "i441"
+                                                                  "i439"
+                                                                  "i437"
+                                                                  "i435"
+                                                                  "i433"
+                                                                  "i431"
+                                                                  "i429"
+                                                                  "i427"
+                                                                  "i425"
                                                                   "i423"
-                                                                  "i422"
-                                                                  "i420"
+                                                                  "i421"
                                                                   "i419"
                                                                   "i418"
                                                                   "i417"
-                                                                  "i416"
+                                                                  "i415"
                                                                   "i414"
+                                                                  "i413"
                                                                   "i412"
-                                                                  "i410"
-                                                                  "i408"
-                                                                  "i406"
-                                                                  "i404"
-                                                                  "i402"
-                                                                  "i400"
+                                                                  "i411"
+                                                                  "i409"
+                                                                  "i407"
+                                                                  "i405"
+                                                                  "i403"
+                                                                  "i401"
+                                                                  "i399"
                                                                   "i397"
                                                                   "i395"
-                                                                  "i394"
-                                                                  "i393"
                                                                   "i392"
-                                                                  "i391"
                                                                   "i390"
+                                                                  "i389"
                                                                   "i388"
+                                                                  "i387"
                                                                   "i386"
+                                                                  "i385"
                                                                   "i384"
+                                                                  "i383"
                                                                   "i382"
-                                                                  "i381"
+                                                                  "i380"
                                                                   "i379"
                                                                   "i377"
                                                                   "i375"
@@ -8120,8 +8099,9 @@
                                                                   "i371"
                                                                   "i369"
                                                                   "i367"
-                                                                  "i366"
+                                                                  "i365"
                                                                   "i364"
+                                                                  "i363"
                                                                   "i362"
                                                                   "i361"
                                                                   "i360"
@@ -8202,2067 +8182,2056 @@
                                                                   "i35")))
                                                               (hygiene
                                                                 guile)))))
-                                              #{rkey\ 2294}#)))))
-                                #{tmp\ 2301}#)
-                              (let ((#{tmp\ 2314}#
+                                              #{rkey\ 2388}#)))))
+                                #{tmp\ 2395}#)
+                              (let ((#{tmp\ 2408}#
                                       ($sc-dispatch
-                                        #{tmp\ 2299}#
+                                        #{tmp\ 2393}#
                                         '((any any) . any))))
-                                (if (if #{tmp\ 2314}#
+                                (if (if #{tmp\ 2408}#
                                       (@apply
-                                        (lambda (#{a\ 2318}#
-                                                 #{init\ 2319}#
-                                                 #{b\ 2320}#)
-                                          (#{id?\ 380}# #{a\ 2318}#))
-                                        #{tmp\ 2314}#)
+                                        (lambda (#{a\ 2412}#
+                                                 #{init\ 2413}#
+                                                 #{b\ 2414}#)
+                                          (#{id?\ 378}# #{a\ 2412}#))
+                                        #{tmp\ 2408}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{a\ 2324}#
-                                             #{init\ 2325}#
-                                             #{b\ 2326}#)
-                                      (let ((#{tmp\ 2328}#
+                                    (lambda (#{a\ 2418}#
+                                             #{init\ 2419}#
+                                             #{b\ 2420}#)
+                                      (let ((#{tmp\ 2422}#
                                               (symbol->keyword
-                                                (syntax->datum #{a\ 2324}#))))
-                                        (let ((#{k\ 2330}# #{tmp\ 2328}#))
-                                          (#{key\ 2182}#
-                                            #{b\ 2326}#
-                                            #{req\ 2292}#
-                                            #{opt\ 2293}#
-                                            (cons (list #{k\ 2330}#
-                                                        #{a\ 2324}#
-                                                        #{init\ 2325}#)
-                                                  #{rkey\ 2294}#)))))
-                                    #{tmp\ 2314}#)
-                                  (let ((#{tmp\ 2331}#
+                                                (syntax->datum #{a\ 2418}#))))
+                                        (let ((#{k\ 2424}# #{tmp\ 2422}#))
+                                          (#{key\ 2276}#
+                                            #{b\ 2420}#
+                                            #{req\ 2386}#
+                                            #{opt\ 2387}#
+                                            (cons (list #{k\ 2424}#
+                                                        #{a\ 2418}#
+                                                        #{init\ 2419}#)
+                                                  #{rkey\ 2388}#)))))
+                                    #{tmp\ 2408}#)
+                                  (let ((#{tmp\ 2425}#
                                           ($sc-dispatch
-                                            #{tmp\ 2299}#
+                                            #{tmp\ 2393}#
                                             '((any any any) . any))))
-                                    (if (if #{tmp\ 2331}#
+                                    (if (if #{tmp\ 2425}#
                                           (@apply
-                                            (lambda (#{a\ 2336}#
-                                                     #{init\ 2337}#
-                                                     #{k\ 2338}#
-                                                     #{b\ 2339}#)
-                                              (if (#{id?\ 380}# #{a\ 2336}#)
+                                            (lambda (#{a\ 2430}#
+                                                     #{init\ 2431}#
+                                                     #{k\ 2432}#
+                                                     #{b\ 2433}#)
+                                              (if (#{id?\ 378}# #{a\ 2430}#)
                                                 (keyword?
-                                                  (syntax->datum #{k\ 2338}#))
+                                                  (syntax->datum #{k\ 2432}#))
                                                 #f))
-                                            #{tmp\ 2331}#)
+                                            #{tmp\ 2425}#)
                                           #f)
                                       (@apply
-                                        (lambda (#{a\ 2346}#
-                                                 #{init\ 2347}#
-                                                 #{k\ 2348}#
-                                                 #{b\ 2349}#)
-                                          (#{key\ 2182}#
-                                            #{b\ 2349}#
-                                            #{req\ 2292}#
-                                            #{opt\ 2293}#
-                                            (cons (list #{k\ 2348}#
-                                                        #{a\ 2346}#
-                                                        #{init\ 2347}#)
-                                                  #{rkey\ 2294}#)))
-                                        #{tmp\ 2331}#)
-                                      (let ((#{tmp\ 2350}#
+                                        (lambda (#{a\ 2440}#
+                                                 #{init\ 2441}#
+                                                 #{k\ 2442}#
+                                                 #{b\ 2443}#)
+                                          (#{key\ 2276}#
+                                            #{b\ 2443}#
+                                            #{req\ 2386}#
+                                            #{opt\ 2387}#
+                                            (cons (list #{k\ 2442}#
+                                                        #{a\ 2440}#
+                                                        #{init\ 2441}#)
+                                                  #{rkey\ 2388}#)))
+                                        #{tmp\ 2425}#)
+                                      (let ((#{tmp\ 2444}#
                                               ($sc-dispatch
-                                                #{tmp\ 2299}#
+                                                #{tmp\ 2393}#
                                                 '(any))))
-                                        (if (if #{tmp\ 2350}#
+                                        (if (if #{tmp\ 2444}#
                                               (@apply
-                                                (lambda (#{aok\ 2352}#)
+                                                (lambda (#{aok\ 2446}#)
                                                   (eq? (syntax->datum
-                                                         #{aok\ 2352}#)
+                                                         #{aok\ 2446}#)
                                                        #:allow-other-keys))
-                                                #{tmp\ 2350}#)
+                                                #{tmp\ 2444}#)
                                               #f)
                                           (@apply
-                                            (lambda (#{aok\ 2354}#)
-                                              (#{check\ 2186}#
-                                                #{req\ 2292}#
-                                                #{opt\ 2293}#
+                                            (lambda (#{aok\ 2448}#)
+                                              (#{check\ 2280}#
+                                                #{req\ 2386}#
+                                                #{opt\ 2387}#
                                                 #f
                                                 (cons #t
                                                       (reverse
-                                                        #{rkey\ 2294}#))))
-                                            #{tmp\ 2350}#)
-                                          (let ((#{tmp\ 2355}#
+                                                        #{rkey\ 2388}#))))
+                                            #{tmp\ 2444}#)
+                                          (let ((#{tmp\ 2449}#
                                                   ($sc-dispatch
-                                                    #{tmp\ 2299}#
+                                                    #{tmp\ 2393}#
                                                     '(any any any))))
-                                            (if (if #{tmp\ 2355}#
+                                            (if (if #{tmp\ 2449}#
                                                   (@apply
-                                                    (lambda (#{aok\ 2359}#
-                                                             #{a\ 2360}#
-                                                             #{b\ 2361}#)
+                                                    (lambda (#{aok\ 2453}#
+                                                             #{a\ 2454}#
+                                                             #{b\ 2455}#)
                                                       (if (eq? (syntax->datum
-                                                                 #{aok\ 2359}#)
+                                                                 #{aok\ 2453}#)
                                                                
#:allow-other-keys)
                                                         (eq? (syntax->datum
-                                                               #{a\ 2360}#)
+                                                               #{a\ 2454}#)
                                                              #:rest)
                                                         #f))
-                                                    #{tmp\ 2355}#)
+                                                    #{tmp\ 2449}#)
                                                   #f)
                                               (@apply
-                                                (lambda (#{aok\ 2367}#
-                                                         #{a\ 2368}#
-                                                         #{b\ 2369}#)
-                                                  (#{rest\ 2184}#
-                                                    #{b\ 2369}#
-                                                    #{req\ 2292}#
-                                                    #{opt\ 2293}#
+                                                (lambda (#{aok\ 2461}#
+                                                         #{a\ 2462}#
+                                                         #{b\ 2463}#)
+                                                  (#{rest\ 2278}#
+                                                    #{b\ 2463}#
+                                                    #{req\ 2386}#
+                                                    #{opt\ 2387}#
                                                     (cons #t
                                                           (reverse
-                                                            #{rkey\ 2294}#))))
-                                                #{tmp\ 2355}#)
-                                              (let ((#{tmp\ 2370}#
+                                                            #{rkey\ 2388}#))))
+                                                #{tmp\ 2449}#)
+                                              (let ((#{tmp\ 2464}#
                                                       ($sc-dispatch
-                                                        #{tmp\ 2299}#
+                                                        #{tmp\ 2393}#
                                                         '(any . any))))
-                                                (if (if #{tmp\ 2370}#
+                                                (if (if #{tmp\ 2464}#
                                                       (@apply
-                                                        (lambda (#{aok\ 2373}#
-                                                                 #{r\ 2374}#)
+                                                        (lambda (#{aok\ 2467}#
+                                                                 #{r\ 2468}#)
                                                           (if (eq? 
(syntax->datum
-                                                                     #{aok\ 
2373}#)
+                                                                     #{aok\ 
2467}#)
                                                                    
#:allow-other-keys)
-                                                            (#{id?\ 380}#
-                                                              #{r\ 2374}#)
+                                                            (#{id?\ 378}#
+                                                              #{r\ 2468}#)
                                                             #f))
-                                                        #{tmp\ 2370}#)
+                                                        #{tmp\ 2464}#)
                                                       #f)
                                                   (@apply
-                                                    (lambda (#{aok\ 2379}#
-                                                             #{r\ 2380}#)
-                                                      (#{rest\ 2184}#
-                                                        #{r\ 2380}#
-                                                        #{req\ 2292}#
-                                                        #{opt\ 2293}#
+                                                    (lambda (#{aok\ 2473}#
+                                                             #{r\ 2474}#)
+                                                      (#{rest\ 2278}#
+                                                        #{r\ 2474}#
+                                                        #{req\ 2386}#
+                                                        #{opt\ 2387}#
                                                         (cons #t
                                                               (reverse
-                                                                #{rkey\ 
2294}#))))
-                                                    #{tmp\ 2370}#)
-                                                  (let ((#{tmp\ 2381}#
+                                                                #{rkey\ 
2388}#))))
+                                                    #{tmp\ 2464}#)
+                                                  (let ((#{tmp\ 2475}#
                                                           ($sc-dispatch
-                                                            #{tmp\ 2299}#
+                                                            #{tmp\ 2393}#
                                                             '(any any))))
-                                                    (if (if #{tmp\ 2381}#
+                                                    (if (if #{tmp\ 2475}#
                                                           (@apply
-                                                            (lambda (#{a\ 
2384}#
-                                                                     #{b\ 
2385}#)
+                                                            (lambda (#{a\ 
2478}#
+                                                                     #{b\ 
2479}#)
                                                               (eq? 
(syntax->datum
-                                                                     #{a\ 
2384}#)
+                                                                     #{a\ 
2478}#)
                                                                    #:rest))
-                                                            #{tmp\ 2381}#)
+                                                            #{tmp\ 2475}#)
                                                           #f)
                                                       (@apply
-                                                        (lambda (#{a\ 2388}#
-                                                                 #{b\ 2389}#)
-                                                          (#{rest\ 2184}#
-                                                            #{b\ 2389}#
-                                                            #{req\ 2292}#
-                                                            #{opt\ 2293}#
+                                                        (lambda (#{a\ 2482}#
+                                                                 #{b\ 2483}#)
+                                                          (#{rest\ 2278}#
+                                                            #{b\ 2483}#
+                                                            #{req\ 2386}#
+                                                            #{opt\ 2387}#
                                                             (cons #f
                                                                   (reverse
-                                                                    #{rkey\ 
2294}#))))
-                                                        #{tmp\ 2381}#)
-                                                      (let ((#{tmp\ 2390}#
-                                                              (list #{tmp\ 
2299}#)))
-                                                        (if (if #{tmp\ 2390}#
+                                                                    #{rkey\ 
2388}#))))
+                                                        #{tmp\ 2475}#)
+                                                      (let ((#{tmp\ 2484}#
+                                                              (list #{tmp\ 
2393}#)))
+                                                        (if (if #{tmp\ 2484}#
                                                               (@apply
-                                                                (lambda (#{r\ 
2392}#)
-                                                                  (#{id?\ 380}#
-                                                                    #{r\ 
2392}#))
-                                                                #{tmp\ 2390}#)
+                                                                (lambda (#{r\ 
2486}#)
+                                                                  (#{id?\ 378}#
+                                                                    #{r\ 
2486}#))
+                                                                #{tmp\ 2484}#)
                                                               #f)
                                                           (@apply
-                                                            (lambda (#{r\ 
2394}#)
-                                                              (#{rest\ 2184}#
-                                                                #{r\ 2394}#
-                                                                #{req\ 2292}#
-                                                                #{opt\ 2293}#
+                                                            (lambda (#{r\ 
2488}#)
+                                                              (#{rest\ 2278}#
+                                                                #{r\ 2488}#
+                                                                #{req\ 2386}#
+                                                                #{opt\ 2387}#
                                                                 (cons #f
                                                                       (reverse
-                                                                        
#{rkey\ 2294}#))))
-                                                            #{tmp\ 2390}#)
-                                                          (let ((#{else\ 2396}#
-                                                                  #{tmp\ 
2299}#))
+                                                                        
#{rkey\ 2388}#))))
+                                                            #{tmp\ 2484}#)
+                                                          (let ((#{else\ 2490}#
+                                                                  #{tmp\ 
2393}#))
                                                             (syntax-violation
                                                               'lambda*
                                                               "invalid keyword 
argument list"
-                                                              #{orig-args\ 
2175}#
-                                                              #{args\ 
2291}#)))))))))))))))))))))))
-                (#{rest\ 2184}#
-                  (lambda (#{args\ 2397}#
-                           #{req\ 2398}#
-                           #{opt\ 2399}#
-                           #{kw\ 2400}#)
-                    (let ((#{tmp\ 2405}# #{args\ 2397}#))
-                      (let ((#{tmp\ 2406}# (list #{tmp\ 2405}#)))
-                        (if (if #{tmp\ 2406}#
+                                                              #{orig-args\ 
2269}#
+                                                              #{args\ 
2385}#)))))))))))))))))))))))
+                (#{rest\ 2278}#
+                  (lambda (#{args\ 2491}#
+                           #{req\ 2492}#
+                           #{opt\ 2493}#
+                           #{kw\ 2494}#)
+                    (let ((#{tmp\ 2499}# #{args\ 2491}#))
+                      (let ((#{tmp\ 2500}# (list #{tmp\ 2499}#)))
+                        (if (if #{tmp\ 2500}#
                               (@apply
-                                (lambda (#{r\ 2408}#)
-                                  (#{id?\ 380}# #{r\ 2408}#))
-                                #{tmp\ 2406}#)
+                                (lambda (#{r\ 2502}#)
+                                  (#{id?\ 378}# #{r\ 2502}#))
+                                #{tmp\ 2500}#)
                               #f)
                           (@apply
-                            (lambda (#{r\ 2410}#)
-                              (#{check\ 2186}#
-                                #{req\ 2398}#
-                                #{opt\ 2399}#
-                                #{r\ 2410}#
-                                #{kw\ 2400}#))
-                            #{tmp\ 2406}#)
-                          (let ((#{else\ 2412}# #{tmp\ 2405}#))
+                            (lambda (#{r\ 2504}#)
+                              (#{check\ 2280}#
+                                #{req\ 2492}#
+                                #{opt\ 2493}#
+                                #{r\ 2504}#
+                                #{kw\ 2494}#))
+                            #{tmp\ 2500}#)
+                          (let ((#{else\ 2506}# #{tmp\ 2499}#))
                             (syntax-violation
                               'lambda*
                               "invalid rest argument"
-                              #{orig-args\ 2175}#
-                              #{args\ 2397}#)))))))
-                (#{check\ 2186}#
-                  (lambda (#{req\ 2413}#
-                           #{opt\ 2414}#
-                           #{rest\ 2415}#
-                           #{kw\ 2416}#)
-                    (if (#{distinct-bound-ids?\ 445}#
+                              #{orig-args\ 2269}#
+                              #{args\ 2491}#)))))))
+                (#{check\ 2280}#
+                  (lambda (#{req\ 2507}#
+                           #{opt\ 2508}#
+                           #{rest\ 2509}#
+                           #{kw\ 2510}#)
+                    (if (#{distinct-bound-ids?\ 440}#
                           (append
-                            #{req\ 2413}#
-                            (map car #{opt\ 2414}#)
-                            (if #{rest\ 2415}#
-                              (list #{rest\ 2415}#)
+                            #{req\ 2507}#
+                            (map car #{opt\ 2508}#)
+                            (if #{rest\ 2509}#
+                              (list #{rest\ 2509}#)
                               '())
-                            (if (pair? #{kw\ 2416}#)
-                              (map cadr (cdr #{kw\ 2416}#))
+                            (if (pair? #{kw\ 2510}#)
+                              (map cadr (cdr #{kw\ 2510}#))
                               '())))
                       (values
-                        #{req\ 2413}#
-                        #{opt\ 2414}#
-                        #{rest\ 2415}#
-                        #{kw\ 2416}#)
+                        #{req\ 2507}#
+                        #{opt\ 2508}#
+                        #{rest\ 2509}#
+                        #{kw\ 2510}#)
                       (syntax-violation
                         'lambda*
                         "duplicate identifier in argument list"
-                        #{orig-args\ 2175}#)))))
+                        #{orig-args\ 2269}#)))))
                (begin
-                 (#{req\ 2178}# #{orig-args\ 2175}# (quote ()))))))
-         (#{chi-lambda-case\ 489}#
-           (lambda (#{e\ 2424}#
-                    #{r\ 2425}#
-                    #{w\ 2426}#
-                    #{s\ 2427}#
-                    #{mod\ 2428}#
-                    #{get-formals\ 2429}#
-                    #{clauses\ 2430}#)
+                 (#{req\ 2272}# #{orig-args\ 2269}# (quote ()))))))
+         (#{chi-lambda-case\ 484}#
+           (lambda (#{e\ 2518}#
+                    #{r\ 2519}#
+                    #{w\ 2520}#
+                    #{s\ 2521}#
+                    #{mod\ 2522}#
+                    #{get-formals\ 2523}#
+                    #{clauses\ 2524}#)
              (letrec*
-               ((#{expand-req\ 2439}#
-                  (lambda (#{req\ 2446}#
-                           #{opt\ 2447}#
-                           #{rest\ 2448}#
-                           #{kw\ 2449}#
-                           #{body\ 2450}#)
+               ((#{expand-req\ 2533}#
+                  (lambda (#{req\ 2540}#
+                           #{opt\ 2541}#
+                           #{rest\ 2542}#
+                           #{kw\ 2543}#
+                           #{body\ 2544}#)
                     (begin
-                      (let ((#{vars\ 2458}#
-                              (map #{gen-var\ 493}# #{req\ 2446}#))
-                            (#{labels\ 2459}#
-                              (#{gen-labels\ 398}# #{req\ 2446}#)))
+                      (let ((#{vars\ 2552}#
+                              (map #{gen-var\ 488}# #{req\ 2540}#))
+                            (#{labels\ 2553}#
+                              (#{gen-labels\ 393}# #{req\ 2540}#)))
                         (begin
-                          (let ((#{r*\ 2462}#
-                                  (#{extend-var-env\ 370}#
-                                    #{labels\ 2459}#
-                                    #{vars\ 2458}#
-                                    #{r\ 2425}#))
-                                (#{w*\ 2463}#
-                                  (#{make-binding-wrap\ 427}#
-                                    #{req\ 2446}#
-                                    #{labels\ 2459}#
-                                    #{w\ 2426}#)))
-                            (#{expand-opt\ 2441}#
-                              (map syntax->datum #{req\ 2446}#)
-                              #{opt\ 2447}#
-                              #{rest\ 2448}#
-                              #{kw\ 2449}#
-                              #{body\ 2450}#
-                              (reverse #{vars\ 2458}#)
-                              #{r*\ 2462}#
-                              #{w*\ 2463}#
+                          (let ((#{r*\ 2556}#
+                                  (#{extend-var-env\ 368}#
+                                    #{labels\ 2553}#
+                                    #{vars\ 2552}#
+                                    #{r\ 2519}#))
+                                (#{w*\ 2557}#
+                                  (#{make-binding-wrap\ 422}#
+                                    #{req\ 2540}#
+                                    #{labels\ 2553}#
+                                    #{w\ 2520}#)))
+                            (#{expand-opt\ 2535}#
+                              (map syntax->datum #{req\ 2540}#)
+                              #{opt\ 2541}#
+                              #{rest\ 2542}#
+                              #{kw\ 2543}#
+                              #{body\ 2544}#
+                              (reverse #{vars\ 2552}#)
+                              #{r*\ 2556}#
+                              #{w*\ 2557}#
                               '()
                               '())))))))
-                (#{expand-opt\ 2441}#
-                  (lambda (#{req\ 2464}#
-                           #{opt\ 2465}#
-                           #{rest\ 2466}#
-                           #{kw\ 2467}#
-                           #{body\ 2468}#
-                           #{vars\ 2469}#
-                           #{r*\ 2470}#
-                           #{w*\ 2471}#
-                           #{out\ 2472}#
-                           #{inits\ 2473}#)
-                    (if (pair? #{opt\ 2465}#)
-                      (let ((#{tmp\ 2486}# (car #{opt\ 2465}#)))
-                        (let ((#{tmp\ 2487}#
+                (#{expand-opt\ 2535}#
+                  (lambda (#{req\ 2558}#
+                           #{opt\ 2559}#
+                           #{rest\ 2560}#
+                           #{kw\ 2561}#
+                           #{body\ 2562}#
+                           #{vars\ 2563}#
+                           #{r*\ 2564}#
+                           #{w*\ 2565}#
+                           #{out\ 2566}#
+                           #{inits\ 2567}#)
+                    (if (pair? #{opt\ 2559}#)
+                      (let ((#{tmp\ 2580}# (car #{opt\ 2559}#)))
+                        (let ((#{tmp\ 2581}#
                                 ($sc-dispatch
-                                  #{tmp\ 2486}#
+                                  #{tmp\ 2580}#
                                   '(any any))))
-                          (if #{tmp\ 2487}#
+                          (if #{tmp\ 2581}#
                             (@apply
-                              (lambda (#{id\ 2490}# #{i\ 2491}#)
+                              (lambda (#{id\ 2584}# #{i\ 2585}#)
                                 (begin
-                                  (let ((#{v\ 2494}#
-                                          (#{gen-var\ 493}# #{id\ 2490}#)))
+                                  (let ((#{v\ 2588}#
+                                          (#{gen-var\ 488}# #{id\ 2584}#)))
                                     (begin
-                                      (let ((#{l\ 2496}#
-                                              (#{gen-labels\ 398}#
-                                                (list #{v\ 2494}#))))
+                                      (let ((#{l\ 2590}#
+                                              (#{gen-labels\ 393}#
+                                                (list #{v\ 2588}#))))
                                         (begin
-                                          (let ((#{r**\ 2498}#
-                                                  (#{extend-var-env\ 370}#
-                                                    #{l\ 2496}#
-                                                    (list #{v\ 2494}#)
-                                                    #{r*\ 2470}#)))
+                                          (let ((#{r**\ 2592}#
+                                                  (#{extend-var-env\ 368}#
+                                                    #{l\ 2590}#
+                                                    (list #{v\ 2588}#)
+                                                    #{r*\ 2564}#)))
                                             (begin
-                                              (let ((#{w**\ 2500}#
-                                                      (#{make-binding-wrap\ 
427}#
-                                                        (list #{id\ 2490}#)
-                                                        #{l\ 2496}#
-                                                        #{w*\ 2471}#)))
-                                                (#{expand-opt\ 2441}#
-                                                  #{req\ 2464}#
-                                                  (cdr #{opt\ 2465}#)
-                                                  #{rest\ 2466}#
-                                                  #{kw\ 2467}#
-                                                  #{body\ 2468}#
-                                                  (cons #{v\ 2494}#
-                                                        #{vars\ 2469}#)
-                                                  #{r**\ 2498}#
-                                                  #{w**\ 2500}#
+                                              (let ((#{w**\ 2594}#
+                                                      (#{make-binding-wrap\ 
422}#
+                                                        (list #{id\ 2584}#)
+                                                        #{l\ 2590}#
+                                                        #{w*\ 2565}#)))
+                                                (#{expand-opt\ 2535}#
+                                                  #{req\ 2558}#
+                                                  (cdr #{opt\ 2559}#)
+                                                  #{rest\ 2560}#
+                                                  #{kw\ 2561}#
+                                                  #{body\ 2562}#
+                                                  (cons #{v\ 2588}#
+                                                        #{vars\ 2563}#)
+                                                  #{r**\ 2592}#
+                                                  #{w**\ 2594}#
                                                   (cons (syntax->datum
-                                                          #{id\ 2490}#)
-                                                        #{out\ 2472}#)
-                                                  (cons (#{chi\ 465}#
-                                                          #{i\ 2491}#
-                                                          #{r*\ 2470}#
-                                                          #{w*\ 2471}#
-                                                          #{mod\ 2428}#)
-                                                        #{inits\ 
2473}#)))))))))))
-                              #{tmp\ 2487}#)
+                                                          #{id\ 2584}#)
+                                                        #{out\ 2566}#)
+                                                  (cons (#{chi\ 460}#
+                                                          #{i\ 2585}#
+                                                          #{r*\ 2564}#
+                                                          #{w*\ 2565}#
+                                                          #{mod\ 2522}#)
+                                                        #{inits\ 
2567}#)))))))))))
+                              #{tmp\ 2581}#)
                             (syntax-violation
                               #f
                               "source expression failed to match any pattern"
-                              #{tmp\ 2486}#))))
-                      (if #{rest\ 2466}#
+                              #{tmp\ 2580}#))))
+                      (if #{rest\ 2560}#
                         (begin
-                          (let ((#{v\ 2505}#
-                                  (#{gen-var\ 493}# #{rest\ 2466}#)))
+                          (let ((#{v\ 2599}#
+                                  (#{gen-var\ 488}# #{rest\ 2560}#)))
                             (begin
-                              (let ((#{l\ 2507}#
-                                      (#{gen-labels\ 398}#
-                                        (list #{v\ 2505}#))))
+                              (let ((#{l\ 2601}#
+                                      (#{gen-labels\ 393}#
+                                        (list #{v\ 2599}#))))
                                 (begin
-                                  (let ((#{r*\ 2509}#
-                                          (#{extend-var-env\ 370}#
-                                            #{l\ 2507}#
-                                            (list #{v\ 2505}#)
-                                            #{r*\ 2470}#)))
+                                  (let ((#{r*\ 2603}#
+                                          (#{extend-var-env\ 368}#
+                                            #{l\ 2601}#
+                                            (list #{v\ 2599}#)
+                                            #{r*\ 2564}#)))
                                     (begin
-                                      (let ((#{w*\ 2511}#
-                                              (#{make-binding-wrap\ 427}#
-                                                (list #{rest\ 2466}#)
-                                                #{l\ 2507}#
-                                                #{w*\ 2471}#)))
-                                        (#{expand-kw\ 2443}#
-                                          #{req\ 2464}#
-                                          (if (pair? #{out\ 2472}#)
-                                            (reverse #{out\ 2472}#)
+                                      (let ((#{w*\ 2605}#
+                                              (#{make-binding-wrap\ 422}#
+                                                (list #{rest\ 2560}#)
+                                                #{l\ 2601}#
+                                                #{w*\ 2565}#)))
+                                        (#{expand-kw\ 2537}#
+                                          #{req\ 2558}#
+                                          (if (pair? #{out\ 2566}#)
+                                            (reverse #{out\ 2566}#)
                                             #f)
-                                          (syntax->datum #{rest\ 2466}#)
-                                          (if (pair? #{kw\ 2467}#)
-                                            (cdr #{kw\ 2467}#)
-                                            #{kw\ 2467}#)
-                                          #{body\ 2468}#
-                                          (cons #{v\ 2505}# #{vars\ 2469}#)
-                                          #{r*\ 2509}#
-                                          #{w*\ 2511}#
-                                          (if (pair? #{kw\ 2467}#)
-                                            (car #{kw\ 2467}#)
+                                          (syntax->datum #{rest\ 2560}#)
+                                          (if (pair? #{kw\ 2561}#)
+                                            (cdr #{kw\ 2561}#)
+                                            #{kw\ 2561}#)
+                                          #{body\ 2562}#
+                                          (cons #{v\ 2599}# #{vars\ 2563}#)
+                                          #{r*\ 2603}#
+                                          #{w*\ 2605}#
+                                          (if (pair? #{kw\ 2561}#)
+                                            (car #{kw\ 2561}#)
                                             #f)
                                           '()
-                                          #{inits\ 2473}#)))))))))
-                        (#{expand-kw\ 2443}#
-                          #{req\ 2464}#
-                          (if (pair? #{out\ 2472}#)
-                            (reverse #{out\ 2472}#)
+                                          #{inits\ 2567}#)))))))))
+                        (#{expand-kw\ 2537}#
+                          #{req\ 2558}#
+                          (if (pair? #{out\ 2566}#)
+                            (reverse #{out\ 2566}#)
                             #f)
                           #f
-                          (if (pair? #{kw\ 2467}#)
-                            (cdr #{kw\ 2467}#)
-                            #{kw\ 2467}#)
-                          #{body\ 2468}#
-                          #{vars\ 2469}#
-                          #{r*\ 2470}#
-                          #{w*\ 2471}#
-                          (if (pair? #{kw\ 2467}#) (car #{kw\ 2467}#) #f)
+                          (if (pair? #{kw\ 2561}#)
+                            (cdr #{kw\ 2561}#)
+                            #{kw\ 2561}#)
+                          #{body\ 2562}#
+                          #{vars\ 2563}#
+                          #{r*\ 2564}#
+                          #{w*\ 2565}#
+                          (if (pair? #{kw\ 2561}#) (car #{kw\ 2561}#) #f)
                           '()
-                          #{inits\ 2473}#)))))
-                (#{expand-kw\ 2443}#
-                  (lambda (#{req\ 2513}#
-                           #{opt\ 2514}#
-                           #{rest\ 2515}#
-                           #{kw\ 2516}#
-                           #{body\ 2517}#
-                           #{vars\ 2518}#
-                           #{r*\ 2519}#
-                           #{w*\ 2520}#
-                           #{aok\ 2521}#
-                           #{out\ 2522}#
-                           #{inits\ 2523}#)
-                    (if (pair? #{kw\ 2516}#)
-                      (let ((#{tmp\ 2537}# (car #{kw\ 2516}#)))
-                        (let ((#{tmp\ 2538}#
+                          #{inits\ 2567}#)))))
+                (#{expand-kw\ 2537}#
+                  (lambda (#{req\ 2607}#
+                           #{opt\ 2608}#
+                           #{rest\ 2609}#
+                           #{kw\ 2610}#
+                           #{body\ 2611}#
+                           #{vars\ 2612}#
+                           #{r*\ 2613}#
+                           #{w*\ 2614}#
+                           #{aok\ 2615}#
+                           #{out\ 2616}#
+                           #{inits\ 2617}#)
+                    (if (pair? #{kw\ 2610}#)
+                      (let ((#{tmp\ 2631}# (car #{kw\ 2610}#)))
+                        (let ((#{tmp\ 2632}#
                                 ($sc-dispatch
-                                  #{tmp\ 2537}#
+                                  #{tmp\ 2631}#
                                   '(any any any))))
-                          (if #{tmp\ 2538}#
+                          (if #{tmp\ 2632}#
                             (@apply
-                              (lambda (#{k\ 2542}# #{id\ 2543}# #{i\ 2544}#)
+                              (lambda (#{k\ 2636}# #{id\ 2637}# #{i\ 2638}#)
                                 (begin
-                                  (let ((#{v\ 2547}#
-                                          (#{gen-var\ 493}# #{id\ 2543}#)))
+                                  (let ((#{v\ 2641}#
+                                          (#{gen-var\ 488}# #{id\ 2637}#)))
                                     (begin
-                                      (let ((#{l\ 2549}#
-                                              (#{gen-labels\ 398}#
-                                                (list #{v\ 2547}#))))
+                                      (let ((#{l\ 2643}#
+                                              (#{gen-labels\ 393}#
+                                                (list #{v\ 2641}#))))
                                         (begin
-                                          (let ((#{r**\ 2551}#
-                                                  (#{extend-var-env\ 370}#
-                                                    #{l\ 2549}#
-                                                    (list #{v\ 2547}#)
-                                                    #{r*\ 2519}#)))
+                                          (let ((#{r**\ 2645}#
+                                                  (#{extend-var-env\ 368}#
+                                                    #{l\ 2643}#
+                                                    (list #{v\ 2641}#)
+                                                    #{r*\ 2613}#)))
                                             (begin
-                                              (let ((#{w**\ 2553}#
-                                                      (#{make-binding-wrap\ 
427}#
-                                                        (list #{id\ 2543}#)
-                                                        #{l\ 2549}#
-                                                        #{w*\ 2520}#)))
-                                                (#{expand-kw\ 2443}#
-                                                  #{req\ 2513}#
-                                                  #{opt\ 2514}#
-                                                  #{rest\ 2515}#
-                                                  (cdr #{kw\ 2516}#)
-                                                  #{body\ 2517}#
-                                                  (cons #{v\ 2547}#
-                                                        #{vars\ 2518}#)
-                                                  #{r**\ 2551}#
-                                                  #{w**\ 2553}#
-                                                  #{aok\ 2521}#
+                                              (let ((#{w**\ 2647}#
+                                                      (#{make-binding-wrap\ 
422}#
+                                                        (list #{id\ 2637}#)
+                                                        #{l\ 2643}#
+                                                        #{w*\ 2614}#)))
+                                                (#{expand-kw\ 2537}#
+                                                  #{req\ 2607}#
+                                                  #{opt\ 2608}#
+                                                  #{rest\ 2609}#
+                                                  (cdr #{kw\ 2610}#)
+                                                  #{body\ 2611}#
+                                                  (cons #{v\ 2641}#
+                                                        #{vars\ 2612}#)
+                                                  #{r**\ 2645}#
+                                                  #{w**\ 2647}#
+                                                  #{aok\ 2615}#
                                                   (cons (list (syntax->datum
-                                                                #{k\ 2542}#)
+                                                                #{k\ 2636}#)
                                                               (syntax->datum
-                                                                #{id\ 2543}#)
-                                                              #{v\ 2547}#)
-                                                        #{out\ 2522}#)
-                                                  (cons (#{chi\ 465}#
-                                                          #{i\ 2544}#
-                                                          #{r*\ 2519}#
-                                                          #{w*\ 2520}#
-                                                          #{mod\ 2428}#)
-                                                        #{inits\ 
2523}#)))))))))))
-                              #{tmp\ 2538}#)
+                                                                #{id\ 2637}#)
+                                                              #{v\ 2641}#)
+                                                        #{out\ 2616}#)
+                                                  (cons (#{chi\ 460}#
+                                                          #{i\ 2638}#
+                                                          #{r*\ 2613}#
+                                                          #{w*\ 2614}#
+                                                          #{mod\ 2522}#)
+                                                        #{inits\ 
2617}#)))))))))))
+                              #{tmp\ 2632}#)
                             (syntax-violation
                               #f
                               "source expression failed to match any pattern"
-                              #{tmp\ 2537}#))))
-                      (#{expand-body\ 2445}#
-                        #{req\ 2513}#
-                        #{opt\ 2514}#
-                        #{rest\ 2515}#
+                              #{tmp\ 2631}#))))
+                      (#{expand-body\ 2539}#
+                        #{req\ 2607}#
+                        #{opt\ 2608}#
+                        #{rest\ 2609}#
                         (if (begin
-                              (let ((#{t\ 2557}# #{aok\ 2521}#))
-                                (if #{t\ 2557}#
-                                  #{t\ 2557}#
-                                  (pair? #{out\ 2522}#))))
-                          (cons #{aok\ 2521}# (reverse #{out\ 2522}#))
+                              (let ((#{t\ 2651}# #{aok\ 2615}#))
+                                (if #{t\ 2651}#
+                                  #{t\ 2651}#
+                                  (pair? #{out\ 2616}#))))
+                          (cons #{aok\ 2615}# (reverse #{out\ 2616}#))
                           #f)
-                        #{body\ 2517}#
-                        (reverse #{vars\ 2518}#)
-                        #{r*\ 2519}#
-                        #{w*\ 2520}#
-                        (reverse #{inits\ 2523}#)
+                        #{body\ 2611}#
+                        (reverse #{vars\ 2612}#)
+                        #{r*\ 2613}#
+                        #{w*\ 2614}#
+                        (reverse #{inits\ 2617}#)
                         '()))))
-                (#{expand-body\ 2445}#
-                  (lambda (#{req\ 2559}#
-                           #{opt\ 2560}#
-                           #{rest\ 2561}#
-                           #{kw\ 2562}#
-                           #{body\ 2563}#
-                           #{vars\ 2564}#
-                           #{r*\ 2565}#
-                           #{w*\ 2566}#
-                           #{inits\ 2567}#
-                           #{meta\ 2568}#)
-                    (let ((#{tmp\ 2579}# #{body\ 2563}#))
-                      (let ((#{tmp\ 2580}#
+                (#{expand-body\ 2539}#
+                  (lambda (#{req\ 2653}#
+                           #{opt\ 2654}#
+                           #{rest\ 2655}#
+                           #{kw\ 2656}#
+                           #{body\ 2657}#
+                           #{vars\ 2658}#
+                           #{r*\ 2659}#
+                           #{w*\ 2660}#
+                           #{inits\ 2661}#
+                           #{meta\ 2662}#)
+                    (let ((#{tmp\ 2673}# #{body\ 2657}#))
+                      (let ((#{tmp\ 2674}#
                               ($sc-dispatch
-                                #{tmp\ 2579}#
+                                #{tmp\ 2673}#
                                 '(any any . each-any))))
-                        (if (if #{tmp\ 2580}#
+                        (if (if #{tmp\ 2674}#
                               (@apply
-                                (lambda (#{docstring\ 2584}#
-                                         #{e1\ 2585}#
-                                         #{e2\ 2586}#)
+                                (lambda (#{docstring\ 2678}#
+                                         #{e1\ 2679}#
+                                         #{e2\ 2680}#)
                                   (string?
-                                    (syntax->datum #{docstring\ 2584}#)))
-                                #{tmp\ 2580}#)
+                                    (syntax->datum #{docstring\ 2678}#)))
+                                #{tmp\ 2674}#)
                               #f)
                           (@apply
-                            (lambda (#{docstring\ 2590}#
-                                     #{e1\ 2591}#
-                                     #{e2\ 2592}#)
-                              (#{expand-body\ 2445}#
-                                #{req\ 2559}#
-                                #{opt\ 2560}#
-                                #{rest\ 2561}#
-                                #{kw\ 2562}#
-                                (cons #{e1\ 2591}# #{e2\ 2592}#)
-                                #{vars\ 2564}#
-                                #{r*\ 2565}#
-                                #{w*\ 2566}#
-                                #{inits\ 2567}#
+                            (lambda (#{docstring\ 2684}#
+                                     #{e1\ 2685}#
+                                     #{e2\ 2686}#)
+                              (#{expand-body\ 2539}#
+                                #{req\ 2653}#
+                                #{opt\ 2654}#
+                                #{rest\ 2655}#
+                                #{kw\ 2656}#
+                                (cons #{e1\ 2685}# #{e2\ 2686}#)
+                                #{vars\ 2658}#
+                                #{r*\ 2659}#
+                                #{w*\ 2660}#
+                                #{inits\ 2661}#
                                 (append
-                                  #{meta\ 2568}#
+                                  #{meta\ 2662}#
                                   (list (cons 'documentation
                                               (syntax->datum
-                                                #{docstring\ 2590}#))))))
-                            #{tmp\ 2580}#)
-                          (let ((#{tmp\ 2595}#
+                                                #{docstring\ 2684}#))))))
+                            #{tmp\ 2674}#)
+                          (let ((#{tmp\ 2689}#
                                   ($sc-dispatch
-                                    #{tmp\ 2579}#
+                                    #{tmp\ 2673}#
                                     '(#(vector #(each (any . any)))
                                       any
                                       .
                                       each-any))))
-                            (if #{tmp\ 2595}#
+                            (if #{tmp\ 2689}#
                               (@apply
-                                (lambda (#{k\ 2600}#
-                                         #{v\ 2601}#
-                                         #{e1\ 2602}#
-                                         #{e2\ 2603}#)
-                                  (#{expand-body\ 2445}#
-                                    #{req\ 2559}#
-                                    #{opt\ 2560}#
-                                    #{rest\ 2561}#
-                                    #{kw\ 2562}#
-                                    (cons #{e1\ 2602}# #{e2\ 2603}#)
-                                    #{vars\ 2564}#
-                                    #{r*\ 2565}#
-                                    #{w*\ 2566}#
-                                    #{inits\ 2567}#
+                                (lambda (#{k\ 2694}#
+                                         #{v\ 2695}#
+                                         #{e1\ 2696}#
+                                         #{e2\ 2697}#)
+                                  (#{expand-body\ 2539}#
+                                    #{req\ 2653}#
+                                    #{opt\ 2654}#
+                                    #{rest\ 2655}#
+                                    #{kw\ 2656}#
+                                    (cons #{e1\ 2696}# #{e2\ 2697}#)
+                                    #{vars\ 2658}#
+                                    #{r*\ 2659}#
+                                    #{w*\ 2660}#
+                                    #{inits\ 2661}#
                                     (append
-                                      #{meta\ 2568}#
+                                      #{meta\ 2662}#
                                       (syntax->datum
-                                        (map cons #{k\ 2600}# #{v\ 2601}#)))))
-                                #{tmp\ 2595}#)
-                              (let ((#{tmp\ 2607}#
+                                        (map cons #{k\ 2694}# #{v\ 2695}#)))))
+                                #{tmp\ 2689}#)
+                              (let ((#{tmp\ 2701}#
                                       ($sc-dispatch
-                                        #{tmp\ 2579}#
+                                        #{tmp\ 2673}#
                                         '(any . each-any))))
-                                (if #{tmp\ 2607}#
+                                (if #{tmp\ 2701}#
                                   (@apply
-                                    (lambda (#{e1\ 2610}# #{e2\ 2611}#)
+                                    (lambda (#{e1\ 2704}# #{e2\ 2705}#)
                                       (values
-                                        #{meta\ 2568}#
-                                        #{req\ 2559}#
-                                        #{opt\ 2560}#
-                                        #{rest\ 2561}#
-                                        #{kw\ 2562}#
-                                        #{inits\ 2567}#
-                                        #{vars\ 2564}#
-                                        (#{chi-body\ 473}#
-                                          (cons #{e1\ 2610}# #{e2\ 2611}#)
-                                          (#{source-wrap\ 451}#
-                                            #{e\ 2424}#
-                                            #{w\ 2426}#
-                                            #{s\ 2427}#
-                                            #{mod\ 2428}#)
-                                          #{r*\ 2565}#
-                                          #{w*\ 2566}#
-                                          #{mod\ 2428}#)))
-                                    #{tmp\ 2607}#)
+                                        #{meta\ 2662}#
+                                        #{req\ 2653}#
+                                        #{opt\ 2654}#
+                                        #{rest\ 2655}#
+                                        #{kw\ 2656}#
+                                        #{inits\ 2661}#
+                                        #{vars\ 2658}#
+                                        (#{chi-body\ 468}#
+                                          (cons #{e1\ 2704}# #{e2\ 2705}#)
+                                          (#{source-wrap\ 446}#
+                                            #{e\ 2518}#
+                                            #{w\ 2520}#
+                                            #{s\ 2521}#
+                                            #{mod\ 2522}#)
+                                          #{r*\ 2659}#
+                                          #{w*\ 2660}#
+                                          #{mod\ 2522}#)))
+                                    #{tmp\ 2701}#)
                                   (syntax-violation
                                     #f
                                     "source expression failed to match any 
pattern"
-                                    #{tmp\ 2579}#)))))))))))
+                                    #{tmp\ 2673}#)))))))))))
                (begin
-                 (let ((#{tmp\ 2613}# #{clauses\ 2430}#))
-                   (let ((#{tmp\ 2614}#
-                           ($sc-dispatch #{tmp\ 2613}# (quote ()))))
-                     (if #{tmp\ 2614}#
+                 (let ((#{tmp\ 2707}# #{clauses\ 2524}#))
+                   (let ((#{tmp\ 2708}#
+                           ($sc-dispatch #{tmp\ 2707}# (quote ()))))
+                     (if #{tmp\ 2708}#
                        (@apply
                          (lambda () (values (quote ()) #f))
-                         #{tmp\ 2614}#)
-                       (let ((#{tmp\ 2615}#
+                         #{tmp\ 2708}#)
+                       (let ((#{tmp\ 2709}#
                                ($sc-dispatch
-                                 #{tmp\ 2613}#
+                                 #{tmp\ 2707}#
                                  '((any any . each-any)
                                    .
                                    #(each (any any . each-any))))))
-                         (if #{tmp\ 2615}#
+                         (if #{tmp\ 2709}#
                            (@apply
-                             (lambda (#{args\ 2622}#
-                                      #{e1\ 2623}#
-                                      #{e2\ 2624}#
-                                      #{args*\ 2625}#
-                                      #{e1*\ 2626}#
-                                      #{e2*\ 2627}#)
+                             (lambda (#{args\ 2716}#
+                                      #{e1\ 2717}#
+                                      #{e2\ 2718}#
+                                      #{args*\ 2719}#
+                                      #{e1*\ 2720}#
+                                      #{e2*\ 2721}#)
                                (call-with-values
                                  (lambda ()
-                                   (#{get-formals\ 2429}# #{args\ 2622}#))
-                                 (lambda (#{req\ 2628}#
-                                          #{opt\ 2629}#
-                                          #{rest\ 2630}#
-                                          #{kw\ 2631}#)
+                                   (#{get-formals\ 2523}# #{args\ 2716}#))
+                                 (lambda (#{req\ 2722}#
+                                          #{opt\ 2723}#
+                                          #{rest\ 2724}#
+                                          #{kw\ 2725}#)
                                    (call-with-values
                                      (lambda ()
-                                       (#{expand-req\ 2439}#
-                                         #{req\ 2628}#
-                                         #{opt\ 2629}#
-                                         #{rest\ 2630}#
-                                         #{kw\ 2631}#
-                                         (cons #{e1\ 2623}# #{e2\ 2624}#)))
-                                     (lambda (#{meta\ 2637}#
-                                              #{req\ 2638}#
-                                              #{opt\ 2639}#
-                                              #{rest\ 2640}#
-                                              #{kw\ 2641}#
-                                              #{inits\ 2642}#
-                                              #{vars\ 2643}#
-                                              #{body\ 2644}#)
+                                       (#{expand-req\ 2533}#
+                                         #{req\ 2722}#
+                                         #{opt\ 2723}#
+                                         #{rest\ 2724}#
+                                         #{kw\ 2725}#
+                                         (cons #{e1\ 2717}# #{e2\ 2718}#)))
+                                     (lambda (#{meta\ 2731}#
+                                              #{req\ 2732}#
+                                              #{opt\ 2733}#
+                                              #{rest\ 2734}#
+                                              #{kw\ 2735}#
+                                              #{inits\ 2736}#
+                                              #{vars\ 2737}#
+                                              #{body\ 2738}#)
                                        (call-with-values
                                          (lambda ()
-                                           (#{chi-lambda-case\ 489}#
-                                             #{e\ 2424}#
-                                             #{r\ 2425}#
-                                             #{w\ 2426}#
-                                             #{s\ 2427}#
-                                             #{mod\ 2428}#
-                                             #{get-formals\ 2429}#
-                                             (map (lambda (#{tmp\ 2655}#
-                                                           #{tmp\ 2654}#
-                                                           #{tmp\ 2653}#)
-                                                    (cons #{tmp\ 2653}#
-                                                          (cons #{tmp\ 2654}#
-                                                                #{tmp\ 
2655}#)))
-                                                  #{e2*\ 2627}#
-                                                  #{e1*\ 2626}#
-                                                  #{args*\ 2625}#)))
-                                         (lambda (#{meta*\ 2657}#
-                                                  #{else*\ 2658}#)
+                                           (#{chi-lambda-case\ 484}#
+                                             #{e\ 2518}#
+                                             #{r\ 2519}#
+                                             #{w\ 2520}#
+                                             #{s\ 2521}#
+                                             #{mod\ 2522}#
+                                             #{get-formals\ 2523}#
+                                             (map (lambda (#{tmp\ 2749}#
+                                                           #{tmp\ 2748}#
+                                                           #{tmp\ 2747}#)
+                                                    (cons #{tmp\ 2747}#
+                                                          (cons #{tmp\ 2748}#
+                                                                #{tmp\ 
2749}#)))
+                                                  #{e2*\ 2721}#
+                                                  #{e1*\ 2720}#
+                                                  #{args*\ 2719}#)))
+                                         (lambda (#{meta*\ 2751}#
+                                                  #{else*\ 2752}#)
                                            (values
                                              (append
-                                               #{meta\ 2637}#
-                                               #{meta*\ 2657}#)
+                                               #{meta\ 2731}#
+                                               #{meta*\ 2751}#)
                                              (#{build-lambda-case\ 326}#
-                                               #{s\ 2427}#
-                                               #{req\ 2638}#
-                                               #{opt\ 2639}#
-                                               #{rest\ 2640}#
-                                               #{kw\ 2641}#
-                                               #{inits\ 2642}#
-                                               #{vars\ 2643}#
-                                               #{body\ 2644}#
-                                               #{else*\ 2658}#)))))))))
-                             #{tmp\ 2615}#)
+                                               #{s\ 2521}#
+                                               #{req\ 2732}#
+                                               #{opt\ 2733}#
+                                               #{rest\ 2734}#
+                                               #{kw\ 2735}#
+                                               #{inits\ 2736}#
+                                               #{vars\ 2737}#
+                                               #{body\ 2738}#
+                                               #{else*\ 2752}#)))))))))
+                             #{tmp\ 2709}#)
                            (syntax-violation
                              #f
                              "source expression failed to match any pattern"
-                             #{tmp\ 2613}#))))))))))
-         (#{strip\ 491}#
-           (lambda (#{x\ 2661}# #{w\ 2662}#)
-             (if (memq 'top
-                       (#{wrap-marks\ 387}# #{w\ 2662}#))
-               #{x\ 2661}#
+                             #{tmp\ 2707}#))))))))))
+         (#{strip\ 486}#
+           (lambda (#{x\ 2755}# #{w\ 2756}#)
+             (if (memq (quote top) (car #{w\ 2756}#))
+               #{x\ 2755}#
                (letrec*
-                 ((#{f\ 2668}#
-                    (lambda (#{x\ 2669}#)
-                      (if (#{syntax-object?\ 344}# #{x\ 2669}#)
-                        (#{strip\ 491}#
-                          (#{syntax-object-expression\ 346}# #{x\ 2669}#)
-                          (#{syntax-object-wrap\ 348}# #{x\ 2669}#))
-                        (if (pair? #{x\ 2669}#)
+                 ((#{f\ 2763}#
+                    (lambda (#{x\ 2764}#)
+                      (if (#{syntax-object?\ 344}# #{x\ 2764}#)
+                        (#{strip\ 486}#
+                          (#{syntax-object-expression\ 346}# #{x\ 2764}#)
+                          (#{syntax-object-wrap\ 348}# #{x\ 2764}#))
+                        (if (pair? #{x\ 2764}#)
                           (begin
-                            (let ((#{a\ 2676}# (#{f\ 2668}# (car #{x\ 2669}#)))
-                                  (#{d\ 2677}#
-                                    (#{f\ 2668}# (cdr #{x\ 2669}#))))
-                              (if (if (eq? #{a\ 2676}# (car #{x\ 2669}#))
-                                    (eq? #{d\ 2677}# (cdr #{x\ 2669}#))
+                            (let ((#{a\ 2771}# (#{f\ 2763}# (car #{x\ 2764}#)))
+                                  (#{d\ 2772}#
+                                    (#{f\ 2763}# (cdr #{x\ 2764}#))))
+                              (if (if (eq? #{a\ 2771}# (car #{x\ 2764}#))
+                                    (eq? #{d\ 2772}# (cdr #{x\ 2764}#))
                                     #f)
-                                #{x\ 2669}#
-                                (cons #{a\ 2676}# #{d\ 2677}#))))
-                          (if (vector? #{x\ 2669}#)
+                                #{x\ 2764}#
+                                (cons #{a\ 2771}# #{d\ 2772}#))))
+                          (if (vector? #{x\ 2764}#)
                             (begin
-                              (let ((#{old\ 2683}# (vector->list #{x\ 2669}#)))
+                              (let ((#{old\ 2778}# (vector->list #{x\ 2764}#)))
                                 (begin
-                                  (let ((#{new\ 2685}#
-                                          (map #{f\ 2668}# #{old\ 2683}#)))
+                                  (let ((#{new\ 2780}#
+                                          (map #{f\ 2763}# #{old\ 2778}#)))
                                     (if (#{and-map*\ 36}#
                                           eq?
-                                          #{old\ 2683}#
-                                          #{new\ 2685}#)
-                                      #{x\ 2669}#
-                                      (list->vector #{new\ 2685}#))))))
-                            #{x\ 2669}#))))))
-                 (begin (#{f\ 2668}# #{x\ 2661}#))))))
-         (#{gen-var\ 493}#
-           (lambda (#{id\ 2687}#)
+                                          #{old\ 2778}#
+                                          #{new\ 2780}#)
+                                      #{x\ 2764}#
+                                      (list->vector #{new\ 2780}#))))))
+                            #{x\ 2764}#))))))
+                 (begin (#{f\ 2763}# #{x\ 2755}#))))))
+         (#{gen-var\ 488}#
+           (lambda (#{id\ 2782}#)
              (begin
-               (let ((#{id\ 2690}#
-                       (if (#{syntax-object?\ 344}# #{id\ 2687}#)
-                         (#{syntax-object-expression\ 346}# #{id\ 2687}#)
-                         #{id\ 2687}#)))
+               (let ((#{id\ 2785}#
+                       (if (#{syntax-object?\ 344}# #{id\ 2782}#)
+                         (#{syntax-object-expression\ 346}# #{id\ 2782}#)
+                         #{id\ 2782}#)))
                  (gensym
-                   (string-append (symbol->string #{id\ 2690}#) " "))))))
-         (#{lambda-var-list\ 495}#
-           (lambda (#{vars\ 2692}#)
+                   (string-append (symbol->string #{id\ 2785}#) " "))))))
+         (#{lambda-var-list\ 490}#
+           (lambda (#{vars\ 2787}#)
              (letrec*
-               ((#{lvl\ 2698}#
-                  (lambda (#{vars\ 2699}# #{ls\ 2700}# #{w\ 2701}#)
-                    (if (pair? #{vars\ 2699}#)
-                      (#{lvl\ 2698}#
-                        (cdr #{vars\ 2699}#)
-                        (cons (#{wrap\ 449}#
-                                (car #{vars\ 2699}#)
-                                #{w\ 2701}#
+               ((#{lvl\ 2793}#
+                  (lambda (#{vars\ 2794}# #{ls\ 2795}# #{w\ 2796}#)
+                    (if (pair? #{vars\ 2794}#)
+                      (#{lvl\ 2793}#
+                        (cdr #{vars\ 2794}#)
+                        (cons (#{wrap\ 444}#
+                                (car #{vars\ 2794}#)
+                                #{w\ 2796}#
                                 #f)
-                              #{ls\ 2700}#)
-                        #{w\ 2701}#)
-                      (if (#{id?\ 380}# #{vars\ 2699}#)
-                        (cons (#{wrap\ 449}# #{vars\ 2699}# #{w\ 2701}# #f)
-                              #{ls\ 2700}#)
-                        (if (null? #{vars\ 2699}#)
-                          #{ls\ 2700}#
-                          (if (#{syntax-object?\ 344}# #{vars\ 2699}#)
-                            (#{lvl\ 2698}#
+                              #{ls\ 2795}#)
+                        #{w\ 2796}#)
+                      (if (#{id?\ 378}# #{vars\ 2794}#)
+                        (cons (#{wrap\ 444}# #{vars\ 2794}# #{w\ 2796}# #f)
+                              #{ls\ 2795}#)
+                        (if (null? #{vars\ 2794}#)
+                          #{ls\ 2795}#
+                          (if (#{syntax-object?\ 344}# #{vars\ 2794}#)
+                            (#{lvl\ 2793}#
                               (#{syntax-object-expression\ 346}#
-                                #{vars\ 2699}#)
-                              #{ls\ 2700}#
-                              (#{join-wraps\ 431}#
-                                #{w\ 2701}#
-                                (#{syntax-object-wrap\ 348}# #{vars\ 2699}#)))
-                            (cons #{vars\ 2699}# #{ls\ 2700}#))))))))
+                                #{vars\ 2794}#)
+                              #{ls\ 2795}#
+                              (#{join-wraps\ 426}#
+                                #{w\ 2796}#
+                                (#{syntax-object-wrap\ 348}# #{vars\ 2794}#)))
+                            (cons #{vars\ 2794}# #{ls\ 2795}#))))))))
                (begin
-                 (#{lvl\ 2698}#
-                   #{vars\ 2692}#
+                 (#{lvl\ 2793}#
+                   #{vars\ 2787}#
                    '()
                    '(())))))))
         (begin
           (set! #{make-primitive-ref\ 242}#
-            (lambda (#{src\ 704}# #{name\ 705}#)
+            (lambda (#{src\ 756}# #{name\ 757}#)
               (make-struct/no-tail
                 (vector-ref %expanded-vtables 2)
-                #{src\ 704}#
-                #{name\ 705}#)))
+                #{src\ 756}#
+                #{name\ 757}#)))
           (set! #{fx+\ 281}# +)
           (set! #{fx-\ 283}# -)
           (set! #{fx=\ 285}# =)
           (set! #{fx<\ 287}# <)
           (set! #{set-syntax-object-expression!\ 352}#
-            (lambda (#{x\ 1082}# #{update\ 1083}#)
-              (vector-set! #{x\ 1082}# 1 #{update\ 1083}#)))
+            (lambda (#{x\ 1134}# #{update\ 1135}#)
+              (vector-set! #{x\ 1134}# 1 #{update\ 1135}#)))
           (set! #{set-syntax-object-wrap!\ 354}#
-            (lambda (#{x\ 1086}# #{update\ 1087}#)
-              (vector-set! #{x\ 1086}# 2 #{update\ 1087}#)))
+            (lambda (#{x\ 1138}# #{update\ 1139}#)
+              (vector-set! #{x\ 1138}# 2 #{update\ 1139}#)))
           (set! #{set-syntax-object-module!\ 356}#
-            (lambda (#{x\ 1090}# #{update\ 1091}#)
-              (vector-set! #{x\ 1090}# 3 #{update\ 1091}#)))
-          (set! #{binding-type\ 363}# car)
-          (set! #{binding-value\ 365}# cdr)
-          (set! #{make-wrap\ 385}# cons)
-          (set! #{wrap-marks\ 387}# car)
-          (set! #{wrap-subst\ 389}# cdr)
-          (set! #{ribcage?\ 403}#
-            (lambda (#{x\ 1168}#)
-              (if (vector? #{x\ 1168}#)
-                (if (= (vector-length #{x\ 1168}#) 4)
-                  (eq? (vector-ref #{x\ 1168}# 0) (quote ribcage))
+            (lambda (#{x\ 1142}# #{update\ 1143}#)
+              (vector-set! #{x\ 1142}# 3 #{update\ 1143}#)))
+          (set! #{ribcage?\ 398}#
+            (lambda (#{x\ 1223}#)
+              (if (vector? #{x\ 1223}#)
+                (if (= (vector-length #{x\ 1223}#) 4)
+                  (eq? (vector-ref #{x\ 1223}# 0) (quote ribcage))
                   #f)
                 #f)))
           (begin
-            (#{global-extend\ 376}#
+            (#{global-extend\ 374}#
               'local-syntax
               'letrec-syntax
               #t)
-            (#{global-extend\ 376}#
+            (#{global-extend\ 374}#
               'local-syntax
               'let-syntax
               #f)
-            (#{global-extend\ 376}#
+            (#{global-extend\ 374}#
               'core
               'fluid-let-syntax
-              (lambda (#{e\ 2712}#
-                       #{r\ 2713}#
-                       #{w\ 2714}#
-                       #{s\ 2715}#
-                       #{mod\ 2716}#)
-                (let ((#{tmp\ 2722}# #{e\ 2712}#))
-                  (let ((#{tmp\ 2723}#
+              (lambda (#{e\ 2807}#
+                       #{r\ 2808}#
+                       #{w\ 2809}#
+                       #{s\ 2810}#
+                       #{mod\ 2811}#)
+                (let ((#{tmp\ 2817}# #{e\ 2807}#))
+                  (let ((#{tmp\ 2818}#
                           ($sc-dispatch
-                            #{tmp\ 2722}#
+                            #{tmp\ 2817}#
                             '(_ #(each (any any)) any . each-any))))
-                    (if (if #{tmp\ 2723}#
+                    (if (if #{tmp\ 2818}#
                           (@apply
-                            (lambda (#{var\ 2728}#
-                                     #{val\ 2729}#
-                                     #{e1\ 2730}#
-                                     #{e2\ 2731}#)
-                              (#{valid-bound-ids?\ 443}# #{var\ 2728}#))
-                            #{tmp\ 2723}#)
+                            (lambda (#{var\ 2823}#
+                                     #{val\ 2824}#
+                                     #{e1\ 2825}#
+                                     #{e2\ 2826}#)
+                              (#{valid-bound-ids?\ 438}# #{var\ 2823}#))
+                            #{tmp\ 2818}#)
                           #f)
                       (@apply
-                        (lambda (#{var\ 2737}#
-                                 #{val\ 2738}#
-                                 #{e1\ 2739}#
-                                 #{e2\ 2740}#)
+                        (lambda (#{var\ 2832}#
+                                 #{val\ 2833}#
+                                 #{e1\ 2834}#
+                                 #{e2\ 2835}#)
                           (begin
-                            (let ((#{names\ 2742}#
-                                    (map (lambda (#{x\ 2743}#)
-                                           (#{id-var-name\ 437}#
-                                             #{x\ 2743}#
-                                             #{w\ 2714}#))
-                                         #{var\ 2737}#)))
+                            (let ((#{names\ 2837}#
+                                    (map (lambda (#{x\ 2838}#)
+                                           (#{id-var-name\ 432}#
+                                             #{x\ 2838}#
+                                             #{w\ 2809}#))
+                                         #{var\ 2832}#)))
                               (begin
                                 (for-each
-                                  (lambda (#{id\ 2746}# #{n\ 2747}#)
+                                  (lambda (#{id\ 2841}# #{n\ 2842}#)
                                     (begin
-                                      (let ((#{atom-key\ 2752}#
-                                              (#{binding-type\ 363}#
-                                                (#{lookup\ 374}#
-                                                  #{n\ 2747}#
-                                                  #{r\ 2713}#
-                                                  #{mod\ 2716}#))))
-                                        (if (eqv? #{atom-key\ 2752}#
+                                      (let ((#{atom-key\ 2847}#
+                                              (car (#{lookup\ 372}#
+                                                     #{n\ 2842}#
+                                                     #{r\ 2808}#
+                                                     #{mod\ 2811}#))))
+                                        (if (eqv? #{atom-key\ 2847}#
                                                   'displaced-lexical)
                                           (syntax-violation
                                             'fluid-let-syntax
                                             "identifier out of context"
-                                            #{e\ 2712}#
-                                            (#{source-wrap\ 451}#
-                                              #{id\ 2746}#
-                                              #{w\ 2714}#
-                                              #{s\ 2715}#
-                                              #{mod\ 2716}#))))))
-                                  #{var\ 2737}#
-                                  #{names\ 2742}#)
-                                (#{chi-body\ 473}#
-                                  (cons #{e1\ 2739}# #{e2\ 2740}#)
-                                  (#{source-wrap\ 451}#
-                                    #{e\ 2712}#
-                                    #{w\ 2714}#
-                                    #{s\ 2715}#
-                                    #{mod\ 2716}#)
-                                  (#{extend-env\ 368}#
-                                    #{names\ 2742}#
+                                            #{e\ 2807}#
+                                            (#{source-wrap\ 446}#
+                                              #{id\ 2841}#
+                                              #{w\ 2809}#
+                                              #{s\ 2810}#
+                                              #{mod\ 2811}#))))))
+                                  #{var\ 2832}#
+                                  #{names\ 2837}#)
+                                (#{chi-body\ 468}#
+                                  (cons #{e1\ 2834}# #{e2\ 2835}#)
+                                  (#{source-wrap\ 446}#
+                                    #{e\ 2807}#
+                                    #{w\ 2809}#
+                                    #{s\ 2810}#
+                                    #{mod\ 2811}#)
+                                  (#{extend-env\ 366}#
+                                    #{names\ 2837}#
                                     (begin
-                                      (let ((#{trans-r\ 2757}#
-                                              (#{macros-only-env\ 372}#
-                                                #{r\ 2713}#)))
-                                        (map (lambda (#{x\ 2758}#)
+                                      (let ((#{trans-r\ 2853}#
+                                              (#{macros-only-env\ 370}#
+                                                #{r\ 2808}#)))
+                                        (map (lambda (#{x\ 2854}#)
                                                (cons 'macro
-                                                     
(#{eval-local-transformer\ 477}#
-                                                       (#{chi\ 465}#
-                                                         #{x\ 2758}#
-                                                         #{trans-r\ 2757}#
-                                                         #{w\ 2714}#
-                                                         #{mod\ 2716}#)
-                                                       #{mod\ 2716}#)))
-                                             #{val\ 2738}#)))
-                                    #{r\ 2713}#)
-                                  #{w\ 2714}#
-                                  #{mod\ 2716}#)))))
-                        #{tmp\ 2723}#)
-                      (let ((#{_\ 2763}# #{tmp\ 2722}#))
+                                                     
(#{eval-local-transformer\ 472}#
+                                                       (#{chi\ 460}#
+                                                         #{x\ 2854}#
+                                                         #{trans-r\ 2853}#
+                                                         #{w\ 2809}#
+                                                         #{mod\ 2811}#)
+                                                       #{mod\ 2811}#)))
+                                             #{val\ 2833}#)))
+                                    #{r\ 2808}#)
+                                  #{w\ 2809}#
+                                  #{mod\ 2811}#)))))
+                        #{tmp\ 2818}#)
+                      (let ((#{_\ 2859}# #{tmp\ 2817}#))
                         (syntax-violation
                           'fluid-let-syntax
                           "bad syntax"
-                          (#{source-wrap\ 451}#
-                            #{e\ 2712}#
-                            #{w\ 2714}#
-                            #{s\ 2715}#
-                            #{mod\ 2716}#))))))))
-            (#{global-extend\ 376}#
+                          (#{source-wrap\ 446}#
+                            #{e\ 2807}#
+                            #{w\ 2809}#
+                            #{s\ 2810}#
+                            #{mod\ 2811}#))))))))
+            (#{global-extend\ 374}#
               'core
               'quote
-              (lambda (#{e\ 2764}#
-                       #{r\ 2765}#
-                       #{w\ 2766}#
-                       #{s\ 2767}#
-                       #{mod\ 2768}#)
-                (let ((#{tmp\ 2774}# #{e\ 2764}#))
-                  (let ((#{tmp\ 2775}#
-                          ($sc-dispatch #{tmp\ 2774}# (quote (_ any)))))
-                    (if #{tmp\ 2775}#
+              (lambda (#{e\ 2860}#
+                       #{r\ 2861}#
+                       #{w\ 2862}#
+                       #{s\ 2863}#
+                       #{mod\ 2864}#)
+                (let ((#{tmp\ 2870}# #{e\ 2860}#))
+                  (let ((#{tmp\ 2871}#
+                          ($sc-dispatch #{tmp\ 2870}# (quote (_ any)))))
+                    (if #{tmp\ 2871}#
                       (@apply
-                        (lambda (#{e\ 2777}#)
+                        (lambda (#{e\ 2873}#)
                           (#{build-data\ 330}#
-                            #{s\ 2767}#
-                            (#{strip\ 491}# #{e\ 2777}# #{w\ 2766}#)))
-                        #{tmp\ 2775}#)
-                      (let ((#{_\ 2779}# #{tmp\ 2774}#))
+                            #{s\ 2863}#
+                            (#{strip\ 486}# #{e\ 2873}# #{w\ 2862}#)))
+                        #{tmp\ 2871}#)
+                      (let ((#{_\ 2875}# #{tmp\ 2870}#))
                         (syntax-violation
                           'quote
                           "bad syntax"
-                          (#{source-wrap\ 451}#
-                            #{e\ 2764}#
-                            #{w\ 2766}#
-                            #{s\ 2767}#
-                            #{mod\ 2768}#))))))))
-            (#{global-extend\ 376}#
+                          (#{source-wrap\ 446}#
+                            #{e\ 2860}#
+                            #{w\ 2862}#
+                            #{s\ 2863}#
+                            #{mod\ 2864}#))))))))
+            (#{global-extend\ 374}#
               'core
               'syntax
               (letrec*
-                ((#{gen-syntax\ 2781}#
-                   (lambda (#{src\ 2796}#
-                            #{e\ 2797}#
-                            #{r\ 2798}#
-                            #{maps\ 2799}#
-                            #{ellipsis?\ 2800}#
-                            #{mod\ 2801}#)
-                     (if (#{id?\ 380}# #{e\ 2797}#)
+                ((#{gen-syntax\ 2877}#
+                   (lambda (#{src\ 2892}#
+                            #{e\ 2893}#
+                            #{r\ 2894}#
+                            #{maps\ 2895}#
+                            #{ellipsis?\ 2896}#
+                            #{mod\ 2897}#)
+                     (if (#{id?\ 378}# #{e\ 2893}#)
                        (begin
-                         (let ((#{label\ 2809}#
-                                 (#{id-var-name\ 437}#
-                                   #{e\ 2797}#
+                         (let ((#{label\ 2905}#
+                                 (#{id-var-name\ 432}#
+                                   #{e\ 2893}#
                                    '(()))))
                            (begin
-                             (let ((#{b\ 2812}#
-                                     (#{lookup\ 374}#
-                                       #{label\ 2809}#
-                                       #{r\ 2798}#
-                                       #{mod\ 2801}#)))
-                               (if (eq? (#{binding-type\ 363}# #{b\ 2812}#)
-                                        'syntax)
+                             (let ((#{b\ 2908}#
+                                     (#{lookup\ 372}#
+                                       #{label\ 2905}#
+                                       #{r\ 2894}#
+                                       #{mod\ 2897}#)))
+                               (if (eq? (car #{b\ 2908}#) (quote syntax))
                                  (call-with-values
                                    (lambda ()
                                      (begin
-                                       (let ((#{var.lev\ 2814}#
-                                               (#{binding-value\ 365}#
-                                                 #{b\ 2812}#)))
-                                         (#{gen-ref\ 2783}#
-                                           #{src\ 2796}#
-                                           (car #{var.lev\ 2814}#)
-                                           (cdr #{var.lev\ 2814}#)
-                                           #{maps\ 2799}#))))
-                                   (lambda (#{var\ 2815}# #{maps\ 2816}#)
+                                       (let ((#{var.lev\ 2911}#
+                                               (cdr #{b\ 2908}#)))
+                                         (#{gen-ref\ 2879}#
+                                           #{src\ 2892}#
+                                           (car #{var.lev\ 2911}#)
+                                           (cdr #{var.lev\ 2911}#)
+                                           #{maps\ 2895}#))))
+                                   (lambda (#{var\ 2913}# #{maps\ 2914}#)
                                      (values
-                                       (list (quote ref) #{var\ 2815}#)
-                                       #{maps\ 2816}#)))
-                                 (if (#{ellipsis?\ 2800}# #{e\ 2797}#)
+                                       (list (quote ref) #{var\ 2913}#)
+                                       #{maps\ 2914}#)))
+                                 (if (#{ellipsis?\ 2896}# #{e\ 2893}#)
                                    (syntax-violation
                                      'syntax
                                      "misplaced ellipsis"
-                                     #{src\ 2796}#)
+                                     #{src\ 2892}#)
                                    (values
-                                     (list (quote quote) #{e\ 2797}#)
-                                     #{maps\ 2799}#)))))))
-                       (let ((#{tmp\ 2821}# #{e\ 2797}#))
-                         (let ((#{tmp\ 2822}#
+                                     (list (quote quote) #{e\ 2893}#)
+                                     #{maps\ 2895}#)))))))
+                       (let ((#{tmp\ 2919}# #{e\ 2893}#))
+                         (let ((#{tmp\ 2920}#
                                  ($sc-dispatch
-                                   #{tmp\ 2821}#
+                                   #{tmp\ 2919}#
                                    '(any any))))
-                           (if (if #{tmp\ 2822}#
+                           (if (if #{tmp\ 2920}#
                                  (@apply
-                                   (lambda (#{dots\ 2825}# #{e\ 2826}#)
-                                     (#{ellipsis?\ 2800}# #{dots\ 2825}#))
-                                   #{tmp\ 2822}#)
+                                   (lambda (#{dots\ 2923}# #{e\ 2924}#)
+                                     (#{ellipsis?\ 2896}# #{dots\ 2923}#))
+                                   #{tmp\ 2920}#)
                                  #f)
                              (@apply
-                               (lambda (#{dots\ 2829}# #{e\ 2830}#)
-                                 (#{gen-syntax\ 2781}#
-                                   #{src\ 2796}#
-                                   #{e\ 2830}#
-                                   #{r\ 2798}#
-                                   #{maps\ 2799}#
-                                   (lambda (#{x\ 2831}#) #f)
-                                   #{mod\ 2801}#))
-                               #{tmp\ 2822}#)
-                             (let ((#{tmp\ 2833}#
+                               (lambda (#{dots\ 2927}# #{e\ 2928}#)
+                                 (#{gen-syntax\ 2877}#
+                                   #{src\ 2892}#
+                                   #{e\ 2928}#
+                                   #{r\ 2894}#
+                                   #{maps\ 2895}#
+                                   (lambda (#{x\ 2929}#) #f)
+                                   #{mod\ 2897}#))
+                               #{tmp\ 2920}#)
+                             (let ((#{tmp\ 2931}#
                                      ($sc-dispatch
-                                       #{tmp\ 2821}#
+                                       #{tmp\ 2919}#
                                        '(any any . any))))
-                               (if (if #{tmp\ 2833}#
+                               (if (if #{tmp\ 2931}#
                                      (@apply
-                                       (lambda (#{x\ 2837}#
-                                                #{dots\ 2838}#
-                                                #{y\ 2839}#)
-                                         (#{ellipsis?\ 2800}# #{dots\ 2838}#))
-                                       #{tmp\ 2833}#)
+                                       (lambda (#{x\ 2935}#
+                                                #{dots\ 2936}#
+                                                #{y\ 2937}#)
+                                         (#{ellipsis?\ 2896}# #{dots\ 2936}#))
+                                       #{tmp\ 2931}#)
                                      #f)
                                  (@apply
-                                   (lambda (#{x\ 2843}#
-                                            #{dots\ 2844}#
-                                            #{y\ 2845}#)
+                                   (lambda (#{x\ 2941}#
+                                            #{dots\ 2942}#
+                                            #{y\ 2943}#)
                                      (letrec*
-                                       ((#{f\ 2849}#
-                                          (lambda (#{y\ 2850}# #{k\ 2851}#)
-                                            (let ((#{tmp\ 2858}# #{y\ 2850}#))
-                                              (let ((#{tmp\ 2859}#
+                                       ((#{f\ 2947}#
+                                          (lambda (#{y\ 2948}# #{k\ 2949}#)
+                                            (let ((#{tmp\ 2956}# #{y\ 2948}#))
+                                              (let ((#{tmp\ 2957}#
                                                       ($sc-dispatch
-                                                        #{tmp\ 2858}#
+                                                        #{tmp\ 2956}#
                                                         '(any . any))))
-                                                (if (if #{tmp\ 2859}#
+                                                (if (if #{tmp\ 2957}#
                                                       (@apply
-                                                        (lambda (#{dots\ 2862}#
-                                                                 #{y\ 2863}#)
-                                                          (#{ellipsis?\ 2800}#
-                                                            #{dots\ 2862}#))
-                                                        #{tmp\ 2859}#)
+                                                        (lambda (#{dots\ 2960}#
+                                                                 #{y\ 2961}#)
+                                                          (#{ellipsis?\ 2896}#
+                                                            #{dots\ 2960}#))
+                                                        #{tmp\ 2957}#)
                                                       #f)
                                                   (@apply
-                                                    (lambda (#{dots\ 2866}#
-                                                             #{y\ 2867}#)
-                                                      (#{f\ 2849}#
-                                                        #{y\ 2867}#
-                                                        (lambda (#{maps\ 
2868}#)
+                                                    (lambda (#{dots\ 2964}#
+                                                             #{y\ 2965}#)
+                                                      (#{f\ 2947}#
+                                                        #{y\ 2965}#
+                                                        (lambda (#{maps\ 
2966}#)
                                                           (call-with-values
                                                             (lambda ()
-                                                              (#{k\ 2851}#
+                                                              (#{k\ 2949}#
                                                                 (cons '()
-                                                                      #{maps\ 
2868}#)))
-                                                            (lambda (#{x\ 
2870}#
-                                                                     #{maps\ 
2871}#)
-                                                              (if (null? (car 
#{maps\ 2871}#))
+                                                                      #{maps\ 
2966}#)))
+                                                            (lambda (#{x\ 
2968}#
+                                                                     #{maps\ 
2969}#)
+                                                              (if (null? (car 
#{maps\ 2969}#))
                                                                 
(syntax-violation
                                                                   'syntax
                                                                   "extra 
ellipsis"
-                                                                  #{src\ 
2796}#)
+                                                                  #{src\ 
2892}#)
                                                                 (values
-                                                                  
(#{gen-mappend\ 2785}#
-                                                                    #{x\ 2870}#
-                                                                    (car 
#{maps\ 2871}#))
-                                                                  (cdr #{maps\ 
2871}#))))))))
-                                                    #{tmp\ 2859}#)
-                                                  (let ((#{_\ 2875}#
-                                                          #{tmp\ 2858}#))
+                                                                  
(#{gen-mappend\ 2881}#
+                                                                    #{x\ 2968}#
+                                                                    (car 
#{maps\ 2969}#))
+                                                                  (cdr #{maps\ 
2969}#))))))))
+                                                    #{tmp\ 2957}#)
+                                                  (let ((#{_\ 2973}#
+                                                          #{tmp\ 2956}#))
                                                     (call-with-values
                                                       (lambda ()
-                                                        (#{gen-syntax\ 2781}#
-                                                          #{src\ 2796}#
-                                                          #{y\ 2850}#
-                                                          #{r\ 2798}#
-                                                          #{maps\ 2799}#
-                                                          #{ellipsis?\ 2800}#
-                                                          #{mod\ 2801}#))
-                                                      (lambda (#{y\ 2876}#
-                                                               #{maps\ 2877}#)
+                                                        (#{gen-syntax\ 2877}#
+                                                          #{src\ 2892}#
+                                                          #{y\ 2948}#
+                                                          #{r\ 2894}#
+                                                          #{maps\ 2895}#
+                                                          #{ellipsis?\ 2896}#
+                                                          #{mod\ 2897}#))
+                                                      (lambda (#{y\ 2974}#
+                                                               #{maps\ 2975}#)
                                                         (call-with-values
                                                           (lambda ()
-                                                            (#{k\ 2851}#
-                                                              #{maps\ 2877}#))
-                                                          (lambda (#{x\ 2880}#
-                                                                   #{maps\ 
2881}#)
+                                                            (#{k\ 2949}#
+                                                              #{maps\ 2975}#))
+                                                          (lambda (#{x\ 2978}#
+                                                                   #{maps\ 
2979}#)
                                                             (values
-                                                              (#{gen-append\ 
2791}#
-                                                                #{x\ 2880}#
-                                                                #{y\ 2876}#)
-                                                              #{maps\ 
2881}#))))))))))))
+                                                              (#{gen-append\ 
2887}#
+                                                                #{x\ 2978}#
+                                                                #{y\ 2974}#)
+                                                              #{maps\ 
2979}#))))))))))))
                                        (begin
-                                         (#{f\ 2849}#
-                                           #{y\ 2845}#
-                                           (lambda (#{maps\ 2852}#)
+                                         (#{f\ 2947}#
+                                           #{y\ 2943}#
+                                           (lambda (#{maps\ 2950}#)
                                              (call-with-values
                                                (lambda ()
-                                                 (#{gen-syntax\ 2781}#
-                                                   #{src\ 2796}#
-                                                   #{x\ 2843}#
-                                                   #{r\ 2798}#
+                                                 (#{gen-syntax\ 2877}#
+                                                   #{src\ 2892}#
+                                                   #{x\ 2941}#
+                                                   #{r\ 2894}#
                                                    (cons '()
-                                                         #{maps\ 2852}#)
-                                                   #{ellipsis?\ 2800}#
-                                                   #{mod\ 2801}#))
-                                               (lambda (#{x\ 2854}#
-                                                        #{maps\ 2855}#)
-                                                 (if (null? (car #{maps\ 
2855}#))
+                                                         #{maps\ 2950}#)
+                                                   #{ellipsis?\ 2896}#
+                                                   #{mod\ 2897}#))
+                                               (lambda (#{x\ 2952}#
+                                                        #{maps\ 2953}#)
+                                                 (if (null? (car #{maps\ 
2953}#))
                                                    (syntax-violation
                                                      'syntax
                                                      "extra ellipsis"
-                                                     #{src\ 2796}#)
+                                                     #{src\ 2892}#)
                                                    (values
-                                                     (#{gen-map\ 2787}#
-                                                       #{x\ 2854}#
-                                                       (car #{maps\ 2855}#))
-                                                     (cdr #{maps\ 
2855}#))))))))))
-                                   #{tmp\ 2833}#)
-                                 (let ((#{tmp\ 2884}#
+                                                     (#{gen-map\ 2883}#
+                                                       #{x\ 2952}#
+                                                       (car #{maps\ 2953}#))
+                                                     (cdr #{maps\ 
2953}#))))))))))
+                                   #{tmp\ 2931}#)
+                                 (let ((#{tmp\ 2982}#
                                          ($sc-dispatch
-                                           #{tmp\ 2821}#
+                                           #{tmp\ 2919}#
                                            '(any . any))))
-                                   (if #{tmp\ 2884}#
+                                   (if #{tmp\ 2982}#
                                      (@apply
-                                       (lambda (#{x\ 2887}# #{y\ 2888}#)
+                                       (lambda (#{x\ 2985}# #{y\ 2986}#)
                                          (call-with-values
                                            (lambda ()
-                                             (#{gen-syntax\ 2781}#
-                                               #{src\ 2796}#
-                                               #{x\ 2887}#
-                                               #{r\ 2798}#
-                                               #{maps\ 2799}#
-                                               #{ellipsis?\ 2800}#
-                                               #{mod\ 2801}#))
-                                           (lambda (#{x\ 2889}# #{maps\ 2890}#)
+                                             (#{gen-syntax\ 2877}#
+                                               #{src\ 2892}#
+                                               #{x\ 2985}#
+                                               #{r\ 2894}#
+                                               #{maps\ 2895}#
+                                               #{ellipsis?\ 2896}#
+                                               #{mod\ 2897}#))
+                                           (lambda (#{x\ 2987}# #{maps\ 2988}#)
                                              (call-with-values
                                                (lambda ()
-                                                 (#{gen-syntax\ 2781}#
-                                                   #{src\ 2796}#
-                                                   #{y\ 2888}#
-                                                   #{r\ 2798}#
-                                                   #{maps\ 2890}#
-                                                   #{ellipsis?\ 2800}#
-                                                   #{mod\ 2801}#))
-                                               (lambda (#{y\ 2893}#
-                                                        #{maps\ 2894}#)
+                                                 (#{gen-syntax\ 2877}#
+                                                   #{src\ 2892}#
+                                                   #{y\ 2986}#
+                                                   #{r\ 2894}#
+                                                   #{maps\ 2988}#
+                                                   #{ellipsis?\ 2896}#
+                                                   #{mod\ 2897}#))
+                                               (lambda (#{y\ 2991}#
+                                                        #{maps\ 2992}#)
                                                  (values
-                                                   (#{gen-cons\ 2789}#
-                                                     #{x\ 2889}#
-                                                     #{y\ 2893}#)
-                                                   #{maps\ 2894}#))))))
-                                       #{tmp\ 2884}#)
-                                     (let ((#{tmp\ 2897}#
+                                                   (#{gen-cons\ 2885}#
+                                                     #{x\ 2987}#
+                                                     #{y\ 2991}#)
+                                                   #{maps\ 2992}#))))))
+                                       #{tmp\ 2982}#)
+                                     (let ((#{tmp\ 2995}#
                                              ($sc-dispatch
-                                               #{tmp\ 2821}#
+                                               #{tmp\ 2919}#
                                                '#(vector (any . each-any)))))
-                                       (if #{tmp\ 2897}#
+                                       (if #{tmp\ 2995}#
                                          (@apply
-                                           (lambda (#{e1\ 2900}# #{e2\ 2901}#)
+                                           (lambda (#{e1\ 2998}# #{e2\ 2999}#)
                                              (call-with-values
                                                (lambda ()
-                                                 (#{gen-syntax\ 2781}#
-                                                   #{src\ 2796}#
-                                                   (cons #{e1\ 2900}#
-                                                         #{e2\ 2901}#)
-                                                   #{r\ 2798}#
-                                                   #{maps\ 2799}#
-                                                   #{ellipsis?\ 2800}#
-                                                   #{mod\ 2801}#))
-                                               (lambda (#{e\ 2903}#
-                                                        #{maps\ 2904}#)
+                                                 (#{gen-syntax\ 2877}#
+                                                   #{src\ 2892}#
+                                                   (cons #{e1\ 2998}#
+                                                         #{e2\ 2999}#)
+                                                   #{r\ 2894}#
+                                                   #{maps\ 2895}#
+                                                   #{ellipsis?\ 2896}#
+                                                   #{mod\ 2897}#))
+                                               (lambda (#{e\ 3001}#
+                                                        #{maps\ 3002}#)
                                                  (values
-                                                   (#{gen-vector\ 2793}#
-                                                     #{e\ 2903}#)
-                                                   #{maps\ 2904}#))))
-                                           #{tmp\ 2897}#)
-                                         (let ((#{_\ 2908}# #{tmp\ 2821}#))
+                                                   (#{gen-vector\ 2889}#
+                                                     #{e\ 3001}#)
+                                                   #{maps\ 3002}#))))
+                                           #{tmp\ 2995}#)
+                                         (let ((#{_\ 3006}# #{tmp\ 2919}#))
                                            (values
-                                             (list (quote quote) #{e\ 2797}#)
-                                             #{maps\ 2799}#))))))))))))))
-                 (#{gen-ref\ 2783}#
-                   (lambda (#{src\ 2910}#
-                            #{var\ 2911}#
-                            #{level\ 2912}#
-                            #{maps\ 2913}#)
-                     (if (#{fx=\ 285}# #{level\ 2912}# 0)
-                       (values #{var\ 2911}# #{maps\ 2913}#)
-                       (if (null? #{maps\ 2913}#)
+                                             (list (quote quote) #{e\ 2893}#)
+                                             #{maps\ 2895}#))))))))))))))
+                 (#{gen-ref\ 2879}#
+                   (lambda (#{src\ 3008}#
+                            #{var\ 3009}#
+                            #{level\ 3010}#
+                            #{maps\ 3011}#)
+                     (if (#{fx=\ 285}# #{level\ 3010}# 0)
+                       (values #{var\ 3009}# #{maps\ 3011}#)
+                       (if (null? #{maps\ 3011}#)
                          (syntax-violation
                            'syntax
                            "missing ellipsis"
-                           #{src\ 2910}#)
+                           #{src\ 3008}#)
                          (call-with-values
                            (lambda ()
-                             (#{gen-ref\ 2783}#
-                               #{src\ 2910}#
-                               #{var\ 2911}#
-                               (#{fx-\ 283}# #{level\ 2912}# 1)
-                               (cdr #{maps\ 2913}#)))
-                           (lambda (#{outer-var\ 2918}# #{outer-maps\ 2919}#)
+                             (#{gen-ref\ 2879}#
+                               #{src\ 3008}#
+                               #{var\ 3009}#
+                               (#{fx-\ 283}# #{level\ 3010}# 1)
+                               (cdr #{maps\ 3011}#)))
+                           (lambda (#{outer-var\ 3016}# #{outer-maps\ 3017}#)
                              (begin
-                               (let ((#{b\ 2923}#
-                                       (assq #{outer-var\ 2918}#
-                                             (car #{maps\ 2913}#))))
-                                 (if #{b\ 2923}#
-                                   (values (cdr #{b\ 2923}#) #{maps\ 2913}#)
+                               (let ((#{b\ 3021}#
+                                       (assq #{outer-var\ 3016}#
+                                             (car #{maps\ 3011}#))))
+                                 (if #{b\ 3021}#
+                                   (values (cdr #{b\ 3021}#) #{maps\ 3011}#)
                                    (begin
-                                     (let ((#{inner-var\ 2925}#
-                                             (#{gen-var\ 493}# (quote tmp))))
+                                     (let ((#{inner-var\ 3023}#
+                                             (#{gen-var\ 488}# (quote tmp))))
                                        (values
-                                         #{inner-var\ 2925}#
-                                         (cons (cons (cons #{outer-var\ 2918}#
-                                                           #{inner-var\ 2925}#)
-                                                     (car #{maps\ 2913}#))
-                                               #{outer-maps\ 
2919}#)))))))))))))
-                 (#{gen-mappend\ 2785}#
-                   (lambda (#{e\ 2926}# #{map-env\ 2927}#)
+                                         #{inner-var\ 3023}#
+                                         (cons (cons (cons #{outer-var\ 3016}#
+                                                           #{inner-var\ 3023}#)
+                                                     (car #{maps\ 3011}#))
+                                               #{outer-maps\ 
3017}#)))))))))))))
+                 (#{gen-mappend\ 2881}#
+                   (lambda (#{e\ 3024}# #{map-env\ 3025}#)
                      (list 'apply
                            '(primitive append)
-                           (#{gen-map\ 2787}# #{e\ 2926}# #{map-env\ 2927}#))))
-                 (#{gen-map\ 2787}#
-                   (lambda (#{e\ 2931}# #{map-env\ 2932}#)
+                           (#{gen-map\ 2883}# #{e\ 3024}# #{map-env\ 3025}#))))
+                 (#{gen-map\ 2883}#
+                   (lambda (#{e\ 3029}# #{map-env\ 3030}#)
                      (begin
-                       (let ((#{formals\ 2937}# (map cdr #{map-env\ 2932}#))
-                             (#{actuals\ 2938}#
-                               (map (lambda (#{x\ 2939}#)
-                                      (list (quote ref) (car #{x\ 2939}#)))
-                                    #{map-env\ 2932}#)))
-                         (if (eq? (car #{e\ 2931}#) (quote ref))
-                           (car #{actuals\ 2938}#)
+                       (let ((#{formals\ 3035}# (map cdr #{map-env\ 3030}#))
+                             (#{actuals\ 3036}#
+                               (map (lambda (#{x\ 3037}#)
+                                      (list (quote ref) (car #{x\ 3037}#)))
+                                    #{map-env\ 3030}#)))
+                         (if (eq? (car #{e\ 3029}#) (quote ref))
+                           (car #{actuals\ 3036}#)
                            (if (and-map
-                                 (lambda (#{x\ 2946}#)
-                                   (if (eq? (car #{x\ 2946}#) (quote ref))
-                                     (memq (car (cdr #{x\ 2946}#))
-                                           #{formals\ 2937}#)
+                                 (lambda (#{x\ 3044}#)
+                                   (if (eq? (car #{x\ 3044}#) (quote ref))
+                                     (memq (car (cdr #{x\ 3044}#))
+                                           #{formals\ 3035}#)
                                      #f))
-                                 (cdr #{e\ 2931}#))
+                                 (cdr #{e\ 3029}#))
                              (cons 'map
                                    (cons (list 'primitive
-                                               (car #{e\ 2931}#))
+                                               (car #{e\ 3029}#))
                                          (map (begin
-                                                (let ((#{r\ 2952}#
+                                                (let ((#{r\ 3050}#
                                                         (map cons
-                                                             #{formals\ 2937}#
-                                                             #{actuals\ 
2938}#)))
-                                                  (lambda (#{x\ 2953}#)
-                                                    (cdr (assq (car (cdr #{x\ 
2953}#))
-                                                               #{r\ 2952}#)))))
-                                              (cdr #{e\ 2931}#))))
+                                                             #{formals\ 3035}#
+                                                             #{actuals\ 
3036}#)))
+                                                  (lambda (#{x\ 3051}#)
+                                                    (cdr (assq (car (cdr #{x\ 
3051}#))
+                                                               #{r\ 3050}#)))))
+                                              (cdr #{e\ 3029}#))))
                              (cons 'map
                                    (cons (list 'lambda
-                                               #{formals\ 2937}#
-                                               #{e\ 2931}#)
-                                         #{actuals\ 2938}#))))))))
-                 (#{gen-cons\ 2789}#
-                   (lambda (#{x\ 2957}# #{y\ 2958}#)
+                                               #{formals\ 3035}#
+                                               #{e\ 3029}#)
+                                         #{actuals\ 3036}#))))))))
+                 (#{gen-cons\ 2885}#
+                   (lambda (#{x\ 3055}# #{y\ 3056}#)
                      (begin
-                       (let ((#{atom-key\ 2963}# (car #{y\ 2958}#)))
-                         (if (eqv? #{atom-key\ 2963}# (quote quote))
-                           (if (eq? (car #{x\ 2957}#) (quote quote))
+                       (let ((#{atom-key\ 3061}# (car #{y\ 3056}#)))
+                         (if (eqv? #{atom-key\ 3061}# (quote quote))
+                           (if (eq? (car #{x\ 3055}#) (quote quote))
                              (list 'quote
-                                   (cons (car (cdr #{x\ 2957}#))
-                                         (car (cdr #{y\ 2958}#))))
-                             (if (eq? (car (cdr #{y\ 2958}#)) (quote ()))
-                               (list (quote list) #{x\ 2957}#)
-                               (list (quote cons) #{x\ 2957}# #{y\ 2958}#)))
-                           (if (eqv? #{atom-key\ 2963}# (quote list))
+                                   (cons (car (cdr #{x\ 3055}#))
+                                         (car (cdr #{y\ 3056}#))))
+                             (if (eq? (car (cdr #{y\ 3056}#)) (quote ()))
+                               (list (quote list) #{x\ 3055}#)
+                               (list (quote cons) #{x\ 3055}# #{y\ 3056}#)))
+                           (if (eqv? #{atom-key\ 3061}# (quote list))
                              (cons 'list
-                                   (cons #{x\ 2957}# (cdr #{y\ 2958}#)))
-                             (list (quote cons) #{x\ 2957}# #{y\ 2958}#)))))))
-                 (#{gen-append\ 2791}#
-                   (lambda (#{x\ 2972}# #{y\ 2973}#)
-                     (if (equal? #{y\ 2973}# (quote (quote ())))
-                       #{x\ 2972}#
-                       (list (quote append) #{x\ 2972}# #{y\ 2973}#))))
-                 (#{gen-vector\ 2793}#
-                   (lambda (#{x\ 2977}#)
-                     (if (eq? (car #{x\ 2977}#) (quote list))
-                       (cons (quote vector) (cdr #{x\ 2977}#))
-                       (if (eq? (car #{x\ 2977}#) (quote quote))
+                                   (cons #{x\ 3055}# (cdr #{y\ 3056}#)))
+                             (list (quote cons) #{x\ 3055}# #{y\ 3056}#)))))))
+                 (#{gen-append\ 2887}#
+                   (lambda (#{x\ 3070}# #{y\ 3071}#)
+                     (if (equal? #{y\ 3071}# (quote (quote ())))
+                       #{x\ 3070}#
+                       (list (quote append) #{x\ 3070}# #{y\ 3071}#))))
+                 (#{gen-vector\ 2889}#
+                   (lambda (#{x\ 3075}#)
+                     (if (eq? (car #{x\ 3075}#) (quote list))
+                       (cons (quote vector) (cdr #{x\ 3075}#))
+                       (if (eq? (car #{x\ 3075}#) (quote quote))
                          (list 'quote
-                               (list->vector (car (cdr #{x\ 2977}#))))
-                         (list (quote list->vector) #{x\ 2977}#)))))
-                 (#{regen\ 2795}#
-                   (lambda (#{x\ 2987}#)
+                               (list->vector (car (cdr #{x\ 3075}#))))
+                         (list (quote list->vector) #{x\ 3075}#)))))
+                 (#{regen\ 2891}#
+                   (lambda (#{x\ 3085}#)
                      (begin
-                       (let ((#{atom-key\ 2991}# (car #{x\ 2987}#)))
-                         (if (eqv? #{atom-key\ 2991}# (quote ref))
+                       (let ((#{atom-key\ 3089}# (car #{x\ 3085}#)))
+                         (if (eqv? #{atom-key\ 3089}# (quote ref))
                            (#{build-lexical-reference\ 310}#
                              'value
                              #f
-                             (car (cdr #{x\ 2987}#))
-                             (car (cdr #{x\ 2987}#)))
-                           (if (eqv? #{atom-key\ 2991}# (quote primitive))
+                             (car (cdr #{x\ 3085}#))
+                             (car (cdr #{x\ 3085}#)))
+                           (if (eqv? #{atom-key\ 3089}# (quote primitive))
                              (#{build-primref\ 328}#
                                #f
-                               (car (cdr #{x\ 2987}#)))
-                             (if (eqv? #{atom-key\ 2991}# (quote quote))
-                               (#{build-data\ 330}# #f (car (cdr #{x\ 2987}#)))
-                               (if (eqv? #{atom-key\ 2991}# (quote lambda))
-                                 (if (list? (car (cdr #{x\ 2987}#)))
+                               (car (cdr #{x\ 3085}#)))
+                             (if (eqv? #{atom-key\ 3089}# (quote quote))
+                               (#{build-data\ 330}# #f (car (cdr #{x\ 3085}#)))
+                               (if (eqv? #{atom-key\ 3089}# (quote lambda))
+                                 (if (list? (car (cdr #{x\ 3085}#)))
                                    (#{build-simple-lambda\ 322}#
                                      #f
-                                     (car (cdr #{x\ 2987}#))
+                                     (car (cdr #{x\ 3085}#))
                                      #f
-                                     (car (cdr #{x\ 2987}#))
+                                     (car (cdr #{x\ 3085}#))
                                      '()
-                                     (#{regen\ 2795}#
-                                       (car (cdr (cdr #{x\ 2987}#)))))
-                                   (error "how did we get here" #{x\ 2987}#))
+                                     (#{regen\ 2891}#
+                                       (car (cdr (cdr #{x\ 3085}#)))))
+                                   (error "how did we get here" #{x\ 3085}#))
                                  (#{build-application\ 304}#
                                    #f
                                    (#{build-primref\ 328}#
                                      #f
-                                     (car #{x\ 2987}#))
-                                   (map #{regen\ 2795}#
-                                        (cdr #{x\ 2987}#))))))))))))
+                                     (car #{x\ 3085}#))
+                                   (map #{regen\ 2891}#
+                                        (cdr #{x\ 3085}#))))))))))))
                 (begin
-                  (lambda (#{e\ 3003}#
-                           #{r\ 3004}#
-                           #{w\ 3005}#
-                           #{s\ 3006}#
-                           #{mod\ 3007}#)
+                  (lambda (#{e\ 3101}#
+                           #{r\ 3102}#
+                           #{w\ 3103}#
+                           #{s\ 3104}#
+                           #{mod\ 3105}#)
                     (begin
-                      (let ((#{e\ 3014}#
-                              (#{source-wrap\ 451}#
-                                #{e\ 3003}#
-                                #{w\ 3005}#
-                                #{s\ 3006}#
-                                #{mod\ 3007}#)))
-                        (let ((#{tmp\ 3015}# #{e\ 3014}#))
-                          (let ((#{tmp\ 3016}#
+                      (let ((#{e\ 3112}#
+                              (#{source-wrap\ 446}#
+                                #{e\ 3101}#
+                                #{w\ 3103}#
+                                #{s\ 3104}#
+                                #{mod\ 3105}#)))
+                        (let ((#{tmp\ 3113}# #{e\ 3112}#))
+                          (let ((#{tmp\ 3114}#
                                   ($sc-dispatch
-                                    #{tmp\ 3015}#
+                                    #{tmp\ 3113}#
                                     '(_ any))))
-                            (if #{tmp\ 3016}#
+                            (if #{tmp\ 3114}#
                               (@apply
-                                (lambda (#{x\ 3018}#)
+                                (lambda (#{x\ 3116}#)
                                   (call-with-values
                                     (lambda ()
-                                      (#{gen-syntax\ 2781}#
-                                        #{e\ 3014}#
-                                        #{x\ 3018}#
-                                        #{r\ 3004}#
+                                      (#{gen-syntax\ 2877}#
+                                        #{e\ 3112}#
+                                        #{x\ 3116}#
+                                        #{r\ 3102}#
                                         '()
-                                        #{ellipsis?\ 481}#
-                                        #{mod\ 3007}#))
-                                    (lambda (#{e\ 3019}# #{maps\ 3020}#)
-                                      (#{regen\ 2795}# #{e\ 3019}#))))
-                                #{tmp\ 3016}#)
-                              (let ((#{_\ 3024}# #{tmp\ 3015}#))
+                                        #{ellipsis?\ 476}#
+                                        #{mod\ 3105}#))
+                                    (lambda (#{e\ 3117}# #{maps\ 3118}#)
+                                      (#{regen\ 2891}# #{e\ 3117}#))))
+                                #{tmp\ 3114}#)
+                              (let ((#{_\ 3122}# #{tmp\ 3113}#))
                                 (syntax-violation
                                   'syntax
                                   "bad `syntax' form"
-                                  #{e\ 3014}#)))))))))))
-            (#{global-extend\ 376}#
+                                  #{e\ 3112}#)))))))))))
+            (#{global-extend\ 374}#
               'core
               'lambda
-              (lambda (#{e\ 3025}#
-                       #{r\ 3026}#
-                       #{w\ 3027}#
-                       #{s\ 3028}#
-                       #{mod\ 3029}#)
-                (let ((#{tmp\ 3035}# #{e\ 3025}#))
-                  (let ((#{tmp\ 3036}#
+              (lambda (#{e\ 3123}#
+                       #{r\ 3124}#
+                       #{w\ 3125}#
+                       #{s\ 3126}#
+                       #{mod\ 3127}#)
+                (let ((#{tmp\ 3133}# #{e\ 3123}#))
+                  (let ((#{tmp\ 3134}#
                           ($sc-dispatch
-                            #{tmp\ 3035}#
+                            #{tmp\ 3133}#
                             '(_ any any . each-any))))
-                    (if #{tmp\ 3036}#
+                    (if #{tmp\ 3134}#
                       (@apply
-                        (lambda (#{args\ 3040}# #{e1\ 3041}# #{e2\ 3042}#)
+                        (lambda (#{args\ 3138}# #{e1\ 3139}# #{e2\ 3140}#)
                           (call-with-values
                             (lambda ()
-                              (#{lambda-formals\ 483}# #{args\ 3040}#))
-                            (lambda (#{req\ 3043}#
-                                     #{opt\ 3044}#
-                                     #{rest\ 3045}#
-                                     #{kw\ 3046}#)
+                              (#{lambda-formals\ 478}# #{args\ 3138}#))
+                            (lambda (#{req\ 3141}#
+                                     #{opt\ 3142}#
+                                     #{rest\ 3143}#
+                                     #{kw\ 3144}#)
                               (letrec*
-                                ((#{lp\ 3054}#
-                                   (lambda (#{body\ 3055}# #{meta\ 3056}#)
-                                     (let ((#{tmp\ 3058}# #{body\ 3055}#))
-                                       (let ((#{tmp\ 3059}#
+                                ((#{lp\ 3152}#
+                                   (lambda (#{body\ 3153}# #{meta\ 3154}#)
+                                     (let ((#{tmp\ 3156}# #{body\ 3153}#))
+                                       (let ((#{tmp\ 3157}#
                                                ($sc-dispatch
-                                                 #{tmp\ 3058}#
+                                                 #{tmp\ 3156}#
                                                  '(any any . each-any))))
-                                         (if (if #{tmp\ 3059}#
+                                         (if (if #{tmp\ 3157}#
                                                (@apply
-                                                 (lambda (#{docstring\ 3063}#
-                                                          #{e1\ 3064}#
-                                                          #{e2\ 3065}#)
+                                                 (lambda (#{docstring\ 3161}#
+                                                          #{e1\ 3162}#
+                                                          #{e2\ 3163}#)
                                                    (string?
                                                      (syntax->datum
-                                                       #{docstring\ 3063}#)))
-                                                 #{tmp\ 3059}#)
+                                                       #{docstring\ 3161}#)))
+                                                 #{tmp\ 3157}#)
                                                #f)
                                            (@apply
-                                             (lambda (#{docstring\ 3069}#
-                                                      #{e1\ 3070}#
-                                                      #{e2\ 3071}#)
-                                               (#{lp\ 3054}#
-                                                 (cons #{e1\ 3070}#
-                                                       #{e2\ 3071}#)
+                                             (lambda (#{docstring\ 3167}#
+                                                      #{e1\ 3168}#
+                                                      #{e2\ 3169}#)
+                                               (#{lp\ 3152}#
+                                                 (cons #{e1\ 3168}#
+                                                       #{e2\ 3169}#)
                                                  (append
-                                                   #{meta\ 3056}#
+                                                   #{meta\ 3154}#
                                                    (list (cons 'documentation
                                                                (syntax->datum
-                                                                 #{docstring\ 
3069}#))))))
-                                             #{tmp\ 3059}#)
-                                           (let ((#{tmp\ 3074}#
+                                                                 #{docstring\ 
3167}#))))))
+                                             #{tmp\ 3157}#)
+                                           (let ((#{tmp\ 3172}#
                                                    ($sc-dispatch
-                                                     #{tmp\ 3058}#
+                                                     #{tmp\ 3156}#
                                                      '(#(vector
                                                          #(each (any . any)))
                                                        any
                                                        .
                                                        each-any))))
-                                             (if #{tmp\ 3074}#
+                                             (if #{tmp\ 3172}#
                                                (@apply
-                                                 (lambda (#{k\ 3079}#
-                                                          #{v\ 3080}#
-                                                          #{e1\ 3081}#
-                                                          #{e2\ 3082}#)
-                                                   (#{lp\ 3054}#
-                                                     (cons #{e1\ 3081}#
-                                                           #{e2\ 3082}#)
+                                                 (lambda (#{k\ 3177}#
+                                                          #{v\ 3178}#
+                                                          #{e1\ 3179}#
+                                                          #{e2\ 3180}#)
+                                                   (#{lp\ 3152}#
+                                                     (cons #{e1\ 3179}#
+                                                           #{e2\ 3180}#)
                                                      (append
-                                                       #{meta\ 3056}#
+                                                       #{meta\ 3154}#
                                                        (syntax->datum
                                                          (map cons
-                                                              #{k\ 3079}#
-                                                              #{v\ 3080}#)))))
-                                                 #{tmp\ 3074}#)
-                                               (let ((#{_\ 3087}#
-                                                       #{tmp\ 3058}#))
-                                                 (#{chi-simple-lambda\ 485}#
-                                                   #{e\ 3025}#
-                                                   #{r\ 3026}#
-                                                   #{w\ 3027}#
-                                                   #{s\ 3028}#
-                                                   #{mod\ 3029}#
-                                                   #{req\ 3043}#
-                                                   #{rest\ 3045}#
-                                                   #{meta\ 3056}#
-                                                   #{body\ 3055}#))))))))))
+                                                              #{k\ 3177}#
+                                                              #{v\ 3178}#)))))
+                                                 #{tmp\ 3172}#)
+                                               (let ((#{_\ 3185}#
+                                                       #{tmp\ 3156}#))
+                                                 (#{chi-simple-lambda\ 480}#
+                                                   #{e\ 3123}#
+                                                   #{r\ 3124}#
+                                                   #{w\ 3125}#
+                                                   #{s\ 3126}#
+                                                   #{mod\ 3127}#
+                                                   #{req\ 3141}#
+                                                   #{rest\ 3143}#
+                                                   #{meta\ 3154}#
+                                                   #{body\ 3153}#))))))))))
                                 (begin
-                                  (#{lp\ 3054}#
-                                    (cons #{e1\ 3041}# #{e2\ 3042}#)
+                                  (#{lp\ 3152}#
+                                    (cons #{e1\ 3139}# #{e2\ 3140}#)
                                     '()))))))
-                        #{tmp\ 3036}#)
-                      (let ((#{_\ 3089}# #{tmp\ 3035}#))
+                        #{tmp\ 3134}#)
+                      (let ((#{_\ 3187}# #{tmp\ 3133}#))
                         (syntax-violation
                           'lambda
                           "bad lambda"
-                          #{e\ 3025}#)))))))
-            (#{global-extend\ 376}#
+                          #{e\ 3123}#)))))))
+            (#{global-extend\ 374}#
               'core
               'lambda*
-              (lambda (#{e\ 3090}#
-                       #{r\ 3091}#
-                       #{w\ 3092}#
-                       #{s\ 3093}#
-                       #{mod\ 3094}#)
-                (let ((#{tmp\ 3100}# #{e\ 3090}#))
-                  (let ((#{tmp\ 3101}#
+              (lambda (#{e\ 3188}#
+                       #{r\ 3189}#
+                       #{w\ 3190}#
+                       #{s\ 3191}#
+                       #{mod\ 3192}#)
+                (let ((#{tmp\ 3198}# #{e\ 3188}#))
+                  (let ((#{tmp\ 3199}#
                           ($sc-dispatch
-                            #{tmp\ 3100}#
+                            #{tmp\ 3198}#
                             '(_ any any . each-any))))
-                    (if #{tmp\ 3101}#
+                    (if #{tmp\ 3199}#
                       (@apply
-                        (lambda (#{args\ 3105}# #{e1\ 3106}# #{e2\ 3107}#)
+                        (lambda (#{args\ 3203}# #{e1\ 3204}# #{e2\ 3205}#)
                           (call-with-values
                             (lambda ()
-                              (#{chi-lambda-case\ 489}#
-                                #{e\ 3090}#
-                                #{r\ 3091}#
-                                #{w\ 3092}#
-                                #{s\ 3093}#
-                                #{mod\ 3094}#
-                                #{lambda*-formals\ 487}#
-                                (list (cons #{args\ 3105}#
-                                            (cons #{e1\ 3106}#
-                                                  #{e2\ 3107}#)))))
-                            (lambda (#{meta\ 3109}# #{lcase\ 3110}#)
+                              (#{chi-lambda-case\ 484}#
+                                #{e\ 3188}#
+                                #{r\ 3189}#
+                                #{w\ 3190}#
+                                #{s\ 3191}#
+                                #{mod\ 3192}#
+                                #{lambda*-formals\ 482}#
+                                (list (cons #{args\ 3203}#
+                                            (cons #{e1\ 3204}#
+                                                  #{e2\ 3205}#)))))
+                            (lambda (#{meta\ 3207}# #{lcase\ 3208}#)
                               (#{build-case-lambda\ 324}#
-                                #{s\ 3093}#
-                                #{meta\ 3109}#
-                                #{lcase\ 3110}#))))
-                        #{tmp\ 3101}#)
-                      (let ((#{_\ 3114}# #{tmp\ 3100}#))
+                                #{s\ 3191}#
+                                #{meta\ 3207}#
+                                #{lcase\ 3208}#))))
+                        #{tmp\ 3199}#)
+                      (let ((#{_\ 3212}# #{tmp\ 3198}#))
                         (syntax-violation
                           'lambda
                           "bad lambda*"
-                          #{e\ 3090}#)))))))
-            (#{global-extend\ 376}#
+                          #{e\ 3188}#)))))))
+            (#{global-extend\ 374}#
               'core
               'case-lambda
-              (lambda (#{e\ 3115}#
-                       #{r\ 3116}#
-                       #{w\ 3117}#
-                       #{s\ 3118}#
-                       #{mod\ 3119}#)
-                (let ((#{tmp\ 3125}# #{e\ 3115}#))
-                  (let ((#{tmp\ 3126}#
+              (lambda (#{e\ 3213}#
+                       #{r\ 3214}#
+                       #{w\ 3215}#
+                       #{s\ 3216}#
+                       #{mod\ 3217}#)
+                (let ((#{tmp\ 3223}# #{e\ 3213}#))
+                  (let ((#{tmp\ 3224}#
                           ($sc-dispatch
-                            #{tmp\ 3125}#
+                            #{tmp\ 3223}#
                             '(_ (any any . each-any)
                                 .
                                 #(each (any any . each-any))))))
-                    (if #{tmp\ 3126}#
+                    (if #{tmp\ 3224}#
                       (@apply
-                        (lambda (#{args\ 3133}#
-                                 #{e1\ 3134}#
-                                 #{e2\ 3135}#
-                                 #{args*\ 3136}#
-                                 #{e1*\ 3137}#
-                                 #{e2*\ 3138}#)
+                        (lambda (#{args\ 3231}#
+                                 #{e1\ 3232}#
+                                 #{e2\ 3233}#
+                                 #{args*\ 3234}#
+                                 #{e1*\ 3235}#
+                                 #{e2*\ 3236}#)
                           (call-with-values
                             (lambda ()
-                              (#{chi-lambda-case\ 489}#
-                                #{e\ 3115}#
-                                #{r\ 3116}#
-                                #{w\ 3117}#
-                                #{s\ 3118}#
-                                #{mod\ 3119}#
-                                #{lambda-formals\ 483}#
-                                (cons (cons #{args\ 3133}#
-                                            (cons #{e1\ 3134}# #{e2\ 3135}#))
-                                      (map (lambda (#{tmp\ 3142}#
-                                                    #{tmp\ 3141}#
-                                                    #{tmp\ 3140}#)
-                                             (cons #{tmp\ 3140}#
-                                                   (cons #{tmp\ 3141}#
-                                                         #{tmp\ 3142}#)))
-                                           #{e2*\ 3138}#
-                                           #{e1*\ 3137}#
-                                           #{args*\ 3136}#))))
-                            (lambda (#{meta\ 3144}# #{lcase\ 3145}#)
+                              (#{chi-lambda-case\ 484}#
+                                #{e\ 3213}#
+                                #{r\ 3214}#
+                                #{w\ 3215}#
+                                #{s\ 3216}#
+                                #{mod\ 3217}#
+                                #{lambda-formals\ 478}#
+                                (cons (cons #{args\ 3231}#
+                                            (cons #{e1\ 3232}# #{e2\ 3233}#))
+                                      (map (lambda (#{tmp\ 3240}#
+                                                    #{tmp\ 3239}#
+                                                    #{tmp\ 3238}#)
+                                             (cons #{tmp\ 3238}#
+                                                   (cons #{tmp\ 3239}#
+                                                         #{tmp\ 3240}#)))
+                                           #{e2*\ 3236}#
+                                           #{e1*\ 3235}#
+                                           #{args*\ 3234}#))))
+                            (lambda (#{meta\ 3242}# #{lcase\ 3243}#)
                               (#{build-case-lambda\ 324}#
-                                #{s\ 3118}#
-                                #{meta\ 3144}#
-                                #{lcase\ 3145}#))))
-                        #{tmp\ 3126}#)
-                      (let ((#{_\ 3149}# #{tmp\ 3125}#))
+                                #{s\ 3216}#
+                                #{meta\ 3242}#
+                                #{lcase\ 3243}#))))
+                        #{tmp\ 3224}#)
+                      (let ((#{_\ 3247}# #{tmp\ 3223}#))
                         (syntax-violation
                           'case-lambda
                           "bad case-lambda"
-                          #{e\ 3115}#)))))))
-            (#{global-extend\ 376}#
+                          #{e\ 3213}#)))))))
+            (#{global-extend\ 374}#
               'core
               'case-lambda*
-              (lambda (#{e\ 3150}#
-                       #{r\ 3151}#
-                       #{w\ 3152}#
-                       #{s\ 3153}#
-                       #{mod\ 3154}#)
-                (let ((#{tmp\ 3160}# #{e\ 3150}#))
-                  (let ((#{tmp\ 3161}#
+              (lambda (#{e\ 3248}#
+                       #{r\ 3249}#
+                       #{w\ 3250}#
+                       #{s\ 3251}#
+                       #{mod\ 3252}#)
+                (let ((#{tmp\ 3258}# #{e\ 3248}#))
+                  (let ((#{tmp\ 3259}#
                           ($sc-dispatch
-                            #{tmp\ 3160}#
+                            #{tmp\ 3258}#
                             '(_ (any any . each-any)
                                 .
                                 #(each (any any . each-any))))))
-                    (if #{tmp\ 3161}#
+                    (if #{tmp\ 3259}#
                       (@apply
-                        (lambda (#{args\ 3168}#
-                                 #{e1\ 3169}#
-                                 #{e2\ 3170}#
-                                 #{args*\ 3171}#
-                                 #{e1*\ 3172}#
-                                 #{e2*\ 3173}#)
+                        (lambda (#{args\ 3266}#
+                                 #{e1\ 3267}#
+                                 #{e2\ 3268}#
+                                 #{args*\ 3269}#
+                                 #{e1*\ 3270}#
+                                 #{e2*\ 3271}#)
                           (call-with-values
                             (lambda ()
-                              (#{chi-lambda-case\ 489}#
-                                #{e\ 3150}#
-                                #{r\ 3151}#
-                                #{w\ 3152}#
-                                #{s\ 3153}#
-                                #{mod\ 3154}#
-                                #{lambda*-formals\ 487}#
-                                (cons (cons #{args\ 3168}#
-                                            (cons #{e1\ 3169}# #{e2\ 3170}#))
-                                      (map (lambda (#{tmp\ 3177}#
-                                                    #{tmp\ 3176}#
-                                                    #{tmp\ 3175}#)
-                                             (cons #{tmp\ 3175}#
-                                                   (cons #{tmp\ 3176}#
-                                                         #{tmp\ 3177}#)))
-                                           #{e2*\ 3173}#
-                                           #{e1*\ 3172}#
-                                           #{args*\ 3171}#))))
-                            (lambda (#{meta\ 3179}# #{lcase\ 3180}#)
+                              (#{chi-lambda-case\ 484}#
+                                #{e\ 3248}#
+                                #{r\ 3249}#
+                                #{w\ 3250}#
+                                #{s\ 3251}#
+                                #{mod\ 3252}#
+                                #{lambda*-formals\ 482}#
+                                (cons (cons #{args\ 3266}#
+                                            (cons #{e1\ 3267}# #{e2\ 3268}#))
+                                      (map (lambda (#{tmp\ 3275}#
+                                                    #{tmp\ 3274}#
+                                                    #{tmp\ 3273}#)
+                                             (cons #{tmp\ 3273}#
+                                                   (cons #{tmp\ 3274}#
+                                                         #{tmp\ 3275}#)))
+                                           #{e2*\ 3271}#
+                                           #{e1*\ 3270}#
+                                           #{args*\ 3269}#))))
+                            (lambda (#{meta\ 3277}# #{lcase\ 3278}#)
                               (#{build-case-lambda\ 324}#
-                                #{s\ 3153}#
-                                #{meta\ 3179}#
-                                #{lcase\ 3180}#))))
-                        #{tmp\ 3161}#)
-                      (let ((#{_\ 3184}# #{tmp\ 3160}#))
+                                #{s\ 3251}#
+                                #{meta\ 3277}#
+                                #{lcase\ 3278}#))))
+                        #{tmp\ 3259}#)
+                      (let ((#{_\ 3282}# #{tmp\ 3258}#))
                         (syntax-violation
                           'case-lambda
                           "bad case-lambda*"
-                          #{e\ 3150}#)))))))
-            (#{global-extend\ 376}#
+                          #{e\ 3248}#)))))))
+            (#{global-extend\ 374}#
               'core
               'let
               (letrec*
-                ((#{chi-let\ 3186}#
-                   (lambda (#{e\ 3187}#
-                            #{r\ 3188}#
-                            #{w\ 3189}#
-                            #{s\ 3190}#
-                            #{mod\ 3191}#
-                            #{constructor\ 3192}#
-                            #{ids\ 3193}#
-                            #{vals\ 3194}#
-                            #{exps\ 3195}#)
-                     (if (not (#{valid-bound-ids?\ 443}# #{ids\ 3193}#))
+                ((#{chi-let\ 3284}#
+                   (lambda (#{e\ 3285}#
+                            #{r\ 3286}#
+                            #{w\ 3287}#
+                            #{s\ 3288}#
+                            #{mod\ 3289}#
+                            #{constructor\ 3290}#
+                            #{ids\ 3291}#
+                            #{vals\ 3292}#
+                            #{exps\ 3293}#)
+                     (if (not (#{valid-bound-ids?\ 438}# #{ids\ 3291}#))
                        (syntax-violation
                          'let
                          "duplicate bound variable"
-                         #{e\ 3187}#)
+                         #{e\ 3285}#)
                        (begin
-                         (let ((#{labels\ 3207}#
-                                 (#{gen-labels\ 398}# #{ids\ 3193}#))
-                               (#{new-vars\ 3208}#
-                                 (map #{gen-var\ 493}# #{ids\ 3193}#)))
+                         (let ((#{labels\ 3305}#
+                                 (#{gen-labels\ 393}# #{ids\ 3291}#))
+                               (#{new-vars\ 3306}#
+                                 (map #{gen-var\ 488}# #{ids\ 3291}#)))
                            (begin
-                             (let ((#{nw\ 3211}#
-                                     (#{make-binding-wrap\ 427}#
-                                       #{ids\ 3193}#
-                                       #{labels\ 3207}#
-                                       #{w\ 3189}#))
-                                   (#{nr\ 3212}#
-                                     (#{extend-var-env\ 370}#
-                                       #{labels\ 3207}#
-                                       #{new-vars\ 3208}#
-                                       #{r\ 3188}#)))
-                               (#{constructor\ 3192}#
-                                 #{s\ 3190}#
-                                 (map syntax->datum #{ids\ 3193}#)
-                                 #{new-vars\ 3208}#
-                                 (map (lambda (#{x\ 3213}#)
-                                        (#{chi\ 465}#
-                                          #{x\ 3213}#
-                                          #{r\ 3188}#
-                                          #{w\ 3189}#
-                                          #{mod\ 3191}#))
-                                      #{vals\ 3194}#)
-                                 (#{chi-body\ 473}#
-                                   #{exps\ 3195}#
-                                   (#{source-wrap\ 451}#
-                                     #{e\ 3187}#
-                                     #{nw\ 3211}#
-                                     #{s\ 3190}#
-                                     #{mod\ 3191}#)
-                                   #{nr\ 3212}#
-                                   #{nw\ 3211}#
-                                   #{mod\ 3191}#))))))))))
+                             (let ((#{nw\ 3309}#
+                                     (#{make-binding-wrap\ 422}#
+                                       #{ids\ 3291}#
+                                       #{labels\ 3305}#
+                                       #{w\ 3287}#))
+                                   (#{nr\ 3310}#
+                                     (#{extend-var-env\ 368}#
+                                       #{labels\ 3305}#
+                                       #{new-vars\ 3306}#
+                                       #{r\ 3286}#)))
+                               (#{constructor\ 3290}#
+                                 #{s\ 3288}#
+                                 (map syntax->datum #{ids\ 3291}#)
+                                 #{new-vars\ 3306}#
+                                 (map (lambda (#{x\ 3311}#)
+                                        (#{chi\ 460}#
+                                          #{x\ 3311}#
+                                          #{r\ 3286}#
+                                          #{w\ 3287}#
+                                          #{mod\ 3289}#))
+                                      #{vals\ 3292}#)
+                                 (#{chi-body\ 468}#
+                                   #{exps\ 3293}#
+                                   (#{source-wrap\ 446}#
+                                     #{e\ 3285}#
+                                     #{nw\ 3309}#
+                                     #{s\ 3288}#
+                                     #{mod\ 3289}#)
+                                   #{nr\ 3310}#
+                                   #{nw\ 3309}#
+                                   #{mod\ 3289}#))))))))))
                 (begin
-                  (lambda (#{e\ 3215}#
-                           #{r\ 3216}#
-                           #{w\ 3217}#
-                           #{s\ 3218}#
-                           #{mod\ 3219}#)
-                    (let ((#{tmp\ 3225}# #{e\ 3215}#))
-                      (let ((#{tmp\ 3226}#
+                  (lambda (#{e\ 3313}#
+                           #{r\ 3314}#
+                           #{w\ 3315}#
+                           #{s\ 3316}#
+                           #{mod\ 3317}#)
+                    (let ((#{tmp\ 3323}# #{e\ 3313}#))
+                      (let ((#{tmp\ 3324}#
                               ($sc-dispatch
-                                #{tmp\ 3225}#
+                                #{tmp\ 3323}#
                                 '(_ #(each (any any)) any . each-any))))
-                        (if (if #{tmp\ 3226}#
+                        (if (if #{tmp\ 3324}#
                               (@apply
-                                (lambda (#{id\ 3231}#
-                                         #{val\ 3232}#
-                                         #{e1\ 3233}#
-                                         #{e2\ 3234}#)
-                                  (and-map #{id?\ 380}# #{id\ 3231}#))
-                                #{tmp\ 3226}#)
+                                (lambda (#{id\ 3329}#
+                                         #{val\ 3330}#
+                                         #{e1\ 3331}#
+                                         #{e2\ 3332}#)
+                                  (and-map #{id?\ 378}# #{id\ 3329}#))
+                                #{tmp\ 3324}#)
                               #f)
                           (@apply
-                            (lambda (#{id\ 3240}#
-                                     #{val\ 3241}#
-                                     #{e1\ 3242}#
-                                     #{e2\ 3243}#)
-                              (#{chi-let\ 3186}#
-                                #{e\ 3215}#
-                                #{r\ 3216}#
-                                #{w\ 3217}#
-                                #{s\ 3218}#
-                                #{mod\ 3219}#
+                            (lambda (#{id\ 3338}#
+                                     #{val\ 3339}#
+                                     #{e1\ 3340}#
+                                     #{e2\ 3341}#)
+                              (#{chi-let\ 3284}#
+                                #{e\ 3313}#
+                                #{r\ 3314}#
+                                #{w\ 3315}#
+                                #{s\ 3316}#
+                                #{mod\ 3317}#
                                 #{build-let\ 334}#
-                                #{id\ 3240}#
-                                #{val\ 3241}#
-                                (cons #{e1\ 3242}# #{e2\ 3243}#)))
-                            #{tmp\ 3226}#)
-                          (let ((#{tmp\ 3247}#
+                                #{id\ 3338}#
+                                #{val\ 3339}#
+                                (cons #{e1\ 3340}# #{e2\ 3341}#)))
+                            #{tmp\ 3324}#)
+                          (let ((#{tmp\ 3345}#
                                   ($sc-dispatch
-                                    #{tmp\ 3225}#
+                                    #{tmp\ 3323}#
                                     '(_ any
                                         #(each (any any))
                                         any
                                         .
                                         each-any))))
-                            (if (if #{tmp\ 3247}#
+                            (if (if #{tmp\ 3345}#
                                   (@apply
-                                    (lambda (#{f\ 3253}#
-                                             #{id\ 3254}#
-                                             #{val\ 3255}#
-                                             #{e1\ 3256}#
-                                             #{e2\ 3257}#)
-                                      (if (#{id?\ 380}# #{f\ 3253}#)
-                                        (and-map #{id?\ 380}# #{id\ 3254}#)
+                                    (lambda (#{f\ 3351}#
+                                             #{id\ 3352}#
+                                             #{val\ 3353}#
+                                             #{e1\ 3354}#
+                                             #{e2\ 3355}#)
+                                      (if (#{id?\ 378}# #{f\ 3351}#)
+                                        (and-map #{id?\ 378}# #{id\ 3352}#)
                                         #f))
-                                    #{tmp\ 3247}#)
+                                    #{tmp\ 3345}#)
                                   #f)
                               (@apply
-                                (lambda (#{f\ 3266}#
-                                         #{id\ 3267}#
-                                         #{val\ 3268}#
-                                         #{e1\ 3269}#
-                                         #{e2\ 3270}#)
-                                  (#{chi-let\ 3186}#
-                                    #{e\ 3215}#
-                                    #{r\ 3216}#
-                                    #{w\ 3217}#
-                                    #{s\ 3218}#
-                                    #{mod\ 3219}#
+                                (lambda (#{f\ 3364}#
+                                         #{id\ 3365}#
+                                         #{val\ 3366}#
+                                         #{e1\ 3367}#
+                                         #{e2\ 3368}#)
+                                  (#{chi-let\ 3284}#
+                                    #{e\ 3313}#
+                                    #{r\ 3314}#
+                                    #{w\ 3315}#
+                                    #{s\ 3316}#
+                                    #{mod\ 3317}#
                                     #{build-named-let\ 336}#
-                                    (cons #{f\ 3266}# #{id\ 3267}#)
-                                    #{val\ 3268}#
-                                    (cons #{e1\ 3269}# #{e2\ 3270}#)))
-                                #{tmp\ 3247}#)
-                              (let ((#{_\ 3275}# #{tmp\ 3225}#))
+                                    (cons #{f\ 3364}# #{id\ 3365}#)
+                                    #{val\ 3366}#
+                                    (cons #{e1\ 3367}# #{e2\ 3368}#)))
+                                #{tmp\ 3345}#)
+                              (let ((#{_\ 3373}# #{tmp\ 3323}#))
                                 (syntax-violation
                                   'let
                                   "bad let"
-                                  (#{source-wrap\ 451}#
-                                    #{e\ 3215}#
-                                    #{w\ 3217}#
-                                    #{s\ 3218}#
-                                    #{mod\ 3219}#))))))))))))
-            (#{global-extend\ 376}#
+                                  (#{source-wrap\ 446}#
+                                    #{e\ 3313}#
+                                    #{w\ 3315}#
+                                    #{s\ 3316}#
+                                    #{mod\ 3317}#))))))))))))
+            (#{global-extend\ 374}#
               'core
               'letrec
-              (lambda (#{e\ 3276}#
-                       #{r\ 3277}#
-                       #{w\ 3278}#
-                       #{s\ 3279}#
-                       #{mod\ 3280}#)
-                (let ((#{tmp\ 3286}# #{e\ 3276}#))
-                  (let ((#{tmp\ 3287}#
+              (lambda (#{e\ 3374}#
+                       #{r\ 3375}#
+                       #{w\ 3376}#
+                       #{s\ 3377}#
+                       #{mod\ 3378}#)
+                (let ((#{tmp\ 3384}# #{e\ 3374}#))
+                  (let ((#{tmp\ 3385}#
                           ($sc-dispatch
-                            #{tmp\ 3286}#
+                            #{tmp\ 3384}#
                             '(_ #(each (any any)) any . each-any))))
-                    (if (if #{tmp\ 3287}#
+                    (if (if #{tmp\ 3385}#
                           (@apply
-                            (lambda (#{id\ 3292}#
-                                     #{val\ 3293}#
-                                     #{e1\ 3294}#
-                                     #{e2\ 3295}#)
-                              (and-map #{id?\ 380}# #{id\ 3292}#))
-                            #{tmp\ 3287}#)
+                            (lambda (#{id\ 3390}#
+                                     #{val\ 3391}#
+                                     #{e1\ 3392}#
+                                     #{e2\ 3393}#)
+                              (and-map #{id?\ 378}# #{id\ 3390}#))
+                            #{tmp\ 3385}#)
                           #f)
                       (@apply
-                        (lambda (#{id\ 3301}#
-                                 #{val\ 3302}#
-                                 #{e1\ 3303}#
-                                 #{e2\ 3304}#)
+                        (lambda (#{id\ 3399}#
+                                 #{val\ 3400}#
+                                 #{e1\ 3401}#
+                                 #{e2\ 3402}#)
                           (begin
-                            (let ((#{ids\ 3306}# #{id\ 3301}#))
-                              (if (not (#{valid-bound-ids?\ 443}#
-                                         #{ids\ 3306}#))
+                            (let ((#{ids\ 3404}# #{id\ 3399}#))
+                              (if (not (#{valid-bound-ids?\ 438}#
+                                         #{ids\ 3404}#))
                                 (syntax-violation
                                   'letrec
                                   "duplicate bound variable"
-                                  #{e\ 3276}#)
+                                  #{e\ 3374}#)
                                 (begin
-                                  (let ((#{labels\ 3310}#
-                                          (#{gen-labels\ 398}# #{ids\ 3306}#))
-                                        (#{new-vars\ 3311}#
-                                          (map #{gen-var\ 493}#
-                                               #{ids\ 3306}#)))
+                                  (let ((#{labels\ 3408}#
+                                          (#{gen-labels\ 393}# #{ids\ 3404}#))
+                                        (#{new-vars\ 3409}#
+                                          (map #{gen-var\ 488}#
+                                               #{ids\ 3404}#)))
                                     (begin
-                                      (let ((#{w\ 3314}#
-                                              (#{make-binding-wrap\ 427}#
-                                                #{ids\ 3306}#
-                                                #{labels\ 3310}#
-                                                #{w\ 3278}#))
-                                            (#{r\ 3315}#
-                                              (#{extend-var-env\ 370}#
-                                                #{labels\ 3310}#
-                                                #{new-vars\ 3311}#
-                                                #{r\ 3277}#)))
+                                      (let ((#{w\ 3412}#
+                                              (#{make-binding-wrap\ 422}#
+                                                #{ids\ 3404}#
+                                                #{labels\ 3408}#
+                                                #{w\ 3376}#))
+                                            (#{r\ 3413}#
+                                              (#{extend-var-env\ 368}#
+                                                #{labels\ 3408}#
+                                                #{new-vars\ 3409}#
+                                                #{r\ 3375}#)))
                                         (#{build-letrec\ 338}#
-                                          #{s\ 3279}#
+                                          #{s\ 3377}#
                                           #f
-                                          (map syntax->datum #{ids\ 3306}#)
-                                          #{new-vars\ 3311}#
-                                          (map (lambda (#{x\ 3316}#)
-                                                 (#{chi\ 465}#
-                                                   #{x\ 3316}#
-                                                   #{r\ 3315}#
-                                                   #{w\ 3314}#
-                                                   #{mod\ 3280}#))
-                                               #{val\ 3302}#)
-                                          (#{chi-body\ 473}#
-                                            (cons #{e1\ 3303}# #{e2\ 3304}#)
-                                            (#{source-wrap\ 451}#
-                                              #{e\ 3276}#
-                                              #{w\ 3314}#
-                                              #{s\ 3279}#
-                                              #{mod\ 3280}#)
-                                            #{r\ 3315}#
-                                            #{w\ 3314}#
-                                            #{mod\ 3280}#))))))))))
-                        #{tmp\ 3287}#)
-                      (let ((#{_\ 3321}# #{tmp\ 3286}#))
+                                          (map syntax->datum #{ids\ 3404}#)
+                                          #{new-vars\ 3409}#
+                                          (map (lambda (#{x\ 3414}#)
+                                                 (#{chi\ 460}#
+                                                   #{x\ 3414}#
+                                                   #{r\ 3413}#
+                                                   #{w\ 3412}#
+                                                   #{mod\ 3378}#))
+                                               #{val\ 3400}#)
+                                          (#{chi-body\ 468}#
+                                            (cons #{e1\ 3401}# #{e2\ 3402}#)
+                                            (#{source-wrap\ 446}#
+                                              #{e\ 3374}#
+                                              #{w\ 3412}#
+                                              #{s\ 3377}#
+                                              #{mod\ 3378}#)
+                                            #{r\ 3413}#
+                                            #{w\ 3412}#
+                                            #{mod\ 3378}#))))))))))
+                        #{tmp\ 3385}#)
+                      (let ((#{_\ 3419}# #{tmp\ 3384}#))
                         (syntax-violation
                           'letrec
                           "bad letrec"
-                          (#{source-wrap\ 451}#
-                            #{e\ 3276}#
-                            #{w\ 3278}#
-                            #{s\ 3279}#
-                            #{mod\ 3280}#))))))))
-            (#{global-extend\ 376}#
+                          (#{source-wrap\ 446}#
+                            #{e\ 3374}#
+                            #{w\ 3376}#
+                            #{s\ 3377}#
+                            #{mod\ 3378}#))))))))
+            (#{global-extend\ 374}#
               'core
               'letrec*
-              (lambda (#{e\ 3322}#
-                       #{r\ 3323}#
-                       #{w\ 3324}#
-                       #{s\ 3325}#
-                       #{mod\ 3326}#)
-                (let ((#{tmp\ 3332}# #{e\ 3322}#))
-                  (let ((#{tmp\ 3333}#
+              (lambda (#{e\ 3420}#
+                       #{r\ 3421}#
+                       #{w\ 3422}#
+                       #{s\ 3423}#
+                       #{mod\ 3424}#)
+                (let ((#{tmp\ 3430}# #{e\ 3420}#))
+                  (let ((#{tmp\ 3431}#
                           ($sc-dispatch
-                            #{tmp\ 3332}#
+                            #{tmp\ 3430}#
                             '(_ #(each (any any)) any . each-any))))
-                    (if (if #{tmp\ 3333}#
+                    (if (if #{tmp\ 3431}#
                           (@apply
-                            (lambda (#{id\ 3338}#
-                                     #{val\ 3339}#
-                                     #{e1\ 3340}#
-                                     #{e2\ 3341}#)
-                              (and-map #{id?\ 380}# #{id\ 3338}#))
-                            #{tmp\ 3333}#)
+                            (lambda (#{id\ 3436}#
+                                     #{val\ 3437}#
+                                     #{e1\ 3438}#
+                                     #{e2\ 3439}#)
+                              (and-map #{id?\ 378}# #{id\ 3436}#))
+                            #{tmp\ 3431}#)
                           #f)
                       (@apply
-                        (lambda (#{id\ 3347}#
-                                 #{val\ 3348}#
-                                 #{e1\ 3349}#
-                                 #{e2\ 3350}#)
+                        (lambda (#{id\ 3445}#
+                                 #{val\ 3446}#
+                                 #{e1\ 3447}#
+                                 #{e2\ 3448}#)
                           (begin
-                            (let ((#{ids\ 3352}# #{id\ 3347}#))
-                              (if (not (#{valid-bound-ids?\ 443}#
-                                         #{ids\ 3352}#))
+                            (let ((#{ids\ 3450}# #{id\ 3445}#))
+                              (if (not (#{valid-bound-ids?\ 438}#
+                                         #{ids\ 3450}#))
                                 (syntax-violation
                                   'letrec*
                                   "duplicate bound variable"
-                                  #{e\ 3322}#)
+                                  #{e\ 3420}#)
                                 (begin
-                                  (let ((#{labels\ 3356}#
-                                          (#{gen-labels\ 398}# #{ids\ 3352}#))
-                                        (#{new-vars\ 3357}#
-                                          (map #{gen-var\ 493}#
-                                               #{ids\ 3352}#)))
+                                  (let ((#{labels\ 3454}#
+                                          (#{gen-labels\ 393}# #{ids\ 3450}#))
+                                        (#{new-vars\ 3455}#
+                                          (map #{gen-var\ 488}#
+                                               #{ids\ 3450}#)))
                                     (begin
-                                      (let ((#{w\ 3360}#
-                                              (#{make-binding-wrap\ 427}#
-                                                #{ids\ 3352}#
-                                                #{labels\ 3356}#
-                                                #{w\ 3324}#))
-                                            (#{r\ 3361}#
-                                              (#{extend-var-env\ 370}#
-                                                #{labels\ 3356}#
-                                                #{new-vars\ 3357}#
-                                                #{r\ 3323}#)))
+                                      (let ((#{w\ 3458}#
+                                              (#{make-binding-wrap\ 422}#
+                                                #{ids\ 3450}#
+                                                #{labels\ 3454}#
+                                                #{w\ 3422}#))
+                                            (#{r\ 3459}#
+                                              (#{extend-var-env\ 368}#
+                                                #{labels\ 3454}#
+                                                #{new-vars\ 3455}#
+                                                #{r\ 3421}#)))
                                         (#{build-letrec\ 338}#
-                                          #{s\ 3325}#
+                                          #{s\ 3423}#
                                           #t
-                                          (map syntax->datum #{ids\ 3352}#)
-                                          #{new-vars\ 3357}#
-                                          (map (lambda (#{x\ 3362}#)
-                                                 (#{chi\ 465}#
-                                                   #{x\ 3362}#
-                                                   #{r\ 3361}#
-                                                   #{w\ 3360}#
-                                                   #{mod\ 3326}#))
-                                               #{val\ 3348}#)
-                                          (#{chi-body\ 473}#
-                                            (cons #{e1\ 3349}# #{e2\ 3350}#)
-                                            (#{source-wrap\ 451}#
-                                              #{e\ 3322}#
-                                              #{w\ 3360}#
-                                              #{s\ 3325}#
-                                              #{mod\ 3326}#)
-                                            #{r\ 3361}#
-                                            #{w\ 3360}#
-                                            #{mod\ 3326}#))))))))))
-                        #{tmp\ 3333}#)
-                      (let ((#{_\ 3367}# #{tmp\ 3332}#))
+                                          (map syntax->datum #{ids\ 3450}#)
+                                          #{new-vars\ 3455}#
+                                          (map (lambda (#{x\ 3460}#)
+                                                 (#{chi\ 460}#
+                                                   #{x\ 3460}#
+                                                   #{r\ 3459}#
+                                                   #{w\ 3458}#
+                                                   #{mod\ 3424}#))
+                                               #{val\ 3446}#)
+                                          (#{chi-body\ 468}#
+                                            (cons #{e1\ 3447}# #{e2\ 3448}#)
+                                            (#{source-wrap\ 446}#
+                                              #{e\ 3420}#
+                                              #{w\ 3458}#
+                                              #{s\ 3423}#
+                                              #{mod\ 3424}#)
+                                            #{r\ 3459}#
+                                            #{w\ 3458}#
+                                            #{mod\ 3424}#))))))))))
+                        #{tmp\ 3431}#)
+                      (let ((#{_\ 3465}# #{tmp\ 3430}#))
                         (syntax-violation
                           'letrec*
                           "bad letrec*"
-                          (#{source-wrap\ 451}#
-                            #{e\ 3322}#
-                            #{w\ 3324}#
-                            #{s\ 3325}#
-                            #{mod\ 3326}#))))))))
-            (#{global-extend\ 376}#
+                          (#{source-wrap\ 446}#
+                            #{e\ 3420}#
+                            #{w\ 3422}#
+                            #{s\ 3423}#
+                            #{mod\ 3424}#))))))))
+            (#{global-extend\ 374}#
               'core
               'set!
-              (lambda (#{e\ 3368}#
-                       #{r\ 3369}#
-                       #{w\ 3370}#
-                       #{s\ 3371}#
-                       #{mod\ 3372}#)
-                (let ((#{tmp\ 3378}# #{e\ 3368}#))
-                  (let ((#{tmp\ 3379}#
-                          ($sc-dispatch #{tmp\ 3378}# (quote (_ any any)))))
-                    (if (if #{tmp\ 3379}#
+              (lambda (#{e\ 3466}#
+                       #{r\ 3467}#
+                       #{w\ 3468}#
+                       #{s\ 3469}#
+                       #{mod\ 3470}#)
+                (let ((#{tmp\ 3476}# #{e\ 3466}#))
+                  (let ((#{tmp\ 3477}#
+                          ($sc-dispatch #{tmp\ 3476}# (quote (_ any any)))))
+                    (if (if #{tmp\ 3477}#
                           (@apply
-                            (lambda (#{id\ 3382}# #{val\ 3383}#)
-                              (#{id?\ 380}# #{id\ 3382}#))
-                            #{tmp\ 3379}#)
+                            (lambda (#{id\ 3480}# #{val\ 3481}#)
+                              (#{id?\ 378}# #{id\ 3480}#))
+                            #{tmp\ 3477}#)
                           #f)
                       (@apply
-                        (lambda (#{id\ 3386}# #{val\ 3387}#)
+                        (lambda (#{id\ 3484}# #{val\ 3485}#)
                           (begin
-                            (let ((#{n\ 3390}#
-                                    (#{id-var-name\ 437}#
-                                      #{id\ 3386}#
-                                      #{w\ 3370}#))
-                                  (#{id-mod\ 3391}#
-                                    (if (#{syntax-object?\ 344}# #{id\ 3386}#)
+                            (let ((#{n\ 3488}#
+                                    (#{id-var-name\ 432}#
+                                      #{id\ 3484}#
+                                      #{w\ 3468}#))
+                                  (#{id-mod\ 3489}#
+                                    (if (#{syntax-object?\ 344}# #{id\ 3484}#)
                                       (#{syntax-object-module\ 350}#
-                                        #{id\ 3386}#)
-                                      #{mod\ 3372}#)))
+                                        #{id\ 3484}#)
+                                      #{mod\ 3470}#)))
                               (begin
-                                (let ((#{b\ 3393}#
-                                        (#{lookup\ 374}#
-                                          #{n\ 3390}#
-                                          #{r\ 3369}#
-                                          #{id-mod\ 3391}#)))
+                                (let ((#{b\ 3491}#
+                                        (#{lookup\ 372}#
+                                          #{n\ 3488}#
+                                          #{r\ 3467}#
+                                          #{id-mod\ 3489}#)))
                                   (begin
-                                    (let ((#{atom-key\ 3396}#
-                                            (#{binding-type\ 363}#
-                                              #{b\ 3393}#)))
-                                      (if (eqv? #{atom-key\ 3396}#
+                                    (let ((#{atom-key\ 3494}#
+                                            (car #{b\ 3491}#)))
+                                      (if (eqv? #{atom-key\ 3494}#
                                                 'lexical)
                                         (#{build-lexical-assignment\ 312}#
-                                          #{s\ 3371}#
-                                          (syntax->datum #{id\ 3386}#)
-                                          (#{binding-value\ 365}# #{b\ 3393}#)
-                                          (#{chi\ 465}#
-                                            #{val\ 3387}#
-                                            #{r\ 3369}#
-                                            #{w\ 3370}#
-                                            #{mod\ 3372}#))
-                                        (if (eqv? #{atom-key\ 3396}#
+                                          #{s\ 3469}#
+                                          (syntax->datum #{id\ 3484}#)
+                                          (cdr #{b\ 3491}#)
+                                          (#{chi\ 460}#
+                                            #{val\ 3485}#
+                                            #{r\ 3467}#
+                                            #{w\ 3468}#
+                                            #{mod\ 3470}#))
+                                        (if (eqv? #{atom-key\ 3494}#
                                                   'global)
                                           (#{build-global-assignment\ 318}#
-                                            #{s\ 3371}#
-                                            #{n\ 3390}#
-                                            (#{chi\ 465}#
-                                              #{val\ 3387}#
-                                              #{r\ 3369}#
-                                              #{w\ 3370}#
-                                              #{mod\ 3372}#)
-                                            #{id-mod\ 3391}#)
-                                          (if (eqv? #{atom-key\ 3396}#
+                                            #{s\ 3469}#
+                                            #{n\ 3488}#
+                                            (#{chi\ 460}#
+                                              #{val\ 3485}#
+                                              #{r\ 3467}#
+                                              #{w\ 3468}#
+                                              #{mod\ 3470}#)
+                                            #{id-mod\ 3489}#)
+                                          (if (eqv? #{atom-key\ 3494}#
                                                     'macro)
                                             (begin
-                                              (let ((#{p\ 3401}#
-                                                      (#{binding-value\ 365}#
-                                                        #{b\ 3393}#)))
+                                              (let ((#{p\ 3501}#
+                                                      (cdr #{b\ 3491}#)))
                                                 (if (procedure-property
-                                                      #{p\ 3401}#
+                                                      #{p\ 3501}#
                                                       'variable-transformer)
-                                                  (#{chi\ 465}#
-                                                    (#{chi-macro\ 471}#
-                                                      #{p\ 3401}#
-                                                      #{e\ 3368}#
-                                                      #{r\ 3369}#
-                                                      #{w\ 3370}#
-                                                      #{s\ 3371}#
+                                                  (#{chi\ 460}#
+                                                    (#{chi-macro\ 466}#
+                                                      #{p\ 3501}#
+                                                      #{e\ 3466}#
+                                                      #{r\ 3467}#
+                                                      #{w\ 3468}#
+                                                      #{s\ 3469}#
                                                       #f
-                                                      #{mod\ 3372}#)
-                                                    #{r\ 3369}#
+                                                      #{mod\ 3470}#)
+                                                    #{r\ 3467}#
                                                     '(())
-                                                    #{mod\ 3372}#)
+                                                    #{mod\ 3470}#)
                                                   (syntax-violation
                                                     'set!
                                                     "not a variable 
transformer"
-                                                    (#{wrap\ 449}#
-                                                      #{e\ 3368}#
-                                                      #{w\ 3370}#
-                                                      #{mod\ 3372}#)
-                                                    (#{wrap\ 449}#
-                                                      #{id\ 3386}#
-                                                      #{w\ 3370}#
-                                                      #{id-mod\ 3391}#)))))
-                                            (if (eqv? #{atom-key\ 3396}#
+                                                    (#{wrap\ 444}#
+                                                      #{e\ 3466}#
+                                                      #{w\ 3468}#
+                                                      #{mod\ 3470}#)
+                                                    (#{wrap\ 444}#
+                                                      #{id\ 3484}#
+                                                      #{w\ 3468}#
+                                                      #{id-mod\ 3489}#)))))
+                                            (if (eqv? #{atom-key\ 3494}#
                                                       'displaced-lexical)
                                               (syntax-violation
                                                 'set!
                                                 "identifier out of context"
-                                                (#{wrap\ 449}#
-                                                  #{id\ 3386}#
-                                                  #{w\ 3370}#
-                                                  #{mod\ 3372}#))
+                                                (#{wrap\ 444}#
+                                                  #{id\ 3484}#
+                                                  #{w\ 3468}#
+                                                  #{mod\ 3470}#))
                                               (syntax-violation
                                                 'set!
                                                 "bad set!"
-                                                (#{source-wrap\ 451}#
-                                                  #{e\ 3368}#
-                                                  #{w\ 3370}#
-                                                  #{s\ 3371}#
-                                                  #{mod\ 3372}#)))))))))))))
-                        #{tmp\ 3379}#)
-                      (let ((#{tmp\ 3405}#
+                                                (#{source-wrap\ 446}#
+                                                  #{e\ 3466}#
+                                                  #{w\ 3468}#
+                                                  #{s\ 3469}#
+                                                  #{mod\ 3470}#)))))))))))))
+                        #{tmp\ 3477}#)
+                      (let ((#{tmp\ 3506}#
                               ($sc-dispatch
-                                #{tmp\ 3378}#
+                                #{tmp\ 3476}#
                                 '(_ (any . each-any) any))))
-                        (if #{tmp\ 3405}#
+                        (if #{tmp\ 3506}#
                           (@apply
-                            (lambda (#{head\ 3409}#
-                                     #{tail\ 3410}#
-                                     #{val\ 3411}#)
+                            (lambda (#{head\ 3510}#
+                                     #{tail\ 3511}#
+                                     #{val\ 3512}#)
                               (call-with-values
                                 (lambda ()
-                                  (#{syntax-type\ 461}#
-                                    #{head\ 3409}#
-                                    #{r\ 3369}#
+                                  (#{syntax-type\ 456}#
+                                    #{head\ 3510}#
+                                    #{r\ 3467}#
                                     '(())
                                     #f
                                     #f
-                                    #{mod\ 3372}#
+                                    #{mod\ 3470}#
                                     #t))
-                                (lambda (#{type\ 3414}#
-                                         #{value\ 3415}#
-                                         #{ee\ 3416}#
-                                         #{ww\ 3417}#
-                                         #{ss\ 3418}#
-                                         #{modmod\ 3419}#)
-                                  (if (eqv? #{type\ 3414}# (quote module-ref))
+                                (lambda (#{type\ 3515}#
+                                         #{value\ 3516}#
+                                         #{ee\ 3517}#
+                                         #{ww\ 3518}#
+                                         #{ss\ 3519}#
+                                         #{modmod\ 3520}#)
+                                  (if (eqv? #{type\ 3515}# (quote module-ref))
                                     (begin
-                                      (let ((#{val\ 3428}#
-                                              (#{chi\ 465}#
-                                                #{val\ 3411}#
-                                                #{r\ 3369}#
-                                                #{w\ 3370}#
-                                                #{mod\ 3372}#)))
+                                      (let ((#{val\ 3529}#
+                                              (#{chi\ 460}#
+                                                #{val\ 3512}#
+                                                #{r\ 3467}#
+                                                #{w\ 3468}#
+                                                #{mod\ 3470}#)))
                                         (call-with-values
                                           (lambda ()
-                                            (#{value\ 3415}#
-                                              (cons #{head\ 3409}#
-                                                    #{tail\ 3410}#)
-                                              #{r\ 3369}#
-                                              #{w\ 3370}#))
-                                          (lambda (#{e\ 3430}#
-                                                   #{r\ 3431}#
-                                                   #{w\ 3432}#
-                                                   #{s*\ 3433}#
-                                                   #{mod\ 3434}#)
-                                            (let ((#{tmp\ 3440}# #{e\ 3430}#))
-                                              (let ((#{tmp\ 3441}#
-                                                      (list #{tmp\ 3440}#)))
-                                                (if (if #{tmp\ 3441}#
+                                            (#{value\ 3516}#
+                                              (cons #{head\ 3510}#
+                                                    #{tail\ 3511}#)
+                                              #{r\ 3467}#
+                                              #{w\ 3468}#))
+                                          (lambda (#{e\ 3531}#
+                                                   #{r\ 3532}#
+                                                   #{w\ 3533}#
+                                                   #{s*\ 3534}#
+                                                   #{mod\ 3535}#)
+                                            (let ((#{tmp\ 3541}# #{e\ 3531}#))
+                                              (let ((#{tmp\ 3542}#
+                                                      (list #{tmp\ 3541}#)))
+                                                (if (if #{tmp\ 3542}#
                                                       (@apply
-                                                        (lambda (#{e\ 3443}#)
-                                                          (#{id?\ 380}#
-                                                            #{e\ 3443}#))
-                                                        #{tmp\ 3441}#)
+                                                        (lambda (#{e\ 3544}#)
+                                                          (#{id?\ 378}#
+                                                            #{e\ 3544}#))
+                                                        #{tmp\ 3542}#)
                                                       #f)
                                                   (@apply
-                                                    (lambda (#{e\ 3445}#)
+                                                    (lambda (#{e\ 3546}#)
                                                       
(#{build-global-assignment\ 318}#
-                                                        #{s\ 3371}#
+                                                        #{s\ 3469}#
                                                         (syntax->datum
-                                                          #{e\ 3445}#)
-                                                        #{val\ 3428}#
-                                                        #{mod\ 3434}#))
-                                                    #{tmp\ 3441}#)
+                                                          #{e\ 3546}#)
+                                                        #{val\ 3529}#
+                                                        #{mod\ 3535}#))
+                                                    #{tmp\ 3542}#)
                                                   (syntax-violation
                                                     #f
                                                     "source expression failed 
to match any pattern"
-                                                    #{tmp\ 3440}#))))))))
+                                                    #{tmp\ 3541}#))))))))
                                     (#{build-application\ 304}#
-                                      #{s\ 3371}#
-                                      (#{chi\ 465}#
+                                      #{s\ 3469}#
+                                      (#{chi\ 460}#
                                         (list '#(syntax-object
                                                  setter
                                                  ((top)
@@ -10281,16 +10250,16 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                    #("i3420"
-                                                      "i3421"
-                                                      "i3422"
-                                                      "i3423"
-                                                      "i3424"
-                                                      "i3425"))
+                                                    #("i3521"
+                                                      "i3522"
+                                                      "i3523"
+                                                      "i3524"
+                                                      "i3525"
+                                                      "i3526"))
                                                   #(ribcage
                                                     #(head tail val)
                                                     #((top) (top) (top))
-                                                    #("i3406" "i3407" "i3408"))
+                                                    #("i3507" "i3508" "i3509"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(e r w s mod)
@@ -10299,11 +10268,11 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                    #("i3373"
-                                                      "i3374"
-                                                      "i3375"
-                                                      "i3376"
-                                                      "i3377"))
+                                                    #("i3471"
+                                                      "i3472"
+                                                      "i3473"
+                                                      "i3474"
+                                                      "i3475"))
                                                   #(ribcage
                                                     (lambda-var-list
                                                       gen-var
@@ -10579,69 +10548,68 @@
                                                      (top)
                                                      (top)
                                                      (top))
-                                                    ("i494"
-                                                     "i492"
-                                                     "i490"
-                                                     "i488"
-                                                     "i486"
-                                                     "i484"
-                                                     "i482"
-                                                     "i480"
-                                                     "i478"
-                                                     "i476"
-                                                     "i474"
-                                                     "i472"
-                                                     "i470"
-                                                     "i468"
-                                                     "i466"
-                                                     "i464"
-                                                     "i462"
-                                                     "i460"
-                                                     "i458"
-                                                     "i456"
-                                                     "i454"
-                                                     "i452"
-                                                     "i450"
-                                                     "i448"
-                                                     "i446"
-                                                     "i444"
-                                                     "i442"
-                                                     "i440"
-                                                     "i438"
-                                                     "i436"
-                                                     "i434"
-                                                     "i432"
-                                                     "i430"
-                                                     "i428"
-                                                     "i426"
-                                                     "i424"
+                                                    ("i489"
+                                                     "i487"
+                                                     "i485"
+                                                     "i483"
+                                                     "i481"
+                                                     "i479"
+                                                     "i477"
+                                                     "i475"
+                                                     "i473"
+                                                     "i471"
+                                                     "i469"
+                                                     "i467"
+                                                     "i465"
+                                                     "i463"
+                                                     "i461"
+                                                     "i459"
+                                                     "i457"
+                                                     "i455"
+                                                     "i453"
+                                                     "i451"
+                                                     "i449"
+                                                     "i447"
+                                                     "i445"
+                                                     "i443"
+                                                     "i441"
+                                                     "i439"
+                                                     "i437"
+                                                     "i435"
+                                                     "i433"
+                                                     "i431"
+                                                     "i429"
+                                                     "i427"
+                                                     "i425"
                                                      "i423"
-                                                     "i422"
-                                                     "i420"
+                                                     "i421"
                                                      "i419"
                                                      "i418"
                                                      "i417"
-                                                     "i416"
+                                                     "i415"
                                                      "i414"
+                                                     "i413"
                                                      "i412"
-                                                     "i410"
-                                                     "i408"
-                                                     "i406"
-                                                     "i404"
-                                                     "i402"
-                                                     "i400"
+                                                     "i411"
+                                                     "i409"
+                                                     "i407"
+                                                     "i405"
+                                                     "i403"
+                                                     "i401"
+                                                     "i399"
                                                      "i397"
                                                      "i395"
-                                                     "i394"
-                                                     "i393"
                                                      "i392"
-                                                     "i391"
                                                      "i390"
+                                                     "i389"
                                                      "i388"
+                                                     "i387"
                                                      "i386"
+                                                     "i385"
                                                      "i384"
+                                                     "i383"
                                                      "i382"
-                                                     "i381"
+                                                     "i380"
                                                      "i379"
                                                      "i377"
                                                      "i375"
@@ -10649,8 +10617,9 @@
                                                      "i371"
                                                      "i369"
                                                      "i367"
-                                                     "i366"
+                                                     "i365"
                                                      "i364"
+                                                     "i363"
                                                      "i362"
                                                      "i361"
                                                      "i360"
@@ -10724,52 +10693,52 @@
                                                     ((top) (top) (top) (top))
                                                     ("i39" "i38" "i37" "i35")))
                                                  (hygiene guile))
-                                              #{head\ 3409}#)
-                                        #{r\ 3369}#
-                                        #{w\ 3370}#
-                                        #{mod\ 3372}#)
-                                      (map (lambda (#{e\ 3447}#)
-                                             (#{chi\ 465}#
-                                               #{e\ 3447}#
-                                               #{r\ 3369}#
-                                               #{w\ 3370}#
-                                               #{mod\ 3372}#))
+                                              #{head\ 3510}#)
+                                        #{r\ 3467}#
+                                        #{w\ 3468}#
+                                        #{mod\ 3470}#)
+                                      (map (lambda (#{e\ 3548}#)
+                                             (#{chi\ 460}#
+                                               #{e\ 3548}#
+                                               #{r\ 3467}#
+                                               #{w\ 3468}#
+                                               #{mod\ 3470}#))
                                            (append
-                                             #{tail\ 3410}#
-                                             (list #{val\ 3411}#))))))))
-                            #{tmp\ 3405}#)
-                          (let ((#{_\ 3451}# #{tmp\ 3378}#))
+                                             #{tail\ 3511}#
+                                             (list #{val\ 3512}#))))))))
+                            #{tmp\ 3506}#)
+                          (let ((#{_\ 3552}# #{tmp\ 3476}#))
                             (syntax-violation
                               'set!
                               "bad set!"
-                              (#{source-wrap\ 451}#
-                                #{e\ 3368}#
-                                #{w\ 3370}#
-                                #{s\ 3371}#
-                                #{mod\ 3372}#))))))))))
-            (#{global-extend\ 376}#
+                              (#{source-wrap\ 446}#
+                                #{e\ 3466}#
+                                #{w\ 3468}#
+                                #{s\ 3469}#
+                                #{mod\ 3470}#))))))))))
+            (#{global-extend\ 374}#
               'module-ref
               '@
-              (lambda (#{e\ 3452}# #{r\ 3453}# #{w\ 3454}#)
-                (let ((#{tmp\ 3458}# #{e\ 3452}#))
-                  (let ((#{tmp\ 3459}#
+              (lambda (#{e\ 3553}# #{r\ 3554}# #{w\ 3555}#)
+                (let ((#{tmp\ 3559}# #{e\ 3553}#))
+                  (let ((#{tmp\ 3560}#
                           ($sc-dispatch
-                            #{tmp\ 3458}#
+                            #{tmp\ 3559}#
                             '(_ each-any any))))
-                    (if (if #{tmp\ 3459}#
+                    (if (if #{tmp\ 3560}#
                           (@apply
-                            (lambda (#{mod\ 3462}# #{id\ 3463}#)
-                              (if (and-map #{id?\ 380}# #{mod\ 3462}#)
-                                (#{id?\ 380}# #{id\ 3463}#)
+                            (lambda (#{mod\ 3563}# #{id\ 3564}#)
+                              (if (and-map #{id?\ 378}# #{mod\ 3563}#)
+                                (#{id?\ 378}# #{id\ 3564}#)
                                 #f))
-                            #{tmp\ 3459}#)
+                            #{tmp\ 3560}#)
                           #f)
                       (@apply
-                        (lambda (#{mod\ 3469}# #{id\ 3470}#)
+                        (lambda (#{mod\ 3570}# #{id\ 3571}#)
                           (values
-                            (syntax->datum #{id\ 3470}#)
-                            #{r\ 3453}#
-                            #{w\ 3454}#
+                            (syntax->datum #{id\ 3571}#)
+                            #{r\ 3554}#
+                            #{w\ 3555}#
                             #f
                             (syntax->datum
                               (cons '#(syntax-object
@@ -10778,12 +10747,12 @@
                                         #(ribcage
                                           #(mod id)
                                           #((top) (top))
-                                          #("i3467" "i3468"))
+                                          #("i3568" "i3569"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(e r w)
                                           #((top) (top) (top))
-                                          #("i3455" "i3456" "i3457"))
+                                          #("i3556" "i3557" "i3558"))
                                         #(ribcage
                                           (lambda-var-list
                                             gen-var
@@ -11059,69 +11028,68 @@
                                            (top)
                                            (top)
                                            (top))
-                                          ("i494"
-                                           "i492"
-                                           "i490"
-                                           "i488"
-                                           "i486"
-                                           "i484"
-                                           "i482"
-                                           "i480"
-                                           "i478"
-                                           "i476"
-                                           "i474"
-                                           "i472"
-                                           "i470"
-                                           "i468"
-                                           "i466"
-                                           "i464"
-                                           "i462"
-                                           "i460"
-                                           "i458"
-                                           "i456"
-                                           "i454"
-                                           "i452"
-                                           "i450"
-                                           "i448"
-                                           "i446"
-                                           "i444"
-                                           "i442"
-                                           "i440"
-                                           "i438"
-                                           "i436"
-                                           "i434"
-                                           "i432"
-                                           "i430"
-                                           "i428"
-                                           "i426"
-                                           "i424"
+                                          ("i489"
+                                           "i487"
+                                           "i485"
+                                           "i483"
+                                           "i481"
+                                           "i479"
+                                           "i477"
+                                           "i475"
+                                           "i473"
+                                           "i471"
+                                           "i469"
+                                           "i467"
+                                           "i465"
+                                           "i463"
+                                           "i461"
+                                           "i459"
+                                           "i457"
+                                           "i455"
+                                           "i453"
+                                           "i451"
+                                           "i449"
+                                           "i447"
+                                           "i445"
+                                           "i443"
+                                           "i441"
+                                           "i439"
+                                           "i437"
+                                           "i435"
+                                           "i433"
+                                           "i431"
+                                           "i429"
+                                           "i427"
+                                           "i425"
                                            "i423"
-                                           "i422"
-                                           "i420"
+                                           "i421"
                                            "i419"
                                            "i418"
                                            "i417"
-                                           "i416"
+                                           "i415"
                                            "i414"
+                                           "i413"
                                            "i412"
-                                           "i410"
-                                           "i408"
-                                           "i406"
-                                           "i404"
-                                           "i402"
-                                           "i400"
+                                           "i411"
+                                           "i409"
+                                           "i407"
+                                           "i405"
+                                           "i403"
+                                           "i401"
+                                           "i399"
                                            "i397"
                                            "i395"
-                                           "i394"
-                                           "i393"
                                            "i392"
-                                           "i391"
                                            "i390"
+                                           "i389"
                                            "i388"
+                                           "i387"
                                            "i386"
+                                           "i385"
                                            "i384"
+                                           "i383"
                                            "i382"
-                                           "i381"
+                                           "i380"
                                            "i379"
                                            "i377"
                                            "i375"
@@ -11129,8 +11097,9 @@
                                            "i371"
                                            "i369"
                                            "i367"
-                                           "i366"
+                                           "i365"
                                            "i364"
+                                           "i363"
                                            "i362"
                                            "i361"
                                            "i360"
@@ -11204,77 +11173,77 @@
                                           ((top) (top) (top) (top))
                                           ("i39" "i38" "i37" "i35")))
                                        (hygiene guile))
-                                    #{mod\ 3469}#))))
-                        #{tmp\ 3459}#)
+                                    #{mod\ 3570}#))))
+                        #{tmp\ 3560}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp\ 3458}#))))))
-            (#{global-extend\ 376}#
+                        #{tmp\ 3559}#))))))
+            (#{global-extend\ 374}#
               'module-ref
               '@@
-              (lambda (#{e\ 3472}# #{r\ 3473}# #{w\ 3474}#)
+              (lambda (#{e\ 3573}# #{r\ 3574}# #{w\ 3575}#)
                 (letrec*
-                  ((#{remodulate\ 3479}#
-                     (lambda (#{x\ 3480}# #{mod\ 3481}#)
-                       (if (pair? #{x\ 3480}#)
-                         (cons (#{remodulate\ 3479}#
-                                 (car #{x\ 3480}#)
-                                 #{mod\ 3481}#)
-                               (#{remodulate\ 3479}#
-                                 (cdr #{x\ 3480}#)
-                                 #{mod\ 3481}#))
-                         (if (#{syntax-object?\ 344}# #{x\ 3480}#)
+                  ((#{remodulate\ 3580}#
+                     (lambda (#{x\ 3581}# #{mod\ 3582}#)
+                       (if (pair? #{x\ 3581}#)
+                         (cons (#{remodulate\ 3580}#
+                                 (car #{x\ 3581}#)
+                                 #{mod\ 3582}#)
+                               (#{remodulate\ 3580}#
+                                 (cdr #{x\ 3581}#)
+                                 #{mod\ 3582}#))
+                         (if (#{syntax-object?\ 344}# #{x\ 3581}#)
                            (#{make-syntax-object\ 342}#
-                             (#{remodulate\ 3479}#
-                               (#{syntax-object-expression\ 346}# #{x\ 3480}#)
-                               #{mod\ 3481}#)
-                             (#{syntax-object-wrap\ 348}# #{x\ 3480}#)
-                             #{mod\ 3481}#)
-                           (if (vector? #{x\ 3480}#)
+                             (#{remodulate\ 3580}#
+                               (#{syntax-object-expression\ 346}# #{x\ 3581}#)
+                               #{mod\ 3582}#)
+                             (#{syntax-object-wrap\ 348}# #{x\ 3581}#)
+                             #{mod\ 3582}#)
+                           (if (vector? #{x\ 3581}#)
                              (begin
-                               (let ((#{n\ 3492}# (vector-length #{x\ 3480}#)))
+                               (let ((#{n\ 3593}# (vector-length #{x\ 3581}#)))
                                  (begin
-                                   (let ((#{v\ 3494}#
-                                           (make-vector #{n\ 3492}#)))
+                                   (let ((#{v\ 3595}#
+                                           (make-vector #{n\ 3593}#)))
                                      (letrec*
-                                       ((#{loop\ 3497}#
-                                          (lambda (#{i\ 3498}#)
+                                       ((#{loop\ 3598}#
+                                          (lambda (#{i\ 3599}#)
                                             (if (#{fx=\ 285}#
-                                                  #{i\ 3498}#
-                                                  #{n\ 3492}#)
-                                              (begin (if #f #f) #{v\ 3494}#)
+                                                  #{i\ 3599}#
+                                                  #{n\ 3593}#)
+                                              (begin (if #f #f) #{v\ 3595}#)
                                               (begin
                                                 (vector-set!
-                                                  #{v\ 3494}#
-                                                  #{i\ 3498}#
-                                                  (#{remodulate\ 3479}#
+                                                  #{v\ 3595}#
+                                                  #{i\ 3599}#
+                                                  (#{remodulate\ 3580}#
                                                     (vector-ref
-                                                      #{x\ 3480}#
-                                                      #{i\ 3498}#)
-                                                    #{mod\ 3481}#))
-                                                (#{loop\ 3497}#
+                                                      #{x\ 3581}#
+                                                      #{i\ 3599}#)
+                                                    #{mod\ 3582}#))
+                                                (#{loop\ 3598}#
                                                   (#{fx+\ 281}#
-                                                    #{i\ 3498}#
+                                                    #{i\ 3599}#
                                                     1)))))))
-                                       (begin (#{loop\ 3497}# 0)))))))
-                             #{x\ 3480}#))))))
+                                       (begin (#{loop\ 3598}# 0)))))))
+                             #{x\ 3581}#))))))
                   (begin
-                    (let ((#{tmp\ 3502}# #{e\ 3472}#))
-                      (let ((#{tmp\ 3503}#
+                    (let ((#{tmp\ 3603}# #{e\ 3573}#))
+                      (let ((#{tmp\ 3604}#
                               ($sc-dispatch
-                                #{tmp\ 3502}#
+                                #{tmp\ 3603}#
                                 '(_ each-any any))))
-                        (if (if #{tmp\ 3503}#
+                        (if (if #{tmp\ 3604}#
                               (@apply
-                                (lambda (#{mod\ 3506}# #{exp\ 3507}#)
-                                  (and-map #{id?\ 380}# #{mod\ 3506}#))
-                                #{tmp\ 3503}#)
+                                (lambda (#{mod\ 3607}# #{exp\ 3608}#)
+                                  (and-map #{id?\ 378}# #{mod\ 3607}#))
+                                #{tmp\ 3604}#)
                               #f)
                           (@apply
-                            (lambda (#{mod\ 3511}# #{exp\ 3512}#)
+                            (lambda (#{mod\ 3612}# #{exp\ 3613}#)
                               (begin
-                                (let ((#{mod\ 3514}#
+                                (let ((#{mod\ 3615}#
                                         (syntax->datum
                                           (cons '#(syntax-object
                                                    private
@@ -11282,17 +11251,17 @@
                                                     #(ribcage
                                                       #(mod exp)
                                                       #((top) (top))
-                                                      #("i3509" "i3510"))
+                                                      #("i3610" "i3611"))
                                                     #(ribcage
                                                       (remodulate)
                                                       ((top))
-                                                      ("i3478"))
+                                                      ("i3579"))
                                                     #(ribcage
                                                       #(e r w)
                                                       #((top) (top) (top))
-                                                      #("i3475"
-                                                        "i3476"
-                                                        "i3477"))
+                                                      #("i3576"
+                                                        "i3577"
+                                                        "i3578"))
                                                     #(ribcage
                                                       (lambda-var-list
                                                         gen-var
@@ -11568,69 +11537,68 @@
                                                        (top)
                                                        (top)
                                                        (top))
-                                                      ("i494"
-                                                       "i492"
-                                                       "i490"
-                                                       "i488"
-                                                       "i486"
-                                                       "i484"
-                                                       "i482"
-                                                       "i480"
-                                                       "i478"
-                                                       "i476"
-                                                       "i474"
-                                                       "i472"
-                                                       "i470"
-                                                       "i468"
-                                                       "i466"
-                                                       "i464"
-                                                       "i462"
-                                                       "i460"
-                                                       "i458"
-                                                       "i456"
-                                                       "i454"
-                                                       "i452"
-                                                       "i450"
-                                                       "i448"
-                                                       "i446"
-                                                       "i444"
-                                                       "i442"
-                                                       "i440"
-                                                       "i438"
-                                                       "i436"
-                                                       "i434"
-                                                       "i432"
-                                                       "i430"
-                                                       "i428"
-                                                       "i426"
-                                                       "i424"
+                                                      ("i489"
+                                                       "i487"
+                                                       "i485"
+                                                       "i483"
+                                                       "i481"
+                                                       "i479"
+                                                       "i477"
+                                                       "i475"
+                                                       "i473"
+                                                       "i471"
+                                                       "i469"
+                                                       "i467"
+                                                       "i465"
+                                                       "i463"
+                                                       "i461"
+                                                       "i459"
+                                                       "i457"
+                                                       "i455"
+                                                       "i453"
+                                                       "i451"
+                                                       "i449"
+                                                       "i447"
+                                                       "i445"
+                                                       "i443"
+                                                       "i441"
+                                                       "i439"
+                                                       "i437"
+                                                       "i435"
+                                                       "i433"
+                                                       "i431"
+                                                       "i429"
+                                                       "i427"
+                                                       "i425"
                                                        "i423"
-                                                       "i422"
-                                                       "i420"
+                                                       "i421"
                                                        "i419"
                                                        "i418"
                                                        "i417"
-                                                       "i416"
+                                                       "i415"
                                                        "i414"
+                                                       "i413"
                                                        "i412"
-                                                       "i410"
-                                                       "i408"
-                                                       "i406"
-                                                       "i404"
-                                                       "i402"
-                                                       "i400"
+                                                       "i411"
+                                                       "i409"
+                                                       "i407"
+                                                       "i405"
+                                                       "i403"
+                                                       "i401"
+                                                       "i399"
                                                        "i397"
                                                        "i395"
-                                                       "i394"
-                                                       "i393"
                                                        "i392"
-                                                       "i391"
                                                        "i390"
+                                                       "i389"
                                                        "i388"
+                                                       "i387"
                                                        "i386"
+                                                       "i385"
                                                        "i384"
+                                                       "i383"
                                                        "i382"
-                                                       "i381"
+                                                       "i380"
                                                        "i379"
                                                        "i377"
                                                        "i375"
@@ -11638,8 +11606,9 @@
                                                        "i371"
                                                        "i369"
                                                        "i367"
-                                                       "i366"
+                                                       "i365"
                                                        "i364"
+                                                       "i363"
                                                        "i362"
                                                        "i361"
                                                        "i360"
@@ -11716,184 +11685,184 @@
                                                        "i37"
                                                        "i35")))
                                                    (hygiene guile))
-                                                #{mod\ 3511}#))))
+                                                #{mod\ 3612}#))))
                                   (values
-                                    (#{remodulate\ 3479}#
-                                      #{exp\ 3512}#
-                                      #{mod\ 3514}#)
-                                    #{r\ 3473}#
-                                    #{w\ 3474}#
-                                    (#{source-annotation\ 359}# #{exp\ 3512}#)
-                                    #{mod\ 3514}#))))
-                            #{tmp\ 3503}#)
+                                    (#{remodulate\ 3580}#
+                                      #{exp\ 3613}#
+                                      #{mod\ 3615}#)
+                                    #{r\ 3574}#
+                                    #{w\ 3575}#
+                                    (#{source-annotation\ 359}# #{exp\ 3613}#)
+                                    #{mod\ 3615}#))))
+                            #{tmp\ 3604}#)
                           (syntax-violation
                             #f
                             "source expression failed to match any pattern"
-                            #{tmp\ 3502}#))))))))
-            (#{global-extend\ 376}#
+                            #{tmp\ 3603}#))))))))
+            (#{global-extend\ 374}#
               'core
               'if
-              (lambda (#{e\ 3516}#
-                       #{r\ 3517}#
-                       #{w\ 3518}#
-                       #{s\ 3519}#
-                       #{mod\ 3520}#)
-                (let ((#{tmp\ 3526}# #{e\ 3516}#))
-                  (let ((#{tmp\ 3527}#
-                          ($sc-dispatch #{tmp\ 3526}# (quote (_ any any)))))
-                    (if #{tmp\ 3527}#
+              (lambda (#{e\ 3617}#
+                       #{r\ 3618}#
+                       #{w\ 3619}#
+                       #{s\ 3620}#
+                       #{mod\ 3621}#)
+                (let ((#{tmp\ 3627}# #{e\ 3617}#))
+                  (let ((#{tmp\ 3628}#
+                          ($sc-dispatch #{tmp\ 3627}# (quote (_ any any)))))
+                    (if #{tmp\ 3628}#
                       (@apply
-                        (lambda (#{test\ 3530}# #{then\ 3531}#)
+                        (lambda (#{test\ 3631}# #{then\ 3632}#)
                           (#{build-conditional\ 306}#
-                            #{s\ 3519}#
-                            (#{chi\ 465}#
-                              #{test\ 3530}#
-                              #{r\ 3517}#
-                              #{w\ 3518}#
-                              #{mod\ 3520}#)
-                            (#{chi\ 465}#
-                              #{then\ 3531}#
-                              #{r\ 3517}#
-                              #{w\ 3518}#
-                              #{mod\ 3520}#)
+                            #{s\ 3620}#
+                            (#{chi\ 460}#
+                              #{test\ 3631}#
+                              #{r\ 3618}#
+                              #{w\ 3619}#
+                              #{mod\ 3621}#)
+                            (#{chi\ 460}#
+                              #{then\ 3632}#
+                              #{r\ 3618}#
+                              #{w\ 3619}#
+                              #{mod\ 3621}#)
                             (#{build-void\ 302}# #f)))
-                        #{tmp\ 3527}#)
-                      (let ((#{tmp\ 3533}#
+                        #{tmp\ 3628}#)
+                      (let ((#{tmp\ 3634}#
                               ($sc-dispatch
-                                #{tmp\ 3526}#
+                                #{tmp\ 3627}#
                                 '(_ any any any))))
-                        (if #{tmp\ 3533}#
+                        (if #{tmp\ 3634}#
                           (@apply
-                            (lambda (#{test\ 3537}#
-                                     #{then\ 3538}#
-                                     #{else\ 3539}#)
+                            (lambda (#{test\ 3638}#
+                                     #{then\ 3639}#
+                                     #{else\ 3640}#)
                               (#{build-conditional\ 306}#
-                                #{s\ 3519}#
-                                (#{chi\ 465}#
-                                  #{test\ 3537}#
-                                  #{r\ 3517}#
-                                  #{w\ 3518}#
-                                  #{mod\ 3520}#)
-                                (#{chi\ 465}#
-                                  #{then\ 3538}#
-                                  #{r\ 3517}#
-                                  #{w\ 3518}#
-                                  #{mod\ 3520}#)
-                                (#{chi\ 465}#
-                                  #{else\ 3539}#
-                                  #{r\ 3517}#
-                                  #{w\ 3518}#
-                                  #{mod\ 3520}#)))
-                            #{tmp\ 3533}#)
+                                #{s\ 3620}#
+                                (#{chi\ 460}#
+                                  #{test\ 3638}#
+                                  #{r\ 3618}#
+                                  #{w\ 3619}#
+                                  #{mod\ 3621}#)
+                                (#{chi\ 460}#
+                                  #{then\ 3639}#
+                                  #{r\ 3618}#
+                                  #{w\ 3619}#
+                                  #{mod\ 3621}#)
+                                (#{chi\ 460}#
+                                  #{else\ 3640}#
+                                  #{r\ 3618}#
+                                  #{w\ 3619}#
+                                  #{mod\ 3621}#)))
+                            #{tmp\ 3634}#)
                           (syntax-violation
                             #f
                             "source expression failed to match any pattern"
-                            #{tmp\ 3526}#))))))))
-            (#{global-extend\ 376}#
+                            #{tmp\ 3627}#))))))))
+            (#{global-extend\ 374}#
               'core
               'with-fluids
-              (lambda (#{e\ 3540}#
-                       #{r\ 3541}#
-                       #{w\ 3542}#
-                       #{s\ 3543}#
-                       #{mod\ 3544}#)
-                (let ((#{tmp\ 3550}# #{e\ 3540}#))
-                  (let ((#{tmp\ 3551}#
+              (lambda (#{e\ 3641}#
+                       #{r\ 3642}#
+                       #{w\ 3643}#
+                       #{s\ 3644}#
+                       #{mod\ 3645}#)
+                (let ((#{tmp\ 3651}# #{e\ 3641}#))
+                  (let ((#{tmp\ 3652}#
                           ($sc-dispatch
-                            #{tmp\ 3550}#
+                            #{tmp\ 3651}#
                             '(_ #(each (any any)) any . each-any))))
-                    (if #{tmp\ 3551}#
+                    (if #{tmp\ 3652}#
                       (@apply
-                        (lambda (#{fluid\ 3556}#
-                                 #{val\ 3557}#
-                                 #{b\ 3558}#
-                                 #{b*\ 3559}#)
+                        (lambda (#{fluid\ 3657}#
+                                 #{val\ 3658}#
+                                 #{b\ 3659}#
+                                 #{b*\ 3660}#)
                           (#{build-dynlet\ 308}#
-                            #{s\ 3543}#
-                            (map (lambda (#{x\ 3560}#)
-                                   (#{chi\ 465}#
-                                     #{x\ 3560}#
-                                     #{r\ 3541}#
-                                     #{w\ 3542}#
-                                     #{mod\ 3544}#))
-                                 #{fluid\ 3556}#)
-                            (map (lambda (#{x\ 3563}#)
-                                   (#{chi\ 465}#
-                                     #{x\ 3563}#
-                                     #{r\ 3541}#
-                                     #{w\ 3542}#
-                                     #{mod\ 3544}#))
-                                 #{val\ 3557}#)
-                            (#{chi-body\ 473}#
-                              (cons #{b\ 3558}# #{b*\ 3559}#)
-                              (#{source-wrap\ 451}#
-                                #{e\ 3540}#
-                                #{w\ 3542}#
-                                #{s\ 3543}#
-                                #{mod\ 3544}#)
-                              #{r\ 3541}#
-                              #{w\ 3542}#
-                              #{mod\ 3544}#)))
-                        #{tmp\ 3551}#)
+                            #{s\ 3644}#
+                            (map (lambda (#{x\ 3661}#)
+                                   (#{chi\ 460}#
+                                     #{x\ 3661}#
+                                     #{r\ 3642}#
+                                     #{w\ 3643}#
+                                     #{mod\ 3645}#))
+                                 #{fluid\ 3657}#)
+                            (map (lambda (#{x\ 3664}#)
+                                   (#{chi\ 460}#
+                                     #{x\ 3664}#
+                                     #{r\ 3642}#
+                                     #{w\ 3643}#
+                                     #{mod\ 3645}#))
+                                 #{val\ 3658}#)
+                            (#{chi-body\ 468}#
+                              (cons #{b\ 3659}# #{b*\ 3660}#)
+                              (#{source-wrap\ 446}#
+                                #{e\ 3641}#
+                                #{w\ 3643}#
+                                #{s\ 3644}#
+                                #{mod\ 3645}#)
+                              #{r\ 3642}#
+                              #{w\ 3643}#
+                              #{mod\ 3645}#)))
+                        #{tmp\ 3652}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp\ 3550}#))))))
-            (#{global-extend\ 376}#
+                        #{tmp\ 3651}#))))))
+            (#{global-extend\ 374}#
               'begin
               'begin
               '())
-            (#{global-extend\ 376}#
+            (#{global-extend\ 374}#
               'define
               'define
               '())
-            (#{global-extend\ 376}#
+            (#{global-extend\ 374}#
               'define-syntax
               'define-syntax
               '())
-            (#{global-extend\ 376}#
+            (#{global-extend\ 374}#
               'eval-when
               'eval-when
               '())
-            (#{global-extend\ 376}#
+            (#{global-extend\ 374}#
               'core
               'syntax-case
               (letrec*
-                ((#{convert-pattern\ 3568}#
-                   (lambda (#{pattern\ 3575}# #{keys\ 3576}#)
+                ((#{convert-pattern\ 3669}#
+                   (lambda (#{pattern\ 3676}# #{keys\ 3677}#)
                      (letrec*
-                       ((#{cvt*\ 3580}#
-                          (lambda (#{p*\ 3583}# #{n\ 3584}# #{ids\ 3585}#)
-                            (if (null? #{p*\ 3583}#)
-                              (values (quote ()) #{ids\ 3585}#)
+                       ((#{cvt*\ 3681}#
+                          (lambda (#{p*\ 3684}# #{n\ 3685}# #{ids\ 3686}#)
+                            (if (null? #{p*\ 3684}#)
+                              (values (quote ()) #{ids\ 3686}#)
                               (call-with-values
                                 (lambda ()
-                                  (#{cvt*\ 3580}#
-                                    (cdr #{p*\ 3583}#)
-                                    #{n\ 3584}#
-                                    #{ids\ 3585}#))
-                                (lambda (#{y\ 3589}# #{ids\ 3590}#)
+                                  (#{cvt*\ 3681}#
+                                    (cdr #{p*\ 3684}#)
+                                    #{n\ 3685}#
+                                    #{ids\ 3686}#))
+                                (lambda (#{y\ 3690}# #{ids\ 3691}#)
                                   (call-with-values
                                     (lambda ()
-                                      (#{cvt\ 3582}#
-                                        (car #{p*\ 3583}#)
-                                        #{n\ 3584}#
-                                        #{ids\ 3590}#))
-                                    (lambda (#{x\ 3593}# #{ids\ 3594}#)
+                                      (#{cvt\ 3683}#
+                                        (car #{p*\ 3684}#)
+                                        #{n\ 3685}#
+                                        #{ids\ 3691}#))
+                                    (lambda (#{x\ 3694}# #{ids\ 3695}#)
                                       (values
-                                        (cons #{x\ 3593}# #{y\ 3589}#)
-                                        #{ids\ 3594}#))))))))
-                        (#{cvt\ 3582}#
-                          (lambda (#{p\ 3597}# #{n\ 3598}# #{ids\ 3599}#)
-                            (if (#{id?\ 380}# #{p\ 3597}#)
-                              (if (#{bound-id-member?\ 447}#
-                                    #{p\ 3597}#
-                                    #{keys\ 3576}#)
+                                        (cons #{x\ 3694}# #{y\ 3690}#)
+                                        #{ids\ 3695}#))))))))
+                        (#{cvt\ 3683}#
+                          (lambda (#{p\ 3698}# #{n\ 3699}# #{ids\ 3700}#)
+                            (if (#{id?\ 378}# #{p\ 3698}#)
+                              (if (#{bound-id-member?\ 442}#
+                                    #{p\ 3698}#
+                                    #{keys\ 3677}#)
                                 (values
-                                  (vector (quote free-id) #{p\ 3597}#)
-                                  #{ids\ 3599}#)
-                                (if (#{free-id=?\ 439}#
-                                      #{p\ 3597}#
+                                  (vector (quote free-id) #{p\ 3698}#)
+                                  #{ids\ 3700}#)
+                                (if (#{free-id=?\ 434}#
+                                      #{p\ 3698}#
                                       '#(syntax-object
                                          _
                                          ((top)
@@ -11901,22 +11870,22 @@
                                           #(ribcage
                                             #(p n ids)
                                             #((top) (top) (top))
-                                            #("i3600" "i3601" "i3602"))
+                                            #("i3701" "i3702" "i3703"))
                                           #(ribcage
                                             (cvt cvt*)
                                             ((top) (top))
-                                            ("i3581" "i3579"))
+                                            ("i3682" "i3680"))
                                           #(ribcage
                                             #(pattern keys)
                                             #((top) (top))
-                                            #("i3577" "i3578"))
+                                            #("i3678" "i3679"))
                                           #(ribcage
                                             (gen-syntax-case
                                               gen-clause
                                               build-dispatch-call
                                               convert-pattern)
                                             ((top) (top) (top) (top))
-                                            ("i3573" "i3571" "i3569" "i3567"))
+                                            ("i3674" "i3672" "i3670" "i3668"))
                                           #(ribcage
                                             (lambda-var-list
                                               gen-var
@@ -12192,69 +12161,68 @@
                                              (top)
                                              (top)
                                              (top))
-                                            ("i494"
-                                             "i492"
-                                             "i490"
-                                             "i488"
-                                             "i486"
-                                             "i484"
-                                             "i482"
-                                             "i480"
-                                             "i478"
-                                             "i476"
-                                             "i474"
-                                             "i472"
-                                             "i470"
-                                             "i468"
-                                             "i466"
-                                             "i464"
-                                             "i462"
-                                             "i460"
-                                             "i458"
-                                             "i456"
-                                             "i454"
-                                             "i452"
-                                             "i450"
-                                             "i448"
-                                             "i446"
-                                             "i444"
-                                             "i442"
-                                             "i440"
-                                             "i438"
-                                             "i436"
-                                             "i434"
-                                             "i432"
-                                             "i430"
-                                             "i428"
-                                             "i426"
-                                             "i424"
+                                            ("i489"
+                                             "i487"
+                                             "i485"
+                                             "i483"
+                                             "i481"
+                                             "i479"
+                                             "i477"
+                                             "i475"
+                                             "i473"
+                                             "i471"
+                                             "i469"
+                                             "i467"
+                                             "i465"
+                                             "i463"
+                                             "i461"
+                                             "i459"
+                                             "i457"
+                                             "i455"
+                                             "i453"
+                                             "i451"
+                                             "i449"
+                                             "i447"
+                                             "i445"
+                                             "i443"
+                                             "i441"
+                                             "i439"
+                                             "i437"
+                                             "i435"
+                                             "i433"
+                                             "i431"
+                                             "i429"
+                                             "i427"
+                                             "i425"
                                              "i423"
-                                             "i422"
-                                             "i420"
+                                             "i421"
                                              "i419"
                                              "i418"
                                              "i417"
-                                             "i416"
+                                             "i415"
                                              "i414"
+                                             "i413"
                                              "i412"
-                                             "i410"
-                                             "i408"
-                                             "i406"
-                                             "i404"
-                                             "i402"
-                                             "i400"
+                                             "i411"
+                                             "i409"
+                                             "i407"
+                                             "i405"
+                                             "i403"
+                                             "i401"
+                                             "i399"
                                              "i397"
                                              "i395"
-                                             "i394"
-                                             "i393"
                                              "i392"
-                                             "i391"
                                              "i390"
+                                             "i389"
                                              "i388"
+                                             "i387"
                                              "i386"
+                                             "i385"
                                              "i384"
+                                             "i383"
                                              "i382"
-                                             "i381"
+                                             "i380"
                                              "i379"
                                              "i377"
                                              "i375"
@@ -12262,8 +12230,9 @@
                                              "i371"
                                              "i369"
                                              "i367"
-                                             "i366"
+                                             "i365"
                                              "i364"
+                                             "i363"
                                              "i362"
                                              "i361"
                                              "i360"
@@ -12337,304 +12306,304 @@
                                             ((top) (top) (top) (top))
                                             ("i39" "i38" "i37" "i35")))
                                          (hygiene guile)))
-                                  (values (quote _) #{ids\ 3599}#)
+                                  (values (quote _) #{ids\ 3700}#)
                                   (values
                                     'any
-                                    (cons (cons #{p\ 3597}# #{n\ 3598}#)
-                                          #{ids\ 3599}#))))
-                              (let ((#{tmp\ 3608}# #{p\ 3597}#))
-                                (let ((#{tmp\ 3609}#
+                                    (cons (cons #{p\ 3698}# #{n\ 3699}#)
+                                          #{ids\ 3700}#))))
+                              (let ((#{tmp\ 3709}# #{p\ 3698}#))
+                                (let ((#{tmp\ 3710}#
                                         ($sc-dispatch
-                                          #{tmp\ 3608}#
+                                          #{tmp\ 3709}#
                                           '(any any))))
-                                  (if (if #{tmp\ 3609}#
+                                  (if (if #{tmp\ 3710}#
                                         (@apply
-                                          (lambda (#{x\ 3612}# #{dots\ 3613}#)
-                                            (#{ellipsis?\ 481}#
-                                              #{dots\ 3613}#))
-                                          #{tmp\ 3609}#)
+                                          (lambda (#{x\ 3713}# #{dots\ 3714}#)
+                                            (#{ellipsis?\ 476}#
+                                              #{dots\ 3714}#))
+                                          #{tmp\ 3710}#)
                                         #f)
                                     (@apply
-                                      (lambda (#{x\ 3616}# #{dots\ 3617}#)
+                                      (lambda (#{x\ 3717}# #{dots\ 3718}#)
                                         (call-with-values
                                           (lambda ()
-                                            (#{cvt\ 3582}#
-                                              #{x\ 3616}#
-                                              (#{fx+\ 281}# #{n\ 3598}# 1)
-                                              #{ids\ 3599}#))
-                                          (lambda (#{p\ 3618}# #{ids\ 3619}#)
+                                            (#{cvt\ 3683}#
+                                              #{x\ 3717}#
+                                              (#{fx+\ 281}# #{n\ 3699}# 1)
+                                              #{ids\ 3700}#))
+                                          (lambda (#{p\ 3719}# #{ids\ 3720}#)
                                             (values
-                                              (if (eq? #{p\ 3618}# (quote any))
+                                              (if (eq? #{p\ 3719}# (quote any))
                                                 'each-any
                                                 (vector
                                                   'each
-                                                  #{p\ 3618}#))
-                                              #{ids\ 3619}#))))
-                                      #{tmp\ 3609}#)
-                                    (let ((#{tmp\ 3622}#
+                                                  #{p\ 3719}#))
+                                              #{ids\ 3720}#))))
+                                      #{tmp\ 3710}#)
+                                    (let ((#{tmp\ 3723}#
                                             ($sc-dispatch
-                                              #{tmp\ 3608}#
+                                              #{tmp\ 3709}#
                                               '(any any . each-any))))
-                                      (if (if #{tmp\ 3622}#
+                                      (if (if #{tmp\ 3723}#
                                             (@apply
-                                              (lambda (#{x\ 3626}#
-                                                       #{dots\ 3627}#
-                                                       #{ys\ 3628}#)
-                                                (#{ellipsis?\ 481}#
-                                                  #{dots\ 3627}#))
-                                              #{tmp\ 3622}#)
+                                              (lambda (#{x\ 3727}#
+                                                       #{dots\ 3728}#
+                                                       #{ys\ 3729}#)
+                                                (#{ellipsis?\ 476}#
+                                                  #{dots\ 3728}#))
+                                              #{tmp\ 3723}#)
                                             #f)
                                         (@apply
-                                          (lambda (#{x\ 3632}#
-                                                   #{dots\ 3633}#
-                                                   #{ys\ 3634}#)
+                                          (lambda (#{x\ 3733}#
+                                                   #{dots\ 3734}#
+                                                   #{ys\ 3735}#)
                                             (call-with-values
                                               (lambda ()
-                                                (#{cvt*\ 3580}#
-                                                  #{ys\ 3634}#
-                                                  #{n\ 3598}#
-                                                  #{ids\ 3599}#))
-                                              (lambda (#{ys\ 3636}#
-                                                       #{ids\ 3637}#)
+                                                (#{cvt*\ 3681}#
+                                                  #{ys\ 3735}#
+                                                  #{n\ 3699}#
+                                                  #{ids\ 3700}#))
+                                              (lambda (#{ys\ 3737}#
+                                                       #{ids\ 3738}#)
                                                 (call-with-values
                                                   (lambda ()
-                                                    (#{cvt\ 3582}#
-                                                      #{x\ 3632}#
-                                                      (1+ #{n\ 3598}#)
-                                                      #{ids\ 3637}#))
-                                                  (lambda (#{x\ 3640}#
-                                                           #{ids\ 3641}#)
+                                                    (#{cvt\ 3683}#
+                                                      #{x\ 3733}#
+                                                      (1+ #{n\ 3699}#)
+                                                      #{ids\ 3738}#))
+                                                  (lambda (#{x\ 3741}#
+                                                           #{ids\ 3742}#)
                                                     (values
                                                       (list->vector
                                                         (cons 'each+
-                                                              (cons #{x\ 3640}#
+                                                              (cons #{x\ 3741}#
                                                                     (cons 
(reverse
-                                                                            
#{ys\ 3636}#)
+                                                                            
#{ys\ 3737}#)
                                                                           
'(())))))
-                                                      #{ids\ 3641}#))))))
-                                          #{tmp\ 3622}#)
-                                        (let ((#{tmp\ 3645}#
+                                                      #{ids\ 3742}#))))))
+                                          #{tmp\ 3723}#)
+                                        (let ((#{tmp\ 3746}#
                                                 ($sc-dispatch
-                                                  #{tmp\ 3608}#
+                                                  #{tmp\ 3709}#
                                                   '(any . any))))
-                                          (if #{tmp\ 3645}#
+                                          (if #{tmp\ 3746}#
                                             (@apply
-                                              (lambda (#{x\ 3648}# #{y\ 3649}#)
+                                              (lambda (#{x\ 3749}# #{y\ 3750}#)
                                                 (call-with-values
                                                   (lambda ()
-                                                    (#{cvt\ 3582}#
-                                                      #{y\ 3649}#
-                                                      #{n\ 3598}#
-                                                      #{ids\ 3599}#))
-                                                  (lambda (#{y\ 3650}#
-                                                           #{ids\ 3651}#)
+                                                    (#{cvt\ 3683}#
+                                                      #{y\ 3750}#
+                                                      #{n\ 3699}#
+                                                      #{ids\ 3700}#))
+                                                  (lambda (#{y\ 3751}#
+                                                           #{ids\ 3752}#)
                                                     (call-with-values
                                                       (lambda ()
-                                                        (#{cvt\ 3582}#
-                                                          #{x\ 3648}#
-                                                          #{n\ 3598}#
-                                                          #{ids\ 3651}#))
-                                                      (lambda (#{x\ 3654}#
-                                                               #{ids\ 3655}#)
+                                                        (#{cvt\ 3683}#
+                                                          #{x\ 3749}#
+                                                          #{n\ 3699}#
+                                                          #{ids\ 3752}#))
+                                                      (lambda (#{x\ 3755}#
+                                                               #{ids\ 3756}#)
                                                         (values
-                                                          (cons #{x\ 3654}#
-                                                                #{y\ 3650}#)
-                                                          #{ids\ 3655}#))))))
-                                              #{tmp\ 3645}#)
-                                            (let ((#{tmp\ 3658}#
+                                                          (cons #{x\ 3755}#
+                                                                #{y\ 3751}#)
+                                                          #{ids\ 3756}#))))))
+                                              #{tmp\ 3746}#)
+                                            (let ((#{tmp\ 3759}#
                                                     ($sc-dispatch
-                                                      #{tmp\ 3608}#
+                                                      #{tmp\ 3709}#
                                                       '())))
-                                              (if #{tmp\ 3658}#
+                                              (if #{tmp\ 3759}#
                                                 (@apply
                                                   (lambda ()
                                                     (values
                                                       '()
-                                                      #{ids\ 3599}#))
-                                                  #{tmp\ 3658}#)
-                                                (let ((#{tmp\ 3659}#
+                                                      #{ids\ 3700}#))
+                                                  #{tmp\ 3759}#)
+                                                (let ((#{tmp\ 3760}#
                                                         ($sc-dispatch
-                                                          #{tmp\ 3608}#
+                                                          #{tmp\ 3709}#
                                                           '#(vector
                                                              each-any))))
-                                                  (if #{tmp\ 3659}#
+                                                  (if #{tmp\ 3760}#
                                                     (@apply
-                                                      (lambda (#{x\ 3661}#)
+                                                      (lambda (#{x\ 3762}#)
                                                         (call-with-values
                                                           (lambda ()
-                                                            (#{cvt\ 3582}#
-                                                              #{x\ 3661}#
-                                                              #{n\ 3598}#
-                                                              #{ids\ 3599}#))
-                                                          (lambda (#{p\ 3663}#
-                                                                   #{ids\ 
3664}#)
+                                                            (#{cvt\ 3683}#
+                                                              #{x\ 3762}#
+                                                              #{n\ 3699}#
+                                                              #{ids\ 3700}#))
+                                                          (lambda (#{p\ 3764}#
+                                                                   #{ids\ 
3765}#)
                                                             (values
                                                               (vector
                                                                 'vector
-                                                                #{p\ 3663}#)
-                                                              #{ids\ 3664}#))))
-                                                      #{tmp\ 3659}#)
-                                                    (let ((#{x\ 3668}#
-                                                            #{tmp\ 3608}#))
+                                                                #{p\ 3764}#)
+                                                              #{ids\ 3765}#))))
+                                                      #{tmp\ 3760}#)
+                                                    (let ((#{x\ 3769}#
+                                                            #{tmp\ 3709}#))
                                                       (values
                                                         (vector
                                                           'atom
-                                                          (#{strip\ 491}#
-                                                            #{p\ 3597}#
+                                                          (#{strip\ 486}#
+                                                            #{p\ 3698}#
                                                             '(())))
-                                                        #{ids\ 
3599}#)))))))))))))))))
+                                                        #{ids\ 
3700}#)))))))))))))))))
                        (begin
-                         (#{cvt\ 3582}# #{pattern\ 3575}# 0 (quote ()))))))
-                 (#{build-dispatch-call\ 3570}#
-                   (lambda (#{pvars\ 3670}#
-                            #{exp\ 3671}#
-                            #{y\ 3672}#
-                            #{r\ 3673}#
-                            #{mod\ 3674}#)
+                         (#{cvt\ 3683}# #{pattern\ 3676}# 0 (quote ()))))))
+                 (#{build-dispatch-call\ 3671}#
+                   (lambda (#{pvars\ 3771}#
+                            #{exp\ 3772}#
+                            #{y\ 3773}#
+                            #{r\ 3774}#
+                            #{mod\ 3775}#)
                      (begin
-                       (map cdr #{pvars\ 3670}#)
-                       (let ((#{ids\ 3682}# (map car #{pvars\ 3670}#)))
+                       (map cdr #{pvars\ 3771}#)
+                       (let ((#{ids\ 3783}# (map car #{pvars\ 3771}#)))
                          (begin
-                           (let ((#{labels\ 3686}#
-                                   (#{gen-labels\ 398}# #{ids\ 3682}#))
-                                 (#{new-vars\ 3687}#
-                                   (map #{gen-var\ 493}# #{ids\ 3682}#)))
+                           (let ((#{labels\ 3787}#
+                                   (#{gen-labels\ 393}# #{ids\ 3783}#))
+                                 (#{new-vars\ 3788}#
+                                   (map #{gen-var\ 488}# #{ids\ 3783}#)))
                              (#{build-application\ 304}#
                                #f
                                (#{build-primref\ 328}# #f (quote apply))
                                (list (#{build-simple-lambda\ 322}#
                                        #f
-                                       (map syntax->datum #{ids\ 3682}#)
+                                       (map syntax->datum #{ids\ 3783}#)
                                        #f
-                                       #{new-vars\ 3687}#
+                                       #{new-vars\ 3788}#
                                        '()
-                                       (#{chi\ 465}#
-                                         #{exp\ 3671}#
-                                         (#{extend-env\ 368}#
-                                           #{labels\ 3686}#
-                                           (map (lambda (#{var\ 3691}#
-                                                         #{level\ 3692}#)
+                                       (#{chi\ 460}#
+                                         #{exp\ 3772}#
+                                         (#{extend-env\ 366}#
+                                           #{labels\ 3787}#
+                                           (map (lambda (#{var\ 3792}#
+                                                         #{level\ 3793}#)
                                                   (cons 'syntax
-                                                        (cons #{var\ 3691}#
-                                                              #{level\ 
3692}#)))
-                                                #{new-vars\ 3687}#
-                                                (map cdr #{pvars\ 3670}#))
-                                           #{r\ 3673}#)
-                                         (#{make-binding-wrap\ 427}#
-                                           #{ids\ 3682}#
-                                           #{labels\ 3686}#
+                                                        (cons #{var\ 3792}#
+                                                              #{level\ 
3793}#)))
+                                                #{new-vars\ 3788}#
+                                                (map cdr #{pvars\ 3771}#))
+                                           #{r\ 3774}#)
+                                         (#{make-binding-wrap\ 422}#
+                                           #{ids\ 3783}#
+                                           #{labels\ 3787}#
                                            '(()))
-                                         #{mod\ 3674}#))
-                                     #{y\ 3672}#))))))))
-                 (#{gen-clause\ 3572}#
-                   (lambda (#{x\ 3698}#
-                            #{keys\ 3699}#
-                            #{clauses\ 3700}#
-                            #{r\ 3701}#
-                            #{pat\ 3702}#
-                            #{fender\ 3703}#
-                            #{exp\ 3704}#
-                            #{mod\ 3705}#)
+                                         #{mod\ 3775}#))
+                                     #{y\ 3773}#))))))))
+                 (#{gen-clause\ 3673}#
+                   (lambda (#{x\ 3799}#
+                            #{keys\ 3800}#
+                            #{clauses\ 3801}#
+                            #{r\ 3802}#
+                            #{pat\ 3803}#
+                            #{fender\ 3804}#
+                            #{exp\ 3805}#
+                            #{mod\ 3806}#)
                      (call-with-values
                        (lambda ()
-                         (#{convert-pattern\ 3568}#
-                           #{pat\ 3702}#
-                           #{keys\ 3699}#))
-                       (lambda (#{p\ 3714}# #{pvars\ 3715}#)
-                         (if (not (#{distinct-bound-ids?\ 445}#
-                                    (map car #{pvars\ 3715}#)))
+                         (#{convert-pattern\ 3669}#
+                           #{pat\ 3803}#
+                           #{keys\ 3800}#))
+                       (lambda (#{p\ 3815}# #{pvars\ 3816}#)
+                         (if (not (#{distinct-bound-ids?\ 440}#
+                                    (map car #{pvars\ 3816}#)))
                            (syntax-violation
                              'syntax-case
                              "duplicate pattern variable"
-                             #{pat\ 3702}#)
+                             #{pat\ 3803}#)
                            (if (not (and-map
-                                      (lambda (#{x\ 3722}#)
-                                        (not (#{ellipsis?\ 481}#
-                                               (car #{x\ 3722}#))))
-                                      #{pvars\ 3715}#))
+                                      (lambda (#{x\ 3823}#)
+                                        (not (#{ellipsis?\ 476}#
+                                               (car #{x\ 3823}#))))
+                                      #{pvars\ 3816}#))
                              (syntax-violation
                                'syntax-case
                                "misplaced ellipsis"
-                               #{pat\ 3702}#)
+                               #{pat\ 3803}#)
                              (begin
-                               (let ((#{y\ 3726}#
-                                       (#{gen-var\ 493}# (quote tmp))))
+                               (let ((#{y\ 3827}#
+                                       (#{gen-var\ 488}# (quote tmp))))
                                  (#{build-application\ 304}#
                                    #f
                                    (#{build-simple-lambda\ 322}#
                                      #f
                                      (list (quote tmp))
                                      #f
-                                     (list #{y\ 3726}#)
+                                     (list #{y\ 3827}#)
                                      '()
                                      (begin
-                                       (let ((#{y\ 3730}#
+                                       (let ((#{y\ 3831}#
                                                (#{build-lexical-reference\ 
310}#
                                                  'value
                                                  #f
                                                  'tmp
-                                                 #{y\ 3726}#)))
+                                                 #{y\ 3827}#)))
                                          (#{build-conditional\ 306}#
                                            #f
-                                           (let ((#{tmp\ 3733}#
-                                                   #{fender\ 3703}#))
-                                             (let ((#{tmp\ 3734}#
+                                           (let ((#{tmp\ 3834}#
+                                                   #{fender\ 3804}#))
+                                             (let ((#{tmp\ 3835}#
                                                      ($sc-dispatch
-                                                       #{tmp\ 3733}#
+                                                       #{tmp\ 3834}#
                                                        '#(atom #t))))
-                                               (if #{tmp\ 3734}#
+                                               (if #{tmp\ 3835}#
                                                  (@apply
-                                                   (lambda () #{y\ 3730}#)
-                                                   #{tmp\ 3734}#)
-                                                 (let ((#{_\ 3736}#
-                                                         #{tmp\ 3733}#))
+                                                   (lambda () #{y\ 3831}#)
+                                                   #{tmp\ 3835}#)
+                                                 (let ((#{_\ 3837}#
+                                                         #{tmp\ 3834}#))
                                                    (#{build-conditional\ 306}#
                                                      #f
-                                                     #{y\ 3730}#
-                                                     (#{build-dispatch-call\ 
3570}#
-                                                       #{pvars\ 3715}#
-                                                       #{fender\ 3703}#
-                                                       #{y\ 3730}#
-                                                       #{r\ 3701}#
-                                                       #{mod\ 3705}#)
+                                                     #{y\ 3831}#
+                                                     (#{build-dispatch-call\ 
3671}#
+                                                       #{pvars\ 3816}#
+                                                       #{fender\ 3804}#
+                                                       #{y\ 3831}#
+                                                       #{r\ 3802}#
+                                                       #{mod\ 3806}#)
                                                      (#{build-data\ 330}#
                                                        #f
                                                        #f))))))
-                                           (#{build-dispatch-call\ 3570}#
-                                             #{pvars\ 3715}#
-                                             #{exp\ 3704}#
-                                             #{y\ 3730}#
-                                             #{r\ 3701}#
-                                             #{mod\ 3705}#)
-                                           (#{gen-syntax-case\ 3574}#
-                                             #{x\ 3698}#
-                                             #{keys\ 3699}#
-                                             #{clauses\ 3700}#
-                                             #{r\ 3701}#
-                                             #{mod\ 3705}#)))))
-                                   (list (if (eq? #{p\ 3714}# (quote any))
+                                           (#{build-dispatch-call\ 3671}#
+                                             #{pvars\ 3816}#
+                                             #{exp\ 3805}#
+                                             #{y\ 3831}#
+                                             #{r\ 3802}#
+                                             #{mod\ 3806}#)
+                                           (#{gen-syntax-case\ 3675}#
+                                             #{x\ 3799}#
+                                             #{keys\ 3800}#
+                                             #{clauses\ 3801}#
+                                             #{r\ 3802}#
+                                             #{mod\ 3806}#)))))
+                                   (list (if (eq? #{p\ 3815}# (quote any))
                                            (#{build-application\ 304}#
                                              #f
                                              (#{build-primref\ 328}#
                                                #f
                                                'list)
-                                             (list #{x\ 3698}#))
+                                             (list #{x\ 3799}#))
                                            (#{build-application\ 304}#
                                              #f
                                              (#{build-primref\ 328}#
                                                #f
                                                '$sc-dispatch)
-                                             (list #{x\ 3698}#
+                                             (list #{x\ 3799}#
                                                    (#{build-data\ 330}#
                                                      #f
-                                                     #{p\ 3714}#))))))))))))))
-                 (#{gen-syntax-case\ 3574}#
-                   (lambda (#{x\ 3744}#
-                            #{keys\ 3745}#
-                            #{clauses\ 3746}#
-                            #{r\ 3747}#
-                            #{mod\ 3748}#)
-                     (if (null? #{clauses\ 3746}#)
+                                                     #{p\ 3815}#))))))))))))))
+                 (#{gen-syntax-case\ 3675}#
+                   (lambda (#{x\ 3845}#
+                            #{keys\ 3846}#
+                            #{clauses\ 3847}#
+                            #{r\ 3848}#
+                            #{mod\ 3849}#)
+                     (if (null? #{clauses\ 3847}#)
                        (#{build-application\ 304}#
                          #f
                          (#{build-primref\ 328}#
@@ -12644,28 +12613,28 @@
                                (#{build-data\ 330}#
                                  #f
                                  "source expression failed to match any 
pattern")
-                               #{x\ 3744}#))
-                       (let ((#{tmp\ 3758}# (car #{clauses\ 3746}#)))
-                         (let ((#{tmp\ 3759}#
+                               #{x\ 3845}#))
+                       (let ((#{tmp\ 3859}# (car #{clauses\ 3847}#)))
+                         (let ((#{tmp\ 3860}#
                                  ($sc-dispatch
-                                   #{tmp\ 3758}#
+                                   #{tmp\ 3859}#
                                    '(any any))))
-                           (if #{tmp\ 3759}#
+                           (if #{tmp\ 3860}#
                              (@apply
-                               (lambda (#{pat\ 3762}# #{exp\ 3763}#)
-                                 (if (if (#{id?\ 380}# #{pat\ 3762}#)
+                               (lambda (#{pat\ 3863}# #{exp\ 3864}#)
+                                 (if (if (#{id?\ 378}# #{pat\ 3863}#)
                                        (and-map
-                                         (lambda (#{x\ 3766}#)
-                                           (not (#{free-id=?\ 439}#
-                                                  #{pat\ 3762}#
-                                                  #{x\ 3766}#)))
+                                         (lambda (#{x\ 3867}#)
+                                           (not (#{free-id=?\ 434}#
+                                                  #{pat\ 3863}#
+                                                  #{x\ 3867}#)))
                                          (cons '#(syntax-object
                                                   ...
                                                   ((top)
                                                    #(ribcage
                                                      #(pat exp)
                                                      #((top) (top))
-                                                     #("i3760" "i3761"))
+                                                     #("i3861" "i3862"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x keys clauses r mod)
@@ -12674,21 +12643,21 @@
                                                        (top)
                                                        (top)
                                                        (top))
-                                                     #("i3749"
-                                                       "i3750"
-                                                       "i3751"
-                                                       "i3752"
-                                                       "i3753"))
+                                                     #("i3850"
+                                                       "i3851"
+                                                       "i3852"
+                                                       "i3853"
+                                                       "i3854"))
                                                    #(ribcage
                                                      (gen-syntax-case
                                                        gen-clause
                                                        build-dispatch-call
                                                        convert-pattern)
                                                      ((top) (top) (top) (top))
-                                                     ("i3573"
-                                                      "i3571"
-                                                      "i3569"
-                                                      "i3567"))
+                                                     ("i3674"
+                                                      "i3672"
+                                                      "i3670"
+                                                      "i3668"))
                                                    #(ribcage
                                                      (lambda-var-list
                                                        gen-var
@@ -12964,69 +12933,68 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                     ("i494"
-                                                      "i492"
-                                                      "i490"
-                                                      "i488"
-                                                      "i486"
-                                                      "i484"
-                                                      "i482"
-                                                      "i480"
-                                                      "i478"
-                                                      "i476"
-                                                      "i474"
-                                                      "i472"
-                                                      "i470"
-                                                      "i468"
-                                                      "i466"
-                                                      "i464"
-                                                      "i462"
-                                                      "i460"
-                                                      "i458"
-                                                      "i456"
-                                                      "i454"
-                                                      "i452"
-                                                      "i450"
-                                                      "i448"
-                                                      "i446"
-                                                      "i444"
-                                                      "i442"
-                                                      "i440"
-                                                      "i438"
-                                                      "i436"
-                                                      "i434"
-                                                      "i432"
-                                                      "i430"
-                                                      "i428"
-                                                      "i426"
-                                                      "i424"
+                                                     ("i489"
+                                                      "i487"
+                                                      "i485"
+                                                      "i483"
+                                                      "i481"
+                                                      "i479"
+                                                      "i477"
+                                                      "i475"
+                                                      "i473"
+                                                      "i471"
+                                                      "i469"
+                                                      "i467"
+                                                      "i465"
+                                                      "i463"
+                                                      "i461"
+                                                      "i459"
+                                                      "i457"
+                                                      "i455"
+                                                      "i453"
+                                                      "i451"
+                                                      "i449"
+                                                      "i447"
+                                                      "i445"
+                                                      "i443"
+                                                      "i441"
+                                                      "i439"
+                                                      "i437"
+                                                      "i435"
+                                                      "i433"
+                                                      "i431"
+                                                      "i429"
+                                                      "i427"
+                                                      "i425"
                                                       "i423"
-                                                      "i422"
-                                                      "i420"
+                                                      "i421"
                                                       "i419"
                                                       "i418"
                                                       "i417"
-                                                      "i416"
+                                                      "i415"
                                                       "i414"
+                                                      "i413"
                                                       "i412"
-                                                      "i410"
-                                                      "i408"
-                                                      "i406"
-                                                      "i404"
-                                                      "i402"
-                                                      "i400"
+                                                      "i411"
+                                                      "i409"
+                                                      "i407"
+                                                      "i405"
+                                                      "i403"
+                                                      "i401"
+                                                      "i399"
                                                       "i397"
                                                       "i395"
-                                                      "i394"
-                                                      "i393"
                                                       "i392"
-                                                      "i391"
                                                       "i390"
+                                                      "i389"
                                                       "i388"
+                                                      "i387"
                                                       "i386"
+                                                      "i385"
                                                       "i384"
+                                                      "i383"
                                                       "i382"
-                                                      "i381"
+                                                      "i380"
                                                       "i379"
                                                       "i377"
                                                       "i375"
@@ -13034,8 +13002,9 @@
                                                       "i371"
                                                       "i369"
                                                       "i367"
-                                                      "i366"
+                                                      "i365"
                                                       "i364"
+                                                      "i363"
                                                       "i362"
                                                       "i361"
                                                       "i360"
@@ -13112,35 +13081,35 @@
                                                       "i37"
                                                       "i35")))
                                                   (hygiene guile))
-                                               #{keys\ 3745}#))
+                                               #{keys\ 3846}#))
                                        #f)
-                                   (if (#{free-id=?\ 439}#
+                                   (if (#{free-id=?\ 434}#
                                          '#(syntax-object
                                             pad
                                             ((top)
                                              #(ribcage
                                                #(pat exp)
                                                #((top) (top))
-                                               #("i3760" "i3761"))
+                                               #("i3861" "i3862"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x keys clauses r mod)
                                                #((top) (top) (top) (top) (top))
-                                               #("i3749"
-                                                 "i3750"
-                                                 "i3751"
-                                                 "i3752"
-                                                 "i3753"))
+                                               #("i3850"
+                                                 "i3851"
+                                                 "i3852"
+                                                 "i3853"
+                                                 "i3854"))
                                              #(ribcage
                                                (gen-syntax-case
                                                  gen-clause
                                                  build-dispatch-call
                                                  convert-pattern)
                                                ((top) (top) (top) (top))
-                                               ("i3573"
-                                                "i3571"
-                                                "i3569"
-                                                "i3567"))
+                                               ("i3674"
+                                                "i3672"
+                                                "i3670"
+                                                "i3668"))
                                              #(ribcage
                                                (lambda-var-list
                                                  gen-var
@@ -13416,69 +13385,68 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i494"
-                                                "i492"
-                                                "i490"
-                                                "i488"
-                                                "i486"
-                                                "i484"
-                                                "i482"
-                                                "i480"
-                                                "i478"
-                                                "i476"
-                                                "i474"
-                                                "i472"
-                                                "i470"
-                                                "i468"
-                                                "i466"
-                                                "i464"
-                                                "i462"
-                                                "i460"
-                                                "i458"
-                                                "i456"
-                                                "i454"
-                                                "i452"
-                                                "i450"
-                                                "i448"
-                                                "i446"
-                                                "i444"
-                                                "i442"
-                                                "i440"
-                                                "i438"
-                                                "i436"
-                                                "i434"
-                                                "i432"
-                                                "i430"
-                                                "i428"
-                                                "i426"
-                                                "i424"
+                                               ("i489"
+                                                "i487"
+                                                "i485"
+                                                "i483"
+                                                "i481"
+                                                "i479"
+                                                "i477"
+                                                "i475"
+                                                "i473"
+                                                "i471"
+                                                "i469"
+                                                "i467"
+                                                "i465"
+                                                "i463"
+                                                "i461"
+                                                "i459"
+                                                "i457"
+                                                "i455"
+                                                "i453"
+                                                "i451"
+                                                "i449"
+                                                "i447"
+                                                "i445"
+                                                "i443"
+                                                "i441"
+                                                "i439"
+                                                "i437"
+                                                "i435"
+                                                "i433"
+                                                "i431"
+                                                "i429"
+                                                "i427"
+                                                "i425"
                                                 "i423"
-                                                "i422"
-                                                "i420"
+                                                "i421"
                                                 "i419"
                                                 "i418"
                                                 "i417"
-                                                "i416"
+                                                "i415"
                                                 "i414"
+                                                "i413"
                                                 "i412"
-                                                "i410"
-                                                "i408"
-                                                "i406"
-                                                "i404"
-                                                "i402"
-                                                "i400"
+                                                "i411"
+                                                "i409"
+                                                "i407"
+                                                "i405"
+                                                "i403"
+                                                "i401"
+                                                "i399"
                                                 "i397"
                                                 "i395"
-                                                "i394"
-                                                "i393"
                                                 "i392"
-                                                "i391"
                                                 "i390"
+                                                "i389"
                                                 "i388"
+                                                "i387"
                                                 "i386"
+                                                "i385"
                                                 "i384"
+                                                "i383"
                                                 "i382"
-                                                "i381"
+                                                "i380"
                                                 "i379"
                                                 "i377"
                                                 "i375"
@@ -13486,8 +13454,9 @@
                                                 "i371"
                                                 "i369"
                                                 "i367"
-                                                "i366"
+                                                "i365"
                                                 "i364"
+                                                "i363"
                                                 "i362"
                                                 "i361"
                                                 "i360"
@@ -13567,26 +13536,26 @@
                                              #(ribcage
                                                #(pat exp)
                                                #((top) (top))
-                                               #("i3760" "i3761"))
+                                               #("i3861" "i3862"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x keys clauses r mod)
                                                #((top) (top) (top) (top) (top))
-                                               #("i3749"
-                                                 "i3750"
-                                                 "i3751"
-                                                 "i3752"
-                                                 "i3753"))
+                                               #("i3850"
+                                                 "i3851"
+                                                 "i3852"
+                                                 "i3853"
+                                                 "i3854"))
                                              #(ribcage
                                                (gen-syntax-case
                                                  gen-clause
                                                  build-dispatch-call
                                                  convert-pattern)
                                                ((top) (top) (top) (top))
-                                               ("i3573"
-                                                "i3571"
-                                                "i3569"
-                                                "i3567"))
+                                               ("i3674"
+                                                "i3672"
+                                                "i3670"
+                                                "i3668"))
                                              #(ribcage
                                                (lambda-var-list
                                                  gen-var
@@ -13862,69 +13831,68 @@
                                                 (top)
                                                 (top)
                                                 (top))
-                                               ("i494"
-                                                "i492"
-                                                "i490"
-                                                "i488"
-                                                "i486"
-                                                "i484"
-                                                "i482"
-                                                "i480"
-                                                "i478"
-                                                "i476"
-                                                "i474"
-                                                "i472"
-                                                "i470"
-                                                "i468"
-                                                "i466"
-                                                "i464"
-                                                "i462"
-                                                "i460"
-                                                "i458"
-                                                "i456"
-                                                "i454"
-                                                "i452"
-                                                "i450"
-                                                "i448"
-                                                "i446"
-                                                "i444"
-                                                "i442"
-                                                "i440"
-                                                "i438"
-                                                "i436"
-                                                "i434"
-                                                "i432"
-                                                "i430"
-                                                "i428"
-                                                "i426"
-                                                "i424"
+                                               ("i489"
+                                                "i487"
+                                                "i485"
+                                                "i483"
+                                                "i481"
+                                                "i479"
+                                                "i477"
+                                                "i475"
+                                                "i473"
+                                                "i471"
+                                                "i469"
+                                                "i467"
+                                                "i465"
+                                                "i463"
+                                                "i461"
+                                                "i459"
+                                                "i457"
+                                                "i455"
+                                                "i453"
+                                                "i451"
+                                                "i449"
+                                                "i447"
+                                                "i445"
+                                                "i443"
+                                                "i441"
+                                                "i439"
+                                                "i437"
+                                                "i435"
+                                                "i433"
+                                                "i431"
+                                                "i429"
+                                                "i427"
+                                                "i425"
                                                 "i423"
-                                                "i422"
-                                                "i420"
+                                                "i421"
                                                 "i419"
                                                 "i418"
                                                 "i417"
-                                                "i416"
+                                                "i415"
                                                 "i414"
+                                                "i413"
                                                 "i412"
-                                                "i410"
-                                                "i408"
-                                                "i406"
-                                                "i404"
-                                                "i402"
-                                                "i400"
+                                                "i411"
+                                                "i409"
+                                                "i407"
+                                                "i405"
+                                                "i403"
+                                                "i401"
+                                                "i399"
                                                 "i397"
                                                 "i395"
-                                                "i394"
-                                                "i393"
                                                 "i392"
-                                                "i391"
                                                 "i390"
+                                                "i389"
                                                 "i388"
+                                                "i387"
                                                 "i386"
+                                                "i385"
                                                 "i384"
+                                                "i383"
                                                 "i382"
-                                                "i381"
+                                                "i380"
                                                 "i379"
                                                 "i377"
                                                 "i375"
@@ -13932,8 +13900,9 @@
                                                 "i371"
                                                 "i369"
                                                 "i367"
-                                                "i366"
+                                                "i365"
                                                 "i364"
+                                                "i363"
                                                 "i362"
                                                 "i361"
                                                 "i360"
@@ -14007,605 +13976,605 @@
                                                ((top) (top) (top) (top))
                                                ("i39" "i38" "i37" "i35")))
                                             (hygiene guile)))
-                                     (#{chi\ 465}#
-                                       #{exp\ 3763}#
-                                       #{r\ 3747}#
+                                     (#{chi\ 460}#
+                                       #{exp\ 3864}#
+                                       #{r\ 3848}#
                                        '(())
-                                       #{mod\ 3748}#)
+                                       #{mod\ 3849}#)
                                      (begin
-                                       (let ((#{labels\ 3771}#
-                                               (list (#{gen-label\ 396}#)))
-                                             (#{var\ 3772}#
-                                               (#{gen-var\ 493}#
-                                                 #{pat\ 3762}#)))
+                                       (let ((#{labels\ 3872}#
+                                               (list (#{gen-label\ 391}#)))
+                                             (#{var\ 3873}#
+                                               (#{gen-var\ 488}#
+                                                 #{pat\ 3863}#)))
                                          (#{build-application\ 304}#
                                            #f
                                            (#{build-simple-lambda\ 322}#
                                              #f
                                              (list (syntax->datum
-                                                     #{pat\ 3762}#))
+                                                     #{pat\ 3863}#))
                                              #f
-                                             (list #{var\ 3772}#)
+                                             (list #{var\ 3873}#)
                                              '()
-                                             (#{chi\ 465}#
-                                               #{exp\ 3763}#
-                                               (#{extend-env\ 368}#
-                                                 #{labels\ 3771}#
+                                             (#{chi\ 460}#
+                                               #{exp\ 3864}#
+                                               (#{extend-env\ 366}#
+                                                 #{labels\ 3872}#
                                                  (list (cons 'syntax
-                                                             (cons #{var\ 
3772}#
+                                                             (cons #{var\ 
3873}#
                                                                    0)))
-                                                 #{r\ 3747}#)
-                                               (#{make-binding-wrap\ 427}#
-                                                 (list #{pat\ 3762}#)
-                                                 #{labels\ 3771}#
+                                                 #{r\ 3848}#)
+                                               (#{make-binding-wrap\ 422}#
+                                                 (list #{pat\ 3863}#)
+                                                 #{labels\ 3872}#
                                                  '(()))
-                                               #{mod\ 3748}#))
-                                           (list #{x\ 3744}#)))))
-                                   (#{gen-clause\ 3572}#
-                                     #{x\ 3744}#
-                                     #{keys\ 3745}#
-                                     (cdr #{clauses\ 3746}#)
-                                     #{r\ 3747}#
-                                     #{pat\ 3762}#
+                                               #{mod\ 3849}#))
+                                           (list #{x\ 3845}#)))))
+                                   (#{gen-clause\ 3673}#
+                                     #{x\ 3845}#
+                                     #{keys\ 3846}#
+                                     (cdr #{clauses\ 3847}#)
+                                     #{r\ 3848}#
+                                     #{pat\ 3863}#
                                      #t
-                                     #{exp\ 3763}#
-                                     #{mod\ 3748}#)))
-                               #{tmp\ 3759}#)
-                             (let ((#{tmp\ 3778}#
+                                     #{exp\ 3864}#
+                                     #{mod\ 3849}#)))
+                               #{tmp\ 3860}#)
+                             (let ((#{tmp\ 3879}#
                                      ($sc-dispatch
-                                       #{tmp\ 3758}#
+                                       #{tmp\ 3859}#
                                        '(any any any))))
-                               (if #{tmp\ 3778}#
+                               (if #{tmp\ 3879}#
                                  (@apply
-                                   (lambda (#{pat\ 3782}#
-                                            #{fender\ 3783}#
-                                            #{exp\ 3784}#)
-                                     (#{gen-clause\ 3572}#
-                                       #{x\ 3744}#
-                                       #{keys\ 3745}#
-                                       (cdr #{clauses\ 3746}#)
-                                       #{r\ 3747}#
-                                       #{pat\ 3782}#
-                                       #{fender\ 3783}#
-                                       #{exp\ 3784}#
-                                       #{mod\ 3748}#))
-                                   #{tmp\ 3778}#)
-                                 (let ((#{_\ 3786}# #{tmp\ 3758}#))
+                                   (lambda (#{pat\ 3883}#
+                                            #{fender\ 3884}#
+                                            #{exp\ 3885}#)
+                                     (#{gen-clause\ 3673}#
+                                       #{x\ 3845}#
+                                       #{keys\ 3846}#
+                                       (cdr #{clauses\ 3847}#)
+                                       #{r\ 3848}#
+                                       #{pat\ 3883}#
+                                       #{fender\ 3884}#
+                                       #{exp\ 3885}#
+                                       #{mod\ 3849}#))
+                                   #{tmp\ 3879}#)
+                                 (let ((#{_\ 3887}# #{tmp\ 3859}#))
                                    (syntax-violation
                                      'syntax-case
                                      "invalid clause"
-                                     (car #{clauses\ 3746}#))))))))))))
+                                     (car #{clauses\ 3847}#))))))))))))
                 (begin
-                  (lambda (#{e\ 3787}#
-                           #{r\ 3788}#
-                           #{w\ 3789}#
-                           #{s\ 3790}#
-                           #{mod\ 3791}#)
+                  (lambda (#{e\ 3888}#
+                           #{r\ 3889}#
+                           #{w\ 3890}#
+                           #{s\ 3891}#
+                           #{mod\ 3892}#)
                     (begin
-                      (let ((#{e\ 3798}#
-                              (#{source-wrap\ 451}#
-                                #{e\ 3787}#
-                                #{w\ 3789}#
-                                #{s\ 3790}#
-                                #{mod\ 3791}#)))
-                        (let ((#{tmp\ 3799}# #{e\ 3798}#))
-                          (let ((#{tmp\ 3800}#
+                      (let ((#{e\ 3899}#
+                              (#{source-wrap\ 446}#
+                                #{e\ 3888}#
+                                #{w\ 3890}#
+                                #{s\ 3891}#
+                                #{mod\ 3892}#)))
+                        (let ((#{tmp\ 3900}# #{e\ 3899}#))
+                          (let ((#{tmp\ 3901}#
                                   ($sc-dispatch
-                                    #{tmp\ 3799}#
+                                    #{tmp\ 3900}#
                                     '(_ any each-any . each-any))))
-                            (if #{tmp\ 3800}#
+                            (if #{tmp\ 3901}#
                               (@apply
-                                (lambda (#{val\ 3804}#
-                                         #{key\ 3805}#
-                                         #{m\ 3806}#)
+                                (lambda (#{val\ 3905}#
+                                         #{key\ 3906}#
+                                         #{m\ 3907}#)
                                   (if (and-map
-                                        (lambda (#{x\ 3807}#)
-                                          (if (#{id?\ 380}# #{x\ 3807}#)
-                                            (not (#{ellipsis?\ 481}#
-                                                   #{x\ 3807}#))
+                                        (lambda (#{x\ 3908}#)
+                                          (if (#{id?\ 378}# #{x\ 3908}#)
+                                            (not (#{ellipsis?\ 476}#
+                                                   #{x\ 3908}#))
                                             #f))
-                                        #{key\ 3805}#)
+                                        #{key\ 3906}#)
                                     (begin
-                                      (let ((#{x\ 3813}#
-                                              (#{gen-var\ 493}# (quote tmp))))
+                                      (let ((#{x\ 3914}#
+                                              (#{gen-var\ 488}# (quote tmp))))
                                         (#{build-application\ 304}#
-                                          #{s\ 3790}#
+                                          #{s\ 3891}#
                                           (#{build-simple-lambda\ 322}#
                                             #f
                                             (list (quote tmp))
                                             #f
-                                            (list #{x\ 3813}#)
+                                            (list #{x\ 3914}#)
                                             '()
-                                            (#{gen-syntax-case\ 3574}#
+                                            (#{gen-syntax-case\ 3675}#
                                               (#{build-lexical-reference\ 310}#
                                                 'value
                                                 #f
                                                 'tmp
-                                                #{x\ 3813}#)
-                                              #{key\ 3805}#
-                                              #{m\ 3806}#
-                                              #{r\ 3788}#
-                                              #{mod\ 3791}#))
-                                          (list (#{chi\ 465}#
-                                                  #{val\ 3804}#
-                                                  #{r\ 3788}#
+                                                #{x\ 3914}#)
+                                              #{key\ 3906}#
+                                              #{m\ 3907}#
+                                              #{r\ 3889}#
+                                              #{mod\ 3892}#))
+                                          (list (#{chi\ 460}#
+                                                  #{val\ 3905}#
+                                                  #{r\ 3889}#
                                                   '(())
-                                                  #{mod\ 3791}#)))))
+                                                  #{mod\ 3892}#)))))
                                     (syntax-violation
                                       'syntax-case
                                       "invalid literals list"
-                                      #{e\ 3798}#)))
-                                #{tmp\ 3800}#)
+                                      #{e\ 3899}#)))
+                                #{tmp\ 3901}#)
                               (syntax-violation
                                 #f
                                 "source expression failed to match any pattern"
-                                #{tmp\ 3799}#))))))))))
+                                #{tmp\ 3900}#))))))))))
             (set! macroexpand
               (lambda*
-                (#{x\ 3819}#
+                (#{x\ 3920}#
                   #:optional
-                  (#{m\ 3821}# (quote e))
-                  (#{esew\ 3823}# (quote (eval))))
-                (#{chi-top\ 463}#
-                  #{x\ 3819}#
+                  (#{m\ 3922}# (quote e))
+                  (#{esew\ 3924}# (quote (eval))))
+                (#{chi-top\ 458}#
+                  #{x\ 3920}#
                   '()
                   '((top))
-                  #{m\ 3821}#
-                  #{esew\ 3823}#
+                  #{m\ 3922}#
+                  #{esew\ 3924}#
                   (cons 'hygiene
                         (module-name (current-module))))))
             (set! identifier?
-              (lambda (#{x\ 3827}#)
-                (#{nonsymbol-id?\ 378}# #{x\ 3827}#)))
+              (lambda (#{x\ 3928}#)
+                (#{nonsymbol-id?\ 376}# #{x\ 3928}#)))
             (set! datum->syntax
-              (lambda (#{id\ 3829}# #{datum\ 3830}#)
+              (lambda (#{id\ 3930}# #{datum\ 3931}#)
                 (#{make-syntax-object\ 342}#
-                  #{datum\ 3830}#
-                  (#{syntax-object-wrap\ 348}# #{id\ 3829}#)
-                  (#{syntax-object-module\ 350}# #{id\ 3829}#))))
+                  #{datum\ 3931}#
+                  (#{syntax-object-wrap\ 348}# #{id\ 3930}#)
+                  (#{syntax-object-module\ 350}# #{id\ 3930}#))))
             (set! syntax->datum
-              (lambda (#{x\ 3833}#)
-                (#{strip\ 491}# #{x\ 3833}# (quote (())))))
+              (lambda (#{x\ 3934}#)
+                (#{strip\ 486}# #{x\ 3934}# (quote (())))))
             (set! syntax-source
-              (lambda (#{x\ 3836}#)
-                (#{source-annotation\ 359}# #{x\ 3836}#)))
+              (lambda (#{x\ 3937}#)
+                (#{source-annotation\ 359}# #{x\ 3937}#)))
             (set! generate-temporaries
-              (lambda (#{ls\ 3838}#)
+              (lambda (#{ls\ 3939}#)
                 (begin
                   (begin
-                    (let ((#{x\ 3842}# #{ls\ 3838}#))
-                      (if (not (list? #{x\ 3842}#))
+                    (let ((#{x\ 3943}# #{ls\ 3939}#))
+                      (if (not (list? #{x\ 3943}#))
                         (syntax-violation
                           'generate-temporaries
                           "invalid argument"
-                          #{x\ 3842}#))))
-                  (map (lambda (#{x\ 3843}#)
-                         (#{wrap\ 449}# (gensym) (quote ((top))) #f))
-                       #{ls\ 3838}#))))
+                          #{x\ 3943}#))))
+                  (map (lambda (#{x\ 3944}#)
+                         (#{wrap\ 444}# (gensym) (quote ((top))) #f))
+                       #{ls\ 3939}#))))
             (set! free-identifier=?
-              (lambda (#{x\ 3847}# #{y\ 3848}#)
+              (lambda (#{x\ 3948}# #{y\ 3949}#)
                 (begin
                   (begin
-                    (let ((#{x\ 3853}# #{x\ 3847}#))
-                      (if (not (#{nonsymbol-id?\ 378}# #{x\ 3853}#))
+                    (let ((#{x\ 3954}# #{x\ 3948}#))
+                      (if (not (#{nonsymbol-id?\ 376}# #{x\ 3954}#))
                         (syntax-violation
                           'free-identifier=?
                           "invalid argument"
-                          #{x\ 3853}#))))
+                          #{x\ 3954}#))))
                   (begin
-                    (let ((#{x\ 3856}# #{y\ 3848}#))
-                      (if (not (#{nonsymbol-id?\ 378}# #{x\ 3856}#))
+                    (let ((#{x\ 3957}# #{y\ 3949}#))
+                      (if (not (#{nonsymbol-id?\ 376}# #{x\ 3957}#))
                         (syntax-violation
                           'free-identifier=?
                           "invalid argument"
-                          #{x\ 3856}#))))
-                  (#{free-id=?\ 439}# #{x\ 3847}# #{y\ 3848}#))))
+                          #{x\ 3957}#))))
+                  (#{free-id=?\ 434}# #{x\ 3948}# #{y\ 3949}#))))
             (set! bound-identifier=?
-              (lambda (#{x\ 3857}# #{y\ 3858}#)
+              (lambda (#{x\ 3958}# #{y\ 3959}#)
                 (begin
                   (begin
-                    (let ((#{x\ 3863}# #{x\ 3857}#))
-                      (if (not (#{nonsymbol-id?\ 378}# #{x\ 3863}#))
+                    (let ((#{x\ 3964}# #{x\ 3958}#))
+                      (if (not (#{nonsymbol-id?\ 376}# #{x\ 3964}#))
                         (syntax-violation
                           'bound-identifier=?
                           "invalid argument"
-                          #{x\ 3863}#))))
+                          #{x\ 3964}#))))
                   (begin
-                    (let ((#{x\ 3866}# #{y\ 3858}#))
-                      (if (not (#{nonsymbol-id?\ 378}# #{x\ 3866}#))
+                    (let ((#{x\ 3967}# #{y\ 3959}#))
+                      (if (not (#{nonsymbol-id?\ 376}# #{x\ 3967}#))
                         (syntax-violation
                           'bound-identifier=?
                           "invalid argument"
-                          #{x\ 3866}#))))
-                  (#{bound-id=?\ 441}# #{x\ 3857}# #{y\ 3858}#))))
+                          #{x\ 3967}#))))
+                  (#{bound-id=?\ 436}# #{x\ 3958}# #{y\ 3959}#))))
             (set! syntax-violation
-              (lambda (#{who\ 3867}#
-                       #{message\ 3868}#
-                       #{form\ 3869}#
+              (lambda (#{who\ 3968}#
+                       #{message\ 3969}#
+                       #{form\ 3970}#
                        .
-                       #{subform\ 3870}#)
+                       #{subform\ 3971}#)
                 (begin
                   (begin
-                    (let ((#{x\ 3877}# #{who\ 3867}#))
-                      (if (not (let ((#{x\ 3878}# #{x\ 3877}#))
+                    (let ((#{x\ 3978}# #{who\ 3968}#))
+                      (if (not (let ((#{x\ 3979}# #{x\ 3978}#))
                                  (begin
-                                   (let ((#{t\ 3882}# (not #{x\ 3878}#)))
-                                     (if #{t\ 3882}#
-                                       #{t\ 3882}#
+                                   (let ((#{t\ 3983}# (not #{x\ 3979}#)))
+                                     (if #{t\ 3983}#
+                                       #{t\ 3983}#
                                        (begin
-                                         (let ((#{t\ 3885}#
-                                                 (string? #{x\ 3878}#)))
-                                           (if #{t\ 3885}#
-                                             #{t\ 3885}#
-                                             (symbol? #{x\ 3878}#)))))))))
+                                         (let ((#{t\ 3986}#
+                                                 (string? #{x\ 3979}#)))
+                                           (if #{t\ 3986}#
+                                             #{t\ 3986}#
+                                             (symbol? #{x\ 3979}#)))))))))
                         (syntax-violation
                           'syntax-violation
                           "invalid argument"
-                          #{x\ 3877}#))))
+                          #{x\ 3978}#))))
                   (begin
-                    (let ((#{x\ 3889}# #{message\ 3868}#))
-                      (if (not (string? #{x\ 3889}#))
+                    (let ((#{x\ 3990}# #{message\ 3969}#))
+                      (if (not (string? #{x\ 3990}#))
                         (syntax-violation
                           'syntax-violation
                           "invalid argument"
-                          #{x\ 3889}#))))
+                          #{x\ 3990}#))))
                   (scm-error
                     'syntax-error
                     'macroexpand
                     (string-append
-                      (if #{who\ 3867}# "~a: " "")
+                      (if #{who\ 3968}# "~a: " "")
                       "~a "
-                      (if (null? #{subform\ 3870}#)
+                      (if (null? #{subform\ 3971}#)
                         "in ~a"
                         "in subform `~s' of `~s'"))
                     (begin
-                      (let ((#{tail\ 3891}#
-                              (cons #{message\ 3868}#
-                                    (map (lambda (#{x\ 3892}#)
-                                           (#{strip\ 491}#
-                                             #{x\ 3892}#
+                      (let ((#{tail\ 3992}#
+                              (cons #{message\ 3969}#
+                                    (map (lambda (#{x\ 3993}#)
+                                           (#{strip\ 486}#
+                                             #{x\ 3993}#
                                              '(())))
                                          (append
-                                           #{subform\ 3870}#
-                                           (list #{form\ 3869}#))))))
-                        (if #{who\ 3867}#
-                          (cons #{who\ 3867}# #{tail\ 3891}#)
-                          #{tail\ 3891}#)))
+                                           #{subform\ 3971}#
+                                           (list #{form\ 3970}#))))))
+                        (if #{who\ 3968}#
+                          (cons #{who\ 3968}# #{tail\ 3992}#)
+                          #{tail\ 3992}#)))
                     #f))))
             (letrec*
-              ((#{match-each\ 3896}#
-                 (lambda (#{e\ 3909}#
-                          #{p\ 3910}#
-                          #{w\ 3911}#
-                          #{mod\ 3912}#)
-                   (if (pair? #{e\ 3909}#)
+              ((#{match-each\ 3997}#
+                 (lambda (#{e\ 4010}#
+                          #{p\ 4011}#
+                          #{w\ 4012}#
+                          #{mod\ 4013}#)
+                   (if (pair? #{e\ 4010}#)
                      (begin
-                       (let ((#{first\ 3920}#
-                               (#{match\ 3908}#
-                                 (car #{e\ 3909}#)
-                                 #{p\ 3910}#
-                                 #{w\ 3911}#
+                       (let ((#{first\ 4021}#
+                               (#{match\ 4009}#
+                                 (car #{e\ 4010}#)
+                                 #{p\ 4011}#
+                                 #{w\ 4012}#
                                  '()
-                                 #{mod\ 3912}#)))
-                         (if #{first\ 3920}#
+                                 #{mod\ 4013}#)))
+                         (if #{first\ 4021}#
                            (begin
-                             (let ((#{rest\ 3924}#
-                                     (#{match-each\ 3896}#
-                                       (cdr #{e\ 3909}#)
-                                       #{p\ 3910}#
-                                       #{w\ 3911}#
-                                       #{mod\ 3912}#)))
-                               (if #{rest\ 3924}#
-                                 (cons #{first\ 3920}# #{rest\ 3924}#)
+                             (let ((#{rest\ 4025}#
+                                     (#{match-each\ 3997}#
+                                       (cdr #{e\ 4010}#)
+                                       #{p\ 4011}#
+                                       #{w\ 4012}#
+                                       #{mod\ 4013}#)))
+                               (if #{rest\ 4025}#
+                                 (cons #{first\ 4021}# #{rest\ 4025}#)
                                  #f)))
                            #f)))
-                     (if (null? #{e\ 3909}#)
+                     (if (null? #{e\ 4010}#)
                        '()
-                       (if (#{syntax-object?\ 344}# #{e\ 3909}#)
-                         (#{match-each\ 3896}#
-                           (#{syntax-object-expression\ 346}# #{e\ 3909}#)
-                           #{p\ 3910}#
-                           (#{join-wraps\ 431}#
-                             #{w\ 3911}#
-                             (#{syntax-object-wrap\ 348}# #{e\ 3909}#))
-                           (#{syntax-object-module\ 350}# #{e\ 3909}#))
+                       (if (#{syntax-object?\ 344}# #{e\ 4010}#)
+                         (#{match-each\ 3997}#
+                           (#{syntax-object-expression\ 346}# #{e\ 4010}#)
+                           #{p\ 4011}#
+                           (#{join-wraps\ 426}#
+                             #{w\ 4012}#
+                             (#{syntax-object-wrap\ 348}# #{e\ 4010}#))
+                           (#{syntax-object-module\ 350}# #{e\ 4010}#))
                          #f)))))
-               (#{match-each+\ 3898}#
-                 (lambda (#{e\ 3932}#
-                          #{x-pat\ 3933}#
-                          #{y-pat\ 3934}#
-                          #{z-pat\ 3935}#
-                          #{w\ 3936}#
-                          #{r\ 3937}#
-                          #{mod\ 3938}#)
+               (#{match-each+\ 3999}#
+                 (lambda (#{e\ 4033}#
+                          #{x-pat\ 4034}#
+                          #{y-pat\ 4035}#
+                          #{z-pat\ 4036}#
+                          #{w\ 4037}#
+                          #{r\ 4038}#
+                          #{mod\ 4039}#)
                    (letrec*
-                     ((#{f\ 3949}#
-                        (lambda (#{e\ 3950}# #{w\ 3951}#)
-                          (if (pair? #{e\ 3950}#)
+                     ((#{f\ 4050}#
+                        (lambda (#{e\ 4051}# #{w\ 4052}#)
+                          (if (pair? #{e\ 4051}#)
                             (call-with-values
                               (lambda ()
-                                (#{f\ 3949}# (cdr #{e\ 3950}#) #{w\ 3951}#))
-                              (lambda (#{xr*\ 3954}#
-                                       #{y-pat\ 3955}#
-                                       #{r\ 3956}#)
-                                (if #{r\ 3956}#
-                                  (if (null? #{y-pat\ 3955}#)
+                                (#{f\ 4050}# (cdr #{e\ 4051}#) #{w\ 4052}#))
+                              (lambda (#{xr*\ 4055}#
+                                       #{y-pat\ 4056}#
+                                       #{r\ 4057}#)
+                                (if #{r\ 4057}#
+                                  (if (null? #{y-pat\ 4056}#)
                                     (begin
-                                      (let ((#{xr\ 3961}#
-                                              (#{match\ 3908}#
-                                                (car #{e\ 3950}#)
-                                                #{x-pat\ 3933}#
-                                                #{w\ 3951}#
+                                      (let ((#{xr\ 4062}#
+                                              (#{match\ 4009}#
+                                                (car #{e\ 4051}#)
+                                                #{x-pat\ 4034}#
+                                                #{w\ 4052}#
                                                 '()
-                                                #{mod\ 3938}#)))
-                                        (if #{xr\ 3961}#
+                                                #{mod\ 4039}#)))
+                                        (if #{xr\ 4062}#
                                           (values
-                                            (cons #{xr\ 3961}# #{xr*\ 3954}#)
-                                            #{y-pat\ 3955}#
-                                            #{r\ 3956}#)
+                                            (cons #{xr\ 4062}# #{xr*\ 4055}#)
+                                            #{y-pat\ 4056}#
+                                            #{r\ 4057}#)
                                           (values #f #f #f))))
                                     (values
                                       '()
-                                      (cdr #{y-pat\ 3955}#)
-                                      (#{match\ 3908}#
-                                        (car #{e\ 3950}#)
-                                        (car #{y-pat\ 3955}#)
-                                        #{w\ 3951}#
-                                        #{r\ 3956}#
-                                        #{mod\ 3938}#)))
+                                      (cdr #{y-pat\ 4056}#)
+                                      (#{match\ 4009}#
+                                        (car #{e\ 4051}#)
+                                        (car #{y-pat\ 4056}#)
+                                        #{w\ 4052}#
+                                        #{r\ 4057}#
+                                        #{mod\ 4039}#)))
                                   (values #f #f #f))))
-                            (if (#{syntax-object?\ 344}# #{e\ 3950}#)
-                              (#{f\ 3949}#
-                                (#{syntax-object-expression\ 346}# #{e\ 3950}#)
-                                (#{join-wraps\ 431}# #{w\ 3951}# #{e\ 3950}#))
+                            (if (#{syntax-object?\ 344}# #{e\ 4051}#)
+                              (#{f\ 4050}#
+                                (#{syntax-object-expression\ 346}# #{e\ 4051}#)
+                                (#{join-wraps\ 426}# #{w\ 4052}# #{e\ 4051}#))
                               (values
                                 '()
-                                #{y-pat\ 3934}#
-                                (#{match\ 3908}#
-                                  #{e\ 3950}#
-                                  #{z-pat\ 3935}#
-                                  #{w\ 3951}#
-                                  #{r\ 3937}#
-                                  #{mod\ 3938}#)))))))
-                     (begin (#{f\ 3949}# #{e\ 3932}# #{w\ 3936}#)))))
-               (#{match-each-any\ 3900}#
-                 (lambda (#{e\ 3965}# #{w\ 3966}# #{mod\ 3967}#)
-                   (if (pair? #{e\ 3965}#)
+                                #{y-pat\ 4035}#
+                                (#{match\ 4009}#
+                                  #{e\ 4051}#
+                                  #{z-pat\ 4036}#
+                                  #{w\ 4052}#
+                                  #{r\ 4038}#
+                                  #{mod\ 4039}#)))))))
+                     (begin (#{f\ 4050}# #{e\ 4033}# #{w\ 4037}#)))))
+               (#{match-each-any\ 4001}#
+                 (lambda (#{e\ 4066}# #{w\ 4067}# #{mod\ 4068}#)
+                   (if (pair? #{e\ 4066}#)
                      (begin
-                       (let ((#{l\ 3974}#
-                               (#{match-each-any\ 3900}#
-                                 (cdr #{e\ 3965}#)
-                                 #{w\ 3966}#
-                                 #{mod\ 3967}#)))
-                         (if #{l\ 3974}#
-                           (cons (#{wrap\ 449}#
-                                   (car #{e\ 3965}#)
-                                   #{w\ 3966}#
-                                   #{mod\ 3967}#)
-                                 #{l\ 3974}#)
+                       (let ((#{l\ 4075}#
+                               (#{match-each-any\ 4001}#
+                                 (cdr #{e\ 4066}#)
+                                 #{w\ 4067}#
+                                 #{mod\ 4068}#)))
+                         (if #{l\ 4075}#
+                           (cons (#{wrap\ 444}#
+                                   (car #{e\ 4066}#)
+                                   #{w\ 4067}#
+                                   #{mod\ 4068}#)
+                                 #{l\ 4075}#)
                            #f)))
-                     (if (null? #{e\ 3965}#)
+                     (if (null? #{e\ 4066}#)
                        '()
-                       (if (#{syntax-object?\ 344}# #{e\ 3965}#)
-                         (#{match-each-any\ 3900}#
-                           (#{syntax-object-expression\ 346}# #{e\ 3965}#)
-                           (#{join-wraps\ 431}#
-                             #{w\ 3966}#
-                             (#{syntax-object-wrap\ 348}# #{e\ 3965}#))
-                           #{mod\ 3967}#)
+                       (if (#{syntax-object?\ 344}# #{e\ 4066}#)
+                         (#{match-each-any\ 4001}#
+                           (#{syntax-object-expression\ 346}# #{e\ 4066}#)
+                           (#{join-wraps\ 426}#
+                             #{w\ 4067}#
+                             (#{syntax-object-wrap\ 348}# #{e\ 4066}#))
+                           #{mod\ 4068}#)
                          #f)))))
-               (#{match-empty\ 3902}#
-                 (lambda (#{p\ 3982}# #{r\ 3983}#)
-                   (if (null? #{p\ 3982}#)
-                     #{r\ 3983}#
-                     (if (eq? #{p\ 3982}# (quote _))
-                       #{r\ 3983}#
-                       (if (eq? #{p\ 3982}# (quote any))
-                         (cons (quote ()) #{r\ 3983}#)
-                         (if (pair? #{p\ 3982}#)
-                           (#{match-empty\ 3902}#
-                             (car #{p\ 3982}#)
-                             (#{match-empty\ 3902}#
-                               (cdr #{p\ 3982}#)
-                               #{r\ 3983}#))
-                           (if (eq? #{p\ 3982}# (quote each-any))
-                             (cons (quote ()) #{r\ 3983}#)
+               (#{match-empty\ 4003}#
+                 (lambda (#{p\ 4083}# #{r\ 4084}#)
+                   (if (null? #{p\ 4083}#)
+                     #{r\ 4084}#
+                     (if (eq? #{p\ 4083}# (quote _))
+                       #{r\ 4084}#
+                       (if (eq? #{p\ 4083}# (quote any))
+                         (cons (quote ()) #{r\ 4084}#)
+                         (if (pair? #{p\ 4083}#)
+                           (#{match-empty\ 4003}#
+                             (car #{p\ 4083}#)
+                             (#{match-empty\ 4003}#
+                               (cdr #{p\ 4083}#)
+                               #{r\ 4084}#))
+                           (if (eq? #{p\ 4083}# (quote each-any))
+                             (cons (quote ()) #{r\ 4084}#)
                              (begin
-                               (let ((#{atom-key\ 3999}#
-                                       (vector-ref #{p\ 3982}# 0)))
-                                 (if (eqv? #{atom-key\ 3999}# (quote each))
-                                   (#{match-empty\ 3902}#
-                                     (vector-ref #{p\ 3982}# 1)
-                                     #{r\ 3983}#)
-                                   (if (eqv? #{atom-key\ 3999}# (quote each+))
-                                     (#{match-empty\ 3902}#
-                                       (vector-ref #{p\ 3982}# 1)
-                                       (#{match-empty\ 3902}#
-                                         (reverse (vector-ref #{p\ 3982}# 2))
-                                         (#{match-empty\ 3902}#
-                                           (vector-ref #{p\ 3982}# 3)
-                                           #{r\ 3983}#)))
-                                     (if (if (eqv? #{atom-key\ 3999}#
+                               (let ((#{atom-key\ 4100}#
+                                       (vector-ref #{p\ 4083}# 0)))
+                                 (if (eqv? #{atom-key\ 4100}# (quote each))
+                                   (#{match-empty\ 4003}#
+                                     (vector-ref #{p\ 4083}# 1)
+                                     #{r\ 4084}#)
+                                   (if (eqv? #{atom-key\ 4100}# (quote each+))
+                                     (#{match-empty\ 4003}#
+                                       (vector-ref #{p\ 4083}# 1)
+                                       (#{match-empty\ 4003}#
+                                         (reverse (vector-ref #{p\ 4083}# 2))
+                                         (#{match-empty\ 4003}#
+                                           (vector-ref #{p\ 4083}# 3)
+                                           #{r\ 4084}#)))
+                                     (if (if (eqv? #{atom-key\ 4100}#
                                                    'free-id)
                                            #t
-                                           (eqv? #{atom-key\ 3999}#
+                                           (eqv? #{atom-key\ 4100}#
                                                  'atom))
-                                       #{r\ 3983}#
-                                       (if (eqv? #{atom-key\ 3999}#
+                                       #{r\ 4084}#
+                                       (if (eqv? #{atom-key\ 4100}#
                                                  'vector)
-                                         (#{match-empty\ 3902}#
-                                           (vector-ref #{p\ 3982}# 1)
-                                           #{r\ 3983}#))))))))))))))
-               (#{combine\ 3904}#
-                 (lambda (#{r*\ 4004}# #{r\ 4005}#)
-                   (if (null? (car #{r*\ 4004}#))
-                     #{r\ 4005}#
-                     (cons (map car #{r*\ 4004}#)
-                           (#{combine\ 3904}#
-                             (map cdr #{r*\ 4004}#)
-                             #{r\ 4005}#)))))
-               (#{match*\ 3906}#
-                 (lambda (#{e\ 4008}#
-                          #{p\ 4009}#
-                          #{w\ 4010}#
-                          #{r\ 4011}#
-                          #{mod\ 4012}#)
-                   (if (null? #{p\ 4009}#)
-                     (if (null? #{e\ 4008}#) #{r\ 4011}# #f)
-                     (if (pair? #{p\ 4009}#)
-                       (if (pair? #{e\ 4008}#)
-                         (#{match\ 3908}#
-                           (car #{e\ 4008}#)
-                           (car #{p\ 4009}#)
-                           #{w\ 4010}#
-                           (#{match\ 3908}#
-                             (cdr #{e\ 4008}#)
-                             (cdr #{p\ 4009}#)
-                             #{w\ 4010}#
-                             #{r\ 4011}#
-                             #{mod\ 4012}#)
-                           #{mod\ 4012}#)
+                                         (#{match-empty\ 4003}#
+                                           (vector-ref #{p\ 4083}# 1)
+                                           #{r\ 4084}#))))))))))))))
+               (#{combine\ 4005}#
+                 (lambda (#{r*\ 4105}# #{r\ 4106}#)
+                   (if (null? (car #{r*\ 4105}#))
+                     #{r\ 4106}#
+                     (cons (map car #{r*\ 4105}#)
+                           (#{combine\ 4005}#
+                             (map cdr #{r*\ 4105}#)
+                             #{r\ 4106}#)))))
+               (#{match*\ 4007}#
+                 (lambda (#{e\ 4109}#
+                          #{p\ 4110}#
+                          #{w\ 4111}#
+                          #{r\ 4112}#
+                          #{mod\ 4113}#)
+                   (if (null? #{p\ 4110}#)
+                     (if (null? #{e\ 4109}#) #{r\ 4112}# #f)
+                     (if (pair? #{p\ 4110}#)
+                       (if (pair? #{e\ 4109}#)
+                         (#{match\ 4009}#
+                           (car #{e\ 4109}#)
+                           (car #{p\ 4110}#)
+                           #{w\ 4111}#
+                           (#{match\ 4009}#
+                             (cdr #{e\ 4109}#)
+                             (cdr #{p\ 4110}#)
+                             #{w\ 4111}#
+                             #{r\ 4112}#
+                             #{mod\ 4113}#)
+                           #{mod\ 4113}#)
                          #f)
-                       (if (eq? #{p\ 4009}# (quote each-any))
+                       (if (eq? #{p\ 4110}# (quote each-any))
                          (begin
-                           (let ((#{l\ 4029}#
-                                   (#{match-each-any\ 3900}#
-                                     #{e\ 4008}#
-                                     #{w\ 4010}#
-                                     #{mod\ 4012}#)))
-                             (if #{l\ 4029}#
-                               (cons #{l\ 4029}# #{r\ 4011}#)
+                           (let ((#{l\ 4130}#
+                                   (#{match-each-any\ 4001}#
+                                     #{e\ 4109}#
+                                     #{w\ 4111}#
+                                     #{mod\ 4113}#)))
+                             (if #{l\ 4130}#
+                               (cons #{l\ 4130}# #{r\ 4112}#)
                                #f)))
                          (begin
-                           (let ((#{atom-key\ 4035}#
-                                   (vector-ref #{p\ 4009}# 0)))
-                             (if (eqv? #{atom-key\ 4035}# (quote each))
-                               (if (null? #{e\ 4008}#)
-                                 (#{match-empty\ 3902}#
-                                   (vector-ref #{p\ 4009}# 1)
-                                   #{r\ 4011}#)
+                           (let ((#{atom-key\ 4136}#
+                                   (vector-ref #{p\ 4110}# 0)))
+                             (if (eqv? #{atom-key\ 4136}# (quote each))
+                               (if (null? #{e\ 4109}#)
+                                 (#{match-empty\ 4003}#
+                                   (vector-ref #{p\ 4110}# 1)
+                                   #{r\ 4112}#)
                                  (begin
-                                   (let ((#{l\ 4038}#
-                                           (#{match-each\ 3896}#
-                                             #{e\ 4008}#
-                                             (vector-ref #{p\ 4009}# 1)
-                                             #{w\ 4010}#
-                                             #{mod\ 4012}#)))
-                                     (if #{l\ 4038}#
+                                   (let ((#{l\ 4139}#
+                                           (#{match-each\ 3997}#
+                                             #{e\ 4109}#
+                                             (vector-ref #{p\ 4110}# 1)
+                                             #{w\ 4111}#
+                                             #{mod\ 4113}#)))
+                                     (if #{l\ 4139}#
                                        (letrec*
-                                         ((#{collect\ 4043}#
-                                            (lambda (#{l\ 4044}#)
-                                              (if (null? (car #{l\ 4044}#))
-                                                #{r\ 4011}#
-                                                (cons (map car #{l\ 4044}#)
-                                                      (#{collect\ 4043}#
+                                         ((#{collect\ 4144}#
+                                            (lambda (#{l\ 4145}#)
+                                              (if (null? (car #{l\ 4145}#))
+                                                #{r\ 4112}#
+                                                (cons (map car #{l\ 4145}#)
+                                                      (#{collect\ 4144}#
                                                         (map cdr
-                                                             #{l\ 4044}#)))))))
+                                                             #{l\ 4145}#)))))))
                                          (begin
-                                           (#{collect\ 4043}# #{l\ 4038}#)))
+                                           (#{collect\ 4144}# #{l\ 4139}#)))
                                        #f))))
-                               (if (eqv? #{atom-key\ 4035}# (quote each+))
+                               (if (eqv? #{atom-key\ 4136}# (quote each+))
                                  (call-with-values
                                    (lambda ()
-                                     (#{match-each+\ 3898}#
-                                       #{e\ 4008}#
-                                       (vector-ref #{p\ 4009}# 1)
-                                       (vector-ref #{p\ 4009}# 2)
-                                       (vector-ref #{p\ 4009}# 3)
-                                       #{w\ 4010}#
-                                       #{r\ 4011}#
-                                       #{mod\ 4012}#))
-                                   (lambda (#{xr*\ 4046}#
-                                            #{y-pat\ 4047}#
-                                            #{r\ 4048}#)
-                                     (if #{r\ 4048}#
-                                       (if (null? #{y-pat\ 4047}#)
-                                         (if (null? #{xr*\ 4046}#)
-                                           (#{match-empty\ 3902}#
-                                             (vector-ref #{p\ 4009}# 1)
-                                             #{r\ 4048}#)
-                                           (#{combine\ 3904}#
-                                             #{xr*\ 4046}#
-                                             #{r\ 4048}#))
+                                     (#{match-each+\ 3999}#
+                                       #{e\ 4109}#
+                                       (vector-ref #{p\ 4110}# 1)
+                                       (vector-ref #{p\ 4110}# 2)
+                                       (vector-ref #{p\ 4110}# 3)
+                                       #{w\ 4111}#
+                                       #{r\ 4112}#
+                                       #{mod\ 4113}#))
+                                   (lambda (#{xr*\ 4147}#
+                                            #{y-pat\ 4148}#
+                                            #{r\ 4149}#)
+                                     (if #{r\ 4149}#
+                                       (if (null? #{y-pat\ 4148}#)
+                                         (if (null? #{xr*\ 4147}#)
+                                           (#{match-empty\ 4003}#
+                                             (vector-ref #{p\ 4110}# 1)
+                                             #{r\ 4149}#)
+                                           (#{combine\ 4005}#
+                                             #{xr*\ 4147}#
+                                             #{r\ 4149}#))
                                          #f)
                                        #f)))
-                                 (if (eqv? #{atom-key\ 4035}# (quote free-id))
-                                   (if (#{id?\ 380}# #{e\ 4008}#)
-                                     (if (#{free-id=?\ 439}#
-                                           (#{wrap\ 449}#
-                                             #{e\ 4008}#
-                                             #{w\ 4010}#
-                                             #{mod\ 4012}#)
-                                           (vector-ref #{p\ 4009}# 1))
-                                       #{r\ 4011}#
+                                 (if (eqv? #{atom-key\ 4136}# (quote free-id))
+                                   (if (#{id?\ 378}# #{e\ 4109}#)
+                                     (if (#{free-id=?\ 434}#
+                                           (#{wrap\ 444}#
+                                             #{e\ 4109}#
+                                             #{w\ 4111}#
+                                             #{mod\ 4113}#)
+                                           (vector-ref #{p\ 4110}# 1))
+                                       #{r\ 4112}#
                                        #f)
                                      #f)
-                                   (if (eqv? #{atom-key\ 4035}# (quote atom))
+                                   (if (eqv? #{atom-key\ 4136}# (quote atom))
                                      (if (equal?
-                                           (vector-ref #{p\ 4009}# 1)
-                                           (#{strip\ 491}#
-                                             #{e\ 4008}#
-                                             #{w\ 4010}#))
-                                       #{r\ 4011}#
+                                           (vector-ref #{p\ 4110}# 1)
+                                           (#{strip\ 486}#
+                                             #{e\ 4109}#
+                                             #{w\ 4111}#))
+                                       #{r\ 4112}#
                                        #f)
-                                     (if (eqv? #{atom-key\ 4035}#
+                                     (if (eqv? #{atom-key\ 4136}#
                                                'vector)
-                                       (if (vector? #{e\ 4008}#)
-                                         (#{match\ 3908}#
-                                           (vector->list #{e\ 4008}#)
-                                           (vector-ref #{p\ 4009}# 1)
-                                           #{w\ 4010}#
-                                           #{r\ 4011}#
-                                           #{mod\ 4012}#)
+                                       (if (vector? #{e\ 4109}#)
+                                         (#{match\ 4009}#
+                                           (vector->list #{e\ 4109}#)
+                                           (vector-ref #{p\ 4110}# 1)
+                                           #{w\ 4111}#
+                                           #{r\ 4112}#
+                                           #{mod\ 4113}#)
                                          #f)))))))))))))
-               (#{match\ 3908}#
-                 (lambda (#{e\ 4065}#
-                          #{p\ 4066}#
-                          #{w\ 4067}#
-                          #{r\ 4068}#
-                          #{mod\ 4069}#)
-                   (if (not #{r\ 4068}#)
+               (#{match\ 4009}#
+                 (lambda (#{e\ 4166}#
+                          #{p\ 4167}#
+                          #{w\ 4168}#
+                          #{r\ 4169}#
+                          #{mod\ 4170}#)
+                   (if (not #{r\ 4169}#)
                      #f
-                     (if (eq? #{p\ 4066}# (quote _))
-                       #{r\ 4068}#
-                       (if (eq? #{p\ 4066}# (quote any))
-                         (cons (#{wrap\ 449}#
-                                 #{e\ 4065}#
-                                 #{w\ 4067}#
-                                 #{mod\ 4069}#)
-                               #{r\ 4068}#)
-                         (if (#{syntax-object?\ 344}# #{e\ 4065}#)
-                           (#{match*\ 3906}#
-                             (#{syntax-object-expression\ 346}# #{e\ 4065}#)
-                             #{p\ 4066}#
-                             (#{join-wraps\ 431}#
-                               #{w\ 4067}#
-                               (#{syntax-object-wrap\ 348}# #{e\ 4065}#))
-                             #{r\ 4068}#
-                             (#{syntax-object-module\ 350}# #{e\ 4065}#))
-                           (#{match*\ 3906}#
-                             #{e\ 4065}#
-                             #{p\ 4066}#
-                             #{w\ 4067}#
-                             #{r\ 4068}#
-                             #{mod\ 4069}#))))))))
+                     (if (eq? #{p\ 4167}# (quote _))
+                       #{r\ 4169}#
+                       (if (eq? #{p\ 4167}# (quote any))
+                         (cons (#{wrap\ 444}#
+                                 #{e\ 4166}#
+                                 #{w\ 4168}#
+                                 #{mod\ 4170}#)
+                               #{r\ 4169}#)
+                         (if (#{syntax-object?\ 344}# #{e\ 4166}#)
+                           (#{match*\ 4007}#
+                             (#{syntax-object-expression\ 346}# #{e\ 4166}#)
+                             #{p\ 4167}#
+                             (#{join-wraps\ 426}#
+                               #{w\ 4168}#
+                               (#{syntax-object-wrap\ 348}# #{e\ 4166}#))
+                             #{r\ 4169}#
+                             (#{syntax-object-module\ 350}# #{e\ 4166}#))
+                           (#{match*\ 4007}#
+                             #{e\ 4166}#
+                             #{p\ 4167}#
+                             #{w\ 4168}#
+                             #{r\ 4169}#
+                             #{mod\ 4170}#))))))))
               (begin
                 (set! $sc-dispatch
-                  (lambda (#{e\ 4084}# #{p\ 4085}#)
-                    (if (eq? #{p\ 4085}# (quote any))
-                      (list #{e\ 4084}#)
-                      (if (eq? #{p\ 4085}# (quote _))
+                  (lambda (#{e\ 4185}# #{p\ 4186}#)
+                    (if (eq? #{p\ 4186}# (quote any))
+                      (list #{e\ 4185}#)
+                      (if (eq? #{p\ 4186}# (quote _))
                         '()
-                        (if (#{syntax-object?\ 344}# #{e\ 4084}#)
-                          (#{match*\ 3906}#
-                            (#{syntax-object-expression\ 346}# #{e\ 4084}#)
-                            #{p\ 4085}#
-                            (#{syntax-object-wrap\ 348}# #{e\ 4084}#)
+                        (if (#{syntax-object?\ 344}# #{e\ 4185}#)
+                          (#{match*\ 4007}#
+                            (#{syntax-object-expression\ 346}# #{e\ 4185}#)
+                            #{p\ 4186}#
+                            (#{syntax-object-wrap\ 348}# #{e\ 4185}#)
                             '()
-                            (#{syntax-object-module\ 350}# #{e\ 4084}#))
-                          (#{match*\ 3906}#
-                            #{e\ 4084}#
-                            #{p\ 4085}#
+                            (#{syntax-object-module\ 350}# #{e\ 4185}#))
+                          (#{match*\ 4007}#
+                            #{e\ 4185}#
+                            #{p\ 4186}#
                             '(())
                             '()
                             #f))))))))))))))
@@ -14614,81 +14583,81 @@
   (make-syntax-transformer
     'with-syntax
     'macro
-    (lambda (#{x\ 4096}#)
-      (let ((#{tmp\ 4098}# #{x\ 4096}#))
-        (let ((#{tmp\ 4099}#
+    (lambda (#{x\ 4197}#)
+      (let ((#{tmp\ 4199}# #{x\ 4197}#))
+        (let ((#{tmp\ 4200}#
                 ($sc-dispatch
-                  #{tmp\ 4098}#
+                  #{tmp\ 4199}#
                   '(_ () any . each-any))))
-          (if #{tmp\ 4099}#
+          (if #{tmp\ 4200}#
             (@apply
-              (lambda (#{e1\ 4102}# #{e2\ 4103}#)
+              (lambda (#{e1\ 4203}# #{e2\ 4204}#)
                 (cons '#(syntax-object
                          begin
                          ((top)
                           #(ribcage
                             #(e1 e2)
                             #((top) (top))
-                            #("i4100" "i4101"))
+                            #("i4201" "i4202"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4097")))
+                          #(ribcage #(x) #((top)) #("i4198")))
                          (hygiene guile))
-                      (cons #{e1\ 4102}# #{e2\ 4103}#)))
-              #{tmp\ 4099}#)
-            (let ((#{tmp\ 4105}#
+                      (cons #{e1\ 4203}# #{e2\ 4204}#)))
+              #{tmp\ 4200}#)
+            (let ((#{tmp\ 4206}#
                     ($sc-dispatch
-                      #{tmp\ 4098}#
+                      #{tmp\ 4199}#
                       '(_ ((any any)) any . each-any))))
-              (if #{tmp\ 4105}#
+              (if #{tmp\ 4206}#
                 (@apply
-                  (lambda (#{out\ 4110}#
-                           #{in\ 4111}#
-                           #{e1\ 4112}#
-                           #{e2\ 4113}#)
+                  (lambda (#{out\ 4211}#
+                           #{in\ 4212}#
+                           #{e1\ 4213}#
+                           #{e2\ 4214}#)
                     (list '#(syntax-object
                              syntax-case
                              ((top)
                               #(ribcage
                                 #(out in e1 e2)
                                 #((top) (top) (top) (top))
-                                #("i4106" "i4107" "i4108" "i4109"))
+                                #("i4207" "i4208" "i4209" "i4210"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4097")))
+                              #(ribcage #(x) #((top)) #("i4198")))
                              (hygiene guile))
-                          #{in\ 4111}#
+                          #{in\ 4212}#
                           '()
-                          (list #{out\ 4110}#
+                          (list #{out\ 4211}#
                                 (cons '#(syntax-object
                                          begin
                                          ((top)
                                           #(ribcage
                                             #(out in e1 e2)
                                             #((top) (top) (top) (top))
-                                            #("i4106" "i4107" "i4108" "i4109"))
+                                            #("i4207" "i4208" "i4209" "i4210"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4097")))
+                                          #(ribcage #(x) #((top)) #("i4198")))
                                          (hygiene guile))
-                                      (cons #{e1\ 4112}# #{e2\ 4113}#)))))
-                  #{tmp\ 4105}#)
-                (let ((#{tmp\ 4115}#
+                                      (cons #{e1\ 4213}# #{e2\ 4214}#)))))
+                  #{tmp\ 4206}#)
+                (let ((#{tmp\ 4216}#
                         ($sc-dispatch
-                          #{tmp\ 4098}#
+                          #{tmp\ 4199}#
                           '(_ #(each (any any)) any . each-any))))
-                  (if #{tmp\ 4115}#
+                  (if #{tmp\ 4216}#
                     (@apply
-                      (lambda (#{out\ 4120}#
-                               #{in\ 4121}#
-                               #{e1\ 4122}#
-                               #{e2\ 4123}#)
+                      (lambda (#{out\ 4221}#
+                               #{in\ 4222}#
+                               #{e1\ 4223}#
+                               #{e2\ 4224}#)
                         (list '#(syntax-object
                                  syntax-case
                                  ((top)
                                   #(ribcage
                                     #(out in e1 e2)
                                     #((top) (top) (top) (top))
-                                    #("i4116" "i4117" "i4118" "i4119"))
+                                    #("i4217" "i4218" "i4219" "i4220"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4097")))
+                                  #(ribcage #(x) #((top)) #("i4198")))
                                  (hygiene guile))
                               (cons '#(syntax-object
                                        list
@@ -14696,61 +14665,61 @@
                                         #(ribcage
                                           #(out in e1 e2)
                                           #((top) (top) (top) (top))
-                                          #("i4116" "i4117" "i4118" "i4119"))
+                                          #("i4217" "i4218" "i4219" "i4220"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4097")))
+                                        #(ribcage #(x) #((top)) #("i4198")))
                                        (hygiene guile))
-                                    #{in\ 4121}#)
+                                    #{in\ 4222}#)
                               '()
-                              (list #{out\ 4120}#
+                              (list #{out\ 4221}#
                                     (cons '#(syntax-object
                                              begin
                                              ((top)
                                               #(ribcage
                                                 #(out in e1 e2)
                                                 #((top) (top) (top) (top))
-                                                #("i4116"
-                                                  "i4117"
-                                                  "i4118"
-                                                  "i4119"))
+                                                #("i4217"
+                                                  "i4218"
+                                                  "i4219"
+                                                  "i4220"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(x)
                                                 #((top))
-                                                #("i4097")))
+                                                #("i4198")))
                                              (hygiene guile))
-                                          (cons #{e1\ 4122}# #{e2\ 4123}#)))))
-                      #{tmp\ 4115}#)
+                                          (cons #{e1\ 4223}# #{e2\ 4224}#)))))
+                      #{tmp\ 4216}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp\ 4098}#)))))))))))
+                      #{tmp\ 4199}#)))))))))))
 
 (define syntax-rules
   (make-syntax-transformer
     'syntax-rules
     'macro
-    (lambda (#{x\ 4127}#)
-      (let ((#{tmp\ 4129}# #{x\ 4127}#))
-        (let ((#{tmp\ 4130}#
+    (lambda (#{x\ 4228}#)
+      (let ((#{tmp\ 4230}# #{x\ 4228}#))
+        (let ((#{tmp\ 4231}#
                 ($sc-dispatch
-                  #{tmp\ 4129}#
+                  #{tmp\ 4230}#
                   '(_ each-any . #(each ((any . any) any))))))
-          (if #{tmp\ 4130}#
+          (if #{tmp\ 4231}#
             (@apply
-              (lambda (#{k\ 4135}#
-                       #{keyword\ 4136}#
-                       #{pattern\ 4137}#
-                       #{template\ 4138}#)
+              (lambda (#{k\ 4236}#
+                       #{keyword\ 4237}#
+                       #{pattern\ 4238}#
+                       #{template\ 4239}#)
                 (list '#(syntax-object
                          lambda
                          ((top)
                           #(ribcage
                             #(k keyword pattern template)
                             #((top) (top) (top) (top))
-                            #("i4131" "i4132" "i4133" "i4134"))
+                            #("i4232" "i4233" "i4234" "i4235"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4128")))
+                          #(ribcage #(x) #((top)) #("i4229")))
                          (hygiene guile))
                       '(#(syntax-object
                           x
@@ -14758,9 +14727,9 @@
                            #(ribcage
                              #(k keyword pattern template)
                              #((top) (top) (top) (top))
-                             #("i4131" "i4132" "i4133" "i4134"))
+                             #("i4232" "i4233" "i4234" "i4235"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i4128")))
+                           #(ribcage #(x) #((top)) #("i4229")))
                           (hygiene guile)))
                       (vector
                         '(#(syntax-object
@@ -14769,9 +14738,9 @@
                              #(ribcage
                                #(k keyword pattern template)
                                #((top) (top) (top) (top))
-                               #("i4131" "i4132" "i4133" "i4134"))
+                               #("i4232" "i4233" "i4234" "i4235"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4128")))
+                             #(ribcage #(x) #((top)) #("i4229")))
                             (hygiene guile))
                           .
                           #(syntax-object
@@ -14780,9 +14749,9 @@
                              #(ribcage
                                #(k keyword pattern template)
                                #((top) (top) (top) (top))
-                               #("i4131" "i4132" "i4133" "i4134"))
+                               #("i4232" "i4233" "i4234" "i4235"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4128")))
+                             #(ribcage #(x) #((top)) #("i4229")))
                             (hygiene guile)))
                         (cons '#(syntax-object
                                  patterns
@@ -14790,20 +14759,20 @@
                                   #(ribcage
                                     #(k keyword pattern template)
                                     #((top) (top) (top) (top))
-                                    #("i4131" "i4132" "i4133" "i4134"))
+                                    #("i4232" "i4233" "i4234" "i4235"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4128")))
+                                  #(ribcage #(x) #((top)) #("i4229")))
                                  (hygiene guile))
-                              #{pattern\ 4137}#))
+                              #{pattern\ 4238}#))
                       (cons '#(syntax-object
                                syntax-case
                                ((top)
                                 #(ribcage
                                   #(k keyword pattern template)
                                   #((top) (top) (top) (top))
-                                  #("i4131" "i4132" "i4133" "i4134"))
+                                  #("i4232" "i4233" "i4234" "i4235"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4128")))
+                                #(ribcage #(x) #((top)) #("i4229")))
                                (hygiene guile))
                             (cons '#(syntax-object
                                      x
@@ -14811,13 +14780,13 @@
                                       #(ribcage
                                         #(k keyword pattern template)
                                         #((top) (top) (top) (top))
-                                        #("i4131" "i4132" "i4133" "i4134"))
+                                        #("i4232" "i4233" "i4234" "i4235"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4128")))
+                                      #(ribcage #(x) #((top)) #("i4229")))
                                      (hygiene guile))
-                                  (cons #{k\ 4135}#
-                                        (map (lambda (#{tmp\ 4142}#
-                                                      #{tmp\ 4141}#)
+                                  (cons #{k\ 4236}#
+                                        (map (lambda (#{tmp\ 4243}#
+                                                      #{tmp\ 4242}#)
                                                (list (cons '#(syntax-object
                                                               dummy
                                                               ((top)
@@ -14830,10 +14799,10 @@
                                                                    (top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4131"
-                                                                   "i4132"
-                                                                   "i4133"
-                                                                   "i4134"))
+                                                                 #("i4232"
+                                                                   "i4233"
+                                                                   "i4234"
+                                                                   "i4235"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -14841,9 +14810,9 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4128")))
+                                                                 #("i4229")))
                                                               (hygiene guile))
-                                                           #{tmp\ 4141}#)
+                                                           #{tmp\ 4242}#)
                                                      (list '#(syntax-object
                                                               syntax
                                                               ((top)
@@ -14856,10 +14825,10 @@
                                                                    (top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4131"
-                                                                   "i4132"
-                                                                   "i4133"
-                                                                   "i4134"))
+                                                                 #("i4232"
+                                                                   "i4233"
+                                                                   "i4234"
+                                                                   "i4235"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -14867,41 +14836,41 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4128")))
+                                                                 #("i4229")))
                                                               (hygiene guile))
-                                                           #{tmp\ 4142}#)))
-                                             #{template\ 4138}#
-                                             #{pattern\ 4137}#))))))
-              #{tmp\ 4130}#)
-            (let ((#{tmp\ 4143}#
+                                                           #{tmp\ 4243}#)))
+                                             #{template\ 4239}#
+                                             #{pattern\ 4238}#))))))
+              #{tmp\ 4231}#)
+            (let ((#{tmp\ 4244}#
                     ($sc-dispatch
-                      #{tmp\ 4129}#
+                      #{tmp\ 4230}#
                       '(_ each-any any . #(each ((any . any) any))))))
-              (if (if #{tmp\ 4143}#
+              (if (if #{tmp\ 4244}#
                     (@apply
-                      (lambda (#{k\ 4149}#
-                               #{docstring\ 4150}#
-                               #{keyword\ 4151}#
-                               #{pattern\ 4152}#
-                               #{template\ 4153}#)
-                        (string? (syntax->datum #{docstring\ 4150}#)))
-                      #{tmp\ 4143}#)
+                      (lambda (#{k\ 4250}#
+                               #{docstring\ 4251}#
+                               #{keyword\ 4252}#
+                               #{pattern\ 4253}#
+                               #{template\ 4254}#)
+                        (string? (syntax->datum #{docstring\ 4251}#)))
+                      #{tmp\ 4244}#)
                     #f)
                 (@apply
-                  (lambda (#{k\ 4159}#
-                           #{docstring\ 4160}#
-                           #{keyword\ 4161}#
-                           #{pattern\ 4162}#
-                           #{template\ 4163}#)
+                  (lambda (#{k\ 4260}#
+                           #{docstring\ 4261}#
+                           #{keyword\ 4262}#
+                           #{pattern\ 4263}#
+                           #{template\ 4264}#)
                     (list '#(syntax-object
                              lambda
                              ((top)
                               #(ribcage
                                 #(k docstring keyword pattern template)
                                 #((top) (top) (top) (top) (top))
-                                #("i4154" "i4155" "i4156" "i4157" "i4158"))
+                                #("i4255" "i4256" "i4257" "i4258" "i4259"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4128")))
+                              #(ribcage #(x) #((top)) #("i4229")))
                              (hygiene guile))
                           '(#(syntax-object
                               x
@@ -14909,11 +14878,11 @@
                                #(ribcage
                                  #(k docstring keyword pattern template)
                                  #((top) (top) (top) (top) (top))
-                                 #("i4154" "i4155" "i4156" "i4157" "i4158"))
+                                 #("i4255" "i4256" "i4257" "i4258" "i4259"))
                                #(ribcage () () ())
-                               #(ribcage #(x) #((top)) #("i4128")))
+                               #(ribcage #(x) #((top)) #("i4229")))
                               (hygiene guile)))
-                          #{docstring\ 4160}#
+                          #{docstring\ 4261}#
                           (vector
                             '(#(syntax-object
                                 macro-type
@@ -14921,9 +14890,9 @@
                                  #(ribcage
                                    #(k docstring keyword pattern template)
                                    #((top) (top) (top) (top) (top))
-                                   #("i4154" "i4155" "i4156" "i4157" "i4158"))
+                                   #("i4255" "i4256" "i4257" "i4258" "i4259"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4128")))
+                                 #(ribcage #(x) #((top)) #("i4229")))
                                 (hygiene guile))
                               .
                               #(syntax-object
@@ -14932,9 +14901,9 @@
                                  #(ribcage
                                    #(k docstring keyword pattern template)
                                    #((top) (top) (top) (top) (top))
-                                   #("i4154" "i4155" "i4156" "i4157" "i4158"))
+                                   #("i4255" "i4256" "i4257" "i4258" "i4259"))
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4128")))
+                                 #(ribcage #(x) #((top)) #("i4229")))
                                 (hygiene guile)))
                             (cons '#(syntax-object
                                      patterns
@@ -14942,28 +14911,28 @@
                                       #(ribcage
                                         #(k docstring keyword pattern template)
                                         #((top) (top) (top) (top) (top))
-                                        #("i4154"
-                                          "i4155"
-                                          "i4156"
-                                          "i4157"
-                                          "i4158"))
+                                        #("i4255"
+                                          "i4256"
+                                          "i4257"
+                                          "i4258"
+                                          "i4259"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4128")))
+                                      #(ribcage #(x) #((top)) #("i4229")))
                                      (hygiene guile))
-                                  #{pattern\ 4162}#))
+                                  #{pattern\ 4263}#))
                           (cons '#(syntax-object
                                    syntax-case
                                    ((top)
                                     #(ribcage
                                       #(k docstring keyword pattern template)
                                       #((top) (top) (top) (top) (top))
-                                      #("i4154"
-                                        "i4155"
-                                        "i4156"
-                                        "i4157"
-                                        "i4158"))
+                                      #("i4255"
+                                        "i4256"
+                                        "i4257"
+                                        "i4258"
+                                        "i4259"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i4128")))
+                                    #(ribcage #(x) #((top)) #("i4229")))
                                    (hygiene guile))
                                 (cons '#(syntax-object
                                          x
@@ -14975,17 +14944,17 @@
                                               pattern
                                               template)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4154"
-                                              "i4155"
-                                              "i4156"
-                                              "i4157"
-                                              "i4158"))
+                                            #("i4255"
+                                              "i4256"
+                                              "i4257"
+                                              "i4258"
+                                              "i4259"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4128")))
+                                          #(ribcage #(x) #((top)) #("i4229")))
                                          (hygiene guile))
-                                      (cons #{k\ 4159}#
-                                            (map (lambda (#{tmp\ 4167}#
-                                                          #{tmp\ 4166}#)
+                                      (cons #{k\ 4260}#
+                                            (map (lambda (#{tmp\ 4268}#
+                                                          #{tmp\ 4267}#)
                                                    (list (cons '#(syntax-object
                                                                   dummy
                                                                   ((top)
@@ -15000,11 +14969,11 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i4154"
-                                                                       "i4155"
-                                                                       "i4156"
-                                                                       "i4157"
-                                                                       
"i4158"))
+                                                                     #("i4255"
+                                                                       "i4256"
+                                                                       "i4257"
+                                                                       "i4258"
+                                                                       
"i4259"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
@@ -15012,10 +14981,10 @@
                                                                    #(ribcage
                                                                      #(x)
                                                                      #((top))
-                                                                     
#("i4128")))
+                                                                     
#("i4229")))
                                                                   (hygiene
                                                                     guile))
-                                                               #{tmp\ 4166}#)
+                                                               #{tmp\ 4267}#)
                                                          (list '#(syntax-object
                                                                   syntax
                                                                   ((top)
@@ -15030,11 +14999,11 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                     #("i4154"
-                                                                       "i4155"
-                                                                       "i4156"
-                                                                       "i4157"
-                                                                       
"i4158"))
+                                                                     #("i4255"
+                                                                       "i4256"
+                                                                       "i4257"
+                                                                       "i4258"
+                                                                       
"i4259"))
                                                                    #(ribcage
                                                                      ()
                                                                      ()
@@ -15042,48 +15011,48 @@
                                                                    #(ribcage
                                                                      #(x)
                                                                      #((top))
-                                                                     
#("i4128")))
+                                                                     
#("i4229")))
                                                                   (hygiene
                                                                     guile))
-                                                               #{tmp\ 4167}#)))
-                                                 #{template\ 4163}#
-                                                 #{pattern\ 4162}#))))))
-                  #{tmp\ 4143}#)
+                                                               #{tmp\ 4268}#)))
+                                                 #{template\ 4264}#
+                                                 #{pattern\ 4263}#))))))
+                  #{tmp\ 4244}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp\ 4129}#)))))))))
+                  #{tmp\ 4230}#)))))))))
 
 (define let*
   (make-syntax-transformer
     'let*
     'macro
-    (lambda (#{x\ 4168}#)
-      (let ((#{tmp\ 4170}# #{x\ 4168}#))
-        (let ((#{tmp\ 4171}#
+    (lambda (#{x\ 4269}#)
+      (let ((#{tmp\ 4271}# #{x\ 4269}#))
+        (let ((#{tmp\ 4272}#
                 ($sc-dispatch
-                  #{tmp\ 4170}#
+                  #{tmp\ 4271}#
                   '(any #(each (any any)) any . each-any))))
-          (if (if #{tmp\ 4171}#
+          (if (if #{tmp\ 4272}#
                 (@apply
-                  (lambda (#{let*\ 4177}#
-                           #{x\ 4178}#
-                           #{v\ 4179}#
-                           #{e1\ 4180}#
-                           #{e2\ 4181}#)
-                    (and-map identifier? #{x\ 4178}#))
-                  #{tmp\ 4171}#)
+                  (lambda (#{let*\ 4278}#
+                           #{x\ 4279}#
+                           #{v\ 4280}#
+                           #{e1\ 4281}#
+                           #{e2\ 4282}#)
+                    (and-map identifier? #{x\ 4279}#))
+                  #{tmp\ 4272}#)
                 #f)
             (@apply
-              (lambda (#{let*\ 4188}#
-                       #{x\ 4189}#
-                       #{v\ 4190}#
-                       #{e1\ 4191}#
-                       #{e2\ 4192}#)
+              (lambda (#{let*\ 4289}#
+                       #{x\ 4290}#
+                       #{v\ 4291}#
+                       #{e1\ 4292}#
+                       #{e2\ 4293}#)
                 (letrec*
-                  ((#{f\ 4195}#
-                     (lambda (#{bindings\ 4196}#)
-                       (if (null? #{bindings\ 4196}#)
+                  ((#{f\ 4296}#
+                     (lambda (#{bindings\ 4297}#)
+                       (if (null? #{bindings\ 4297}#)
                          (cons '#(syntax-object
                                   let
                                   ((top)
@@ -15091,128 +15060,128 @@
                                    #(ribcage
                                      #(f bindings)
                                      #((top) (top))
-                                     #("i4193" "i4194"))
+                                     #("i4294" "i4295"))
                                    #(ribcage
                                      #(let* x v e1 e2)
                                      #((top) (top) (top) (top) (top))
-                                     #("i4183"
-                                       "i4184"
-                                       "i4185"
-                                       "i4186"
-                                       "i4187"))
+                                     #("i4284"
+                                       "i4285"
+                                       "i4286"
+                                       "i4287"
+                                       "i4288"))
                                    #(ribcage () () ())
-                                   #(ribcage #(x) #((top)) #("i4169")))
+                                   #(ribcage #(x) #((top)) #("i4270")))
                                   (hygiene guile))
                                (cons '()
-                                     (cons #{e1\ 4191}# #{e2\ 4192}#)))
-                         (let ((#{tmp\ 4201}#
-                                 (list (#{f\ 4195}# (cdr #{bindings\ 4196}#))
-                                       (car #{bindings\ 4196}#))))
-                           (let ((#{tmp\ 4202}#
+                                     (cons #{e1\ 4292}# #{e2\ 4293}#)))
+                         (let ((#{tmp\ 4302}#
+                                 (list (#{f\ 4296}# (cdr #{bindings\ 4297}#))
+                                       (car #{bindings\ 4297}#))))
+                           (let ((#{tmp\ 4303}#
                                    ($sc-dispatch
-                                     #{tmp\ 4201}#
+                                     #{tmp\ 4302}#
                                      '(any any))))
-                             (if #{tmp\ 4202}#
+                             (if #{tmp\ 4303}#
                                (@apply
-                                 (lambda (#{body\ 4205}# #{binding\ 4206}#)
+                                 (lambda (#{body\ 4306}# #{binding\ 4307}#)
                                    (list '#(syntax-object
                                             let
                                             ((top)
                                              #(ribcage
                                                #(body binding)
                                                #((top) (top))
-                                               #("i4203" "i4204"))
+                                               #("i4304" "i4305"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(f bindings)
                                                #((top) (top))
-                                               #("i4193" "i4194"))
+                                               #("i4294" "i4295"))
                                              #(ribcage
                                                #(let* x v e1 e2)
                                                #((top) (top) (top) (top) (top))
-                                               #("i4183"
-                                                 "i4184"
-                                                 "i4185"
-                                                 "i4186"
-                                                 "i4187"))
+                                               #("i4284"
+                                                 "i4285"
+                                                 "i4286"
+                                                 "i4287"
+                                                 "i4288"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4169")))
+                                               #("i4270")))
                                             (hygiene guile))
-                                         (list #{binding\ 4206}#)
-                                         #{body\ 4205}#))
-                                 #{tmp\ 4202}#)
+                                         (list #{binding\ 4307}#)
+                                         #{body\ 4306}#))
+                                 #{tmp\ 4303}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any 
pattern"
-                                 #{tmp\ 4201}#))))))))
+                                 #{tmp\ 4302}#))))))))
                   (begin
-                    (#{f\ 4195}# (map list #{x\ 4189}# #{v\ 4190}#)))))
-              #{tmp\ 4171}#)
+                    (#{f\ 4296}# (map list #{x\ 4290}# #{v\ 4291}#)))))
+              #{tmp\ 4272}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp\ 4170}#)))))))
+              #{tmp\ 4271}#)))))))
 
 (define do
   (make-syntax-transformer
     'do
     'macro
-    (lambda (#{orig-x\ 4207}#)
-      (let ((#{tmp\ 4209}# #{orig-x\ 4207}#))
-        (let ((#{tmp\ 4210}#
+    (lambda (#{orig-x\ 4308}#)
+      (let ((#{tmp\ 4310}# #{orig-x\ 4308}#))
+        (let ((#{tmp\ 4311}#
                 ($sc-dispatch
-                  #{tmp\ 4209}#
+                  #{tmp\ 4310}#
                   '(_ #(each (any any . any))
                       (any . each-any)
                       .
                       each-any))))
-          (if #{tmp\ 4210}#
+          (if #{tmp\ 4311}#
             (@apply
-              (lambda (#{var\ 4217}#
-                       #{init\ 4218}#
-                       #{step\ 4219}#
-                       #{e0\ 4220}#
-                       #{e1\ 4221}#
-                       #{c\ 4222}#)
-                (let ((#{tmp\ 4224}#
-                        (map (lambda (#{v\ 4245}# #{s\ 4246}#)
-                               (let ((#{tmp\ 4249}# #{s\ 4246}#))
-                                 (let ((#{tmp\ 4250}#
+              (lambda (#{var\ 4318}#
+                       #{init\ 4319}#
+                       #{step\ 4320}#
+                       #{e0\ 4321}#
+                       #{e1\ 4322}#
+                       #{c\ 4323}#)
+                (let ((#{tmp\ 4325}#
+                        (map (lambda (#{v\ 4346}# #{s\ 4347}#)
+                               (let ((#{tmp\ 4350}# #{s\ 4347}#))
+                                 (let ((#{tmp\ 4351}#
                                          ($sc-dispatch
-                                           #{tmp\ 4249}#
+                                           #{tmp\ 4350}#
                                            '())))
-                                   (if #{tmp\ 4250}#
+                                   (if #{tmp\ 4351}#
                                      (@apply
-                                       (lambda () #{v\ 4245}#)
-                                       #{tmp\ 4250}#)
-                                     (let ((#{tmp\ 4251}#
+                                       (lambda () #{v\ 4346}#)
+                                       #{tmp\ 4351}#)
+                                     (let ((#{tmp\ 4352}#
                                              ($sc-dispatch
-                                               #{tmp\ 4249}#
+                                               #{tmp\ 4350}#
                                                '(any))))
-                                       (if #{tmp\ 4251}#
+                                       (if #{tmp\ 4352}#
                                          (@apply
-                                           (lambda (#{e\ 4253}#) #{e\ 4253}#)
-                                           #{tmp\ 4251}#)
-                                         (let ((#{_\ 4255}# #{tmp\ 4249}#))
+                                           (lambda (#{e\ 4354}#) #{e\ 4354}#)
+                                           #{tmp\ 4352}#)
+                                         (let ((#{_\ 4356}# #{tmp\ 4350}#))
                                            (syntax-violation
                                              'do
                                              "bad step expression"
-                                             #{orig-x\ 4207}#
-                                             #{s\ 4246}#))))))))
-                             #{var\ 4217}#
-                             #{step\ 4219}#)))
-                  (let ((#{tmp\ 4225}#
-                          ($sc-dispatch #{tmp\ 4224}# (quote each-any))))
-                    (if #{tmp\ 4225}#
+                                             #{orig-x\ 4308}#
+                                             #{s\ 4347}#))))))))
+                             #{var\ 4318}#
+                             #{step\ 4320}#)))
+                  (let ((#{tmp\ 4326}#
+                          ($sc-dispatch #{tmp\ 4325}# (quote each-any))))
+                    (if #{tmp\ 4326}#
                       (@apply
-                        (lambda (#{step\ 4227}#)
-                          (let ((#{tmp\ 4228}# #{e1\ 4221}#))
-                            (let ((#{tmp\ 4229}#
-                                    ($sc-dispatch #{tmp\ 4228}# (quote ()))))
-                              (if #{tmp\ 4229}#
+                        (lambda (#{step\ 4328}#)
+                          (let ((#{tmp\ 4329}# #{e1\ 4322}#))
+                            (let ((#{tmp\ 4330}#
+                                    ($sc-dispatch #{tmp\ 4329}# (quote ()))))
+                              (if #{tmp\ 4330}#
                                 (@apply
                                   (lambda ()
                                     (list '#(syntax-object
@@ -15221,7 +15190,7 @@
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i4226"))
+                                                #("i4327"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -15230,17 +15199,17 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i4211"
-                                                  "i4212"
-                                                  "i4213"
-                                                  "i4214"
-                                                  "i4215"
-                                                  "i4216"))
+                                                #("i4312"
+                                                  "i4313"
+                                                  "i4314"
+                                                  "i4315"
+                                                  "i4316"
+                                                  "i4317"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i4208")))
+                                                #("i4309")))
                                              (hygiene guile))
                                           '#(syntax-object
                                              doloop
@@ -15248,7 +15217,7 @@
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i4226"))
+                                                #("i4327"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -15257,28 +15226,28 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i4211"
-                                                  "i4212"
-                                                  "i4213"
-                                                  "i4214"
-                                                  "i4215"
-                                                  "i4216"))
+                                                #("i4312"
+                                                  "i4313"
+                                                  "i4314"
+                                                  "i4315"
+                                                  "i4316"
+                                                  "i4317"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i4208")))
+                                                #("i4309")))
                                              (hygiene guile))
                                           (map list
-                                               #{var\ 4217}#
-                                               #{init\ 4218}#)
+                                               #{var\ 4318}#
+                                               #{init\ 4319}#)
                                           (list '#(syntax-object
                                                    if
                                                    ((top)
                                                     #(ribcage
                                                       #(step)
                                                       #((top))
-                                                      #("i4226"))
+                                                      #("i4327"))
                                                     #(ribcage
                                                       #(var init step e0 e1 c)
                                                       #((top)
@@ -15287,17 +15256,17 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i4211"
-                                                        "i4212"
-                                                        "i4213"
-                                                        "i4214"
-                                                        "i4215"
-                                                        "i4216"))
+                                                      #("i4312"
+                                                        "i4313"
+                                                        "i4314"
+                                                        "i4315"
+                                                        "i4316"
+                                                        "i4317"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(orig-x)
                                                       #((top))
-                                                      #("i4208")))
+                                                      #("i4309")))
                                                    (hygiene guile))
                                                 (list '#(syntax-object
                                                          not
@@ -15305,7 +15274,7 @@
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i4226"))
+                                                            #("i4327"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -15319,26 +15288,26 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i4211"
-                                                              "i4212"
-                                                              "i4213"
-                                                              "i4214"
-                                                              "i4215"
-                                                              "i4216"))
+                                                            #("i4312"
+                                                              "i4313"
+                                                              "i4314"
+                                                              "i4315"
+                                                              "i4316"
+                                                              "i4317"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i4208")))
+                                                            #("i4309")))
                                                          (hygiene guile))
-                                                      #{e0\ 4220}#)
+                                                      #{e0\ 4321}#)
                                                 (cons '#(syntax-object
                                                          begin
                                                          ((top)
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i4226"))
+                                                            #("i4327"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -15352,27 +15321,27 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i4211"
-                                                              "i4212"
-                                                              "i4213"
-                                                              "i4214"
-                                                              "i4215"
-                                                              "i4216"))
+                                                            #("i4312"
+                                                              "i4313"
+                                                              "i4314"
+                                                              "i4315"
+                                                              "i4316"
+                                                              "i4317"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i4208")))
+                                                            #("i4309")))
                                                          (hygiene guile))
                                                       (append
-                                                        #{c\ 4222}#
+                                                        #{c\ 4323}#
                                                         (list (cons 
'#(syntax-object
                                                                        doloop
                                                                        ((top)
                                                                         
#(ribcage
                                                                           
#(step)
                                                                           
#((top))
-                                                                          
#("i4226"))
+                                                                          
#("i4327"))
                                                                         
#(ribcage
                                                                           #(var
                                                                             
init
@@ -15386,12 +15355,12 @@
                                                                             
(top)
                                                                             
(top)
                                                                             
(top))
-                                                                          
#("i4211"
-                                                                            
"i4212"
-                                                                            
"i4213"
-                                                                            
"i4214"
-                                                                            
"i4215"
-                                                                            
"i4216"))
+                                                                          
#("i4312"
+                                                                            
"i4313"
+                                                                            
"i4314"
+                                                                            
"i4315"
+                                                                            
"i4316"
+                                                                            
"i4317"))
                                                                         
#(ribcage
                                                                           ()
                                                                           ()
@@ -15399,29 +15368,29 @@
                                                                         
#(ribcage
                                                                           
#(orig-x)
                                                                           
#((top))
-                                                                          
#("i4208")))
+                                                                          
#("i4309")))
                                                                        (hygiene
                                                                          
guile))
-                                                                    #{step\ 
4227}#)))))))
-                                  #{tmp\ 4229}#)
-                                (let ((#{tmp\ 4234}#
+                                                                    #{step\ 
4328}#)))))))
+                                  #{tmp\ 4330}#)
+                                (let ((#{tmp\ 4335}#
                                         ($sc-dispatch
-                                          #{tmp\ 4228}#
+                                          #{tmp\ 4329}#
                                           '(any . each-any))))
-                                  (if #{tmp\ 4234}#
+                                  (if #{tmp\ 4335}#
                                     (@apply
-                                      (lambda (#{e1\ 4237}# #{e2\ 4238}#)
+                                      (lambda (#{e1\ 4338}# #{e2\ 4339}#)
                                         (list '#(syntax-object
                                                  let
                                                  ((top)
                                                   #(ribcage
                                                     #(e1 e2)
                                                     #((top) (top))
-                                                    #("i4235" "i4236"))
+                                                    #("i4336" "i4337"))
                                                   #(ribcage
                                                     #(step)
                                                     #((top))
-                                                    #("i4226"))
+                                                    #("i4327"))
                                                   #(ribcage
                                                     #(var init step e0 e1 c)
                                                     #((top)
@@ -15430,17 +15399,17 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                    #("i4211"
-                                                      "i4212"
-                                                      "i4213"
-                                                      "i4214"
-                                                      "i4215"
-                                                      "i4216"))
+                                                    #("i4312"
+                                                      "i4313"
+                                                      "i4314"
+                                                      "i4315"
+                                                      "i4316"
+                                                      "i4317"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(orig-x)
                                                     #((top))
-                                                    #("i4208")))
+                                                    #("i4309")))
                                                  (hygiene guile))
                                               '#(syntax-object
                                                  doloop
@@ -15448,11 +15417,11 @@
                                                   #(ribcage
                                                     #(e1 e2)
                                                     #((top) (top))
-                                                    #("i4235" "i4236"))
+                                                    #("i4336" "i4337"))
                                                   #(ribcage
                                                     #(step)
                                                     #((top))
-                                                    #("i4226"))
+                                                    #("i4327"))
                                                   #(ribcage
                                                     #(var init step e0 e1 c)
                                                     #((top)
@@ -15461,32 +15430,32 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                    #("i4211"
-                                                      "i4212"
-                                                      "i4213"
-                                                      "i4214"
-                                                      "i4215"
-                                                      "i4216"))
+                                                    #("i4312"
+                                                      "i4313"
+                                                      "i4314"
+                                                      "i4315"
+                                                      "i4316"
+                                                      "i4317"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(orig-x)
                                                     #((top))
-                                                    #("i4208")))
+                                                    #("i4309")))
                                                  (hygiene guile))
                                               (map list
-                                                   #{var\ 4217}#
-                                                   #{init\ 4218}#)
+                                                   #{var\ 4318}#
+                                                   #{init\ 4319}#)
                                               (list '#(syntax-object
                                                        if
                                                        ((top)
                                                         #(ribcage
                                                           #(e1 e2)
                                                           #((top) (top))
-                                                          #("i4235" "i4236"))
+                                                          #("i4336" "i4337"))
                                                         #(ribcage
                                                           #(step)
                                                           #((top))
-                                                          #("i4226"))
+                                                          #("i4327"))
                                                         #(ribcage
                                                           #(var
                                                             init
@@ -15500,31 +15469,31 @@
                                                             (top)
                                                             (top)
                                                             (top))
-                                                          #("i4211"
-                                                            "i4212"
-                                                            "i4213"
-                                                            "i4214"
-                                                            "i4215"
-                                                            "i4216"))
+                                                          #("i4312"
+                                                            "i4313"
+                                                            "i4314"
+                                                            "i4315"
+                                                            "i4316"
+                                                            "i4317"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(orig-x)
                                                           #((top))
-                                                          #("i4208")))
+                                                          #("i4309")))
                                                        (hygiene guile))
-                                                    #{e0\ 4220}#
+                                                    #{e0\ 4321}#
                                                     (cons '#(syntax-object
                                                              begin
                                                              ((top)
                                                               #(ribcage
                                                                 #(e1 e2)
                                                                 #((top) (top))
-                                                                #("i4235"
-                                                                  "i4236"))
+                                                                #("i4336"
+                                                                  "i4337"))
                                                               #(ribcage
                                                                 #(step)
                                                                 #((top))
-                                                                #("i4226"))
+                                                                #("i4327"))
                                                               #(ribcage
                                                                 #(var
                                                                   init
@@ -15538,12 +15507,12 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i4211"
-                                                                  "i4212"
-                                                                  "i4213"
-                                                                  "i4214"
-                                                                  "i4215"
-                                                                  "i4216"))
+                                                                #("i4312"
+                                                                  "i4313"
+                                                                  "i4314"
+                                                                  "i4315"
+                                                                  "i4316"
+                                                                  "i4317"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -15551,22 +15520,22 @@
                                                               #(ribcage
                                                                 #(orig-x)
                                                                 #((top))
-                                                                #("i4208")))
+                                                                #("i4309")))
                                                              (hygiene guile))
-                                                          (cons #{e1\ 4237}#
-                                                                #{e2\ 4238}#))
+                                                          (cons #{e1\ 4338}#
+                                                                #{e2\ 4339}#))
                                                     (cons '#(syntax-object
                                                              begin
                                                              ((top)
                                                               #(ribcage
                                                                 #(e1 e2)
                                                                 #((top) (top))
-                                                                #("i4235"
-                                                                  "i4236"))
+                                                                #("i4336"
+                                                                  "i4337"))
                                                               #(ribcage
                                                                 #(step)
                                                                 #((top))
-                                                                #("i4226"))
+                                                                #("i4327"))
                                                               #(ribcage
                                                                 #(var
                                                                   init
@@ -15580,12 +15549,12 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i4211"
-                                                                  "i4212"
-                                                                  "i4213"
-                                                                  "i4214"
-                                                                  "i4215"
-                                                                  "i4216"))
+                                                                #("i4312"
+                                                                  "i4313"
+                                                                  "i4314"
+                                                                  "i4315"
+                                                                  "i4316"
+                                                                  "i4317"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -15593,10 +15562,10 @@
                                                               #(ribcage
                                                                 #(orig-x)
                                                                 #((top))
-                                                                #("i4208")))
+                                                                #("i4309")))
                                                              (hygiene guile))
                                                           (append
-                                                            #{c\ 4222}#
+                                                            #{c\ 4323}#
                                                             (list (cons 
'#(syntax-object
                                                                            
doloop
                                                                            
((top)
@@ -15605,12 +15574,12 @@
                                                                                
 e2)
                                                                               
#((top)
                                                                                
 (top))
-                                                                              
#("i4235"
-                                                                               
 "i4236"))
+                                                                              
#("i4336"
+                                                                               
 "i4337"))
                                                                             
#(ribcage
                                                                               
#(step)
                                                                               
#((top))
-                                                                              
#("i4226"))
+                                                                              
#("i4327"))
                                                                             
#(ribcage
                                                                               
#(var
                                                                                
 init
@@ -15624,12 +15593,12 @@
                                                                                
 (top)
                                                                                
 (top)
                                                                                
 (top))
-                                                                              
#("i4211"
-                                                                               
 "i4212"
-                                                                               
 "i4213"
-                                                                               
 "i4214"
-                                                                               
 "i4215"
-                                                                               
 "i4216"))
+                                                                              
#("i4312"
+                                                                               
 "i4313"
+                                                                               
 "i4314"
+                                                                               
 "i4315"
+                                                                               
 "i4316"
+                                                                               
 "i4317"))
                                                                             
#(ribcage
                                                                               
()
                                                                               
()
@@ -15637,43 +15606,43 @@
                                                                             
#(ribcage
                                                                               
#(orig-x)
                                                                               
#((top))
-                                                                              
#("i4208")))
+                                                                              
#("i4309")))
                                                                            
(hygiene
                                                                              
guile))
-                                                                        
#{step\ 4227}#)))))))
-                                      #{tmp\ 4234}#)
+                                                                        
#{step\ 4328}#)))))))
+                                      #{tmp\ 4335}#)
                                     (syntax-violation
                                       #f
                                       "source expression failed to match any 
pattern"
-                                      #{tmp\ 4228}#)))))))
-                        #{tmp\ 4225}#)
+                                      #{tmp\ 4329}#)))))))
+                        #{tmp\ 4326}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp\ 4224}#)))))
-              #{tmp\ 4210}#)
+                        #{tmp\ 4325}#)))))
+              #{tmp\ 4311}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp\ 4209}#)))))))
+              #{tmp\ 4310}#)))))))
 
 (define quasiquote
   (make-syntax-transformer
     'quasiquote
     'macro
     (letrec*
-      ((#{quasicons\ 4262}#
-         (lambda (#{x\ 4266}# #{y\ 4267}#)
-           (let ((#{tmp\ 4271}# (list #{x\ 4266}# #{y\ 4267}#)))
-             (let ((#{tmp\ 4272}#
-                     ($sc-dispatch #{tmp\ 4271}# (quote (any any)))))
-               (if #{tmp\ 4272}#
+      ((#{quasicons\ 4363}#
+         (lambda (#{x\ 4367}# #{y\ 4368}#)
+           (let ((#{tmp\ 4372}# (list #{x\ 4367}# #{y\ 4368}#)))
+             (let ((#{tmp\ 4373}#
+                     ($sc-dispatch #{tmp\ 4372}# (quote (any any)))))
+               (if #{tmp\ 4373}#
                  (@apply
-                   (lambda (#{x\ 4275}# #{y\ 4276}#)
-                     (let ((#{tmp\ 4277}# #{y\ 4276}#))
-                       (let ((#{tmp\ 4278}#
+                   (lambda (#{x\ 4376}# #{y\ 4377}#)
+                     (let ((#{tmp\ 4378}# #{y\ 4377}#))
+                       (let ((#{tmp\ 4379}#
                                ($sc-dispatch
-                                 #{tmp\ 4277}#
+                                 #{tmp\ 4378}#
                                  '(#(free-id
                                      #(syntax-object
                                        quote
@@ -15681,29 +15650,29 @@
                                         #(ribcage
                                           #(x y)
                                           #((top) (top))
-                                          #("i4273" "i4274"))
+                                          #("i4374" "i4375"))
                                         #(ribcage () () ())
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(x y)
                                           #((top) (top))
-                                          #("i4268" "i4269"))
+                                          #("i4369" "i4370"))
                                         #(ribcage
                                           #(quasicons
                                             quasiappend
                                             quasivector
                                             quasi)
                                           #((top) (top) (top) (top))
-                                          #("i4258" "i4259" "i4260" "i4261")))
+                                          #("i4359" "i4360" "i4361" "i4362")))
                                        (hygiene guile)))
                                    any))))
-                         (if #{tmp\ 4278}#
+                         (if #{tmp\ 4379}#
                            (@apply
-                             (lambda (#{dy\ 4280}#)
-                               (let ((#{tmp\ 4281}# #{x\ 4275}#))
-                                 (let ((#{tmp\ 4282}#
+                             (lambda (#{dy\ 4381}#)
+                               (let ((#{tmp\ 4382}# #{x\ 4376}#))
+                                 (let ((#{tmp\ 4383}#
                                          ($sc-dispatch
-                                           #{tmp\ 4281}#
+                                           #{tmp\ 4382}#
                                            '(#(free-id
                                                #(syntax-object
                                                  quote
@@ -15711,140 +15680,140 @@
                                                   #(ribcage
                                                     #(dy)
                                                     #((top))
-                                                    #("i4279"))
+                                                    #("i4380"))
                                                   #(ribcage
                                                     #(x y)
                                                     #((top) (top))
-                                                    #("i4273" "i4274"))
+                                                    #("i4374" "i4375"))
                                                   #(ribcage () () ())
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(x y)
                                                     #((top) (top))
-                                                    #("i4268" "i4269"))
+                                                    #("i4369" "i4370"))
                                                   #(ribcage
                                                     #(quasicons
                                                       quasiappend
                                                       quasivector
                                                       quasi)
                                                     #((top) (top) (top) (top))
-                                                    #("i4258"
-                                                      "i4259"
-                                                      "i4260"
-                                                      "i4261")))
+                                                    #("i4359"
+                                                      "i4360"
+                                                      "i4361"
+                                                      "i4362")))
                                                  (hygiene guile)))
                                              any))))
-                                   (if #{tmp\ 4282}#
+                                   (if #{tmp\ 4383}#
                                      (@apply
-                                       (lambda (#{dx\ 4284}#)
+                                       (lambda (#{dx\ 4385}#)
                                          (list '#(syntax-object
                                                   quote
                                                   ((top)
                                                    #(ribcage
                                                      #(dx)
                                                      #((top))
-                                                     #("i4283"))
+                                                     #("i4384"))
                                                    #(ribcage
                                                      #(dy)
                                                      #((top))
-                                                     #("i4279"))
+                                                     #("i4380"))
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4273" "i4274"))
+                                                     #("i4374" "i4375"))
                                                    #(ribcage () () ())
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4268" "i4269"))
+                                                     #("i4369" "i4370"))
                                                    #(ribcage
                                                      #(quasicons
                                                        quasiappend
                                                        quasivector
                                                        quasi)
                                                      #((top) (top) (top) (top))
-                                                     #("i4258"
-                                                       "i4259"
-                                                       "i4260"
-                                                       "i4261")))
+                                                     #("i4359"
+                                                       "i4360"
+                                                       "i4361"
+                                                       "i4362")))
                                                   (hygiene guile))
-                                               (cons #{dx\ 4284}#
-                                                     #{dy\ 4280}#)))
-                                       #{tmp\ 4282}#)
-                                     (let ((#{_\ 4286}# #{tmp\ 4281}#))
-                                       (if (null? #{dy\ 4280}#)
+                                               (cons #{dx\ 4385}#
+                                                     #{dy\ 4381}#)))
+                                       #{tmp\ 4383}#)
+                                     (let ((#{_\ 4387}# #{tmp\ 4382}#))
+                                       (if (null? #{dy\ 4381}#)
                                          (list '#(syntax-object
                                                   list
                                                   ((top)
                                                    #(ribcage
                                                      #(_)
                                                      #((top))
-                                                     #("i4285"))
+                                                     #("i4386"))
                                                    #(ribcage
                                                      #(dy)
                                                      #((top))
-                                                     #("i4279"))
+                                                     #("i4380"))
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4273" "i4274"))
+                                                     #("i4374" "i4375"))
                                                    #(ribcage () () ())
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4268" "i4269"))
+                                                     #("i4369" "i4370"))
                                                    #(ribcage
                                                      #(quasicons
                                                        quasiappend
                                                        quasivector
                                                        quasi)
                                                      #((top) (top) (top) (top))
-                                                     #("i4258"
-                                                       "i4259"
-                                                       "i4260"
-                                                       "i4261")))
+                                                     #("i4359"
+                                                       "i4360"
+                                                       "i4361"
+                                                       "i4362")))
                                                   (hygiene guile))
-                                               #{x\ 4275}#)
+                                               #{x\ 4376}#)
                                          (list '#(syntax-object
                                                   cons
                                                   ((top)
                                                    #(ribcage
                                                      #(_)
                                                      #((top))
-                                                     #("i4285"))
+                                                     #("i4386"))
                                                    #(ribcage
                                                      #(dy)
                                                      #((top))
-                                                     #("i4279"))
+                                                     #("i4380"))
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4273" "i4274"))
+                                                     #("i4374" "i4375"))
                                                    #(ribcage () () ())
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4268" "i4269"))
+                                                     #("i4369" "i4370"))
                                                    #(ribcage
                                                      #(quasicons
                                                        quasiappend
                                                        quasivector
                                                        quasi)
                                                      #((top) (top) (top) (top))
-                                                     #("i4258"
-                                                       "i4259"
-                                                       "i4260"
-                                                       "i4261")))
+                                                     #("i4359"
+                                                       "i4360"
+                                                       "i4361"
+                                                       "i4362")))
                                                   (hygiene guile))
-                                               #{x\ 4275}#
-                                               #{y\ 4276}#)))))))
-                             #{tmp\ 4278}#)
-                           (let ((#{tmp\ 4287}#
+                                               #{x\ 4376}#
+                                               #{y\ 4377}#)))))))
+                             #{tmp\ 4379}#)
+                           (let ((#{tmp\ 4388}#
                                    ($sc-dispatch
-                                     #{tmp\ 4277}#
+                                     #{tmp\ 4378}#
                                      '(#(free-id
                                          #(syntax-object
                                            list
@@ -15852,107 +15821,107 @@
                                             #(ribcage
                                               #(x y)
                                               #((top) (top))
-                                              #("i4273" "i4274"))
+                                              #("i4374" "i4375"))
                                             #(ribcage () () ())
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x y)
                                               #((top) (top))
-                                              #("i4268" "i4269"))
+                                              #("i4369" "i4370"))
                                             #(ribcage
                                               #(quasicons
                                                 quasiappend
                                                 quasivector
                                                 quasi)
                                               #((top) (top) (top) (top))
-                                              #("i4258"
-                                                "i4259"
-                                                "i4260"
-                                                "i4261")))
+                                              #("i4359"
+                                                "i4360"
+                                                "i4361"
+                                                "i4362")))
                                            (hygiene guile)))
                                        .
                                        any))))
-                             (if #{tmp\ 4287}#
+                             (if #{tmp\ 4388}#
                                (@apply
-                                 (lambda (#{stuff\ 4289}#)
+                                 (lambda (#{stuff\ 4390}#)
                                    (cons '#(syntax-object
                                             list
                                             ((top)
                                              #(ribcage
                                                #(stuff)
                                                #((top))
-                                               #("i4288"))
+                                               #("i4389"))
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i4273" "i4274"))
+                                               #("i4374" "i4375"))
                                              #(ribcage () () ())
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i4268" "i4269"))
+                                               #("i4369" "i4370"))
                                              #(ribcage
                                                #(quasicons
                                                  quasiappend
                                                  quasivector
                                                  quasi)
                                                #((top) (top) (top) (top))
-                                               #("i4258"
-                                                 "i4259"
-                                                 "i4260"
-                                                 "i4261")))
+                                               #("i4359"
+                                                 "i4360"
+                                                 "i4361"
+                                                 "i4362")))
                                             (hygiene guile))
-                                         (cons #{x\ 4275}# #{stuff\ 4289}#)))
-                                 #{tmp\ 4287}#)
-                               (let ((#{else\ 4291}# #{tmp\ 4277}#))
+                                         (cons #{x\ 4376}# #{stuff\ 4390}#)))
+                                 #{tmp\ 4388}#)
+                               (let ((#{else\ 4392}# #{tmp\ 4378}#))
                                  (list '#(syntax-object
                                           cons
                                           ((top)
                                            #(ribcage
                                              #(else)
                                              #((top))
-                                             #("i4290"))
+                                             #("i4391"))
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i4273" "i4274"))
+                                             #("i4374" "i4375"))
                                            #(ribcage () () ())
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i4268" "i4269"))
+                                             #("i4369" "i4370"))
                                            #(ribcage
                                              #(quasicons
                                                quasiappend
                                                quasivector
                                                quasi)
                                              #((top) (top) (top) (top))
-                                             #("i4258"
-                                               "i4259"
-                                               "i4260"
-                                               "i4261")))
+                                             #("i4359"
+                                               "i4360"
+                                               "i4361"
+                                               "i4362")))
                                           (hygiene guile))
-                                       #{x\ 4275}#
-                                       #{y\ 4276}#))))))))
-                   #{tmp\ 4272}#)
+                                       #{x\ 4376}#
+                                       #{y\ 4377}#))))))))
+                   #{tmp\ 4373}#)
                  (syntax-violation
                    #f
                    "source expression failed to match any pattern"
-                   #{tmp\ 4271}#))))))
-       (#{quasiappend\ 4263}#
-         (lambda (#{x\ 4292}# #{y\ 4293}#)
-           (let ((#{tmp\ 4297}# (list #{x\ 4292}# #{y\ 4293}#)))
-             (let ((#{tmp\ 4298}#
-                     ($sc-dispatch #{tmp\ 4297}# (quote (any any)))))
-               (if #{tmp\ 4298}#
+                   #{tmp\ 4372}#))))))
+       (#{quasiappend\ 4364}#
+         (lambda (#{x\ 4393}# #{y\ 4394}#)
+           (let ((#{tmp\ 4398}# (list #{x\ 4393}# #{y\ 4394}#)))
+             (let ((#{tmp\ 4399}#
+                     ($sc-dispatch #{tmp\ 4398}# (quote (any any)))))
+               (if #{tmp\ 4399}#
                  (@apply
-                   (lambda (#{x\ 4301}# #{y\ 4302}#)
-                     (let ((#{tmp\ 4303}# #{y\ 4302}#))
-                       (let ((#{tmp\ 4304}#
+                   (lambda (#{x\ 4402}# #{y\ 4403}#)
+                     (let ((#{tmp\ 4404}# #{y\ 4403}#))
+                       (let ((#{tmp\ 4405}#
                                ($sc-dispatch
-                                 #{tmp\ 4303}#
+                                 #{tmp\ 4404}#
                                  '(#(free-id
                                      #(syntax-object
                                        quote
@@ -15960,160 +15929,160 @@
                                         #(ribcage
                                           #(x y)
                                           #((top) (top))
-                                          #("i4299" "i4300"))
+                                          #("i4400" "i4401"))
                                         #(ribcage () () ())
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(x y)
                                           #((top) (top))
-                                          #("i4294" "i4295"))
+                                          #("i4395" "i4396"))
                                         #(ribcage
                                           #(quasicons
                                             quasiappend
                                             quasivector
                                             quasi)
                                           #((top) (top) (top) (top))
-                                          #("i4258" "i4259" "i4260" "i4261")))
+                                          #("i4359" "i4360" "i4361" "i4362")))
                                        (hygiene guile)))
                                    ()))))
-                         (if #{tmp\ 4304}#
-                           (@apply (lambda () #{x\ 4301}#) #{tmp\ 4304}#)
-                           (let ((#{_\ 4306}# #{tmp\ 4303}#))
+                         (if #{tmp\ 4405}#
+                           (@apply (lambda () #{x\ 4402}#) #{tmp\ 4405}#)
+                           (let ((#{_\ 4407}# #{tmp\ 4404}#))
                              (list '#(syntax-object
                                       append
                                       ((top)
-                                       #(ribcage #(_) #((top)) #("i4305"))
+                                       #(ribcage #(_) #((top)) #("i4406"))
                                        #(ribcage
                                          #(x y)
                                          #((top) (top))
-                                         #("i4299" "i4300"))
+                                         #("i4400" "i4401"))
                                        #(ribcage () () ())
                                        #(ribcage () () ())
                                        #(ribcage
                                          #(x y)
                                          #((top) (top))
-                                         #("i4294" "i4295"))
+                                         #("i4395" "i4396"))
                                        #(ribcage
                                          #(quasicons
                                            quasiappend
                                            quasivector
                                            quasi)
                                          #((top) (top) (top) (top))
-                                         #("i4258" "i4259" "i4260" "i4261")))
+                                         #("i4359" "i4360" "i4361" "i4362")))
                                       (hygiene guile))
-                                   #{x\ 4301}#
-                                   #{y\ 4302}#))))))
-                   #{tmp\ 4298}#)
+                                   #{x\ 4402}#
+                                   #{y\ 4403}#))))))
+                   #{tmp\ 4399}#)
                  (syntax-violation
                    #f
                    "source expression failed to match any pattern"
-                   #{tmp\ 4297}#))))))
-       (#{quasivector\ 4264}#
-         (lambda (#{x\ 4307}#)
-           (let ((#{tmp\ 4310}# #{x\ 4307}#))
-             (let ((#{x\ 4312}# #{tmp\ 4310}#))
-               (let ((#{tmp\ 4313}# #{x\ 4312}#))
-                 (let ((#{tmp\ 4314}#
+                   #{tmp\ 4398}#))))))
+       (#{quasivector\ 4365}#
+         (lambda (#{x\ 4408}#)
+           (let ((#{tmp\ 4411}# #{x\ 4408}#))
+             (let ((#{x\ 4413}# #{tmp\ 4411}#))
+               (let ((#{tmp\ 4414}# #{x\ 4413}#))
+                 (let ((#{tmp\ 4415}#
                          ($sc-dispatch
-                           #{tmp\ 4313}#
+                           #{tmp\ 4414}#
                            '(#(free-id
                                #(syntax-object
                                  quote
                                  ((top)
-                                  #(ribcage #(x) #((top)) #("i4311"))
+                                  #(ribcage #(x) #((top)) #("i4412"))
                                   #(ribcage () () ())
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4308"))
+                                  #(ribcage #(x) #((top)) #("i4409"))
                                   #(ribcage
                                     #(quasicons quasiappend quasivector quasi)
                                     #((top) (top) (top) (top))
-                                    #("i4258" "i4259" "i4260" "i4261")))
+                                    #("i4359" "i4360" "i4361" "i4362")))
                                  (hygiene guile)))
                              each-any))))
-                   (if #{tmp\ 4314}#
+                   (if #{tmp\ 4415}#
                      (@apply
-                       (lambda (#{x\ 4316}#)
+                       (lambda (#{x\ 4417}#)
                          (list '#(syntax-object
                                   quote
                                   ((top)
-                                   #(ribcage #(x) #((top)) #("i4315"))
-                                   #(ribcage #(x) #((top)) #("i4311"))
+                                   #(ribcage #(x) #((top)) #("i4416"))
+                                   #(ribcage #(x) #((top)) #("i4412"))
                                    #(ribcage () () ())
                                    #(ribcage () () ())
-                                   #(ribcage #(x) #((top)) #("i4308"))
+                                   #(ribcage #(x) #((top)) #("i4409"))
                                    #(ribcage
                                      #(quasicons quasiappend quasivector quasi)
                                      #((top) (top) (top) (top))
-                                     #("i4258" "i4259" "i4260" "i4261")))
+                                     #("i4359" "i4360" "i4361" "i4362")))
                                   (hygiene guile))
-                               (list->vector #{x\ 4316}#)))
-                       #{tmp\ 4314}#)
-                     (let ((#{tmp\ 4318}#
+                               (list->vector #{x\ 4417}#)))
+                       #{tmp\ 4415}#)
+                     (let ((#{tmp\ 4419}#
                              ($sc-dispatch
-                               #{tmp\ 4313}#
+                               #{tmp\ 4414}#
                                '(#(free-id
                                    #(syntax-object
                                      list
                                      ((top)
-                                      #(ribcage #(x) #((top)) #("i4311"))
+                                      #(ribcage #(x) #((top)) #("i4412"))
                                       #(ribcage () () ())
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4308"))
+                                      #(ribcage #(x) #((top)) #("i4409"))
                                       #(ribcage
                                         #(quasicons
                                           quasiappend
                                           quasivector
                                           quasi)
                                         #((top) (top) (top) (top))
-                                        #("i4258" "i4259" "i4260" "i4261")))
+                                        #("i4359" "i4360" "i4361" "i4362")))
                                      (hygiene guile)))
                                  .
                                  each-any))))
-                       (if #{tmp\ 4318}#
+                       (if #{tmp\ 4419}#
                          (@apply
-                           (lambda (#{x\ 4320}#)
+                           (lambda (#{x\ 4421}#)
                              (cons '#(syntax-object
                                       vector
                                       ((top)
-                                       #(ribcage #(x) #((top)) #("i4319"))
-                                       #(ribcage #(x) #((top)) #("i4311"))
+                                       #(ribcage #(x) #((top)) #("i4420"))
+                                       #(ribcage #(x) #((top)) #("i4412"))
                                        #(ribcage () () ())
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4308"))
+                                       #(ribcage #(x) #((top)) #("i4409"))
                                        #(ribcage
                                          #(quasicons
                                            quasiappend
                                            quasivector
                                            quasi)
                                          #((top) (top) (top) (top))
-                                         #("i4258" "i4259" "i4260" "i4261")))
+                                         #("i4359" "i4360" "i4361" "i4362")))
                                       (hygiene guile))
-                                   #{x\ 4320}#))
-                           #{tmp\ 4318}#)
-                         (let ((#{_\ 4323}# #{tmp\ 4313}#))
+                                   #{x\ 4421}#))
+                           #{tmp\ 4419}#)
+                         (let ((#{_\ 4424}# #{tmp\ 4414}#))
                            (list '#(syntax-object
                                     list->vector
                                     ((top)
-                                     #(ribcage #(_) #((top)) #("i4322"))
-                                     #(ribcage #(x) #((top)) #("i4311"))
+                                     #(ribcage #(_) #((top)) #("i4423"))
+                                     #(ribcage #(x) #((top)) #("i4412"))
                                      #(ribcage () () ())
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i4308"))
+                                     #(ribcage #(x) #((top)) #("i4409"))
                                      #(ribcage
                                        #(quasicons
                                          quasiappend
                                          quasivector
                                          quasi)
                                        #((top) (top) (top) (top))
-                                       #("i4258" "i4259" "i4260" "i4261")))
+                                       #("i4359" "i4360" "i4361" "i4362")))
                                     (hygiene guile))
-                                 #{x\ 4312}#)))))))))))
-       (#{quasi\ 4265}#
-         (lambda (#{p\ 4324}# #{lev\ 4325}#)
-           (let ((#{tmp\ 4328}# #{p\ 4324}#))
-             (let ((#{tmp\ 4329}#
+                                 #{x\ 4413}#)))))))))))
+       (#{quasi\ 4366}#
+         (lambda (#{p\ 4425}# #{lev\ 4426}#)
+           (let ((#{tmp\ 4429}# #{p\ 4425}#))
+             (let ((#{tmp\ 4430}#
                      ($sc-dispatch
-                       #{tmp\ 4328}#
+                       #{tmp\ 4429}#
                        '(#(free-id
                            #(syntax-object
                              unquote
@@ -16122,54 +16091,54 @@
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4326" "i4327"))
+                                #("i4427" "i4428"))
                               #(ribcage
                                 #(quasicons quasiappend quasivector quasi)
                                 #((top) (top) (top) (top))
-                                #("i4258" "i4259" "i4260" "i4261")))
+                                #("i4359" "i4360" "i4361" "i4362")))
                              (hygiene guile)))
                          any))))
-               (if #{tmp\ 4329}#
+               (if #{tmp\ 4430}#
                  (@apply
-                   (lambda (#{p\ 4331}#)
-                     (if (= #{lev\ 4325}# 0)
-                       #{p\ 4331}#
-                       (#{quasicons\ 4262}#
+                   (lambda (#{p\ 4432}#)
+                     (if (= #{lev\ 4426}# 0)
+                       #{p\ 4432}#
+                       (#{quasicons\ 4363}#
                          '(#(syntax-object
                              quote
                              ((top)
-                              #(ribcage #(p) #((top)) #("i4330"))
+                              #(ribcage #(p) #((top)) #("i4431"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4326" "i4327"))
+                                #("i4427" "i4428"))
                               #(ribcage
                                 #(quasicons quasiappend quasivector quasi)
                                 #((top) (top) (top) (top))
-                                #("i4258" "i4259" "i4260" "i4261")))
+                                #("i4359" "i4360" "i4361" "i4362")))
                              (hygiene guile))
                            #(syntax-object
                              unquote
                              ((top)
-                              #(ribcage #(p) #((top)) #("i4330"))
+                              #(ribcage #(p) #((top)) #("i4431"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4326" "i4327"))
+                                #("i4427" "i4428"))
                               #(ribcage
                                 #(quasicons quasiappend quasivector quasi)
                                 #((top) (top) (top) (top))
-                                #("i4258" "i4259" "i4260" "i4261")))
+                                #("i4359" "i4360" "i4361" "i4362")))
                              (hygiene guile)))
-                         (#{quasi\ 4265}#
-                           (list #{p\ 4331}#)
-                           (1- #{lev\ 4325}#)))))
-                   #{tmp\ 4329}#)
-                 (let ((#{tmp\ 4332}#
+                         (#{quasi\ 4366}#
+                           (list #{p\ 4432}#)
+                           (1- #{lev\ 4426}#)))))
+                   #{tmp\ 4430}#)
+                 (let ((#{tmp\ 4433}#
                          ($sc-dispatch
-                           #{tmp\ 4328}#
+                           #{tmp\ 4429}#
                            '(#(free-id
                                #(syntax-object
                                  unquote
@@ -16178,47 +16147,47 @@
                                   #(ribcage
                                     #(p lev)
                                     #((top) (top))
-                                    #("i4326" "i4327"))
+                                    #("i4427" "i4428"))
                                   #(ribcage
                                     #(quasicons quasiappend quasivector quasi)
                                     #((top) (top) (top) (top))
-                                    #("i4258" "i4259" "i4260" "i4261")))
+                                    #("i4359" "i4360" "i4361" "i4362")))
                                  (hygiene guile)))
                              .
                              any))))
-                   (if (if #{tmp\ 4332}#
+                   (if (if #{tmp\ 4433}#
                          (@apply
-                           (lambda (#{args\ 4334}#) (= #{lev\ 4325}# 0))
-                           #{tmp\ 4332}#)
+                           (lambda (#{args\ 4435}#) (= #{lev\ 4426}# 0))
+                           #{tmp\ 4433}#)
                          #f)
                      (@apply
-                       (lambda (#{args\ 4336}#)
+                       (lambda (#{args\ 4437}#)
                          (syntax-violation
                            'unquote
                            "unquote takes exactly one argument"
-                           #{p\ 4324}#
+                           #{p\ 4425}#
                            (cons '#(syntax-object
                                     unquote
                                     ((top)
-                                     #(ribcage #(args) #((top)) #("i4335"))
+                                     #(ribcage #(args) #((top)) #("i4436"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(p lev)
                                        #((top) (top))
-                                       #("i4326" "i4327"))
+                                       #("i4427" "i4428"))
                                      #(ribcage
                                        #(quasicons
                                          quasiappend
                                          quasivector
                                          quasi)
                                        #((top) (top) (top) (top))
-                                       #("i4258" "i4259" "i4260" "i4261")))
+                                       #("i4359" "i4360" "i4361" "i4362")))
                                     (hygiene guile))
-                                 #{args\ 4336}#)))
-                       #{tmp\ 4332}#)
-                     (let ((#{tmp\ 4337}#
+                                 #{args\ 4437}#)))
+                       #{tmp\ 4433}#)
+                     (let ((#{tmp\ 4438}#
                              ($sc-dispatch
-                               #{tmp\ 4328}#
+                               #{tmp\ 4429}#
                                '((#(free-id
                                     #(syntax-object
                                       unquote-splicing
@@ -16227,46 +16196,46 @@
                                        #(ribcage
                                          #(p lev)
                                          #((top) (top))
-                                         #("i4326" "i4327"))
+                                         #("i4427" "i4428"))
                                        #(ribcage
                                          #(quasicons
                                            quasiappend
                                            quasivector
                                            quasi)
                                          #((top) (top) (top) (top))
-                                         #("i4258" "i4259" "i4260" "i4261")))
+                                         #("i4359" "i4360" "i4361" "i4362")))
                                       (hygiene guile)))
                                   any)
                                  .
                                  any))))
-                       (if #{tmp\ 4337}#
+                       (if #{tmp\ 4438}#
                          (@apply
-                           (lambda (#{p\ 4340}# #{q\ 4341}#)
-                             (if (= #{lev\ 4325}# 0)
-                               (#{quasiappend\ 4263}#
-                                 #{p\ 4340}#
-                                 (#{quasi\ 4265}# #{q\ 4341}# #{lev\ 4325}#))
-                               (#{quasicons\ 4262}#
-                                 (#{quasicons\ 4262}#
+                           (lambda (#{p\ 4441}# #{q\ 4442}#)
+                             (if (= #{lev\ 4426}# 0)
+                               (#{quasiappend\ 4364}#
+                                 #{p\ 4441}#
+                                 (#{quasi\ 4366}# #{q\ 4442}# #{lev\ 4426}#))
+                               (#{quasicons\ 4363}#
+                                 (#{quasicons\ 4363}#
                                    '(#(syntax-object
                                        quote
                                        ((top)
                                         #(ribcage
                                           #(p q)
                                           #((top) (top))
-                                          #("i4338" "i4339"))
+                                          #("i4439" "i4440"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(p lev)
                                           #((top) (top))
-                                          #("i4326" "i4327"))
+                                          #("i4427" "i4428"))
                                         #(ribcage
                                           #(quasicons
                                             quasiappend
                                             quasivector
                                             quasi)
                                           #((top) (top) (top) (top))
-                                          #("i4258" "i4259" "i4260" "i4261")))
+                                          #("i4359" "i4360" "i4361" "i4362")))
                                        (hygiene guile))
                                      #(syntax-object
                                        unquote-splicing
@@ -16274,28 +16243,28 @@
                                         #(ribcage
                                           #(p q)
                                           #((top) (top))
-                                          #("i4338" "i4339"))
+                                          #("i4439" "i4440"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(p lev)
                                           #((top) (top))
-                                          #("i4326" "i4327"))
+                                          #("i4427" "i4428"))
                                         #(ribcage
                                           #(quasicons
                                             quasiappend
                                             quasivector
                                             quasi)
                                           #((top) (top) (top) (top))
-                                          #("i4258" "i4259" "i4260" "i4261")))
+                                          #("i4359" "i4360" "i4361" "i4362")))
                                        (hygiene guile)))
-                                   (#{quasi\ 4265}#
-                                     (list #{p\ 4340}#)
-                                     (1- #{lev\ 4325}#)))
-                                 (#{quasi\ 4265}# #{q\ 4341}# #{lev\ 4325}#))))
-                           #{tmp\ 4337}#)
-                         (let ((#{tmp\ 4342}#
+                                   (#{quasi\ 4366}#
+                                     (list #{p\ 4441}#)
+                                     (1- #{lev\ 4426}#)))
+                                 (#{quasi\ 4366}# #{q\ 4442}# #{lev\ 4426}#))))
+                           #{tmp\ 4438}#)
+                         (let ((#{tmp\ 4443}#
                                  ($sc-dispatch
-                                   #{tmp\ 4328}#
+                                   #{tmp\ 4429}#
                                    '((#(free-id
                                         #(syntax-object
                                           unquote-splicing
@@ -16304,62 +16273,62 @@
                                            #(ribcage
                                              #(p lev)
                                              #((top) (top))
-                                             #("i4326" "i4327"))
+                                             #("i4427" "i4428"))
                                            #(ribcage
                                              #(quasicons
                                                quasiappend
                                                quasivector
                                                quasi)
                                              #((top) (top) (top) (top))
-                                             #("i4258"
-                                               "i4259"
-                                               "i4260"
-                                               "i4261")))
+                                             #("i4359"
+                                               "i4360"
+                                               "i4361"
+                                               "i4362")))
                                           (hygiene guile)))
                                       .
                                       any)
                                      .
                                      any))))
-                           (if (if #{tmp\ 4342}#
+                           (if (if #{tmp\ 4443}#
                                  (@apply
-                                   (lambda (#{args\ 4345}# #{q\ 4346}#)
-                                     (= #{lev\ 4325}# 0))
-                                   #{tmp\ 4342}#)
+                                   (lambda (#{args\ 4446}# #{q\ 4447}#)
+                                     (= #{lev\ 4426}# 0))
+                                   #{tmp\ 4443}#)
                                  #f)
                              (@apply
-                               (lambda (#{args\ 4349}# #{q\ 4350}#)
+                               (lambda (#{args\ 4450}# #{q\ 4451}#)
                                  (syntax-violation
                                    'unquote-splicing
                                    "unquote-splicing takes exactly one 
argument"
-                                   #{p\ 4324}#
+                                   #{p\ 4425}#
                                    (cons '#(syntax-object
                                             unquote-splicing
                                             ((top)
                                              #(ribcage
                                                #(args q)
                                                #((top) (top))
-                                               #("i4347" "i4348"))
+                                               #("i4448" "i4449"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(p lev)
                                                #((top) (top))
-                                               #("i4326" "i4327"))
+                                               #("i4427" "i4428"))
                                              #(ribcage
                                                #(quasicons
                                                  quasiappend
                                                  quasivector
                                                  quasi)
                                                #((top) (top) (top) (top))
-                                               #("i4258"
-                                                 "i4259"
-                                                 "i4260"
-                                                 "i4261")))
+                                               #("i4359"
+                                                 "i4360"
+                                                 "i4361"
+                                                 "i4362")))
                                             (hygiene guile))
-                                         #{args\ 4349}#)))
-                               #{tmp\ 4342}#)
-                             (let ((#{tmp\ 4351}#
+                                         #{args\ 4450}#)))
+                               #{tmp\ 4443}#)
+                             (let ((#{tmp\ 4452}#
                                      ($sc-dispatch
-                                       #{tmp\ 4328}#
+                                       #{tmp\ 4429}#
                                        '(#(free-id
                                            #(syntax-object
                                              quasiquote
@@ -16368,107 +16337,107 @@
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i4326" "i4327"))
+                                                #("i4427" "i4428"))
                                               #(ribcage
                                                 #(quasicons
                                                   quasiappend
                                                   quasivector
                                                   quasi)
                                                 #((top) (top) (top) (top))
-                                                #("i4258"
-                                                  "i4259"
-                                                  "i4260"
-                                                  "i4261")))
+                                                #("i4359"
+                                                  "i4360"
+                                                  "i4361"
+                                                  "i4362")))
                                              (hygiene guile)))
                                          any))))
-                               (if #{tmp\ 4351}#
+                               (if #{tmp\ 4452}#
                                  (@apply
-                                   (lambda (#{p\ 4353}#)
-                                     (#{quasicons\ 4262}#
+                                   (lambda (#{p\ 4454}#)
+                                     (#{quasicons\ 4363}#
                                        '(#(syntax-object
                                            quote
                                            ((top)
-                                            #(ribcage #(p) #((top)) #("i4352"))
+                                            #(ribcage #(p) #((top)) #("i4453"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(p lev)
                                               #((top) (top))
-                                              #("i4326" "i4327"))
+                                              #("i4427" "i4428"))
                                             #(ribcage
                                               #(quasicons
                                                 quasiappend
                                                 quasivector
                                                 quasi)
                                               #((top) (top) (top) (top))
-                                              #("i4258"
-                                                "i4259"
-                                                "i4260"
-                                                "i4261")))
+                                              #("i4359"
+                                                "i4360"
+                                                "i4361"
+                                                "i4362")))
                                            (hygiene guile))
                                          #(syntax-object
                                            quasiquote
                                            ((top)
-                                            #(ribcage #(p) #((top)) #("i4352"))
+                                            #(ribcage #(p) #((top)) #("i4453"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(p lev)
                                               #((top) (top))
-                                              #("i4326" "i4327"))
+                                              #("i4427" "i4428"))
                                             #(ribcage
                                               #(quasicons
                                                 quasiappend
                                                 quasivector
                                                 quasi)
                                               #((top) (top) (top) (top))
-                                              #("i4258"
-                                                "i4259"
-                                                "i4260"
-                                                "i4261")))
+                                              #("i4359"
+                                                "i4360"
+                                                "i4361"
+                                                "i4362")))
                                            (hygiene guile)))
-                                       (#{quasi\ 4265}#
-                                         (list #{p\ 4353}#)
-                                         (1+ #{lev\ 4325}#))))
-                                   #{tmp\ 4351}#)
-                                 (let ((#{tmp\ 4354}#
+                                       (#{quasi\ 4366}#
+                                         (list #{p\ 4454}#)
+                                         (1+ #{lev\ 4426}#))))
+                                   #{tmp\ 4452}#)
+                                 (let ((#{tmp\ 4455}#
                                          ($sc-dispatch
-                                           #{tmp\ 4328}#
+                                           #{tmp\ 4429}#
                                            '(any . any))))
-                                   (if #{tmp\ 4354}#
+                                   (if #{tmp\ 4455}#
                                      (@apply
-                                       (lambda (#{p\ 4357}# #{q\ 4358}#)
-                                         (#{quasicons\ 4262}#
-                                           (#{quasi\ 4265}#
-                                             #{p\ 4357}#
-                                             #{lev\ 4325}#)
-                                           (#{quasi\ 4265}#
-                                             #{q\ 4358}#
-                                             #{lev\ 4325}#)))
-                                       #{tmp\ 4354}#)
-                                     (let ((#{tmp\ 4359}#
+                                       (lambda (#{p\ 4458}# #{q\ 4459}#)
+                                         (#{quasicons\ 4363}#
+                                           (#{quasi\ 4366}#
+                                             #{p\ 4458}#
+                                             #{lev\ 4426}#)
+                                           (#{quasi\ 4366}#
+                                             #{q\ 4459}#
+                                             #{lev\ 4426}#)))
+                                       #{tmp\ 4455}#)
+                                     (let ((#{tmp\ 4460}#
                                              ($sc-dispatch
-                                               #{tmp\ 4328}#
+                                               #{tmp\ 4429}#
                                                '#(vector each-any))))
-                                       (if #{tmp\ 4359}#
+                                       (if #{tmp\ 4460}#
                                          (@apply
-                                           (lambda (#{x\ 4361}#)
-                                             (#{quasivector\ 4264}#
-                                               (#{quasi\ 4265}#
-                                                 #{x\ 4361}#
-                                                 #{lev\ 4325}#)))
-                                           #{tmp\ 4359}#)
-                                         (let ((#{p\ 4364}# #{tmp\ 4328}#))
+                                           (lambda (#{x\ 4462}#)
+                                             (#{quasivector\ 4365}#
+                                               (#{quasi\ 4366}#
+                                                 #{x\ 4462}#
+                                                 #{lev\ 4426}#)))
+                                           #{tmp\ 4460}#)
+                                         (let ((#{p\ 4465}# #{tmp\ 4429}#))
                                            (list '#(syntax-object
                                                     quote
                                                     ((top)
                                                      #(ribcage
                                                        #(p)
                                                        #((top))
-                                                       #("i4363"))
+                                                       #("i4464"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(p lev)
                                                        #((top) (top))
-                                                       #("i4326" "i4327"))
+                                                       #("i4427" "i4428"))
                                                      #(ribcage
                                                        #(quasicons
                                                          quasiappend
@@ -16478,220 +16447,220 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                       #("i4258"
-                                                         "i4259"
-                                                         "i4260"
-                                                         "i4261")))
+                                                       #("i4359"
+                                                         "i4360"
+                                                         "i4361"
+                                                         "i4362")))
                                                     (hygiene guile))
-                                                 #{p\ 
4364}#))))))))))))))))))))
+                                                 #{p\ 
4465}#))))))))))))))))))))
       (begin
-        (lambda (#{x\ 4365}#)
-          (let ((#{tmp\ 4367}# #{x\ 4365}#))
-            (let ((#{tmp\ 4368}#
-                    ($sc-dispatch #{tmp\ 4367}# (quote (_ any)))))
-              (if #{tmp\ 4368}#
+        (lambda (#{x\ 4466}#)
+          (let ((#{tmp\ 4468}# #{x\ 4466}#))
+            (let ((#{tmp\ 4469}#
+                    ($sc-dispatch #{tmp\ 4468}# (quote (_ any)))))
+              (if #{tmp\ 4469}#
                 (@apply
-                  (lambda (#{e\ 4370}#)
-                    (#{quasi\ 4265}# #{e\ 4370}# 0))
-                  #{tmp\ 4368}#)
+                  (lambda (#{e\ 4471}#)
+                    (#{quasi\ 4366}# #{e\ 4471}# 0))
+                  #{tmp\ 4469}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp\ 4367}#)))))))))
+                  #{tmp\ 4468}#)))))))))
 
 (define include
   (make-syntax-transformer
     'include
     'macro
-    (lambda (#{x\ 4371}#)
+    (lambda (#{x\ 4472}#)
       (letrec*
-        ((#{read-file\ 4374}#
-           (lambda (#{fn\ 4375}# #{k\ 4376}#)
+        ((#{read-file\ 4475}#
+           (lambda (#{fn\ 4476}# #{k\ 4477}#)
              (begin
-               (let ((#{p\ 4380}# (open-input-file #{fn\ 4375}#)))
+               (let ((#{p\ 4481}# (open-input-file #{fn\ 4476}#)))
                  (letrec*
-                   ((#{f\ 4384}#
-                      (lambda (#{x\ 4385}# #{result\ 4386}#)
-                        (if (eof-object? #{x\ 4385}#)
+                   ((#{f\ 4485}#
+                      (lambda (#{x\ 4486}# #{result\ 4487}#)
+                        (if (eof-object? #{x\ 4486}#)
                           (begin
-                            (close-input-port #{p\ 4380}#)
-                            (reverse #{result\ 4386}#))
-                          (#{f\ 4384}#
-                            (read #{p\ 4380}#)
-                            (cons (datum->syntax #{k\ 4376}# #{x\ 4385}#)
-                                  #{result\ 4386}#))))))
+                            (close-input-port #{p\ 4481}#)
+                            (reverse #{result\ 4487}#))
+                          (#{f\ 4485}#
+                            (read #{p\ 4481}#)
+                            (cons (datum->syntax #{k\ 4477}# #{x\ 4486}#)
+                                  #{result\ 4487}#))))))
                    (begin
-                     (#{f\ 4384}# (read #{p\ 4380}#) (quote ())))))))))
+                     (#{f\ 4485}# (read #{p\ 4481}#) (quote ())))))))))
         (begin
-          (let ((#{tmp\ 4387}# #{x\ 4371}#))
-            (let ((#{tmp\ 4388}#
-                    ($sc-dispatch #{tmp\ 4387}# (quote (any any)))))
-              (if #{tmp\ 4388}#
+          (let ((#{tmp\ 4488}# #{x\ 4472}#))
+            (let ((#{tmp\ 4489}#
+                    ($sc-dispatch #{tmp\ 4488}# (quote (any any)))))
+              (if #{tmp\ 4489}#
                 (@apply
-                  (lambda (#{k\ 4391}# #{filename\ 4392}#)
+                  (lambda (#{k\ 4492}# #{filename\ 4493}#)
                     (begin
-                      (let ((#{fn\ 4394}# (syntax->datum #{filename\ 4392}#)))
-                        (let ((#{tmp\ 4396}#
-                                (#{read-file\ 4374}#
-                                  #{fn\ 4394}#
-                                  #{filename\ 4392}#)))
-                          (let ((#{tmp\ 4397}#
+                      (let ((#{fn\ 4495}# (syntax->datum #{filename\ 4493}#)))
+                        (let ((#{tmp\ 4497}#
+                                (#{read-file\ 4475}#
+                                  #{fn\ 4495}#
+                                  #{filename\ 4493}#)))
+                          (let ((#{tmp\ 4498}#
                                   ($sc-dispatch
-                                    #{tmp\ 4396}#
+                                    #{tmp\ 4497}#
                                     'each-any)))
-                            (if #{tmp\ 4397}#
+                            (if #{tmp\ 4498}#
                               (@apply
-                                (lambda (#{exp\ 4399}#)
+                                (lambda (#{exp\ 4500}#)
                                   (cons '#(syntax-object
                                            begin
                                            ((top)
                                             #(ribcage
                                               #(exp)
                                               #((top))
-                                              #("i4398"))
+                                              #("i4499"))
                                             #(ribcage () () ())
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(fn)
                                               #((top))
-                                              #("i4393"))
+                                              #("i4494"))
                                             #(ribcage
                                               #(k filename)
                                               #((top) (top))
-                                              #("i4389" "i4390"))
+                                              #("i4490" "i4491"))
                                             #(ribcage
                                               (read-file)
                                               ((top))
-                                              ("i4373"))
+                                              ("i4474"))
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4372")))
+                                              #("i4473")))
                                            (hygiene guile))
-                                        #{exp\ 4399}#))
-                                #{tmp\ 4397}#)
+                                        #{exp\ 4500}#))
+                                #{tmp\ 4498}#)
                               (syntax-violation
                                 #f
                                 "source expression failed to match any pattern"
-                                #{tmp\ 4396}#)))))))
-                  #{tmp\ 4388}#)
+                                #{tmp\ 4497}#)))))))
+                  #{tmp\ 4489}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp\ 4387}#)))))))))
+                  #{tmp\ 4488}#)))))))))
 
 (define include-from-path
   (make-syntax-transformer
     'include-from-path
     'macro
-    (lambda (#{x\ 4401}#)
-      (let ((#{tmp\ 4403}# #{x\ 4401}#))
-        (let ((#{tmp\ 4404}#
-                ($sc-dispatch #{tmp\ 4403}# (quote (any any)))))
-          (if #{tmp\ 4404}#
+    (lambda (#{x\ 4502}#)
+      (let ((#{tmp\ 4504}# #{x\ 4502}#))
+        (let ((#{tmp\ 4505}#
+                ($sc-dispatch #{tmp\ 4504}# (quote (any any)))))
+          (if #{tmp\ 4505}#
             (@apply
-              (lambda (#{k\ 4407}# #{filename\ 4408}#)
+              (lambda (#{k\ 4508}# #{filename\ 4509}#)
                 (begin
-                  (let ((#{fn\ 4410}# (syntax->datum #{filename\ 4408}#)))
-                    (let ((#{tmp\ 4412}#
+                  (let ((#{fn\ 4511}# (syntax->datum #{filename\ 4509}#)))
+                    (let ((#{tmp\ 4513}#
                             (datum->syntax
-                              #{filename\ 4408}#
+                              #{filename\ 4509}#
                               (begin
-                                (let ((#{t\ 4417}#
-                                        (%search-load-path #{fn\ 4410}#)))
-                                  (if #{t\ 4417}#
-                                    #{t\ 4417}#
+                                (let ((#{t\ 4518}#
+                                        (%search-load-path #{fn\ 4511}#)))
+                                  (if #{t\ 4518}#
+                                    #{t\ 4518}#
                                     (syntax-violation
                                       'include-from-path
                                       "file not found in path"
-                                      #{x\ 4401}#
-                                      #{filename\ 4408}#)))))))
-                      (let ((#{fn\ 4414}# #{tmp\ 4412}#))
+                                      #{x\ 4502}#
+                                      #{filename\ 4509}#)))))))
+                      (let ((#{fn\ 4515}# #{tmp\ 4513}#))
                         (list '#(syntax-object
                                  include
                                  ((top)
-                                  #(ribcage #(fn) #((top)) #("i4413"))
+                                  #(ribcage #(fn) #((top)) #("i4514"))
                                   #(ribcage () () ())
                                   #(ribcage () () ())
-                                  #(ribcage #(fn) #((top)) #("i4409"))
+                                  #(ribcage #(fn) #((top)) #("i4510"))
                                   #(ribcage
                                     #(k filename)
                                     #((top) (top))
-                                    #("i4405" "i4406"))
+                                    #("i4506" "i4507"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4402")))
+                                  #(ribcage #(x) #((top)) #("i4503")))
                                  (hygiene guile))
-                              #{fn\ 4414}#))))))
-              #{tmp\ 4404}#)
+                              #{fn\ 4515}#))))))
+              #{tmp\ 4505}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp\ 4403}#)))))))
+              #{tmp\ 4504}#)))))))
 
 (define unquote
   (make-syntax-transformer
     'unquote
     'macro
-    (lambda (#{x\ 4419}#)
-      (let ((#{tmp\ 4421}# #{x\ 4419}#))
-        (let ((#{tmp\ 4422}#
-                ($sc-dispatch #{tmp\ 4421}# (quote (_ any)))))
-          (if #{tmp\ 4422}#
+    (lambda (#{x\ 4520}#)
+      (let ((#{tmp\ 4522}# #{x\ 4520}#))
+        (let ((#{tmp\ 4523}#
+                ($sc-dispatch #{tmp\ 4522}# (quote (_ any)))))
+          (if #{tmp\ 4523}#
             (@apply
-              (lambda (#{e\ 4424}#)
+              (lambda (#{e\ 4525}#)
                 (syntax-violation
                   'unquote
                   "expression not valid outside of quasiquote"
-                  #{x\ 4419}#))
-              #{tmp\ 4422}#)
+                  #{x\ 4520}#))
+              #{tmp\ 4523}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp\ 4421}#)))))))
+              #{tmp\ 4522}#)))))))
 
 (define unquote-splicing
   (make-syntax-transformer
     'unquote-splicing
     'macro
-    (lambda (#{x\ 4425}#)
-      (let ((#{tmp\ 4427}# #{x\ 4425}#))
-        (let ((#{tmp\ 4428}#
-                ($sc-dispatch #{tmp\ 4427}# (quote (_ any)))))
-          (if #{tmp\ 4428}#
+    (lambda (#{x\ 4526}#)
+      (let ((#{tmp\ 4528}# #{x\ 4526}#))
+        (let ((#{tmp\ 4529}#
+                ($sc-dispatch #{tmp\ 4528}# (quote (_ any)))))
+          (if #{tmp\ 4529}#
             (@apply
-              (lambda (#{e\ 4430}#)
+              (lambda (#{e\ 4531}#)
                 (syntax-violation
                   'unquote-splicing
                   "expression not valid outside of quasiquote"
-                  #{x\ 4425}#))
-              #{tmp\ 4428}#)
+                  #{x\ 4526}#))
+              #{tmp\ 4529}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp\ 4427}#)))))))
+              #{tmp\ 4528}#)))))))
 
 (define case
   (make-syntax-transformer
     'case
     'macro
-    (lambda (#{x\ 4431}#)
-      (let ((#{tmp\ 4433}# #{x\ 4431}#))
-        (let ((#{tmp\ 4434}#
+    (lambda (#{x\ 4532}#)
+      (let ((#{tmp\ 4534}# #{x\ 4532}#))
+        (let ((#{tmp\ 4535}#
                 ($sc-dispatch
-                  #{tmp\ 4433}#
+                  #{tmp\ 4534}#
                   '(_ any any . each-any))))
-          (if #{tmp\ 4434}#
+          (if #{tmp\ 4535}#
             (@apply
-              (lambda (#{e\ 4438}# #{m1\ 4439}# #{m2\ 4440}#)
-                (let ((#{tmp\ 4442}#
+              (lambda (#{e\ 4539}# #{m1\ 4540}# #{m2\ 4541}#)
+                (let ((#{tmp\ 4543}#
                         (letrec*
-                          ((#{f\ 4448}#
-                             (lambda (#{clause\ 4449}# #{clauses\ 4450}#)
-                               (if (null? #{clauses\ 4450}#)
-                                 (let ((#{tmp\ 4452}# #{clause\ 4449}#))
-                                   (let ((#{tmp\ 4453}#
+                          ((#{f\ 4549}#
+                             (lambda (#{clause\ 4550}# #{clauses\ 4551}#)
+                               (if (null? #{clauses\ 4551}#)
+                                 (let ((#{tmp\ 4553}# #{clause\ 4550}#))
+                                   (let ((#{tmp\ 4554}#
                                            ($sc-dispatch
-                                             #{tmp\ 4452}#
+                                             #{tmp\ 4553}#
                                              '(#(free-id
                                                  #(syntax-object
                                                    else
@@ -16700,92 +16669,92 @@
                                                     #(ribcage
                                                       #(f clause clauses)
                                                       #((top) (top) (top))
-                                                      #("i4445"
-                                                        "i4446"
-                                                        "i4447"))
+                                                      #("i4546"
+                                                        "i4547"
+                                                        "i4548"))
                                                     #(ribcage
                                                       #(e m1 m2)
                                                       #((top) (top) (top))
-                                                      #("i4435"
-                                                        "i4436"
-                                                        "i4437"))
+                                                      #("i4536"
+                                                        "i4537"
+                                                        "i4538"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i4432")))
+                                                      #("i4533")))
                                                    (hygiene guile)))
                                                any
                                                .
                                                each-any))))
-                                     (if #{tmp\ 4453}#
+                                     (if #{tmp\ 4554}#
                                        (@apply
-                                         (lambda (#{e1\ 4456}# #{e2\ 4457}#)
+                                         (lambda (#{e1\ 4557}# #{e2\ 4558}#)
                                            (cons '#(syntax-object
                                                     begin
                                                     ((top)
                                                      #(ribcage
                                                        #(e1 e2)
                                                        #((top) (top))
-                                                       #("i4454" "i4455"))
+                                                       #("i4555" "i4556"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(f clause clauses)
                                                        #((top) (top) (top))
-                                                       #("i4445"
-                                                         "i4446"
-                                                         "i4447"))
+                                                       #("i4546"
+                                                         "i4547"
+                                                         "i4548"))
                                                      #(ribcage
                                                        #(e m1 m2)
                                                        #((top) (top) (top))
-                                                       #("i4435"
-                                                         "i4436"
-                                                         "i4437"))
+                                                       #("i4536"
+                                                         "i4537"
+                                                         "i4538"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i4432")))
+                                                       #("i4533")))
                                                     (hygiene guile))
-                                                 (cons #{e1\ 4456}#
-                                                       #{e2\ 4457}#)))
-                                         #{tmp\ 4453}#)
-                                       (let ((#{tmp\ 4459}#
+                                                 (cons #{e1\ 4557}#
+                                                       #{e2\ 4558}#)))
+                                         #{tmp\ 4554}#)
+                                       (let ((#{tmp\ 4560}#
                                                ($sc-dispatch
-                                                 #{tmp\ 4452}#
+                                                 #{tmp\ 4553}#
                                                  '(each-any any . each-any))))
-                                         (if #{tmp\ 4459}#
+                                         (if #{tmp\ 4560}#
                                            (@apply
-                                             (lambda (#{k\ 4463}#
-                                                      #{e1\ 4464}#
-                                                      #{e2\ 4465}#)
+                                             (lambda (#{k\ 4564}#
+                                                      #{e1\ 4565}#
+                                                      #{e2\ 4566}#)
                                                (list '#(syntax-object
                                                         if
                                                         ((top)
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i4460"
-                                                             "i4461"
-                                                             "i4462"))
+                                                           #("i4561"
+                                                             "i4562"
+                                                             "i4563"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i4445"
-                                                             "i4446"
-                                                             "i4447"))
+                                                           #("i4546"
+                                                             "i4547"
+                                                             "i4548"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i4435"
-                                                             "i4436"
-                                                             "i4437"))
+                                                           #("i4536"
+                                                             "i4537"
+                                                             "i4538"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4432")))
+                                                           #("i4533")))
                                                         (hygiene guile))
                                                      (list '#(syntax-object
                                                               memv
@@ -16795,9 +16764,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4460"
-                                                                   "i4461"
-                                                                   "i4462"))
+                                                                 #("i4561"
+                                                                   "i4562"
+                                                                   "i4563"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16809,17 +16778,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4445"
-                                                                   "i4446"
-                                                                   "i4447"))
+                                                                 #("i4546"
+                                                                   "i4547"
+                                                                   "i4548"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4435"
-                                                                   "i4436"
-                                                                   "i4437"))
+                                                                 #("i4536"
+                                                                   "i4537"
+                                                                   "i4538"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16827,7 +16796,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4432")))
+                                                                 #("i4533")))
                                                               (hygiene guile))
                                                            '#(syntax-object
                                                               t
@@ -16837,9 +16806,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4460"
-                                                                   "i4461"
-                                                                   "i4462"))
+                                                                 #("i4561"
+                                                                   "i4562"
+                                                                   "i4563"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16851,17 +16820,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4445"
-                                                                   "i4446"
-                                                                   "i4447"))
+                                                                 #("i4546"
+                                                                   "i4547"
+                                                                   "i4548"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4435"
-                                                                   "i4436"
-                                                                   "i4437"))
+                                                                 #("i4536"
+                                                                   "i4537"
+                                                                   "i4538"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16869,7 +16838,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4432")))
+                                                                 #("i4533")))
                                                               (hygiene guile))
                                                            (list 
'#(syntax-object
                                                                     quote
@@ -16881,9 +16850,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4460"
-                                                                         
"i4461"
-                                                                         
"i4462"))
+                                                                       
#("i4561"
+                                                                         
"i4562"
+                                                                         
"i4563"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -16895,9 +16864,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4445"
-                                                                         
"i4446"
-                                                                         
"i4447"))
+                                                                       
#("i4546"
+                                                                         
"i4547"
+                                                                         
"i4548"))
                                                                      #(ribcage
                                                                        #(e
                                                                          m1
@@ -16905,9 +16874,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4435"
-                                                                         
"i4436"
-                                                                         
"i4437"))
+                                                                       
#("i4536"
+                                                                         
"i4537"
+                                                                         
"i4538"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -16915,10 +16884,10 @@
                                                                      #(ribcage
                                                                        #(x)
                                                                        #((top))
-                                                                       
#("i4432")))
+                                                                       
#("i4533")))
                                                                     (hygiene
                                                                       guile))
-                                                                 #{k\ 4463}#))
+                                                                 #{k\ 4564}#))
                                                      (cons '#(syntax-object
                                                               begin
                                                               ((top)
@@ -16927,9 +16896,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4460"
-                                                                   "i4461"
-                                                                   "i4462"))
+                                                                 #("i4561"
+                                                                   "i4562"
+                                                                   "i4563"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16941,17 +16910,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4445"
-                                                                   "i4446"
-                                                                   "i4447"))
+                                                                 #("i4546"
+                                                                   "i4547"
+                                                                   "i4548"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4435"
-                                                                   "i4436"
-                                                                   "i4437"))
+                                                                 #("i4536"
+                                                                   "i4537"
+                                                                   "i4538"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16959,63 +16928,63 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4432")))
+                                                                 #("i4533")))
                                                               (hygiene guile))
-                                                           (cons #{e1\ 4464}#
-                                                                 #{e2\ 
4465}#))))
-                                             #{tmp\ 4459}#)
-                                           (let ((#{_\ 4469}# #{tmp\ 4452}#))
+                                                           (cons #{e1\ 4565}#
+                                                                 #{e2\ 
4566}#))))
+                                             #{tmp\ 4560}#)
+                                           (let ((#{_\ 4570}# #{tmp\ 4553}#))
                                              (syntax-violation
                                                'case
                                                "bad clause"
-                                               #{x\ 4431}#
-                                               #{clause\ 4449}#)))))))
-                                 (let ((#{tmp\ 4471}#
-                                         (#{f\ 4448}#
-                                           (car #{clauses\ 4450}#)
-                                           (cdr #{clauses\ 4450}#))))
-                                   (let ((#{rest\ 4473}# #{tmp\ 4471}#))
-                                     (let ((#{tmp\ 4474}# #{clause\ 4449}#))
-                                       (let ((#{tmp\ 4475}#
+                                               #{x\ 4532}#
+                                               #{clause\ 4550}#)))))))
+                                 (let ((#{tmp\ 4572}#
+                                         (#{f\ 4549}#
+                                           (car #{clauses\ 4551}#)
+                                           (cdr #{clauses\ 4551}#))))
+                                   (let ((#{rest\ 4574}# #{tmp\ 4572}#))
+                                     (let ((#{tmp\ 4575}# #{clause\ 4550}#))
+                                       (let ((#{tmp\ 4576}#
                                                ($sc-dispatch
-                                                 #{tmp\ 4474}#
+                                                 #{tmp\ 4575}#
                                                  '(each-any any . each-any))))
-                                         (if #{tmp\ 4475}#
+                                         (if #{tmp\ 4576}#
                                            (@apply
-                                             (lambda (#{k\ 4479}#
-                                                      #{e1\ 4480}#
-                                                      #{e2\ 4481}#)
+                                             (lambda (#{k\ 4580}#
+                                                      #{e1\ 4581}#
+                                                      #{e2\ 4582}#)
                                                (list '#(syntax-object
                                                         if
                                                         ((top)
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i4476"
-                                                             "i4477"
-                                                             "i4478"))
+                                                           #("i4577"
+                                                             "i4578"
+                                                             "i4579"))
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i4472"))
+                                                           #("i4573"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i4445"
-                                                             "i4446"
-                                                             "i4447"))
+                                                           #("i4546"
+                                                             "i4547"
+                                                             "i4548"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i4435"
-                                                             "i4436"
-                                                             "i4437"))
+                                                           #("i4536"
+                                                             "i4537"
+                                                             "i4538"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4432")))
+                                                           #("i4533")))
                                                         (hygiene guile))
                                                      (list '#(syntax-object
                                                               memv
@@ -17025,13 +16994,13 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4476"
-                                                                   "i4477"
-                                                                   "i4478"))
+                                                                 #("i4577"
+                                                                   "i4578"
+                                                                   "i4579"))
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i4472"))
+                                                                 #("i4573"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17043,17 +17012,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4445"
-                                                                   "i4446"
-                                                                   "i4447"))
+                                                                 #("i4546"
+                                                                   "i4547"
+                                                                   "i4548"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4435"
-                                                                   "i4436"
-                                                                   "i4437"))
+                                                                 #("i4536"
+                                                                   "i4537"
+                                                                   "i4538"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17061,7 +17030,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4432")))
+                                                                 #("i4533")))
                                                               (hygiene guile))
                                                            '#(syntax-object
                                                               t
@@ -17071,13 +17040,13 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4476"
-                                                                   "i4477"
-                                                                   "i4478"))
+                                                                 #("i4577"
+                                                                   "i4578"
+                                                                   "i4579"))
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i4472"))
+                                                                 #("i4573"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17089,17 +17058,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4445"
-                                                                   "i4446"
-                                                                   "i4447"))
+                                                                 #("i4546"
+                                                                   "i4547"
+                                                                   "i4548"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4435"
-                                                                   "i4436"
-                                                                   "i4437"))
+                                                                 #("i4536"
+                                                                   "i4537"
+                                                                   "i4538"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17107,7 +17076,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4432")))
+                                                                 #("i4533")))
                                                               (hygiene guile))
                                                            (list 
'#(syntax-object
                                                                     quote
@@ -17119,13 +17088,13 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4476"
-                                                                         
"i4477"
-                                                                         
"i4478"))
+                                                                       
#("i4577"
+                                                                         
"i4578"
+                                                                         
"i4579"))
                                                                      #(ribcage
                                                                        #(rest)
                                                                        #((top))
-                                                                       
#("i4472"))
+                                                                       
#("i4573"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -17137,9 +17106,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4445"
-                                                                         
"i4446"
-                                                                         
"i4447"))
+                                                                       
#("i4546"
+                                                                         
"i4547"
+                                                                         
"i4548"))
                                                                      #(ribcage
                                                                        #(e
                                                                          m1
@@ -17147,9 +17116,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4435"
-                                                                         
"i4436"
-                                                                         
"i4437"))
+                                                                       
#("i4536"
+                                                                         
"i4537"
+                                                                         
"i4538"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -17157,10 +17126,10 @@
                                                                      #(ribcage
                                                                        #(x)
                                                                        #((top))
-                                                                       
#("i4432")))
+                                                                       
#("i4533")))
                                                                     (hygiene
                                                                       guile))
-                                                                 #{k\ 4479}#))
+                                                                 #{k\ 4580}#))
                                                      (cons '#(syntax-object
                                                               begin
                                                               ((top)
@@ -17169,13 +17138,13 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4476"
-                                                                   "i4477"
-                                                                   "i4478"))
+                                                                 #("i4577"
+                                                                   "i4578"
+                                                                   "i4579"))
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i4472"))
+                                                                 #("i4573"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17187,17 +17156,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4445"
-                                                                   "i4446"
-                                                                   "i4447"))
+                                                                 #("i4546"
+                                                                   "i4547"
+                                                                   "i4548"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4435"
-                                                                   "i4436"
-                                                                   "i4437"))
+                                                                 #("i4536"
+                                                                   "i4537"
+                                                                   "i4538"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17205,30 +17174,30 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4432")))
+                                                                 #("i4533")))
                                                               (hygiene guile))
-                                                           (cons #{e1\ 4480}#
-                                                                 #{e2\ 4481}#))
-                                                     #{rest\ 4473}#))
-                                             #{tmp\ 4475}#)
-                                           (let ((#{_\ 4485}# #{tmp\ 4474}#))
+                                                           (cons #{e1\ 4581}#
+                                                                 #{e2\ 4582}#))
+                                                     #{rest\ 4574}#))
+                                             #{tmp\ 4576}#)
+                                           (let ((#{_\ 4586}# #{tmp\ 4575}#))
                                              (syntax-violation
                                                'case
                                                "bad clause"
-                                               #{x\ 4431}#
-                                               #{clause\ 4449}#)))))))))))
-                          (begin (#{f\ 4448}# #{m1\ 4439}# #{m2\ 4440}#)))))
-                  (let ((#{body\ 4444}# #{tmp\ 4442}#))
+                                               #{x\ 4532}#
+                                               #{clause\ 4550}#)))))))))))
+                          (begin (#{f\ 4549}# #{m1\ 4540}# #{m2\ 4541}#)))))
+                  (let ((#{body\ 4545}# #{tmp\ 4543}#))
                     (list '#(syntax-object
                              let
                              ((top)
-                              #(ribcage #(body) #((top)) #("i4443"))
+                              #(ribcage #(body) #((top)) #("i4544"))
                               #(ribcage
                                 #(e m1 m2)
                                 #((top) (top) (top))
-                                #("i4435" "i4436" "i4437"))
+                                #("i4536" "i4537" "i4538"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4432")))
+                              #(ribcage #(x) #((top)) #("i4533")))
                              (hygiene guile))
                           (list (list '#(syntax-object
                                          t
@@ -17236,177 +17205,177 @@
                                           #(ribcage
                                             #(body)
                                             #((top))
-                                            #("i4443"))
+                                            #("i4544"))
                                           #(ribcage
                                             #(e m1 m2)
                                             #((top) (top) (top))
-                                            #("i4435" "i4436" "i4437"))
+                                            #("i4536" "i4537" "i4538"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4432")))
+                                          #(ribcage #(x) #((top)) #("i4533")))
                                          (hygiene guile))
-                                      #{e\ 4438}#))
-                          #{body\ 4444}#))))
-              #{tmp\ 4434}#)
+                                      #{e\ 4539}#))
+                          #{body\ 4545}#))))
+              #{tmp\ 4535}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp\ 4433}#)))))))
+              #{tmp\ 4534}#)))))))
 
 (define make-variable-transformer
-  (lambda (#{proc\ 4486}#)
-    (if (procedure? #{proc\ 4486}#)
+  (lambda (#{proc\ 4587}#)
+    (if (procedure? #{proc\ 4587}#)
       (begin
         (letrec*
-          ((#{trans\ 4489}#
-             (lambda (#{x\ 4490}#)
-               (#{proc\ 4486}# #{x\ 4490}#))))
+          ((#{trans\ 4590}#
+             (lambda (#{x\ 4591}#)
+               (#{proc\ 4587}# #{x\ 4591}#))))
           (begin
             (set-procedure-property!
-              #{trans\ 4489}#
+              #{trans\ 4590}#
               'variable-transformer
               #t)
-            #{trans\ 4489}#)))
+            #{trans\ 4590}#)))
       (error "variable transformer not a procedure"
-             #{proc\ 4486}#))))
+             #{proc\ 4587}#))))
 
 (define identifier-syntax
   (make-syntax-transformer
     'identifier-syntax
     'macro
-    (lambda (#{x\ 4492}#)
-      (let ((#{tmp\ 4494}# #{x\ 4492}#))
-        (let ((#{tmp\ 4495}#
-                ($sc-dispatch #{tmp\ 4494}# (quote (_ any)))))
-          (if #{tmp\ 4495}#
+    (lambda (#{x\ 4593}#)
+      (let ((#{tmp\ 4595}# #{x\ 4593}#))
+        (let ((#{tmp\ 4596}#
+                ($sc-dispatch #{tmp\ 4595}# (quote (_ any)))))
+          (if #{tmp\ 4596}#
             (@apply
-              (lambda (#{e\ 4497}#)
+              (lambda (#{e\ 4598}#)
                 (list '#(syntax-object
                          lambda
                          ((top)
-                          #(ribcage #(e) #((top)) #("i4496"))
+                          #(ribcage #(e) #((top)) #("i4597"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4493")))
+                          #(ribcage #(x) #((top)) #("i4594")))
                          (hygiene guile))
                       '(#(syntax-object
                           x
                           ((top)
-                           #(ribcage #(e) #((top)) #("i4496"))
+                           #(ribcage #(e) #((top)) #("i4597"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i4493")))
+                           #(ribcage #(x) #((top)) #("i4594")))
                           (hygiene guile)))
                       '#((#(syntax-object
                             macro-type
                             ((top)
-                             #(ribcage #(e) #((top)) #("i4496"))
+                             #(ribcage #(e) #((top)) #("i4597"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4493")))
+                             #(ribcage #(x) #((top)) #("i4594")))
                             (hygiene guile))
                           .
                           #(syntax-object
                             identifier-syntax
                             ((top)
-                             #(ribcage #(e) #((top)) #("i4496"))
+                             #(ribcage #(e) #((top)) #("i4597"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4493")))
+                             #(ribcage #(x) #((top)) #("i4594")))
                             (hygiene guile))))
                       (list '#(syntax-object
                                syntax-case
                                ((top)
-                                #(ribcage #(e) #((top)) #("i4496"))
+                                #(ribcage #(e) #((top)) #("i4597"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4493")))
+                                #(ribcage #(x) #((top)) #("i4594")))
                                (hygiene guile))
                             '#(syntax-object
                                x
                                ((top)
-                                #(ribcage #(e) #((top)) #("i4496"))
+                                #(ribcage #(e) #((top)) #("i4597"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4493")))
+                                #(ribcage #(x) #((top)) #("i4594")))
                                (hygiene guile))
                             '()
                             (list '#(syntax-object
                                      id
                                      ((top)
-                                      #(ribcage #(e) #((top)) #("i4496"))
+                                      #(ribcage #(e) #((top)) #("i4597"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4493")))
+                                      #(ribcage #(x) #((top)) #("i4594")))
                                      (hygiene guile))
                                   '(#(syntax-object
                                       identifier?
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4496"))
+                                       #(ribcage #(e) #((top)) #("i4597"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4493")))
+                                       #(ribcage #(x) #((top)) #("i4594")))
                                       (hygiene guile))
                                     (#(syntax-object
                                        syntax
                                        ((top)
-                                        #(ribcage #(e) #((top)) #("i4496"))
+                                        #(ribcage #(e) #((top)) #("i4597"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4493")))
+                                        #(ribcage #(x) #((top)) #("i4594")))
                                        (hygiene guile))
                                      #(syntax-object
                                        id
                                        ((top)
-                                        #(ribcage #(e) #((top)) #("i4496"))
+                                        #(ribcage #(e) #((top)) #("i4597"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4493")))
+                                        #(ribcage #(x) #((top)) #("i4594")))
                                        (hygiene guile))))
                                   (list '#(syntax-object
                                            syntax
                                            ((top)
-                                            #(ribcage #(e) #((top)) #("i4496"))
+                                            #(ribcage #(e) #((top)) #("i4597"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4493")))
+                                              #("i4594")))
                                            (hygiene guile))
-                                        #{e\ 4497}#))
+                                        #{e\ 4598}#))
                             (list '(#(syntax-object
                                       _
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4496"))
+                                       #(ribcage #(e) #((top)) #("i4597"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4493")))
+                                       #(ribcage #(x) #((top)) #("i4594")))
                                       (hygiene guile))
                                     #(syntax-object
                                       x
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4496"))
+                                       #(ribcage #(e) #((top)) #("i4597"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4493")))
+                                       #(ribcage #(x) #((top)) #("i4594")))
                                       (hygiene guile))
                                     #(syntax-object
                                       ...
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4496"))
+                                       #(ribcage #(e) #((top)) #("i4597"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4493")))
+                                       #(ribcage #(x) #((top)) #("i4594")))
                                       (hygiene guile)))
                                   (list '#(syntax-object
                                            syntax
                                            ((top)
-                                            #(ribcage #(e) #((top)) #("i4496"))
+                                            #(ribcage #(e) #((top)) #("i4597"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4493")))
+                                              #("i4594")))
                                            (hygiene guile))
-                                        (cons #{e\ 4497}#
+                                        (cons #{e\ 4598}#
                                               '(#(syntax-object
                                                   x
                                                   ((top)
                                                    #(ribcage
                                                      #(e)
                                                      #((top))
-                                                     #("i4496"))
+                                                     #("i4597"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i4493")))
+                                                     #("i4594")))
                                                   (hygiene guile))
                                                 #(syntax-object
                                                   ...
@@ -17414,55 +17383,55 @@
                                                    #(ribcage
                                                      #(e)
                                                      #((top))
-                                                     #("i4496"))
+                                                     #("i4597"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i4493")))
+                                                     #("i4594")))
                                                   (hygiene guile)))))))))
-              #{tmp\ 4495}#)
-            (let ((#{tmp\ 4498}#
+              #{tmp\ 4596}#)
+            (let ((#{tmp\ 4599}#
                     ($sc-dispatch
-                      #{tmp\ 4494}#
+                      #{tmp\ 4595}#
                       '(_ (any any)
                           ((#(free-id
                               #(syntax-object
                                 set!
                                 ((top)
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4493")))
+                                 #(ribcage #(x) #((top)) #("i4594")))
                                 (hygiene guile)))
                             any
                             any)
                            any)))))
-              (if (if #{tmp\ 4498}#
+              (if (if #{tmp\ 4599}#
                     (@apply
-                      (lambda (#{id\ 4504}#
-                               #{exp1\ 4505}#
-                               #{var\ 4506}#
-                               #{val\ 4507}#
-                               #{exp2\ 4508}#)
-                        (if (identifier? #{id\ 4504}#)
-                          (identifier? #{var\ 4506}#)
+                      (lambda (#{id\ 4605}#
+                               #{exp1\ 4606}#
+                               #{var\ 4607}#
+                               #{val\ 4608}#
+                               #{exp2\ 4609}#)
+                        (if (identifier? #{id\ 4605}#)
+                          (identifier? #{var\ 4607}#)
                           #f))
-                      #{tmp\ 4498}#)
+                      #{tmp\ 4599}#)
                     #f)
                 (@apply
-                  (lambda (#{id\ 4516}#
-                           #{exp1\ 4517}#
-                           #{var\ 4518}#
-                           #{val\ 4519}#
-                           #{exp2\ 4520}#)
+                  (lambda (#{id\ 4617}#
+                           #{exp1\ 4618}#
+                           #{var\ 4619}#
+                           #{val\ 4620}#
+                           #{exp2\ 4621}#)
                     (list '#(syntax-object
                              make-variable-transformer
                              ((top)
                               #(ribcage
                                 #(id exp1 var val exp2)
                                 #((top) (top) (top) (top) (top))
-                                #("i4511" "i4512" "i4513" "i4514" "i4515"))
+                                #("i4612" "i4613" "i4614" "i4615" "i4616"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4493")))
+                              #(ribcage #(x) #((top)) #("i4594")))
                              (hygiene guile))
                           (list '#(syntax-object
                                    lambda
@@ -17470,13 +17439,13 @@
                                     #(ribcage
                                       #(id exp1 var val exp2)
                                       #((top) (top) (top) (top) (top))
-                                      #("i4511"
-                                        "i4512"
-                                        "i4513"
-                                        "i4514"
-                                        "i4515"))
+                                      #("i4612"
+                                        "i4613"
+                                        "i4614"
+                                        "i4615"
+                                        "i4616"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i4493")))
+                                    #(ribcage #(x) #((top)) #("i4594")))
                                    (hygiene guile))
                                 '(#(syntax-object
                                     x
@@ -17484,13 +17453,13 @@
                                      #(ribcage
                                        #(id exp1 var val exp2)
                                        #((top) (top) (top) (top) (top))
-                                       #("i4511"
-                                         "i4512"
-                                         "i4513"
-                                         "i4514"
-                                         "i4515"))
+                                       #("i4612"
+                                         "i4613"
+                                         "i4614"
+                                         "i4615"
+                                         "i4616"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i4493")))
+                                     #(ribcage #(x) #((top)) #("i4594")))
                                     (hygiene guile)))
                                 '#((#(syntax-object
                                       macro-type
@@ -17498,13 +17467,13 @@
                                        #(ribcage
                                          #(id exp1 var val exp2)
                                          #((top) (top) (top) (top) (top))
-                                         #("i4511"
-                                           "i4512"
-                                           "i4513"
-                                           "i4514"
-                                           "i4515"))
+                                         #("i4612"
+                                           "i4613"
+                                           "i4614"
+                                           "i4615"
+                                           "i4616"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4493")))
+                                       #(ribcage #(x) #((top)) #("i4594")))
                                       (hygiene guile))
                                     .
                                     #(syntax-object
@@ -17513,13 +17482,13 @@
                                        #(ribcage
                                          #(id exp1 var val exp2)
                                          #((top) (top) (top) (top) (top))
-                                         #("i4511"
-                                           "i4512"
-                                           "i4513"
-                                           "i4514"
-                                           "i4515"))
+                                         #("i4612"
+                                           "i4613"
+                                           "i4614"
+                                           "i4615"
+                                           "i4616"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4493")))
+                                       #(ribcage #(x) #((top)) #("i4594")))
                                       (hygiene guile))))
                                 (list '#(syntax-object
                                          syntax-case
@@ -17527,13 +17496,13 @@
                                           #(ribcage
                                             #(id exp1 var val exp2)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4511"
-                                              "i4512"
-                                              "i4513"
-                                              "i4514"
-                                              "i4515"))
+                                            #("i4612"
+                                              "i4613"
+                                              "i4614"
+                                              "i4615"
+                                              "i4616"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4493")))
+                                          #(ribcage #(x) #((top)) #("i4594")))
                                          (hygiene guile))
                                       '#(syntax-object
                                          x
@@ -17541,13 +17510,13 @@
                                           #(ribcage
                                             #(id exp1 var val exp2)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4511"
-                                              "i4512"
-                                              "i4513"
-                                              "i4514"
-                                              "i4515"))
+                                            #("i4612"
+                                              "i4613"
+                                              "i4614"
+                                              "i4615"
+                                              "i4616"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4493")))
+                                          #(ribcage #(x) #((top)) #("i4594")))
                                          (hygiene guile))
                                       '(#(syntax-object
                                           set!
@@ -17555,13 +17524,13 @@
                                            #(ribcage
                                              #(id exp1 var val exp2)
                                              #((top) (top) (top) (top) (top))
-                                             #("i4511"
-                                               "i4512"
-                                               "i4513"
-                                               "i4514"
-                                               "i4515"))
+                                             #("i4612"
+                                               "i4613"
+                                               "i4614"
+                                               "i4615"
+                                               "i4616"))
                                            #(ribcage () () ())
-                                           #(ribcage #(x) #((top)) #("i4493")))
+                                           #(ribcage #(x) #((top)) #("i4594")))
                                           (hygiene guile)))
                                       (list (list '#(syntax-object
                                                      set!
@@ -17573,19 +17542,19 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4511"
-                                                          "i4512"
-                                                          "i4513"
-                                                          "i4514"
-                                                          "i4515"))
+                                                        #("i4612"
+                                                          "i4613"
+                                                          "i4614"
+                                                          "i4615"
+                                                          "i4616"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4493")))
+                                                        #("i4594")))
                                                      (hygiene guile))
-                                                  #{var\ 4518}#
-                                                  #{val\ 4519}#)
+                                                  #{var\ 4619}#
+                                                  #{val\ 4620}#)
                                             (list '#(syntax-object
                                                      syntax
                                                      ((top)
@@ -17596,19 +17565,19 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4511"
-                                                          "i4512"
-                                                          "i4513"
-                                                          "i4514"
-                                                          "i4515"))
+                                                        #("i4612"
+                                                          "i4613"
+                                                          "i4614"
+                                                          "i4615"
+                                                          "i4616"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4493")))
+                                                        #("i4594")))
                                                      (hygiene guile))
-                                                  #{exp2\ 4520}#))
-                                      (list (cons #{id\ 4516}#
+                                                  #{exp2\ 4621}#))
+                                      (list (cons #{id\ 4617}#
                                                   '(#(syntax-object
                                                       x
                                                       ((top)
@@ -17623,16 +17592,16 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4511"
-                                                           "i4512"
-                                                           "i4513"
-                                                           "i4514"
-                                                           "i4515"))
+                                                         #("i4612"
+                                                           "i4613"
+                                                           "i4614"
+                                                           "i4615"
+                                                           "i4616"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4493")))
+                                                         #("i4594")))
                                                       (hygiene guile))
                                                     #(syntax-object
                                                       ...
@@ -17648,16 +17617,16 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4511"
-                                                           "i4512"
-                                                           "i4513"
-                                                           "i4514"
-                                                           "i4515"))
+                                                         #("i4612"
+                                                           "i4613"
+                                                           "i4614"
+                                                           "i4615"
+                                                           "i4616"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4493")))
+                                                         #("i4594")))
                                                       (hygiene guile))))
                                             (list '#(syntax-object
                                                      syntax
@@ -17669,18 +17638,18 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4511"
-                                                          "i4512"
-                                                          "i4513"
-                                                          "i4514"
-                                                          "i4515"))
+                                                        #("i4612"
+                                                          "i4613"
+                                                          "i4614"
+                                                          "i4615"
+                                                          "i4616"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4493")))
+                                                        #("i4594")))
                                                      (hygiene guile))
-                                                  (cons #{exp1\ 4517}#
+                                                  (cons #{exp1\ 4618}#
                                                         '(#(syntax-object
                                                             x
                                                             ((top)
@@ -17695,11 +17664,11 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4511"
-                                                                 "i4512"
-                                                                 "i4513"
-                                                                 "i4514"
-                                                                 "i4515"))
+                                                               #("i4612"
+                                                                 "i4613"
+                                                                 "i4614"
+                                                                 "i4615"
+                                                                 "i4616"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -17707,7 +17676,7 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i4493")))
+                                                               #("i4594")))
                                                             (hygiene guile))
                                                           #(syntax-object
                                                             ...
@@ -17723,11 +17692,11 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4511"
-                                                                 "i4512"
-                                                                 "i4513"
-                                                                 "i4514"
-                                                                 "i4515"))
+                                                               #("i4612"
+                                                                 "i4613"
+                                                                 "i4614"
+                                                                 "i4615"
+                                                                 "i4616"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -17735,10 +17704,10 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i4493")))
+                                                               #("i4594")))
                                                             (hygiene
                                                               guile))))))
-                                      (list #{id\ 4516}#
+                                      (list #{id\ 4617}#
                                             (list '#(syntax-object
                                                      identifier?
                                                      ((top)
@@ -17749,16 +17718,16 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4511"
-                                                          "i4512"
-                                                          "i4513"
-                                                          "i4514"
-                                                          "i4515"))
+                                                        #("i4612"
+                                                          "i4613"
+                                                          "i4614"
+                                                          "i4615"
+                                                          "i4616"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4493")))
+                                                        #("i4594")))
                                                      (hygiene guile))
                                                   (list '#(syntax-object
                                                            syntax
@@ -17774,18 +17743,18 @@
                                                                 (top)
                                                                 (top)
                                                                 (top))
-                                                              #("i4511"
-                                                                "i4512"
-                                                                "i4513"
-                                                                "i4514"
-                                                                "i4515"))
+                                                              #("i4612"
+                                                                "i4613"
+                                                                "i4614"
+                                                                "i4615"
+                                                                "i4616"))
                                                             #(ribcage () () ())
                                                             #(ribcage
                                                               #(x)
                                                               #((top))
-                                                              #("i4493")))
+                                                              #("i4594")))
                                                            (hygiene guile))
-                                                        #{id\ 4516}#))
+                                                        #{id\ 4617}#))
                                             (list '#(syntax-object
                                                      syntax
                                                      ((top)
@@ -17796,69 +17765,69 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4511"
-                                                          "i4512"
-                                                          "i4513"
-                                                          "i4514"
-                                                          "i4515"))
+                                                        #("i4612"
+                                                          "i4613"
+                                                          "i4614"
+                                                          "i4615"
+                                                          "i4616"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4493")))
+                                                        #("i4594")))
                                                      (hygiene guile))
-                                                  #{exp1\ 4517}#))))))
-                  #{tmp\ 4498}#)
+                                                  #{exp1\ 4618}#))))))
+                  #{tmp\ 4599}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp\ 4494}#)))))))))
+                  #{tmp\ 4595}#)))))))))
 
 (define define*
   (make-syntax-transformer
     'define*
     'macro
-    (lambda (#{x\ 4521}#)
-      (let ((#{tmp\ 4523}# #{x\ 4521}#))
-        (let ((#{tmp\ 4524}#
+    (lambda (#{x\ 4622}#)
+      (let ((#{tmp\ 4624}# #{x\ 4622}#))
+        (let ((#{tmp\ 4625}#
                 ($sc-dispatch
-                  #{tmp\ 4523}#
+                  #{tmp\ 4624}#
                   '(_ (any . any) any . each-any))))
-          (if #{tmp\ 4524}#
+          (if #{tmp\ 4625}#
             (@apply
-              (lambda (#{id\ 4529}#
-                       #{args\ 4530}#
-                       #{b0\ 4531}#
-                       #{b1\ 4532}#)
+              (lambda (#{id\ 4630}#
+                       #{args\ 4631}#
+                       #{b0\ 4632}#
+                       #{b1\ 4633}#)
                 (list '#(syntax-object
                          define
                          ((top)
                           #(ribcage
                             #(id args b0 b1)
                             #((top) (top) (top) (top))
-                            #("i4525" "i4526" "i4527" "i4528"))
+                            #("i4626" "i4627" "i4628" "i4629"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4522")))
+                          #(ribcage #(x) #((top)) #("i4623")))
                          (hygiene guile))
-                      #{id\ 4529}#
+                      #{id\ 4630}#
                       (cons '#(syntax-object
                                lambda*
                                ((top)
                                 #(ribcage
                                   #(id args b0 b1)
                                   #((top) (top) (top) (top))
-                                  #("i4525" "i4526" "i4527" "i4528"))
+                                  #("i4626" "i4627" "i4628" "i4629"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4522")))
+                                #(ribcage #(x) #((top)) #("i4623")))
                                (hygiene guile))
-                            (cons #{args\ 4530}#
-                                  (cons #{b0\ 4531}# #{b1\ 4532}#)))))
-              #{tmp\ 4524}#)
-            (let ((#{tmp\ 4534}#
-                    ($sc-dispatch #{tmp\ 4523}# (quote (_ any any)))))
-              (if (if #{tmp\ 4534}#
+                            (cons #{args\ 4631}#
+                                  (cons #{b0\ 4632}# #{b1\ 4633}#)))))
+              #{tmp\ 4625}#)
+            (let ((#{tmp\ 4635}#
+                    ($sc-dispatch #{tmp\ 4624}# (quote (_ any any)))))
+              (if (if #{tmp\ 4635}#
                     (@apply
-                      (lambda (#{id\ 4537}# #{val\ 4538}#)
+                      (lambda (#{id\ 4638}# #{val\ 4639}#)
                         (identifier?
                           '#(syntax-object
                              x
@@ -17866,29 +17835,29 @@
                               #(ribcage
                                 #(id val)
                                 #((top) (top))
-                                #("i4535" "i4536"))
+                                #("i4636" "i4637"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4522")))
+                              #(ribcage #(x) #((top)) #("i4623")))
                              (hygiene guile))))
-                      #{tmp\ 4534}#)
+                      #{tmp\ 4635}#)
                     #f)
                 (@apply
-                  (lambda (#{id\ 4541}# #{val\ 4542}#)
+                  (lambda (#{id\ 4642}# #{val\ 4643}#)
                     (list '#(syntax-object
                              define
                              ((top)
                               #(ribcage
                                 #(id val)
                                 #((top) (top))
-                                #("i4539" "i4540"))
+                                #("i4640" "i4641"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4522")))
+                              #(ribcage #(x) #((top)) #("i4623")))
                              (hygiene guile))
-                          #{id\ 4541}#
-                          #{val\ 4542}#))
-                  #{tmp\ 4534}#)
+                          #{id\ 4642}#
+                          #{val\ 4643}#))
+                  #{tmp\ 4635}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp\ 4523}#)))))))))
+                  #{tmp\ 4624}#)))))))))
 
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index 6c96bdb..dd7677c 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -554,8 +554,12 @@
         ((_ type value) (cons type value))
         ((_ 'type) '(type))
         ((_ type) (cons type '()))))
-    (define binding-type car)
-    (define binding-value cdr)
+    (define-syntax binding-type
+      (syntax-rules ()
+        ((_ x) (car x))))
+    (define-syntax binding-value
+      (syntax-rules ()
+        ((_ x) (cdr x))))
 
     (define-syntax null-env (identifier-syntax '()))
 
@@ -643,9 +647,9 @@
     ;;         <subs> ::= #(<old name> <label> (<mark> ...))
     ;;        <shift> ::= positive fixnum
 
-    (define make-wrap cons)
-    (define wrap-marks car)
-    (define wrap-subst cdr)
+    (define-syntax make-wrap (identifier-syntax cons))
+    (define-syntax wrap-marks (identifier-syntax car))
+    (define-syntax wrap-subst (identifier-syntax cdr))
 
     (define-syntax subst-rename? (identifier-syntax vector?))
     (define-syntax rename-old (syntax-rules () ((_ x) (vector-ref x 0))))
diff --git a/module/language/tree-il/compile-glil.scm 
b/module/language/tree-il/compile-glil.scm
index 91ff8c7..831eab0 100644
--- a/module/language/tree-il/compile-glil.scm
+++ b/module/language/tree-il/compile-glil.scm
@@ -105,6 +105,8 @@
    ((set-cdr! . 2) . set-cdr!)
    ((null? . 1) . null?)
    ((list? . 1) . list?)
+   ((symbol? . 1) . symbol?)
+   ((vector? . 1) . vector?)
    (list . list)
    (vector . vector)
    ((class-of . 1) . class-of)
diff --git a/module/language/tree-il/primitives.scm 
b/module/language/tree-il/primitives.scm
index f710fa6..316a462 100644
--- a/module/language/tree-il/primitives.scm
+++ b/module/language/tree-il/primitives.scm
@@ -43,7 +43,7 @@
     + * - / 1- 1+ quotient remainder modulo
     ash logand logior logxor
     not
-    pair? null? list? acons cons cons*
+    pair? null? list? symbol? vector? acons cons cons*
 
     list vector
 
@@ -112,7 +112,7 @@
     = < > <= >= zero?
     + * - / 1- 1+ quotient remainder modulo
     not
-    pair? null? list? acons cons cons*
+    pair? null? list? symbol? vector? acons cons cons*
     list vector
     car cdr
     caar cadr cdar cddr
@@ -137,7 +137,7 @@
   '(values
     eq? eqv? equal?
     not
-    pair? null? list? acons cons cons*
+    pair? null? list? symbol? vector? acons cons cons*
     list vector
     struct?))
 
diff --git a/module/system/repl/command.scm b/module/system/repl/command.scm
index 4441ef0..f5512ff 100644
--- a/module/system/repl/command.scm
+++ b/module/system/repl/command.scm
@@ -594,7 +594,7 @@ Note that the given source location must be inside a 
procedure."
     (let ((idx (add-trap-at-source-location! file line)))
       (format #t "Trap ~a: ~a.~%" idx (trap-name idx)))))
 
-(define (repl-pop-continuation-resumer msg)
+(define (repl-pop-continuation-resumer repl msg)
   ;; Capture the dynamic environment with this prompt thing. The
   ;; result is a procedure that takes a frame.
   (% (call-with-values
@@ -625,7 +625,7 @@ Run until the current frame finishes.
 
 Resume execution, breaking when the current frame finishes."
   (let ((handler (repl-pop-continuation-resumer
-                  (format #f "Return from ~a" cur))))
+                  repl (format #f "Return from ~a" cur))))
     (add-ephemeral-trap-at-frame-finish! cur handler)
     (throw 'quit)))
 
@@ -673,7 +673,7 @@ Step until control reaches a different source location in 
the current frame."
                                   #:into? #f #:instruction? #f)
     (throw 'quit)))
 
-(define-stack-command (step-instruction repl)
+(define-stack-command (next-instruction repl)
   "next-instruction
 Step until control reaches a different instruction in the current frame.
 
diff --git a/module/system/vm/frame.scm b/module/system/vm/frame.scm
index ffa66d5..94619ba 100644
--- a/module/system/vm/frame.scm
+++ b/module/system/vm/frame.scm
@@ -26,7 +26,7 @@
   #:export (frame-bindings
             frame-lookup-binding
             frame-binding-ref frame-binding-set!
-            frame-source frame-call-representation
+            frame-source frame-next-source frame-call-representation
             frame-environment
             frame-object-binding frame-object-name
             frame-return-values))
@@ -71,8 +71,17 @@
 ;;;
 
 (define (frame-source frame)
-  (program-source (frame-procedure frame)
-                  (frame-instruction-pointer frame)))
+  (let ((proc (frame-procedure frame)))
+    (program-source proc
+                    (frame-instruction-pointer frame)
+                    (program-sources proc))))
+
+(define (frame-next-source frame)
+  (let ((proc (frame-procedure frame)))
+    (program-source proc
+                    (frame-instruction-pointer frame)
+                    (program-sources-pre-retire proc))))
+
 
 ;; Basically there are two cases to deal with here:
 ;;
@@ -157,5 +166,5 @@
   (let* ((len (frame-num-locals frame))
          (nvalues (frame-local-ref frame (1- len))))
     (map (lambda (i)
-           (frame-local-ref frame (+ (- len nvalues) i)))
+           (frame-local-ref frame (+ (- len nvalues 1) i)))
          (iota nvalues))))
diff --git a/module/system/vm/program.scm b/module/system/vm/program.scm
index a1e3ea4..02d5ec4 100644
--- a/module/system/vm/program.scm
+++ b/module/system/vm/program.scm
@@ -20,6 +20,9 @@
 
 (define-module (system vm program)
   #:use-module (system base pmatch)
+  #:use-module (system vm instruction)
+  #:use-module (system vm objcode)
+  #:use-module (rnrs bytevectors)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-26)
   #:export (make-program
@@ -29,7 +32,7 @@
 
             source:addr source:line source:column source:file
             source:line-for-user
-            program-sources program-source
+            program-sources program-sources-pre-retire program-source
 
             program-bindings program-bindings-by-index program-bindings-for-ip
             program-arities program-arity arity:start arity:end
@@ -71,6 +74,60 @@
 (define (source:line-for-user source)
   (1+ (source:line source)))
 
+;; FIXME: pull this definition from elsewhere.
+(define *bytecode-header-len* 8)
+
+;; We could decompile the program to get this, but that seems like a
+;; waste.
+(define (bytecode-instruction-length bytecode ip)
+  (let* ((idx (+ ip *bytecode-header-len*))
+         (inst (opcode->instruction (bytevector-u8-ref bytecode idx))))
+    ;; 1+ for the instruction itself.
+    (1+ (cond
+         ((eq? inst 'load-program)
+          (+ (bytevector-u32-native-ref bytecode (+ idx 1))
+             (bytevector-u32-native-ref bytecode (+ idx 5))))
+         ((< (instruction-length inst) 0)
+          ;; variable length instruction -- the length is encoded in the
+          ;; instruction stream.
+          (+ (ash (bytevector-u8-ref bytecode (+ idx 1)) 16)
+             (ash (bytevector-u8-ref bytecode (+ idx 2)) 8)
+             (bytevector-u8-ref bytecode (+ idx 3))))
+         (else
+          ;; fixed length
+          (instruction-length inst))))))
+
+;; Source information could in theory be correlated with the ip of the
+;; instruction, or the ip just after the instruction is retired. Guile
+;; does the latter, to make backtraces easy -- an error produced while
+;; running an opcode always happens after it has retired its arguments.
+;;
+;; But for breakpoints and such, we need the ip before the instruction
+;; is retired -- before it has had a chance to do anything. So here we
+;; change from the post-retire addresses given by program-sources to
+;; pre-retire addresses.
+;;
+(define (program-sources-pre-retire proc)
+  (let ((bv (objcode->bytecode (program-objcode proc))))
+    (let lp ((in (program-sources proc))
+             (out '())
+             (ip 0))
+      (cond
+       ((null? in)
+        (reverse out))
+       (else
+        (pmatch (car in)
+          ((,post-ip . ,source)
+           (let lp2 ((ip ip)
+                     (next ip))
+             (if (< next post-ip)
+                 (lp2 next (+ next (bytecode-instruction-length bv next)))
+                 (lp (cdr in)
+                     (acons ip source out)
+                     next))))
+          (else
+           (error "unexpected"))))))))
+
 (define (collapse-locals locs)
   (let lp ((ret '()) (locs locs))
     (if (null? locs)
diff --git a/module/system/vm/trace.scm b/module/system/vm/trace.scm
index 9b91461..2dad376 100644
--- a/module/system/vm/trace.scm
+++ b/module/system/vm/trace.scm
@@ -61,7 +61,7 @@
      (else
       ;; this should work, but there appears to be a bug
       ;; "~a~d values:~:{ ~v:@y~}\n"
-      (format (current-error-port) "~a ~a~d values:~{ ~a~}\n"
+      (format (current-error-port) "~a~a~d values:~{ ~a~}\n"
               prefix
               (let lp ((depth depth) (s ""))
                 (if (zero? depth)
diff --git a/module/system/vm/trap-state.scm b/module/system/vm/trap-state.scm
index 435039a..82d4e0e 100644
--- a/module/system/vm/trap-state.scm
+++ b/module/system/vm/trap-state.scm
@@ -275,13 +275,13 @@
             (and (<= (frame-address f) fp)
                  (predicate f))))))
   
-  (let* ((source (frame-source frame))
+  (let* ((source (frame-next-source frame))
          (idx (next-ephemeral-index! trap-state))
          (trap (trap-matching-instructions
                 (wrap-predicate-according-to-into
                  (if instruction?
                      (lambda (f) #t)
-                     (lambda (f) (not (equal? (frame-source f) source)))))
+                     (lambda (f) (not (equal? (frame-next-source f) source)))))
                 (ephemeral-handler-for-index trap-state idx handler))))
     (add-trap-wrapper!
      trap-state
diff --git a/module/system/vm/traps.scm b/module/system/vm/traps.scm
index 627e6c5..cccd6ea 100644
--- a/module/system/vm/traps.scm
+++ b/module/system/vm/traps.scm
@@ -309,68 +309,14 @@
                                     #:current-frame current-frame #:vm vm
                                     #:our-frame? our-frame?)))
 
-;; FIXME: pull this definition from elsewhere.
-(define *bytecode-header-len* 8)
-
 ;; FIXME: define this in objcode somehow. We are reffing the first
 ;; uint32 in the objcode, which is the length of the program (without
 ;; the meta).
 (define (program-last-ip prog)
   (bytevector-u32-native-ref (objcode->bytecode (program-objcode prog)) 0))
 
-;; We could decompile the program to get this, but that seems like a
-;; waste.
-(define (bytecode-instruction-length bytecode ip)
-  (let* ((idx (+ ip *bytecode-header-len*))
-         (inst (opcode->instruction (bytevector-u8-ref bytecode idx))))
-    ;; 1+ for the instruction itself.
-    (1+ (cond
-         ((eq? inst 'load-program)
-          (+ (bytevector-u32-native-ref bytecode (+ idx 1))
-             (bytevector-u32-native-ref bytecode (+ idx 5))))
-         ((< (instruction-length inst) 0)
-          ;; variable length instruction -- the length is encoded in the
-          ;; instruction stream.
-          (+ (ash (bytevector-u8-ref bytecode (+ idx 1)) 16)
-             (ash (bytevector-u8-ref bytecode (+ idx 2)) 8)
-             (bytevector-u8-ref bytecode (+ idx 3))))
-         (else
-          ;; fixed length
-          (instruction-length inst))))))
-
-;; Source information could in theory be correlated with the ip of the
-;; instruction, or the ip just after the instruction is retired. Guile
-;; does the latter, to make backtraces easy -- an error produced while
-;; running an opcode always happens after it has retired its arguments.
-;;
-;; But for breakpoints and such, we need the ip before the instruction
-;; is retired -- before it has had a chance to do anything. So here we
-;; change from the post-retire addresses given by program-sources to
-;; pre-retire addresses.
-;;
-(define (program-sources-before-retire proc)
-  (let ((bv (objcode->bytecode (program-objcode proc))))
-    (let lp ((in (program-sources proc))
-             (out '())
-             (ip 0))
-      (cond
-       ((null? in)
-        (reverse out))
-       (else
-        (pmatch (car in)
-          ((,post-ip . ,source)
-           (let lp2 ((ip ip)
-                     (next ip))
-             (if (< next post-ip)
-                 (lp2 next (+ next (bytecode-instruction-length bv next)))
-                 (lp (cdr in)
-                     (acons ip source out)
-                     next))))
-          (else
-           (error "unexpected"))))))))
-
 (define (program-sources-by-line proc file)
-  (let lp ((sources (program-sources-before-retire proc))
+  (let lp ((sources (program-sources-pre-retire proc))
            (out '()))
     (if (pair? sources)
         (lp (cdr sources)


hooks/post-receive
-- 
GNU Guile



reply via email to

[Prev in Thread] Current Thread [Next in Thread]