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-11-159-g3


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-11-159-g33df2ec
Date: Fri, 09 Jul 2010 15:07:20 +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=33df2ec719d281c70a5c7595dceee9f47770e910

The branch, master has been updated
       via  33df2ec719d281c70a5c7595dceee9f47770e910 (commit)
       via  ddfb5e2bb02e167c734af5091d40d7db4ffeffa1 (commit)
       via  adb825b6780b52a19291420c8699900d56de748d (commit)
       via  ff10e93c3f2524a60791d79046a1363d10c5fe5c (commit)
       via  bd6fed8e23ae13304033eb970d8f51092440e6e3 (commit)
       via  ab6becd47fbe90d68f9a2aeb4cc48bd8ba5030d2 (commit)
      from  2604f1ad859b04541ff8e878fbb6b5bcbf4edb05 (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 33df2ec719d281c70a5c7595dceee9f47770e910
Author: Andy Wingo <address@hidden>
Date:   Fri Jul 9 17:04:34 2010 +0200

    integrate the debugger into the repl
    
    * module/system/repl/debug.scm: New file, defines a data type to hold
      state for a debugger stack, and some helper procedures to print the
      stack or print a frame. Most pieces are from (system vm debug).
    
    * module/system/repl/error-handling.scm: New file, implements
      call-with-error-handling and with-error-handling, and instead of going
      into a debugger, we go into a recursive repl that happens to have
      debugging information. Will be removing the old debugger from (system
      vm debug) shortly.
    
    * module/Makefile.am (SYSTEM_SOURCES): Add error-handling and debug scm
      files.
    
    * module/system/repl/repl.scm (prompting-meta-read): Better error
      handling -- we don't want to go into a debugger when reading a
      command.
      (start-repl): Add #:debug keyword argument, and just dispatch to
      run-repl.
      (run-repl): New function, with the guts of the old start-repl. Added a
      prompt, to which a throw to 'quit will abort.
    
    * module/system/repl/common.scm (repl-prepare-eval-thunk): New
      helper. In the future we will use this to not enter the debugger on
      errors that happen at compile time.
      (repl-eval): Use repl-prepare-eval-thunk.
      (repl-print): Run the before-print-hook when printing a value.
    
    * module/system/repl/command.scm (*command-table*): Move `option' to the
      `system' group. Move `trace' to the `profile' group. Add `debug' and
      `inspect' groups.
      (command-abbrevs): Rename from command-abbrev, and allow multiple
      abbreviations.
      (display-group): Fix the case where abbrev? was #f.
      (display-summary): Fix alignment of the command and
      abbreviations. Allow multiple abbreviations.
      (read-command): Rename from read-datum, and have better error
      handling.
      (meta-command): Better error handling.
      (define-meta-command): Better error handling.
      (help, show, import, compile, disassemble, time, profile, trace): Fix
      docstrings and error messages.
      (define-stack-command): New helper, for commands that operate on a
      saved stack.
      (backtrace, up, down, frame, procedure, locals): New debugger
      commands, in the REPL now.
      (inspect, pretty-print): New "inspect" commands.

commit ddfb5e2bb02e167c734af5091d40d7db4ffeffa1
Author: Andy Wingo <address@hidden>
Date:   Fri Jul 9 16:48:30 2010 +0200

    readline only handles SIGWINCH
    
    * acinclude.m4 (GUILE_READLINE): Check for rl_catch_signals and
      rl_catch_sigwinch.
    
    * guile-readline/readline.c (scm_init_readline): If we can, turn off
      readline's signal handling, because we can do our own.
      (scm_readline): Use dynwinds to handle resetting readline's state on
      nonlocal exit, not catches.
      (unwind_readline): Rename from handle_error.

commit adb825b6780b52a19291420c8699900d56de748d
Author: Andy Wingo <address@hidden>
Date:   Fri Jul 9 10:57:51 2010 +0200

    remove use-emacs-interface check from ice-9 readline
    
    * guile-readline/ice-9/readline.scm (activate-readline): Remove check
      for use-emacs-interface in guile-user, an interface that was removed.

commit ff10e93c3f2524a60791d79046a1363d10c5fe5c
Author: Andy Wingo <address@hidden>
Date:   Thu Jul 8 17:18:21 2010 +0100

    define* in ice-9 regex
    
    * module/ice-9/regex.scm (match:start, match:end, match:substring)
      (fold-matches, list-matches): Reimplement using define*.

commit bd6fed8e23ae13304033eb970d8f51092440e6e3
Author: Andy Wingo <address@hidden>
Date:   Thu Jul 8 17:13:08 2010 +0100

    untabify (ice-9 regex)
    
    * module/ice-9/regex.scm: Untabify.

commit ab6becd47fbe90d68f9a2aeb4cc48bd8ba5030d2
Author: Andy Wingo <address@hidden>
Date:   Thu Jul 1 12:10:02 2010 +0100

    fix (set! MACRO exp) hygiene
    
    * module/ice-9/psyntax.scm (lookup): Reflow comment.
      (chi-top, syntax): Add comments about mod for lookup.
      (set!): Lookup the identifier in the module attached to its syntax
      object. In the (set! MACRO foo) case, after expanding the macro, chi
      the resulting expression with the empty wrap, as syntax-type
      does. Seems to fix the case where the expansion references
      lexically-bound variables.
    
    * module/ice-9/psyntax-pp.scm: Regenerated.
    
    * test-suite/tests/syncase.test: Add a bunch of tests.

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

Summary of changes:
 acinclude.m4                          |    3 +
 guile-readline/ice-9/readline.scm     |   27 +-
 guile-readline/readline.c             |   29 +-
 module/Makefile.am                    |    6 +-
 module/ice-9/psyntax-pp.scm           |16413 +++++++++++++++++----------------
 module/ice-9/psyntax.scm              |   31 +-
 module/ice-9/regex.scm                |  182 +-
 module/system/repl/command.scm        |  301 +-
 module/system/repl/common.scm         |   19 +-
 module/system/repl/debug.scm          |  177 +
 module/system/repl/error-handling.scm |  114 +
 module/system/repl/repl.scm           |  125 +-
 test-suite/tests/syncase.test         |   68 +
 13 files changed, 9038 insertions(+), 8457 deletions(-)
 create mode 100644 module/system/repl/debug.scm
 create mode 100644 module/system/repl/error-handling.scm

diff --git a/acinclude.m4 b/acinclude.m4
index 8cfe1d4..e00bc97 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -395,6 +395,9 @@ AC_DEFUN([GUILE_READLINE], [
 
     dnl Check for modern readline naming
     AC_CHECK_FUNCS([rl_filename_completion_function])
+    AC_CHECK_DECLS([rl_catch_signals, rl_catch_sigwinch], [], [],
+                   [[#include <stdio.h>]
+                    [#include <readline/readline.h>]])
 
     dnl Check for rl_get_keymap.  We only use this for deciding whether to
     dnl install paren matching on the Guile command line (when using
diff --git a/guile-readline/ice-9/readline.scm 
b/guile-readline/ice-9/readline.scm
index 4766e61..b7aee91 100644
--- a/guile-readline/ice-9/readline.scm
+++ b/guile-readline/ice-9/readline.scm
@@ -1,6 +1,6 @@
 ;;;; readline.scm --- support functions for command-line editing
 ;;;;
-;;;;   Copyright (C) 1997, 1999, 2000, 2001, 2002, 2006, 2009 Free Software 
Foundation, Inc.
+;;;;   Copyright (C) 1997, 1999, 2000, 2001, 2002, 2006, 2009, 2010 Free 
Software Foundation, Inc.
 ;;;; 
 ;;;; This program is free software; you can redistribute it and/or modify
 ;;;; it under the terms of the GNU General Public License as published by
@@ -201,10 +201,7 @@
          (set! *readline-completion-function* old-completer)))))
 
 (define-public (activate-readline)
-  (if (and (isatty? (current-input-port))
-          (not (let ((guile-user-module (resolve-module '(guile-user))))
-                 (and (module-defined? guile-user-module 'use-emacs-interface)
-                      (module-ref guile-user-module 'use-emacs-interface)))))
+  (if (isatty? (current-input-port))
       (let ((repl-read-hook (lambda () (run-hook before-read-hook))))
        (set-current-input-port (readline-port))
        (set! repl-reader
@@ -213,16 +210,16 @@
                      (outer-continuation-prompt continuation-prompt)
                      (outer-read-hook read-hook))
                  (dynamic-wind
-                     (lambda ()
-                       (set-buffered-input-continuation?! (readline-port) #f)
-                       (set-readline-prompt! repl-prompt "... ")
-                       (set-readline-read-hook! repl-read-hook))
-                     (lambda () ((or (and (pair? reader) (car reader))
-                                      (fluid-ref current-reader)
-                                      read)))
-                     (lambda ()
-                       (set-readline-prompt! outer-new-input-prompt 
outer-continuation-prompt)
-                       (set-readline-read-hook! outer-read-hook))))))
+                    (lambda ()
+                      (set-buffered-input-continuation?! (readline-port) #f)
+                      (set-readline-prompt! repl-prompt "... ")
+                      (set-readline-read-hook! repl-read-hook))
+                    (lambda () ((or (and (pair? reader) (car reader))
+                                    (fluid-ref current-reader)
+                                    read)))
+                    (lambda ()
+                      (set-readline-prompt! outer-new-input-prompt 
outer-continuation-prompt)
+                      (set-readline-read-hook! outer-read-hook))))))
        (set! (using-readline?) #t))))
 
 (define-public (make-completion-function strings)
diff --git a/guile-readline/readline.c b/guile-readline/readline.c
index 13e7863..0e4ad29 100644
--- a/guile-readline/readline.c
+++ b/guile-readline/readline.c
@@ -146,7 +146,7 @@ static int in_readline = 0;
 static SCM reentry_barrier_mutex;
 
 static SCM internal_readline (SCM text);
-static SCM handle_error (void *data, SCM tag, SCM args);
+static void unwind_readline (void *unused);
 static void reentry_barrier (void);
 
 
@@ -200,10 +200,12 @@ SCM_DEFINE (scm_readline, "%readline", 0, 4, 0,
 
   scm_readline_init_ports (inp, outp);
 
-  ans = scm_internal_catch (SCM_BOOL_T,
-                           (scm_t_catch_body) internal_readline,
-                           (void *) SCM_UNPACK (text),
-                           handle_error, 0);
+  scm_dynwind_begin (0);
+  scm_dynwind_unwind_handler (unwind_readline, NULL, 0);
+  
+  ans = internal_readline (text);
+
+  scm_dynwind_end ();
 
 #ifndef __MINGW32__
   fclose (rl_instream);
@@ -231,8 +233,9 @@ reentry_barrier ()
     scm_misc_error (s_scm_readline, "readline is not reentrant", SCM_EOL);
 }
 
-static SCM
-handle_error (void *data, SCM tag, SCM args)
+/* This function is only called on nonlocal exit from readline(). */
+static void
+unwind_readline (void *unused)
 {
   rl_free_line_state ();
   rl_cleanup_after_signal ();
@@ -242,8 +245,6 @@ handle_error (void *data, SCM tag, SCM args)
   fclose (rl_outstream);
 #endif
   --in_readline;
-  scm_handle_by_throw (data, tag, args);
-  return SCM_UNSPECIFIED; /* never reached */
 }
 
 static SCM
@@ -557,6 +558,16 @@ scm_init_readline ()
   rl_basic_word_break_characters = " \t\n\"'`;()";
   rl_readline_name = "Guile";
 
+  /* Let Guile handle signals. */
+#if defined (HAVE_DECL_RL_CATCH_SIGNALS) && HAVE_DECL_RL_CATCH_SIGNALS
+  rl_catch_signals = 0;
+#endif
+  
+  /* But let readline handle SIGWINCH. */
+#if defined (HAVE_DECL_RL_CATCH_SIGWINCH) && HAVE_DECL_RL_CATCH_SIGWINCH
+  rl_catch_sigwinch = 1;
+#endif
+  
   reentry_barrier_mutex = scm_make_mutex ();
   scm_init_opts (scm_readline_options,
                 scm_readline_opts);
diff --git a/module/Makefile.am b/module/Makefile.am
index 6e3e064..d2ab2ae 100644
--- a/module/Makefile.am
+++ b/module/Makefile.am
@@ -319,9 +319,11 @@ SYSTEM_SOURCES =                           \
   system/vm/vm.scm                             \
   system/foreign.scm                           \
   system/xref.scm                              \
-  system/repl/repl.scm                         \
+  system/repl/debug.scm                                \
+  system/repl/error-handling.scm               \
   system/repl/common.scm                       \
-  system/repl/command.scm
+  system/repl/command.scm                      \
+  system/repl/repl.scm
 
 LIB_SOURCES =                                  \
   statprof.scm                                 \
diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm
index 9a00c80..90fbb64 100644
--- a/module/ice-9/psyntax-pp.scm
+++ b/module/ice-9/psyntax-pp.scm
@@ -2,1224 +2,1224 @@
 (if #f #f)
 
 (letrec*
-  ((#{and-map*\ 36}#
-     (lambda (#{f\ 200}# #{first\ 201}# . #{rest\ 202}#)
+  ((#{and-map*\ 35}#
+     (lambda (#{f\ 199}# #{first\ 200}# . #{rest\ 201}#)
        (begin
-         (let ((#{t\ 208}# (null? #{first\ 201}#)))
-           (if #{t\ 208}#
-             #{t\ 208}#
-             (if (null? #{rest\ 202}#)
+         (let ((#{t\ 207}# (null? #{first\ 200}#)))
+           (if #{t\ 207}#
+             #{t\ 207}#
+             (if (null? #{rest\ 201}#)
                (letrec*
-                 ((#{andmap\ 212}#
-                    (lambda (#{first\ 213}#)
+                 ((#{andmap\ 211}#
+                    (lambda (#{first\ 212}#)
                       (begin
-                        (let ((#{x\ 216}# (car #{first\ 213}#))
-                              (#{first\ 217}# (cdr #{first\ 213}#)))
-                          (if (null? #{first\ 217}#)
-                            (#{f\ 200}# #{x\ 216}#)
-                            (if (#{f\ 200}# #{x\ 216}#)
-                              (#{andmap\ 212}# #{first\ 217}#)
+                        (let ((#{x\ 215}# (car #{first\ 212}#))
+                              (#{first\ 216}# (cdr #{first\ 212}#)))
+                          (if (null? #{first\ 216}#)
+                            (#{f\ 199}# #{x\ 215}#)
+                            (if (#{f\ 199}# #{x\ 215}#)
+                              (#{andmap\ 211}# #{first\ 216}#)
                               #f)))))))
-                 (begin (#{andmap\ 212}# #{first\ 201}#)))
+                 (begin (#{andmap\ 211}# #{first\ 200}#)))
                (letrec*
-                 ((#{andmap\ 223}#
-                    (lambda (#{first\ 224}# #{rest\ 225}#)
+                 ((#{andmap\ 222}#
+                    (lambda (#{first\ 223}# #{rest\ 224}#)
                       (begin
-                        (let ((#{x\ 230}# (car #{first\ 224}#))
-                              (#{xr\ 231}# (map car #{rest\ 225}#))
-                              (#{first\ 232}# (cdr #{first\ 224}#))
-                              (#{rest\ 233}# (map cdr #{rest\ 225}#)))
-                          (if (null? #{first\ 232}#)
-                            (@apply #{f\ 200}# (cons #{x\ 230}# #{xr\ 231}#))
+                        (let ((#{x\ 229}# (car #{first\ 223}#))
+                              (#{xr\ 230}# (map car #{rest\ 224}#))
+                              (#{first\ 231}# (cdr #{first\ 223}#))
+                              (#{rest\ 232}# (map cdr #{rest\ 224}#)))
+                          (if (null? #{first\ 231}#)
+                            (@apply #{f\ 199}# (cons #{x\ 229}# #{xr\ 230}#))
                             (if (@apply
-                                  #{f\ 200}#
-                                  (cons #{x\ 230}# #{xr\ 231}#))
-                              (#{andmap\ 223}# #{first\ 232}# #{rest\ 233}#)
+                                  #{f\ 199}#
+                                  (cons #{x\ 229}# #{xr\ 230}#))
+                              (#{andmap\ 222}# #{first\ 231}# #{rest\ 232}#)
                               #f)))))))
                  (begin
-                   (#{andmap\ 223}# #{first\ 201}# #{rest\ 202}#))))))))))
+                   (#{andmap\ 222}# #{first\ 200}# #{rest\ 201}#))))))))))
   (begin
-    (let ((#{make-primitive-ref\ 242}# (if #f #f))
-          (#{fx+\ 281}# (if #f #f))
-          (#{fx-\ 283}# (if #f #f))
-          (#{fx=\ 285}# (if #f #f))
-          (#{fx<\ 287}# (if #f #f))
-          (#{set-syntax-object-expression!\ 352}#
+    (let ((#{make-primitive-ref\ 241}# (if #f #f))
+          (#{fx+\ 280}# (if #f #f))
+          (#{fx-\ 282}# (if #f #f))
+          (#{fx=\ 284}# (if #f #f))
+          (#{fx<\ 286}# (if #f #f))
+          (#{set-syntax-object-expression!\ 351}#
             (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)))
+          (#{set-syntax-object-wrap!\ 353}# (if #f #f))
+          (#{set-syntax-object-module!\ 355}# (if #f #f))
+          (#{binding-type\ 362}# (if #f #f))
+          (#{binding-value\ 364}# (if #f #f))
+          (#{make-wrap\ 384}# (if #f #f))
+          (#{wrap-marks\ 386}# (if #f #f))
+          (#{wrap-subst\ 388}# (if #f #f))
+          (#{ribcage?\ 402}# (if #f #f)))
       (letrec*
-        ((#{make-void\ 238}#
-           (lambda (#{src\ 698}#)
+        ((#{make-void\ 237}#
+           (lambda (#{src\ 697}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 0)
-               #{src\ 698}#)))
-         (#{make-const\ 240}#
-           (lambda (#{src\ 700}# #{exp\ 701}#)
+               #{src\ 697}#)))
+         (#{make-const\ 239}#
+           (lambda (#{src\ 699}# #{exp\ 700}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 1)
-               #{src\ 700}#
-               #{exp\ 701}#)))
-         (#{make-lexical-ref\ 244}#
-           (lambda (#{src\ 708}# #{name\ 709}# #{gensym\ 710}#)
+               #{src\ 699}#
+               #{exp\ 700}#)))
+         (#{make-lexical-ref\ 243}#
+           (lambda (#{src\ 707}# #{name\ 708}# #{gensym\ 709}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 3)
-               #{src\ 708}#
-               #{name\ 709}#
-               #{gensym\ 710}#)))
-         (#{make-lexical-set\ 246}#
-           (lambda (#{src\ 714}#
-                    #{name\ 715}#
-                    #{gensym\ 716}#
-                    #{exp\ 717}#)
+               #{src\ 707}#
+               #{name\ 708}#
+               #{gensym\ 709}#)))
+         (#{make-lexical-set\ 245}#
+           (lambda (#{src\ 713}#
+                    #{name\ 714}#
+                    #{gensym\ 715}#
+                    #{exp\ 716}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 4)
-               #{src\ 714}#
-               #{name\ 715}#
-               #{gensym\ 716}#
-               #{exp\ 717}#)))
-         (#{make-module-ref\ 248}#
-           (lambda (#{src\ 722}#
-                    #{mod\ 723}#
-                    #{name\ 724}#
-                    #{public?\ 725}#)
+               #{src\ 713}#
+               #{name\ 714}#
+               #{gensym\ 715}#
+               #{exp\ 716}#)))
+         (#{make-module-ref\ 247}#
+           (lambda (#{src\ 721}#
+                    #{mod\ 722}#
+                    #{name\ 723}#
+                    #{public?\ 724}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 5)
-               #{src\ 722}#
-               #{mod\ 723}#
-               #{name\ 724}#
-               #{public?\ 725}#)))
-         (#{make-module-set\ 250}#
-           (lambda (#{src\ 730}#
-                    #{mod\ 731}#
-                    #{name\ 732}#
-                    #{public?\ 733}#
-                    #{exp\ 734}#)
+               #{src\ 721}#
+               #{mod\ 722}#
+               #{name\ 723}#
+               #{public?\ 724}#)))
+         (#{make-module-set\ 249}#
+           (lambda (#{src\ 729}#
+                    #{mod\ 730}#
+                    #{name\ 731}#
+                    #{public?\ 732}#
+                    #{exp\ 733}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 6)
-               #{src\ 730}#
-               #{mod\ 731}#
-               #{name\ 732}#
-               #{public?\ 733}#
-               #{exp\ 734}#)))
-         (#{make-toplevel-ref\ 252}#
-           (lambda (#{src\ 740}# #{name\ 741}#)
+               #{src\ 729}#
+               #{mod\ 730}#
+               #{name\ 731}#
+               #{public?\ 732}#
+               #{exp\ 733}#)))
+         (#{make-toplevel-ref\ 251}#
+           (lambda (#{src\ 739}# #{name\ 740}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 7)
-               #{src\ 740}#
-               #{name\ 741}#)))
-         (#{make-toplevel-set\ 254}#
-           (lambda (#{src\ 744}# #{name\ 745}# #{exp\ 746}#)
+               #{src\ 739}#
+               #{name\ 740}#)))
+         (#{make-toplevel-set\ 253}#
+           (lambda (#{src\ 743}# #{name\ 744}# #{exp\ 745}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 8)
-               #{src\ 744}#
-               #{name\ 745}#
-               #{exp\ 746}#)))
-         (#{make-toplevel-define\ 256}#
-           (lambda (#{src\ 750}# #{name\ 751}# #{exp\ 752}#)
+               #{src\ 743}#
+               #{name\ 744}#
+               #{exp\ 745}#)))
+         (#{make-toplevel-define\ 255}#
+           (lambda (#{src\ 749}# #{name\ 750}# #{exp\ 751}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 9)
-               #{src\ 750}#
-               #{name\ 751}#
-               #{exp\ 752}#)))
-         (#{make-conditional\ 258}#
-           (lambda (#{src\ 756}#
-                    #{test\ 757}#
-                    #{consequent\ 758}#
-                    #{alternate\ 759}#)
+               #{src\ 749}#
+               #{name\ 750}#
+               #{exp\ 751}#)))
+         (#{make-conditional\ 257}#
+           (lambda (#{src\ 755}#
+                    #{test\ 756}#
+                    #{consequent\ 757}#
+                    #{alternate\ 758}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 10)
-               #{src\ 756}#
-               #{test\ 757}#
-               #{consequent\ 758}#
-               #{alternate\ 759}#)))
-         (#{make-application\ 260}#
-           (lambda (#{src\ 764}# #{proc\ 765}# #{args\ 766}#)
+               #{src\ 755}#
+               #{test\ 756}#
+               #{consequent\ 757}#
+               #{alternate\ 758}#)))
+         (#{make-application\ 259}#
+           (lambda (#{src\ 763}# #{proc\ 764}# #{args\ 765}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 11)
-               #{src\ 764}#
-               #{proc\ 765}#
-               #{args\ 766}#)))
-         (#{make-sequence\ 262}#
-           (lambda (#{src\ 770}# #{exps\ 771}#)
+               #{src\ 763}#
+               #{proc\ 764}#
+               #{args\ 765}#)))
+         (#{make-sequence\ 261}#
+           (lambda (#{src\ 769}# #{exps\ 770}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 12)
-               #{src\ 770}#
-               #{exps\ 771}#)))
-         (#{make-lambda\ 264}#
-           (lambda (#{src\ 774}# #{meta\ 775}# #{body\ 776}#)
+               #{src\ 769}#
+               #{exps\ 770}#)))
+         (#{make-lambda\ 263}#
+           (lambda (#{src\ 773}# #{meta\ 774}# #{body\ 775}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 13)
-               #{src\ 774}#
-               #{meta\ 775}#
-               #{body\ 776}#)))
-         (#{make-lambda-case\ 266}#
-           (lambda (#{src\ 780}#
-                    #{req\ 781}#
-                    #{opt\ 782}#
-                    #{rest\ 783}#
-                    #{kw\ 784}#
-                    #{inits\ 785}#
-                    #{gensyms\ 786}#
-                    #{body\ 787}#
-                    #{alternate\ 788}#)
+               #{src\ 773}#
+               #{meta\ 774}#
+               #{body\ 775}#)))
+         (#{make-lambda-case\ 265}#
+           (lambda (#{src\ 779}#
+                    #{req\ 780}#
+                    #{opt\ 781}#
+                    #{rest\ 782}#
+                    #{kw\ 783}#
+                    #{inits\ 784}#
+                    #{gensyms\ 785}#
+                    #{body\ 786}#
+                    #{alternate\ 787}#)
              (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}#)))
-         (#{make-let\ 268}#
-           (lambda (#{src\ 798}#
-                    #{names\ 799}#
-                    #{gensyms\ 800}#
-                    #{vals\ 801}#
-                    #{body\ 802}#)
+               #{src\ 779}#
+               #{req\ 780}#
+               #{opt\ 781}#
+               #{rest\ 782}#
+               #{kw\ 783}#
+               #{inits\ 784}#
+               #{gensyms\ 785}#
+               #{body\ 786}#
+               #{alternate\ 787}#)))
+         (#{make-let\ 267}#
+           (lambda (#{src\ 797}#
+                    #{names\ 798}#
+                    #{gensyms\ 799}#
+                    #{vals\ 800}#
+                    #{body\ 801}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 15)
-               #{src\ 798}#
-               #{names\ 799}#
-               #{gensyms\ 800}#
-               #{vals\ 801}#
-               #{body\ 802}#)))
-         (#{make-letrec\ 270}#
-           (lambda (#{src\ 808}#
-                    #{in-order?\ 809}#
-                    #{names\ 810}#
-                    #{gensyms\ 811}#
-                    #{vals\ 812}#
-                    #{body\ 813}#)
+               #{src\ 797}#
+               #{names\ 798}#
+               #{gensyms\ 799}#
+               #{vals\ 800}#
+               #{body\ 801}#)))
+         (#{make-letrec\ 269}#
+           (lambda (#{src\ 807}#
+                    #{in-order?\ 808}#
+                    #{names\ 809}#
+                    #{gensyms\ 810}#
+                    #{vals\ 811}#
+                    #{body\ 812}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 16)
-               #{src\ 808}#
-               #{in-order?\ 809}#
-               #{names\ 810}#
-               #{gensyms\ 811}#
-               #{vals\ 812}#
-               #{body\ 813}#)))
-         (#{make-dynlet\ 272}#
-           (lambda (#{src\ 820}#
-                    #{fluids\ 821}#
-                    #{vals\ 822}#
-                    #{body\ 823}#)
+               #{src\ 807}#
+               #{in-order?\ 808}#
+               #{names\ 809}#
+               #{gensyms\ 810}#
+               #{vals\ 811}#
+               #{body\ 812}#)))
+         (#{make-dynlet\ 271}#
+           (lambda (#{src\ 819}#
+                    #{fluids\ 820}#
+                    #{vals\ 821}#
+                    #{body\ 822}#)
              (make-struct/no-tail
                (vector-ref %expanded-vtables 17)
-               #{src\ 820}#
-               #{fluids\ 821}#
-               #{vals\ 822}#
-               #{body\ 823}#)))
-         (#{lambda?\ 275}#
-           (lambda (#{x\ 828}#)
-             (if (struct? #{x\ 828}#)
-               (eq? (struct-vtable #{x\ 828}#)
+               #{src\ 819}#
+               #{fluids\ 820}#
+               #{vals\ 821}#
+               #{body\ 822}#)))
+         (#{lambda?\ 274}#
+           (lambda (#{x\ 827}#)
+             (if (struct? #{x\ 827}#)
+               (eq? (struct-vtable #{x\ 827}#)
                     (vector-ref %expanded-vtables 13))
                #f)))
-         (#{lambda-meta\ 277}#
-           (lambda (#{x\ 832}#) (struct-ref #{x\ 832}# 1)))
-         (#{set-lambda-meta!\ 279}#
-           (lambda (#{x\ 834}# #{v\ 835}#)
-             (struct-set! #{x\ 834}# 1 #{v\ 835}#)))
-         (#{top-level-eval-hook\ 289}#
-           (lambda (#{x\ 838}# #{mod\ 839}#)
-             (primitive-eval #{x\ 838}#)))
-         (#{local-eval-hook\ 291}#
-           (lambda (#{x\ 842}# #{mod\ 843}#)
-             (primitive-eval #{x\ 842}#)))
-         (#{put-global-definition-hook\ 294}#
-           (lambda (#{symbol\ 846}# #{type\ 847}# #{val\ 848}#)
+         (#{lambda-meta\ 276}#
+           (lambda (#{x\ 831}#) (struct-ref #{x\ 831}# 1)))
+         (#{set-lambda-meta!\ 278}#
+           (lambda (#{x\ 833}# #{v\ 834}#)
+             (struct-set! #{x\ 833}# 1 #{v\ 834}#)))
+         (#{top-level-eval-hook\ 288}#
+           (lambda (#{x\ 837}# #{mod\ 838}#)
+             (primitive-eval #{x\ 837}#)))
+         (#{local-eval-hook\ 290}#
+           (lambda (#{x\ 841}# #{mod\ 842}#)
+             (primitive-eval #{x\ 841}#)))
+         (#{put-global-definition-hook\ 293}#
+           (lambda (#{symbol\ 845}# #{type\ 846}# #{val\ 847}#)
              (module-define!
                (current-module)
-               #{symbol\ 846}#
+               #{symbol\ 845}#
                (make-syntax-transformer
-                 #{symbol\ 846}#
-                 #{type\ 847}#
-                 #{val\ 848}#))))
-         (#{get-global-definition-hook\ 296}#
-           (lambda (#{symbol\ 852}# #{module\ 853}#)
+                 #{symbol\ 845}#
+                 #{type\ 846}#
+                 #{val\ 847}#))))
+         (#{get-global-definition-hook\ 295}#
+           (lambda (#{symbol\ 851}# #{module\ 852}#)
              (begin
-               (if (if (not #{module\ 853}#) (current-module) #f)
+               (if (if (not #{module\ 852}#) (current-module) #f)
                  (warn "module system is booted, we should have a module"
-                       #{symbol\ 852}#))
+                       #{symbol\ 851}#))
                (begin
-                 (let ((#{v\ 859}# (module-variable
-                                     (if #{module\ 853}#
-                                       (resolve-module (cdr #{module\ 853}#))
+                 (let ((#{v\ 858}# (module-variable
+                                     (if #{module\ 852}#
+                                       (resolve-module (cdr #{module\ 852}#))
                                        (current-module))
-                                     #{symbol\ 852}#)))
-                   (if #{v\ 859}#
-                     (if (variable-bound? #{v\ 859}#)
+                                     #{symbol\ 851}#)))
+                   (if #{v\ 858}#
+                     (if (variable-bound? #{v\ 858}#)
                        (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\ 863}# (variable-ref #{v\ 858}#)))
+                           (if (macro? #{val\ 863}#)
+                             (if (macro-type #{val\ 863}#)
+                               (cons (macro-type #{val\ 863}#)
+                                     (macro-binding #{val\ 863}#))
                                #f)
                              #f)))
                        #f)
                      #f))))))
-         (#{decorate-source\ 298}#
-           (lambda (#{e\ 868}# #{s\ 869}#)
+         (#{decorate-source\ 297}#
+           (lambda (#{e\ 867}# #{s\ 868}#)
              (begin
-               (if (if (pair? #{e\ 868}#) #{s\ 869}# #f)
-                 (set-source-properties! #{e\ 868}# #{s\ 869}#))
-               #{e\ 868}#)))
-         (#{maybe-name-value!\ 300}#
-           (lambda (#{name\ 874}# #{val\ 875}#)
-             (if (#{lambda?\ 275}# #{val\ 875}#)
+               (if (if (pair? #{e\ 867}#) #{s\ 868}# #f)
+                 (set-source-properties! #{e\ 867}# #{s\ 868}#))
+               #{e\ 867}#)))
+         (#{maybe-name-value!\ 299}#
+           (lambda (#{name\ 873}# #{val\ 874}#)
+             (if (#{lambda?\ 274}# #{val\ 874}#)
                (begin
-                 (let ((#{meta\ 879}#
-                         (#{lambda-meta\ 277}# #{val\ 875}#)))
-                   (if (not (assq (quote name) #{meta\ 879}#))
-                     (#{set-lambda-meta!\ 279}#
-                       #{val\ 875}#
-                       (cons (cons (quote name) #{name\ 874}#)
-                             #{meta\ 879}#))))))))
-         (#{build-void\ 302}#
-           (lambda (#{source\ 880}#)
-             (#{make-void\ 238}# #{source\ 880}#)))
-         (#{build-application\ 304}#
-           (lambda (#{source\ 882}#
-                    #{fun-exp\ 883}#
-                    #{arg-exps\ 884}#)
-             (#{make-application\ 260}#
-               #{source\ 882}#
-               #{fun-exp\ 883}#
-               #{arg-exps\ 884}#)))
-         (#{build-conditional\ 306}#
-           (lambda (#{source\ 888}#
-                    #{test-exp\ 889}#
-                    #{then-exp\ 890}#
-                    #{else-exp\ 891}#)
-             (#{make-conditional\ 258}#
-               #{source\ 888}#
-               #{test-exp\ 889}#
-               #{then-exp\ 890}#
-               #{else-exp\ 891}#)))
-         (#{build-dynlet\ 308}#
-           (lambda (#{source\ 896}#
-                    #{fluids\ 897}#
-                    #{vals\ 898}#
-                    #{body\ 899}#)
-             (#{make-dynlet\ 272}#
-               #{source\ 896}#
-               #{fluids\ 897}#
-               #{vals\ 898}#
-               #{body\ 899}#)))
-         (#{build-lexical-reference\ 310}#
-           (lambda (#{type\ 904}#
-                    #{source\ 905}#
-                    #{name\ 906}#
-                    #{var\ 907}#)
-             (#{make-lexical-ref\ 244}#
-               #{source\ 905}#
-               #{name\ 906}#
-               #{var\ 907}#)))
-         (#{build-lexical-assignment\ 312}#
-           (lambda (#{source\ 912}#
-                    #{name\ 913}#
-                    #{var\ 914}#
-                    #{exp\ 915}#)
+                 (let ((#{meta\ 878}#
+                         (#{lambda-meta\ 276}# #{val\ 874}#)))
+                   (if (not (assq (quote name) #{meta\ 878}#))
+                     (#{set-lambda-meta!\ 278}#
+                       #{val\ 874}#
+                       (cons (cons (quote name) #{name\ 873}#)
+                             #{meta\ 878}#))))))))
+         (#{build-void\ 301}#
+           (lambda (#{source\ 879}#)
+             (#{make-void\ 237}# #{source\ 879}#)))
+         (#{build-application\ 303}#
+           (lambda (#{source\ 881}#
+                    #{fun-exp\ 882}#
+                    #{arg-exps\ 883}#)
+             (#{make-application\ 259}#
+               #{source\ 881}#
+               #{fun-exp\ 882}#
+               #{arg-exps\ 883}#)))
+         (#{build-conditional\ 305}#
+           (lambda (#{source\ 887}#
+                    #{test-exp\ 888}#
+                    #{then-exp\ 889}#
+                    #{else-exp\ 890}#)
+             (#{make-conditional\ 257}#
+               #{source\ 887}#
+               #{test-exp\ 888}#
+               #{then-exp\ 889}#
+               #{else-exp\ 890}#)))
+         (#{build-dynlet\ 307}#
+           (lambda (#{source\ 895}#
+                    #{fluids\ 896}#
+                    #{vals\ 897}#
+                    #{body\ 898}#)
+             (#{make-dynlet\ 271}#
+               #{source\ 895}#
+               #{fluids\ 896}#
+               #{vals\ 897}#
+               #{body\ 898}#)))
+         (#{build-lexical-reference\ 309}#
+           (lambda (#{type\ 903}#
+                    #{source\ 904}#
+                    #{name\ 905}#
+                    #{var\ 906}#)
+             (#{make-lexical-ref\ 243}#
+               #{source\ 904}#
+               #{name\ 905}#
+               #{var\ 906}#)))
+         (#{build-lexical-assignment\ 311}#
+           (lambda (#{source\ 911}#
+                    #{name\ 912}#
+                    #{var\ 913}#
+                    #{exp\ 914}#)
              (begin
-               (#{maybe-name-value!\ 300}#
-                 #{name\ 913}#
-                 #{exp\ 915}#)
-               (#{make-lexical-set\ 246}#
-                 #{source\ 912}#
-                 #{name\ 913}#
-                 #{var\ 914}#
-                 #{exp\ 915}#))))
-         (#{analyze-variable\ 314}#
-           (lambda (#{mod\ 920}#
-                    #{var\ 921}#
-                    #{modref-cont\ 922}#
-                    #{bare-cont\ 923}#)
-             (if (not #{mod\ 920}#)
-               (#{bare-cont\ 923}# #{var\ 921}#)
+               (#{maybe-name-value!\ 299}#
+                 #{name\ 912}#
+                 #{exp\ 914}#)
+               (#{make-lexical-set\ 245}#
+                 #{source\ 911}#
+                 #{name\ 912}#
+                 #{var\ 913}#
+                 #{exp\ 914}#))))
+         (#{analyze-variable\ 313}#
+           (lambda (#{mod\ 919}#
+                    #{var\ 920}#
+                    #{modref-cont\ 921}#
+                    #{bare-cont\ 922}#)
+             (if (not #{mod\ 919}#)
+               (#{bare-cont\ 922}# #{var\ 920}#)
                (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\ 929}# (car #{mod\ 919}#))
+                       (#{mod\ 930}# (cdr #{mod\ 919}#)))
+                   (if (eqv? #{kind\ 929}# (quote public))
+                     (#{modref-cont\ 921}#
+                       #{mod\ 930}#
+                       #{var\ 920}#
                        #t)
-                     (if (eqv? #{kind\ 930}# (quote private))
+                     (if (eqv? #{kind\ 929}# (quote private))
                        (if (not (equal?
-                                  #{mod\ 931}#
+                                  #{mod\ 930}#
                                   (module-name (current-module))))
-                         (#{modref-cont\ 922}#
-                           #{mod\ 931}#
-                           #{var\ 921}#
+                         (#{modref-cont\ 921}#
+                           #{mod\ 930}#
+                           #{var\ 920}#
                            #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\ 922}# #{var\ 920}#))
+                       (if (eqv? #{kind\ 929}# (quote bare))
+                         (#{bare-cont\ 922}# #{var\ 920}#)
+                         (if (eqv? #{kind\ 929}# (quote hygiene))
                            (if (if (not (equal?
-                                          #{mod\ 931}#
+                                          #{mod\ 930}#
                                           (module-name (current-module))))
                                  (module-variable
-                                   (resolve-module #{mod\ 931}#)
-                                   #{var\ 921}#)
+                                   (resolve-module #{mod\ 930}#)
+                                   #{var\ 920}#)
                                  #f)
-                             (#{modref-cont\ 922}#
-                               #{mod\ 931}#
-                               #{var\ 921}#
+                             (#{modref-cont\ 921}#
+                               #{mod\ 930}#
+                               #{var\ 920}#
                                #f)
-                             (#{bare-cont\ 923}# #{var\ 921}#))
+                             (#{bare-cont\ 922}# #{var\ 920}#))
                            (syntax-violation
                              #f
                              "bad module kind"
-                             #{var\ 921}#
-                             #{mod\ 931}#))))))))))
-         (#{build-global-reference\ 316}#
-           (lambda (#{source\ 939}# #{var\ 940}# #{mod\ 941}#)
-             (#{analyze-variable\ 314}#
-               #{mod\ 941}#
-               #{var\ 940}#
-               (lambda (#{mod\ 945}# #{var\ 946}# #{public?\ 947}#)
-                 (#{make-module-ref\ 248}#
-                   #{source\ 939}#
-                   #{mod\ 945}#
-                   #{var\ 946}#
-                   #{public?\ 947}#))
-               (lambda (#{var\ 951}#)
-                 (#{make-toplevel-ref\ 252}#
-                   #{source\ 939}#
-                   #{var\ 951}#)))))
-         (#{build-global-assignment\ 318}#
-           (lambda (#{source\ 953}#
-                    #{var\ 954}#
-                    #{exp\ 955}#
-                    #{mod\ 956}#)
+                             #{var\ 920}#
+                             #{mod\ 930}#))))))))))
+         (#{build-global-reference\ 315}#
+           (lambda (#{source\ 938}# #{var\ 939}# #{mod\ 940}#)
+             (#{analyze-variable\ 313}#
+               #{mod\ 940}#
+               #{var\ 939}#
+               (lambda (#{mod\ 944}# #{var\ 945}# #{public?\ 946}#)
+                 (#{make-module-ref\ 247}#
+                   #{source\ 938}#
+                   #{mod\ 944}#
+                   #{var\ 945}#
+                   #{public?\ 946}#))
+               (lambda (#{var\ 950}#)
+                 (#{make-toplevel-ref\ 251}#
+                   #{source\ 938}#
+                   #{var\ 950}#)))))
+         (#{build-global-assignment\ 317}#
+           (lambda (#{source\ 952}#
+                    #{var\ 953}#
+                    #{exp\ 954}#
+                    #{mod\ 955}#)
              (begin
-               (#{maybe-name-value!\ 300}#
-                 #{var\ 954}#
-                 #{exp\ 955}#)
-               (#{analyze-variable\ 314}#
-                 #{mod\ 956}#
-                 #{var\ 954}#
-                 (lambda (#{mod\ 961}# #{var\ 962}# #{public?\ 963}#)
-                   (#{make-module-set\ 250}#
-                     #{source\ 953}#
-                     #{mod\ 961}#
-                     #{var\ 962}#
-                     #{public?\ 963}#
-                     #{exp\ 955}#))
-                 (lambda (#{var\ 967}#)
-                   (#{make-toplevel-set\ 254}#
-                     #{source\ 953}#
-                     #{var\ 967}#
-                     #{exp\ 955}#))))))
-         (#{build-global-definition\ 320}#
-           (lambda (#{source\ 969}# #{var\ 970}# #{exp\ 971}#)
+               (#{maybe-name-value!\ 299}#
+                 #{var\ 953}#
+                 #{exp\ 954}#)
+               (#{analyze-variable\ 313}#
+                 #{mod\ 955}#
+                 #{var\ 953}#
+                 (lambda (#{mod\ 960}# #{var\ 961}# #{public?\ 962}#)
+                   (#{make-module-set\ 249}#
+                     #{source\ 952}#
+                     #{mod\ 960}#
+                     #{var\ 961}#
+                     #{public?\ 962}#
+                     #{exp\ 954}#))
+                 (lambda (#{var\ 966}#)
+                   (#{make-toplevel-set\ 253}#
+                     #{source\ 952}#
+                     #{var\ 966}#
+                     #{exp\ 954}#))))))
+         (#{build-global-definition\ 319}#
+           (lambda (#{source\ 968}# #{var\ 969}# #{exp\ 970}#)
              (begin
-               (#{maybe-name-value!\ 300}#
-                 #{var\ 970}#
-                 #{exp\ 971}#)
-               (#{make-toplevel-define\ 256}#
-                 #{source\ 969}#
-                 #{var\ 970}#
-                 #{exp\ 971}#))))
-         (#{build-simple-lambda\ 322}#
-           (lambda (#{src\ 975}#
-                    #{req\ 976}#
-                    #{rest\ 977}#
-                    #{vars\ 978}#
-                    #{meta\ 979}#
-                    #{exp\ 980}#)
-             (#{make-lambda\ 264}#
-               #{src\ 975}#
-               #{meta\ 979}#
-               (#{make-lambda-case\ 266}#
-                 #{src\ 975}#
-                 #{req\ 976}#
+               (#{maybe-name-value!\ 299}#
+                 #{var\ 969}#
+                 #{exp\ 970}#)
+               (#{make-toplevel-define\ 255}#
+                 #{source\ 968}#
+                 #{var\ 969}#
+                 #{exp\ 970}#))))
+         (#{build-simple-lambda\ 321}#
+           (lambda (#{src\ 974}#
+                    #{req\ 975}#
+                    #{rest\ 976}#
+                    #{vars\ 977}#
+                    #{meta\ 978}#
+                    #{exp\ 979}#)
+             (#{make-lambda\ 263}#
+               #{src\ 974}#
+               #{meta\ 978}#
+               (#{make-lambda-case\ 265}#
+                 #{src\ 974}#
+                 #{req\ 975}#
                  #f
-                 #{rest\ 977}#
+                 #{rest\ 976}#
                  #f
                  '()
-                 #{vars\ 978}#
-                 #{exp\ 980}#
+                 #{vars\ 977}#
+                 #{exp\ 979}#
                  #f))))
-         (#{build-case-lambda\ 324}#
-           (lambda (#{src\ 987}# #{meta\ 988}# #{body\ 989}#)
-             (#{make-lambda\ 264}#
-               #{src\ 987}#
-               #{meta\ 988}#
-               #{body\ 989}#)))
-         (#{build-lambda-case\ 326}#
-           (lambda (#{src\ 993}#
-                    #{req\ 994}#
-                    #{opt\ 995}#
-                    #{rest\ 996}#
-                    #{kw\ 997}#
-                    #{inits\ 998}#
-                    #{vars\ 999}#
-                    #{body\ 1000}#
-                    #{else-case\ 1001}#)
-             (#{make-lambda-case\ 266}#
-               #{src\ 993}#
-               #{req\ 994}#
-               #{opt\ 995}#
-               #{rest\ 996}#
-               #{kw\ 997}#
-               #{inits\ 998}#
-               #{vars\ 999}#
-               #{body\ 1000}#
-               #{else-case\ 1001}#)))
-         (#{build-primref\ 328}#
-           (lambda (#{src\ 1011}# #{name\ 1012}#)
+         (#{build-case-lambda\ 323}#
+           (lambda (#{src\ 986}# #{meta\ 987}# #{body\ 988}#)
+             (#{make-lambda\ 263}#
+               #{src\ 986}#
+               #{meta\ 987}#
+               #{body\ 988}#)))
+         (#{build-lambda-case\ 325}#
+           (lambda (#{src\ 992}#
+                    #{req\ 993}#
+                    #{opt\ 994}#
+                    #{rest\ 995}#
+                    #{kw\ 996}#
+                    #{inits\ 997}#
+                    #{vars\ 998}#
+                    #{body\ 999}#
+                    #{else-case\ 1000}#)
+             (#{make-lambda-case\ 265}#
+               #{src\ 992}#
+               #{req\ 993}#
+               #{opt\ 994}#
+               #{rest\ 995}#
+               #{kw\ 996}#
+               #{inits\ 997}#
+               #{vars\ 998}#
+               #{body\ 999}#
+               #{else-case\ 1000}#)))
+         (#{build-primref\ 327}#
+           (lambda (#{src\ 1010}# #{name\ 1011}#)
              (if (equal?
                    (module-name (current-module))
                    '(guile))
-               (#{make-toplevel-ref\ 252}#
-                 #{src\ 1011}#
-                 #{name\ 1012}#)
-               (#{make-module-ref\ 248}#
-                 #{src\ 1011}#
+               (#{make-toplevel-ref\ 251}#
+                 #{src\ 1010}#
+                 #{name\ 1011}#)
+               (#{make-module-ref\ 247}#
+                 #{src\ 1010}#
                  '(guile)
-                 #{name\ 1012}#
+                 #{name\ 1011}#
                  #f))))
-         (#{build-data\ 330}#
-           (lambda (#{src\ 1015}# #{exp\ 1016}#)
-             (#{make-const\ 240}# #{src\ 1015}# #{exp\ 1016}#)))
-         (#{build-sequence\ 332}#
-           (lambda (#{src\ 1019}# #{exps\ 1020}#)
-             (if (null? (cdr #{exps\ 1020}#))
-               (car #{exps\ 1020}#)
-               (#{make-sequence\ 262}#
-                 #{src\ 1019}#
-                 #{exps\ 1020}#))))
-         (#{build-let\ 334}#
-           (lambda (#{src\ 1023}#
-                    #{ids\ 1024}#
-                    #{vars\ 1025}#
-                    #{val-exps\ 1026}#
-                    #{body-exp\ 1027}#)
+         (#{build-data\ 329}#
+           (lambda (#{src\ 1014}# #{exp\ 1015}#)
+             (#{make-const\ 239}# #{src\ 1014}# #{exp\ 1015}#)))
+         (#{build-sequence\ 331}#
+           (lambda (#{src\ 1018}# #{exps\ 1019}#)
+             (if (null? (cdr #{exps\ 1019}#))
+               (car #{exps\ 1019}#)
+               (#{make-sequence\ 261}#
+                 #{src\ 1018}#
+                 #{exps\ 1019}#))))
+         (#{build-let\ 333}#
+           (lambda (#{src\ 1022}#
+                    #{ids\ 1023}#
+                    #{vars\ 1024}#
+                    #{val-exps\ 1025}#
+                    #{body-exp\ 1026}#)
              (begin
                (for-each
-                 #{maybe-name-value!\ 300}#
-                 #{ids\ 1024}#
-                 #{val-exps\ 1026}#)
-               (if (null? #{vars\ 1025}#)
-                 #{body-exp\ 1027}#
-                 (#{make-let\ 268}#
-                   #{src\ 1023}#
-                   #{ids\ 1024}#
-                   #{vars\ 1025}#
-                   #{val-exps\ 1026}#
-                   #{body-exp\ 1027}#)))))
-         (#{build-named-let\ 336}#
-           (lambda (#{src\ 1033}#
-                    #{ids\ 1034}#
-                    #{vars\ 1035}#
-                    #{val-exps\ 1036}#
-                    #{body-exp\ 1037}#)
+                 #{maybe-name-value!\ 299}#
+                 #{ids\ 1023}#
+                 #{val-exps\ 1025}#)
+               (if (null? #{vars\ 1024}#)
+                 #{body-exp\ 1026}#
+                 (#{make-let\ 267}#
+                   #{src\ 1022}#
+                   #{ids\ 1023}#
+                   #{vars\ 1024}#
+                   #{val-exps\ 1025}#
+                   #{body-exp\ 1026}#)))))
+         (#{build-named-let\ 335}#
+           (lambda (#{src\ 1032}#
+                    #{ids\ 1033}#
+                    #{vars\ 1034}#
+                    #{val-exps\ 1035}#
+                    #{body-exp\ 1036}#)
              (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\ 1046}# (car #{vars\ 1034}#))
+                     (#{f-name\ 1047}# (car #{ids\ 1033}#))
+                     (#{vars\ 1048}# (cdr #{vars\ 1034}#))
+                     (#{ids\ 1049}# (cdr #{ids\ 1033}#)))
                  (begin
-                   (let ((#{proc\ 1052}#
-                           (#{build-simple-lambda\ 322}#
-                             #{src\ 1033}#
-                             #{ids\ 1050}#
+                   (let ((#{proc\ 1051}#
+                           (#{build-simple-lambda\ 321}#
+                             #{src\ 1032}#
+                             #{ids\ 1049}#
                              #f
-                             #{vars\ 1049}#
+                             #{vars\ 1048}#
                              '()
-                             #{body-exp\ 1037}#)))
+                             #{body-exp\ 1036}#)))
                      (begin
-                       (#{maybe-name-value!\ 300}#
-                         #{f-name\ 1048}#
-                         #{proc\ 1052}#)
+                       (#{maybe-name-value!\ 299}#
+                         #{f-name\ 1047}#
+                         #{proc\ 1051}#)
                        (for-each
-                         #{maybe-name-value!\ 300}#
-                         #{ids\ 1050}#
-                         #{val-exps\ 1036}#)
-                       (#{make-letrec\ 270}#
-                         #{src\ 1033}#
+                         #{maybe-name-value!\ 299}#
+                         #{ids\ 1049}#
+                         #{val-exps\ 1035}#)
+                       (#{make-letrec\ 269}#
+                         #{src\ 1032}#
                          #f
-                         (list #{f-name\ 1048}#)
-                         (list #{f\ 1047}#)
-                         (list #{proc\ 1052}#)
-                         (#{build-application\ 304}#
-                           #{src\ 1033}#
-                           (#{build-lexical-reference\ 310}#
+                         (list #{f-name\ 1047}#)
+                         (list #{f\ 1046}#)
+                         (list #{proc\ 1051}#)
+                         (#{build-application\ 303}#
+                           #{src\ 1032}#
+                           (#{build-lexical-reference\ 309}#
                              'fun
-                             #{src\ 1033}#
-                             #{f-name\ 1048}#
-                             #{f\ 1047}#)
-                           #{val-exps\ 1036}#)))))))))
-         (#{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}#
+                             #{src\ 1032}#
+                             #{f-name\ 1047}#
+                             #{f\ 1046}#)
+                           #{val-exps\ 1035}#)))))))))
+         (#{build-letrec\ 337}#
+           (lambda (#{src\ 1052}#
+                    #{in-order?\ 1053}#
+                    #{ids\ 1054}#
+                    #{vars\ 1055}#
+                    #{val-exps\ 1056}#
+                    #{body-exp\ 1057}#)
+             (if (null? #{vars\ 1055}#)
+               #{body-exp\ 1057}#
                (begin
                  (for-each
-                   #{maybe-name-value!\ 300}#
-                   #{ids\ 1055}#
-                   #{val-exps\ 1057}#)
-                 (#{make-letrec\ 270}#
-                   #{src\ 1053}#
-                   #{in-order?\ 1054}#
-                   #{ids\ 1055}#
-                   #{vars\ 1056}#
-                   #{val-exps\ 1057}#
-                   #{body-exp\ 1058}#)))))
-         (#{make-syntax-object\ 342}#
-           (lambda (#{expression\ 1065}#
-                    #{wrap\ 1066}#
-                    #{module\ 1067}#)
+                   #{maybe-name-value!\ 299}#
+                   #{ids\ 1054}#
+                   #{val-exps\ 1056}#)
+                 (#{make-letrec\ 269}#
+                   #{src\ 1052}#
+                   #{in-order?\ 1053}#
+                   #{ids\ 1054}#
+                   #{vars\ 1055}#
+                   #{val-exps\ 1056}#
+                   #{body-exp\ 1057}#)))))
+         (#{make-syntax-object\ 341}#
+           (lambda (#{expression\ 1064}#
+                    #{wrap\ 1065}#
+                    #{module\ 1066}#)
              (vector
                'syntax-object
-               #{expression\ 1065}#
-               #{wrap\ 1066}#
-               #{module\ 1067}#)))
-         (#{syntax-object?\ 344}#
-           (lambda (#{x\ 1071}#)
-             (if (vector? #{x\ 1071}#)
-               (if (= (vector-length #{x\ 1071}#) 4)
-                 (eq? (vector-ref #{x\ 1071}# 0)
+               #{expression\ 1064}#
+               #{wrap\ 1065}#
+               #{module\ 1066}#)))
+         (#{syntax-object?\ 343}#
+           (lambda (#{x\ 1070}#)
+             (if (vector? #{x\ 1070}#)
+               (if (= (vector-length #{x\ 1070}#) 4)
+                 (eq? (vector-ref #{x\ 1070}# 0)
                       'syntax-object)
                  #f)
                #f)))
-         (#{syntax-object-expression\ 346}#
-           (lambda (#{x\ 1076}#) (vector-ref #{x\ 1076}# 1)))
-         (#{syntax-object-wrap\ 348}#
-           (lambda (#{x\ 1078}#) (vector-ref #{x\ 1078}# 2)))
-         (#{syntax-object-module\ 350}#
-           (lambda (#{x\ 1080}#) (vector-ref #{x\ 1080}# 3)))
-         (#{source-annotation\ 359}#
-           (lambda (#{x\ 1094}#)
-             (if (#{syntax-object?\ 344}# #{x\ 1094}#)
-               (#{source-annotation\ 359}#
-                 (#{syntax-object-expression\ 346}# #{x\ 1094}#))
-               (if (pair? #{x\ 1094}#)
+         (#{syntax-object-expression\ 345}#
+           (lambda (#{x\ 1075}#) (vector-ref #{x\ 1075}# 1)))
+         (#{syntax-object-wrap\ 347}#
+           (lambda (#{x\ 1077}#) (vector-ref #{x\ 1077}# 2)))
+         (#{syntax-object-module\ 349}#
+           (lambda (#{x\ 1079}#) (vector-ref #{x\ 1079}# 3)))
+         (#{source-annotation\ 358}#
+           (lambda (#{x\ 1093}#)
+             (if (#{syntax-object?\ 343}# #{x\ 1093}#)
+               (#{source-annotation\ 358}#
+                 (#{syntax-object-expression\ 345}# #{x\ 1093}#))
+               (if (pair? #{x\ 1093}#)
                  (begin
-                   (let ((#{props\ 1101}# (source-properties #{x\ 1094}#)))
-                     (if (pair? #{props\ 1101}#) #{props\ 1101}# #f)))
+                   (let ((#{props\ 1100}# (source-properties #{x\ 1093}#)))
+                     (if (pair? #{props\ 1100}#) #{props\ 1100}# #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\ 367}#
+           (lambda (#{labels\ 1102}# #{bindings\ 1103}# #{r\ 1104}#)
+             (if (null? #{labels\ 1102}#)
+               #{r\ 1104}#
+               (#{extend-env\ 367}#
+                 (cdr #{labels\ 1102}#)
+                 (cdr #{bindings\ 1103}#)
+                 (cons (cons (car #{labels\ 1102}#)
+                             (car #{bindings\ 1103}#))
+                       #{r\ 1104}#)))))
+         (#{extend-var-env\ 369}#
+           (lambda (#{labels\ 1108}# #{vars\ 1109}# #{r\ 1110}#)
+             (if (null? #{labels\ 1108}#)
+               #{r\ 1110}#
+               (#{extend-var-env\ 369}#
+                 (cdr #{labels\ 1108}#)
+                 (cdr #{vars\ 1109}#)
+                 (cons (cons (car #{labels\ 1108}#)
+                             (cons (quote lexical) (car #{vars\ 1109}#)))
+                       #{r\ 1110}#)))))
+         (#{macros-only-env\ 371}#
+           (lambda (#{r\ 1115}#)
+             (if (null? #{r\ 1115}#)
                '()
                (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\ 1118}# (car #{r\ 1115}#)))
+                   (if (eq? (car (cdr #{a\ 1118}#)) (quote macro))
+                     (cons #{a\ 1118}#
+                           (#{macros-only-env\ 371}# (cdr #{r\ 1115}#)))
+                     (#{macros-only-env\ 371}# (cdr #{r\ 1115}#))))))))
+         (#{lookup\ 373}#
+           (lambda (#{x\ 1119}# #{r\ 1120}# #{mod\ 1121}#)
              (begin
-               (let ((#{t\ 1128}# (assq #{x\ 1120}# #{r\ 1121}#)))
-                 (if #{t\ 1128}#
-                   (cdr #{t\ 1128}#)
-                   (if (symbol? #{x\ 1120}#)
+               (let ((#{t\ 1127}# (assq #{x\ 1119}# #{r\ 1120}#)))
+                 (if #{t\ 1127}#
+                   (cdr #{t\ 1127}#)
+                   (if (symbol? #{x\ 1119}#)
                      (begin
-                       (let ((#{t\ 1134}#
-                               (#{get-global-definition-hook\ 296}#
-                                 #{x\ 1120}#
-                                 #{mod\ 1122}#)))
-                         (if #{t\ 1134}# #{t\ 1134}# (quote (global)))))
+                       (let ((#{t\ 1133}#
+                               (#{get-global-definition-hook\ 295}#
+                                 #{x\ 1119}#
+                                 #{mod\ 1121}#)))
+                         (if #{t\ 1133}# #{t\ 1133}# (quote (global)))))
                      '(displaced-lexical)))))))
-         (#{global-extend\ 376}#
-           (lambda (#{type\ 1139}# #{sym\ 1140}# #{val\ 1141}#)
-             (#{put-global-definition-hook\ 294}#
-               #{sym\ 1140}#
-               #{type\ 1139}#
-               #{val\ 1141}#)))
-         (#{nonsymbol-id?\ 378}#
-           (lambda (#{x\ 1145}#)
-             (if (#{syntax-object?\ 344}# #{x\ 1145}#)
+         (#{global-extend\ 375}#
+           (lambda (#{type\ 1138}# #{sym\ 1139}# #{val\ 1140}#)
+             (#{put-global-definition-hook\ 293}#
+               #{sym\ 1139}#
+               #{type\ 1138}#
+               #{val\ 1140}#)))
+         (#{nonsymbol-id?\ 377}#
+           (lambda (#{x\ 1144}#)
+             (if (#{syntax-object?\ 343}# #{x\ 1144}#)
                (symbol?
-                 (#{syntax-object-expression\ 346}# #{x\ 1145}#))
+                 (#{syntax-object-expression\ 345}# #{x\ 1144}#))
                #f)))
-         (#{id?\ 380}#
-           (lambda (#{x\ 1149}#)
-             (if (symbol? #{x\ 1149}#)
+         (#{id?\ 379}#
+           (lambda (#{x\ 1148}#)
+             (if (symbol? #{x\ 1148}#)
                #t
-               (if (#{syntax-object?\ 344}# #{x\ 1149}#)
+               (if (#{syntax-object?\ 343}# #{x\ 1148}#)
                  (symbol?
-                   (#{syntax-object-expression\ 346}# #{x\ 1149}#))
+                   (#{syntax-object-expression\ 345}# #{x\ 1148}#))
                  #f))))
-         (#{id-sym-name&marks\ 383}#
-           (lambda (#{x\ 1156}# #{w\ 1157}#)
-             (if (#{syntax-object?\ 344}# #{x\ 1156}#)
+         (#{id-sym-name&marks\ 382}#
+           (lambda (#{x\ 1155}# #{w\ 1156}#)
+             (if (#{syntax-object?\ 343}# #{x\ 1155}#)
                (values
-                 (#{syntax-object-expression\ 346}# #{x\ 1156}#)
-                 (#{join-marks\ 433}#
-                   (#{wrap-marks\ 387}# #{w\ 1157}#)
-                   (#{wrap-marks\ 387}#
-                     (#{syntax-object-wrap\ 348}# #{x\ 1156}#))))
+                 (#{syntax-object-expression\ 345}# #{x\ 1155}#)
+                 (#{join-marks\ 432}#
+                   (#{wrap-marks\ 386}# #{w\ 1156}#)
+                   (#{wrap-marks\ 386}#
+                     (#{syntax-object-wrap\ 347}# #{x\ 1155}#))))
                (values
-                 #{x\ 1156}#
-                 (#{wrap-marks\ 387}# #{w\ 1157}#)))))
-         (#{gen-label\ 396}#
+                 #{x\ 1155}#
+                 (#{wrap-marks\ 386}# #{w\ 1156}#)))))
+         (#{gen-label\ 395}#
            (lambda () (symbol->string (gensym "i"))))
-         (#{gen-labels\ 398}#
-           (lambda (#{ls\ 1160}#)
-             (if (null? #{ls\ 1160}#)
+         (#{gen-labels\ 397}#
+           (lambda (#{ls\ 1159}#)
+             (if (null? #{ls\ 1159}#)
                '()
-               (cons (#{gen-label\ 396}#)
-                     (#{gen-labels\ 398}# (cdr #{ls\ 1160}#))))))
-         (#{make-ribcage\ 401}#
-           (lambda (#{symnames\ 1162}#
-                    #{marks\ 1163}#
-                    #{labels\ 1164}#)
+               (cons (#{gen-label\ 395}#)
+                     (#{gen-labels\ 397}# (cdr #{ls\ 1159}#))))))
+         (#{make-ribcage\ 400}#
+           (lambda (#{symnames\ 1161}#
+                    #{marks\ 1162}#
+                    #{labels\ 1163}#)
              (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}#))
+               #{symnames\ 1161}#
+               #{marks\ 1162}#
+               #{labels\ 1163}#)))
+         (#{ribcage-symnames\ 404}#
+           (lambda (#{x\ 1172}#) (vector-ref #{x\ 1172}# 1)))
+         (#{ribcage-marks\ 406}#
+           (lambda (#{x\ 1174}#) (vector-ref #{x\ 1174}# 2)))
+         (#{ribcage-labels\ 408}#
+           (lambda (#{x\ 1176}#) (vector-ref #{x\ 1176}# 3)))
+         (#{set-ribcage-symnames!\ 410}#
+           (lambda (#{x\ 1178}# #{update\ 1179}#)
+             (vector-set! #{x\ 1178}# 1 #{update\ 1179}#)))
+         (#{set-ribcage-marks!\ 412}#
+           (lambda (#{x\ 1182}# #{update\ 1183}#)
+             (vector-set! #{x\ 1182}# 2 #{update\ 1183}#)))
+         (#{set-ribcage-labels!\ 414}#
+           (lambda (#{x\ 1186}# #{update\ 1187}#)
+             (vector-set! #{x\ 1186}# 3 #{update\ 1187}#)))
+         (#{anti-mark\ 420}#
+           (lambda (#{w\ 1190}#)
+             (#{make-wrap\ 384}#
+               (cons #f (#{wrap-marks\ 386}# #{w\ 1190}#))
                (cons 'shift
-                     (#{wrap-subst\ 389}# #{w\ 1191}#)))))
-         (#{extend-ribcage!\ 425}#
-           (lambda (#{ribcage\ 1194}# #{id\ 1195}# #{label\ 1196}#)
+                     (#{wrap-subst\ 388}# #{w\ 1190}#)))))
+         (#{extend-ribcage!\ 424}#
+           (lambda (#{ribcage\ 1193}# #{id\ 1194}# #{label\ 1195}#)
              (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}#)
+               (#{set-ribcage-symnames!\ 410}#
+                 #{ribcage\ 1193}#
+                 (cons (#{syntax-object-expression\ 345}# #{id\ 1194}#)
+                       (#{ribcage-symnames\ 404}# #{ribcage\ 1193}#)))
+               (#{set-ribcage-marks!\ 412}#
+                 #{ribcage\ 1193}#
+                 (cons (#{wrap-marks\ 386}#
+                         (#{syntax-object-wrap\ 347}# #{id\ 1194}#))
+                       (#{ribcage-marks\ 406}# #{ribcage\ 1193}#)))
+               (#{set-ribcage-labels!\ 414}#
+                 #{ribcage\ 1193}#
+                 (cons #{label\ 1195}#
+                       (#{ribcage-labels\ 408}# #{ribcage\ 1193}#))))))
+         (#{make-binding-wrap\ 426}#
+           (lambda (#{ids\ 1199}# #{labels\ 1200}# #{w\ 1201}#)
+             (if (null? #{ids\ 1199}#)
+               #{w\ 1201}#
+               (#{make-wrap\ 384}#
+                 (#{wrap-marks\ 386}# #{w\ 1201}#)
                  (cons (begin
-                         (let ((#{labelvec\ 1207}#
-                                 (list->vector #{labels\ 1201}#)))
+                         (let ((#{labelvec\ 1206}#
+                                 (list->vector #{labels\ 1200}#)))
                            (begin
-                             (let ((#{n\ 1209}#
-                                     (vector-length #{labelvec\ 1207}#)))
+                             (let ((#{n\ 1208}#
+                                     (vector-length #{labelvec\ 1206}#)))
                                (begin
-                                 (let ((#{symnamevec\ 1212}#
-                                         (make-vector #{n\ 1209}#))
-                                       (#{marksvec\ 1213}#
-                                         (make-vector #{n\ 1209}#)))
+                                 (let ((#{symnamevec\ 1211}#
+                                         (make-vector #{n\ 1208}#))
+                                       (#{marksvec\ 1212}#
+                                         (make-vector #{n\ 1208}#)))
                                    (begin
                                      (letrec*
-                                       ((#{f\ 1217}#
-                                          (lambda (#{ids\ 1218}# #{i\ 1219}#)
-                                            (if (not (null? #{ids\ 1218}#))
+                                       ((#{f\ 1216}#
+                                          (lambda (#{ids\ 1217}# #{i\ 1218}#)
+                                            (if (not (null? #{ids\ 1217}#))
                                               (call-with-values
                                                 (lambda ()
-                                                  (#{id-sym-name&marks\ 383}#
-                                                    (car #{ids\ 1218}#)
-                                                    #{w\ 1202}#))
-                                                (lambda (#{symname\ 1220}#
-                                                         #{marks\ 1221}#)
+                                                  (#{id-sym-name&marks\ 382}#
+                                                    (car #{ids\ 1217}#)
+                                                    #{w\ 1201}#))
+                                                (lambda (#{symname\ 1219}#
+                                                         #{marks\ 1220}#)
                                                   (begin
                                                     (vector-set!
-                                                      #{symnamevec\ 1212}#
-                                                      #{i\ 1219}#
-                                                      #{symname\ 1220}#)
+                                                      #{symnamevec\ 1211}#
+                                                      #{i\ 1218}#
+                                                      #{symname\ 1219}#)
                                                     (vector-set!
-                                                      #{marksvec\ 1213}#
-                                                      #{i\ 1219}#
-                                                      #{marks\ 1221}#)
-                                                    (#{f\ 1217}#
-                                                      (cdr #{ids\ 1218}#)
-                                                      (#{fx+\ 281}#
-                                                        #{i\ 1219}#
+                                                      #{marksvec\ 1212}#
+                                                      #{i\ 1218}#
+                                                      #{marks\ 1220}#)
+                                                    (#{f\ 1216}#
+                                                      (cdr #{ids\ 1217}#)
+                                                      (#{fx+\ 280}#
+                                                        #{i\ 1218}#
                                                         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}#)
+                                       (begin (#{f\ 1216}# #{ids\ 1199}# 0)))
+                                     (#{make-ribcage\ 400}#
+                                       #{symnamevec\ 1211}#
+                                       #{marksvec\ 1212}#
+                                       #{labelvec\ 1206}#))))))))
+                       (#{wrap-subst\ 388}# #{w\ 1201}#))))))
+         (#{smart-append\ 428}#
+           (lambda (#{m1\ 1223}# #{m2\ 1224}#)
+             (if (null? #{m2\ 1224}#)
+               #{m1\ 1223}#
+               (append #{m1\ 1223}# #{m2\ 1224}#))))
+         (#{join-wraps\ 430}#
+           (lambda (#{w1\ 1227}# #{w2\ 1228}#)
              (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\ 1233}# (#{wrap-marks\ 386}# #{w1\ 1227}#))
+                     (#{s1\ 1234}# (#{wrap-subst\ 388}# #{w1\ 1227}#)))
+                 (if (null? #{m1\ 1233}#)
+                   (if (null? #{s1\ 1234}#)
+                     #{w2\ 1228}#
+                     (#{make-wrap\ 384}#
+                       (#{wrap-marks\ 386}# #{w2\ 1228}#)
+                       (#{smart-append\ 428}#
+                         #{s1\ 1234}#
+                         (#{wrap-subst\ 388}# #{w2\ 1228}#))))
+                   (#{make-wrap\ 384}#
+                     (#{smart-append\ 428}#
+                       #{m1\ 1233}#
+                       (#{wrap-marks\ 386}# #{w2\ 1228}#))
+                     (#{smart-append\ 428}#
+                       #{s1\ 1234}#
+                       (#{wrap-subst\ 388}# #{w2\ 1228}#))))))))
+         (#{join-marks\ 432}#
+           (lambda (#{m1\ 1235}# #{m2\ 1236}#)
+             (#{smart-append\ 428}# #{m1\ 1235}# #{m2\ 1236}#)))
+         (#{same-marks?\ 434}#
+           (lambda (#{x\ 1239}# #{y\ 1240}#)
              (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\ 1245}# (eq? #{x\ 1239}# #{y\ 1240}#)))
+                 (if #{t\ 1245}#
+                   #{t\ 1245}#
+                   (if (not (null? #{x\ 1239}#))
+                     (if (not (null? #{y\ 1240}#))
+                       (if (eq? (car #{x\ 1239}#) (car #{y\ 1240}#))
+                         (#{same-marks?\ 434}#
+                           (cdr #{x\ 1239}#)
+                           (cdr #{y\ 1240}#))
                          #f)
                        #f)
                      #f))))))
-         (#{id-var-name\ 437}#
-           (lambda (#{id\ 1252}# #{w\ 1253}#)
+         (#{id-var-name\ 436}#
+           (lambda (#{id\ 1251}# #{w\ 1252}#)
              (letrec*
-               ((#{search\ 1258}#
-                  (lambda (#{sym\ 1274}# #{subst\ 1275}# #{marks\ 1276}#)
-                    (if (null? #{subst\ 1275}#)
-                      (values #f #{marks\ 1276}#)
+               ((#{search\ 1257}#
+                  (lambda (#{sym\ 1273}# #{subst\ 1274}# #{marks\ 1275}#)
+                    (if (null? #{subst\ 1274}#)
+                      (values #f #{marks\ 1275}#)
                       (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\ 1280}# (car #{subst\ 1274}#)))
+                          (if (eq? #{fst\ 1280}# (quote shift))
+                            (#{search\ 1257}#
+                              #{sym\ 1273}#
+                              (cdr #{subst\ 1274}#)
+                              (cdr #{marks\ 1275}#))
                             (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\ 1282}#
+                                      (#{ribcage-symnames\ 404}#
+                                        #{fst\ 1280}#)))
+                                (if (vector? #{symnames\ 1282}#)
+                                  (#{search-vector-rib\ 1261}#
+                                    #{sym\ 1273}#
+                                    #{subst\ 1274}#
+                                    #{marks\ 1275}#
+                                    #{symnames\ 1282}#
+                                    #{fst\ 1280}#)
+                                  (#{search-list-rib\ 1259}#
+                                    #{sym\ 1273}#
+                                    #{subst\ 1274}#
+                                    #{marks\ 1275}#
+                                    #{symnames\ 1282}#
+                                    #{fst\ 1280}#))))))))))
+                (#{search-list-rib\ 1259}#
+                  (lambda (#{sym\ 1283}#
+                           #{subst\ 1284}#
+                           #{marks\ 1285}#
+                           #{symnames\ 1286}#
+                           #{ribcage\ 1287}#)
                     (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\ 1296}#
+                         (lambda (#{symnames\ 1297}# #{i\ 1298}#)
+                           (if (null? #{symnames\ 1297}#)
+                             (#{search\ 1257}#
+                               #{sym\ 1283}#
+                               (cdr #{subst\ 1284}#)
+                               #{marks\ 1285}#)
+                             (if (if (eq? (car #{symnames\ 1297}#)
+                                          #{sym\ 1283}#)
+                                   (#{same-marks?\ 434}#
+                                     #{marks\ 1285}#
                                      (list-ref
-                                       (#{ribcage-marks\ 407}#
-                                         #{ribcage\ 1288}#)
-                                       #{i\ 1299}#))
+                                       (#{ribcage-marks\ 406}#
+                                         #{ribcage\ 1287}#)
+                                       #{i\ 1298}#))
                                    #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\ 408}# #{ribcage\ 1287}#)
+                                   #{i\ 1298}#)
+                                 #{marks\ 1285}#)
+                               (#{f\ 1296}#
+                                 (cdr #{symnames\ 1297}#)
+                                 (#{fx+\ 280}# #{i\ 1298}# 1)))))))
+                      (begin (#{f\ 1296}# #{symnames\ 1286}# 0)))))
+                (#{search-vector-rib\ 1261}#
+                  (lambda (#{sym\ 1306}#
+                           #{subst\ 1307}#
+                           #{marks\ 1308}#
+                           #{symnames\ 1309}#
+                           #{ribcage\ 1310}#)
                     (begin
-                      (let ((#{n\ 1318}# (vector-length #{symnames\ 1310}#)))
+                      (let ((#{n\ 1317}# (vector-length #{symnames\ 1309}#)))
                         (letrec*
-                          ((#{f\ 1321}#
-                             (lambda (#{i\ 1322}#)
-                               (if (#{fx=\ 285}# #{i\ 1322}# #{n\ 1318}#)
-                                 (#{search\ 1258}#
-                                   #{sym\ 1307}#
-                                   (cdr #{subst\ 1308}#)
-                                   #{marks\ 1309}#)
+                          ((#{f\ 1320}#
+                             (lambda (#{i\ 1321}#)
+                               (if (#{fx=\ 284}# #{i\ 1321}# #{n\ 1317}#)
+                                 (#{search\ 1257}#
+                                   #{sym\ 1306}#
+                                   (cdr #{subst\ 1307}#)
+                                   #{marks\ 1308}#)
                                  (if (if (eq? (vector-ref
-                                                #{symnames\ 1310}#
-                                                #{i\ 1322}#)
-                                              #{sym\ 1307}#)
-                                       (#{same-marks?\ 435}#
-                                         #{marks\ 1309}#
+                                                #{symnames\ 1309}#
+                                                #{i\ 1321}#)
+                                              #{sym\ 1306}#)
+                                       (#{same-marks?\ 434}#
+                                         #{marks\ 1308}#
                                          (vector-ref
-                                           (#{ribcage-marks\ 407}#
-                                             #{ribcage\ 1311}#)
-                                           #{i\ 1322}#))
+                                           (#{ribcage-marks\ 406}#
+                                             #{ribcage\ 1310}#)
+                                           #{i\ 1321}#))
                                        #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\ 408}#
+                                         #{ribcage\ 1310}#)
+                                       #{i\ 1321}#)
+                                     #{marks\ 1308}#)
+                                   (#{f\ 1320}#
+                                     (#{fx+\ 280}# #{i\ 1321}# 1)))))))
+                          (begin (#{f\ 1320}# 0))))))))
                (begin
-                 (if (symbol? #{id\ 1252}#)
+                 (if (symbol? #{id\ 1251}#)
                    (begin
-                     (let ((#{t\ 1332}#
+                     (let ((#{t\ 1331}#
                              (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\ 1257}#
+                                   #{id\ 1251}#
+                                   (#{wrap-subst\ 388}# #{w\ 1252}#)
+                                   (#{wrap-marks\ 386}# #{w\ 1252}#)))
+                               (lambda (#{x\ 1333}# . #{ignore\ 1334}#)
+                                 #{x\ 1333}#))))
+                       (if #{t\ 1331}# #{t\ 1331}# #{id\ 1251}#)))
+                   (if (#{syntax-object?\ 343}# #{id\ 1251}#)
                      (begin
-                       (let ((#{id\ 1343}#
-                               (#{syntax-object-expression\ 346}#
-                                 #{id\ 1252}#))
-                             (#{w1\ 1344}#
-                               (#{syntax-object-wrap\ 348}# #{id\ 1252}#)))
+                       (let ((#{id\ 1342}#
+                               (#{syntax-object-expression\ 345}#
+                                 #{id\ 1251}#))
+                             (#{w1\ 1343}#
+                               (#{syntax-object-wrap\ 347}# #{id\ 1251}#)))
                          (begin
-                           (let ((#{marks\ 1346}#
-                                   (#{join-marks\ 433}#
-                                     (#{wrap-marks\ 387}# #{w\ 1253}#)
-                                     (#{wrap-marks\ 387}# #{w1\ 1344}#))))
+                           (let ((#{marks\ 1345}#
+                                   (#{join-marks\ 432}#
+                                     (#{wrap-marks\ 386}# #{w\ 1252}#)
+                                     (#{wrap-marks\ 386}# #{w1\ 1343}#))))
                              (call-with-values
                                (lambda ()
-                                 (#{search\ 1258}#
-                                   #{id\ 1343}#
-                                   (#{wrap-subst\ 389}# #{w\ 1253}#)
-                                   #{marks\ 1346}#))
-                               (lambda (#{new-id\ 1347}# #{marks\ 1348}#)
+                                 (#{search\ 1257}#
+                                   #{id\ 1342}#
+                                   (#{wrap-subst\ 388}# #{w\ 1252}#)
+                                   #{marks\ 1345}#))
+                               (lambda (#{new-id\ 1346}# #{marks\ 1347}#)
                                  (begin
-                                   (let ((#{t\ 1353}# #{new-id\ 1347}#))
-                                     (if #{t\ 1353}#
-                                       #{t\ 1353}#
+                                   (let ((#{t\ 1352}# #{new-id\ 1346}#))
+                                     (if #{t\ 1352}#
+                                       #{t\ 1352}#
                                        (begin
-                                         (let ((#{t\ 1356}#
+                                         (let ((#{t\ 1355}#
                                                  (call-with-values
                                                    (lambda ()
-                                                     (#{search\ 1258}#
-                                                       #{id\ 1343}#
-                                                       (#{wrap-subst\ 389}#
-                                                         #{w1\ 1344}#)
-                                                       #{marks\ 1348}#))
-                                                   (lambda (#{x\ 1358}#
+                                                     (#{search\ 1257}#
+                                                       #{id\ 1342}#
+                                                       (#{wrap-subst\ 388}#
+                                                         #{w1\ 1343}#)
+                                                       #{marks\ 1347}#))
+                                                   (lambda (#{x\ 1357}#
                                                             .
-                                                            #{ignore\ 1359}#)
-                                                     #{x\ 1358}#))))
-                                           (if #{t\ 1356}#
-                                             #{t\ 1356}#
-                                             #{id\ 1343}#))))))))))))
+                                                            #{ignore\ 1358}#)
+                                                     #{x\ 1357}#))))
+                                           (if #{t\ 1355}#
+                                             #{t\ 1355}#
+                                             #{id\ 1342}#))))))))))))
                      (syntax-violation
                        'id-var-name
                        "invalid id"
-                       #{id\ 1252}#)))))))
-         (#{free-id=?\ 439}#
-           (lambda (#{i\ 1364}# #{j\ 1365}#)
+                       #{id\ 1251}#)))))))
+         (#{free-id=?\ 438}#
+           (lambda (#{i\ 1363}# #{j\ 1364}#)
              (if (eq? (begin
-                        (let ((#{x\ 1371}# #{i\ 1364}#))
-                          (if (#{syntax-object?\ 344}# #{x\ 1371}#)
-                            (#{syntax-object-expression\ 346}# #{x\ 1371}#)
-                            #{x\ 1371}#)))
+                        (let ((#{x\ 1370}# #{i\ 1363}#))
+                          (if (#{syntax-object?\ 343}# #{x\ 1370}#)
+                            (#{syntax-object-expression\ 345}# #{x\ 1370}#)
+                            #{x\ 1370}#)))
                       (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\ 1373}# #{j\ 1364}#))
+                          (if (#{syntax-object?\ 343}# #{x\ 1373}#)
+                            (#{syntax-object-expression\ 345}# #{x\ 1373}#)
+                            #{x\ 1373}#))))
+               (eq? (#{id-var-name\ 436}# #{i\ 1363}# (quote (())))
+                    (#{id-var-name\ 436}# #{j\ 1364}# (quote (()))))
                #f)))
-         (#{bound-id=?\ 441}#
-           (lambda (#{i\ 1378}# #{j\ 1379}#)
-             (if (if (#{syntax-object?\ 344}# #{i\ 1378}#)
-                   (#{syntax-object?\ 344}# #{j\ 1379}#)
+         (#{bound-id=?\ 440}#
+           (lambda (#{i\ 1377}# #{j\ 1378}#)
+             (if (if (#{syntax-object?\ 343}# #{i\ 1377}#)
+                   (#{syntax-object?\ 343}# #{j\ 1378}#)
                    #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\ 345}# #{i\ 1377}#)
+                        (#{syntax-object-expression\ 345}# #{j\ 1378}#))
+                 (#{same-marks?\ 434}#
+                   (#{wrap-marks\ 386}#
+                     (#{syntax-object-wrap\ 347}# #{i\ 1377}#))
+                   (#{wrap-marks\ 386}#
+                     (#{syntax-object-wrap\ 347}# #{j\ 1378}#)))
                  #f)
-               (eq? #{i\ 1378}# #{j\ 1379}#))))
-         (#{valid-bound-ids?\ 443}#
-           (lambda (#{ids\ 1386}#)
+               (eq? #{i\ 1377}# #{j\ 1378}#))))
+         (#{valid-bound-ids?\ 442}#
+           (lambda (#{ids\ 1385}#)
              (if (letrec*
-                   ((#{all-ids?\ 1391}#
-                      (lambda (#{ids\ 1392}#)
+                   ((#{all-ids?\ 1390}#
+                      (lambda (#{ids\ 1391}#)
                         (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\ 1394}# (null? #{ids\ 1391}#)))
+                            (if #{t\ 1394}#
+                              #{t\ 1394}#
+                              (if (#{id?\ 379}# (car #{ids\ 1391}#))
+                                (#{all-ids?\ 1390}# (cdr #{ids\ 1391}#))
                                 #f)))))))
-                   (begin (#{all-ids?\ 1391}# #{ids\ 1386}#)))
-               (#{distinct-bound-ids?\ 445}# #{ids\ 1386}#)
+                   (begin (#{all-ids?\ 1390}# #{ids\ 1385}#)))
+               (#{distinct-bound-ids?\ 444}# #{ids\ 1385}#)
                #f)))
-         (#{distinct-bound-ids?\ 445}#
-           (lambda (#{ids\ 1400}#)
+         (#{distinct-bound-ids?\ 444}#
+           (lambda (#{ids\ 1399}#)
              (letrec*
-               ((#{distinct?\ 1404}#
-                  (lambda (#{ids\ 1405}#)
+               ((#{distinct?\ 1403}#
+                  (lambda (#{ids\ 1404}#)
                     (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\ 1407}# (null? #{ids\ 1404}#)))
+                        (if #{t\ 1407}#
+                          #{t\ 1407}#
+                          (if (not (#{bound-id-member?\ 446}#
+                                     (car #{ids\ 1404}#)
+                                     (cdr #{ids\ 1404}#)))
+                            (#{distinct?\ 1403}# (cdr #{ids\ 1404}#))
                             #f)))))))
-               (begin (#{distinct?\ 1404}# #{ids\ 1400}#)))))
-         (#{bound-id-member?\ 447}#
-           (lambda (#{x\ 1412}# #{list\ 1413}#)
-             (if (not (null? #{list\ 1413}#))
+               (begin (#{distinct?\ 1403}# #{ids\ 1399}#)))))
+         (#{bound-id-member?\ 446}#
+           (lambda (#{x\ 1411}# #{list\ 1412}#)
+             (if (not (null? #{list\ 1412}#))
                (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\ 1419}#
+                         (#{bound-id=?\ 440}#
+                           #{x\ 1411}#
+                           (car #{list\ 1412}#))))
+                   (if #{t\ 1419}#
+                     #{t\ 1419}#
+                     (#{bound-id-member?\ 446}#
+                       #{x\ 1411}#
+                       (cdr #{list\ 1412}#)))))
                #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\ 448}#
+           (lambda (#{x\ 1421}# #{w\ 1422}# #{defmod\ 1423}#)
+             (if (if (null? (#{wrap-marks\ 386}# #{w\ 1422}#))
+                   (null? (#{wrap-subst\ 388}# #{w\ 1422}#))
                    #f)
-               #{x\ 1422}#
-               (if (#{syntax-object?\ 344}# #{x\ 1422}#)
-                 (#{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}#
-                   (#{make-syntax-object\ 342}#
-                     #{x\ 1422}#
-                     #{w\ 1423}#
-                     #{defmod\ 1424}#))))))
-         (#{source-wrap\ 451}#
-           (lambda (#{x\ 1437}#
-                    #{w\ 1438}#
-                    #{s\ 1439}#
-                    #{defmod\ 1440}#)
-             (#{wrap\ 449}#
-               (#{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}#)
-             (#{build-sequence\ 332}#
-               #{s\ 1448}#
+               #{x\ 1421}#
+               (if (#{syntax-object?\ 343}# #{x\ 1421}#)
+                 (#{make-syntax-object\ 341}#
+                   (#{syntax-object-expression\ 345}# #{x\ 1421}#)
+                   (#{join-wraps\ 430}#
+                     #{w\ 1422}#
+                     (#{syntax-object-wrap\ 347}# #{x\ 1421}#))
+                   (#{syntax-object-module\ 349}# #{x\ 1421}#))
+                 (if (null? #{x\ 1421}#)
+                   #{x\ 1421}#
+                   (#{make-syntax-object\ 341}#
+                     #{x\ 1421}#
+                     #{w\ 1422}#
+                     #{defmod\ 1423}#))))))
+         (#{source-wrap\ 450}#
+           (lambda (#{x\ 1436}#
+                    #{w\ 1437}#
+                    #{s\ 1438}#
+                    #{defmod\ 1439}#)
+             (#{wrap\ 448}#
+               (#{decorate-source\ 297}#
+                 #{x\ 1436}#
+                 #{s\ 1438}#)
+               #{w\ 1437}#
+               #{defmod\ 1439}#)))
+         (#{chi-sequence\ 452}#
+           (lambda (#{body\ 1444}#
+                    #{r\ 1445}#
+                    #{w\ 1446}#
+                    #{s\ 1447}#
+                    #{mod\ 1448}#)
+             (#{build-sequence\ 331}#
+               #{s\ 1447}#
                (letrec*
-                 ((#{dobody\ 1460}#
-                    (lambda (#{body\ 1461}#
-                             #{r\ 1462}#
-                             #{w\ 1463}#
-                             #{mod\ 1464}#)
-                      (if (null? #{body\ 1461}#)
+                 ((#{dobody\ 1459}#
+                    (lambda (#{body\ 1460}#
+                             #{r\ 1461}#
+                             #{w\ 1462}#
+                             #{mod\ 1463}#)
+                      (if (null? #{body\ 1460}#)
                         '()
                         (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\ 1465}#
+                                  (#{chi\ 464}#
+                                    (car #{body\ 1460}#)
+                                    #{r\ 1461}#
+                                    #{w\ 1462}#
+                                    #{mod\ 1463}#)))
+                            (cons #{first\ 1465}#
+                                  (#{dobody\ 1459}#
+                                    (cdr #{body\ 1460}#)
+                                    #{r\ 1461}#
+                                    #{w\ 1462}#
+                                    #{mod\ 1463}#))))))))
                  (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}#)
-             (#{build-sequence\ 332}#
-               #{s\ 1470}#
+                   (#{dobody\ 1459}#
+                     #{body\ 1444}#
+                     #{r\ 1445}#
+                     #{w\ 1446}#
+                     #{mod\ 1448}#))))))
+         (#{chi-top-sequence\ 454}#
+           (lambda (#{body\ 1466}#
+                    #{r\ 1467}#
+                    #{w\ 1468}#
+                    #{s\ 1469}#
+                    #{m\ 1470}#
+                    #{esew\ 1471}#
+                    #{mod\ 1472}#)
+             (#{build-sequence\ 331}#
+               #{s\ 1469}#
                (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\ 1488}#
+                    (lambda (#{body\ 1489}#
+                             #{r\ 1490}#
+                             #{w\ 1491}#
+                             #{m\ 1492}#
+                             #{esew\ 1493}#
+                             #{mod\ 1494}#
+                             #{out\ 1495}#)
+                      (if (null? #{body\ 1489}#)
+                        (reverse #{out\ 1495}#)
+                        (#{dobody\ 1488}#
+                          (cdr #{body\ 1489}#)
+                          #{r\ 1490}#
+                          #{w\ 1491}#
+                          #{m\ 1492}#
+                          #{esew\ 1493}#
+                          #{mod\ 1494}#
+                          (cons (#{chi-top\ 462}#
+                                  (car #{body\ 1489}#)
+                                  #{r\ 1490}#
+                                  #{w\ 1491}#
+                                  #{m\ 1492}#
+                                  #{esew\ 1493}#
+                                  #{mod\ 1494}#)
+                                #{out\ 1495}#))))))
                  (begin
-                   (#{dobody\ 1489}#
-                     #{body\ 1467}#
-                     #{r\ 1468}#
-                     #{w\ 1469}#
-                     #{m\ 1471}#
-                     #{esew\ 1472}#
-                     #{mod\ 1473}#
+                   (#{dobody\ 1488}#
+                     #{body\ 1466}#
+                     #{r\ 1467}#
+                     #{w\ 1468}#
+                     #{m\ 1470}#
+                     #{esew\ 1471}#
+                     #{mod\ 1472}#
                      '()))))))
-         (#{chi-install-global\ 457}#
-           (lambda (#{name\ 1497}# #{e\ 1498}#)
-             (#{build-global-definition\ 320}#
+         (#{chi-install-global\ 456}#
+           (lambda (#{name\ 1496}# #{e\ 1497}#)
+             (#{build-global-definition\ 319}#
                #f
-               #{name\ 1497}#
-               (#{build-application\ 304}#
+               #{name\ 1496}#
+               (#{build-application\ 303}#
                  #f
-                 (#{build-primref\ 328}#
+                 (#{build-primref\ 327}#
                    #f
                    'make-syntax-transformer)
-                 (list (#{build-data\ 330}# #f #{name\ 1497}#)
-                       (#{build-data\ 330}# #f (quote macro))
-                       #{e\ 1498}#)))))
-         (#{chi-when-list\ 459}#
-           (lambda (#{e\ 1506}# #{when-list\ 1507}# #{w\ 1508}#)
+                 (list (#{build-data\ 329}# #f #{name\ 1496}#)
+                       (#{build-data\ 329}# #f (quote macro))
+                       #{e\ 1497}#)))))
+         (#{chi-when-list\ 458}#
+           (lambda (#{e\ 1505}# #{when-list\ 1506}# #{w\ 1507}#)
              (letrec*
-               ((#{f\ 1515}#
-                  (lambda (#{when-list\ 1516}# #{situations\ 1517}#)
-                    (if (null? #{when-list\ 1516}#)
-                      #{situations\ 1517}#
-                      (#{f\ 1515}#
-                        (cdr #{when-list\ 1516}#)
+               ((#{f\ 1514}#
+                  (lambda (#{when-list\ 1515}# #{situations\ 1516}#)
+                    (if (null? #{when-list\ 1515}#)
+                      #{situations\ 1516}#
+                      (#{f\ 1514}#
+                        (cdr #{when-list\ 1515}#)
                         (cons (begin
-                                (let ((#{x\ 1519}# (car #{when-list\ 1516}#)))
-                                  (if (#{free-id=?\ 439}#
-                                        #{x\ 1519}#
+                                (let ((#{x\ 1518}# (car #{when-list\ 1515}#)))
+                                  (if (#{free-id=?\ 438}#
+                                        #{x\ 1518}#
                                         '#(syntax-object
                                            compile
                                            ((top)
                                             #(ribcage () () ())
                                             #(ribcage () () ())
                                             #(ribcage () () ())
-                                            #(ribcage #(x) #((top)) #("i1518"))
+                                            #(ribcage #(x) #((top)) #("i1517"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(f when-list situations)
                                               #((top) (top) (top))
-                                              #("i1512" "i1513" "i1514"))
+                                              #("i1511" "i1512" "i1513"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(e when-list w)
                                               #((top) (top) (top))
-                                              #("i1509" "i1510" "i1511"))
+                                              #("i1508" "i1509" "i1510"))
                                             #(ribcage
                                               (lambda-var-list
                                                 gen-var
@@ -1495,154 +1495,154 @@
                                                (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"
+                                              ("i493"
+                                               "i491"
+                                               "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"
-                                               "i414"
-                                               "i412"
-                                               "i410"
-                                               "i408"
-                                               "i406"
-                                               "i404"
-                                               "i402"
-                                               "i400"
-                                               "i397"
-                                               "i395"
+                                               "i415"
+                                               "i413"
+                                               "i411"
+                                               "i409"
+                                               "i407"
+                                               "i405"
+                                               "i403"
+                                               "i401"
+                                               "i399"
+                                               "i396"
                                                "i394"
                                                "i393"
                                                "i392"
                                                "i391"
                                                "i390"
-                                               "i388"
-                                               "i386"
-                                               "i384"
-                                               "i382"
+                                               "i389"
+                                               "i387"
+                                               "i385"
+                                               "i383"
                                                "i381"
-                                               "i379"
-                                               "i377"
-                                               "i375"
-                                               "i373"
-                                               "i371"
-                                               "i369"
-                                               "i367"
+                                               "i380"
+                                               "i378"
+                                               "i376"
+                                               "i374"
+                                               "i372"
+                                               "i370"
+                                               "i368"
                                                "i366"
-                                               "i364"
-                                               "i362"
+                                               "i365"
+                                               "i363"
                                                "i361"
                                                "i360"
-                                               "i358"
+                                               "i359"
                                                "i357"
-                                               "i355"
-                                               "i353"
-                                               "i351"
-                                               "i349"
-                                               "i347"
-                                               "i345"
-                                               "i343"
-                                               "i341"
-                                               "i339"
-                                               "i337"
-                                               "i335"
-                                               "i333"
-                                               "i331"
-                                               "i329"
-                                               "i327"
-                                               "i325"
-                                               "i323"
-                                               "i321"
-                                               "i319"
-                                               "i317"
-                                               "i315"
-                                               "i313"
-                                               "i311"
-                                               "i309"
-                                               "i307"
-                                               "i305"
-                                               "i303"
-                                               "i301"
-                                               "i299"
-                                               "i297"
-                                               "i295"
-                                               "i293"
+                                               "i356"
+                                               "i354"
+                                               "i352"
+                                               "i350"
+                                               "i348"
+                                               "i346"
+                                               "i344"
+                                               "i342"
+                                               "i340"
+                                               "i338"
+                                               "i336"
+                                               "i334"
+                                               "i332"
+                                               "i330"
+                                               "i328"
+                                               "i326"
+                                               "i324"
+                                               "i322"
+                                               "i320"
+                                               "i318"
+                                               "i316"
+                                               "i314"
+                                               "i312"
+                                               "i310"
+                                               "i308"
+                                               "i306"
+                                               "i304"
+                                               "i302"
+                                               "i300"
+                                               "i298"
+                                               "i296"
+                                               "i294"
                                                "i292"
-                                               "i290"
-                                               "i288"
-                                               "i286"
-                                               "i284"
-                                               "i282"
-                                               "i280"
-                                               "i278"
-                                               "i276"
-                                               "i274"
-                                               "i271"
-                                               "i269"
-                                               "i267"
-                                               "i265"
-                                               "i263"
-                                               "i261"
-                                               "i259"
-                                               "i257"
-                                               "i255"
-                                               "i253"
-                                               "i251"
-                                               "i249"
-                                               "i247"
-                                               "i245"
-                                               "i243"
-                                               "i241"
-                                               "i239"
-                                               "i237"))
+                                               "i291"
+                                               "i289"
+                                               "i287"
+                                               "i285"
+                                               "i283"
+                                               "i281"
+                                               "i279"
+                                               "i277"
+                                               "i275"
+                                               "i273"
+                                               "i270"
+                                               "i268"
+                                               "i266"
+                                               "i264"
+                                               "i262"
+                                               "i260"
+                                               "i258"
+                                               "i256"
+                                               "i254"
+                                               "i252"
+                                               "i250"
+                                               "i248"
+                                               "i246"
+                                               "i244"
+                                               "i242"
+                                               "i240"
+                                               "i238"
+                                               "i236"))
                                             #(ribcage
                                               (define-structure
                                                 define-expansion-accessors
                                                 define-expansion-constructors
                                                 and-map*)
                                               ((top) (top) (top) (top))
-                                              ("i39" "i38" "i37" "i35")))
+                                              ("i38" "i37" "i36" "i34")))
                                            (hygiene guile)))
                                     'compile
-                                    (if (#{free-id=?\ 439}#
-                                          #{x\ 1519}#
+                                    (if (#{free-id=?\ 438}#
+                                          #{x\ 1518}#
                                           '#(syntax-object
                                              load
                                              ((top)
@@ -1652,17 +1652,17 @@
                                               #(ribcage
                                                 #(x)
                                                 #((top))
-                                                #("i1518"))
+                                                #("i1517"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(f when-list situations)
                                                 #((top) (top) (top))
-                                                #("i1512" "i1513" "i1514"))
+                                                #("i1511" "i1512" "i1513"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(e when-list w)
                                                 #((top) (top) (top))
-                                                #("i1509" "i1510" "i1511"))
+                                                #("i1508" "i1509" "i1510"))
                                               #(ribcage
                                                 (lambda-var-list
                                                   gen-var
@@ -1938,154 +1938,154 @@
                                                  (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"
+                                                ("i493"
+                                                 "i491"
+                                                 "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"
-                                                 "i414"
-                                                 "i412"
-                                                 "i410"
-                                                 "i408"
-                                                 "i406"
-                                                 "i404"
-                                                 "i402"
-                                                 "i400"
-                                                 "i397"
-                                                 "i395"
+                                                 "i415"
+                                                 "i413"
+                                                 "i411"
+                                                 "i409"
+                                                 "i407"
+                                                 "i405"
+                                                 "i403"
+                                                 "i401"
+                                                 "i399"
+                                                 "i396"
                                                  "i394"
                                                  "i393"
                                                  "i392"
                                                  "i391"
                                                  "i390"
-                                                 "i388"
-                                                 "i386"
-                                                 "i384"
-                                                 "i382"
+                                                 "i389"
+                                                 "i387"
+                                                 "i385"
+                                                 "i383"
                                                  "i381"
-                                                 "i379"
-                                                 "i377"
-                                                 "i375"
-                                                 "i373"
-                                                 "i371"
-                                                 "i369"
-                                                 "i367"
+                                                 "i380"
+                                                 "i378"
+                                                 "i376"
+                                                 "i374"
+                                                 "i372"
+                                                 "i370"
+                                                 "i368"
                                                  "i366"
-                                                 "i364"
-                                                 "i362"
+                                                 "i365"
+                                                 "i363"
                                                  "i361"
                                                  "i360"
-                                                 "i358"
+                                                 "i359"
                                                  "i357"
-                                                 "i355"
-                                                 "i353"
-                                                 "i351"
-                                                 "i349"
-                                                 "i347"
-                                                 "i345"
-                                                 "i343"
-                                                 "i341"
-                                                 "i339"
-                                                 "i337"
-                                                 "i335"
-                                                 "i333"
-                                                 "i331"
-                                                 "i329"
-                                                 "i327"
-                                                 "i325"
-                                                 "i323"
-                                                 "i321"
-                                                 "i319"
-                                                 "i317"
-                                                 "i315"
-                                                 "i313"
-                                                 "i311"
-                                                 "i309"
-                                                 "i307"
-                                                 "i305"
-                                                 "i303"
-                                                 "i301"
-                                                 "i299"
-                                                 "i297"
-                                                 "i295"
-                                                 "i293"
+                                                 "i356"
+                                                 "i354"
+                                                 "i352"
+                                                 "i350"
+                                                 "i348"
+                                                 "i346"
+                                                 "i344"
+                                                 "i342"
+                                                 "i340"
+                                                 "i338"
+                                                 "i336"
+                                                 "i334"
+                                                 "i332"
+                                                 "i330"
+                                                 "i328"
+                                                 "i326"
+                                                 "i324"
+                                                 "i322"
+                                                 "i320"
+                                                 "i318"
+                                                 "i316"
+                                                 "i314"
+                                                 "i312"
+                                                 "i310"
+                                                 "i308"
+                                                 "i306"
+                                                 "i304"
+                                                 "i302"
+                                                 "i300"
+                                                 "i298"
+                                                 "i296"
+                                                 "i294"
                                                  "i292"
-                                                 "i290"
-                                                 "i288"
-                                                 "i286"
-                                                 "i284"
-                                                 "i282"
-                                                 "i280"
-                                                 "i278"
-                                                 "i276"
-                                                 "i274"
-                                                 "i271"
-                                                 "i269"
-                                                 "i267"
-                                                 "i265"
-                                                 "i263"
-                                                 "i261"
-                                                 "i259"
-                                                 "i257"
-                                                 "i255"
-                                                 "i253"
-                                                 "i251"
-                                                 "i249"
-                                                 "i247"
-                                                 "i245"
-                                                 "i243"
-                                                 "i241"
-                                                 "i239"
-                                                 "i237"))
+                                                 "i291"
+                                                 "i289"
+                                                 "i287"
+                                                 "i285"
+                                                 "i283"
+                                                 "i281"
+                                                 "i279"
+                                                 "i277"
+                                                 "i275"
+                                                 "i273"
+                                                 "i270"
+                                                 "i268"
+                                                 "i266"
+                                                 "i264"
+                                                 "i262"
+                                                 "i260"
+                                                 "i258"
+                                                 "i256"
+                                                 "i254"
+                                                 "i252"
+                                                 "i250"
+                                                 "i248"
+                                                 "i246"
+                                                 "i244"
+                                                 "i242"
+                                                 "i240"
+                                                 "i238"
+                                                 "i236"))
                                               #(ribcage
                                                 (define-structure
                                                   define-expansion-accessors
                                                   define-expansion-constructors
                                                   and-map*)
                                                 ((top) (top) (top) (top))
-                                                ("i39" "i38" "i37" "i35")))
+                                                ("i38" "i37" "i36" "i34")))
                                              (hygiene guile)))
                                       'load
-                                      (if (#{free-id=?\ 439}#
-                                            #{x\ 1519}#
+                                      (if (#{free-id=?\ 438}#
+                                            #{x\ 1518}#
                                             '#(syntax-object
                                                eval
                                                ((top)
@@ -2095,17 +2095,17 @@
                                                 #(ribcage
                                                   #(x)
                                                   #((top))
-                                                  #("i1518"))
+                                                  #("i1517"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(f when-list situations)
                                                   #((top) (top) (top))
-                                                  #("i1512" "i1513" "i1514"))
+                                                  #("i1511" "i1512" "i1513"))
                                                 #(ribcage () () ())
                                                 #(ribcage
                                                   #(e when-list w)
                                                   #((top) (top) (top))
-                                                  #("i1509" "i1510" "i1511"))
+                                                  #("i1508" "i1509" "i1510"))
                                                 #(ribcage
                                                   (lambda-var-list
                                                     gen-var
@@ -2381,154 +2381,154 @@
                                                    (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"
+                                                  ("i493"
+                                                   "i491"
+                                                   "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"
-                                                   "i414"
-                                                   "i412"
-                                                   "i410"
-                                                   "i408"
-                                                   "i406"
-                                                   "i404"
-                                                   "i402"
-                                                   "i400"
-                                                   "i397"
-                                                   "i395"
+                                                   "i415"
+                                                   "i413"
+                                                   "i411"
+                                                   "i409"
+                                                   "i407"
+                                                   "i405"
+                                                   "i403"
+                                                   "i401"
+                                                   "i399"
+                                                   "i396"
                                                    "i394"
                                                    "i393"
                                                    "i392"
                                                    "i391"
                                                    "i390"
-                                                   "i388"
-                                                   "i386"
-                                                   "i384"
-                                                   "i382"
+                                                   "i389"
+                                                   "i387"
+                                                   "i385"
+                                                   "i383"
                                                    "i381"
-                                                   "i379"
-                                                   "i377"
-                                                   "i375"
-                                                   "i373"
-                                                   "i371"
-                                                   "i369"
-                                                   "i367"
+                                                   "i380"
+                                                   "i378"
+                                                   "i376"
+                                                   "i374"
+                                                   "i372"
+                                                   "i370"
+                                                   "i368"
                                                    "i366"
-                                                   "i364"
-                                                   "i362"
+                                                   "i365"
+                                                   "i363"
                                                    "i361"
                                                    "i360"
-                                                   "i358"
+                                                   "i359"
                                                    "i357"
-                                                   "i355"
-                                                   "i353"
-                                                   "i351"
-                                                   "i349"
-                                                   "i347"
-                                                   "i345"
-                                                   "i343"
-                                                   "i341"
-                                                   "i339"
-                                                   "i337"
-                                                   "i335"
-                                                   "i333"
-                                                   "i331"
-                                                   "i329"
-                                                   "i327"
-                                                   "i325"
-                                                   "i323"
-                                                   "i321"
-                                                   "i319"
-                                                   "i317"
-                                                   "i315"
-                                                   "i313"
-                                                   "i311"
-                                                   "i309"
-                                                   "i307"
-                                                   "i305"
-                                                   "i303"
-                                                   "i301"
-                                                   "i299"
-                                                   "i297"
-                                                   "i295"
-                                                   "i293"
+                                                   "i356"
+                                                   "i354"
+                                                   "i352"
+                                                   "i350"
+                                                   "i348"
+                                                   "i346"
+                                                   "i344"
+                                                   "i342"
+                                                   "i340"
+                                                   "i338"
+                                                   "i336"
+                                                   "i334"
+                                                   "i332"
+                                                   "i330"
+                                                   "i328"
+                                                   "i326"
+                                                   "i324"
+                                                   "i322"
+                                                   "i320"
+                                                   "i318"
+                                                   "i316"
+                                                   "i314"
+                                                   "i312"
+                                                   "i310"
+                                                   "i308"
+                                                   "i306"
+                                                   "i304"
+                                                   "i302"
+                                                   "i300"
+                                                   "i298"
+                                                   "i296"
+                                                   "i294"
                                                    "i292"
-                                                   "i290"
-                                                   "i288"
-                                                   "i286"
-                                                   "i284"
-                                                   "i282"
-                                                   "i280"
-                                                   "i278"
-                                                   "i276"
-                                                   "i274"
-                                                   "i271"
-                                                   "i269"
-                                                   "i267"
-                                                   "i265"
-                                                   "i263"
-                                                   "i261"
-                                                   "i259"
-                                                   "i257"
-                                                   "i255"
-                                                   "i253"
-                                                   "i251"
-                                                   "i249"
-                                                   "i247"
-                                                   "i245"
-                                                   "i243"
-                                                   "i241"
-                                                   "i239"
-                                                   "i237"))
+                                                   "i291"
+                                                   "i289"
+                                                   "i287"
+                                                   "i285"
+                                                   "i283"
+                                                   "i281"
+                                                   "i279"
+                                                   "i277"
+                                                   "i275"
+                                                   "i273"
+                                                   "i270"
+                                                   "i268"
+                                                   "i266"
+                                                   "i264"
+                                                   "i262"
+                                                   "i260"
+                                                   "i258"
+                                                   "i256"
+                                                   "i254"
+                                                   "i252"
+                                                   "i250"
+                                                   "i248"
+                                                   "i246"
+                                                   "i244"
+                                                   "i242"
+                                                   "i240"
+                                                   "i238"
+                                                   "i236"))
                                                 #(ribcage
                                                   (define-structure
                                                     define-expansion-accessors
                                                     
define-expansion-constructors
                                                     and-map*)
                                                   ((top) (top) (top) (top))
-                                                  ("i39" "i38" "i37" "i35")))
+                                                  ("i38" "i37" "i36" "i34")))
                                                (hygiene guile)))
                                         'eval
-                                        (if (#{free-id=?\ 439}#
-                                              #{x\ 1519}#
+                                        (if (#{free-id=?\ 438}#
+                                              #{x\ 1518}#
                                               '#(syntax-object
                                                  expand
                                                  ((top)
@@ -2538,17 +2538,17 @@
                                                   #(ribcage
                                                     #(x)
                                                     #((top))
-                                                    #("i1518"))
+                                                    #("i1517"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(f when-list situations)
                                                     #((top) (top) (top))
-                                                    #("i1512" "i1513" "i1514"))
+                                                    #("i1511" "i1512" "i1513"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(e when-list w)
                                                     #((top) (top) (top))
-                                                    #("i1509" "i1510" "i1511"))
+                                                    #("i1508" "i1509" "i1510"))
                                                   #(ribcage
                                                     (lambda-var-list
                                                       gen-var
@@ -2824,398 +2824,398 @@
                                                      (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"
+                                                    ("i493"
+                                                     "i491"
+                                                     "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"
-                                                     "i414"
-                                                     "i412"
-                                                     "i410"
-                                                     "i408"
-                                                     "i406"
-                                                     "i404"
-                                                     "i402"
-                                                     "i400"
-                                                     "i397"
-                                                     "i395"
+                                                     "i415"
+                                                     "i413"
+                                                     "i411"
+                                                     "i409"
+                                                     "i407"
+                                                     "i405"
+                                                     "i403"
+                                                     "i401"
+                                                     "i399"
+                                                     "i396"
                                                      "i394"
                                                      "i393"
                                                      "i392"
                                                      "i391"
                                                      "i390"
-                                                     "i388"
-                                                     "i386"
-                                                     "i384"
-                                                     "i382"
+                                                     "i389"
+                                                     "i387"
+                                                     "i385"
+                                                     "i383"
                                                      "i381"
-                                                     "i379"
-                                                     "i377"
-                                                     "i375"
-                                                     "i373"
-                                                     "i371"
-                                                     "i369"
-                                                     "i367"
+                                                     "i380"
+                                                     "i378"
+                                                     "i376"
+                                                     "i374"
+                                                     "i372"
+                                                     "i370"
+                                                     "i368"
                                                      "i366"
-                                                     "i364"
-                                                     "i362"
+                                                     "i365"
+                                                     "i363"
                                                      "i361"
                                                      "i360"
-                                                     "i358"
+                                                     "i359"
                                                      "i357"
-                                                     "i355"
-                                                     "i353"
-                                                     "i351"
-                                                     "i349"
-                                                     "i347"
-                                                     "i345"
-                                                     "i343"
-                                                     "i341"
-                                                     "i339"
-                                                     "i337"
-                                                     "i335"
-                                                     "i333"
-                                                     "i331"
-                                                     "i329"
-                                                     "i327"
-                                                     "i325"
-                                                     "i323"
-                                                     "i321"
-                                                     "i319"
-                                                     "i317"
-                                                     "i315"
-                                                     "i313"
-                                                     "i311"
-                                                     "i309"
-                                                     "i307"
-                                                     "i305"
-                                                     "i303"
-                                                     "i301"
-                                                     "i299"
-                                                     "i297"
-                                                     "i295"
-                                                     "i293"
+                                                     "i356"
+                                                     "i354"
+                                                     "i352"
+                                                     "i350"
+                                                     "i348"
+                                                     "i346"
+                                                     "i344"
+                                                     "i342"
+                                                     "i340"
+                                                     "i338"
+                                                     "i336"
+                                                     "i334"
+                                                     "i332"
+                                                     "i330"
+                                                     "i328"
+                                                     "i326"
+                                                     "i324"
+                                                     "i322"
+                                                     "i320"
+                                                     "i318"
+                                                     "i316"
+                                                     "i314"
+                                                     "i312"
+                                                     "i310"
+                                                     "i308"
+                                                     "i306"
+                                                     "i304"
+                                                     "i302"
+                                                     "i300"
+                                                     "i298"
+                                                     "i296"
+                                                     "i294"
                                                      "i292"
-                                                     "i290"
-                                                     "i288"
-                                                     "i286"
-                                                     "i284"
-                                                     "i282"
-                                                     "i280"
-                                                     "i278"
-                                                     "i276"
-                                                     "i274"
-                                                     "i271"
-                                                     "i269"
-                                                     "i267"
-                                                     "i265"
-                                                     "i263"
-                                                     "i261"
-                                                     "i259"
-                                                     "i257"
-                                                     "i255"
-                                                     "i253"
-                                                     "i251"
-                                                     "i249"
-                                                     "i247"
-                                                     "i245"
-                                                     "i243"
-                                                     "i241"
-                                                     "i239"
-                                                     "i237"))
+                                                     "i291"
+                                                     "i289"
+                                                     "i287"
+                                                     "i285"
+                                                     "i283"
+                                                     "i281"
+                                                     "i279"
+                                                     "i277"
+                                                     "i275"
+                                                     "i273"
+                                                     "i270"
+                                                     "i268"
+                                                     "i266"
+                                                     "i264"
+                                                     "i262"
+                                                     "i260"
+                                                     "i258"
+                                                     "i256"
+                                                     "i254"
+                                                     "i252"
+                                                     "i250"
+                                                     "i248"
+                                                     "i246"
+                                                     "i244"
+                                                     "i242"
+                                                     "i240"
+                                                     "i238"
+                                                     "i236"))
                                                   #(ribcage
                                                     (define-structure
                                                       
define-expansion-accessors
                                                       
define-expansion-constructors
                                                       and-map*)
                                                     ((top) (top) (top) (top))
-                                                    ("i39" "i38" "i37" "i35")))
+                                                    ("i38" "i37" "i36" "i34")))
                                                  (hygiene guile)))
                                           'expand
                                           (syntax-violation
                                             'eval-when
                                             "invalid situation"
-                                            #{e\ 1506}#
-                                            (#{wrap\ 449}#
-                                              #{x\ 1519}#
-                                              #{w\ 1508}#
+                                            #{e\ 1505}#
+                                            (#{wrap\ 448}#
+                                              #{x\ 1518}#
+                                              #{w\ 1507}#
                                               #f))))))))
-                              #{situations\ 1517}#))))))
+                              #{situations\ 1516}#))))))
                (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\ 1514}# #{when-list\ 1506}# (quote ()))))))
+         (#{syntax-type\ 460}#
+           (lambda (#{e\ 1528}#
+                    #{r\ 1529}#
+                    #{w\ 1530}#
+                    #{s\ 1531}#
+                    #{rib\ 1532}#
+                    #{mod\ 1533}#
+                    #{for-car?\ 1534}#)
+             (if (symbol? #{e\ 1528}#)
                (begin
-                 (let ((#{n\ 1547}#
-                         (#{id-var-name\ 437}# #{e\ 1529}# #{w\ 1531}#)))
+                 (let ((#{n\ 1546}#
+                         (#{id-var-name\ 436}# #{e\ 1528}# #{w\ 1530}#)))
                    (begin
-                     (let ((#{b\ 1549}#
-                             (#{lookup\ 374}#
-                               #{n\ 1547}#
-                               #{r\ 1530}#
-                               #{mod\ 1534}#)))
+                     (let ((#{b\ 1548}#
+                             (#{lookup\ 373}#
+                               #{n\ 1546}#
+                               #{r\ 1529}#
+                               #{mod\ 1533}#)))
                        (begin
-                         (let ((#{type\ 1551}#
-                                 (#{binding-type\ 363}# #{b\ 1549}#)))
-                           (if (eqv? #{type\ 1551}# (quote lexical))
+                         (let ((#{type\ 1550}#
+                                 (#{binding-type\ 362}# #{b\ 1548}#)))
+                           (if (eqv? #{type\ 1550}# (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\ 1550}#
+                               (#{binding-value\ 364}# #{b\ 1548}#)
+                               #{e\ 1528}#
+                               #{w\ 1530}#
+                               #{s\ 1531}#
+                               #{mod\ 1533}#)
+                             (if (eqv? #{type\ 1550}# (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\ 1550}#
+                                 #{n\ 1546}#
+                                 #{e\ 1528}#
+                                 #{w\ 1530}#
+                                 #{s\ 1531}#
+                                 #{mod\ 1533}#)
+                               (if (eqv? #{type\ 1550}# (quote macro))
+                                 (if #{for-car?\ 1534}#
                                    (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\ 1550}#
+                                     (#{binding-value\ 364}# #{b\ 1548}#)
+                                     #{e\ 1528}#
+                                     #{w\ 1530}#
+                                     #{s\ 1531}#
+                                     #{mod\ 1533}#)
+                                   (#{syntax-type\ 460}#
+                                     (#{chi-macro\ 470}#
+                                       (#{binding-value\ 364}# #{b\ 1548}#)
+                                       #{e\ 1528}#
+                                       #{r\ 1529}#
+                                       #{w\ 1530}#
+                                       #{s\ 1531}#
+                                       #{rib\ 1532}#
+                                       #{mod\ 1533}#)
+                                     #{r\ 1529}#
                                      '(())
-                                     #{s\ 1532}#
-                                     #{rib\ 1533}#
-                                     #{mod\ 1534}#
+                                     #{s\ 1531}#
+                                     #{rib\ 1532}#
+                                     #{mod\ 1533}#
                                      #f))
                                  (values
-                                   #{type\ 1551}#
-                                   (#{binding-value\ 365}# #{b\ 1549}#)
-                                   #{e\ 1529}#
-                                   #{w\ 1531}#
-                                   #{s\ 1532}#
-                                   #{mod\ 1534}#))))))))))
-               (if (pair? #{e\ 1529}#)
+                                   #{type\ 1550}#
+                                   (#{binding-value\ 364}# #{b\ 1548}#)
+                                   #{e\ 1528}#
+                                   #{w\ 1530}#
+                                   #{s\ 1531}#
+                                   #{mod\ 1533}#))))))))))
+               (if (pair? #{e\ 1528}#)
                  (begin
-                   (let ((#{first\ 1560}# (car #{e\ 1529}#)))
+                   (let ((#{first\ 1559}# (car #{e\ 1528}#)))
                      (call-with-values
                        (lambda ()
-                         (#{syntax-type\ 461}#
-                           #{first\ 1560}#
-                           #{r\ 1530}#
-                           #{w\ 1531}#
-                           #{s\ 1532}#
-                           #{rib\ 1533}#
-                           #{mod\ 1534}#
+                         (#{syntax-type\ 460}#
+                           #{first\ 1559}#
+                           #{r\ 1529}#
+                           #{w\ 1530}#
+                           #{s\ 1531}#
+                           #{rib\ 1532}#
+                           #{mod\ 1533}#
                            #t))
-                       (lambda (#{ftype\ 1561}#
-                                #{fval\ 1562}#
-                                #{fe\ 1563}#
-                                #{fw\ 1564}#
-                                #{fs\ 1565}#
-                                #{fmod\ 1566}#)
-                         (if (eqv? #{ftype\ 1561}# (quote lexical))
+                       (lambda (#{ftype\ 1560}#
+                                #{fval\ 1561}#
+                                #{fe\ 1562}#
+                                #{fw\ 1563}#
+                                #{fs\ 1564}#
+                                #{fmod\ 1565}#)
+                         (if (eqv? #{ftype\ 1560}# (quote lexical))
                            (values
                              'lexical-call
-                             #{fval\ 1562}#
-                             #{e\ 1529}#
-                             #{w\ 1531}#
-                             #{s\ 1532}#
-                             #{mod\ 1534}#)
-                           (if (eqv? #{ftype\ 1561}# (quote global))
+                             #{fval\ 1561}#
+                             #{e\ 1528}#
+                             #{w\ 1530}#
+                             #{s\ 1531}#
+                             #{mod\ 1533}#)
+                           (if (eqv? #{ftype\ 1560}# (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}#
+                               (#{make-syntax-object\ 341}#
+                                 #{fval\ 1561}#
+                                 #{w\ 1530}#
+                                 #{fmod\ 1565}#)
+                               #{e\ 1528}#
+                               #{w\ 1530}#
+                               #{s\ 1531}#
+                               #{mod\ 1533}#)
+                             (if (eqv? #{ftype\ 1560}# (quote macro))
+                               (#{syntax-type\ 460}#
+                                 (#{chi-macro\ 470}#
+                                   #{fval\ 1561}#
+                                   #{e\ 1528}#
+                                   #{r\ 1529}#
+                                   #{w\ 1530}#
+                                   #{s\ 1531}#
+                                   #{rib\ 1532}#
+                                   #{mod\ 1533}#)
+                                 #{r\ 1529}#
                                  '(())
-                                 #{s\ 1532}#
-                                 #{rib\ 1533}#
-                                 #{mod\ 1534}#
-                                 #{for-car?\ 1535}#)
-                               (if (eqv? #{ftype\ 1561}# (quote module-ref))
+                                 #{s\ 1531}#
+                                 #{rib\ 1532}#
+                                 #{mod\ 1533}#
+                                 #{for-car?\ 1534}#)
+                               (if (eqv? #{ftype\ 1560}# (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\ 1561}#
+                                       #{e\ 1528}#
+                                       #{r\ 1529}#
+                                       #{w\ 1530}#))
+                                   (lambda (#{e\ 1577}#
+                                            #{r\ 1578}#
+                                            #{w\ 1579}#
+                                            #{s\ 1580}#
+                                            #{mod\ 1581}#)
+                                     (#{syntax-type\ 460}#
+                                       #{e\ 1577}#
+                                       #{r\ 1578}#
+                                       #{w\ 1579}#
+                                       #{s\ 1580}#
+                                       #{rib\ 1532}#
+                                       #{mod\ 1581}#
+                                       #{for-car?\ 1534}#)))
+                                 (if (eqv? #{ftype\ 1560}# (quote core))
                                    (values
                                      'core-form
-                                     #{fval\ 1562}#
-                                     #{e\ 1529}#
-                                     #{w\ 1531}#
-                                     #{s\ 1532}#
-                                     #{mod\ 1534}#)
-                                   (if (eqv? #{ftype\ 1561}#
+                                     #{fval\ 1561}#
+                                     #{e\ 1528}#
+                                     #{w\ 1530}#
+                                     #{s\ 1531}#
+                                     #{mod\ 1533}#)
+                                   (if (eqv? #{ftype\ 1560}#
                                              'local-syntax)
                                      (values
                                        'local-syntax-form
-                                       #{fval\ 1562}#
-                                       #{e\ 1529}#
-                                       #{w\ 1531}#
-                                       #{s\ 1532}#
-                                       #{mod\ 1534}#)
-                                     (if (eqv? #{ftype\ 1561}# (quote begin))
+                                       #{fval\ 1561}#
+                                       #{e\ 1528}#
+                                       #{w\ 1530}#
+                                       #{s\ 1531}#
+                                       #{mod\ 1533}#)
+                                     (if (eqv? #{ftype\ 1560}# (quote begin))
                                        (values
                                          'begin-form
                                          #f
-                                         #{e\ 1529}#
-                                         #{w\ 1531}#
-                                         #{s\ 1532}#
-                                         #{mod\ 1534}#)
-                                       (if (eqv? #{ftype\ 1561}#
+                                         #{e\ 1528}#
+                                         #{w\ 1530}#
+                                         #{s\ 1531}#
+                                         #{mod\ 1533}#)
+                                       (if (eqv? #{ftype\ 1560}#
                                                  'eval-when)
                                          (values
                                            'eval-when-form
                                            #f
-                                           #{e\ 1529}#
-                                           #{w\ 1531}#
-                                           #{s\ 1532}#
-                                           #{mod\ 1534}#)
-                                         (if (eqv? #{ftype\ 1561}#
+                                           #{e\ 1528}#
+                                           #{w\ 1530}#
+                                           #{s\ 1531}#
+                                           #{mod\ 1533}#)
+                                         (if (eqv? #{ftype\ 1560}#
                                                    'define)
-                                           (let ((#{tmp\ 1593}# #{e\ 1529}#))
-                                             (let ((#{tmp\ 1594}#
+                                           (let ((#{tmp\ 1592}# #{e\ 1528}#))
+                                             (let ((#{tmp\ 1593}#
                                                      ($sc-dispatch
-                                                       #{tmp\ 1593}#
+                                                       #{tmp\ 1592}#
                                                        '(_ any any))))
-                                               (if (if #{tmp\ 1594}#
+                                               (if (if #{tmp\ 1593}#
                                                      (@apply
-                                                       (lambda (#{name\ 1597}#
-                                                                #{val\ 1598}#)
-                                                         (#{id?\ 380}#
-                                                           #{name\ 1597}#))
-                                                       #{tmp\ 1594}#)
+                                                       (lambda (#{name\ 1596}#
+                                                                #{val\ 1597}#)
+                                                         (#{id?\ 379}#
+                                                           #{name\ 1596}#))
+                                                       #{tmp\ 1593}#)
                                                      #f)
                                                  (@apply
-                                                   (lambda (#{name\ 1601}#
-                                                            #{val\ 1602}#)
+                                                   (lambda (#{name\ 1600}#
+                                                            #{val\ 1601}#)
                                                      (values
                                                        'define-form
-                                                       #{name\ 1601}#
-                                                       #{val\ 1602}#
-                                                       #{w\ 1531}#
-                                                       #{s\ 1532}#
-                                                       #{mod\ 1534}#))
-                                                   #{tmp\ 1594}#)
-                                                 (let ((#{tmp\ 1603}#
+                                                       #{name\ 1600}#
+                                                       #{val\ 1601}#
+                                                       #{w\ 1530}#
+                                                       #{s\ 1531}#
+                                                       #{mod\ 1533}#))
+                                                   #{tmp\ 1593}#)
+                                                 (let ((#{tmp\ 1602}#
                                                          ($sc-dispatch
-                                                           #{tmp\ 1593}#
+                                                           #{tmp\ 1592}#
                                                            '(_ (any . any)
                                                                any
                                                                .
                                                                each-any))))
-                                                   (if (if #{tmp\ 1603}#
+                                                   (if (if #{tmp\ 1602}#
                                                          (@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\ 
1607}#
+                                                                    #{args\ 
1608}#
+                                                                    #{e1\ 
1609}#
+                                                                    #{e2\ 
1610}#)
+                                                             (if (#{id?\ 379}#
+                                                                   #{name\ 
1607}#)
+                                                               
(#{valid-bound-ids?\ 442}#
+                                                                 
(#{lambda-var-list\ 494}#
+                                                                   #{args\ 
1608}#))
                                                                #f))
-                                                           #{tmp\ 1603}#)
+                                                           #{tmp\ 1602}#)
                                                          #f)
                                                      (@apply
-                                                       (lambda (#{name\ 1618}#
-                                                                #{args\ 1619}#
-                                                                #{e1\ 1620}#
-                                                                #{e2\ 1621}#)
+                                                       (lambda (#{name\ 1617}#
+                                                                #{args\ 1618}#
+                                                                #{e1\ 1619}#
+                                                                #{e2\ 1620}#)
                                                          (values
                                                            'define-form
-                                                           (#{wrap\ 449}#
-                                                             #{name\ 1618}#
-                                                             #{w\ 1531}#
-                                                             #{mod\ 1534}#)
-                                                           (#{decorate-source\ 
298}#
+                                                           (#{wrap\ 448}#
+                                                             #{name\ 1617}#
+                                                             #{w\ 1530}#
+                                                             #{mod\ 1533}#)
+                                                           (#{decorate-source\ 
297}#
                                                              (cons 
'#(syntax-object
                                                                       lambda
                                                                       ((top)
@@ -3228,10 +3228,10 @@
                                                                            
(top)
                                                                            
(top)
                                                                            
(top))
-                                                                         
#("i1614"
+                                                                         
#("i1613"
+                                                                           
"i1614"
                                                                            
"i1615"
-                                                                           
"i1616"
-                                                                           
"i1617"))
+                                                                           
"i1616"))
                                                                        
#(ribcage
                                                                          ()
                                                                          ()
@@ -3253,12 +3253,12 @@
                                                                            
(top)
                                                                            
(top)
                                                                            
(top))
-                                                                         
#("i1567"
+                                                                         
#("i1566"
+                                                                           
"i1567"
                                                                            
"i1568"
                                                                            
"i1569"
                                                                            
"i1570"
-                                                                           
"i1571"
-                                                                           
"i1572"))
+                                                                           
"i1571"))
                                                                        
#(ribcage
                                                                          ()
                                                                          ()
@@ -3266,7 +3266,7 @@
                                                                        
#(ribcage
                                                                          
#(first)
                                                                          
#((top))
-                                                                         
#("i1559"))
+                                                                         
#("i1558"))
                                                                        
#(ribcage
                                                                          ()
                                                                          ()
@@ -3294,13 +3294,13 @@
                                                                            
(top)
                                                                            
(top)
                                                                            
(top))
-                                                                         
#("i1536"
+                                                                         
#("i1535"
+                                                                           
"i1536"
                                                                            
"i1537"
                                                                            
"i1538"
                                                                            
"i1539"
                                                                            
"i1540"
-                                                                           
"i1541"
-                                                                           
"i1542"))
+                                                                           
"i1541"))
                                                                        
#(ribcage
                                                                          
(lambda-var-list
                                                                            
gen-var
@@ -3576,143 +3576,143 @@
                                                                           (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"
+                                                                         
("i493"
+                                                                          
"i491"
+                                                                          
"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"
-                                                                          
"i414"
-                                                                          
"i412"
-                                                                          
"i410"
-                                                                          
"i408"
-                                                                          
"i406"
-                                                                          
"i404"
-                                                                          
"i402"
-                                                                          
"i400"
-                                                                          
"i397"
-                                                                          
"i395"
+                                                                          
"i415"
+                                                                          
"i413"
+                                                                          
"i411"
+                                                                          
"i409"
+                                                                          
"i407"
+                                                                          
"i405"
+                                                                          
"i403"
+                                                                          
"i401"
+                                                                          
"i399"
+                                                                          
"i396"
                                                                           
"i394"
                                                                           
"i393"
                                                                           
"i392"
                                                                           
"i391"
                                                                           
"i390"
-                                                                          
"i388"
-                                                                          
"i386"
-                                                                          
"i384"
-                                                                          
"i382"
+                                                                          
"i389"
+                                                                          
"i387"
+                                                                          
"i385"
+                                                                          
"i383"
                                                                           
"i381"
-                                                                          
"i379"
-                                                                          
"i377"
-                                                                          
"i375"
-                                                                          
"i373"
-                                                                          
"i371"
-                                                                          
"i369"
-                                                                          
"i367"
+                                                                          
"i380"
+                                                                          
"i378"
+                                                                          
"i376"
+                                                                          
"i374"
+                                                                          
"i372"
+                                                                          
"i370"
+                                                                          
"i368"
                                                                           
"i366"
-                                                                          
"i364"
-                                                                          
"i362"
+                                                                          
"i365"
+                                                                          
"i363"
                                                                           
"i361"
                                                                           
"i360"
-                                                                          
"i358"
+                                                                          
"i359"
                                                                           
"i357"
-                                                                          
"i355"
-                                                                          
"i353"
-                                                                          
"i351"
-                                                                          
"i349"
-                                                                          
"i347"
-                                                                          
"i345"
-                                                                          
"i343"
-                                                                          
"i341"
-                                                                          
"i339"
-                                                                          
"i337"
-                                                                          
"i335"
-                                                                          
"i333"
-                                                                          
"i331"
-                                                                          
"i329"
-                                                                          
"i327"
-                                                                          
"i325"
-                                                                          
"i323"
-                                                                          
"i321"
-                                                                          
"i319"
-                                                                          
"i317"
-                                                                          
"i315"
-                                                                          
"i313"
-                                                                          
"i311"
-                                                                          
"i309"
-                                                                          
"i307"
-                                                                          
"i305"
-                                                                          
"i303"
-                                                                          
"i301"
-                                                                          
"i299"
-                                                                          
"i297"
-                                                                          
"i295"
-                                                                          
"i293"
+                                                                          
"i356"
+                                                                          
"i354"
+                                                                          
"i352"
+                                                                          
"i350"
+                                                                          
"i348"
+                                                                          
"i346"
+                                                                          
"i344"
+                                                                          
"i342"
+                                                                          
"i340"
+                                                                          
"i338"
+                                                                          
"i336"
+                                                                          
"i334"
+                                                                          
"i332"
+                                                                          
"i330"
+                                                                          
"i328"
+                                                                          
"i326"
+                                                                          
"i324"
+                                                                          
"i322"
+                                                                          
"i320"
+                                                                          
"i318"
+                                                                          
"i316"
+                                                                          
"i314"
+                                                                          
"i312"
+                                                                          
"i310"
+                                                                          
"i308"
+                                                                          
"i306"
+                                                                          
"i304"
+                                                                          
"i302"
+                                                                          
"i300"
+                                                                          
"i298"
+                                                                          
"i296"
+                                                                          
"i294"
                                                                           
"i292"
-                                                                          
"i290"
-                                                                          
"i288"
-                                                                          
"i286"
-                                                                          
"i284"
-                                                                          
"i282"
-                                                                          
"i280"
-                                                                          
"i278"
-                                                                          
"i276"
-                                                                          
"i274"
-                                                                          
"i271"
-                                                                          
"i269"
-                                                                          
"i267"
-                                                                          
"i265"
-                                                                          
"i263"
-                                                                          
"i261"
-                                                                          
"i259"
-                                                                          
"i257"
-                                                                          
"i255"
-                                                                          
"i253"
-                                                                          
"i251"
-                                                                          
"i249"
-                                                                          
"i247"
-                                                                          
"i245"
-                                                                          
"i243"
-                                                                          
"i241"
-                                                                          
"i239"
-                                                                          
"i237"))
+                                                                          
"i291"
+                                                                          
"i289"
+                                                                          
"i287"
+                                                                          
"i285"
+                                                                          
"i283"
+                                                                          
"i281"
+                                                                          
"i279"
+                                                                          
"i277"
+                                                                          
"i275"
+                                                                          
"i273"
+                                                                          
"i270"
+                                                                          
"i268"
+                                                                          
"i266"
+                                                                          
"i264"
+                                                                          
"i262"
+                                                                          
"i260"
+                                                                          
"i258"
+                                                                          
"i256"
+                                                                          
"i254"
+                                                                          
"i252"
+                                                                          
"i250"
+                                                                          
"i248"
+                                                                          
"i246"
+                                                                          
"i244"
+                                                                          
"i242"
+                                                                          
"i240"
+                                                                          
"i238"
+                                                                          
"i236"))
                                                                        
#(ribcage
                                                                          
(define-structure
                                                                            
define-expansion-accessors
@@ -3722,49 +3722,49 @@
                                                                           (top)
                                                                           (top)
                                                                           
(top))
-                                                                         ("i39"
-                                                                          "i38"
+                                                                         ("i38"
                                                                           "i37"
-                                                                          
"i35")))
+                                                                          "i36"
+                                                                          
"i34")))
                                                                       (hygiene
                                                                         guile))
-                                                                   (#{wrap\ 
449}#
-                                                                     (cons 
#{args\ 1619}#
-                                                                           
(cons #{e1\ 1620}#
-                                                                               
  #{e2\ 1621}#))
-                                                                     #{w\ 
1531}#
-                                                                     #{mod\ 
1534}#))
-                                                             #{s\ 1532}#)
+                                                                   (#{wrap\ 
448}#
+                                                                     (cons 
#{args\ 1618}#
+                                                                           
(cons #{e1\ 1619}#
+                                                                               
  #{e2\ 1620}#))
+                                                                     #{w\ 
1530}#
+                                                                     #{mod\ 
1533}#))
+                                                             #{s\ 1531}#)
                                                            '(())
-                                                           #{s\ 1532}#
-                                                           #{mod\ 1534}#))
-                                                       #{tmp\ 1603}#)
-                                                     (let ((#{tmp\ 1624}#
+                                                           #{s\ 1531}#
+                                                           #{mod\ 1533}#))
+                                                       #{tmp\ 1602}#)
+                                                     (let ((#{tmp\ 1623}#
                                                              ($sc-dispatch
-                                                               #{tmp\ 1593}#
+                                                               #{tmp\ 1592}#
                                                                '(_ any))))
-                                                       (if (if #{tmp\ 1624}#
+                                                       (if (if #{tmp\ 1623}#
                                                              (@apply
-                                                               (lambda 
(#{name\ 1626}#)
-                                                                 (#{id?\ 380}#
-                                                                   #{name\ 
1626}#))
-                                                               #{tmp\ 1624}#)
+                                                               (lambda 
(#{name\ 1625}#)
+                                                                 (#{id?\ 379}#
+                                                                   #{name\ 
1625}#))
+                                                               #{tmp\ 1623}#)
                                                              #f)
                                                          (@apply
-                                                           (lambda (#{name\ 
1628}#)
+                                                           (lambda (#{name\ 
1627}#)
                                                              (values
                                                                'define-form
-                                                               (#{wrap\ 449}#
-                                                                 #{name\ 1628}#
-                                                                 #{w\ 1531}#
-                                                                 #{mod\ 1534}#)
+                                                               (#{wrap\ 448}#
+                                                                 #{name\ 1627}#
+                                                                 #{w\ 1530}#
+                                                                 #{mod\ 1533}#)
                                                                
'(#(syntax-object
                                                                    if
                                                                    ((top)
                                                                     #(ribcage
                                                                       #(name)
                                                                       #((top))
-                                                                      
#("i1627"))
+                                                                      
#("i1626"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -3786,12 +3786,12 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      #("i1567"
+                                                                      #("i1566"
+                                                                        "i1567"
                                                                         "i1568"
                                                                         "i1569"
                                                                         "i1570"
-                                                                        "i1571"
-                                                                        
"i1572"))
+                                                                        
"i1571"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -3799,7 +3799,7 @@
                                                                     #(ribcage
                                                                       #(first)
                                                                       #((top))
-                                                                      
#("i1559"))
+                                                                      
#("i1558"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -3827,13 +3827,13 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      #("i1536"
+                                                                      #("i1535"
+                                                                        "i1536"
                                                                         "i1537"
                                                                         "i1538"
                                                                         "i1539"
                                                                         "i1540"
-                                                                        "i1541"
-                                                                        
"i1542"))
+                                                                        
"i1541"))
                                                                     #(ribcage
                                                                       
(lambda-var-list
                                                                         gen-var
@@ -4109,143 +4109,143 @@
                                                                        (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"
+                                                                      ("i493"
+                                                                       "i491"
+                                                                       "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"
-                                                                       "i414"
-                                                                       "i412"
-                                                                       "i410"
-                                                                       "i408"
-                                                                       "i406"
-                                                                       "i404"
-                                                                       "i402"
-                                                                       "i400"
-                                                                       "i397"
-                                                                       "i395"
+                                                                       "i415"
+                                                                       "i413"
+                                                                       "i411"
+                                                                       "i409"
+                                                                       "i407"
+                                                                       "i405"
+                                                                       "i403"
+                                                                       "i401"
+                                                                       "i399"
+                                                                       "i396"
                                                                        "i394"
                                                                        "i393"
                                                                        "i392"
                                                                        "i391"
                                                                        "i390"
-                                                                       "i388"
-                                                                       "i386"
-                                                                       "i384"
-                                                                       "i382"
+                                                                       "i389"
+                                                                       "i387"
+                                                                       "i385"
+                                                                       "i383"
                                                                        "i381"
-                                                                       "i379"
-                                                                       "i377"
-                                                                       "i375"
-                                                                       "i373"
-                                                                       "i371"
-                                                                       "i369"
-                                                                       "i367"
+                                                                       "i380"
+                                                                       "i378"
+                                                                       "i376"
+                                                                       "i374"
+                                                                       "i372"
+                                                                       "i370"
+                                                                       "i368"
                                                                        "i366"
-                                                                       "i364"
-                                                                       "i362"
+                                                                       "i365"
+                                                                       "i363"
                                                                        "i361"
                                                                        "i360"
-                                                                       "i358"
+                                                                       "i359"
                                                                        "i357"
-                                                                       "i355"
-                                                                       "i353"
-                                                                       "i351"
-                                                                       "i349"
-                                                                       "i347"
-                                                                       "i345"
-                                                                       "i343"
-                                                                       "i341"
-                                                                       "i339"
-                                                                       "i337"
-                                                                       "i335"
-                                                                       "i333"
-                                                                       "i331"
-                                                                       "i329"
-                                                                       "i327"
-                                                                       "i325"
-                                                                       "i323"
-                                                                       "i321"
-                                                                       "i319"
-                                                                       "i317"
-                                                                       "i315"
-                                                                       "i313"
-                                                                       "i311"
-                                                                       "i309"
-                                                                       "i307"
-                                                                       "i305"
-                                                                       "i303"
-                                                                       "i301"
-                                                                       "i299"
-                                                                       "i297"
-                                                                       "i295"
-                                                                       "i293"
+                                                                       "i356"
+                                                                       "i354"
+                                                                       "i352"
+                                                                       "i350"
+                                                                       "i348"
+                                                                       "i346"
+                                                                       "i344"
+                                                                       "i342"
+                                                                       "i340"
+                                                                       "i338"
+                                                                       "i336"
+                                                                       "i334"
+                                                                       "i332"
+                                                                       "i330"
+                                                                       "i328"
+                                                                       "i326"
+                                                                       "i324"
+                                                                       "i322"
+                                                                       "i320"
+                                                                       "i318"
+                                                                       "i316"
+                                                                       "i314"
+                                                                       "i312"
+                                                                       "i310"
+                                                                       "i308"
+                                                                       "i306"
+                                                                       "i304"
+                                                                       "i302"
+                                                                       "i300"
+                                                                       "i298"
+                                                                       "i296"
+                                                                       "i294"
                                                                        "i292"
-                                                                       "i290"
-                                                                       "i288"
-                                                                       "i286"
-                                                                       "i284"
-                                                                       "i282"
-                                                                       "i280"
-                                                                       "i278"
-                                                                       "i276"
-                                                                       "i274"
-                                                                       "i271"
-                                                                       "i269"
-                                                                       "i267"
-                                                                       "i265"
-                                                                       "i263"
-                                                                       "i261"
-                                                                       "i259"
-                                                                       "i257"
-                                                                       "i255"
-                                                                       "i253"
-                                                                       "i251"
-                                                                       "i249"
-                                                                       "i247"
-                                                                       "i245"
-                                                                       "i243"
-                                                                       "i241"
-                                                                       "i239"
-                                                                       "i237"))
+                                                                       "i291"
+                                                                       "i289"
+                                                                       "i287"
+                                                                       "i285"
+                                                                       "i283"
+                                                                       "i281"
+                                                                       "i279"
+                                                                       "i277"
+                                                                       "i275"
+                                                                       "i273"
+                                                                       "i270"
+                                                                       "i268"
+                                                                       "i266"
+                                                                       "i264"
+                                                                       "i262"
+                                                                       "i260"
+                                                                       "i258"
+                                                                       "i256"
+                                                                       "i254"
+                                                                       "i252"
+                                                                       "i250"
+                                                                       "i248"
+                                                                       "i246"
+                                                                       "i244"
+                                                                       "i242"
+                                                                       "i240"
+                                                                       "i238"
+                                                                       "i236"))
                                                                     #(ribcage
                                                                       
(define-structure
                                                                         
define-expansion-accessors
@@ -4255,10 +4255,10 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                      ("i39"
-                                                                       "i38"
+                                                                      ("i38"
                                                                        "i37"
-                                                                       "i35")))
+                                                                       "i36"
+                                                                       "i34")))
                                                                    (hygiene
                                                                      guile))
                                                                  
#(syntax-object
@@ -4267,7 +4267,7 @@
                                                                     #(ribcage
                                                                       #(name)
                                                                       #((top))
-                                                                      
#("i1627"))
+                                                                      
#("i1626"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -4289,12 +4289,12 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      #("i1567"
+                                                                      #("i1566"
+                                                                        "i1567"
                                                                         "i1568"
                                                                         "i1569"
                                                                         "i1570"
-                                                                        "i1571"
-                                                                        
"i1572"))
+                                                                        
"i1571"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -4302,7 +4302,7 @@
                                                                     #(ribcage
                                                                       #(first)
                                                                       #((top))
-                                                                      
#("i1559"))
+                                                                      
#("i1558"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -4330,13 +4330,13 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      #("i1536"
+                                                                      #("i1535"
+                                                                        "i1536"
                                                                         "i1537"
                                                                         "i1538"
                                                                         "i1539"
                                                                         "i1540"
-                                                                        "i1541"
-                                                                        
"i1542"))
+                                                                        
"i1541"))
                                                                     #(ribcage
                                                                       
(lambda-var-list
                                                                         gen-var
@@ -4612,143 +4612,143 @@
                                                                        (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"
+                                                                      ("i493"
+                                                                       "i491"
+                                                                       "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"
-                                                                       "i414"
-                                                                       "i412"
-                                                                       "i410"
-                                                                       "i408"
-                                                                       "i406"
-                                                                       "i404"
-                                                                       "i402"
-                                                                       "i400"
-                                                                       "i397"
-                                                                       "i395"
+                                                                       "i415"
+                                                                       "i413"
+                                                                       "i411"
+                                                                       "i409"
+                                                                       "i407"
+                                                                       "i405"
+                                                                       "i403"
+                                                                       "i401"
+                                                                       "i399"
+                                                                       "i396"
                                                                        "i394"
                                                                        "i393"
                                                                        "i392"
                                                                        "i391"
                                                                        "i390"
-                                                                       "i388"
-                                                                       "i386"
-                                                                       "i384"
-                                                                       "i382"
+                                                                       "i389"
+                                                                       "i387"
+                                                                       "i385"
+                                                                       "i383"
                                                                        "i381"
-                                                                       "i379"
-                                                                       "i377"
-                                                                       "i375"
-                                                                       "i373"
-                                                                       "i371"
-                                                                       "i369"
-                                                                       "i367"
+                                                                       "i380"
+                                                                       "i378"
+                                                                       "i376"
+                                                                       "i374"
+                                                                       "i372"
+                                                                       "i370"
+                                                                       "i368"
                                                                        "i366"
-                                                                       "i364"
-                                                                       "i362"
+                                                                       "i365"
+                                                                       "i363"
                                                                        "i361"
                                                                        "i360"
-                                                                       "i358"
+                                                                       "i359"
                                                                        "i357"
-                                                                       "i355"
-                                                                       "i353"
-                                                                       "i351"
-                                                                       "i349"
-                                                                       "i347"
-                                                                       "i345"
-                                                                       "i343"
-                                                                       "i341"
-                                                                       "i339"
-                                                                       "i337"
-                                                                       "i335"
-                                                                       "i333"
-                                                                       "i331"
-                                                                       "i329"
-                                                                       "i327"
-                                                                       "i325"
-                                                                       "i323"
-                                                                       "i321"
-                                                                       "i319"
-                                                                       "i317"
-                                                                       "i315"
-                                                                       "i313"
-                                                                       "i311"
-                                                                       "i309"
-                                                                       "i307"
-                                                                       "i305"
-                                                                       "i303"
-                                                                       "i301"
-                                                                       "i299"
-                                                                       "i297"
-                                                                       "i295"
-                                                                       "i293"
+                                                                       "i356"
+                                                                       "i354"
+                                                                       "i352"
+                                                                       "i350"
+                                                                       "i348"
+                                                                       "i346"
+                                                                       "i344"
+                                                                       "i342"
+                                                                       "i340"
+                                                                       "i338"
+                                                                       "i336"
+                                                                       "i334"
+                                                                       "i332"
+                                                                       "i330"
+                                                                       "i328"
+                                                                       "i326"
+                                                                       "i324"
+                                                                       "i322"
+                                                                       "i320"
+                                                                       "i318"
+                                                                       "i316"
+                                                                       "i314"
+                                                                       "i312"
+                                                                       "i310"
+                                                                       "i308"
+                                                                       "i306"
+                                                                       "i304"
+                                                                       "i302"
+                                                                       "i300"
+                                                                       "i298"
+                                                                       "i296"
+                                                                       "i294"
                                                                        "i292"
-                                                                       "i290"
-                                                                       "i288"
-                                                                       "i286"
-                                                                       "i284"
-                                                                       "i282"
-                                                                       "i280"
-                                                                       "i278"
-                                                                       "i276"
-                                                                       "i274"
-                                                                       "i271"
-                                                                       "i269"
-                                                                       "i267"
-                                                                       "i265"
-                                                                       "i263"
-                                                                       "i261"
-                                                                       "i259"
-                                                                       "i257"
-                                                                       "i255"
-                                                                       "i253"
-                                                                       "i251"
-                                                                       "i249"
-                                                                       "i247"
-                                                                       "i245"
-                                                                       "i243"
-                                                                       "i241"
-                                                                       "i239"
-                                                                       "i237"))
+                                                                       "i291"
+                                                                       "i289"
+                                                                       "i287"
+                                                                       "i285"
+                                                                       "i283"
+                                                                       "i281"
+                                                                       "i279"
+                                                                       "i277"
+                                                                       "i275"
+                                                                       "i273"
+                                                                       "i270"
+                                                                       "i268"
+                                                                       "i266"
+                                                                       "i264"
+                                                                       "i262"
+                                                                       "i260"
+                                                                       "i258"
+                                                                       "i256"
+                                                                       "i254"
+                                                                       "i252"
+                                                                       "i250"
+                                                                       "i248"
+                                                                       "i246"
+                                                                       "i244"
+                                                                       "i242"
+                                                                       "i240"
+                                                                       "i238"
+                                                                       "i236"))
                                                                     #(ribcage
                                                                       
(define-structure
                                                                         
define-expansion-accessors
@@ -4758,10 +4758,10 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                      ("i39"
-                                                                       "i38"
+                                                                      ("i38"
                                                                        "i37"
-                                                                       "i35")))
+                                                                       "i36"
+                                                                       "i34")))
                                                                    (hygiene
                                                                      guile))
                                                                  
#(syntax-object
@@ -4770,7 +4770,7 @@
                                                                     #(ribcage
                                                                       #(name)
                                                                       #((top))
-                                                                      
#("i1627"))
+                                                                      
#("i1626"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -4792,12 +4792,12 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      #("i1567"
+                                                                      #("i1566"
+                                                                        "i1567"
                                                                         "i1568"
                                                                         "i1569"
                                                                         "i1570"
-                                                                        "i1571"
-                                                                        
"i1572"))
+                                                                        
"i1571"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -4805,7 +4805,7 @@
                                                                     #(ribcage
                                                                       #(first)
                                                                       #((top))
-                                                                      
#("i1559"))
+                                                                      
#("i1558"))
                                                                     #(ribcage
                                                                       ()
                                                                       ()
@@ -4833,13 +4833,13 @@
                                                                         (top)
                                                                         (top)
                                                                         (top))
-                                                                      #("i1536"
+                                                                      #("i1535"
+                                                                        "i1536"
                                                                         "i1537"
                                                                         "i1538"
                                                                         "i1539"
                                                                         "i1540"
-                                                                        "i1541"
-                                                                        
"i1542"))
+                                                                        
"i1541"))
                                                                     #(ribcage
                                                                       
(lambda-var-list
                                                                         gen-var
@@ -5115,143 +5115,143 @@
                                                                        (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"
+                                                                      ("i493"
+                                                                       "i491"
+                                                                       "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"
-                                                                       "i414"
-                                                                       "i412"
-                                                                       "i410"
-                                                                       "i408"
-                                                                       "i406"
-                                                                       "i404"
-                                                                       "i402"
-                                                                       "i400"
-                                                                       "i397"
-                                                                       "i395"
+                                                                       "i415"
+                                                                       "i413"
+                                                                       "i411"
+                                                                       "i409"
+                                                                       "i407"
+                                                                       "i405"
+                                                                       "i403"
+                                                                       "i401"
+                                                                       "i399"
+                                                                       "i396"
                                                                        "i394"
                                                                        "i393"
                                                                        "i392"
                                                                        "i391"
                                                                        "i390"
-                                                                       "i388"
-                                                                       "i386"
-                                                                       "i384"
-                                                                       "i382"
+                                                                       "i389"
+                                                                       "i387"
+                                                                       "i385"
+                                                                       "i383"
                                                                        "i381"
-                                                                       "i379"
-                                                                       "i377"
-                                                                       "i375"
-                                                                       "i373"
-                                                                       "i371"
-                                                                       "i369"
-                                                                       "i367"
+                                                                       "i380"
+                                                                       "i378"
+                                                                       "i376"
+                                                                       "i374"
+                                                                       "i372"
+                                                                       "i370"
+                                                                       "i368"
                                                                        "i366"
-                                                                       "i364"
-                                                                       "i362"
+                                                                       "i365"
+                                                                       "i363"
                                                                        "i361"
                                                                        "i360"
-                                                                       "i358"
+                                                                       "i359"
                                                                        "i357"
-                                                                       "i355"
-                                                                       "i353"
-                                                                       "i351"
-                                                                       "i349"
-                                                                       "i347"
-                                                                       "i345"
-                                                                       "i343"
-                                                                       "i341"
-                                                                       "i339"
-                                                                       "i337"
-                                                                       "i335"
-                                                                       "i333"
-                                                                       "i331"
-                                                                       "i329"
-                                                                       "i327"
-                                                                       "i325"
-                                                                       "i323"
-                                                                       "i321"
-                                                                       "i319"
-                                                                       "i317"
-                                                                       "i315"
-                                                                       "i313"
-                                                                       "i311"
-                                                                       "i309"
-                                                                       "i307"
-                                                                       "i305"
-                                                                       "i303"
-                                                                       "i301"
-                                                                       "i299"
-                                                                       "i297"
-                                                                       "i295"
-                                                                       "i293"
+                                                                       "i356"
+                                                                       "i354"
+                                                                       "i352"
+                                                                       "i350"
+                                                                       "i348"
+                                                                       "i346"
+                                                                       "i344"
+                                                                       "i342"
+                                                                       "i340"
+                                                                       "i338"
+                                                                       "i336"
+                                                                       "i334"
+                                                                       "i332"
+                                                                       "i330"
+                                                                       "i328"
+                                                                       "i326"
+                                                                       "i324"
+                                                                       "i322"
+                                                                       "i320"
+                                                                       "i318"
+                                                                       "i316"
+                                                                       "i314"
+                                                                       "i312"
+                                                                       "i310"
+                                                                       "i308"
+                                                                       "i306"
+                                                                       "i304"
+                                                                       "i302"
+                                                                       "i300"
+                                                                       "i298"
+                                                                       "i296"
+                                                                       "i294"
                                                                        "i292"
-                                                                       "i290"
-                                                                       "i288"
-                                                                       "i286"
-                                                                       "i284"
-                                                                       "i282"
-                                                                       "i280"
-                                                                       "i278"
-                                                                       "i276"
-                                                                       "i274"
-                                                                       "i271"
-                                                                       "i269"
-                                                                       "i267"
-                                                                       "i265"
-                                                                       "i263"
-                                                                       "i261"
-                                                                       "i259"
-                                                                       "i257"
-                                                                       "i255"
-                                                                       "i253"
-                                                                       "i251"
-                                                                       "i249"
-                                                                       "i247"
-                                                                       "i245"
-                                                                       "i243"
-                                                                       "i241"
-                                                                       "i239"
-                                                                       "i237"))
+                                                                       "i291"
+                                                                       "i289"
+                                                                       "i287"
+                                                                       "i285"
+                                                                       "i283"
+                                                                       "i281"
+                                                                       "i279"
+                                                                       "i277"
+                                                                       "i275"
+                                                                       "i273"
+                                                                       "i270"
+                                                                       "i268"
+                                                                       "i266"
+                                                                       "i264"
+                                                                       "i262"
+                                                                       "i260"
+                                                                       "i258"
+                                                                       "i256"
+                                                                       "i254"
+                                                                       "i252"
+                                                                       "i250"
+                                                                       "i248"
+                                                                       "i246"
+                                                                       "i244"
+                                                                       "i242"
+                                                                       "i240"
+                                                                       "i238"
+                                                                       "i236"))
                                                                     #(ribcage
                                                                       
(define-structure
                                                                         
define-expansion-accessors
@@ -5261,1219 +5261,1219 @@
                                                                        (top)
                                                                        (top)
                                                                        (top))
-                                                                      ("i39"
-                                                                       "i38"
+                                                                      ("i38"
                                                                        "i37"
-                                                                       "i35")))
+                                                                       "i36"
+                                                                       "i34")))
                                                                    (hygiene
                                                                      guile)))
                                                                '(())
-                                                               #{s\ 1532}#
-                                                               #{mod\ 1534}#))
-                                                           #{tmp\ 1624}#)
+                                                               #{s\ 1531}#
+                                                               #{mod\ 1533}#))
+                                                           #{tmp\ 1623}#)
                                                          (syntax-violation
                                                            #f
                                                            "source expression 
failed to match any pattern"
-                                                           #{tmp\ 
1593}#))))))))
-                                           (if (eqv? #{ftype\ 1561}#
+                                                           #{tmp\ 
1592}#))))))))
+                                           (if (eqv? #{ftype\ 1560}#
                                                      'define-syntax)
-                                             (let ((#{tmp\ 1631}# #{e\ 1529}#))
-                                               (let ((#{tmp\ 1632}#
+                                             (let ((#{tmp\ 1630}# #{e\ 1528}#))
+                                               (let ((#{tmp\ 1631}#
                                                        ($sc-dispatch
-                                                         #{tmp\ 1631}#
+                                                         #{tmp\ 1630}#
                                                          '(_ any any))))
-                                                 (if (if #{tmp\ 1632}#
+                                                 (if (if #{tmp\ 1631}#
                                                        (@apply
-                                                         (lambda (#{name\ 
1635}#
-                                                                  #{val\ 
1636}#)
-                                                           (#{id?\ 380}#
-                                                             #{name\ 1635}#))
-                                                         #{tmp\ 1632}#)
+                                                         (lambda (#{name\ 
1634}#
+                                                                  #{val\ 
1635}#)
+                                                           (#{id?\ 379}#
+                                                             #{name\ 1634}#))
+                                                         #{tmp\ 1631}#)
                                                        #f)
                                                    (@apply
-                                                     (lambda (#{name\ 1639}#
-                                                              #{val\ 1640}#)
+                                                     (lambda (#{name\ 1638}#
+                                                              #{val\ 1639}#)
                                                        (values
                                                          'define-syntax-form
-                                                         #{name\ 1639}#
-                                                         #{val\ 1640}#
-                                                         #{w\ 1531}#
-                                                         #{s\ 1532}#
-                                                         #{mod\ 1534}#))
-                                                     #{tmp\ 1632}#)
+                                                         #{name\ 1638}#
+                                                         #{val\ 1639}#
+                                                         #{w\ 1530}#
+                                                         #{s\ 1531}#
+                                                         #{mod\ 1533}#))
+                                                     #{tmp\ 1631}#)
                                                    (syntax-violation
                                                      #f
                                                      "source expression failed 
to match any pattern"
-                                                     #{tmp\ 1631}#))))
+                                                     #{tmp\ 1630}#))))
                                              (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\ 1528}#
+                                               #{w\ 1530}#
+                                               #{s\ 1531}#
+                                               #{mod\ 1533}#)))))))))))))))
+                 (if (#{syntax-object?\ 343}# #{e\ 1528}#)
+                   (#{syntax-type\ 460}#
+                     (#{syntax-object-expression\ 345}# #{e\ 1528}#)
+                     #{r\ 1529}#
+                     (#{join-wraps\ 430}#
+                       #{w\ 1530}#
+                       (#{syntax-object-wrap\ 347}# #{e\ 1528}#))
                      (begin
-                       (let ((#{t\ 1646}#
-                               (#{source-annotation\ 359}# #{e\ 1529}#)))
-                         (if #{t\ 1646}# #{t\ 1646}# #{s\ 1532}#)))
-                     #{rib\ 1533}#
+                       (let ((#{t\ 1645}#
+                               (#{source-annotation\ 358}# #{e\ 1528}#)))
+                         (if #{t\ 1645}# #{t\ 1645}# #{s\ 1531}#)))
+                     #{rib\ 1532}#
                      (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\ 1649}#
+                               (#{syntax-object-module\ 349}# #{e\ 1528}#)))
+                         (if #{t\ 1649}# #{t\ 1649}# #{mod\ 1533}#)))
+                     #{for-car?\ 1534}#)
+                   (if (self-evaluating? #{e\ 1528}#)
                      (values
                        'constant
                        #f
-                       #{e\ 1529}#
-                       #{w\ 1531}#
-                       #{s\ 1532}#
-                       #{mod\ 1534}#)
+                       #{e\ 1528}#
+                       #{w\ 1530}#
+                       #{s\ 1531}#
+                       #{mod\ 1533}#)
                      (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\ 1528}#
+                       #{w\ 1530}#
+                       #{s\ 1531}#
+                       #{mod\ 1533}#)))))))
+         (#{chi-top\ 462}#
+           (lambda (#{e\ 1654}#
+                    #{r\ 1655}#
+                    #{w\ 1656}#
+                    #{m\ 1657}#
+                    #{esew\ 1658}#
+                    #{mod\ 1659}#)
              (call-with-values
                (lambda ()
-                 (#{syntax-type\ 461}#
-                   #{e\ 1655}#
-                   #{r\ 1656}#
-                   #{w\ 1657}#
-                   (#{source-annotation\ 359}# #{e\ 1655}#)
+                 (#{syntax-type\ 460}#
+                   #{e\ 1654}#
+                   #{r\ 1655}#
+                   #{w\ 1656}#
+                   (#{source-annotation\ 358}# #{e\ 1654}#)
                    #f
-                   #{mod\ 1660}#
+                   #{mod\ 1659}#
                    #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\ 1680}#
+                        #{value\ 1681}#
+                        #{e\ 1682}#
+                        #{w\ 1683}#
+                        #{s\ 1684}#
+                        #{mod\ 1685}#)
+                 (if (eqv? #{type\ 1680}# (quote begin-form))
+                   (let ((#{tmp\ 1693}# #{e\ 1682}#))
+                     (let ((#{tmp\ 1694}#
+                             ($sc-dispatch #{tmp\ 1693}# (quote (_)))))
+                       (if #{tmp\ 1694}#
                          (@apply
-                           (lambda () (#{chi-void\ 479}#))
-                           #{tmp\ 1695}#)
-                         (let ((#{tmp\ 1696}#
+                           (lambda () (#{chi-void\ 478}#))
+                           #{tmp\ 1694}#)
+                         (let ((#{tmp\ 1695}#
                                  ($sc-dispatch
-                                   #{tmp\ 1694}#
+                                   #{tmp\ 1693}#
                                    '(_ any . each-any))))
-                           (if #{tmp\ 1696}#
+                           (if #{tmp\ 1695}#
                              (@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\ 1698}# #{e2\ 1699}#)
+                                 (#{chi-top-sequence\ 454}#
+                                   (cons #{e1\ 1698}# #{e2\ 1699}#)
+                                   #{r\ 1655}#
+                                   #{w\ 1683}#
+                                   #{s\ 1684}#
+                                   #{m\ 1657}#
+                                   #{esew\ 1658}#
+                                   #{mod\ 1685}#))
+                               #{tmp\ 1695}#)
                              (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\ 1693}#))))))
+                   (if (eqv? #{type\ 1680}# (quote local-syntax-form))
+                     (#{chi-local-syntax\ 474}#
+                       #{value\ 1681}#
+                       #{e\ 1682}#
+                       #{r\ 1655}#
+                       #{w\ 1683}#
+                       #{s\ 1684}#
+                       #{mod\ 1685}#
+                       (lambda (#{body\ 1702}#
+                                #{r\ 1703}#
+                                #{w\ 1704}#
+                                #{s\ 1705}#
+                                #{mod\ 1706}#)
+                         (#{chi-top-sequence\ 454}#
+                           #{body\ 1702}#
+                           #{r\ 1703}#
+                           #{w\ 1704}#
+                           #{s\ 1705}#
+                           #{m\ 1657}#
+                           #{esew\ 1658}#
+                           #{mod\ 1706}#)))
+                     (if (eqv? #{type\ 1680}# (quote eval-when-form))
+                       (let ((#{tmp\ 1713}# #{e\ 1682}#))
+                         (let ((#{tmp\ 1714}#
                                  ($sc-dispatch
-                                   #{tmp\ 1714}#
+                                   #{tmp\ 1713}#
                                    '(_ each-any any . each-any))))
-                           (if #{tmp\ 1715}#
+                           (if #{tmp\ 1714}#
                              (@apply
-                               (lambda (#{x\ 1719}# #{e1\ 1720}# #{e2\ 1721}#)
+                               (lambda (#{x\ 1718}# #{e1\ 1719}# #{e2\ 1720}#)
                                  (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\ 1723}#
+                                           (#{chi-when-list\ 458}#
+                                             #{e\ 1682}#
+                                             #{x\ 1718}#
+                                             #{w\ 1683}#))
+                                         (#{body\ 1724}#
+                                           (cons #{e1\ 1719}# #{e2\ 1720}#)))
+                                     (if (eq? #{m\ 1657}# (quote e))
                                        (if (memq 'eval
-                                                 #{when-list\ 1724}#)
-                                         (#{chi-top-sequence\ 455}#
-                                           #{body\ 1725}#
-                                           #{r\ 1656}#
-                                           #{w\ 1684}#
-                                           #{s\ 1685}#
+                                                 #{when-list\ 1723}#)
+                                         (#{chi-top-sequence\ 454}#
+                                           #{body\ 1724}#
+                                           #{r\ 1655}#
+                                           #{w\ 1683}#
+                                           #{s\ 1684}#
                                            (if (memq 'expand
-                                                     #{when-list\ 1724}#)
+                                                     #{when-list\ 1723}#)
                                              'c&e
                                              'e)
                                            '(eval)
-                                           #{mod\ 1686}#)
+                                           #{mod\ 1685}#)
                                          (begin
                                            (if (memq 'expand
-                                                     #{when-list\ 1724}#)
-                                             (#{top-level-eval-hook\ 289}#
-                                               (#{chi-top-sequence\ 455}#
-                                                 #{body\ 1725}#
-                                                 #{r\ 1656}#
-                                                 #{w\ 1684}#
-                                                 #{s\ 1685}#
+                                                     #{when-list\ 1723}#)
+                                             (#{top-level-eval-hook\ 288}#
+                                               (#{chi-top-sequence\ 454}#
+                                                 #{body\ 1724}#
+                                                 #{r\ 1655}#
+                                                 #{w\ 1683}#
+                                                 #{s\ 1684}#
                                                  'e
                                                  '(eval)
-                                                 #{mod\ 1686}#)
-                                               #{mod\ 1686}#))
-                                           (#{chi-void\ 479}#)))
+                                                 #{mod\ 1685}#)
+                                               #{mod\ 1685}#))
+                                           (#{chi-void\ 478}#)))
                                        (if (memq 'load
-                                                 #{when-list\ 1724}#)
+                                                 #{when-list\ 1723}#)
                                          (if (begin
-                                               (let ((#{t\ 1734}#
+                                               (let ((#{t\ 1733}#
                                                        (memq 'compile
-                                                             #{when-list\ 
1724}#)))
-                                                 (if #{t\ 1734}#
-                                                   #{t\ 1734}#
+                                                             #{when-list\ 
1723}#)))
+                                                 (if #{t\ 1733}#
+                                                   #{t\ 1733}#
                                                    (begin
-                                                     (let ((#{t\ 1737}#
+                                                     (let ((#{t\ 1736}#
                                                              (memq 'expand
-                                                                   
#{when-list\ 1724}#)))
-                                                       (if #{t\ 1737}#
-                                                         #{t\ 1737}#
-                                                         (if (eq? #{m\ 1658}#
+                                                                   
#{when-list\ 1723}#)))
+                                                       (if #{t\ 1736}#
+                                                         #{t\ 1736}#
+                                                         (if (eq? #{m\ 1657}#
                                                                   'c&e)
                                                            (memq 'eval
-                                                                 #{when-list\ 
1724}#)
+                                                                 #{when-list\ 
1723}#)
                                                            #f)))))))
-                                           (#{chi-top-sequence\ 455}#
-                                             #{body\ 1725}#
-                                             #{r\ 1656}#
-                                             #{w\ 1684}#
-                                             #{s\ 1685}#
+                                           (#{chi-top-sequence\ 454}#
+                                             #{body\ 1724}#
+                                             #{r\ 1655}#
+                                             #{w\ 1683}#
+                                             #{s\ 1684}#
                                              'c&e
                                              '(compile load)
-                                             #{mod\ 1686}#)
-                                           (if (if (eq? #{m\ 1658}# (quote c))
+                                             #{mod\ 1685}#)
+                                           (if (if (eq? #{m\ 1657}# (quote c))
                                                  #t
-                                                 (eq? #{m\ 1658}# (quote c&e)))
-                                             (#{chi-top-sequence\ 455}#
-                                               #{body\ 1725}#
-                                               #{r\ 1656}#
-                                               #{w\ 1684}#
-                                               #{s\ 1685}#
+                                                 (eq? #{m\ 1657}# (quote c&e)))
+                                             (#{chi-top-sequence\ 454}#
+                                               #{body\ 1724}#
+                                               #{r\ 1655}#
+                                               #{w\ 1683}#
+                                               #{s\ 1684}#
                                                'c
                                                '(load)
-                                               #{mod\ 1686}#)
-                                             (#{chi-void\ 479}#)))
+                                               #{mod\ 1685}#)
+                                             (#{chi-void\ 478}#)))
                                          (if (begin
-                                               (let ((#{t\ 1745}#
+                                               (let ((#{t\ 1744}#
                                                        (memq 'compile
-                                                             #{when-list\ 
1724}#)))
-                                                 (if #{t\ 1745}#
-                                                   #{t\ 1745}#
+                                                             #{when-list\ 
1723}#)))
+                                                 (if #{t\ 1744}#
+                                                   #{t\ 1744}#
                                                    (begin
-                                                     (let ((#{t\ 1748}#
+                                                     (let ((#{t\ 1747}#
                                                              (memq 'expand
-                                                                   
#{when-list\ 1724}#)))
-                                                       (if #{t\ 1748}#
-                                                         #{t\ 1748}#
-                                                         (if (eq? #{m\ 1658}#
+                                                                   
#{when-list\ 1723}#)))
+                                                       (if #{t\ 1747}#
+                                                         #{t\ 1747}#
+                                                         (if (eq? #{m\ 1657}#
                                                                   'c&e)
                                                            (memq 'eval
-                                                                 #{when-list\ 
1724}#)
+                                                                 #{when-list\ 
1723}#)
                                                            #f)))))))
                                            (begin
-                                             (#{top-level-eval-hook\ 289}#
-                                               (#{chi-top-sequence\ 455}#
-                                                 #{body\ 1725}#
-                                                 #{r\ 1656}#
-                                                 #{w\ 1684}#
-                                                 #{s\ 1685}#
+                                             (#{top-level-eval-hook\ 288}#
+                                               (#{chi-top-sequence\ 454}#
+                                                 #{body\ 1724}#
+                                                 #{r\ 1655}#
+                                                 #{w\ 1683}#
+                                                 #{s\ 1684}#
                                                  'e
                                                  '(eval)
-                                                 #{mod\ 1686}#)
-                                               #{mod\ 1686}#)
-                                             (#{chi-void\ 479}#))
-                                           (#{chi-void\ 479}#)))))))
-                               #{tmp\ 1715}#)
+                                                 #{mod\ 1685}#)
+                                               #{mod\ 1685}#)
+                                             (#{chi-void\ 478}#))
+                                           (#{chi-void\ 478}#)))))))
+                               #{tmp\ 1714}#)
                              (syntax-violation
                                #f
                                "source expression failed to match any pattern"
-                               #{tmp\ 1714}#))))
-                       (if (eqv? #{type\ 1681}# (quote define-syntax-form))
+                               #{tmp\ 1713}#))))
+                       (if (eqv? #{type\ 1680}# (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\ 1755}#
+                                   (#{id-var-name\ 436}#
+                                     #{value\ 1681}#
+                                     #{w\ 1683}#))
+                                 (#{r\ 1756}#
+                                   (#{macros-only-env\ 371}# #{r\ 1655}#)))
+                             (if (eqv? #{m\ 1657}# (quote c))
+                               (if (memq (quote compile) #{esew\ 1658}#)
                                  (begin
-                                   (let ((#{e\ 1760}#
-                                           (#{chi-install-global\ 457}#
-                                             #{n\ 1756}#
-                                             (#{chi\ 465}#
-                                               #{e\ 1683}#
-                                               #{r\ 1757}#
-                                               #{w\ 1684}#
-                                               #{mod\ 1686}#))))
+                                   (let ((#{e\ 1759}#
+                                           (#{chi-install-global\ 456}#
+                                             #{n\ 1755}#
+                                             (#{chi\ 464}#
+                                               #{e\ 1682}#
+                                               #{r\ 1756}#
+                                               #{w\ 1683}#
+                                               #{mod\ 1685}#))))
                                      (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))
+                                       (#{top-level-eval-hook\ 288}#
+                                         #{e\ 1759}#
+                                         #{mod\ 1685}#)
+                                       (if (memq (quote load) #{esew\ 1658}#)
+                                         #{e\ 1759}#
+                                         (#{chi-void\ 478}#)))))
+                                 (if (memq (quote load) #{esew\ 1658}#)
+                                   (#{chi-install-global\ 456}#
+                                     #{n\ 1755}#
+                                     (#{chi\ 464}#
+                                       #{e\ 1682}#
+                                       #{r\ 1756}#
+                                       #{w\ 1683}#
+                                       #{mod\ 1685}#))
+                                   (#{chi-void\ 478}#)))
+                               (if (eqv? #{m\ 1657}# (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\ 1762}#
+                                           (#{chi-install-global\ 456}#
+                                             #{n\ 1755}#
+                                             (#{chi\ 464}#
+                                               #{e\ 1682}#
+                                               #{r\ 1756}#
+                                               #{w\ 1683}#
+                                               #{mod\ 1685}#))))
                                      (begin
-                                       (#{top-level-eval-hook\ 289}#
-                                         #{e\ 1763}#
-                                         #{mod\ 1686}#)
-                                       #{e\ 1763}#)))
+                                       (#{top-level-eval-hook\ 288}#
+                                         #{e\ 1762}#
+                                         #{mod\ 1685}#)
+                                       #{e\ 1762}#)))
                                  (begin
-                                   (if (memq (quote eval) #{esew\ 1659}#)
-                                     (#{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))
+                                   (if (memq (quote eval) #{esew\ 1658}#)
+                                     (#{top-level-eval-hook\ 288}#
+                                       (#{chi-install-global\ 456}#
+                                         #{n\ 1755}#
+                                         (#{chi\ 464}#
+                                           #{e\ 1682}#
+                                           #{r\ 1756}#
+                                           #{w\ 1683}#
+                                           #{mod\ 1685}#))
+                                       #{mod\ 1685}#))
+                                   (#{chi-void\ 478}#))))))
+                         (if (eqv? #{type\ 1680}# (quote define-form))
                            (begin
-                             (let ((#{n\ 1768}#
-                                     (#{id-var-name\ 437}#
-                                       #{value\ 1682}#
-                                       #{w\ 1684}#)))
+                             (let ((#{n\ 1767}#
+                                     (#{id-var-name\ 436}#
+                                       #{value\ 1681}#
+                                       #{w\ 1683}#)))
                                (begin
-                                 (let ((#{type\ 1770}#
-                                         (#{binding-type\ 363}#
-                                           (#{lookup\ 374}#
-                                             #{n\ 1768}#
-                                             #{r\ 1656}#
-                                             #{mod\ 1686}#))))
-                                   (if (if (eqv? #{type\ 1770}# (quote global))
+                                 (let ((#{type\ 1769}#
+                                         (#{binding-type\ 362}#
+                                           (#{lookup\ 373}#
+                                             #{n\ 1767}#
+                                             #{r\ 1655}#
+                                             #{mod\ 1685}#))))
+                                   (if (if (eqv? #{type\ 1769}# (quote global))
                                          #t
-                                         (if (eqv? #{type\ 1770}# (quote core))
+                                         (if (eqv? #{type\ 1769}# (quote core))
                                            #t
-                                           (if (eqv? #{type\ 1770}#
+                                           (if (eqv? #{type\ 1769}#
                                                      'macro)
                                              #t
-                                             (eqv? #{type\ 1770}#
+                                             (eqv? #{type\ 1769}#
                                                    'module-ref))))
                                      (begin
-                                       (if (if (if (eq? #{m\ 1658}# (quote c))
+                                       (if (if (if (eq? #{m\ 1657}# (quote c))
                                                  #t
-                                                 (eq? #{m\ 1658}# (quote c&e)))
+                                                 (eq? #{m\ 1657}# (quote c&e)))
                                              (if (not (module-local-variable
                                                         (current-module)
-                                                        #{n\ 1768}#))
+                                                        #{n\ 1767}#))
                                                (current-module)
                                                #f)
                                              #f)
                                          (begin
-                                           (let ((#{old\ 1776}#
+                                           (let ((#{old\ 1775}#
                                                    (module-variable
                                                      (current-module)
-                                                     #{n\ 1768}#)))
+                                                     #{n\ 1767}#)))
                                              (module-define!
                                                (current-module)
-                                               #{n\ 1768}#
-                                               (if (variable? #{old\ 1776}#)
-                                                 (variable-ref #{old\ 1776}#)
+                                               #{n\ 1767}#
+                                               (if (variable? #{old\ 1775}#)
+                                                 (variable-ref #{old\ 1775}#)
                                                  #f)))))
                                        (begin
-                                         (let ((#{x\ 1779}#
-                                                 (#{build-global-definition\ 
320}#
-                                                   #{s\ 1685}#
-                                                   #{n\ 1768}#
-                                                   (#{chi\ 465}#
-                                                     #{e\ 1683}#
-                                                     #{r\ 1656}#
-                                                     #{w\ 1684}#
-                                                     #{mod\ 1686}#))))
+                                         (let ((#{x\ 1778}#
+                                                 (#{build-global-definition\ 
319}#
+                                                   #{s\ 1684}#
+                                                   #{n\ 1767}#
+                                                   (#{chi\ 464}#
+                                                     #{e\ 1682}#
+                                                     #{r\ 1655}#
+                                                     #{w\ 1683}#
+                                                     #{mod\ 1685}#))))
                                            (begin
-                                             (if (eq? #{m\ 1658}# (quote c&e))
-                                               (#{top-level-eval-hook\ 289}#
-                                                 #{x\ 1779}#
-                                                 #{mod\ 1686}#))
-                                             #{x\ 1779}#))))
-                                     (if (eqv? #{type\ 1770}#
+                                             (if (eq? #{m\ 1657}# (quote c&e))
+                                               (#{top-level-eval-hook\ 288}#
+                                                 #{x\ 1778}#
+                                                 #{mod\ 1685}#))
+                                             #{x\ 1778}#))))
+                                     (if (eqv? #{type\ 1769}#
                                                'displaced-lexical)
                                        (syntax-violation
                                          #f
                                          "identifier out of context"
-                                         #{e\ 1683}#
-                                         (#{wrap\ 449}#
-                                           #{value\ 1682}#
-                                           #{w\ 1684}#
-                                           #{mod\ 1686}#))
+                                         #{e\ 1682}#
+                                         (#{wrap\ 448}#
+                                           #{value\ 1681}#
+                                           #{w\ 1683}#
+                                           #{mod\ 1685}#))
                                        (syntax-violation
                                          #f
                                          "cannot define keyword at top level"
-                                         #{e\ 1683}#
-                                         (#{wrap\ 449}#
-                                           #{value\ 1682}#
-                                           #{w\ 1684}#
-                                           #{mod\ 1686}#))))))))
+                                         #{e\ 1682}#
+                                         (#{wrap\ 448}#
+                                           #{value\ 1681}#
+                                           #{w\ 1683}#
+                                           #{mod\ 1685}#))))))))
                            (begin
-                             (let ((#{x\ 1785}#
-                                     (#{chi-expr\ 467}#
-                                       #{type\ 1681}#
-                                       #{value\ 1682}#
-                                       #{e\ 1683}#
-                                       #{r\ 1656}#
-                                       #{w\ 1684}#
-                                       #{s\ 1685}#
-                                       #{mod\ 1686}#)))
+                             (let ((#{x\ 1784}#
+                                     (#{chi-expr\ 466}#
+                                       #{type\ 1680}#
+                                       #{value\ 1681}#
+                                       #{e\ 1682}#
+                                       #{r\ 1655}#
+                                       #{w\ 1683}#
+                                       #{s\ 1684}#
+                                       #{mod\ 1685}#)))
                                (begin
-                                 (if (eq? #{m\ 1658}# (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}#)
+                                 (if (eq? #{m\ 1657}# (quote c&e))
+                                   (#{top-level-eval-hook\ 288}#
+                                     #{x\ 1784}#
+                                     #{mod\ 1685}#))
+                                 #{x\ 1784}#))))))))))))
+         (#{chi\ 464}#
+           (lambda (#{e\ 1785}#
+                    #{r\ 1786}#
+                    #{w\ 1787}#
+                    #{mod\ 1788}#)
              (call-with-values
                (lambda ()
-                 (#{syntax-type\ 461}#
-                   #{e\ 1786}#
-                   #{r\ 1787}#
-                   #{w\ 1788}#
-                   (#{source-annotation\ 359}# #{e\ 1786}#)
+                 (#{syntax-type\ 460}#
+                   #{e\ 1785}#
+                   #{r\ 1786}#
+                   #{w\ 1787}#
+                   (#{source-annotation\ 358}# #{e\ 1785}#)
                    #f
-                   #{mod\ 1789}#
+                   #{mod\ 1788}#
                    #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))
-               (#{build-lexical-reference\ 310}#
+               (lambda (#{type\ 1793}#
+                        #{value\ 1794}#
+                        #{e\ 1795}#
+                        #{w\ 1796}#
+                        #{s\ 1797}#
+                        #{mod\ 1798}#)
+                 (#{chi-expr\ 466}#
+                   #{type\ 1793}#
+                   #{value\ 1794}#
+                   #{e\ 1795}#
+                   #{r\ 1786}#
+                   #{w\ 1796}#
+                   #{s\ 1797}#
+                   #{mod\ 1798}#)))))
+         (#{chi-expr\ 466}#
+           (lambda (#{type\ 1805}#
+                    #{value\ 1806}#
+                    #{e\ 1807}#
+                    #{r\ 1808}#
+                    #{w\ 1809}#
+                    #{s\ 1810}#
+                    #{mod\ 1811}#)
+             (if (eqv? #{type\ 1805}# (quote lexical))
+               (#{build-lexical-reference\ 309}#
                  'value
-                 #{s\ 1811}#
-                 #{e\ 1808}#
-                 #{value\ 1807}#)
-               (if (if (eqv? #{type\ 1806}# (quote core))
+                 #{s\ 1810}#
+                 #{e\ 1807}#
+                 #{value\ 1806}#)
+               (if (if (eqv? #{type\ 1805}# (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\ 1805}# (quote core-form)))
+                 (#{value\ 1806}#
+                   #{e\ 1807}#
+                   #{r\ 1808}#
+                   #{w\ 1809}#
+                   #{s\ 1810}#
+                   #{mod\ 1811}#)
+                 (if (eqv? #{type\ 1805}# (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\ 1806}#
+                         #{e\ 1807}#
+                         #{r\ 1808}#
+                         #{w\ 1809}#))
+                     (lambda (#{e\ 1822}#
+                              #{r\ 1823}#
+                              #{w\ 1824}#
+                              #{s\ 1825}#
+                              #{mod\ 1826}#)
+                       (#{chi\ 464}#
+                         #{e\ 1822}#
+                         #{r\ 1823}#
+                         #{w\ 1824}#
+                         #{mod\ 1826}#)))
+                   (if (eqv? #{type\ 1805}# (quote lexical-call))
+                     (#{chi-application\ 468}#
                        (begin
-                         (let ((#{id\ 1835}# (car #{e\ 1808}#)))
-                           (#{build-lexical-reference\ 310}#
+                         (let ((#{id\ 1834}# (car #{e\ 1807}#)))
+                           (#{build-lexical-reference\ 309}#
                              '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}#
-                         (#{build-global-reference\ 316}#
-                           (#{source-annotation\ 359}# (car #{e\ 1808}#))
-                           (if (#{syntax-object?\ 344}# #{value\ 1807}#)
-                             (#{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))
-                         (#{build-data\ 330}#
-                           #{s\ 1811}#
-                           (#{strip\ 491}#
-                             (#{source-wrap\ 451}#
-                               #{e\ 1808}#
-                               #{w\ 1810}#
-                               #{s\ 1811}#
-                               #{mod\ 1812}#)
+                             (#{source-annotation\ 358}# #{id\ 1834}#)
+                             (if (#{syntax-object?\ 343}# #{id\ 1834}#)
+                               (syntax->datum #{id\ 1834}#)
+                               #{id\ 1834}#)
+                             #{value\ 1806}#)))
+                       #{e\ 1807}#
+                       #{r\ 1808}#
+                       #{w\ 1809}#
+                       #{s\ 1810}#
+                       #{mod\ 1811}#)
+                     (if (eqv? #{type\ 1805}# (quote global-call))
+                       (#{chi-application\ 468}#
+                         (#{build-global-reference\ 315}#
+                           (#{source-annotation\ 358}# (car #{e\ 1807}#))
+                           (if (#{syntax-object?\ 343}# #{value\ 1806}#)
+                             (#{syntax-object-expression\ 345}#
+                               #{value\ 1806}#)
+                             #{value\ 1806}#)
+                           (if (#{syntax-object?\ 343}# #{value\ 1806}#)
+                             (#{syntax-object-module\ 349}# #{value\ 1806}#)
+                             #{mod\ 1811}#))
+                         #{e\ 1807}#
+                         #{r\ 1808}#
+                         #{w\ 1809}#
+                         #{s\ 1810}#
+                         #{mod\ 1811}#)
+                       (if (eqv? #{type\ 1805}# (quote constant))
+                         (#{build-data\ 329}#
+                           #{s\ 1810}#
+                           (#{strip\ 490}#
+                             (#{source-wrap\ 450}#
+                               #{e\ 1807}#
+                               #{w\ 1809}#
+                               #{s\ 1810}#
+                               #{mod\ 1811}#)
                              '(())))
-                         (if (eqv? #{type\ 1806}# (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}#
+                         (if (eqv? #{type\ 1805}# (quote global))
+                           (#{build-global-reference\ 315}#
+                             #{s\ 1810}#
+                             #{value\ 1806}#
+                             #{mod\ 1811}#)
+                           (if (eqv? #{type\ 1805}# (quote call))
+                             (#{chi-application\ 468}#
+                               (#{chi\ 464}#
+                                 (car #{e\ 1807}#)
+                                 #{r\ 1808}#
+                                 #{w\ 1809}#
+                                 #{mod\ 1811}#)
+                               #{e\ 1807}#
+                               #{r\ 1808}#
+                               #{w\ 1809}#
+                               #{s\ 1810}#
+                               #{mod\ 1811}#)
+                             (if (eqv? #{type\ 1805}# (quote begin-form))
+                               (let ((#{tmp\ 1841}# #{e\ 1807}#))
+                                 (let ((#{tmp\ 1842}#
                                          ($sc-dispatch
-                                           #{tmp\ 1842}#
+                                           #{tmp\ 1841}#
                                            '(_ any . each-any))))
-                                   (if #{tmp\ 1843}#
+                                   (if #{tmp\ 1842}#
                                      (@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\ 1845}# #{e2\ 1846}#)
+                                         (#{chi-sequence\ 452}#
+                                           (cons #{e1\ 1845}# #{e2\ 1846}#)
+                                           #{r\ 1808}#
+                                           #{w\ 1809}#
+                                           #{s\ 1810}#
+                                           #{mod\ 1811}#))
+                                       #{tmp\ 1842}#)
                                      (syntax-violation
                                        #f
                                        "source expression failed to match any 
pattern"
-                                       #{tmp\ 1842}#))))
-                               (if (eqv? #{type\ 1806}#
+                                       #{tmp\ 1841}#))))
+                               (if (eqv? #{type\ 1805}#
                                          '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\ 474}#
+                                   #{value\ 1806}#
+                                   #{e\ 1807}#
+                                   #{r\ 1808}#
+                                   #{w\ 1809}#
+                                   #{s\ 1810}#
+                                   #{mod\ 1811}#
+                                   #{chi-sequence\ 452}#)
+                                 (if (eqv? #{type\ 1805}#
                                            'eval-when-form)
-                                   (let ((#{tmp\ 1851}# #{e\ 1808}#))
-                                     (let ((#{tmp\ 1852}#
+                                   (let ((#{tmp\ 1850}# #{e\ 1807}#))
+                                     (let ((#{tmp\ 1851}#
                                              ($sc-dispatch
-                                               #{tmp\ 1851}#
+                                               #{tmp\ 1850}#
                                                '(_ each-any any . each-any))))
-                                       (if #{tmp\ 1852}#
+                                       (if #{tmp\ 1851}#
                                          (@apply
-                                           (lambda (#{x\ 1856}#
-                                                    #{e1\ 1857}#
-                                                    #{e2\ 1858}#)
+                                           (lambda (#{x\ 1855}#
+                                                    #{e1\ 1856}#
+                                                    #{e2\ 1857}#)
                                              (begin
-                                               (let ((#{when-list\ 1860}#
-                                                       (#{chi-when-list\ 459}#
-                                                         #{e\ 1808}#
-                                                         #{x\ 1856}#
-                                                         #{w\ 1810}#)))
+                                               (let ((#{when-list\ 1859}#
+                                                       (#{chi-when-list\ 458}#
+                                                         #{e\ 1807}#
+                                                         #{x\ 1855}#
+                                                         #{w\ 1809}#)))
                                                  (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\ 1859}#)
+                                                   (#{chi-sequence\ 452}#
+                                                     (cons #{e1\ 1856}#
+                                                           #{e2\ 1857}#)
+                                                     #{r\ 1808}#
+                                                     #{w\ 1809}#
+                                                     #{s\ 1810}#
+                                                     #{mod\ 1811}#)
+                                                   (#{chi-void\ 478}#)))))
+                                           #{tmp\ 1851}#)
                                          (syntax-violation
                                            #f
                                            "source expression failed to match 
any pattern"
-                                           #{tmp\ 1851}#))))
-                                   (if (if (eqv? #{type\ 1806}#
+                                           #{tmp\ 1850}#))))
+                                   (if (if (eqv? #{type\ 1805}#
                                                  'define-form)
                                          #t
-                                         (eqv? #{type\ 1806}#
+                                         (eqv? #{type\ 1805}#
                                                '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\ 1807}#
+                                       (#{wrap\ 448}#
+                                         #{value\ 1806}#
+                                         #{w\ 1809}#
+                                         #{mod\ 1811}#))
+                                     (if (eqv? #{type\ 1805}# (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\ 450}#
+                                           #{e\ 1807}#
+                                           #{w\ 1809}#
+                                           #{s\ 1810}#
+                                           #{mod\ 1811}#))
+                                       (if (eqv? #{type\ 1805}#
                                                  'displaced-lexical)
                                          (syntax-violation
                                            #f
                                            "reference to identifier outside 
its scope"
-                                           (#{source-wrap\ 451}#
-                                             #{e\ 1808}#
-                                             #{w\ 1810}#
-                                             #{s\ 1811}#
-                                             #{mod\ 1812}#))
+                                           (#{source-wrap\ 450}#
+                                             #{e\ 1807}#
+                                             #{w\ 1809}#
+                                             #{s\ 1810}#
+                                             #{mod\ 1811}#))
                                          (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\ 450}#
+                                             #{e\ 1807}#
+                                             #{w\ 1809}#
+                                             #{s\ 1810}#
+                                             #{mod\ 1811}#))))))))))))))))))
+         (#{chi-application\ 468}#
+           (lambda (#{x\ 1866}#
+                    #{e\ 1867}#
+                    #{r\ 1868}#
+                    #{w\ 1869}#
+                    #{s\ 1870}#
+                    #{mod\ 1871}#)
+             (let ((#{tmp\ 1878}# #{e\ 1867}#))
+               (let ((#{tmp\ 1879}#
                        ($sc-dispatch
-                         #{tmp\ 1879}#
+                         #{tmp\ 1878}#
                          '(any . each-any))))
-                 (if #{tmp\ 1880}#
+                 (if #{tmp\ 1879}#
                    (@apply
-                     (lambda (#{e0\ 1883}# #{e1\ 1884}#)
-                       (#{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}#)
+                     (lambda (#{e0\ 1882}# #{e1\ 1883}#)
+                       (#{build-application\ 303}#
+                         #{s\ 1870}#
+                         #{x\ 1866}#
+                         (map (lambda (#{e\ 1884}#)
+                                (#{chi\ 464}#
+                                  #{e\ 1884}#
+                                  #{r\ 1868}#
+                                  #{w\ 1869}#
+                                  #{mod\ 1871}#))
+                              #{e1\ 1883}#)))
+                     #{tmp\ 1879}#)
                    (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\ 1878}#))))))
+         (#{chi-macro\ 470}#
+           (lambda (#{p\ 1887}#
+                    #{e\ 1888}#
+                    #{r\ 1889}#
+                    #{w\ 1890}#
+                    #{s\ 1891}#
+                    #{rib\ 1892}#
+                    #{mod\ 1893}#)
              (letrec*
-               ((#{rebuild-macro-output\ 1903}#
-                  (lambda (#{x\ 1904}# #{m\ 1905}#)
-                    (if (pair? #{x\ 1904}#)
-                      (#{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}#)
+               ((#{rebuild-macro-output\ 1902}#
+                  (lambda (#{x\ 1903}# #{m\ 1904}#)
+                    (if (pair? #{x\ 1903}#)
+                      (#{decorate-source\ 297}#
+                        (cons (#{rebuild-macro-output\ 1902}#
+                                (car #{x\ 1903}#)
+                                #{m\ 1904}#)
+                              (#{rebuild-macro-output\ 1902}#
+                                (cdr #{x\ 1903}#)
+                                #{m\ 1904}#))
+                        #{s\ 1891}#)
+                      (if (#{syntax-object?\ 343}# #{x\ 1903}#)
                         (begin
-                          (let ((#{w\ 1913}#
-                                  (#{syntax-object-wrap\ 348}# #{x\ 1904}#)))
+                          (let ((#{w\ 1912}#
+                                  (#{syntax-object-wrap\ 347}# #{x\ 1903}#)))
                             (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\ 1915}#
+                                      (#{wrap-marks\ 386}# #{w\ 1912}#))
+                                    (#{s\ 1916}#
+                                      (#{wrap-subst\ 388}# #{w\ 1912}#)))
+                                (if (if (pair? #{ms\ 1915}#)
+                                      (eq? (car #{ms\ 1915}#) #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}#)))
-                                    (#{syntax-object-module\ 350}#
-                                      #{x\ 1904}#))
-                                  (#{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}#)))
-                                    (#{syntax-object-module\ 350}#
-                                      #{x\ 1904}#)))))))
-                        (if (vector? #{x\ 1904}#)
+                                  (#{make-syntax-object\ 341}#
+                                    (#{syntax-object-expression\ 345}#
+                                      #{x\ 1903}#)
+                                    (#{make-wrap\ 384}#
+                                      (cdr #{ms\ 1915}#)
+                                      (if #{rib\ 1892}#
+                                        (cons #{rib\ 1892}# (cdr #{s\ 1916}#))
+                                        (cdr #{s\ 1916}#)))
+                                    (#{syntax-object-module\ 349}#
+                                      #{x\ 1903}#))
+                                  (#{make-syntax-object\ 341}#
+                                    (#{decorate-source\ 297}#
+                                      (#{syntax-object-expression\ 345}#
+                                        #{x\ 1903}#)
+                                      #{s\ 1916}#)
+                                    (#{make-wrap\ 384}#
+                                      (cons #{m\ 1904}# #{ms\ 1915}#)
+                                      (if #{rib\ 1892}#
+                                        (cons #{rib\ 1892}#
+                                              (cons (quote shift) #{s\ 1916}#))
+                                        (cons (quote shift) #{s\ 1916}#)))
+                                    (#{syntax-object-module\ 349}#
+                                      #{x\ 1903}#)))))))
+                        (if (vector? #{x\ 1903}#)
                           (begin
-                            (let ((#{n\ 1925}# (vector-length #{x\ 1904}#)))
+                            (let ((#{n\ 1924}# (vector-length #{x\ 1903}#)))
                               (begin
-                                (let ((#{v\ 1927}#
-                                        (#{decorate-source\ 298}#
-                                          (make-vector #{n\ 1925}#)
-                                          #{x\ 1904}#)))
+                                (let ((#{v\ 1926}#
+                                        (#{decorate-source\ 297}#
+                                          (make-vector #{n\ 1924}#)
+                                          #{x\ 1903}#)))
                                   (letrec*
-                                    ((#{loop\ 1930}#
-                                       (lambda (#{i\ 1931}#)
-                                         (if (#{fx=\ 285}#
-                                               #{i\ 1931}#
-                                               #{n\ 1925}#)
-                                           (begin (if #f #f) #{v\ 1927}#)
+                                    ((#{loop\ 1929}#
+                                       (lambda (#{i\ 1930}#)
+                                         (if (#{fx=\ 284}#
+                                               #{i\ 1930}#
+                                               #{n\ 1924}#)
+                                           (begin (if #f #f) #{v\ 1926}#)
                                            (begin
                                              (vector-set!
-                                               #{v\ 1927}#
-                                               #{i\ 1931}#
-                                               (#{rebuild-macro-output\ 1903}#
+                                               #{v\ 1926}#
+                                               #{i\ 1930}#
+                                               (#{rebuild-macro-output\ 1902}#
                                                  (vector-ref
-                                                   #{x\ 1904}#
-                                                   #{i\ 1931}#)
-                                                 #{m\ 1905}#))
-                                             (#{loop\ 1930}#
-                                               (#{fx+\ 281}#
-                                                 #{i\ 1931}#
+                                                   #{x\ 1903}#
+                                                   #{i\ 1930}#)
+                                                 #{m\ 1904}#))
+                                             (#{loop\ 1929}#
+                                               (#{fx+\ 280}#
+                                                 #{i\ 1930}#
                                                  1)))))))
-                                    (begin (#{loop\ 1930}# 0)))))))
-                          (if (symbol? #{x\ 1904}#)
+                                    (begin (#{loop\ 1929}# 0)))))))
+                          (if (symbol? #{x\ 1903}#)
                             (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}#)
-                            (#{decorate-source\ 298}#
-                              #{x\ 1904}#
-                              #{s\ 1892}#))))))))
+                              (#{source-wrap\ 450}#
+                                #{e\ 1888}#
+                                #{w\ 1890}#
+                                (#{wrap-subst\ 388}# #{w\ 1890}#)
+                                #{mod\ 1893}#)
+                              #{x\ 1903}#)
+                            (#{decorate-source\ 297}#
+                              #{x\ 1903}#
+                              #{s\ 1891}#))))))))
                (begin
-                 (#{rebuild-macro-output\ 1903}#
-                   (#{p\ 1888}#
-                     (#{source-wrap\ 451}#
-                       #{e\ 1889}#
-                       (#{anti-mark\ 421}# #{w\ 1891}#)
-                       #{s\ 1892}#
-                       #{mod\ 1894}#))
+                 (#{rebuild-macro-output\ 1902}#
+                   (#{p\ 1887}#
+                     (#{source-wrap\ 450}#
+                       #{e\ 1888}#
+                       (#{anti-mark\ 420}# #{w\ 1890}#)
+                       #{s\ 1891}#
+                       #{mod\ 1893}#))
                    (gensym "m"))))))
-         (#{chi-body\ 473}#
-           (lambda (#{body\ 1938}#
-                    #{outer-form\ 1939}#
-                    #{r\ 1940}#
-                    #{w\ 1941}#
-                    #{mod\ 1942}#)
+         (#{chi-body\ 472}#
+           (lambda (#{body\ 1937}#
+                    #{outer-form\ 1938}#
+                    #{r\ 1939}#
+                    #{w\ 1940}#
+                    #{mod\ 1941}#)
              (begin
-               (let ((#{r\ 1950}#
+               (let ((#{r\ 1949}#
                        (cons '("placeholder" placeholder)
-                             #{r\ 1940}#)))
+                             #{r\ 1939}#)))
                  (begin
-                   (let ((#{ribcage\ 1952}#
-                           (#{make-ribcage\ 401}#
+                   (let ((#{ribcage\ 1951}#
+                           (#{make-ribcage\ 400}#
                              '()
                              '()
                              '())))
                      (begin
-                       (let ((#{w\ 1955}#
-                               (#{make-wrap\ 385}#
-                                 (#{wrap-marks\ 387}# #{w\ 1941}#)
-                                 (cons #{ribcage\ 1952}#
-                                       (#{wrap-subst\ 389}# #{w\ 1941}#)))))
+                       (let ((#{w\ 1954}#
+                               (#{make-wrap\ 384}#
+                                 (#{wrap-marks\ 386}# #{w\ 1940}#)
+                                 (cons #{ribcage\ 1951}#
+                                       (#{wrap-subst\ 388}# #{w\ 1940}#)))))
                          (letrec*
-                           ((#{parse\ 1964}#
-                              (lambda (#{body\ 1965}#
-                                       #{ids\ 1966}#
-                                       #{labels\ 1967}#
-                                       #{var-ids\ 1968}#
-                                       #{vars\ 1969}#
-                                       #{vals\ 1970}#
-                                       #{bindings\ 1971}#)
-                                (if (null? #{body\ 1965}#)
+                           ((#{parse\ 1963}#
+                              (lambda (#{body\ 1964}#
+                                       #{ids\ 1965}#
+                                       #{labels\ 1966}#
+                                       #{var-ids\ 1967}#
+                                       #{vars\ 1968}#
+                                       #{vals\ 1969}#
+                                       #{bindings\ 1970}#)
+                                (if (null? #{body\ 1964}#)
                                   (syntax-violation
                                     #f
                                     "no expressions in body"
-                                    #{outer-form\ 1939}#)
+                                    #{outer-form\ 1938}#)
                                   (begin
-                                    (let ((#{e\ 1976}#
-                                            (cdr (car #{body\ 1965}#)))
-                                          (#{er\ 1977}#
-                                            (car (car #{body\ 1965}#))))
+                                    (let ((#{e\ 1975}#
+                                            (cdr (car #{body\ 1964}#)))
+                                          (#{er\ 1976}#
+                                            (car (car #{body\ 1964}#))))
                                       (call-with-values
                                         (lambda ()
-                                          (#{syntax-type\ 461}#
-                                            #{e\ 1976}#
-                                            #{er\ 1977}#
+                                          (#{syntax-type\ 460}#
+                                            #{e\ 1975}#
+                                            #{er\ 1976}#
                                             '(())
-                                            (#{source-annotation\ 359}#
-                                              #{er\ 1977}#)
-                                            #{ribcage\ 1952}#
-                                            #{mod\ 1942}#
+                                            (#{source-annotation\ 358}#
+                                              #{er\ 1976}#)
+                                            #{ribcage\ 1951}#
+                                            #{mod\ 1941}#
                                             #f))
-                                        (lambda (#{type\ 1979}#
-                                                 #{value\ 1980}#
-                                                 #{e\ 1981}#
-                                                 #{w\ 1982}#
-                                                 #{s\ 1983}#
-                                                 #{mod\ 1984}#)
-                                          (if (eqv? #{type\ 1979}#
+                                        (lambda (#{type\ 1978}#
+                                                 #{value\ 1979}#
+                                                 #{e\ 1980}#
+                                                 #{w\ 1981}#
+                                                 #{s\ 1982}#
+                                                 #{mod\ 1983}#)
+                                          (if (eqv? #{type\ 1978}#
                                                     'define-form)
                                             (begin
-                                              (let ((#{id\ 1994}#
-                                                      (#{wrap\ 449}#
-                                                        #{value\ 1980}#
-                                                        #{w\ 1982}#
-                                                        #{mod\ 1984}#))
-                                                    (#{label\ 1995}#
-                                                      (#{gen-label\ 396}#)))
+                                              (let ((#{id\ 1993}#
+                                                      (#{wrap\ 448}#
+                                                        #{value\ 1979}#
+                                                        #{w\ 1981}#
+                                                        #{mod\ 1983}#))
+                                                    (#{label\ 1994}#
+                                                      (#{gen-label\ 395}#)))
                                                 (begin
-                                                  (let ((#{var\ 1997}#
-                                                          (#{gen-var\ 493}#
-                                                            #{id\ 1994}#)))
+                                                  (let ((#{var\ 1996}#
+                                                          (#{gen-var\ 492}#
+                                                            #{id\ 1993}#)))
                                                     (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!\ 424}#
+                                                        #{ribcage\ 1951}#
+                                                        #{id\ 1993}#
+                                                        #{label\ 1994}#)
+                                                      (#{parse\ 1963}#
+                                                        (cdr #{body\ 1964}#)
+                                                        (cons #{id\ 1993}#
+                                                              #{ids\ 1965}#)
+                                                        (cons #{label\ 1994}#
+                                                              #{labels\ 1966}#)
+                                                        (cons #{id\ 1993}#
+                                                              #{var-ids\ 
1967}#)
+                                                        (cons #{var\ 1996}#
+                                                              #{vars\ 1968}#)
+                                                        (cons (cons #{er\ 
1976}#
+                                                                    (#{wrap\ 
448}#
+                                                                      #{e\ 
1980}#
+                                                                      #{w\ 
1981}#
+                                                                      #{mod\ 
1983}#))
+                                                              #{vals\ 1969}#)
                                                         (cons (cons 'lexical
-                                                                    #{var\ 
1997}#)
-                                                              #{bindings\ 
1971}#)))))))
-                                            (if (eqv? #{type\ 1979}#
+                                                                    #{var\ 
1996}#)
+                                                              #{bindings\ 
1970}#)))))))
+                                            (if (eqv? #{type\ 1978}#
                                                       'define-syntax-form)
                                               (begin
-                                                (let ((#{id\ 2002}#
-                                                        (#{wrap\ 449}#
-                                                          #{value\ 1980}#
-                                                          #{w\ 1982}#
-                                                          #{mod\ 1984}#))
-                                                      (#{label\ 2003}#
-                                                        (#{gen-label\ 396}#)))
+                                                (let ((#{id\ 2001}#
+                                                        (#{wrap\ 448}#
+                                                          #{value\ 1979}#
+                                                          #{w\ 1981}#
+                                                          #{mod\ 1983}#))
+                                                      (#{label\ 2002}#
+                                                        (#{gen-label\ 395}#)))
                                                   (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!\ 424}#
+                                                      #{ribcage\ 1951}#
+                                                      #{id\ 2001}#
+                                                      #{label\ 2002}#)
+                                                    (#{parse\ 1963}#
+                                                      (cdr #{body\ 1964}#)
+                                                      (cons #{id\ 2001}#
+                                                            #{ids\ 1965}#)
+                                                      (cons #{label\ 2002}#
+                                                            #{labels\ 1966}#)
+                                                      #{var-ids\ 1967}#
+                                                      #{vars\ 1968}#
+                                                      #{vals\ 1969}#
                                                       (cons (cons 'macro
-                                                                  (cons #{er\ 
1977}#
-                                                                        
(#{wrap\ 449}#
-                                                                          #{e\ 
1981}#
-                                                                          #{w\ 
1982}#
-                                                                          
#{mod\ 1984}#)))
-                                                            #{bindings\ 
1971}#)))))
-                                              (if (eqv? #{type\ 1979}#
+                                                                  (cons #{er\ 
1976}#
+                                                                        
(#{wrap\ 448}#
+                                                                          #{e\ 
1980}#
+                                                                          #{w\ 
1981}#
+                                                                          
#{mod\ 1983}#)))
+                                                            #{bindings\ 
1970}#)))))
+                                              (if (eqv? #{type\ 1978}#
                                                         'begin-form)
-                                                (let ((#{tmp\ 2006}#
-                                                        #{e\ 1981}#))
-                                                  (let ((#{tmp\ 2007}#
+                                                (let ((#{tmp\ 2005}#
+                                                        #{e\ 1980}#))
+                                                  (let ((#{tmp\ 2006}#
                                                           ($sc-dispatch
-                                                            #{tmp\ 2006}#
+                                                            #{tmp\ 2005}#
                                                             '(_ . each-any))))
-                                                    (if #{tmp\ 2007}#
+                                                    (if #{tmp\ 2006}#
                                                       (@apply
-                                                        (lambda (#{e1\ 2009}#)
-                                                          (#{parse\ 1964}#
+                                                        (lambda (#{e1\ 2008}#)
+                                                          (#{parse\ 1963}#
                                                             (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\ 2011}#
+                                                                 (lambda 
(#{forms\ 2012}#)
+                                                                   (if (null? 
#{forms\ 2012}#)
+                                                                     (cdr 
#{body\ 1964}#)
+                                                                     (cons 
(cons #{er\ 1976}#
+                                                                               
  (#{wrap\ 448}#
+                                                                               
    (car #{forms\ 2012}#)
+                                                                               
    #{w\ 1981}#
+                                                                               
    #{mod\ 1983}#))
+                                                                           
(#{f\ 2011}#
+                                                                             
(cdr #{forms\ 2012}#)))))))
                                                               (begin
-                                                                (#{f\ 2012}#
-                                                                  #{e1\ 
2009}#)))
-                                                            #{ids\ 1966}#
-                                                            #{labels\ 1967}#
-                                                            #{var-ids\ 1968}#
-                                                            #{vars\ 1969}#
-                                                            #{vals\ 1970}#
-                                                            #{bindings\ 
1971}#))
-                                                        #{tmp\ 2007}#)
+                                                                (#{f\ 2011}#
+                                                                  #{e1\ 
2008}#)))
+                                                            #{ids\ 1965}#
+                                                            #{labels\ 1966}#
+                                                            #{var-ids\ 1967}#
+                                                            #{vars\ 1968}#
+                                                            #{vals\ 1969}#
+                                                            #{bindings\ 
1970}#))
+                                                        #{tmp\ 2006}#)
                                                       (syntax-violation
                                                         #f
                                                         "source expression 
failed to match any pattern"
-                                                        #{tmp\ 2006}#))))
-                                                (if (eqv? #{type\ 1979}#
+                                                        #{tmp\ 2005}#))))
+                                                (if (eqv? #{type\ 1978}#
                                                           '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\ 474}#
+                                                    #{value\ 1979}#
+                                                    #{e\ 1980}#
+                                                    #{er\ 1976}#
+                                                    #{w\ 1981}#
+                                                    #{s\ 1982}#
+                                                    #{mod\ 1983}#
+                                                    (lambda (#{forms\ 2015}#
+                                                             #{er\ 2016}#
+                                                             #{w\ 2017}#
+                                                             #{s\ 2018}#
+                                                             #{mod\ 2019}#)
+                                                      (#{parse\ 1963}#
                                                         (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\ 2027}#
+                                                             (lambda (#{forms\ 
2028}#)
+                                                               (if (null? 
#{forms\ 2028}#)
+                                                                 (cdr #{body\ 
1964}#)
+                                                                 (cons (cons 
#{er\ 2016}#
+                                                                             
(#{wrap\ 448}#
+                                                                               
(car #{forms\ 2028}#)
+                                                                               
#{w\ 2017}#
+                                                                               
#{mod\ 2019}#))
+                                                                       (#{f\ 
2027}#
+                                                                         (cdr 
#{forms\ 2028}#)))))))
                                                           (begin
-                                                            (#{f\ 2028}#
-                                                              #{forms\ 
2016}#)))
-                                                        #{ids\ 1966}#
-                                                        #{labels\ 1967}#
-                                                        #{var-ids\ 1968}#
-                                                        #{vars\ 1969}#
-                                                        #{vals\ 1970}#
-                                                        #{bindings\ 1971}#)))
-                                                  (if (null? #{ids\ 1966}#)
-                                                    (#{build-sequence\ 332}#
+                                                            (#{f\ 2027}#
+                                                              #{forms\ 
2015}#)))
+                                                        #{ids\ 1965}#
+                                                        #{labels\ 1966}#
+                                                        #{var-ids\ 1967}#
+                                                        #{vars\ 1968}#
+                                                        #{vals\ 1969}#
+                                                        #{bindings\ 1970}#)))
+                                                  (if (null? #{ids\ 1965}#)
+                                                    (#{build-sequence\ 331}#
                                                       #f
-                                                      (map (lambda (#{x\ 
2032}#)
-                                                             (#{chi\ 465}#
-                                                               (cdr #{x\ 
2032}#)
-                                                               (car #{x\ 
2032}#)
+                                                      (map (lambda (#{x\ 
2031}#)
+                                                             (#{chi\ 464}#
+                                                               (cdr #{x\ 
2031}#)
+                                                               (car #{x\ 
2031}#)
                                                                '(())
-                                                               #{mod\ 1984}#))
-                                                           (cons (cons #{er\ 
1977}#
-                                                                       
(#{source-wrap\ 451}#
-                                                                         #{e\ 
1981}#
-                                                                         #{w\ 
1982}#
-                                                                         #{s\ 
1983}#
-                                                                         
#{mod\ 1984}#))
-                                                                 (cdr #{body\ 
1965}#))))
+                                                               #{mod\ 1983}#))
+                                                           (cons (cons #{er\ 
1976}#
+                                                                       
(#{source-wrap\ 450}#
+                                                                         #{e\ 
1980}#
+                                                                         #{w\ 
1981}#
+                                                                         #{s\ 
1982}#
+                                                                         
#{mod\ 1983}#))
+                                                                 (cdr #{body\ 
1964}#))))
                                                     (begin
-                                                      (if (not 
(#{valid-bound-ids?\ 443}#
-                                                                 #{ids\ 
1966}#))
+                                                      (if (not 
(#{valid-bound-ids?\ 442}#
+                                                                 #{ids\ 
1965}#))
                                                         (syntax-violation
                                                           #f
                                                           "invalid or 
duplicate identifier in definition"
-                                                          #{outer-form\ 
1939}#))
+                                                          #{outer-form\ 
1938}#))
                                                       (letrec*
-                                                        ((#{loop\ 2039}#
-                                                           (lambda (#{bs\ 
2040}#
-                                                                    
#{er-cache\ 2041}#
-                                                                    #{r-cache\ 
2042}#)
-                                                             (if (not (null? 
#{bs\ 2040}#))
+                                                        ((#{loop\ 2038}#
+                                                           (lambda (#{bs\ 
2039}#
+                                                                    
#{er-cache\ 2040}#
+                                                                    #{r-cache\ 
2041}#)
+                                                             (if (not (null? 
#{bs\ 2039}#))
                                                                (begin
-                                                                 (let ((#{b\ 
2045}#
-                                                                         (car 
#{bs\ 2040}#)))
-                                                                   (if (eq? 
(car #{b\ 2045}#)
+                                                                 (let ((#{b\ 
2044}#
+                                                                         (car 
#{bs\ 2039}#)))
+                                                                   (if (eq? 
(car #{b\ 2044}#)
                                                                             
'macro)
                                                                      (begin
-                                                                       (let 
((#{er\ 2048}#
-                                                                               
(car (cdr #{b\ 2045}#))))
+                                                                       (let 
((#{er\ 2047}#
+                                                                               
(car (cdr #{b\ 2044}#))))
                                                                          (begin
-                                                                           
(let ((#{r-cache\ 2050}#
-                                                                               
    (if (eq? #{er\ 2048}#
-                                                                               
             #{er-cache\ 2041}#)
-                                                                               
      #{r-cache\ 2042}#
-                                                                               
      (#{macros-only-env\ 372}#
-                                                                               
        #{er\ 2048}#))))
+                                                                           
(let ((#{r-cache\ 2049}#
+                                                                               
    (if (eq? #{er\ 2047}#
+                                                                               
             #{er-cache\ 2040}#)
+                                                                               
      #{r-cache\ 2041}#
+                                                                               
      (#{macros-only-env\ 371}#
+                                                                               
        #{er\ 2047}#))))
                                                                              
(begin
                                                                                
(set-cdr!
-                                                                               
  #{b\ 2045}#
-                                                                               
  (#{eval-local-transformer\ 477}#
-                                                                               
    (#{chi\ 465}#
-                                                                               
      (cdr (cdr #{b\ 2045}#))
-                                                                               
      #{r-cache\ 2050}#
+                                                                               
  #{b\ 2044}#
+                                                                               
  (#{eval-local-transformer\ 476}#
+                                                                               
    (#{chi\ 464}#
+                                                                               
      (cdr (cdr #{b\ 2044}#))
+                                                                               
      #{r-cache\ 2049}#
                                                                                
      '(())
-                                                                               
      #{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\ 1983}#)
+                                                                               
    #{mod\ 1983}#))
+                                                                               
(#{loop\ 2038}#
+                                                                               
  (cdr #{bs\ 2039}#)
+                                                                               
  #{er\ 2047}#
+                                                                               
  #{r-cache\ 2049}#))))))
+                                                                     (#{loop\ 
2038}#
+                                                                       (cdr 
#{bs\ 2039}#)
+                                                                       
#{er-cache\ 2040}#
+                                                                       
#{r-cache\ 2041}#))))))))
                                                         (begin
-                                                          (#{loop\ 2039}#
-                                                            #{bindings\ 1971}#
+                                                          (#{loop\ 2038}#
+                                                            #{bindings\ 1970}#
                                                             #f
                                                             #f)))
                                                       (set-cdr!
-                                                        #{r\ 1950}#
-                                                        (#{extend-env\ 368}#
-                                                          #{labels\ 1967}#
-                                                          #{bindings\ 1971}#
-                                                          (cdr #{r\ 1950}#)))
-                                                      (#{build-letrec\ 338}#
+                                                        #{r\ 1949}#
+                                                        (#{extend-env\ 367}#
+                                                          #{labels\ 1966}#
+                                                          #{bindings\ 1970}#
+                                                          (cdr #{r\ 1949}#)))
+                                                      (#{build-letrec\ 337}#
                                                         #f
                                                         #t
                                                         (reverse
                                                           (map syntax->datum
-                                                               #{var-ids\ 
1968}#))
+                                                               #{var-ids\ 
1967}#))
                                                         (reverse
-                                                          #{vars\ 1969}#)
-                                                        (map (lambda (#{x\ 
2053}#)
-                                                               (#{chi\ 465}#
-                                                                 (cdr #{x\ 
2053}#)
-                                                                 (car #{x\ 
2053}#)
+                                                          #{vars\ 1968}#)
+                                                        (map (lambda (#{x\ 
2052}#)
+                                                               (#{chi\ 464}#
+                                                                 (cdr #{x\ 
2052}#)
+                                                                 (car #{x\ 
2052}#)
                                                                  '(())
-                                                                 #{mod\ 
1984}#))
+                                                                 #{mod\ 
1983}#))
                                                              (reverse
-                                                               #{vals\ 1970}#))
-                                                        (#{build-sequence\ 
332}#
+                                                               #{vals\ 1969}#))
+                                                        (#{build-sequence\ 
331}#
                                                           #f
-                                                          (map (lambda (#{x\ 
2057}#)
-                                                                 (#{chi\ 465}#
-                                                                   (cdr #{x\ 
2057}#)
-                                                                   (car #{x\ 
2057}#)
+                                                          (map (lambda (#{x\ 
2056}#)
+                                                                 (#{chi\ 464}#
+                                                                   (cdr #{x\ 
2056}#)
+                                                                   (car #{x\ 
2056}#)
                                                                    '(())
-                                                                   #{mod\ 
1984}#))
-                                                               (cons (cons 
#{er\ 1977}#
-                                                                           
(#{source-wrap\ 451}#
-                                                                             
#{e\ 1981}#
-                                                                             
#{w\ 1982}#
-                                                                             
#{s\ 1983}#
-                                                                             
#{mod\ 1984}#))
-                                                                     (cdr 
#{body\ 1965}#)))))))))))))))))))
+                                                                   #{mod\ 
1983}#))
+                                                               (cons (cons 
#{er\ 1976}#
+                                                                           
(#{source-wrap\ 450}#
+                                                                             
#{e\ 1980}#
+                                                                             
#{w\ 1981}#
+                                                                             
#{s\ 1982}#
+                                                                             
#{mod\ 1983}#))
+                                                                     (cdr 
#{body\ 1964}#)))))))))))))))))))
                            (begin
-                             (#{parse\ 1964}#
-                               (map (lambda (#{x\ 1972}#)
-                                      (cons #{r\ 1950}#
-                                            (#{wrap\ 449}#
-                                              #{x\ 1972}#
-                                              #{w\ 1955}#
-                                              #{mod\ 1942}#)))
-                                    #{body\ 1938}#)
+                             (#{parse\ 1963}#
+                               (map (lambda (#{x\ 1971}#)
+                                      (cons #{r\ 1949}#
+                                            (#{wrap\ 448}#
+                                              #{x\ 1971}#
+                                              #{w\ 1954}#
+                                              #{mod\ 1941}#)))
+                                    #{body\ 1937}#)
                                '()
                                '()
                                '()
                                '()
                                '()
                                '())))))))))))
-         (#{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\ 474}#
+           (lambda (#{rec?\ 2059}#
+                    #{e\ 2060}#
+                    #{r\ 2061}#
+                    #{w\ 2062}#
+                    #{s\ 2063}#
+                    #{mod\ 2064}#
+                    #{k\ 2065}#)
+             (let ((#{tmp\ 2073}# #{e\ 2060}#))
+               (let ((#{tmp\ 2074}#
                        ($sc-dispatch
-                         #{tmp\ 2074}#
+                         #{tmp\ 2073}#
                          '(_ #(each (any any)) any . each-any))))
-                 (if #{tmp\ 2075}#
+                 (if #{tmp\ 2074}#
                    (@apply
-                     (lambda (#{id\ 2080}#
-                              #{val\ 2081}#
-                              #{e1\ 2082}#
-                              #{e2\ 2083}#)
+                     (lambda (#{id\ 2079}#
+                              #{val\ 2080}#
+                              #{e1\ 2081}#
+                              #{e2\ 2082}#)
                        (begin
-                         (let ((#{ids\ 2085}# #{id\ 2080}#))
-                           (if (not (#{valid-bound-ids?\ 443}# #{ids\ 2085}#))
+                         (let ((#{ids\ 2084}# #{id\ 2079}#))
+                           (if (not (#{valid-bound-ids?\ 442}# #{ids\ 2084}#))
                              (syntax-violation
                                #f
                                "duplicate bound keyword"
-                               #{e\ 2061}#)
+                               #{e\ 2060}#)
                              (begin
-                               (let ((#{labels\ 2088}#
-                                       (#{gen-labels\ 398}# #{ids\ 2085}#)))
+                               (let ((#{labels\ 2087}#
+                                       (#{gen-labels\ 397}# #{ids\ 2084}#)))
                                  (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\ 2089}#
+                                           (#{make-binding-wrap\ 426}#
+                                             #{ids\ 2084}#
+                                             #{labels\ 2087}#
+                                             #{w\ 2062}#)))
+                                     (#{k\ 2065}#
+                                       (cons #{e1\ 2081}# #{e2\ 2082}#)
+                                       (#{extend-env\ 367}#
+                                         #{labels\ 2087}#
                                          (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\ 2093}#
+                                                   (if #{rec?\ 2059}#
+                                                     #{new-w\ 2089}#
+                                                     #{w\ 2062}#))
+                                                 (#{trans-r\ 2094}#
+                                                   (#{macros-only-env\ 371}#
+                                                     #{r\ 2061}#)))
+                                             (map (lambda (#{x\ 2095}#)
                                                     (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\ 476}#
+                                                            (#{chi\ 464}#
+                                                              #{x\ 2095}#
+                                                              #{trans-r\ 2094}#
+                                                              #{w\ 2093}#
+                                                              #{mod\ 2064}#)
+                                                            #{mod\ 2064}#)))
+                                                  #{val\ 2080}#)))
+                                         #{r\ 2061}#)
+                                       #{new-w\ 2089}#
+                                       #{s\ 2063}#
+                                       #{mod\ 2064}#)))))))))
+                     #{tmp\ 2074}#)
+                   (let ((#{_\ 2100}# #{tmp\ 2073}#))
                      (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\ 450}#
+                         #{e\ 2060}#
+                         #{w\ 2062}#
+                         #{s\ 2063}#
+                         #{mod\ 2064}#))))))))
+         (#{eval-local-transformer\ 476}#
+           (lambda (#{expanded\ 2101}# #{mod\ 2102}#)
              (begin
-               (let ((#{p\ 2107}#
-                       (#{local-eval-hook\ 291}#
-                         #{expanded\ 2102}#
-                         #{mod\ 2103}#)))
-                 (if (procedure? #{p\ 2107}#)
-                   #{p\ 2107}#
+               (let ((#{p\ 2106}#
+                       (#{local-eval-hook\ 290}#
+                         #{expanded\ 2101}#
+                         #{mod\ 2102}#)))
+                 (if (procedure? #{p\ 2106}#)
+                   #{p\ 2106}#
                    (syntax-violation
                      #f
                      "nonprocedure transformer"
-                     #{p\ 2107}#))))))
-         (#{chi-void\ 479}#
-           (lambda () (#{build-void\ 302}# #f)))
-         (#{ellipsis?\ 481}#
-           (lambda (#{x\ 2109}#)
-             (if (#{nonsymbol-id?\ 378}# #{x\ 2109}#)
-               (#{free-id=?\ 439}#
-                 #{x\ 2109}#
+                     #{p\ 2106}#))))))
+         (#{chi-void\ 478}#
+           (lambda () (#{build-void\ 301}# #f)))
+         (#{ellipsis?\ 480}#
+           (lambda (#{x\ 2108}#)
+             (if (#{nonsymbol-id?\ 377}# #{x\ 2108}#)
+               (#{free-id=?\ 438}#
+                 #{x\ 2108}#
                  '#(syntax-object
                     ...
                     ((top)
                      #(ribcage () () ())
                      #(ribcage () () ())
-                     #(ribcage #(x) #((top)) #("i2110"))
+                     #(ribcage #(x) #((top)) #("i2109"))
                      #(ribcage
                        (lambda-var-list
                          gen-var
@@ -6749,417 +6749,417 @@
                         (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"
+                       ("i493"
+                        "i491"
+                        "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"
-                        "i414"
-                        "i412"
-                        "i410"
-                        "i408"
-                        "i406"
-                        "i404"
-                        "i402"
-                        "i400"
-                        "i397"
-                        "i395"
+                        "i415"
+                        "i413"
+                        "i411"
+                        "i409"
+                        "i407"
+                        "i405"
+                        "i403"
+                        "i401"
+                        "i399"
+                        "i396"
                         "i394"
                         "i393"
                         "i392"
                         "i391"
                         "i390"
-                        "i388"
-                        "i386"
-                        "i384"
-                        "i382"
+                        "i389"
+                        "i387"
+                        "i385"
+                        "i383"
                         "i381"
-                        "i379"
-                        "i377"
-                        "i375"
-                        "i373"
-                        "i371"
-                        "i369"
-                        "i367"
+                        "i380"
+                        "i378"
+                        "i376"
+                        "i374"
+                        "i372"
+                        "i370"
+                        "i368"
                         "i366"
-                        "i364"
-                        "i362"
+                        "i365"
+                        "i363"
                         "i361"
                         "i360"
-                        "i358"
+                        "i359"
                         "i357"
-                        "i355"
-                        "i353"
-                        "i351"
-                        "i349"
-                        "i347"
-                        "i345"
-                        "i343"
-                        "i341"
-                        "i339"
-                        "i337"
-                        "i335"
-                        "i333"
-                        "i331"
-                        "i329"
-                        "i327"
-                        "i325"
-                        "i323"
-                        "i321"
-                        "i319"
-                        "i317"
-                        "i315"
-                        "i313"
-                        "i311"
-                        "i309"
-                        "i307"
-                        "i305"
-                        "i303"
-                        "i301"
-                        "i299"
-                        "i297"
-                        "i295"
-                        "i293"
+                        "i356"
+                        "i354"
+                        "i352"
+                        "i350"
+                        "i348"
+                        "i346"
+                        "i344"
+                        "i342"
+                        "i340"
+                        "i338"
+                        "i336"
+                        "i334"
+                        "i332"
+                        "i330"
+                        "i328"
+                        "i326"
+                        "i324"
+                        "i322"
+                        "i320"
+                        "i318"
+                        "i316"
+                        "i314"
+                        "i312"
+                        "i310"
+                        "i308"
+                        "i306"
+                        "i304"
+                        "i302"
+                        "i300"
+                        "i298"
+                        "i296"
+                        "i294"
                         "i292"
-                        "i290"
-                        "i288"
-                        "i286"
-                        "i284"
-                        "i282"
-                        "i280"
-                        "i278"
-                        "i276"
-                        "i274"
-                        "i271"
-                        "i269"
-                        "i267"
-                        "i265"
-                        "i263"
-                        "i261"
-                        "i259"
-                        "i257"
-                        "i255"
-                        "i253"
-                        "i251"
-                        "i249"
-                        "i247"
-                        "i245"
-                        "i243"
-                        "i241"
-                        "i239"
-                        "i237"))
+                        "i291"
+                        "i289"
+                        "i287"
+                        "i285"
+                        "i283"
+                        "i281"
+                        "i279"
+                        "i277"
+                        "i275"
+                        "i273"
+                        "i270"
+                        "i268"
+                        "i266"
+                        "i264"
+                        "i262"
+                        "i260"
+                        "i258"
+                        "i256"
+                        "i254"
+                        "i252"
+                        "i250"
+                        "i248"
+                        "i246"
+                        "i244"
+                        "i242"
+                        "i240"
+                        "i238"
+                        "i236"))
                      #(ribcage
                        (define-structure
                          define-expansion-accessors
                          define-expansion-constructors
                          and-map*)
                        ((top) (top) (top) (top))
-                       ("i39" "i38" "i37" "i35")))
+                       ("i38" "i37" "i36" "i34")))
                     (hygiene guile)))
                #f)))
-         (#{lambda-formals\ 483}#
-           (lambda (#{orig-args\ 2113}#)
+         (#{lambda-formals\ 482}#
+           (lambda (#{orig-args\ 2112}#)
              (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\ 2115}#
+                  (lambda (#{args\ 2118}# #{rreq\ 2119}#)
+                    (let ((#{tmp\ 2122}# #{args\ 2118}#))
+                      (let ((#{tmp\ 2123}#
+                              ($sc-dispatch #{tmp\ 2122}# (quote ()))))
+                        (if #{tmp\ 2123}#
                           (@apply
                             (lambda ()
-                              (#{check\ 2118}# (reverse #{rreq\ 2120}#) #f))
-                            #{tmp\ 2124}#)
-                          (let ((#{tmp\ 2125}#
+                              (#{check\ 2117}# (reverse #{rreq\ 2119}#) #f))
+                            #{tmp\ 2123}#)
+                          (let ((#{tmp\ 2124}#
                                   ($sc-dispatch
-                                    #{tmp\ 2123}#
+                                    #{tmp\ 2122}#
                                     '(any . any))))
-                            (if (if #{tmp\ 2125}#
+                            (if (if #{tmp\ 2124}#
                                   (@apply
-                                    (lambda (#{a\ 2128}# #{b\ 2129}#)
-                                      (#{id?\ 380}# #{a\ 2128}#))
-                                    #{tmp\ 2125}#)
+                                    (lambda (#{a\ 2127}# #{b\ 2128}#)
+                                      (#{id?\ 379}# #{a\ 2127}#))
+                                    #{tmp\ 2124}#)
                                   #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\ 2131}# #{b\ 2132}#)
+                                  (#{req\ 2115}#
+                                    #{b\ 2132}#
+                                    (cons #{a\ 2131}# #{rreq\ 2119}#)))
+                                #{tmp\ 2124}#)
+                              (let ((#{tmp\ 2133}# (list #{tmp\ 2122}#)))
+                                (if (if #{tmp\ 2133}#
                                       (@apply
-                                        (lambda (#{r\ 2136}#)
-                                          (#{id?\ 380}# #{r\ 2136}#))
-                                        #{tmp\ 2134}#)
+                                        (lambda (#{r\ 2135}#)
+                                          (#{id?\ 379}# #{r\ 2135}#))
+                                        #{tmp\ 2133}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{r\ 2138}#)
-                                      (#{check\ 2118}#
-                                        (reverse #{rreq\ 2120}#)
-                                        #{r\ 2138}#))
-                                    #{tmp\ 2134}#)
-                                  (let ((#{else\ 2140}# #{tmp\ 2123}#))
+                                    (lambda (#{r\ 2137}#)
+                                      (#{check\ 2117}#
+                                        (reverse #{rreq\ 2119}#)
+                                        #{r\ 2137}#))
+                                    #{tmp\ 2133}#)
+                                  (let ((#{else\ 2139}# #{tmp\ 2122}#))
                                     (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\ 2112}#
+                                      #{args\ 2118}#)))))))))))
+                (#{check\ 2117}#
+                  (lambda (#{req\ 2140}# #{rest\ 2141}#)
+                    (if (#{distinct-bound-ids?\ 444}#
+                          (if #{rest\ 2141}#
+                            (cons #{rest\ 2141}# #{req\ 2140}#)
+                            #{req\ 2140}#))
+                      (values #{req\ 2140}# #f #{rest\ 2141}# #f)
                       (syntax-violation
                         'lambda
                         "duplicate identifier in argument list"
-                        #{orig-args\ 2113}#)))))
+                        #{orig-args\ 2112}#)))))
                (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\ 2115}# #{orig-args\ 2112}# (quote ()))))))
+         (#{chi-simple-lambda\ 484}#
+           (lambda (#{e\ 2147}#
+                    #{r\ 2148}#
+                    #{w\ 2149}#
+                    #{s\ 2150}#
+                    #{mod\ 2151}#
+                    #{req\ 2152}#
+                    #{rest\ 2153}#
+                    #{meta\ 2154}#
+                    #{body\ 2155}#)
              (begin
-               (let ((#{ids\ 2168}#
-                       (if #{rest\ 2154}#
-                         (append #{req\ 2153}# (list #{rest\ 2154}#))
-                         #{req\ 2153}#)))
+               (let ((#{ids\ 2167}#
+                       (if #{rest\ 2153}#
+                         (append #{req\ 2152}# (list #{rest\ 2153}#))
+                         #{req\ 2152}#)))
                  (begin
-                   (let ((#{vars\ 2170}#
-                           (map #{gen-var\ 493}# #{ids\ 2168}#)))
+                   (let ((#{vars\ 2169}#
+                           (map #{gen-var\ 492}# #{ids\ 2167}#)))
                      (begin
-                       (let ((#{labels\ 2172}#
-                               (#{gen-labels\ 398}# #{ids\ 2168}#)))
-                         (#{build-simple-lambda\ 322}#
-                           #{s\ 2151}#
-                           (map syntax->datum #{req\ 2153}#)
-                           (if #{rest\ 2154}#
-                             (syntax->datum #{rest\ 2154}#)
+                       (let ((#{labels\ 2171}#
+                               (#{gen-labels\ 397}# #{ids\ 2167}#)))
+                         (#{build-simple-lambda\ 321}#
+                           #{s\ 2150}#
+                           (map syntax->datum #{req\ 2152}#)
+                           (if #{rest\ 2153}#
+                             (syntax->datum #{rest\ 2153}#)
                              #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\ 2169}#
+                           #{meta\ 2154}#
+                           (#{chi-body\ 472}#
+                             #{body\ 2155}#
+                             (#{source-wrap\ 450}#
+                               #{e\ 2147}#
+                               #{w\ 2149}#
+                               #{s\ 2150}#
+                               #{mod\ 2151}#)
+                             (#{extend-var-env\ 369}#
+                               #{labels\ 2171}#
+                               #{vars\ 2169}#
+                               #{r\ 2148}#)
+                             (#{make-binding-wrap\ 426}#
+                               #{ids\ 2167}#
+                               #{labels\ 2171}#
+                               #{w\ 2149}#)
+                             #{mod\ 2151}#))))))))))
+         (#{lambda*-formals\ 486}#
+           (lambda (#{orig-args\ 2174}#)
              (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\ 2177}#
+                  (lambda (#{args\ 2186}# #{rreq\ 2187}#)
+                    (let ((#{tmp\ 2190}# #{args\ 2186}#))
+                      (let ((#{tmp\ 2191}#
+                              ($sc-dispatch #{tmp\ 2190}# (quote ()))))
+                        (if #{tmp\ 2191}#
                           (@apply
                             (lambda ()
-                              (#{check\ 2186}#
-                                (reverse #{rreq\ 2188}#)
+                              (#{check\ 2185}#
+                                (reverse #{rreq\ 2187}#)
                                 '()
                                 #f
                                 '()))
-                            #{tmp\ 2192}#)
-                          (let ((#{tmp\ 2193}#
+                            #{tmp\ 2191}#)
+                          (let ((#{tmp\ 2192}#
                                   ($sc-dispatch
-                                    #{tmp\ 2191}#
+                                    #{tmp\ 2190}#
                                     '(any . any))))
-                            (if (if #{tmp\ 2193}#
+                            (if (if #{tmp\ 2192}#
                                   (@apply
-                                    (lambda (#{a\ 2196}# #{b\ 2197}#)
-                                      (#{id?\ 380}# #{a\ 2196}#))
-                                    #{tmp\ 2193}#)
+                                    (lambda (#{a\ 2195}# #{b\ 2196}#)
+                                      (#{id?\ 379}# #{a\ 2195}#))
+                                    #{tmp\ 2192}#)
                                   #f)
                               (@apply
-                                (lambda (#{a\ 2200}# #{b\ 2201}#)
-                                  (#{req\ 2178}#
-                                    #{b\ 2201}#
-                                    (cons #{a\ 2200}# #{rreq\ 2188}#)))
-                                #{tmp\ 2193}#)
-                              (let ((#{tmp\ 2202}#
+                                (lambda (#{a\ 2199}# #{b\ 2200}#)
+                                  (#{req\ 2177}#
+                                    #{b\ 2200}#
+                                    (cons #{a\ 2199}# #{rreq\ 2187}#)))
+                                #{tmp\ 2192}#)
+                              (let ((#{tmp\ 2201}#
                                       ($sc-dispatch
-                                        #{tmp\ 2191}#
+                                        #{tmp\ 2190}#
                                         '(any . any))))
-                                (if (if #{tmp\ 2202}#
+                                (if (if #{tmp\ 2201}#
                                       (@apply
-                                        (lambda (#{a\ 2205}# #{b\ 2206}#)
-                                          (eq? (syntax->datum #{a\ 2205}#)
+                                        (lambda (#{a\ 2204}# #{b\ 2205}#)
+                                          (eq? (syntax->datum #{a\ 2204}#)
                                                #:optional))
-                                        #{tmp\ 2202}#)
+                                        #{tmp\ 2201}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{a\ 2209}# #{b\ 2210}#)
-                                      (#{opt\ 2180}#
-                                        #{b\ 2210}#
-                                        (reverse #{rreq\ 2188}#)
+                                    (lambda (#{a\ 2208}# #{b\ 2209}#)
+                                      (#{opt\ 2179}#
+                                        #{b\ 2209}#
+                                        (reverse #{rreq\ 2187}#)
                                         '()))
-                                    #{tmp\ 2202}#)
-                                  (let ((#{tmp\ 2211}#
+                                    #{tmp\ 2201}#)
+                                  (let ((#{tmp\ 2210}#
                                           ($sc-dispatch
-                                            #{tmp\ 2191}#
+                                            #{tmp\ 2190}#
                                             '(any . any))))
-                                    (if (if #{tmp\ 2211}#
+                                    (if (if #{tmp\ 2210}#
                                           (@apply
-                                            (lambda (#{a\ 2214}# #{b\ 2215}#)
-                                              (eq? (syntax->datum #{a\ 2214}#)
+                                            (lambda (#{a\ 2213}# #{b\ 2214}#)
+                                              (eq? (syntax->datum #{a\ 2213}#)
                                                    #:key))
-                                            #{tmp\ 2211}#)
+                                            #{tmp\ 2210}#)
                                           #f)
                                       (@apply
-                                        (lambda (#{a\ 2218}# #{b\ 2219}#)
-                                          (#{key\ 2182}#
-                                            #{b\ 2219}#
-                                            (reverse #{rreq\ 2188}#)
+                                        (lambda (#{a\ 2217}# #{b\ 2218}#)
+                                          (#{key\ 2181}#
+                                            #{b\ 2218}#
+                                            (reverse #{rreq\ 2187}#)
                                             '()
                                             '()))
-                                        #{tmp\ 2211}#)
-                                      (let ((#{tmp\ 2220}#
+                                        #{tmp\ 2210}#)
+                                      (let ((#{tmp\ 2219}#
                                               ($sc-dispatch
-                                                #{tmp\ 2191}#
+                                                #{tmp\ 2190}#
                                                 '(any any))))
-                                        (if (if #{tmp\ 2220}#
+                                        (if (if #{tmp\ 2219}#
                                               (@apply
-                                                (lambda (#{a\ 2223}#
-                                                         #{b\ 2224}#)
+                                                (lambda (#{a\ 2222}#
+                                                         #{b\ 2223}#)
                                                   (eq? (syntax->datum
-                                                         #{a\ 2223}#)
+                                                         #{a\ 2222}#)
                                                        #:rest))
-                                                #{tmp\ 2220}#)
+                                                #{tmp\ 2219}#)
                                               #f)
                                           (@apply
-                                            (lambda (#{a\ 2227}# #{b\ 2228}#)
-                                              (#{rest\ 2184}#
-                                                #{b\ 2228}#
-                                                (reverse #{rreq\ 2188}#)
+                                            (lambda (#{a\ 2226}# #{b\ 2227}#)
+                                              (#{rest\ 2183}#
+                                                #{b\ 2227}#
+                                                (reverse #{rreq\ 2187}#)
                                                 '()
                                                 '()))
-                                            #{tmp\ 2220}#)
-                                          (let ((#{tmp\ 2229}#
-                                                  (list #{tmp\ 2191}#)))
-                                            (if (if #{tmp\ 2229}#
+                                            #{tmp\ 2219}#)
+                                          (let ((#{tmp\ 2228}#
+                                                  (list #{tmp\ 2190}#)))
+                                            (if (if #{tmp\ 2228}#
                                                   (@apply
-                                                    (lambda (#{r\ 2231}#)
-                                                      (#{id?\ 380}#
-                                                        #{r\ 2231}#))
-                                                    #{tmp\ 2229}#)
+                                                    (lambda (#{r\ 2230}#)
+                                                      (#{id?\ 379}#
+                                                        #{r\ 2230}#))
+                                                    #{tmp\ 2228}#)
                                                   #f)
                                               (@apply
-                                                (lambda (#{r\ 2233}#)
-                                                  (#{rest\ 2184}#
-                                                    #{r\ 2233}#
-                                                    (reverse #{rreq\ 2188}#)
+                                                (lambda (#{r\ 2232}#)
+                                                  (#{rest\ 2183}#
+                                                    #{r\ 2232}#
+                                                    (reverse #{rreq\ 2187}#)
                                                     '()
                                                     '()))
-                                                #{tmp\ 2229}#)
-                                              (let ((#{else\ 2235}#
-                                                      #{tmp\ 2191}#))
+                                                #{tmp\ 2228}#)
+                                              (let ((#{else\ 2234}#
+                                                      #{tmp\ 2190}#))
                                                 (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\ 2174}#
+                                                  #{args\ 
2186}#)))))))))))))))))
+                (#{opt\ 2179}#
+                  (lambda (#{args\ 2235}# #{req\ 2236}# #{ropt\ 2237}#)
+                    (let ((#{tmp\ 2241}# #{args\ 2235}#))
+                      (let ((#{tmp\ 2242}#
+                              ($sc-dispatch #{tmp\ 2241}# (quote ()))))
+                        (if #{tmp\ 2242}#
                           (@apply
                             (lambda ()
-                              (#{check\ 2186}#
-                                #{req\ 2237}#
-                                (reverse #{ropt\ 2238}#)
+                              (#{check\ 2185}#
+                                #{req\ 2236}#
+                                (reverse #{ropt\ 2237}#)
                                 #f
                                 '()))
-                            #{tmp\ 2243}#)
-                          (let ((#{tmp\ 2244}#
+                            #{tmp\ 2242}#)
+                          (let ((#{tmp\ 2243}#
                                   ($sc-dispatch
-                                    #{tmp\ 2242}#
+                                    #{tmp\ 2241}#
                                     '(any . any))))
-                            (if (if #{tmp\ 2244}#
+                            (if (if #{tmp\ 2243}#
                                   (@apply
-                                    (lambda (#{a\ 2247}# #{b\ 2248}#)
-                                      (#{id?\ 380}# #{a\ 2247}#))
-                                    #{tmp\ 2244}#)
+                                    (lambda (#{a\ 2246}# #{b\ 2247}#)
+                                      (#{id?\ 379}# #{a\ 2246}#))
+                                    #{tmp\ 2243}#)
                                   #f)
                               (@apply
-                                (lambda (#{a\ 2251}# #{b\ 2252}#)
-                                  (#{opt\ 2180}#
-                                    #{b\ 2252}#
-                                    #{req\ 2237}#
-                                    (cons (cons #{a\ 2251}#
+                                (lambda (#{a\ 2250}# #{b\ 2251}#)
+                                  (#{opt\ 2179}#
+                                    #{b\ 2251}#
+                                    #{req\ 2236}#
+                                    (cons (cons #{a\ 2250}#
                                                 '(#(syntax-object
                                                     #f
                                                     ((top)
                                                      #(ribcage
                                                        #(a b)
                                                        #((top) (top))
-                                                       #("i2249" "i2250"))
+                                                       #("i2248" "i2249"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(args req ropt)
                                                        #((top) (top) (top))
-                                                       #("i2239"
-                                                         "i2240"
-                                                         "i2241"))
+                                                       #("i2238"
+                                                         "i2239"
+                                                         "i2240"))
                                                      #(ribcage
                                                        (check rest key opt req)
                                                        ((top)
@@ -7167,15 +7167,15 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                       ("i2185"
-                                                        "i2183"
-                                                        "i2181"
-                                                        "i2179"
-                                                        "i2177"))
+                                                       ("i2184"
+                                                        "i2182"
+                                                        "i2180"
+                                                        "i2178"
+                                                        "i2176"))
                                                      #(ribcage
                                                        #(orig-args)
                                                        #((top))
-                                                       #("i2176"))
+                                                       #("i2175"))
                                                      #(ribcage
                                                        (lambda-var-list
                                                          gen-var
@@ -7451,143 +7451,143 @@
                                                         (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"
+                                                       ("i493"
+                                                        "i491"
+                                                        "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"
-                                                        "i414"
-                                                        "i412"
-                                                        "i410"
-                                                        "i408"
-                                                        "i406"
-                                                        "i404"
-                                                        "i402"
-                                                        "i400"
-                                                        "i397"
-                                                        "i395"
+                                                        "i415"
+                                                        "i413"
+                                                        "i411"
+                                                        "i409"
+                                                        "i407"
+                                                        "i405"
+                                                        "i403"
+                                                        "i401"
+                                                        "i399"
+                                                        "i396"
                                                         "i394"
                                                         "i393"
                                                         "i392"
                                                         "i391"
                                                         "i390"
-                                                        "i388"
-                                                        "i386"
-                                                        "i384"
-                                                        "i382"
+                                                        "i389"
+                                                        "i387"
+                                                        "i385"
+                                                        "i383"
                                                         "i381"
-                                                        "i379"
-                                                        "i377"
-                                                        "i375"
-                                                        "i373"
-                                                        "i371"
-                                                        "i369"
-                                                        "i367"
+                                                        "i380"
+                                                        "i378"
+                                                        "i376"
+                                                        "i374"
+                                                        "i372"
+                                                        "i370"
+                                                        "i368"
                                                         "i366"
-                                                        "i364"
-                                                        "i362"
+                                                        "i365"
+                                                        "i363"
                                                         "i361"
                                                         "i360"
-                                                        "i358"
+                                                        "i359"
                                                         "i357"
-                                                        "i355"
-                                                        "i353"
-                                                        "i351"
-                                                        "i349"
-                                                        "i347"
-                                                        "i345"
-                                                        "i343"
-                                                        "i341"
-                                                        "i339"
-                                                        "i337"
-                                                        "i335"
-                                                        "i333"
-                                                        "i331"
-                                                        "i329"
-                                                        "i327"
-                                                        "i325"
-                                                        "i323"
-                                                        "i321"
-                                                        "i319"
-                                                        "i317"
-                                                        "i315"
-                                                        "i313"
-                                                        "i311"
-                                                        "i309"
-                                                        "i307"
-                                                        "i305"
-                                                        "i303"
-                                                        "i301"
-                                                        "i299"
-                                                        "i297"
-                                                        "i295"
-                                                        "i293"
+                                                        "i356"
+                                                        "i354"
+                                                        "i352"
+                                                        "i350"
+                                                        "i348"
+                                                        "i346"
+                                                        "i344"
+                                                        "i342"
+                                                        "i340"
+                                                        "i338"
+                                                        "i336"
+                                                        "i334"
+                                                        "i332"
+                                                        "i330"
+                                                        "i328"
+                                                        "i326"
+                                                        "i324"
+                                                        "i322"
+                                                        "i320"
+                                                        "i318"
+                                                        "i316"
+                                                        "i314"
+                                                        "i312"
+                                                        "i310"
+                                                        "i308"
+                                                        "i306"
+                                                        "i304"
+                                                        "i302"
+                                                        "i300"
+                                                        "i298"
+                                                        "i296"
+                                                        "i294"
                                                         "i292"
-                                                        "i290"
-                                                        "i288"
-                                                        "i286"
-                                                        "i284"
-                                                        "i282"
-                                                        "i280"
-                                                        "i278"
-                                                        "i276"
-                                                        "i274"
-                                                        "i271"
-                                                        "i269"
-                                                        "i267"
-                                                        "i265"
-                                                        "i263"
-                                                        "i261"
-                                                        "i259"
-                                                        "i257"
-                                                        "i255"
-                                                        "i253"
-                                                        "i251"
-                                                        "i249"
-                                                        "i247"
-                                                        "i245"
-                                                        "i243"
-                                                        "i241"
-                                                        "i239"
-                                                        "i237"))
+                                                        "i291"
+                                                        "i289"
+                                                        "i287"
+                                                        "i285"
+                                                        "i283"
+                                                        "i281"
+                                                        "i279"
+                                                        "i277"
+                                                        "i275"
+                                                        "i273"
+                                                        "i270"
+                                                        "i268"
+                                                        "i266"
+                                                        "i264"
+                                                        "i262"
+                                                        "i260"
+                                                        "i258"
+                                                        "i256"
+                                                        "i254"
+                                                        "i252"
+                                                        "i250"
+                                                        "i248"
+                                                        "i246"
+                                                        "i244"
+                                                        "i242"
+                                                        "i240"
+                                                        "i238"
+                                                        "i236"))
                                                      #(ribcage
                                                        (define-structure
                                                          
define-expansion-accessors
@@ -7597,150 +7597,150 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                       ("i39"
-                                                        "i38"
+                                                       ("i38"
                                                         "i37"
-                                                        "i35")))
+                                                        "i36"
+                                                        "i34")))
                                                     (hygiene guile))))
-                                          #{ropt\ 2238}#)))
-                                #{tmp\ 2244}#)
-                              (let ((#{tmp\ 2253}#
+                                          #{ropt\ 2237}#)))
+                                #{tmp\ 2243}#)
+                              (let ((#{tmp\ 2252}#
                                       ($sc-dispatch
-                                        #{tmp\ 2242}#
+                                        #{tmp\ 2241}#
                                         '((any any) . any))))
-                                (if (if #{tmp\ 2253}#
+                                (if (if #{tmp\ 2252}#
                                       (@apply
-                                        (lambda (#{a\ 2257}#
-                                                 #{init\ 2258}#
-                                                 #{b\ 2259}#)
-                                          (#{id?\ 380}# #{a\ 2257}#))
-                                        #{tmp\ 2253}#)
+                                        (lambda (#{a\ 2256}#
+                                                 #{init\ 2257}#
+                                                 #{b\ 2258}#)
+                                          (#{id?\ 379}# #{a\ 2256}#))
+                                        #{tmp\ 2252}#)
                                       #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\ 2262}#
+                                             #{init\ 2263}#
+                                             #{b\ 2264}#)
+                                      (#{opt\ 2179}#
+                                        #{b\ 2264}#
+                                        #{req\ 2236}#
+                                        (cons (list #{a\ 2262}# #{init\ 2263}#)
+                                              #{ropt\ 2237}#)))
+                                    #{tmp\ 2252}#)
+                                  (let ((#{tmp\ 2265}#
                                           ($sc-dispatch
-                                            #{tmp\ 2242}#
+                                            #{tmp\ 2241}#
                                             '(any . any))))
-                                    (if (if #{tmp\ 2266}#
+                                    (if (if #{tmp\ 2265}#
                                           (@apply
-                                            (lambda (#{a\ 2269}# #{b\ 2270}#)
-                                              (eq? (syntax->datum #{a\ 2269}#)
+                                            (lambda (#{a\ 2268}# #{b\ 2269}#)
+                                              (eq? (syntax->datum #{a\ 2268}#)
                                                    #:key))
-                                            #{tmp\ 2266}#)
+                                            #{tmp\ 2265}#)
                                           #f)
                                       (@apply
-                                        (lambda (#{a\ 2273}# #{b\ 2274}#)
-                                          (#{key\ 2182}#
-                                            #{b\ 2274}#
-                                            #{req\ 2237}#
-                                            (reverse #{ropt\ 2238}#)
+                                        (lambda (#{a\ 2272}# #{b\ 2273}#)
+                                          (#{key\ 2181}#
+                                            #{b\ 2273}#
+                                            #{req\ 2236}#
+                                            (reverse #{ropt\ 2237}#)
                                             '()))
-                                        #{tmp\ 2266}#)
-                                      (let ((#{tmp\ 2275}#
+                                        #{tmp\ 2265}#)
+                                      (let ((#{tmp\ 2274}#
                                               ($sc-dispatch
-                                                #{tmp\ 2242}#
+                                                #{tmp\ 2241}#
                                                 '(any any))))
-                                        (if (if #{tmp\ 2275}#
+                                        (if (if #{tmp\ 2274}#
                                               (@apply
-                                                (lambda (#{a\ 2278}#
-                                                         #{b\ 2279}#)
+                                                (lambda (#{a\ 2277}#
+                                                         #{b\ 2278}#)
                                                   (eq? (syntax->datum
-                                                         #{a\ 2278}#)
+                                                         #{a\ 2277}#)
                                                        #:rest))
-                                                #{tmp\ 2275}#)
+                                                #{tmp\ 2274}#)
                                               #f)
                                           (@apply
-                                            (lambda (#{a\ 2282}# #{b\ 2283}#)
-                                              (#{rest\ 2184}#
-                                                #{b\ 2283}#
-                                                #{req\ 2237}#
-                                                (reverse #{ropt\ 2238}#)
+                                            (lambda (#{a\ 2281}# #{b\ 2282}#)
+                                              (#{rest\ 2183}#
+                                                #{b\ 2282}#
+                                                #{req\ 2236}#
+                                                (reverse #{ropt\ 2237}#)
                                                 '()))
-                                            #{tmp\ 2275}#)
-                                          (let ((#{tmp\ 2284}#
-                                                  (list #{tmp\ 2242}#)))
-                                            (if (if #{tmp\ 2284}#
+                                            #{tmp\ 2274}#)
+                                          (let ((#{tmp\ 2283}#
+                                                  (list #{tmp\ 2241}#)))
+                                            (if (if #{tmp\ 2283}#
                                                   (@apply
-                                                    (lambda (#{r\ 2286}#)
-                                                      (#{id?\ 380}#
-                                                        #{r\ 2286}#))
-                                                    #{tmp\ 2284}#)
+                                                    (lambda (#{r\ 2285}#)
+                                                      (#{id?\ 379}#
+                                                        #{r\ 2285}#))
+                                                    #{tmp\ 2283}#)
                                                   #f)
                                               (@apply
-                                                (lambda (#{r\ 2288}#)
-                                                  (#{rest\ 2184}#
-                                                    #{r\ 2288}#
-                                                    #{req\ 2237}#
-                                                    (reverse #{ropt\ 2238}#)
+                                                (lambda (#{r\ 2287}#)
+                                                  (#{rest\ 2183}#
+                                                    #{r\ 2287}#
+                                                    #{req\ 2236}#
+                                                    (reverse #{ropt\ 2237}#)
                                                     '()))
-                                                #{tmp\ 2284}#)
-                                              (let ((#{else\ 2290}#
-                                                      #{tmp\ 2242}#))
+                                                #{tmp\ 2283}#)
+                                              (let ((#{else\ 2289}#
+                                                      #{tmp\ 2241}#))
                                                 (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\ 2174}#
+                                                  #{args\ 
2235}#)))))))))))))))))
+                (#{key\ 2181}#
+                  (lambda (#{args\ 2290}#
+                           #{req\ 2291}#
+                           #{opt\ 2292}#
+                           #{rkey\ 2293}#)
+                    (let ((#{tmp\ 2298}# #{args\ 2290}#))
+                      (let ((#{tmp\ 2299}#
+                              ($sc-dispatch #{tmp\ 2298}# (quote ()))))
+                        (if #{tmp\ 2299}#
                           (@apply
                             (lambda ()
-                              (#{check\ 2186}#
-                                #{req\ 2292}#
-                                #{opt\ 2293}#
+                              (#{check\ 2185}#
+                                #{req\ 2291}#
+                                #{opt\ 2292}#
                                 #f
-                                (cons #f (reverse #{rkey\ 2294}#))))
-                            #{tmp\ 2300}#)
-                          (let ((#{tmp\ 2301}#
+                                (cons #f (reverse #{rkey\ 2293}#))))
+                            #{tmp\ 2299}#)
+                          (let ((#{tmp\ 2300}#
                                   ($sc-dispatch
-                                    #{tmp\ 2299}#
+                                    #{tmp\ 2298}#
                                     '(any . any))))
-                            (if (if #{tmp\ 2301}#
+                            (if (if #{tmp\ 2300}#
                                   (@apply
-                                    (lambda (#{a\ 2304}# #{b\ 2305}#)
-                                      (#{id?\ 380}# #{a\ 2304}#))
-                                    #{tmp\ 2301}#)
+                                    (lambda (#{a\ 2303}# #{b\ 2304}#)
+                                      (#{id?\ 379}# #{a\ 2303}#))
+                                    #{tmp\ 2300}#)
                                   #f)
                               (@apply
-                                (lambda (#{a\ 2308}# #{b\ 2309}#)
-                                  (let ((#{tmp\ 2311}#
+                                (lambda (#{a\ 2307}# #{b\ 2308}#)
+                                  (let ((#{tmp\ 2310}#
                                           (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\ 2307}#))))
+                                    (let ((#{k\ 2312}# #{tmp\ 2310}#))
+                                      (#{key\ 2181}#
+                                        #{b\ 2308}#
+                                        #{req\ 2291}#
+                                        #{opt\ 2292}#
+                                        (cons (cons #{k\ 2312}#
+                                                    (cons #{a\ 2307}#
                                                           '(#(syntax-object
                                                               #f
                                                               ((top)
                                                                #(ribcage
                                                                  #(k)
                                                                  #((top))
-                                                                 #("i2312"))
+                                                                 #("i2311"))
                                                                #(ribcage
                                                                  #(a b)
                                                                  #((top) (top))
-                                                                 #("i2306"
-                                                                   "i2307"))
+                                                                 #("i2305"
+                                                                   "i2306"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -7754,10 +7754,10 @@
                                                                    (top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i2295"
+                                                                 #("i2294"
+                                                                   "i2295"
                                                                    "i2296"
-                                                                   "i2297"
-                                                                   "i2298"))
+                                                                   "i2297"))
                                                                #(ribcage
                                                                  (check rest
                                                                         key
@@ -7768,15 +7768,15 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                 ("i2185"
-                                                                  "i2183"
-                                                                  "i2181"
-                                                                  "i2179"
-                                                                  "i2177"))
+                                                                 ("i2184"
+                                                                  "i2182"
+                                                                  "i2180"
+                                                                  "i2178"
+                                                                  "i2176"))
                                                                #(ribcage
                                                                  #(orig-args)
                                                                  #((top))
-                                                                 #("i2176"))
+                                                                 #("i2175"))
                                                                #(ribcage
                                                                  
(lambda-var-list
                                                                    gen-var
@@ -8052,143 +8052,143 @@
                                                                   (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"
+                                                                 ("i493"
+                                                                  "i491"
+                                                                  "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"
-                                                                  "i414"
-                                                                  "i412"
-                                                                  "i410"
-                                                                  "i408"
-                                                                  "i406"
-                                                                  "i404"
-                                                                  "i402"
-                                                                  "i400"
-                                                                  "i397"
-                                                                  "i395"
+                                                                  "i415"
+                                                                  "i413"
+                                                                  "i411"
+                                                                  "i409"
+                                                                  "i407"
+                                                                  "i405"
+                                                                  "i403"
+                                                                  "i401"
+                                                                  "i399"
+                                                                  "i396"
                                                                   "i394"
                                                                   "i393"
                                                                   "i392"
                                                                   "i391"
                                                                   "i390"
-                                                                  "i388"
-                                                                  "i386"
-                                                                  "i384"
-                                                                  "i382"
+                                                                  "i389"
+                                                                  "i387"
+                                                                  "i385"
+                                                                  "i383"
                                                                   "i381"
-                                                                  "i379"
-                                                                  "i377"
-                                                                  "i375"
-                                                                  "i373"
-                                                                  "i371"
-                                                                  "i369"
-                                                                  "i367"
+                                                                  "i380"
+                                                                  "i378"
+                                                                  "i376"
+                                                                  "i374"
+                                                                  "i372"
+                                                                  "i370"
+                                                                  "i368"
                                                                   "i366"
-                                                                  "i364"
-                                                                  "i362"
+                                                                  "i365"
+                                                                  "i363"
                                                                   "i361"
                                                                   "i360"
-                                                                  "i358"
+                                                                  "i359"
                                                                   "i357"
-                                                                  "i355"
-                                                                  "i353"
-                                                                  "i351"
-                                                                  "i349"
-                                                                  "i347"
-                                                                  "i345"
-                                                                  "i343"
-                                                                  "i341"
-                                                                  "i339"
-                                                                  "i337"
-                                                                  "i335"
-                                                                  "i333"
-                                                                  "i331"
-                                                                  "i329"
-                                                                  "i327"
-                                                                  "i325"
-                                                                  "i323"
-                                                                  "i321"
-                                                                  "i319"
-                                                                  "i317"
-                                                                  "i315"
-                                                                  "i313"
-                                                                  "i311"
-                                                                  "i309"
-                                                                  "i307"
-                                                                  "i305"
-                                                                  "i303"
-                                                                  "i301"
-                                                                  "i299"
-                                                                  "i297"
-                                                                  "i295"
-                                                                  "i293"
+                                                                  "i356"
+                                                                  "i354"
+                                                                  "i352"
+                                                                  "i350"
+                                                                  "i348"
+                                                                  "i346"
+                                                                  "i344"
+                                                                  "i342"
+                                                                  "i340"
+                                                                  "i338"
+                                                                  "i336"
+                                                                  "i334"
+                                                                  "i332"
+                                                                  "i330"
+                                                                  "i328"
+                                                                  "i326"
+                                                                  "i324"
+                                                                  "i322"
+                                                                  "i320"
+                                                                  "i318"
+                                                                  "i316"
+                                                                  "i314"
+                                                                  "i312"
+                                                                  "i310"
+                                                                  "i308"
+                                                                  "i306"
+                                                                  "i304"
+                                                                  "i302"
+                                                                  "i300"
+                                                                  "i298"
+                                                                  "i296"
+                                                                  "i294"
                                                                   "i292"
-                                                                  "i290"
-                                                                  "i288"
-                                                                  "i286"
-                                                                  "i284"
-                                                                  "i282"
-                                                                  "i280"
-                                                                  "i278"
-                                                                  "i276"
-                                                                  "i274"
-                                                                  "i271"
-                                                                  "i269"
-                                                                  "i267"
-                                                                  "i265"
-                                                                  "i263"
-                                                                  "i261"
-                                                                  "i259"
-                                                                  "i257"
-                                                                  "i255"
-                                                                  "i253"
-                                                                  "i251"
-                                                                  "i249"
-                                                                  "i247"
-                                                                  "i245"
-                                                                  "i243"
-                                                                  "i241"
-                                                                  "i239"
-                                                                  "i237"))
+                                                                  "i291"
+                                                                  "i289"
+                                                                  "i287"
+                                                                  "i285"
+                                                                  "i283"
+                                                                  "i281"
+                                                                  "i279"
+                                                                  "i277"
+                                                                  "i275"
+                                                                  "i273"
+                                                                  "i270"
+                                                                  "i268"
+                                                                  "i266"
+                                                                  "i264"
+                                                                  "i262"
+                                                                  "i260"
+                                                                  "i258"
+                                                                  "i256"
+                                                                  "i254"
+                                                                  "i252"
+                                                                  "i250"
+                                                                  "i248"
+                                                                  "i246"
+                                                                  "i244"
+                                                                  "i242"
+                                                                  "i240"
+                                                                  "i238"
+                                                                  "i236"))
                                                                #(ribcage
                                                                  
(define-structure
                                                                    
define-expansion-accessors
@@ -8198,2068 +8198,2073 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                 ("i39"
-                                                                  "i38"
+                                                                 ("i38"
                                                                   "i37"
-                                                                  "i35")))
+                                                                  "i36"
+                                                                  "i34")))
                                                               (hygiene
                                                                 guile)))))
-                                              #{rkey\ 2294}#)))))
-                                #{tmp\ 2301}#)
-                              (let ((#{tmp\ 2314}#
+                                              #{rkey\ 2293}#)))))
+                                #{tmp\ 2300}#)
+                              (let ((#{tmp\ 2313}#
                                       ($sc-dispatch
-                                        #{tmp\ 2299}#
+                                        #{tmp\ 2298}#
                                         '((any any) . any))))
-                                (if (if #{tmp\ 2314}#
+                                (if (if #{tmp\ 2313}#
                                       (@apply
-                                        (lambda (#{a\ 2318}#
-                                                 #{init\ 2319}#
-                                                 #{b\ 2320}#)
-                                          (#{id?\ 380}# #{a\ 2318}#))
-                                        #{tmp\ 2314}#)
+                                        (lambda (#{a\ 2317}#
+                                                 #{init\ 2318}#
+                                                 #{b\ 2319}#)
+                                          (#{id?\ 379}# #{a\ 2317}#))
+                                        #{tmp\ 2313}#)
                                       #f)
                                   (@apply
-                                    (lambda (#{a\ 2324}#
-                                             #{init\ 2325}#
-                                             #{b\ 2326}#)
-                                      (let ((#{tmp\ 2328}#
+                                    (lambda (#{a\ 2323}#
+                                             #{init\ 2324}#
+                                             #{b\ 2325}#)
+                                      (let ((#{tmp\ 2327}#
                                               (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\ 2323}#))))
+                                        (let ((#{k\ 2329}# #{tmp\ 2327}#))
+                                          (#{key\ 2181}#
+                                            #{b\ 2325}#
+                                            #{req\ 2291}#
+                                            #{opt\ 2292}#
+                                            (cons (list #{k\ 2329}#
+                                                        #{a\ 2323}#
+                                                        #{init\ 2324}#)
+                                                  #{rkey\ 2293}#)))))
+                                    #{tmp\ 2313}#)
+                                  (let ((#{tmp\ 2330}#
                                           ($sc-dispatch
-                                            #{tmp\ 2299}#
+                                            #{tmp\ 2298}#
                                             '((any any any) . any))))
-                                    (if (if #{tmp\ 2331}#
+                                    (if (if #{tmp\ 2330}#
                                           (@apply
-                                            (lambda (#{a\ 2336}#
-                                                     #{init\ 2337}#
-                                                     #{k\ 2338}#
-                                                     #{b\ 2339}#)
-                                              (if (#{id?\ 380}# #{a\ 2336}#)
+                                            (lambda (#{a\ 2335}#
+                                                     #{init\ 2336}#
+                                                     #{k\ 2337}#
+                                                     #{b\ 2338}#)
+                                              (if (#{id?\ 379}# #{a\ 2335}#)
                                                 (keyword?
-                                                  (syntax->datum #{k\ 2338}#))
+                                                  (syntax->datum #{k\ 2337}#))
                                                 #f))
-                                            #{tmp\ 2331}#)
+                                            #{tmp\ 2330}#)
                                           #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\ 2345}#
+                                                 #{init\ 2346}#
+                                                 #{k\ 2347}#
+                                                 #{b\ 2348}#)
+                                          (#{key\ 2181}#
+                                            #{b\ 2348}#
+                                            #{req\ 2291}#
+                                            #{opt\ 2292}#
+                                            (cons (list #{k\ 2347}#
+                                                        #{a\ 2345}#
+                                                        #{init\ 2346}#)
+                                                  #{rkey\ 2293}#)))
+                                        #{tmp\ 2330}#)
+                                      (let ((#{tmp\ 2349}#
                                               ($sc-dispatch
-                                                #{tmp\ 2299}#
+                                                #{tmp\ 2298}#
                                                 '(any))))
-                                        (if (if #{tmp\ 2350}#
+                                        (if (if #{tmp\ 2349}#
                                               (@apply
-                                                (lambda (#{aok\ 2352}#)
+                                                (lambda (#{aok\ 2351}#)
                                                   (eq? (syntax->datum
-                                                         #{aok\ 2352}#)
+                                                         #{aok\ 2351}#)
                                                        #:allow-other-keys))
-                                                #{tmp\ 2350}#)
+                                                #{tmp\ 2349}#)
                                               #f)
                                           (@apply
-                                            (lambda (#{aok\ 2354}#)
-                                              (#{check\ 2186}#
-                                                #{req\ 2292}#
-                                                #{opt\ 2293}#
+                                            (lambda (#{aok\ 2353}#)
+                                              (#{check\ 2185}#
+                                                #{req\ 2291}#
+                                                #{opt\ 2292}#
                                                 #f
                                                 (cons #t
                                                       (reverse
-                                                        #{rkey\ 2294}#))))
-                                            #{tmp\ 2350}#)
-                                          (let ((#{tmp\ 2355}#
+                                                        #{rkey\ 2293}#))))
+                                            #{tmp\ 2349}#)
+                                          (let ((#{tmp\ 2354}#
                                                   ($sc-dispatch
-                                                    #{tmp\ 2299}#
+                                                    #{tmp\ 2298}#
                                                     '(any any any))))
-                                            (if (if #{tmp\ 2355}#
+                                            (if (if #{tmp\ 2354}#
                                                   (@apply
-                                                    (lambda (#{aok\ 2359}#
-                                                             #{a\ 2360}#
-                                                             #{b\ 2361}#)
+                                                    (lambda (#{aok\ 2358}#
+                                                             #{a\ 2359}#
+                                                             #{b\ 2360}#)
                                                       (if (eq? (syntax->datum
-                                                                 #{aok\ 2359}#)
+                                                                 #{aok\ 2358}#)
                                                                
#:allow-other-keys)
                                                         (eq? (syntax->datum
-                                                               #{a\ 2360}#)
+                                                               #{a\ 2359}#)
                                                              #:rest)
                                                         #f))
-                                                    #{tmp\ 2355}#)
+                                                    #{tmp\ 2354}#)
                                                   #f)
                                               (@apply
-                                                (lambda (#{aok\ 2367}#
-                                                         #{a\ 2368}#
-                                                         #{b\ 2369}#)
-                                                  (#{rest\ 2184}#
-                                                    #{b\ 2369}#
-                                                    #{req\ 2292}#
-                                                    #{opt\ 2293}#
+                                                (lambda (#{aok\ 2366}#
+                                                         #{a\ 2367}#
+                                                         #{b\ 2368}#)
+                                                  (#{rest\ 2183}#
+                                                    #{b\ 2368}#
+                                                    #{req\ 2291}#
+                                                    #{opt\ 2292}#
                                                     (cons #t
                                                           (reverse
-                                                            #{rkey\ 2294}#))))
-                                                #{tmp\ 2355}#)
-                                              (let ((#{tmp\ 2370}#
+                                                            #{rkey\ 2293}#))))
+                                                #{tmp\ 2354}#)
+                                              (let ((#{tmp\ 2369}#
                                                       ($sc-dispatch
-                                                        #{tmp\ 2299}#
+                                                        #{tmp\ 2298}#
                                                         '(any . any))))
-                                                (if (if #{tmp\ 2370}#
+                                                (if (if #{tmp\ 2369}#
                                                       (@apply
-                                                        (lambda (#{aok\ 2373}#
-                                                                 #{r\ 2374}#)
+                                                        (lambda (#{aok\ 2372}#
+                                                                 #{r\ 2373}#)
                                                           (if (eq? 
(syntax->datum
-                                                                     #{aok\ 
2373}#)
+                                                                     #{aok\ 
2372}#)
                                                                    
#:allow-other-keys)
-                                                            (#{id?\ 380}#
-                                                              #{r\ 2374}#)
+                                                            (#{id?\ 379}#
+                                                              #{r\ 2373}#)
                                                             #f))
-                                                        #{tmp\ 2370}#)
+                                                        #{tmp\ 2369}#)
                                                       #f)
                                                   (@apply
-                                                    (lambda (#{aok\ 2379}#
-                                                             #{r\ 2380}#)
-                                                      (#{rest\ 2184}#
-                                                        #{r\ 2380}#
-                                                        #{req\ 2292}#
-                                                        #{opt\ 2293}#
+                                                    (lambda (#{aok\ 2378}#
+                                                             #{r\ 2379}#)
+                                                      (#{rest\ 2183}#
+                                                        #{r\ 2379}#
+                                                        #{req\ 2291}#
+                                                        #{opt\ 2292}#
                                                         (cons #t
                                                               (reverse
-                                                                #{rkey\ 
2294}#))))
-                                                    #{tmp\ 2370}#)
-                                                  (let ((#{tmp\ 2381}#
+                                                                #{rkey\ 
2293}#))))
+                                                    #{tmp\ 2369}#)
+                                                  (let ((#{tmp\ 2380}#
                                                           ($sc-dispatch
-                                                            #{tmp\ 2299}#
+                                                            #{tmp\ 2298}#
                                                             '(any any))))
-                                                    (if (if #{tmp\ 2381}#
+                                                    (if (if #{tmp\ 2380}#
                                                           (@apply
-                                                            (lambda (#{a\ 
2384}#
-                                                                     #{b\ 
2385}#)
+                                                            (lambda (#{a\ 
2383}#
+                                                                     #{b\ 
2384}#)
                                                               (eq? 
(syntax->datum
-                                                                     #{a\ 
2384}#)
+                                                                     #{a\ 
2383}#)
                                                                    #:rest))
-                                                            #{tmp\ 2381}#)
+                                                            #{tmp\ 2380}#)
                                                           #f)
                                                       (@apply
-                                                        (lambda (#{a\ 2388}#
-                                                                 #{b\ 2389}#)
-                                                          (#{rest\ 2184}#
-                                                            #{b\ 2389}#
-                                                            #{req\ 2292}#
-                                                            #{opt\ 2293}#
+                                                        (lambda (#{a\ 2387}#
+                                                                 #{b\ 2388}#)
+                                                          (#{rest\ 2183}#
+                                                            #{b\ 2388}#
+                                                            #{req\ 2291}#
+                                                            #{opt\ 2292}#
                                                             (cons #f
                                                                   (reverse
-                                                                    #{rkey\ 
2294}#))))
-                                                        #{tmp\ 2381}#)
-                                                      (let ((#{tmp\ 2390}#
-                                                              (list #{tmp\ 
2299}#)))
-                                                        (if (if #{tmp\ 2390}#
+                                                                    #{rkey\ 
2293}#))))
+                                                        #{tmp\ 2380}#)
+                                                      (let ((#{tmp\ 2389}#
+                                                              (list #{tmp\ 
2298}#)))
+                                                        (if (if #{tmp\ 2389}#
                                                               (@apply
-                                                                (lambda (#{r\ 
2392}#)
-                                                                  (#{id?\ 380}#
-                                                                    #{r\ 
2392}#))
-                                                                #{tmp\ 2390}#)
+                                                                (lambda (#{r\ 
2391}#)
+                                                                  (#{id?\ 379}#
+                                                                    #{r\ 
2391}#))
+                                                                #{tmp\ 2389}#)
                                                               #f)
                                                           (@apply
-                                                            (lambda (#{r\ 
2394}#)
-                                                              (#{rest\ 2184}#
-                                                                #{r\ 2394}#
-                                                                #{req\ 2292}#
-                                                                #{opt\ 2293}#
+                                                            (lambda (#{r\ 
2393}#)
+                                                              (#{rest\ 2183}#
+                                                                #{r\ 2393}#
+                                                                #{req\ 2291}#
+                                                                #{opt\ 2292}#
                                                                 (cons #f
                                                                       (reverse
-                                                                        
#{rkey\ 2294}#))))
-                                                            #{tmp\ 2390}#)
-                                                          (let ((#{else\ 2396}#
-                                                                  #{tmp\ 
2299}#))
+                                                                        
#{rkey\ 2293}#))))
+                                                            #{tmp\ 2389}#)
+                                                          (let ((#{else\ 2395}#
+                                                                  #{tmp\ 
2298}#))
                                                             (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\ 
2174}#
+                                                              #{args\ 
2290}#)))))))))))))))))))))))
+                (#{rest\ 2183}#
+                  (lambda (#{args\ 2396}#
+                           #{req\ 2397}#
+                           #{opt\ 2398}#
+                           #{kw\ 2399}#)
+                    (let ((#{tmp\ 2404}# #{args\ 2396}#))
+                      (let ((#{tmp\ 2405}# (list #{tmp\ 2404}#)))
+                        (if (if #{tmp\ 2405}#
                               (@apply
-                                (lambda (#{r\ 2408}#)
-                                  (#{id?\ 380}# #{r\ 2408}#))
-                                #{tmp\ 2406}#)
+                                (lambda (#{r\ 2407}#)
+                                  (#{id?\ 379}# #{r\ 2407}#))
+                                #{tmp\ 2405}#)
                               #f)
                           (@apply
-                            (lambda (#{r\ 2410}#)
-                              (#{check\ 2186}#
-                                #{req\ 2398}#
-                                #{opt\ 2399}#
-                                #{r\ 2410}#
-                                #{kw\ 2400}#))
-                            #{tmp\ 2406}#)
-                          (let ((#{else\ 2412}# #{tmp\ 2405}#))
+                            (lambda (#{r\ 2409}#)
+                              (#{check\ 2185}#
+                                #{req\ 2397}#
+                                #{opt\ 2398}#
+                                #{r\ 2409}#
+                                #{kw\ 2399}#))
+                            #{tmp\ 2405}#)
+                          (let ((#{else\ 2411}# #{tmp\ 2404}#))
                             (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\ 2174}#
+                              #{args\ 2396}#)))))))
+                (#{check\ 2185}#
+                  (lambda (#{req\ 2412}#
+                           #{opt\ 2413}#
+                           #{rest\ 2414}#
+                           #{kw\ 2415}#)
+                    (if (#{distinct-bound-ids?\ 444}#
                           (append
-                            #{req\ 2413}#
-                            (map car #{opt\ 2414}#)
-                            (if #{rest\ 2415}#
-                              (list #{rest\ 2415}#)
+                            #{req\ 2412}#
+                            (map car #{opt\ 2413}#)
+                            (if #{rest\ 2414}#
+                              (list #{rest\ 2414}#)
                               '())
-                            (if (pair? #{kw\ 2416}#)
-                              (map cadr (cdr #{kw\ 2416}#))
+                            (if (pair? #{kw\ 2415}#)
+                              (map cadr (cdr #{kw\ 2415}#))
                               '())))
                       (values
-                        #{req\ 2413}#
-                        #{opt\ 2414}#
-                        #{rest\ 2415}#
-                        #{kw\ 2416}#)
+                        #{req\ 2412}#
+                        #{opt\ 2413}#
+                        #{rest\ 2414}#
+                        #{kw\ 2415}#)
                       (syntax-violation
                         'lambda*
                         "duplicate identifier in argument list"
-                        #{orig-args\ 2175}#)))))
+                        #{orig-args\ 2174}#)))))
                (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\ 2177}# #{orig-args\ 2174}# (quote ()))))))
+         (#{chi-lambda-case\ 488}#
+           (lambda (#{e\ 2423}#
+                    #{r\ 2424}#
+                    #{w\ 2425}#
+                    #{s\ 2426}#
+                    #{mod\ 2427}#
+                    #{get-formals\ 2428}#
+                    #{clauses\ 2429}#)
              (letrec*
-               ((#{expand-req\ 2439}#
-                  (lambda (#{req\ 2446}#
-                           #{opt\ 2447}#
-                           #{rest\ 2448}#
-                           #{kw\ 2449}#
-                           #{body\ 2450}#)
+               ((#{expand-req\ 2438}#
+                  (lambda (#{req\ 2445}#
+                           #{opt\ 2446}#
+                           #{rest\ 2447}#
+                           #{kw\ 2448}#
+                           #{body\ 2449}#)
                     (begin
-                      (let ((#{vars\ 2458}#
-                              (map #{gen-var\ 493}# #{req\ 2446}#))
-                            (#{labels\ 2459}#
-                              (#{gen-labels\ 398}# #{req\ 2446}#)))
+                      (let ((#{vars\ 2457}#
+                              (map #{gen-var\ 492}# #{req\ 2445}#))
+                            (#{labels\ 2458}#
+                              (#{gen-labels\ 397}# #{req\ 2445}#)))
                         (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*\ 2461}#
+                                  (#{extend-var-env\ 369}#
+                                    #{labels\ 2458}#
+                                    #{vars\ 2457}#
+                                    #{r\ 2424}#))
+                                (#{w*\ 2462}#
+                                  (#{make-binding-wrap\ 426}#
+                                    #{req\ 2445}#
+                                    #{labels\ 2458}#
+                                    #{w\ 2425}#)))
+                            (#{expand-opt\ 2440}#
+                              (map syntax->datum #{req\ 2445}#)
+                              #{opt\ 2446}#
+                              #{rest\ 2447}#
+                              #{kw\ 2448}#
+                              #{body\ 2449}#
+                              (reverse #{vars\ 2457}#)
+                              #{r*\ 2461}#
+                              #{w*\ 2462}#
                               '()
                               '())))))))
-                (#{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\ 2440}#
+                  (lambda (#{req\ 2463}#
+                           #{opt\ 2464}#
+                           #{rest\ 2465}#
+                           #{kw\ 2466}#
+                           #{body\ 2467}#
+                           #{vars\ 2468}#
+                           #{r*\ 2469}#
+                           #{w*\ 2470}#
+                           #{out\ 2471}#
+                           #{inits\ 2472}#)
+                    (if (pair? #{opt\ 2464}#)
+                      (let ((#{tmp\ 2485}# (car #{opt\ 2464}#)))
+                        (let ((#{tmp\ 2486}#
                                 ($sc-dispatch
-                                  #{tmp\ 2486}#
+                                  #{tmp\ 2485}#
                                   '(any any))))
-                          (if #{tmp\ 2487}#
+                          (if #{tmp\ 2486}#
                             (@apply
-                              (lambda (#{id\ 2490}# #{i\ 2491}#)
+                              (lambda (#{id\ 2489}# #{i\ 2490}#)
                                 (begin
-                                  (let ((#{v\ 2494}#
-                                          (#{gen-var\ 493}# #{id\ 2490}#)))
+                                  (let ((#{v\ 2493}#
+                                          (#{gen-var\ 492}# #{id\ 2489}#)))
                                     (begin
-                                      (let ((#{l\ 2496}#
-                                              (#{gen-labels\ 398}#
-                                                (list #{v\ 2494}#))))
+                                      (let ((#{l\ 2495}#
+                                              (#{gen-labels\ 397}#
+                                                (list #{v\ 2493}#))))
                                         (begin
-                                          (let ((#{r**\ 2498}#
-                                                  (#{extend-var-env\ 370}#
-                                                    #{l\ 2496}#
-                                                    (list #{v\ 2494}#)
-                                                    #{r*\ 2470}#)))
+                                          (let ((#{r**\ 2497}#
+                                                  (#{extend-var-env\ 369}#
+                                                    #{l\ 2495}#
+                                                    (list #{v\ 2493}#)
+                                                    #{r*\ 2469}#)))
                                             (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**\ 2499}#
+                                                      (#{make-binding-wrap\ 
426}#
+                                                        (list #{id\ 2489}#)
+                                                        #{l\ 2495}#
+                                                        #{w*\ 2470}#)))
+                                                (#{expand-opt\ 2440}#
+                                                  #{req\ 2463}#
+                                                  (cdr #{opt\ 2464}#)
+                                                  #{rest\ 2465}#
+                                                  #{kw\ 2466}#
+                                                  #{body\ 2467}#
+                                                  (cons #{v\ 2493}#
+                                                        #{vars\ 2468}#)
+                                                  #{r**\ 2497}#
+                                                  #{w**\ 2499}#
                                                   (cons (syntax->datum
-                                                          #{id\ 2490}#)
-                                                        #{out\ 2472}#)
-                                                  (cons (#{chi\ 465}#
-                                                          #{i\ 2491}#
-                                                          #{r*\ 2470}#
-                                                          #{w*\ 2471}#
-                                                          #{mod\ 2428}#)
-                                                        #{inits\ 
2473}#)))))))))))
-                              #{tmp\ 2487}#)
+                                                          #{id\ 2489}#)
+                                                        #{out\ 2471}#)
+                                                  (cons (#{chi\ 464}#
+                                                          #{i\ 2490}#
+                                                          #{r*\ 2469}#
+                                                          #{w*\ 2470}#
+                                                          #{mod\ 2427}#)
+                                                        #{inits\ 
2472}#)))))))))))
+                              #{tmp\ 2486}#)
                             (syntax-violation
                               #f
                               "source expression failed to match any pattern"
-                              #{tmp\ 2486}#))))
-                      (if #{rest\ 2466}#
+                              #{tmp\ 2485}#))))
+                      (if #{rest\ 2465}#
                         (begin
-                          (let ((#{v\ 2505}#
-                                  (#{gen-var\ 493}# #{rest\ 2466}#)))
+                          (let ((#{v\ 2504}#
+                                  (#{gen-var\ 492}# #{rest\ 2465}#)))
                             (begin
-                              (let ((#{l\ 2507}#
-                                      (#{gen-labels\ 398}#
-                                        (list #{v\ 2505}#))))
+                              (let ((#{l\ 2506}#
+                                      (#{gen-labels\ 397}#
+                                        (list #{v\ 2504}#))))
                                 (begin
-                                  (let ((#{r*\ 2509}#
-                                          (#{extend-var-env\ 370}#
-                                            #{l\ 2507}#
-                                            (list #{v\ 2505}#)
-                                            #{r*\ 2470}#)))
+                                  (let ((#{r*\ 2508}#
+                                          (#{extend-var-env\ 369}#
+                                            #{l\ 2506}#
+                                            (list #{v\ 2504}#)
+                                            #{r*\ 2469}#)))
                                     (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*\ 2510}#
+                                              (#{make-binding-wrap\ 426}#
+                                                (list #{rest\ 2465}#)
+                                                #{l\ 2506}#
+                                                #{w*\ 2470}#)))
+                                        (#{expand-kw\ 2442}#
+                                          #{req\ 2463}#
+                                          (if (pair? #{out\ 2471}#)
+                                            (reverse #{out\ 2471}#)
                                             #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\ 2465}#)
+                                          (if (pair? #{kw\ 2466}#)
+                                            (cdr #{kw\ 2466}#)
+                                            #{kw\ 2466}#)
+                                          #{body\ 2467}#
+                                          (cons #{v\ 2504}# #{vars\ 2468}#)
+                                          #{r*\ 2508}#
+                                          #{w*\ 2510}#
+                                          (if (pair? #{kw\ 2466}#)
+                                            (car #{kw\ 2466}#)
                                             #f)
                                           '()
-                                          #{inits\ 2473}#)))))))))
-                        (#{expand-kw\ 2443}#
-                          #{req\ 2464}#
-                          (if (pair? #{out\ 2472}#)
-                            (reverse #{out\ 2472}#)
+                                          #{inits\ 2472}#)))))))))
+                        (#{expand-kw\ 2442}#
+                          #{req\ 2463}#
+                          (if (pair? #{out\ 2471}#)
+                            (reverse #{out\ 2471}#)
                             #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\ 2466}#)
+                            (cdr #{kw\ 2466}#)
+                            #{kw\ 2466}#)
+                          #{body\ 2467}#
+                          #{vars\ 2468}#
+                          #{r*\ 2469}#
+                          #{w*\ 2470}#
+                          (if (pair? #{kw\ 2466}#) (car #{kw\ 2466}#) #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\ 2472}#)))))
+                (#{expand-kw\ 2442}#
+                  (lambda (#{req\ 2512}#
+                           #{opt\ 2513}#
+                           #{rest\ 2514}#
+                           #{kw\ 2515}#
+                           #{body\ 2516}#
+                           #{vars\ 2517}#
+                           #{r*\ 2518}#
+                           #{w*\ 2519}#
+                           #{aok\ 2520}#
+                           #{out\ 2521}#
+                           #{inits\ 2522}#)
+                    (if (pair? #{kw\ 2515}#)
+                      (let ((#{tmp\ 2536}# (car #{kw\ 2515}#)))
+                        (let ((#{tmp\ 2537}#
                                 ($sc-dispatch
-                                  #{tmp\ 2537}#
+                                  #{tmp\ 2536}#
                                   '(any any any))))
-                          (if #{tmp\ 2538}#
+                          (if #{tmp\ 2537}#
                             (@apply
-                              (lambda (#{k\ 2542}# #{id\ 2543}# #{i\ 2544}#)
+                              (lambda (#{k\ 2541}# #{id\ 2542}# #{i\ 2543}#)
                                 (begin
-                                  (let ((#{v\ 2547}#
-                                          (#{gen-var\ 493}# #{id\ 2543}#)))
+                                  (let ((#{v\ 2546}#
+                                          (#{gen-var\ 492}# #{id\ 2542}#)))
                                     (begin
-                                      (let ((#{l\ 2549}#
-                                              (#{gen-labels\ 398}#
-                                                (list #{v\ 2547}#))))
+                                      (let ((#{l\ 2548}#
+                                              (#{gen-labels\ 397}#
+                                                (list #{v\ 2546}#))))
                                         (begin
-                                          (let ((#{r**\ 2551}#
-                                                  (#{extend-var-env\ 370}#
-                                                    #{l\ 2549}#
-                                                    (list #{v\ 2547}#)
-                                                    #{r*\ 2519}#)))
+                                          (let ((#{r**\ 2550}#
+                                                  (#{extend-var-env\ 369}#
+                                                    #{l\ 2548}#
+                                                    (list #{v\ 2546}#)
+                                                    #{r*\ 2518}#)))
                                             (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**\ 2552}#
+                                                      (#{make-binding-wrap\ 
426}#
+                                                        (list #{id\ 2542}#)
+                                                        #{l\ 2548}#
+                                                        #{w*\ 2519}#)))
+                                                (#{expand-kw\ 2442}#
+                                                  #{req\ 2512}#
+                                                  #{opt\ 2513}#
+                                                  #{rest\ 2514}#
+                                                  (cdr #{kw\ 2515}#)
+                                                  #{body\ 2516}#
+                                                  (cons #{v\ 2546}#
+                                                        #{vars\ 2517}#)
+                                                  #{r**\ 2550}#
+                                                  #{w**\ 2552}#
+                                                  #{aok\ 2520}#
                                                   (cons (list (syntax->datum
-                                                                #{k\ 2542}#)
+                                                                #{k\ 2541}#)
                                                               (syntax->datum
-                                                                #{id\ 2543}#)
-                                                              #{v\ 2547}#)
-                                                        #{out\ 2522}#)
-                                                  (cons (#{chi\ 465}#
-                                                          #{i\ 2544}#
-                                                          #{r*\ 2519}#
-                                                          #{w*\ 2520}#
-                                                          #{mod\ 2428}#)
-                                                        #{inits\ 
2523}#)))))))))))
-                              #{tmp\ 2538}#)
+                                                                #{id\ 2542}#)
+                                                              #{v\ 2546}#)
+                                                        #{out\ 2521}#)
+                                                  (cons (#{chi\ 464}#
+                                                          #{i\ 2543}#
+                                                          #{r*\ 2518}#
+                                                          #{w*\ 2519}#
+                                                          #{mod\ 2427}#)
+                                                        #{inits\ 
2522}#)))))))))))
+                              #{tmp\ 2537}#)
                             (syntax-violation
                               #f
                               "source expression failed to match any pattern"
-                              #{tmp\ 2537}#))))
-                      (#{expand-body\ 2445}#
-                        #{req\ 2513}#
-                        #{opt\ 2514}#
-                        #{rest\ 2515}#
+                              #{tmp\ 2536}#))))
+                      (#{expand-body\ 2444}#
+                        #{req\ 2512}#
+                        #{opt\ 2513}#
+                        #{rest\ 2514}#
                         (if (begin
-                              (let ((#{t\ 2557}# #{aok\ 2521}#))
-                                (if #{t\ 2557}#
-                                  #{t\ 2557}#
-                                  (pair? #{out\ 2522}#))))
-                          (cons #{aok\ 2521}# (reverse #{out\ 2522}#))
+                              (let ((#{t\ 2556}# #{aok\ 2520}#))
+                                (if #{t\ 2556}#
+                                  #{t\ 2556}#
+                                  (pair? #{out\ 2521}#))))
+                          (cons #{aok\ 2520}# (reverse #{out\ 2521}#))
                           #f)
-                        #{body\ 2517}#
-                        (reverse #{vars\ 2518}#)
-                        #{r*\ 2519}#
-                        #{w*\ 2520}#
-                        (reverse #{inits\ 2523}#)
+                        #{body\ 2516}#
+                        (reverse #{vars\ 2517}#)
+                        #{r*\ 2518}#
+                        #{w*\ 2519}#
+                        (reverse #{inits\ 2522}#)
                         '()))))
-                (#{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\ 2444}#
+                  (lambda (#{req\ 2558}#
+                           #{opt\ 2559}#
+                           #{rest\ 2560}#
+                           #{kw\ 2561}#
+                           #{body\ 2562}#
+                           #{vars\ 2563}#
+                           #{r*\ 2564}#
+                           #{w*\ 2565}#
+                           #{inits\ 2566}#
+                           #{meta\ 2567}#)
+                    (let ((#{tmp\ 2578}# #{body\ 2562}#))
+                      (let ((#{tmp\ 2579}#
                               ($sc-dispatch
-                                #{tmp\ 2579}#
+                                #{tmp\ 2578}#
                                 '(any any . each-any))))
-                        (if (if #{tmp\ 2580}#
+                        (if (if #{tmp\ 2579}#
                               (@apply
-                                (lambda (#{docstring\ 2584}#
-                                         #{e1\ 2585}#
-                                         #{e2\ 2586}#)
+                                (lambda (#{docstring\ 2583}#
+                                         #{e1\ 2584}#
+                                         #{e2\ 2585}#)
                                   (string?
-                                    (syntax->datum #{docstring\ 2584}#)))
-                                #{tmp\ 2580}#)
+                                    (syntax->datum #{docstring\ 2583}#)))
+                                #{tmp\ 2579}#)
                               #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\ 2589}#
+                                     #{e1\ 2590}#
+                                     #{e2\ 2591}#)
+                              (#{expand-body\ 2444}#
+                                #{req\ 2558}#
+                                #{opt\ 2559}#
+                                #{rest\ 2560}#
+                                #{kw\ 2561}#
+                                (cons #{e1\ 2590}# #{e2\ 2591}#)
+                                #{vars\ 2563}#
+                                #{r*\ 2564}#
+                                #{w*\ 2565}#
+                                #{inits\ 2566}#
                                 (append
-                                  #{meta\ 2568}#
+                                  #{meta\ 2567}#
                                   (list (cons 'documentation
                                               (syntax->datum
-                                                #{docstring\ 2590}#))))))
-                            #{tmp\ 2580}#)
-                          (let ((#{tmp\ 2595}#
+                                                #{docstring\ 2589}#))))))
+                            #{tmp\ 2579}#)
+                          (let ((#{tmp\ 2594}#
                                   ($sc-dispatch
-                                    #{tmp\ 2579}#
+                                    #{tmp\ 2578}#
                                     '(#(vector #(each (any . any)))
                                       any
                                       .
                                       each-any))))
-                            (if #{tmp\ 2595}#
+                            (if #{tmp\ 2594}#
                               (@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\ 2599}#
+                                         #{v\ 2600}#
+                                         #{e1\ 2601}#
+                                         #{e2\ 2602}#)
+                                  (#{expand-body\ 2444}#
+                                    #{req\ 2558}#
+                                    #{opt\ 2559}#
+                                    #{rest\ 2560}#
+                                    #{kw\ 2561}#
+                                    (cons #{e1\ 2601}# #{e2\ 2602}#)
+                                    #{vars\ 2563}#
+                                    #{r*\ 2564}#
+                                    #{w*\ 2565}#
+                                    #{inits\ 2566}#
                                     (append
-                                      #{meta\ 2568}#
+                                      #{meta\ 2567}#
                                       (syntax->datum
-                                        (map cons #{k\ 2600}# #{v\ 2601}#)))))
-                                #{tmp\ 2595}#)
-                              (let ((#{tmp\ 2607}#
+                                        (map cons #{k\ 2599}# #{v\ 2600}#)))))
+                                #{tmp\ 2594}#)
+                              (let ((#{tmp\ 2606}#
                                       ($sc-dispatch
-                                        #{tmp\ 2579}#
+                                        #{tmp\ 2578}#
                                         '(any . each-any))))
-                                (if #{tmp\ 2607}#
+                                (if #{tmp\ 2606}#
                                   (@apply
-                                    (lambda (#{e1\ 2610}# #{e2\ 2611}#)
+                                    (lambda (#{e1\ 2609}# #{e2\ 2610}#)
                                       (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\ 2567}#
+                                        #{req\ 2558}#
+                                        #{opt\ 2559}#
+                                        #{rest\ 2560}#
+                                        #{kw\ 2561}#
+                                        #{inits\ 2566}#
+                                        #{vars\ 2563}#
+                                        (#{chi-body\ 472}#
+                                          (cons #{e1\ 2609}# #{e2\ 2610}#)
+                                          (#{source-wrap\ 450}#
+                                            #{e\ 2423}#
+                                            #{w\ 2425}#
+                                            #{s\ 2426}#
+                                            #{mod\ 2427}#)
+                                          #{r*\ 2564}#
+                                          #{w*\ 2565}#
+                                          #{mod\ 2427}#)))
+                                    #{tmp\ 2606}#)
                                   (syntax-violation
                                     #f
                                     "source expression failed to match any 
pattern"
-                                    #{tmp\ 2579}#)))))))))))
+                                    #{tmp\ 2578}#)))))))))))
                (begin
-                 (let ((#{tmp\ 2613}# #{clauses\ 2430}#))
-                   (let ((#{tmp\ 2614}#
-                           ($sc-dispatch #{tmp\ 2613}# (quote ()))))
-                     (if #{tmp\ 2614}#
+                 (let ((#{tmp\ 2612}# #{clauses\ 2429}#))
+                   (let ((#{tmp\ 2613}#
+                           ($sc-dispatch #{tmp\ 2612}# (quote ()))))
+                     (if #{tmp\ 2613}#
                        (@apply
                          (lambda () (values (quote ()) #f))
-                         #{tmp\ 2614}#)
-                       (let ((#{tmp\ 2615}#
+                         #{tmp\ 2613}#)
+                       (let ((#{tmp\ 2614}#
                                ($sc-dispatch
-                                 #{tmp\ 2613}#
+                                 #{tmp\ 2612}#
                                  '((any any . each-any)
                                    .
                                    #(each (any any . each-any))))))
-                         (if #{tmp\ 2615}#
+                         (if #{tmp\ 2614}#
                            (@apply
-                             (lambda (#{args\ 2622}#
-                                      #{e1\ 2623}#
-                                      #{e2\ 2624}#
-                                      #{args*\ 2625}#
-                                      #{e1*\ 2626}#
-                                      #{e2*\ 2627}#)
+                             (lambda (#{args\ 2621}#
+                                      #{e1\ 2622}#
+                                      #{e2\ 2623}#
+                                      #{args*\ 2624}#
+                                      #{e1*\ 2625}#
+                                      #{e2*\ 2626}#)
                                (call-with-values
                                  (lambda ()
-                                   (#{get-formals\ 2429}# #{args\ 2622}#))
-                                 (lambda (#{req\ 2628}#
-                                          #{opt\ 2629}#
-                                          #{rest\ 2630}#
-                                          #{kw\ 2631}#)
+                                   (#{get-formals\ 2428}# #{args\ 2621}#))
+                                 (lambda (#{req\ 2627}#
+                                          #{opt\ 2628}#
+                                          #{rest\ 2629}#
+                                          #{kw\ 2630}#)
                                    (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\ 2438}#
+                                         #{req\ 2627}#
+                                         #{opt\ 2628}#
+                                         #{rest\ 2629}#
+                                         #{kw\ 2630}#
+                                         (cons #{e1\ 2622}# #{e2\ 2623}#)))
+                                     (lambda (#{meta\ 2636}#
+                                              #{req\ 2637}#
+                                              #{opt\ 2638}#
+                                              #{rest\ 2639}#
+                                              #{kw\ 2640}#
+                                              #{inits\ 2641}#
+                                              #{vars\ 2642}#
+                                              #{body\ 2643}#)
                                        (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\ 488}#
+                                             #{e\ 2423}#
+                                             #{r\ 2424}#
+                                             #{w\ 2425}#
+                                             #{s\ 2426}#
+                                             #{mod\ 2427}#
+                                             #{get-formals\ 2428}#
+                                             (map (lambda (#{tmp\ 2654}#
+                                                           #{tmp\ 2653}#
+                                                           #{tmp\ 2652}#)
+                                                    (cons #{tmp\ 2652}#
+                                                          (cons #{tmp\ 2653}#
+                                                                #{tmp\ 
2654}#)))
+                                                  #{e2*\ 2626}#
+                                                  #{e1*\ 2625}#
+                                                  #{args*\ 2624}#)))
+                                         (lambda (#{meta*\ 2656}#
+                                                  #{else*\ 2657}#)
                                            (values
                                              (append
-                                               #{meta\ 2637}#
-                                               #{meta*\ 2657}#)
-                                             (#{build-lambda-case\ 326}#
-                                               #{s\ 2427}#
-                                               #{req\ 2638}#
-                                               #{opt\ 2639}#
-                                               #{rest\ 2640}#
-                                               #{kw\ 2641}#
-                                               #{inits\ 2642}#
-                                               #{vars\ 2643}#
-                                               #{body\ 2644}#
-                                               #{else*\ 2658}#)))))))))
-                             #{tmp\ 2615}#)
+                                               #{meta\ 2636}#
+                                               #{meta*\ 2656}#)
+                                             (#{build-lambda-case\ 325}#
+                                               #{s\ 2426}#
+                                               #{req\ 2637}#
+                                               #{opt\ 2638}#
+                                               #{rest\ 2639}#
+                                               #{kw\ 2640}#
+                                               #{inits\ 2641}#
+                                               #{vars\ 2642}#
+                                               #{body\ 2643}#
+                                               #{else*\ 2657}#)))))))))
+                             #{tmp\ 2614}#)
                            (syntax-violation
                              #f
                              "source expression failed to match any pattern"
-                             #{tmp\ 2613}#))))))))))
-         (#{strip\ 491}#
-           (lambda (#{x\ 2661}# #{w\ 2662}#)
+                             #{tmp\ 2612}#))))))))))
+         (#{strip\ 490}#
+           (lambda (#{x\ 2660}# #{w\ 2661}#)
              (if (memq 'top
-                       (#{wrap-marks\ 387}# #{w\ 2662}#))
-               #{x\ 2661}#
+                       (#{wrap-marks\ 386}# #{w\ 2661}#))
+               #{x\ 2660}#
                (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\ 2667}#
+                    (lambda (#{x\ 2668}#)
+                      (if (#{syntax-object?\ 343}# #{x\ 2668}#)
+                        (#{strip\ 490}#
+                          (#{syntax-object-expression\ 345}# #{x\ 2668}#)
+                          (#{syntax-object-wrap\ 347}# #{x\ 2668}#))
+                        (if (pair? #{x\ 2668}#)
                           (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\ 2675}# (#{f\ 2667}# (car #{x\ 2668}#)))
+                                  (#{d\ 2676}#
+                                    (#{f\ 2667}# (cdr #{x\ 2668}#))))
+                              (if (if (eq? #{a\ 2675}# (car #{x\ 2668}#))
+                                    (eq? #{d\ 2676}# (cdr #{x\ 2668}#))
                                     #f)
-                                #{x\ 2669}#
-                                (cons #{a\ 2676}# #{d\ 2677}#))))
-                          (if (vector? #{x\ 2669}#)
+                                #{x\ 2668}#
+                                (cons #{a\ 2675}# #{d\ 2676}#))))
+                          (if (vector? #{x\ 2668}#)
                             (begin
-                              (let ((#{old\ 2683}# (vector->list #{x\ 2669}#)))
+                              (let ((#{old\ 2682}# (vector->list #{x\ 2668}#)))
                                 (begin
-                                  (let ((#{new\ 2685}#
-                                          (map #{f\ 2668}# #{old\ 2683}#)))
-                                    (if (#{and-map*\ 36}#
+                                  (let ((#{new\ 2684}#
+                                          (map #{f\ 2667}# #{old\ 2682}#)))
+                                    (if (#{and-map*\ 35}#
                                           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\ 2682}#
+                                          #{new\ 2684}#)
+                                      #{x\ 2668}#
+                                      (list->vector #{new\ 2684}#))))))
+                            #{x\ 2668}#))))))
+                 (begin (#{f\ 2667}# #{x\ 2660}#))))))
+         (#{gen-var\ 492}#
+           (lambda (#{id\ 2686}#)
              (begin
-               (let ((#{id\ 2690}#
-                       (if (#{syntax-object?\ 344}# #{id\ 2687}#)
-                         (#{syntax-object-expression\ 346}# #{id\ 2687}#)
-                         #{id\ 2687}#)))
+               (let ((#{id\ 2689}#
+                       (if (#{syntax-object?\ 343}# #{id\ 2686}#)
+                         (#{syntax-object-expression\ 345}# #{id\ 2686}#)
+                         #{id\ 2686}#)))
                  (gensym
-                   (string-append (symbol->string #{id\ 2690}#) " "))))))
-         (#{lambda-var-list\ 495}#
-           (lambda (#{vars\ 2692}#)
+                   (string-append (symbol->string #{id\ 2689}#) " "))))))
+         (#{lambda-var-list\ 494}#
+           (lambda (#{vars\ 2691}#)
              (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\ 2697}#
+                  (lambda (#{vars\ 2698}# #{ls\ 2699}# #{w\ 2700}#)
+                    (if (pair? #{vars\ 2698}#)
+                      (#{lvl\ 2697}#
+                        (cdr #{vars\ 2698}#)
+                        (cons (#{wrap\ 448}#
+                                (car #{vars\ 2698}#)
+                                #{w\ 2700}#
                                 #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}#
-                              (#{syntax-object-expression\ 346}#
-                                #{vars\ 2699}#)
-                              #{ls\ 2700}#
-                              (#{join-wraps\ 431}#
-                                #{w\ 2701}#
-                                (#{syntax-object-wrap\ 348}# #{vars\ 2699}#)))
-                            (cons #{vars\ 2699}# #{ls\ 2700}#))))))))
+                              #{ls\ 2699}#)
+                        #{w\ 2700}#)
+                      (if (#{id?\ 379}# #{vars\ 2698}#)
+                        (cons (#{wrap\ 448}# #{vars\ 2698}# #{w\ 2700}# #f)
+                              #{ls\ 2699}#)
+                        (if (null? #{vars\ 2698}#)
+                          #{ls\ 2699}#
+                          (if (#{syntax-object?\ 343}# #{vars\ 2698}#)
+                            (#{lvl\ 2697}#
+                              (#{syntax-object-expression\ 345}#
+                                #{vars\ 2698}#)
+                              #{ls\ 2699}#
+                              (#{join-wraps\ 430}#
+                                #{w\ 2700}#
+                                (#{syntax-object-wrap\ 347}# #{vars\ 2698}#)))
+                            (cons #{vars\ 2698}# #{ls\ 2699}#))))))))
                (begin
-                 (#{lvl\ 2698}#
-                   #{vars\ 2692}#
+                 (#{lvl\ 2697}#
+                   #{vars\ 2691}#
                    '()
                    '(())))))))
         (begin
-          (set! #{make-primitive-ref\ 242}#
-            (lambda (#{src\ 704}# #{name\ 705}#)
+          (set! #{make-primitive-ref\ 241}#
+            (lambda (#{src\ 703}# #{name\ 704}#)
               (make-struct/no-tail
                 (vector-ref %expanded-vtables 2)
-                #{src\ 704}#
-                #{name\ 705}#)))
-          (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}#)))
-          (set! #{set-syntax-object-wrap!\ 354}#
-            (lambda (#{x\ 1086}# #{update\ 1087}#)
-              (vector-set! #{x\ 1086}# 2 #{update\ 1087}#)))
-          (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))
+                #{src\ 703}#
+                #{name\ 704}#)))
+          (set! #{fx+\ 280}# +)
+          (set! #{fx-\ 282}# -)
+          (set! #{fx=\ 284}# =)
+          (set! #{fx<\ 286}# <)
+          (set! #{set-syntax-object-expression!\ 351}#
+            (lambda (#{x\ 1081}# #{update\ 1082}#)
+              (vector-set! #{x\ 1081}# 1 #{update\ 1082}#)))
+          (set! #{set-syntax-object-wrap!\ 353}#
+            (lambda (#{x\ 1085}# #{update\ 1086}#)
+              (vector-set! #{x\ 1085}# 2 #{update\ 1086}#)))
+          (set! #{set-syntax-object-module!\ 355}#
+            (lambda (#{x\ 1089}# #{update\ 1090}#)
+              (vector-set! #{x\ 1089}# 3 #{update\ 1090}#)))
+          (set! #{binding-type\ 362}# car)
+          (set! #{binding-value\ 364}# cdr)
+          (set! #{make-wrap\ 384}# cons)
+          (set! #{wrap-marks\ 386}# car)
+          (set! #{wrap-subst\ 388}# cdr)
+          (set! #{ribcage?\ 402}#
+            (lambda (#{x\ 1167}#)
+              (if (vector? #{x\ 1167}#)
+                (if (= (vector-length #{x\ 1167}#) 4)
+                  (eq? (vector-ref #{x\ 1167}# 0) (quote ribcage))
                   #f)
                 #f)))
           (begin
-            (#{global-extend\ 376}#
+            (#{global-extend\ 375}#
               'local-syntax
               'letrec-syntax
               #t)
-            (#{global-extend\ 376}#
+            (#{global-extend\ 375}#
               'local-syntax
               'let-syntax
               #f)
-            (#{global-extend\ 376}#
+            (#{global-extend\ 375}#
               '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\ 2711}#
+                       #{r\ 2712}#
+                       #{w\ 2713}#
+                       #{s\ 2714}#
+                       #{mod\ 2715}#)
+                (let ((#{tmp\ 2721}# #{e\ 2711}#))
+                  (let ((#{tmp\ 2722}#
                           ($sc-dispatch
-                            #{tmp\ 2722}#
+                            #{tmp\ 2721}#
                             '(_ #(each (any any)) any . each-any))))
-                    (if (if #{tmp\ 2723}#
+                    (if (if #{tmp\ 2722}#
                           (@apply
-                            (lambda (#{var\ 2728}#
-                                     #{val\ 2729}#
-                                     #{e1\ 2730}#
-                                     #{e2\ 2731}#)
-                              (#{valid-bound-ids?\ 443}# #{var\ 2728}#))
-                            #{tmp\ 2723}#)
+                            (lambda (#{var\ 2727}#
+                                     #{val\ 2728}#
+                                     #{e1\ 2729}#
+                                     #{e2\ 2730}#)
+                              (#{valid-bound-ids?\ 442}# #{var\ 2727}#))
+                            #{tmp\ 2722}#)
                           #f)
                       (@apply
-                        (lambda (#{var\ 2737}#
-                                 #{val\ 2738}#
-                                 #{e1\ 2739}#
-                                 #{e2\ 2740}#)
+                        (lambda (#{var\ 2736}#
+                                 #{val\ 2737}#
+                                 #{e1\ 2738}#
+                                 #{e2\ 2739}#)
                           (begin
-                            (let ((#{names\ 2742}#
-                                    (map (lambda (#{x\ 2743}#)
-                                           (#{id-var-name\ 437}#
-                                             #{x\ 2743}#
-                                             #{w\ 2714}#))
-                                         #{var\ 2737}#)))
+                            (let ((#{names\ 2741}#
+                                    (map (lambda (#{x\ 2742}#)
+                                           (#{id-var-name\ 436}#
+                                             #{x\ 2742}#
+                                             #{w\ 2713}#))
+                                         #{var\ 2736}#)))
                               (begin
                                 (for-each
-                                  (lambda (#{id\ 2746}# #{n\ 2747}#)
+                                  (lambda (#{id\ 2745}# #{n\ 2746}#)
                                     (begin
-                                      (let ((#{atom-key\ 2752}#
-                                              (#{binding-type\ 363}#
-                                                (#{lookup\ 374}#
-                                                  #{n\ 2747}#
-                                                  #{r\ 2713}#
-                                                  #{mod\ 2716}#))))
-                                        (if (eqv? #{atom-key\ 2752}#
+                                      (let ((#{atom-key\ 2751}#
+                                              (#{binding-type\ 362}#
+                                                (#{lookup\ 373}#
+                                                  #{n\ 2746}#
+                                                  #{r\ 2712}#
+                                                  #{mod\ 2715}#))))
+                                        (if (eqv? #{atom-key\ 2751}#
                                                   '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\ 2711}#
+                                            (#{source-wrap\ 450}#
+                                              #{id\ 2745}#
+                                              #{w\ 2713}#
+                                              #{s\ 2714}#
+                                              #{mod\ 2715}#))))))
+                                  #{var\ 2736}#
+                                  #{names\ 2741}#)
+                                (#{chi-body\ 472}#
+                                  (cons #{e1\ 2738}# #{e2\ 2739}#)
+                                  (#{source-wrap\ 450}#
+                                    #{e\ 2711}#
+                                    #{w\ 2713}#
+                                    #{s\ 2714}#
+                                    #{mod\ 2715}#)
+                                  (#{extend-env\ 367}#
+                                    #{names\ 2741}#
                                     (begin
-                                      (let ((#{trans-r\ 2757}#
-                                              (#{macros-only-env\ 372}#
-                                                #{r\ 2713}#)))
-                                        (map (lambda (#{x\ 2758}#)
+                                      (let ((#{trans-r\ 2756}#
+                                              (#{macros-only-env\ 371}#
+                                                #{r\ 2712}#)))
+                                        (map (lambda (#{x\ 2757}#)
                                                (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\ 476}#
+                                                       (#{chi\ 464}#
+                                                         #{x\ 2757}#
+                                                         #{trans-r\ 2756}#
+                                                         #{w\ 2713}#
+                                                         #{mod\ 2715}#)
+                                                       #{mod\ 2715}#)))
+                                             #{val\ 2737}#)))
+                                    #{r\ 2712}#)
+                                  #{w\ 2713}#
+                                  #{mod\ 2715}#)))))
+                        #{tmp\ 2722}#)
+                      (let ((#{_\ 2762}# #{tmp\ 2721}#))
                         (syntax-violation
                           'fluid-let-syntax
                           "bad syntax"
-                          (#{source-wrap\ 451}#
-                            #{e\ 2712}#
-                            #{w\ 2714}#
-                            #{s\ 2715}#
-                            #{mod\ 2716}#))))))))
-            (#{global-extend\ 376}#
+                          (#{source-wrap\ 450}#
+                            #{e\ 2711}#
+                            #{w\ 2713}#
+                            #{s\ 2714}#
+                            #{mod\ 2715}#))))))))
+            (#{global-extend\ 375}#
               '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\ 2763}#
+                       #{r\ 2764}#
+                       #{w\ 2765}#
+                       #{s\ 2766}#
+                       #{mod\ 2767}#)
+                (let ((#{tmp\ 2773}# #{e\ 2763}#))
+                  (let ((#{tmp\ 2774}#
+                          ($sc-dispatch #{tmp\ 2773}# (quote (_ any)))))
+                    (if #{tmp\ 2774}#
                       (@apply
-                        (lambda (#{e\ 2777}#)
-                          (#{build-data\ 330}#
-                            #{s\ 2767}#
-                            (#{strip\ 491}# #{e\ 2777}# #{w\ 2766}#)))
-                        #{tmp\ 2775}#)
-                      (let ((#{_\ 2779}# #{tmp\ 2774}#))
+                        (lambda (#{e\ 2776}#)
+                          (#{build-data\ 329}#
+                            #{s\ 2766}#
+                            (#{strip\ 490}# #{e\ 2776}# #{w\ 2765}#)))
+                        #{tmp\ 2774}#)
+                      (let ((#{_\ 2778}# #{tmp\ 2773}#))
                         (syntax-violation
                           'quote
                           "bad syntax"
-                          (#{source-wrap\ 451}#
-                            #{e\ 2764}#
-                            #{w\ 2766}#
-                            #{s\ 2767}#
-                            #{mod\ 2768}#))))))))
-            (#{global-extend\ 376}#
+                          (#{source-wrap\ 450}#
+                            #{e\ 2763}#
+                            #{w\ 2765}#
+                            #{s\ 2766}#
+                            #{mod\ 2767}#))))))))
+            (#{global-extend\ 375}#
               '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\ 2780}#
+                   (lambda (#{src\ 2795}#
+                            #{e\ 2796}#
+                            #{r\ 2797}#
+                            #{maps\ 2798}#
+                            #{ellipsis?\ 2799}#
+                            #{mod\ 2800}#)
+                     (if (#{id?\ 379}# #{e\ 2796}#)
                        (begin
-                         (let ((#{label\ 2809}#
-                                 (#{id-var-name\ 437}#
-                                   #{e\ 2797}#
+                         (let ((#{label\ 2808}#
+                                 (#{id-var-name\ 436}#
+                                   #{e\ 2796}#
                                    '(()))))
                            (begin
-                             (let ((#{b\ 2812}#
-                                     (#{lookup\ 374}#
-                                       #{label\ 2809}#
-                                       #{r\ 2798}#
-                                       #{mod\ 2801}#)))
-                               (if (eq? (#{binding-type\ 363}# #{b\ 2812}#)
+                             (let ((#{b\ 2811}#
+                                     (#{lookup\ 373}#
+                                       #{label\ 2808}#
+                                       #{r\ 2797}#
+                                       #{mod\ 2800}#)))
+                               (if (eq? (#{binding-type\ 362}# #{b\ 2811}#)
                                         '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\ 2813}#
+                                               (#{binding-value\ 364}#
+                                                 #{b\ 2811}#)))
+                                         (#{gen-ref\ 2782}#
+                                           #{src\ 2795}#
+                                           (car #{var.lev\ 2813}#)
+                                           (cdr #{var.lev\ 2813}#)
+                                           #{maps\ 2798}#))))
+                                   (lambda (#{var\ 2814}# #{maps\ 2815}#)
                                      (values
-                                       (list (quote ref) #{var\ 2815}#)
-                                       #{maps\ 2816}#)))
-                                 (if (#{ellipsis?\ 2800}# #{e\ 2797}#)
+                                       (list (quote ref) #{var\ 2814}#)
+                                       #{maps\ 2815}#)))
+                                 (if (#{ellipsis?\ 2799}# #{e\ 2796}#)
                                    (syntax-violation
                                      'syntax
                                      "misplaced ellipsis"
-                                     #{src\ 2796}#)
+                                     #{src\ 2795}#)
                                    (values
-                                     (list (quote quote) #{e\ 2797}#)
-                                     #{maps\ 2799}#)))))))
-                       (let ((#{tmp\ 2821}# #{e\ 2797}#))
-                         (let ((#{tmp\ 2822}#
+                                     (list (quote quote) #{e\ 2796}#)
+                                     #{maps\ 2798}#)))))))
+                       (let ((#{tmp\ 2820}# #{e\ 2796}#))
+                         (let ((#{tmp\ 2821}#
                                  ($sc-dispatch
-                                   #{tmp\ 2821}#
+                                   #{tmp\ 2820}#
                                    '(any any))))
-                           (if (if #{tmp\ 2822}#
+                           (if (if #{tmp\ 2821}#
                                  (@apply
-                                   (lambda (#{dots\ 2825}# #{e\ 2826}#)
-                                     (#{ellipsis?\ 2800}# #{dots\ 2825}#))
-                                   #{tmp\ 2822}#)
+                                   (lambda (#{dots\ 2824}# #{e\ 2825}#)
+                                     (#{ellipsis?\ 2799}# #{dots\ 2824}#))
+                                   #{tmp\ 2821}#)
                                  #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\ 2828}# #{e\ 2829}#)
+                                 (#{gen-syntax\ 2780}#
+                                   #{src\ 2795}#
+                                   #{e\ 2829}#
+                                   #{r\ 2797}#
+                                   #{maps\ 2798}#
+                                   (lambda (#{x\ 2830}#) #f)
+                                   #{mod\ 2800}#))
+                               #{tmp\ 2821}#)
+                             (let ((#{tmp\ 2832}#
                                      ($sc-dispatch
-                                       #{tmp\ 2821}#
+                                       #{tmp\ 2820}#
                                        '(any any . any))))
-                               (if (if #{tmp\ 2833}#
+                               (if (if #{tmp\ 2832}#
                                      (@apply
-                                       (lambda (#{x\ 2837}#
-                                                #{dots\ 2838}#
-                                                #{y\ 2839}#)
-                                         (#{ellipsis?\ 2800}# #{dots\ 2838}#))
-                                       #{tmp\ 2833}#)
+                                       (lambda (#{x\ 2836}#
+                                                #{dots\ 2837}#
+                                                #{y\ 2838}#)
+                                         (#{ellipsis?\ 2799}# #{dots\ 2837}#))
+                                       #{tmp\ 2832}#)
                                      #f)
                                  (@apply
-                                   (lambda (#{x\ 2843}#
-                                            #{dots\ 2844}#
-                                            #{y\ 2845}#)
+                                   (lambda (#{x\ 2842}#
+                                            #{dots\ 2843}#
+                                            #{y\ 2844}#)
                                      (letrec*
-                                       ((#{f\ 2849}#
-                                          (lambda (#{y\ 2850}# #{k\ 2851}#)
-                                            (let ((#{tmp\ 2858}# #{y\ 2850}#))
-                                              (let ((#{tmp\ 2859}#
+                                       ((#{f\ 2848}#
+                                          (lambda (#{y\ 2849}# #{k\ 2850}#)
+                                            (let ((#{tmp\ 2857}# #{y\ 2849}#))
+                                              (let ((#{tmp\ 2858}#
                                                       ($sc-dispatch
-                                                        #{tmp\ 2858}#
+                                                        #{tmp\ 2857}#
                                                         '(any . any))))
-                                                (if (if #{tmp\ 2859}#
+                                                (if (if #{tmp\ 2858}#
                                                       (@apply
-                                                        (lambda (#{dots\ 2862}#
-                                                                 #{y\ 2863}#)
-                                                          (#{ellipsis?\ 2800}#
-                                                            #{dots\ 2862}#))
-                                                        #{tmp\ 2859}#)
+                                                        (lambda (#{dots\ 2861}#
+                                                                 #{y\ 2862}#)
+                                                          (#{ellipsis?\ 2799}#
+                                                            #{dots\ 2861}#))
+                                                        #{tmp\ 2858}#)
                                                       #f)
                                                   (@apply
-                                                    (lambda (#{dots\ 2866}#
-                                                             #{y\ 2867}#)
-                                                      (#{f\ 2849}#
-                                                        #{y\ 2867}#
-                                                        (lambda (#{maps\ 
2868}#)
+                                                    (lambda (#{dots\ 2865}#
+                                                             #{y\ 2866}#)
+                                                      (#{f\ 2848}#
+                                                        #{y\ 2866}#
+                                                        (lambda (#{maps\ 
2867}#)
                                                           (call-with-values
                                                             (lambda ()
-                                                              (#{k\ 2851}#
+                                                              (#{k\ 2850}#
                                                                 (cons '()
-                                                                      #{maps\ 
2868}#)))
-                                                            (lambda (#{x\ 
2870}#
-                                                                     #{maps\ 
2871}#)
-                                                              (if (null? (car 
#{maps\ 2871}#))
+                                                                      #{maps\ 
2867}#)))
+                                                            (lambda (#{x\ 
2869}#
+                                                                     #{maps\ 
2870}#)
+                                                              (if (null? (car 
#{maps\ 2870}#))
                                                                 
(syntax-violation
                                                                   'syntax
                                                                   "extra 
ellipsis"
-                                                                  #{src\ 
2796}#)
+                                                                  #{src\ 
2795}#)
                                                                 (values
-                                                                  
(#{gen-mappend\ 2785}#
-                                                                    #{x\ 2870}#
-                                                                    (car 
#{maps\ 2871}#))
-                                                                  (cdr #{maps\ 
2871}#))))))))
-                                                    #{tmp\ 2859}#)
-                                                  (let ((#{_\ 2875}#
-                                                          #{tmp\ 2858}#))
+                                                                  
(#{gen-mappend\ 2784}#
+                                                                    #{x\ 2869}#
+                                                                    (car 
#{maps\ 2870}#))
+                                                                  (cdr #{maps\ 
2870}#))))))))
+                                                    #{tmp\ 2858}#)
+                                                  (let ((#{_\ 2874}#
+                                                          #{tmp\ 2857}#))
                                                     (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\ 2780}#
+                                                          #{src\ 2795}#
+                                                          #{y\ 2849}#
+                                                          #{r\ 2797}#
+                                                          #{maps\ 2798}#
+                                                          #{ellipsis?\ 2799}#
+                                                          #{mod\ 2800}#))
+                                                      (lambda (#{y\ 2875}#
+                                                               #{maps\ 2876}#)
                                                         (call-with-values
                                                           (lambda ()
-                                                            (#{k\ 2851}#
-                                                              #{maps\ 2877}#))
-                                                          (lambda (#{x\ 2880}#
-                                                                   #{maps\ 
2881}#)
+                                                            (#{k\ 2850}#
+                                                              #{maps\ 2876}#))
+                                                          (lambda (#{x\ 2879}#
+                                                                   #{maps\ 
2880}#)
                                                             (values
-                                                              (#{gen-append\ 
2791}#
-                                                                #{x\ 2880}#
-                                                                #{y\ 2876}#)
-                                                              #{maps\ 
2881}#))))))))))))
+                                                              (#{gen-append\ 
2790}#
+                                                                #{x\ 2879}#
+                                                                #{y\ 2875}#)
+                                                              #{maps\ 
2880}#))))))))))))
                                        (begin
-                                         (#{f\ 2849}#
-                                           #{y\ 2845}#
-                                           (lambda (#{maps\ 2852}#)
+                                         (#{f\ 2848}#
+                                           #{y\ 2844}#
+                                           (lambda (#{maps\ 2851}#)
                                              (call-with-values
                                                (lambda ()
-                                                 (#{gen-syntax\ 2781}#
-                                                   #{src\ 2796}#
-                                                   #{x\ 2843}#
-                                                   #{r\ 2798}#
+                                                 (#{gen-syntax\ 2780}#
+                                                   #{src\ 2795}#
+                                                   #{x\ 2842}#
+                                                   #{r\ 2797}#
                                                    (cons '()
-                                                         #{maps\ 2852}#)
-                                                   #{ellipsis?\ 2800}#
-                                                   #{mod\ 2801}#))
-                                               (lambda (#{x\ 2854}#
-                                                        #{maps\ 2855}#)
-                                                 (if (null? (car #{maps\ 
2855}#))
+                                                         #{maps\ 2851}#)
+                                                   #{ellipsis?\ 2799}#
+                                                   #{mod\ 2800}#))
+                                               (lambda (#{x\ 2853}#
+                                                        #{maps\ 2854}#)
+                                                 (if (null? (car #{maps\ 
2854}#))
                                                    (syntax-violation
                                                      'syntax
                                                      "extra ellipsis"
-                                                     #{src\ 2796}#)
+                                                     #{src\ 2795}#)
                                                    (values
-                                                     (#{gen-map\ 2787}#
-                                                       #{x\ 2854}#
-                                                       (car #{maps\ 2855}#))
-                                                     (cdr #{maps\ 
2855}#))))))))))
-                                   #{tmp\ 2833}#)
-                                 (let ((#{tmp\ 2884}#
+                                                     (#{gen-map\ 2786}#
+                                                       #{x\ 2853}#
+                                                       (car #{maps\ 2854}#))
+                                                     (cdr #{maps\ 
2854}#))))))))))
+                                   #{tmp\ 2832}#)
+                                 (let ((#{tmp\ 2883}#
                                          ($sc-dispatch
-                                           #{tmp\ 2821}#
+                                           #{tmp\ 2820}#
                                            '(any . any))))
-                                   (if #{tmp\ 2884}#
+                                   (if #{tmp\ 2883}#
                                      (@apply
-                                       (lambda (#{x\ 2887}# #{y\ 2888}#)
+                                       (lambda (#{x\ 2886}# #{y\ 2887}#)
                                          (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\ 2780}#
+                                               #{src\ 2795}#
+                                               #{x\ 2886}#
+                                               #{r\ 2797}#
+                                               #{maps\ 2798}#
+                                               #{ellipsis?\ 2799}#
+                                               #{mod\ 2800}#))
+                                           (lambda (#{x\ 2888}# #{maps\ 2889}#)
                                              (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\ 2780}#
+                                                   #{src\ 2795}#
+                                                   #{y\ 2887}#
+                                                   #{r\ 2797}#
+                                                   #{maps\ 2889}#
+                                                   #{ellipsis?\ 2799}#
+                                                   #{mod\ 2800}#))
+                                               (lambda (#{y\ 2892}#
+                                                        #{maps\ 2893}#)
                                                  (values
-                                                   (#{gen-cons\ 2789}#
-                                                     #{x\ 2889}#
-                                                     #{y\ 2893}#)
-                                                   #{maps\ 2894}#))))))
-                                       #{tmp\ 2884}#)
-                                     (let ((#{tmp\ 2897}#
+                                                   (#{gen-cons\ 2788}#
+                                                     #{x\ 2888}#
+                                                     #{y\ 2892}#)
+                                                   #{maps\ 2893}#))))))
+                                       #{tmp\ 2883}#)
+                                     (let ((#{tmp\ 2896}#
                                              ($sc-dispatch
-                                               #{tmp\ 2821}#
+                                               #{tmp\ 2820}#
                                                '#(vector (any . each-any)))))
-                                       (if #{tmp\ 2897}#
+                                       (if #{tmp\ 2896}#
                                          (@apply
-                                           (lambda (#{e1\ 2900}# #{e2\ 2901}#)
+                                           (lambda (#{e1\ 2899}# #{e2\ 2900}#)
                                              (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\ 2780}#
+                                                   #{src\ 2795}#
+                                                   (cons #{e1\ 2899}#
+                                                         #{e2\ 2900}#)
+                                                   #{r\ 2797}#
+                                                   #{maps\ 2798}#
+                                                   #{ellipsis?\ 2799}#
+                                                   #{mod\ 2800}#))
+                                               (lambda (#{e\ 2902}#
+                                                        #{maps\ 2903}#)
                                                  (values
-                                                   (#{gen-vector\ 2793}#
-                                                     #{e\ 2903}#)
-                                                   #{maps\ 2904}#))))
-                                           #{tmp\ 2897}#)
-                                         (let ((#{_\ 2908}# #{tmp\ 2821}#))
+                                                   (#{gen-vector\ 2792}#
+                                                     #{e\ 2902}#)
+                                                   #{maps\ 2903}#))))
+                                           #{tmp\ 2896}#)
+                                         (let ((#{_\ 2907}# #{tmp\ 2820}#))
                                            (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\ 2796}#)
+                                             #{maps\ 2798}#))))))))))))))
+                 (#{gen-ref\ 2782}#
+                   (lambda (#{src\ 2909}#
+                            #{var\ 2910}#
+                            #{level\ 2911}#
+                            #{maps\ 2912}#)
+                     (if (#{fx=\ 284}# #{level\ 2911}# 0)
+                       (values #{var\ 2910}# #{maps\ 2912}#)
+                       (if (null? #{maps\ 2912}#)
                          (syntax-violation
                            'syntax
                            "missing ellipsis"
-                           #{src\ 2910}#)
+                           #{src\ 2909}#)
                          (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\ 2782}#
+                               #{src\ 2909}#
+                               #{var\ 2910}#
+                               (#{fx-\ 282}# #{level\ 2911}# 1)
+                               (cdr #{maps\ 2912}#)))
+                           (lambda (#{outer-var\ 2917}# #{outer-maps\ 2918}#)
                              (begin
-                               (let ((#{b\ 2923}#
-                                       (assq #{outer-var\ 2918}#
-                                             (car #{maps\ 2913}#))))
-                                 (if #{b\ 2923}#
-                                   (values (cdr #{b\ 2923}#) #{maps\ 2913}#)
+                               (let ((#{b\ 2922}#
+                                       (assq #{outer-var\ 2917}#
+                                             (car #{maps\ 2912}#))))
+                                 (if #{b\ 2922}#
+                                   (values (cdr #{b\ 2922}#) #{maps\ 2912}#)
                                    (begin
-                                     (let ((#{inner-var\ 2925}#
-                                             (#{gen-var\ 493}# (quote tmp))))
+                                     (let ((#{inner-var\ 2924}#
+                                             (#{gen-var\ 492}# (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\ 2924}#
+                                         (cons (cons (cons #{outer-var\ 2917}#
+                                                           #{inner-var\ 2924}#)
+                                                     (car #{maps\ 2912}#))
+                                               #{outer-maps\ 
2918}#)))))))))))))
+                 (#{gen-mappend\ 2784}#
+                   (lambda (#{e\ 2925}# #{map-env\ 2926}#)
                      (list 'apply
                            '(primitive append)
-                           (#{gen-map\ 2787}# #{e\ 2926}# #{map-env\ 2927}#))))
-                 (#{gen-map\ 2787}#
-                   (lambda (#{e\ 2931}# #{map-env\ 2932}#)
+                           (#{gen-map\ 2786}# #{e\ 2925}# #{map-env\ 2926}#))))
+                 (#{gen-map\ 2786}#
+                   (lambda (#{e\ 2930}# #{map-env\ 2931}#)
                      (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\ 2936}# (map cdr #{map-env\ 2931}#))
+                             (#{actuals\ 2937}#
+                               (map (lambda (#{x\ 2938}#)
+                                      (list (quote ref) (car #{x\ 2938}#)))
+                                    #{map-env\ 2931}#)))
+                         (if (eq? (car #{e\ 2930}#) (quote ref))
+                           (car #{actuals\ 2937}#)
                            (if (and-map
-                                 (lambda (#{x\ 2946}#)
-                                   (if (eq? (car #{x\ 2946}#) (quote ref))
-                                     (memq (car (cdr #{x\ 2946}#))
-                                           #{formals\ 2937}#)
+                                 (lambda (#{x\ 2945}#)
+                                   (if (eq? (car #{x\ 2945}#) (quote ref))
+                                     (memq (car (cdr #{x\ 2945}#))
+                                           #{formals\ 2936}#)
                                      #f))
-                                 (cdr #{e\ 2931}#))
+                                 (cdr #{e\ 2930}#))
                              (cons 'map
                                    (cons (list 'primitive
-                                               (car #{e\ 2931}#))
+                                               (car #{e\ 2930}#))
                                          (map (begin
-                                                (let ((#{r\ 2952}#
+                                                (let ((#{r\ 2951}#
                                                         (map cons
-                                                             #{formals\ 2937}#
-                                                             #{actuals\ 
2938}#)))
-                                                  (lambda (#{x\ 2953}#)
-                                                    (cdr (assq (car (cdr #{x\ 
2953}#))
-                                                               #{r\ 2952}#)))))
-                                              (cdr #{e\ 2931}#))))
+                                                             #{formals\ 2936}#
+                                                             #{actuals\ 
2937}#)))
+                                                  (lambda (#{x\ 2952}#)
+                                                    (cdr (assq (car (cdr #{x\ 
2952}#))
+                                                               #{r\ 2951}#)))))
+                                              (cdr #{e\ 2930}#))))
                              (cons 'map
                                    (cons (list 'lambda
-                                               #{formals\ 2937}#
-                                               #{e\ 2931}#)
-                                         #{actuals\ 2938}#))))))))
-                 (#{gen-cons\ 2789}#
-                   (lambda (#{x\ 2957}# #{y\ 2958}#)
+                                               #{formals\ 2936}#
+                                               #{e\ 2930}#)
+                                         #{actuals\ 2937}#))))))))
+                 (#{gen-cons\ 2788}#
+                   (lambda (#{x\ 2956}# #{y\ 2957}#)
                      (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\ 2962}# (car #{y\ 2957}#)))
+                         (if (eqv? #{atom-key\ 2962}# (quote quote))
+                           (if (eq? (car #{x\ 2956}#) (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\ 2956}#))
+                                         (car (cdr #{y\ 2957}#))))
+                             (if (eq? (car (cdr #{y\ 2957}#)) (quote ()))
+                               (list (quote list) #{x\ 2956}#)
+                               (list (quote cons) #{x\ 2956}# #{y\ 2957}#)))
+                           (if (eqv? #{atom-key\ 2962}# (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\ 2956}# (cdr #{y\ 2957}#)))
+                             (list (quote cons) #{x\ 2956}# #{y\ 2957}#)))))))
+                 (#{gen-append\ 2790}#
+                   (lambda (#{x\ 2971}# #{y\ 2972}#)
+                     (if (equal? #{y\ 2972}# (quote (quote ())))
+                       #{x\ 2971}#
+                       (list (quote append) #{x\ 2971}# #{y\ 2972}#))))
+                 (#{gen-vector\ 2792}#
+                   (lambda (#{x\ 2976}#)
+                     (if (eq? (car #{x\ 2976}#) (quote list))
+                       (cons (quote vector) (cdr #{x\ 2976}#))
+                       (if (eq? (car #{x\ 2976}#) (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\ 2976}#))))
+                         (list (quote list->vector) #{x\ 2976}#)))))
+                 (#{regen\ 2794}#
+                   (lambda (#{x\ 2986}#)
                      (begin
-                       (let ((#{atom-key\ 2991}# (car #{x\ 2987}#)))
-                         (if (eqv? #{atom-key\ 2991}# (quote ref))
-                           (#{build-lexical-reference\ 310}#
+                       (let ((#{atom-key\ 2990}# (car #{x\ 2986}#)))
+                         (if (eqv? #{atom-key\ 2990}# (quote ref))
+                           (#{build-lexical-reference\ 309}#
                              'value
                              #f
-                             (car (cdr #{x\ 2987}#))
-                             (car (cdr #{x\ 2987}#)))
-                           (if (eqv? #{atom-key\ 2991}# (quote primitive))
-                             (#{build-primref\ 328}#
+                             (car (cdr #{x\ 2986}#))
+                             (car (cdr #{x\ 2986}#)))
+                           (if (eqv? #{atom-key\ 2990}# (quote primitive))
+                             (#{build-primref\ 327}#
                                #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}#)))
-                                   (#{build-simple-lambda\ 322}#
+                               (car (cdr #{x\ 2986}#)))
+                             (if (eqv? #{atom-key\ 2990}# (quote quote))
+                               (#{build-data\ 329}# #f (car (cdr #{x\ 2986}#)))
+                               (if (eqv? #{atom-key\ 2990}# (quote lambda))
+                                 (if (list? (car (cdr #{x\ 2986}#)))
+                                   (#{build-simple-lambda\ 321}#
                                      #f
-                                     (car (cdr #{x\ 2987}#))
+                                     (car (cdr #{x\ 2986}#))
                                      #f
-                                     (car (cdr #{x\ 2987}#))
+                                     (car (cdr #{x\ 2986}#))
                                      '()
-                                     (#{regen\ 2795}#
-                                       (car (cdr (cdr #{x\ 2987}#)))))
-                                   (error "how did we get here" #{x\ 2987}#))
-                                 (#{build-application\ 304}#
+                                     (#{regen\ 2794}#
+                                       (car (cdr (cdr #{x\ 2986}#)))))
+                                   (error "how did we get here" #{x\ 2986}#))
+                                 (#{build-application\ 303}#
                                    #f
-                                   (#{build-primref\ 328}#
+                                   (#{build-primref\ 327}#
                                      #f
-                                     (car #{x\ 2987}#))
-                                   (map #{regen\ 2795}#
-                                        (cdr #{x\ 2987}#))))))))))))
+                                     (car #{x\ 2986}#))
+                                   (map #{regen\ 2794}#
+                                        (cdr #{x\ 2986}#))))))))))))
                 (begin
-                  (lambda (#{e\ 3003}#
-                           #{r\ 3004}#
-                           #{w\ 3005}#
-                           #{s\ 3006}#
-                           #{mod\ 3007}#)
+                  (lambda (#{e\ 3002}#
+                           #{r\ 3003}#
+                           #{w\ 3004}#
+                           #{s\ 3005}#
+                           #{mod\ 3006}#)
                     (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\ 3013}#
+                              (#{source-wrap\ 450}#
+                                #{e\ 3002}#
+                                #{w\ 3004}#
+                                #{s\ 3005}#
+                                #{mod\ 3006}#)))
+                        (let ((#{tmp\ 3014}# #{e\ 3013}#))
+                          (let ((#{tmp\ 3015}#
                                   ($sc-dispatch
-                                    #{tmp\ 3015}#
+                                    #{tmp\ 3014}#
                                     '(_ any))))
-                            (if #{tmp\ 3016}#
+                            (if #{tmp\ 3015}#
                               (@apply
-                                (lambda (#{x\ 3018}#)
+                                (lambda (#{x\ 3017}#)
                                   (call-with-values
                                     (lambda ()
-                                      (#{gen-syntax\ 2781}#
-                                        #{e\ 3014}#
-                                        #{x\ 3018}#
-                                        #{r\ 3004}#
+                                      (#{gen-syntax\ 2780}#
+                                        #{e\ 3013}#
+                                        #{x\ 3017}#
+                                        #{r\ 3003}#
                                         '()
-                                        #{ellipsis?\ 481}#
-                                        #{mod\ 3007}#))
-                                    (lambda (#{e\ 3019}# #{maps\ 3020}#)
-                                      (#{regen\ 2795}# #{e\ 3019}#))))
-                                #{tmp\ 3016}#)
-                              (let ((#{_\ 3024}# #{tmp\ 3015}#))
+                                        #{ellipsis?\ 480}#
+                                        #{mod\ 3006}#))
+                                    (lambda (#{e\ 3018}# #{maps\ 3019}#)
+                                      (#{regen\ 2794}# #{e\ 3018}#))))
+                                #{tmp\ 3015}#)
+                              (let ((#{_\ 3023}# #{tmp\ 3014}#))
                                 (syntax-violation
                                   'syntax
                                   "bad `syntax' form"
-                                  #{e\ 3014}#)))))))))))
-            (#{global-extend\ 376}#
+                                  #{e\ 3013}#)))))))))))
+            (#{global-extend\ 375}#
               'core
               'lambda
-              (lambda (#{e\ 3025}#
-                       #{r\ 3026}#
-                       #{w\ 3027}#
-                       #{s\ 3028}#
-                       #{mod\ 3029}#)
-                (let ((#{tmp\ 3035}# #{e\ 3025}#))
-                  (let ((#{tmp\ 3036}#
+              (lambda (#{e\ 3024}#
+                       #{r\ 3025}#
+                       #{w\ 3026}#
+                       #{s\ 3027}#
+                       #{mod\ 3028}#)
+                (let ((#{tmp\ 3034}# #{e\ 3024}#))
+                  (let ((#{tmp\ 3035}#
                           ($sc-dispatch
-                            #{tmp\ 3035}#
+                            #{tmp\ 3034}#
                             '(_ any any . each-any))))
-                    (if #{tmp\ 3036}#
+                    (if #{tmp\ 3035}#
                       (@apply
-                        (lambda (#{args\ 3040}# #{e1\ 3041}# #{e2\ 3042}#)
+                        (lambda (#{args\ 3039}# #{e1\ 3040}# #{e2\ 3041}#)
                           (call-with-values
                             (lambda ()
-                              (#{lambda-formals\ 483}# #{args\ 3040}#))
-                            (lambda (#{req\ 3043}#
-                                     #{opt\ 3044}#
-                                     #{rest\ 3045}#
-                                     #{kw\ 3046}#)
+                              (#{lambda-formals\ 482}# #{args\ 3039}#))
+                            (lambda (#{req\ 3042}#
+                                     #{opt\ 3043}#
+                                     #{rest\ 3044}#
+                                     #{kw\ 3045}#)
                               (letrec*
-                                ((#{lp\ 3054}#
-                                   (lambda (#{body\ 3055}# #{meta\ 3056}#)
-                                     (let ((#{tmp\ 3058}# #{body\ 3055}#))
-                                       (let ((#{tmp\ 3059}#
+                                ((#{lp\ 3053}#
+                                   (lambda (#{body\ 3054}# #{meta\ 3055}#)
+                                     (let ((#{tmp\ 3057}# #{body\ 3054}#))
+                                       (let ((#{tmp\ 3058}#
                                                ($sc-dispatch
-                                                 #{tmp\ 3058}#
+                                                 #{tmp\ 3057}#
                                                  '(any any . each-any))))
-                                         (if (if #{tmp\ 3059}#
+                                         (if (if #{tmp\ 3058}#
                                                (@apply
-                                                 (lambda (#{docstring\ 3063}#
-                                                          #{e1\ 3064}#
-                                                          #{e2\ 3065}#)
+                                                 (lambda (#{docstring\ 3062}#
+                                                          #{e1\ 3063}#
+                                                          #{e2\ 3064}#)
                                                    (string?
                                                      (syntax->datum
-                                                       #{docstring\ 3063}#)))
-                                                 #{tmp\ 3059}#)
+                                                       #{docstring\ 3062}#)))
+                                                 #{tmp\ 3058}#)
                                                #f)
                                            (@apply
-                                             (lambda (#{docstring\ 3069}#
-                                                      #{e1\ 3070}#
-                                                      #{e2\ 3071}#)
-                                               (#{lp\ 3054}#
-                                                 (cons #{e1\ 3070}#
-                                                       #{e2\ 3071}#)
+                                             (lambda (#{docstring\ 3068}#
+                                                      #{e1\ 3069}#
+                                                      #{e2\ 3070}#)
+                                               (#{lp\ 3053}#
+                                                 (cons #{e1\ 3069}#
+                                                       #{e2\ 3070}#)
                                                  (append
-                                                   #{meta\ 3056}#
+                                                   #{meta\ 3055}#
                                                    (list (cons 'documentation
                                                                (syntax->datum
-                                                                 #{docstring\ 
3069}#))))))
-                                             #{tmp\ 3059}#)
-                                           (let ((#{tmp\ 3074}#
+                                                                 #{docstring\ 
3068}#))))))
+                                             #{tmp\ 3058}#)
+                                           (let ((#{tmp\ 3073}#
                                                    ($sc-dispatch
-                                                     #{tmp\ 3058}#
+                                                     #{tmp\ 3057}#
                                                      '(#(vector
                                                          #(each (any . any)))
                                                        any
                                                        .
                                                        each-any))))
-                                             (if #{tmp\ 3074}#
+                                             (if #{tmp\ 3073}#
                                                (@apply
-                                                 (lambda (#{k\ 3079}#
-                                                          #{v\ 3080}#
-                                                          #{e1\ 3081}#
-                                                          #{e2\ 3082}#)
-                                                   (#{lp\ 3054}#
-                                                     (cons #{e1\ 3081}#
-                                                           #{e2\ 3082}#)
+                                                 (lambda (#{k\ 3078}#
+                                                          #{v\ 3079}#
+                                                          #{e1\ 3080}#
+                                                          #{e2\ 3081}#)
+                                                   (#{lp\ 3053}#
+                                                     (cons #{e1\ 3080}#
+                                                           #{e2\ 3081}#)
                                                      (append
-                                                       #{meta\ 3056}#
+                                                       #{meta\ 3055}#
                                                        (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\ 3078}#
+                                                              #{v\ 3079}#)))))
+                                                 #{tmp\ 3073}#)
+                                               (let ((#{_\ 3086}#
+                                                       #{tmp\ 3057}#))
+                                                 (#{chi-simple-lambda\ 484}#
+                                                   #{e\ 3024}#
+                                                   #{r\ 3025}#
+                                                   #{w\ 3026}#
+                                                   #{s\ 3027}#
+                                                   #{mod\ 3028}#
+                                                   #{req\ 3042}#
+                                                   #{rest\ 3044}#
+                                                   #{meta\ 3055}#
+                                                   #{body\ 3054}#))))))))))
                                 (begin
-                                  (#{lp\ 3054}#
-                                    (cons #{e1\ 3041}# #{e2\ 3042}#)
+                                  (#{lp\ 3053}#
+                                    (cons #{e1\ 3040}# #{e2\ 3041}#)
                                     '()))))))
-                        #{tmp\ 3036}#)
-                      (let ((#{_\ 3089}# #{tmp\ 3035}#))
+                        #{tmp\ 3035}#)
+                      (let ((#{_\ 3088}# #{tmp\ 3034}#))
                         (syntax-violation
                           'lambda
                           "bad lambda"
-                          #{e\ 3025}#)))))))
-            (#{global-extend\ 376}#
+                          #{e\ 3024}#)))))))
+            (#{global-extend\ 375}#
               'core
               'lambda*
-              (lambda (#{e\ 3090}#
-                       #{r\ 3091}#
-                       #{w\ 3092}#
-                       #{s\ 3093}#
-                       #{mod\ 3094}#)
-                (let ((#{tmp\ 3100}# #{e\ 3090}#))
-                  (let ((#{tmp\ 3101}#
+              (lambda (#{e\ 3089}#
+                       #{r\ 3090}#
+                       #{w\ 3091}#
+                       #{s\ 3092}#
+                       #{mod\ 3093}#)
+                (let ((#{tmp\ 3099}# #{e\ 3089}#))
+                  (let ((#{tmp\ 3100}#
                           ($sc-dispatch
-                            #{tmp\ 3100}#
+                            #{tmp\ 3099}#
                             '(_ any any . each-any))))
-                    (if #{tmp\ 3101}#
+                    (if #{tmp\ 3100}#
                       (@apply
-                        (lambda (#{args\ 3105}# #{e1\ 3106}# #{e2\ 3107}#)
+                        (lambda (#{args\ 3104}# #{e1\ 3105}# #{e2\ 3106}#)
                           (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}#)
-                              (#{build-case-lambda\ 324}#
-                                #{s\ 3093}#
-                                #{meta\ 3109}#
-                                #{lcase\ 3110}#))))
-                        #{tmp\ 3101}#)
-                      (let ((#{_\ 3114}# #{tmp\ 3100}#))
+                              (#{chi-lambda-case\ 488}#
+                                #{e\ 3089}#
+                                #{r\ 3090}#
+                                #{w\ 3091}#
+                                #{s\ 3092}#
+                                #{mod\ 3093}#
+                                #{lambda*-formals\ 486}#
+                                (list (cons #{args\ 3104}#
+                                            (cons #{e1\ 3105}#
+                                                  #{e2\ 3106}#)))))
+                            (lambda (#{meta\ 3108}# #{lcase\ 3109}#)
+                              (#{build-case-lambda\ 323}#
+                                #{s\ 3092}#
+                                #{meta\ 3108}#
+                                #{lcase\ 3109}#))))
+                        #{tmp\ 3100}#)
+                      (let ((#{_\ 3113}# #{tmp\ 3099}#))
                         (syntax-violation
                           'lambda
                           "bad lambda*"
-                          #{e\ 3090}#)))))))
-            (#{global-extend\ 376}#
+                          #{e\ 3089}#)))))))
+            (#{global-extend\ 375}#
               'core
               'case-lambda
-              (lambda (#{e\ 3115}#
-                       #{r\ 3116}#
-                       #{w\ 3117}#
-                       #{s\ 3118}#
-                       #{mod\ 3119}#)
-                (let ((#{tmp\ 3125}# #{e\ 3115}#))
-                  (let ((#{tmp\ 3126}#
+              (lambda (#{e\ 3114}#
+                       #{r\ 3115}#
+                       #{w\ 3116}#
+                       #{s\ 3117}#
+                       #{mod\ 3118}#)
+                (let ((#{tmp\ 3124}# #{e\ 3114}#))
+                  (let ((#{tmp\ 3125}#
                           ($sc-dispatch
-                            #{tmp\ 3125}#
+                            #{tmp\ 3124}#
                             '(_ (any any . each-any)
                                 .
                                 #(each (any any . each-any))))))
-                    (if #{tmp\ 3126}#
+                    (if #{tmp\ 3125}#
                       (@apply
-                        (lambda (#{args\ 3133}#
-                                 #{e1\ 3134}#
-                                 #{e2\ 3135}#
-                                 #{args*\ 3136}#
-                                 #{e1*\ 3137}#
-                                 #{e2*\ 3138}#)
+                        (lambda (#{args\ 3132}#
+                                 #{e1\ 3133}#
+                                 #{e2\ 3134}#
+                                 #{args*\ 3135}#
+                                 #{e1*\ 3136}#
+                                 #{e2*\ 3137}#)
                           (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}#)
-                              (#{build-case-lambda\ 324}#
-                                #{s\ 3118}#
-                                #{meta\ 3144}#
-                                #{lcase\ 3145}#))))
-                        #{tmp\ 3126}#)
-                      (let ((#{_\ 3149}# #{tmp\ 3125}#))
+                              (#{chi-lambda-case\ 488}#
+                                #{e\ 3114}#
+                                #{r\ 3115}#
+                                #{w\ 3116}#
+                                #{s\ 3117}#
+                                #{mod\ 3118}#
+                                #{lambda-formals\ 482}#
+                                (cons (cons #{args\ 3132}#
+                                            (cons #{e1\ 3133}# #{e2\ 3134}#))
+                                      (map (lambda (#{tmp\ 3141}#
+                                                    #{tmp\ 3140}#
+                                                    #{tmp\ 3139}#)
+                                             (cons #{tmp\ 3139}#
+                                                   (cons #{tmp\ 3140}#
+                                                         #{tmp\ 3141}#)))
+                                           #{e2*\ 3137}#
+                                           #{e1*\ 3136}#
+                                           #{args*\ 3135}#))))
+                            (lambda (#{meta\ 3143}# #{lcase\ 3144}#)
+                              (#{build-case-lambda\ 323}#
+                                #{s\ 3117}#
+                                #{meta\ 3143}#
+                                #{lcase\ 3144}#))))
+                        #{tmp\ 3125}#)
+                      (let ((#{_\ 3148}# #{tmp\ 3124}#))
                         (syntax-violation
                           'case-lambda
                           "bad case-lambda"
-                          #{e\ 3115}#)))))))
-            (#{global-extend\ 376}#
+                          #{e\ 3114}#)))))))
+            (#{global-extend\ 375}#
               'core
               'case-lambda*
-              (lambda (#{e\ 3150}#
-                       #{r\ 3151}#
-                       #{w\ 3152}#
-                       #{s\ 3153}#
-                       #{mod\ 3154}#)
-                (let ((#{tmp\ 3160}# #{e\ 3150}#))
-                  (let ((#{tmp\ 3161}#
+              (lambda (#{e\ 3149}#
+                       #{r\ 3150}#
+                       #{w\ 3151}#
+                       #{s\ 3152}#
+                       #{mod\ 3153}#)
+                (let ((#{tmp\ 3159}# #{e\ 3149}#))
+                  (let ((#{tmp\ 3160}#
                           ($sc-dispatch
-                            #{tmp\ 3160}#
+                            #{tmp\ 3159}#
                             '(_ (any any . each-any)
                                 .
                                 #(each (any any . each-any))))))
-                    (if #{tmp\ 3161}#
+                    (if #{tmp\ 3160}#
                       (@apply
-                        (lambda (#{args\ 3168}#
-                                 #{e1\ 3169}#
-                                 #{e2\ 3170}#
-                                 #{args*\ 3171}#
-                                 #{e1*\ 3172}#
-                                 #{e2*\ 3173}#)
+                        (lambda (#{args\ 3167}#
+                                 #{e1\ 3168}#
+                                 #{e2\ 3169}#
+                                 #{args*\ 3170}#
+                                 #{e1*\ 3171}#
+                                 #{e2*\ 3172}#)
                           (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}#)
-                              (#{build-case-lambda\ 324}#
-                                #{s\ 3153}#
-                                #{meta\ 3179}#
-                                #{lcase\ 3180}#))))
-                        #{tmp\ 3161}#)
-                      (let ((#{_\ 3184}# #{tmp\ 3160}#))
+                              (#{chi-lambda-case\ 488}#
+                                #{e\ 3149}#
+                                #{r\ 3150}#
+                                #{w\ 3151}#
+                                #{s\ 3152}#
+                                #{mod\ 3153}#
+                                #{lambda*-formals\ 486}#
+                                (cons (cons #{args\ 3167}#
+                                            (cons #{e1\ 3168}# #{e2\ 3169}#))
+                                      (map (lambda (#{tmp\ 3176}#
+                                                    #{tmp\ 3175}#
+                                                    #{tmp\ 3174}#)
+                                             (cons #{tmp\ 3174}#
+                                                   (cons #{tmp\ 3175}#
+                                                         #{tmp\ 3176}#)))
+                                           #{e2*\ 3172}#
+                                           #{e1*\ 3171}#
+                                           #{args*\ 3170}#))))
+                            (lambda (#{meta\ 3178}# #{lcase\ 3179}#)
+                              (#{build-case-lambda\ 323}#
+                                #{s\ 3152}#
+                                #{meta\ 3178}#
+                                #{lcase\ 3179}#))))
+                        #{tmp\ 3160}#)
+                      (let ((#{_\ 3183}# #{tmp\ 3159}#))
                         (syntax-violation
                           'case-lambda
                           "bad case-lambda*"
-                          #{e\ 3150}#)))))))
-            (#{global-extend\ 376}#
+                          #{e\ 3149}#)))))))
+            (#{global-extend\ 375}#
               '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\ 3185}#
+                   (lambda (#{e\ 3186}#
+                            #{r\ 3187}#
+                            #{w\ 3188}#
+                            #{s\ 3189}#
+                            #{mod\ 3190}#
+                            #{constructor\ 3191}#
+                            #{ids\ 3192}#
+                            #{vals\ 3193}#
+                            #{exps\ 3194}#)
+                     (if (not (#{valid-bound-ids?\ 442}# #{ids\ 3192}#))
                        (syntax-violation
                          'let
                          "duplicate bound variable"
-                         #{e\ 3187}#)
+                         #{e\ 3186}#)
                        (begin
-                         (let ((#{labels\ 3207}#
-                                 (#{gen-labels\ 398}# #{ids\ 3193}#))
-                               (#{new-vars\ 3208}#
-                                 (map #{gen-var\ 493}# #{ids\ 3193}#)))
+                         (let ((#{labels\ 3206}#
+                                 (#{gen-labels\ 397}# #{ids\ 3192}#))
+                               (#{new-vars\ 3207}#
+                                 (map #{gen-var\ 492}# #{ids\ 3192}#)))
                            (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\ 3210}#
+                                     (#{make-binding-wrap\ 426}#
+                                       #{ids\ 3192}#
+                                       #{labels\ 3206}#
+                                       #{w\ 3188}#))
+                                   (#{nr\ 3211}#
+                                     (#{extend-var-env\ 369}#
+                                       #{labels\ 3206}#
+                                       #{new-vars\ 3207}#
+                                       #{r\ 3187}#)))
+                               (#{constructor\ 3191}#
+                                 #{s\ 3189}#
+                                 (map syntax->datum #{ids\ 3192}#)
+                                 #{new-vars\ 3207}#
+                                 (map (lambda (#{x\ 3212}#)
+                                        (#{chi\ 464}#
+                                          #{x\ 3212}#
+                                          #{r\ 3187}#
+                                          #{w\ 3188}#
+                                          #{mod\ 3190}#))
+                                      #{vals\ 3193}#)
+                                 (#{chi-body\ 472}#
+                                   #{exps\ 3194}#
+                                   (#{source-wrap\ 450}#
+                                     #{e\ 3186}#
+                                     #{nw\ 3210}#
+                                     #{s\ 3189}#
+                                     #{mod\ 3190}#)
+                                   #{nr\ 3211}#
+                                   #{nw\ 3210}#
+                                   #{mod\ 3190}#))))))))))
                 (begin
-                  (lambda (#{e\ 3215}#
-                           #{r\ 3216}#
-                           #{w\ 3217}#
-                           #{s\ 3218}#
-                           #{mod\ 3219}#)
-                    (let ((#{tmp\ 3225}# #{e\ 3215}#))
-                      (let ((#{tmp\ 3226}#
+                  (lambda (#{e\ 3214}#
+                           #{r\ 3215}#
+                           #{w\ 3216}#
+                           #{s\ 3217}#
+                           #{mod\ 3218}#)
+                    (let ((#{tmp\ 3224}# #{e\ 3214}#))
+                      (let ((#{tmp\ 3225}#
                               ($sc-dispatch
-                                #{tmp\ 3225}#
+                                #{tmp\ 3224}#
                                 '(_ #(each (any any)) any . each-any))))
-                        (if (if #{tmp\ 3226}#
+                        (if (if #{tmp\ 3225}#
                               (@apply
-                                (lambda (#{id\ 3231}#
-                                         #{val\ 3232}#
-                                         #{e1\ 3233}#
-                                         #{e2\ 3234}#)
-                                  (and-map #{id?\ 380}# #{id\ 3231}#))
-                                #{tmp\ 3226}#)
+                                (lambda (#{id\ 3230}#
+                                         #{val\ 3231}#
+                                         #{e1\ 3232}#
+                                         #{e2\ 3233}#)
+                                  (and-map #{id?\ 379}# #{id\ 3230}#))
+                                #{tmp\ 3225}#)
                               #f)
                           (@apply
-                            (lambda (#{id\ 3240}#
-                                     #{val\ 3241}#
-                                     #{e1\ 3242}#
-                                     #{e2\ 3243}#)
-                              (#{chi-let\ 3186}#
-                                #{e\ 3215}#
-                                #{r\ 3216}#
-                                #{w\ 3217}#
-                                #{s\ 3218}#
-                                #{mod\ 3219}#
-                                #{build-let\ 334}#
-                                #{id\ 3240}#
-                                #{val\ 3241}#
-                                (cons #{e1\ 3242}# #{e2\ 3243}#)))
-                            #{tmp\ 3226}#)
-                          (let ((#{tmp\ 3247}#
+                            (lambda (#{id\ 3239}#
+                                     #{val\ 3240}#
+                                     #{e1\ 3241}#
+                                     #{e2\ 3242}#)
+                              (#{chi-let\ 3185}#
+                                #{e\ 3214}#
+                                #{r\ 3215}#
+                                #{w\ 3216}#
+                                #{s\ 3217}#
+                                #{mod\ 3218}#
+                                #{build-let\ 333}#
+                                #{id\ 3239}#
+                                #{val\ 3240}#
+                                (cons #{e1\ 3241}# #{e2\ 3242}#)))
+                            #{tmp\ 3225}#)
+                          (let ((#{tmp\ 3246}#
                                   ($sc-dispatch
-                                    #{tmp\ 3225}#
+                                    #{tmp\ 3224}#
                                     '(_ any
                                         #(each (any any))
                                         any
                                         .
                                         each-any))))
-                            (if (if #{tmp\ 3247}#
+                            (if (if #{tmp\ 3246}#
                                   (@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\ 3252}#
+                                             #{id\ 3253}#
+                                             #{val\ 3254}#
+                                             #{e1\ 3255}#
+                                             #{e2\ 3256}#)
+                                      (if (#{id?\ 379}# #{f\ 3252}#)
+                                        (and-map #{id?\ 379}# #{id\ 3253}#)
                                         #f))
-                                    #{tmp\ 3247}#)
+                                    #{tmp\ 3246}#)
                                   #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}#
-                                    #{build-named-let\ 336}#
-                                    (cons #{f\ 3266}# #{id\ 3267}#)
-                                    #{val\ 3268}#
-                                    (cons #{e1\ 3269}# #{e2\ 3270}#)))
-                                #{tmp\ 3247}#)
-                              (let ((#{_\ 3275}# #{tmp\ 3225}#))
+                                (lambda (#{f\ 3265}#
+                                         #{id\ 3266}#
+                                         #{val\ 3267}#
+                                         #{e1\ 3268}#
+                                         #{e2\ 3269}#)
+                                  (#{chi-let\ 3185}#
+                                    #{e\ 3214}#
+                                    #{r\ 3215}#
+                                    #{w\ 3216}#
+                                    #{s\ 3217}#
+                                    #{mod\ 3218}#
+                                    #{build-named-let\ 335}#
+                                    (cons #{f\ 3265}# #{id\ 3266}#)
+                                    #{val\ 3267}#
+                                    (cons #{e1\ 3268}# #{e2\ 3269}#)))
+                                #{tmp\ 3246}#)
+                              (let ((#{_\ 3274}# #{tmp\ 3224}#))
                                 (syntax-violation
                                   'let
                                   "bad let"
-                                  (#{source-wrap\ 451}#
-                                    #{e\ 3215}#
-                                    #{w\ 3217}#
-                                    #{s\ 3218}#
-                                    #{mod\ 3219}#))))))))))))
-            (#{global-extend\ 376}#
+                                  (#{source-wrap\ 450}#
+                                    #{e\ 3214}#
+                                    #{w\ 3216}#
+                                    #{s\ 3217}#
+                                    #{mod\ 3218}#))))))))))))
+            (#{global-extend\ 375}#
               'core
               'letrec
-              (lambda (#{e\ 3276}#
-                       #{r\ 3277}#
-                       #{w\ 3278}#
-                       #{s\ 3279}#
-                       #{mod\ 3280}#)
-                (let ((#{tmp\ 3286}# #{e\ 3276}#))
-                  (let ((#{tmp\ 3287}#
+              (lambda (#{e\ 3275}#
+                       #{r\ 3276}#
+                       #{w\ 3277}#
+                       #{s\ 3278}#
+                       #{mod\ 3279}#)
+                (let ((#{tmp\ 3285}# #{e\ 3275}#))
+                  (let ((#{tmp\ 3286}#
                           ($sc-dispatch
-                            #{tmp\ 3286}#
+                            #{tmp\ 3285}#
                             '(_ #(each (any any)) any . each-any))))
-                    (if (if #{tmp\ 3287}#
+                    (if (if #{tmp\ 3286}#
                           (@apply
-                            (lambda (#{id\ 3292}#
-                                     #{val\ 3293}#
-                                     #{e1\ 3294}#
-                                     #{e2\ 3295}#)
-                              (and-map #{id?\ 380}# #{id\ 3292}#))
-                            #{tmp\ 3287}#)
+                            (lambda (#{id\ 3291}#
+                                     #{val\ 3292}#
+                                     #{e1\ 3293}#
+                                     #{e2\ 3294}#)
+                              (and-map #{id?\ 379}# #{id\ 3291}#))
+                            #{tmp\ 3286}#)
                           #f)
                       (@apply
-                        (lambda (#{id\ 3301}#
-                                 #{val\ 3302}#
-                                 #{e1\ 3303}#
-                                 #{e2\ 3304}#)
+                        (lambda (#{id\ 3300}#
+                                 #{val\ 3301}#
+                                 #{e1\ 3302}#
+                                 #{e2\ 3303}#)
                           (begin
-                            (let ((#{ids\ 3306}# #{id\ 3301}#))
-                              (if (not (#{valid-bound-ids?\ 443}#
-                                         #{ids\ 3306}#))
+                            (let ((#{ids\ 3305}# #{id\ 3300}#))
+                              (if (not (#{valid-bound-ids?\ 442}#
+                                         #{ids\ 3305}#))
                                 (syntax-violation
                                   'letrec
                                   "duplicate bound variable"
-                                  #{e\ 3276}#)
+                                  #{e\ 3275}#)
                                 (begin
-                                  (let ((#{labels\ 3310}#
-                                          (#{gen-labels\ 398}# #{ids\ 3306}#))
-                                        (#{new-vars\ 3311}#
-                                          (map #{gen-var\ 493}#
-                                               #{ids\ 3306}#)))
+                                  (let ((#{labels\ 3309}#
+                                          (#{gen-labels\ 397}# #{ids\ 3305}#))
+                                        (#{new-vars\ 3310}#
+                                          (map #{gen-var\ 492}#
+                                               #{ids\ 3305}#)))
                                     (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}#)))
-                                        (#{build-letrec\ 338}#
-                                          #{s\ 3279}#
+                                      (let ((#{w\ 3313}#
+                                              (#{make-binding-wrap\ 426}#
+                                                #{ids\ 3305}#
+                                                #{labels\ 3309}#
+                                                #{w\ 3277}#))
+                                            (#{r\ 3314}#
+                                              (#{extend-var-env\ 369}#
+                                                #{labels\ 3309}#
+                                                #{new-vars\ 3310}#
+                                                #{r\ 3276}#)))
+                                        (#{build-letrec\ 337}#
+                                          #{s\ 3278}#
                                           #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\ 3305}#)
+                                          #{new-vars\ 3310}#
+                                          (map (lambda (#{x\ 3315}#)
+                                                 (#{chi\ 464}#
+                                                   #{x\ 3315}#
+                                                   #{r\ 3314}#
+                                                   #{w\ 3313}#
+                                                   #{mod\ 3279}#))
+                                               #{val\ 3301}#)
+                                          (#{chi-body\ 472}#
+                                            (cons #{e1\ 3302}# #{e2\ 3303}#)
+                                            (#{source-wrap\ 450}#
+                                              #{e\ 3275}#
+                                              #{w\ 3313}#
+                                              #{s\ 3278}#
+                                              #{mod\ 3279}#)
+                                            #{r\ 3314}#
+                                            #{w\ 3313}#
+                                            #{mod\ 3279}#))))))))))
+                        #{tmp\ 3286}#)
+                      (let ((#{_\ 3320}# #{tmp\ 3285}#))
                         (syntax-violation
                           'letrec
                           "bad letrec"
-                          (#{source-wrap\ 451}#
-                            #{e\ 3276}#
-                            #{w\ 3278}#
-                            #{s\ 3279}#
-                            #{mod\ 3280}#))))))))
-            (#{global-extend\ 376}#
+                          (#{source-wrap\ 450}#
+                            #{e\ 3275}#
+                            #{w\ 3277}#
+                            #{s\ 3278}#
+                            #{mod\ 3279}#))))))))
+            (#{global-extend\ 375}#
               'core
               'letrec*
-              (lambda (#{e\ 3322}#
-                       #{r\ 3323}#
-                       #{w\ 3324}#
-                       #{s\ 3325}#
-                       #{mod\ 3326}#)
-                (let ((#{tmp\ 3332}# #{e\ 3322}#))
-                  (let ((#{tmp\ 3333}#
+              (lambda (#{e\ 3321}#
+                       #{r\ 3322}#
+                       #{w\ 3323}#
+                       #{s\ 3324}#
+                       #{mod\ 3325}#)
+                (let ((#{tmp\ 3331}# #{e\ 3321}#))
+                  (let ((#{tmp\ 3332}#
                           ($sc-dispatch
-                            #{tmp\ 3332}#
+                            #{tmp\ 3331}#
                             '(_ #(each (any any)) any . each-any))))
-                    (if (if #{tmp\ 3333}#
+                    (if (if #{tmp\ 3332}#
                           (@apply
-                            (lambda (#{id\ 3338}#
-                                     #{val\ 3339}#
-                                     #{e1\ 3340}#
-                                     #{e2\ 3341}#)
-                              (and-map #{id?\ 380}# #{id\ 3338}#))
-                            #{tmp\ 3333}#)
+                            (lambda (#{id\ 3337}#
+                                     #{val\ 3338}#
+                                     #{e1\ 3339}#
+                                     #{e2\ 3340}#)
+                              (and-map #{id?\ 379}# #{id\ 3337}#))
+                            #{tmp\ 3332}#)
                           #f)
                       (@apply
-                        (lambda (#{id\ 3347}#
-                                 #{val\ 3348}#
-                                 #{e1\ 3349}#
-                                 #{e2\ 3350}#)
+                        (lambda (#{id\ 3346}#
+                                 #{val\ 3347}#
+                                 #{e1\ 3348}#
+                                 #{e2\ 3349}#)
                           (begin
-                            (let ((#{ids\ 3352}# #{id\ 3347}#))
-                              (if (not (#{valid-bound-ids?\ 443}#
-                                         #{ids\ 3352}#))
+                            (let ((#{ids\ 3351}# #{id\ 3346}#))
+                              (if (not (#{valid-bound-ids?\ 442}#
+                                         #{ids\ 3351}#))
                                 (syntax-violation
                                   'letrec*
                                   "duplicate bound variable"
-                                  #{e\ 3322}#)
+                                  #{e\ 3321}#)
                                 (begin
-                                  (let ((#{labels\ 3356}#
-                                          (#{gen-labels\ 398}# #{ids\ 3352}#))
-                                        (#{new-vars\ 3357}#
-                                          (map #{gen-var\ 493}#
-                                               #{ids\ 3352}#)))
+                                  (let ((#{labels\ 3355}#
+                                          (#{gen-labels\ 397}# #{ids\ 3351}#))
+                                        (#{new-vars\ 3356}#
+                                          (map #{gen-var\ 492}#
+                                               #{ids\ 3351}#)))
                                     (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}#)))
-                                        (#{build-letrec\ 338}#
-                                          #{s\ 3325}#
+                                      (let ((#{w\ 3359}#
+                                              (#{make-binding-wrap\ 426}#
+                                                #{ids\ 3351}#
+                                                #{labels\ 3355}#
+                                                #{w\ 3323}#))
+                                            (#{r\ 3360}#
+                                              (#{extend-var-env\ 369}#
+                                                #{labels\ 3355}#
+                                                #{new-vars\ 3356}#
+                                                #{r\ 3322}#)))
+                                        (#{build-letrec\ 337}#
+                                          #{s\ 3324}#
                                           #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\ 3351}#)
+                                          #{new-vars\ 3356}#
+                                          (map (lambda (#{x\ 3361}#)
+                                                 (#{chi\ 464}#
+                                                   #{x\ 3361}#
+                                                   #{r\ 3360}#
+                                                   #{w\ 3359}#
+                                                   #{mod\ 3325}#))
+                                               #{val\ 3347}#)
+                                          (#{chi-body\ 472}#
+                                            (cons #{e1\ 3348}# #{e2\ 3349}#)
+                                            (#{source-wrap\ 450}#
+                                              #{e\ 3321}#
+                                              #{w\ 3359}#
+                                              #{s\ 3324}#
+                                              #{mod\ 3325}#)
+                                            #{r\ 3360}#
+                                            #{w\ 3359}#
+                                            #{mod\ 3325}#))))))))))
+                        #{tmp\ 3332}#)
+                      (let ((#{_\ 3366}# #{tmp\ 3331}#))
                         (syntax-violation
                           'letrec*
                           "bad letrec*"
-                          (#{source-wrap\ 451}#
-                            #{e\ 3322}#
-                            #{w\ 3324}#
-                            #{s\ 3325}#
-                            #{mod\ 3326}#))))))))
-            (#{global-extend\ 376}#
+                          (#{source-wrap\ 450}#
+                            #{e\ 3321}#
+                            #{w\ 3323}#
+                            #{s\ 3324}#
+                            #{mod\ 3325}#))))))))
+            (#{global-extend\ 375}#
               '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\ 3367}#
+                       #{r\ 3368}#
+                       #{w\ 3369}#
+                       #{s\ 3370}#
+                       #{mod\ 3371}#)
+                (let ((#{tmp\ 3377}# #{e\ 3367}#))
+                  (let ((#{tmp\ 3378}#
+                          ($sc-dispatch #{tmp\ 3377}# (quote (_ any any)))))
+                    (if (if #{tmp\ 3378}#
                           (@apply
-                            (lambda (#{id\ 3382}# #{val\ 3383}#)
-                              (#{id?\ 380}# #{id\ 3382}#))
-                            #{tmp\ 3379}#)
+                            (lambda (#{id\ 3381}# #{val\ 3382}#)
+                              (#{id?\ 379}# #{id\ 3381}#))
+                            #{tmp\ 3378}#)
                           #f)
                       (@apply
-                        (lambda (#{id\ 3386}# #{val\ 3387}#)
+                        (lambda (#{id\ 3385}# #{val\ 3386}#)
                           (begin
                             (let ((#{n\ 3389}#
-                                    (#{id-var-name\ 437}#
-                                      #{id\ 3386}#
-                                      #{w\ 3370}#)))
+                                    (#{id-var-name\ 436}#
+                                      #{id\ 3385}#
+                                      #{w\ 3369}#))
+                                  (#{id-mod\ 3390}#
+                                    (if (#{syntax-object?\ 343}# #{id\ 3385}#)
+                                      (#{syntax-object-module\ 349}#
+                                        #{id\ 3385}#)
+                                      #{mod\ 3371}#)))
                               (begin
-                                (let ((#{b\ 3391}#
-                                        (#{lookup\ 374}#
+                                (let ((#{b\ 3392}#
+                                        (#{lookup\ 373}#
                                           #{n\ 3389}#
-                                          #{r\ 3369}#
-                                          #{mod\ 3372}#)))
+                                          #{r\ 3368}#
+                                          #{id-mod\ 3390}#)))
                                   (begin
-                                    (let ((#{atom-key\ 3394}#
-                                            (#{binding-type\ 363}#
-                                              #{b\ 3391}#)))
-                                      (if (eqv? #{atom-key\ 3394}#
+                                    (let ((#{atom-key\ 3395}#
+                                            (#{binding-type\ 362}#
+                                              #{b\ 3392}#)))
+                                      (if (eqv? #{atom-key\ 3395}#
                                                 'lexical)
-                                        (#{build-lexical-assignment\ 312}#
-                                          #{s\ 3371}#
-                                          (syntax->datum #{id\ 3386}#)
-                                          (#{binding-value\ 365}# #{b\ 3391}#)
-                                          (#{chi\ 465}#
-                                            #{val\ 3387}#
-                                            #{r\ 3369}#
-                                            #{w\ 3370}#
-                                            #{mod\ 3372}#))
-                                        (if (eqv? #{atom-key\ 3394}#
+                                        (#{build-lexical-assignment\ 311}#
+                                          #{s\ 3370}#
+                                          (syntax->datum #{id\ 3385}#)
+                                          (#{binding-value\ 364}# #{b\ 3392}#)
+                                          (#{chi\ 464}#
+                                            #{val\ 3386}#
+                                            #{r\ 3368}#
+                                            #{w\ 3369}#
+                                            #{mod\ 3371}#))
+                                        (if (eqv? #{atom-key\ 3395}#
                                                   'global)
-                                          (#{build-global-assignment\ 318}#
-                                            #{s\ 3371}#
+                                          (#{build-global-assignment\ 317}#
+                                            #{s\ 3370}#
                                             #{n\ 3389}#
-                                            (#{chi\ 465}#
-                                              #{val\ 3387}#
-                                              #{r\ 3369}#
-                                              #{w\ 3370}#
-                                              #{mod\ 3372}#)
-                                            #{mod\ 3372}#)
-                                          (if (eqv? #{atom-key\ 3394}#
+                                            (#{chi\ 464}#
+                                              #{val\ 3386}#
+                                              #{r\ 3368}#
+                                              #{w\ 3369}#
+                                              #{mod\ 3371}#)
+                                            #{id-mod\ 3390}#)
+                                          (if (eqv? #{atom-key\ 3395}#
                                                     'macro)
                                             (begin
-                                              (let ((#{p\ 3399}#
-                                                      (#{binding-value\ 365}#
-                                                        #{b\ 3391}#)))
+                                              (let ((#{p\ 3400}#
+                                                      (#{binding-value\ 364}#
+                                                        #{b\ 3392}#)))
                                                 (if (procedure-property
-                                                      #{p\ 3399}#
+                                                      #{p\ 3400}#
                                                       'variable-transformer)
-                                                  (#{chi\ 465}#
-                                                    (#{chi-macro\ 471}#
-                                                      #{p\ 3399}#
-                                                      #{e\ 3368}#
-                                                      #{r\ 3369}#
-                                                      #{w\ 3370}#
-                                                      #{s\ 3371}#
+                                                  (#{chi\ 464}#
+                                                    (#{chi-macro\ 470}#
+                                                      #{p\ 3400}#
+                                                      #{e\ 3367}#
+                                                      #{r\ 3368}#
+                                                      #{w\ 3369}#
+                                                      #{s\ 3370}#
                                                       #f
-                                                      #{mod\ 3372}#)
-                                                    #{r\ 3369}#
-                                                    #{w\ 3370}#
-                                                    #{mod\ 3372}#)
+                                                      #{mod\ 3371}#)
+                                                    #{r\ 3368}#
+                                                    '(())
+                                                    #{mod\ 3371}#)
                                                   (syntax-violation
                                                     'set!
                                                     "not a variable 
transformer"
-                                                    (#{wrap\ 449}#
-                                                      #{e\ 3368}#
-                                                      #{w\ 3370}#
-                                                      #{mod\ 3372}#)
-                                                    (#{wrap\ 449}#
-                                                      #{id\ 3386}#
-                                                      #{w\ 3370}#
-                                                      #{mod\ 3372}#)))))
-                                            (if (eqv? #{atom-key\ 3394}#
+                                                    (#{wrap\ 448}#
+                                                      #{e\ 3367}#
+                                                      #{w\ 3369}#
+                                                      #{mod\ 3371}#)
+                                                    (#{wrap\ 448}#
+                                                      #{id\ 3385}#
+                                                      #{w\ 3369}#
+                                                      #{id-mod\ 3390}#)))))
+                                            (if (eqv? #{atom-key\ 3395}#
                                                       'displaced-lexical)
                                               (syntax-violation
                                                 'set!
                                                 "identifier out of context"
-                                                (#{wrap\ 449}#
-                                                  #{id\ 3386}#
-                                                  #{w\ 3370}#
-                                                  #{mod\ 3372}#))
+                                                (#{wrap\ 448}#
+                                                  #{id\ 3385}#
+                                                  #{w\ 3369}#
+                                                  #{mod\ 3371}#))
                                               (syntax-violation
                                                 'set!
                                                 "bad set!"
-                                                (#{source-wrap\ 451}#
-                                                  #{e\ 3368}#
-                                                  #{w\ 3370}#
-                                                  #{s\ 3371}#
-                                                  #{mod\ 3372}#)))))))))))))
-                        #{tmp\ 3379}#)
-                      (let ((#{tmp\ 3402}#
+                                                (#{source-wrap\ 450}#
+                                                  #{e\ 3367}#
+                                                  #{w\ 3369}#
+                                                  #{s\ 3370}#
+                                                  #{mod\ 3371}#)))))))))))))
+                        #{tmp\ 3378}#)
+                      (let ((#{tmp\ 3404}#
                               ($sc-dispatch
-                                #{tmp\ 3378}#
+                                #{tmp\ 3377}#
                                 '(_ (any . each-any) any))))
-                        (if #{tmp\ 3402}#
+                        (if #{tmp\ 3404}#
                           (@apply
-                            (lambda (#{head\ 3406}#
-                                     #{tail\ 3407}#
-                                     #{val\ 3408}#)
+                            (lambda (#{head\ 3408}#
+                                     #{tail\ 3409}#
+                                     #{val\ 3410}#)
                               (call-with-values
                                 (lambda ()
-                                  (#{syntax-type\ 461}#
-                                    #{head\ 3406}#
-                                    #{r\ 3369}#
+                                  (#{syntax-type\ 460}#
+                                    #{head\ 3408}#
+                                    #{r\ 3368}#
                                     '(())
                                     #f
                                     #f
-                                    #{mod\ 3372}#
+                                    #{mod\ 3371}#
                                     #t))
-                                (lambda (#{type\ 3411}#
-                                         #{value\ 3412}#
-                                         #{ee\ 3413}#
-                                         #{ww\ 3414}#
-                                         #{ss\ 3415}#
-                                         #{modmod\ 3416}#)
-                                  (if (eqv? #{type\ 3411}# (quote module-ref))
+                                (lambda (#{type\ 3413}#
+                                         #{value\ 3414}#
+                                         #{ee\ 3415}#
+                                         #{ww\ 3416}#
+                                         #{ss\ 3417}#
+                                         #{modmod\ 3418}#)
+                                  (if (eqv? #{type\ 3413}# (quote module-ref))
                                     (begin
-                                      (let ((#{val\ 3425}#
-                                              (#{chi\ 465}#
-                                                #{val\ 3408}#
-                                                #{r\ 3369}#
-                                                #{w\ 3370}#
-                                                #{mod\ 3372}#)))
+                                      (let ((#{val\ 3427}#
+                                              (#{chi\ 464}#
+                                                #{val\ 3410}#
+                                                #{r\ 3368}#
+                                                #{w\ 3369}#
+                                                #{mod\ 3371}#)))
                                         (call-with-values
                                           (lambda ()
-                                            (#{value\ 3412}#
-                                              (cons #{head\ 3406}#
-                                                    #{tail\ 3407}#)
-                                              #{r\ 3369}#
-                                              #{w\ 3370}#))
-                                          (lambda (#{e\ 3427}#
-                                                   #{r\ 3428}#
-                                                   #{w\ 3429}#
-                                                   #{s*\ 3430}#
-                                                   #{mod\ 3431}#)
-                                            (let ((#{tmp\ 3437}# #{e\ 3427}#))
-                                              (let ((#{tmp\ 3438}#
-                                                      (list #{tmp\ 3437}#)))
-                                                (if (if #{tmp\ 3438}#
+                                            (#{value\ 3414}#
+                                              (cons #{head\ 3408}#
+                                                    #{tail\ 3409}#)
+                                              #{r\ 3368}#
+                                              #{w\ 3369}#))
+                                          (lambda (#{e\ 3429}#
+                                                   #{r\ 3430}#
+                                                   #{w\ 3431}#
+                                                   #{s*\ 3432}#
+                                                   #{mod\ 3433}#)
+                                            (let ((#{tmp\ 3439}# #{e\ 3429}#))
+                                              (let ((#{tmp\ 3440}#
+                                                      (list #{tmp\ 3439}#)))
+                                                (if (if #{tmp\ 3440}#
                                                       (@apply
-                                                        (lambda (#{e\ 3440}#)
-                                                          (#{id?\ 380}#
-                                                            #{e\ 3440}#))
-                                                        #{tmp\ 3438}#)
+                                                        (lambda (#{e\ 3442}#)
+                                                          (#{id?\ 379}#
+                                                            #{e\ 3442}#))
+                                                        #{tmp\ 3440}#)
                                                       #f)
                                                   (@apply
-                                                    (lambda (#{e\ 3442}#)
-                                                      
(#{build-global-assignment\ 318}#
-                                                        #{s\ 3371}#
+                                                    (lambda (#{e\ 3444}#)
+                                                      
(#{build-global-assignment\ 317}#
+                                                        #{s\ 3370}#
                                                         (syntax->datum
-                                                          #{e\ 3442}#)
-                                                        #{val\ 3425}#
-                                                        #{mod\ 3431}#))
-                                                    #{tmp\ 3438}#)
+                                                          #{e\ 3444}#)
+                                                        #{val\ 3427}#
+                                                        #{mod\ 3433}#))
+                                                    #{tmp\ 3440}#)
                                                   (syntax-violation
                                                     #f
                                                     "source expression failed 
to match any pattern"
-                                                    #{tmp\ 3437}#))))))))
-                                    (#{build-application\ 304}#
-                                      #{s\ 3371}#
-                                      (#{chi\ 465}#
+                                                    #{tmp\ 3439}#))))))))
+                                    (#{build-application\ 303}#
+                                      #{s\ 3370}#
+                                      (#{chi\ 464}#
                                         (list '#(syntax-object
                                                  setter
                                                  ((top)
@@ -10278,16 +10283,16 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                    #("i3417"
-                                                      "i3418"
-                                                      "i3419"
+                                                    #("i3419"
                                                       "i3420"
                                                       "i3421"
-                                                      "i3422"))
+                                                      "i3422"
+                                                      "i3423"
+                                                      "i3424"))
                                                   #(ribcage
                                                     #(head tail val)
                                                     #((top) (top) (top))
-                                                    #("i3403" "i3404" "i3405"))
+                                                    #("i3405" "i3406" "i3407"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(e r w s mod)
@@ -10296,11 +10301,11 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                    #("i3373"
+                                                    #("i3372"
+                                                      "i3373"
                                                       "i3374"
                                                       "i3375"
-                                                      "i3376"
-                                                      "i3377"))
+                                                      "i3376"))
                                                   #(ribcage
                                                     (lambda-var-list
                                                       gen-var
@@ -10576,197 +10581,197 @@
                                                      (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"
+                                                    ("i493"
+                                                     "i491"
+                                                     "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"
-                                                     "i414"
-                                                     "i412"
-                                                     "i410"
-                                                     "i408"
-                                                     "i406"
-                                                     "i404"
-                                                     "i402"
-                                                     "i400"
-                                                     "i397"
-                                                     "i395"
+                                                     "i415"
+                                                     "i413"
+                                                     "i411"
+                                                     "i409"
+                                                     "i407"
+                                                     "i405"
+                                                     "i403"
+                                                     "i401"
+                                                     "i399"
+                                                     "i396"
                                                      "i394"
                                                      "i393"
                                                      "i392"
                                                      "i391"
                                                      "i390"
-                                                     "i388"
-                                                     "i386"
-                                                     "i384"
-                                                     "i382"
+                                                     "i389"
+                                                     "i387"
+                                                     "i385"
+                                                     "i383"
                                                      "i381"
-                                                     "i379"
-                                                     "i377"
-                                                     "i375"
-                                                     "i373"
-                                                     "i371"
-                                                     "i369"
-                                                     "i367"
+                                                     "i380"
+                                                     "i378"
+                                                     "i376"
+                                                     "i374"
+                                                     "i372"
+                                                     "i370"
+                                                     "i368"
                                                      "i366"
-                                                     "i364"
-                                                     "i362"
+                                                     "i365"
+                                                     "i363"
                                                      "i361"
                                                      "i360"
-                                                     "i358"
+                                                     "i359"
                                                      "i357"
-                                                     "i355"
-                                                     "i353"
-                                                     "i351"
-                                                     "i349"
-                                                     "i347"
-                                                     "i345"
-                                                     "i343"
-                                                     "i341"
-                                                     "i339"
-                                                     "i337"
-                                                     "i335"
-                                                     "i333"
-                                                     "i331"
-                                                     "i329"
-                                                     "i327"
-                                                     "i325"
-                                                     "i323"
-                                                     "i321"
-                                                     "i319"
-                                                     "i317"
-                                                     "i315"
-                                                     "i313"
-                                                     "i311"
-                                                     "i309"
-                                                     "i307"
-                                                     "i305"
-                                                     "i303"
-                                                     "i301"
-                                                     "i299"
-                                                     "i297"
-                                                     "i295"
-                                                     "i293"
+                                                     "i356"
+                                                     "i354"
+                                                     "i352"
+                                                     "i350"
+                                                     "i348"
+                                                     "i346"
+                                                     "i344"
+                                                     "i342"
+                                                     "i340"
+                                                     "i338"
+                                                     "i336"
+                                                     "i334"
+                                                     "i332"
+                                                     "i330"
+                                                     "i328"
+                                                     "i326"
+                                                     "i324"
+                                                     "i322"
+                                                     "i320"
+                                                     "i318"
+                                                     "i316"
+                                                     "i314"
+                                                     "i312"
+                                                     "i310"
+                                                     "i308"
+                                                     "i306"
+                                                     "i304"
+                                                     "i302"
+                                                     "i300"
+                                                     "i298"
+                                                     "i296"
+                                                     "i294"
                                                      "i292"
-                                                     "i290"
-                                                     "i288"
-                                                     "i286"
-                                                     "i284"
-                                                     "i282"
-                                                     "i280"
-                                                     "i278"
-                                                     "i276"
-                                                     "i274"
-                                                     "i271"
-                                                     "i269"
-                                                     "i267"
-                                                     "i265"
-                                                     "i263"
-                                                     "i261"
-                                                     "i259"
-                                                     "i257"
-                                                     "i255"
-                                                     "i253"
-                                                     "i251"
-                                                     "i249"
-                                                     "i247"
-                                                     "i245"
-                                                     "i243"
-                                                     "i241"
-                                                     "i239"
-                                                     "i237"))
+                                                     "i291"
+                                                     "i289"
+                                                     "i287"
+                                                     "i285"
+                                                     "i283"
+                                                     "i281"
+                                                     "i279"
+                                                     "i277"
+                                                     "i275"
+                                                     "i273"
+                                                     "i270"
+                                                     "i268"
+                                                     "i266"
+                                                     "i264"
+                                                     "i262"
+                                                     "i260"
+                                                     "i258"
+                                                     "i256"
+                                                     "i254"
+                                                     "i252"
+                                                     "i250"
+                                                     "i248"
+                                                     "i246"
+                                                     "i244"
+                                                     "i242"
+                                                     "i240"
+                                                     "i238"
+                                                     "i236"))
                                                   #(ribcage
                                                     (define-structure
                                                       
define-expansion-accessors
                                                       
define-expansion-constructors
                                                       and-map*)
                                                     ((top) (top) (top) (top))
-                                                    ("i39" "i38" "i37" "i35")))
+                                                    ("i38" "i37" "i36" "i34")))
                                                  (hygiene guile))
-                                              #{head\ 3406}#)
-                                        #{r\ 3369}#
-                                        #{w\ 3370}#
-                                        #{mod\ 3372}#)
-                                      (map (lambda (#{e\ 3444}#)
-                                             (#{chi\ 465}#
-                                               #{e\ 3444}#
-                                               #{r\ 3369}#
-                                               #{w\ 3370}#
-                                               #{mod\ 3372}#))
+                                              #{head\ 3408}#)
+                                        #{r\ 3368}#
+                                        #{w\ 3369}#
+                                        #{mod\ 3371}#)
+                                      (map (lambda (#{e\ 3446}#)
+                                             (#{chi\ 464}#
+                                               #{e\ 3446}#
+                                               #{r\ 3368}#
+                                               #{w\ 3369}#
+                                               #{mod\ 3371}#))
                                            (append
-                                             #{tail\ 3407}#
-                                             (list #{val\ 3408}#))))))))
-                            #{tmp\ 3402}#)
-                          (let ((#{_\ 3448}# #{tmp\ 3378}#))
+                                             #{tail\ 3409}#
+                                             (list #{val\ 3410}#))))))))
+                            #{tmp\ 3404}#)
+                          (let ((#{_\ 3450}# #{tmp\ 3377}#))
                             (syntax-violation
                               'set!
                               "bad set!"
-                              (#{source-wrap\ 451}#
-                                #{e\ 3368}#
-                                #{w\ 3370}#
-                                #{s\ 3371}#
-                                #{mod\ 3372}#))))))))))
-            (#{global-extend\ 376}#
+                              (#{source-wrap\ 450}#
+                                #{e\ 3367}#
+                                #{w\ 3369}#
+                                #{s\ 3370}#
+                                #{mod\ 3371}#))))))))))
+            (#{global-extend\ 375}#
               'module-ref
               '@
-              (lambda (#{e\ 3449}# #{r\ 3450}# #{w\ 3451}#)
-                (let ((#{tmp\ 3455}# #{e\ 3449}#))
-                  (let ((#{tmp\ 3456}#
+              (lambda (#{e\ 3451}# #{r\ 3452}# #{w\ 3453}#)
+                (let ((#{tmp\ 3457}# #{e\ 3451}#))
+                  (let ((#{tmp\ 3458}#
                           ($sc-dispatch
-                            #{tmp\ 3455}#
+                            #{tmp\ 3457}#
                             '(_ each-any any))))
-                    (if (if #{tmp\ 3456}#
+                    (if (if #{tmp\ 3458}#
                           (@apply
-                            (lambda (#{mod\ 3459}# #{id\ 3460}#)
-                              (if (and-map #{id?\ 380}# #{mod\ 3459}#)
-                                (#{id?\ 380}# #{id\ 3460}#)
+                            (lambda (#{mod\ 3461}# #{id\ 3462}#)
+                              (if (and-map #{id?\ 379}# #{mod\ 3461}#)
+                                (#{id?\ 379}# #{id\ 3462}#)
                                 #f))
-                            #{tmp\ 3456}#)
+                            #{tmp\ 3458}#)
                           #f)
                       (@apply
-                        (lambda (#{mod\ 3466}# #{id\ 3467}#)
+                        (lambda (#{mod\ 3468}# #{id\ 3469}#)
                           (values
-                            (syntax->datum #{id\ 3467}#)
-                            #{r\ 3450}#
-                            #{w\ 3451}#
+                            (syntax->datum #{id\ 3469}#)
+                            #{r\ 3452}#
+                            #{w\ 3453}#
                             #f
                             (syntax->datum
                               (cons '#(syntax-object
@@ -10775,12 +10780,12 @@
                                         #(ribcage
                                           #(mod id)
                                           #((top) (top))
-                                          #("i3464" "i3465"))
+                                          #("i3466" "i3467"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(e r w)
                                           #((top) (top) (top))
-                                          #("i3452" "i3453" "i3454"))
+                                          #("i3454" "i3455" "i3456"))
                                         #(ribcage
                                           (lambda-var-list
                                             gen-var
@@ -11056,222 +11061,222 @@
                                            (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"
+                                          ("i493"
+                                           "i491"
+                                           "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"
-                                           "i414"
-                                           "i412"
-                                           "i410"
-                                           "i408"
-                                           "i406"
-                                           "i404"
-                                           "i402"
-                                           "i400"
-                                           "i397"
-                                           "i395"
+                                           "i415"
+                                           "i413"
+                                           "i411"
+                                           "i409"
+                                           "i407"
+                                           "i405"
+                                           "i403"
+                                           "i401"
+                                           "i399"
+                                           "i396"
                                            "i394"
                                            "i393"
                                            "i392"
                                            "i391"
                                            "i390"
-                                           "i388"
-                                           "i386"
-                                           "i384"
-                                           "i382"
+                                           "i389"
+                                           "i387"
+                                           "i385"
+                                           "i383"
                                            "i381"
-                                           "i379"
-                                           "i377"
-                                           "i375"
-                                           "i373"
-                                           "i371"
-                                           "i369"
-                                           "i367"
+                                           "i380"
+                                           "i378"
+                                           "i376"
+                                           "i374"
+                                           "i372"
+                                           "i370"
+                                           "i368"
                                            "i366"
-                                           "i364"
-                                           "i362"
+                                           "i365"
+                                           "i363"
                                            "i361"
                                            "i360"
-                                           "i358"
+                                           "i359"
                                            "i357"
-                                           "i355"
-                                           "i353"
-                                           "i351"
-                                           "i349"
-                                           "i347"
-                                           "i345"
-                                           "i343"
-                                           "i341"
-                                           "i339"
-                                           "i337"
-                                           "i335"
-                                           "i333"
-                                           "i331"
-                                           "i329"
-                                           "i327"
-                                           "i325"
-                                           "i323"
-                                           "i321"
-                                           "i319"
-                                           "i317"
-                                           "i315"
-                                           "i313"
-                                           "i311"
-                                           "i309"
-                                           "i307"
-                                           "i305"
-                                           "i303"
-                                           "i301"
-                                           "i299"
-                                           "i297"
-                                           "i295"
-                                           "i293"
+                                           "i356"
+                                           "i354"
+                                           "i352"
+                                           "i350"
+                                           "i348"
+                                           "i346"
+                                           "i344"
+                                           "i342"
+                                           "i340"
+                                           "i338"
+                                           "i336"
+                                           "i334"
+                                           "i332"
+                                           "i330"
+                                           "i328"
+                                           "i326"
+                                           "i324"
+                                           "i322"
+                                           "i320"
+                                           "i318"
+                                           "i316"
+                                           "i314"
+                                           "i312"
+                                           "i310"
+                                           "i308"
+                                           "i306"
+                                           "i304"
+                                           "i302"
+                                           "i300"
+                                           "i298"
+                                           "i296"
+                                           "i294"
                                            "i292"
-                                           "i290"
-                                           "i288"
-                                           "i286"
-                                           "i284"
-                                           "i282"
-                                           "i280"
-                                           "i278"
-                                           "i276"
-                                           "i274"
-                                           "i271"
-                                           "i269"
-                                           "i267"
-                                           "i265"
-                                           "i263"
-                                           "i261"
-                                           "i259"
-                                           "i257"
-                                           "i255"
-                                           "i253"
-                                           "i251"
-                                           "i249"
-                                           "i247"
-                                           "i245"
-                                           "i243"
-                                           "i241"
-                                           "i239"
-                                           "i237"))
+                                           "i291"
+                                           "i289"
+                                           "i287"
+                                           "i285"
+                                           "i283"
+                                           "i281"
+                                           "i279"
+                                           "i277"
+                                           "i275"
+                                           "i273"
+                                           "i270"
+                                           "i268"
+                                           "i266"
+                                           "i264"
+                                           "i262"
+                                           "i260"
+                                           "i258"
+                                           "i256"
+                                           "i254"
+                                           "i252"
+                                           "i250"
+                                           "i248"
+                                           "i246"
+                                           "i244"
+                                           "i242"
+                                           "i240"
+                                           "i238"
+                                           "i236"))
                                         #(ribcage
                                           (define-structure
                                             define-expansion-accessors
                                             define-expansion-constructors
                                             and-map*)
                                           ((top) (top) (top) (top))
-                                          ("i39" "i38" "i37" "i35")))
+                                          ("i38" "i37" "i36" "i34")))
                                        (hygiene guile))
-                                    #{mod\ 3466}#))))
-                        #{tmp\ 3456}#)
+                                    #{mod\ 3468}#))))
+                        #{tmp\ 3458}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp\ 3455}#))))))
-            (#{global-extend\ 376}#
+                        #{tmp\ 3457}#))))))
+            (#{global-extend\ 375}#
               'module-ref
               '@@
-              (lambda (#{e\ 3469}# #{r\ 3470}# #{w\ 3471}#)
+              (lambda (#{e\ 3471}# #{r\ 3472}# #{w\ 3473}#)
                 (letrec*
-                  ((#{remodulate\ 3476}#
-                     (lambda (#{x\ 3477}# #{mod\ 3478}#)
-                       (if (pair? #{x\ 3477}#)
-                         (cons (#{remodulate\ 3476}#
-                                 (car #{x\ 3477}#)
-                                 #{mod\ 3478}#)
-                               (#{remodulate\ 3476}#
-                                 (cdr #{x\ 3477}#)
-                                 #{mod\ 3478}#))
-                         (if (#{syntax-object?\ 344}# #{x\ 3477}#)
-                           (#{make-syntax-object\ 342}#
-                             (#{remodulate\ 3476}#
-                               (#{syntax-object-expression\ 346}# #{x\ 3477}#)
-                               #{mod\ 3478}#)
-                             (#{syntax-object-wrap\ 348}# #{x\ 3477}#)
-                             #{mod\ 3478}#)
-                           (if (vector? #{x\ 3477}#)
+                  ((#{remodulate\ 3478}#
+                     (lambda (#{x\ 3479}# #{mod\ 3480}#)
+                       (if (pair? #{x\ 3479}#)
+                         (cons (#{remodulate\ 3478}#
+                                 (car #{x\ 3479}#)
+                                 #{mod\ 3480}#)
+                               (#{remodulate\ 3478}#
+                                 (cdr #{x\ 3479}#)
+                                 #{mod\ 3480}#))
+                         (if (#{syntax-object?\ 343}# #{x\ 3479}#)
+                           (#{make-syntax-object\ 341}#
+                             (#{remodulate\ 3478}#
+                               (#{syntax-object-expression\ 345}# #{x\ 3479}#)
+                               #{mod\ 3480}#)
+                             (#{syntax-object-wrap\ 347}# #{x\ 3479}#)
+                             #{mod\ 3480}#)
+                           (if (vector? #{x\ 3479}#)
                              (begin
-                               (let ((#{n\ 3489}# (vector-length #{x\ 3477}#)))
+                               (let ((#{n\ 3491}# (vector-length #{x\ 3479}#)))
                                  (begin
-                                   (let ((#{v\ 3491}#
-                                           (make-vector #{n\ 3489}#)))
+                                   (let ((#{v\ 3493}#
+                                           (make-vector #{n\ 3491}#)))
                                      (letrec*
-                                       ((#{loop\ 3494}#
-                                          (lambda (#{i\ 3495}#)
-                                            (if (#{fx=\ 285}#
-                                                  #{i\ 3495}#
-                                                  #{n\ 3489}#)
-                                              (begin (if #f #f) #{v\ 3491}#)
+                                       ((#{loop\ 3496}#
+                                          (lambda (#{i\ 3497}#)
+                                            (if (#{fx=\ 284}#
+                                                  #{i\ 3497}#
+                                                  #{n\ 3491}#)
+                                              (begin (if #f #f) #{v\ 3493}#)
                                               (begin
                                                 (vector-set!
-                                                  #{v\ 3491}#
-                                                  #{i\ 3495}#
-                                                  (#{remodulate\ 3476}#
+                                                  #{v\ 3493}#
+                                                  #{i\ 3497}#
+                                                  (#{remodulate\ 3478}#
                                                     (vector-ref
-                                                      #{x\ 3477}#
-                                                      #{i\ 3495}#)
-                                                    #{mod\ 3478}#))
-                                                (#{loop\ 3494}#
-                                                  (#{fx+\ 281}#
-                                                    #{i\ 3495}#
+                                                      #{x\ 3479}#
+                                                      #{i\ 3497}#)
+                                                    #{mod\ 3480}#))
+                                                (#{loop\ 3496}#
+                                                  (#{fx+\ 280}#
+                                                    #{i\ 3497}#
                                                     1)))))))
-                                       (begin (#{loop\ 3494}# 0)))))))
-                             #{x\ 3477}#))))))
+                                       (begin (#{loop\ 3496}# 0)))))))
+                             #{x\ 3479}#))))))
                   (begin
-                    (let ((#{tmp\ 3499}# #{e\ 3469}#))
-                      (let ((#{tmp\ 3500}#
+                    (let ((#{tmp\ 3501}# #{e\ 3471}#))
+                      (let ((#{tmp\ 3502}#
                               ($sc-dispatch
-                                #{tmp\ 3499}#
+                                #{tmp\ 3501}#
                                 '(_ each-any any))))
-                        (if (if #{tmp\ 3500}#
+                        (if (if #{tmp\ 3502}#
                               (@apply
-                                (lambda (#{mod\ 3503}# #{exp\ 3504}#)
-                                  (and-map #{id?\ 380}# #{mod\ 3503}#))
-                                #{tmp\ 3500}#)
+                                (lambda (#{mod\ 3505}# #{exp\ 3506}#)
+                                  (and-map #{id?\ 379}# #{mod\ 3505}#))
+                                #{tmp\ 3502}#)
                               #f)
                           (@apply
-                            (lambda (#{mod\ 3508}# #{exp\ 3509}#)
+                            (lambda (#{mod\ 3510}# #{exp\ 3511}#)
                               (begin
-                                (let ((#{mod\ 3511}#
+                                (let ((#{mod\ 3513}#
                                         (syntax->datum
                                           (cons '#(syntax-object
                                                    private
@@ -11279,17 +11284,17 @@
                                                     #(ribcage
                                                       #(mod exp)
                                                       #((top) (top))
-                                                      #("i3506" "i3507"))
+                                                      #("i3508" "i3509"))
                                                     #(ribcage
                                                       (remodulate)
                                                       ((top))
-                                                      ("i3475"))
+                                                      ("i3477"))
                                                     #(ribcage
                                                       #(e r w)
                                                       #((top) (top) (top))
-                                                      #("i3472"
-                                                        "i3473"
-                                                        "i3474"))
+                                                      #("i3474"
+                                                        "i3475"
+                                                        "i3476"))
                                                     #(ribcage
                                                       (lambda-var-list
                                                         gen-var
@@ -11565,332 +11570,332 @@
                                                        (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"
+                                                      ("i493"
+                                                       "i491"
+                                                       "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"
-                                                       "i414"
-                                                       "i412"
-                                                       "i410"
-                                                       "i408"
-                                                       "i406"
-                                                       "i404"
-                                                       "i402"
-                                                       "i400"
-                                                       "i397"
-                                                       "i395"
+                                                       "i415"
+                                                       "i413"
+                                                       "i411"
+                                                       "i409"
+                                                       "i407"
+                                                       "i405"
+                                                       "i403"
+                                                       "i401"
+                                                       "i399"
+                                                       "i396"
                                                        "i394"
                                                        "i393"
                                                        "i392"
                                                        "i391"
                                                        "i390"
-                                                       "i388"
-                                                       "i386"
-                                                       "i384"
-                                                       "i382"
+                                                       "i389"
+                                                       "i387"
+                                                       "i385"
+                                                       "i383"
                                                        "i381"
-                                                       "i379"
-                                                       "i377"
-                                                       "i375"
-                                                       "i373"
-                                                       "i371"
-                                                       "i369"
-                                                       "i367"
+                                                       "i380"
+                                                       "i378"
+                                                       "i376"
+                                                       "i374"
+                                                       "i372"
+                                                       "i370"
+                                                       "i368"
                                                        "i366"
-                                                       "i364"
-                                                       "i362"
+                                                       "i365"
+                                                       "i363"
                                                        "i361"
                                                        "i360"
-                                                       "i358"
+                                                       "i359"
                                                        "i357"
-                                                       "i355"
-                                                       "i353"
-                                                       "i351"
-                                                       "i349"
-                                                       "i347"
-                                                       "i345"
-                                                       "i343"
-                                                       "i341"
-                                                       "i339"
-                                                       "i337"
-                                                       "i335"
-                                                       "i333"
-                                                       "i331"
-                                                       "i329"
-                                                       "i327"
-                                                       "i325"
-                                                       "i323"
-                                                       "i321"
-                                                       "i319"
-                                                       "i317"
-                                                       "i315"
-                                                       "i313"
-                                                       "i311"
-                                                       "i309"
-                                                       "i307"
-                                                       "i305"
-                                                       "i303"
-                                                       "i301"
-                                                       "i299"
-                                                       "i297"
-                                                       "i295"
-                                                       "i293"
+                                                       "i356"
+                                                       "i354"
+                                                       "i352"
+                                                       "i350"
+                                                       "i348"
+                                                       "i346"
+                                                       "i344"
+                                                       "i342"
+                                                       "i340"
+                                                       "i338"
+                                                       "i336"
+                                                       "i334"
+                                                       "i332"
+                                                       "i330"
+                                                       "i328"
+                                                       "i326"
+                                                       "i324"
+                                                       "i322"
+                                                       "i320"
+                                                       "i318"
+                                                       "i316"
+                                                       "i314"
+                                                       "i312"
+                                                       "i310"
+                                                       "i308"
+                                                       "i306"
+                                                       "i304"
+                                                       "i302"
+                                                       "i300"
+                                                       "i298"
+                                                       "i296"
+                                                       "i294"
                                                        "i292"
-                                                       "i290"
-                                                       "i288"
-                                                       "i286"
-                                                       "i284"
-                                                       "i282"
-                                                       "i280"
-                                                       "i278"
-                                                       "i276"
-                                                       "i274"
-                                                       "i271"
-                                                       "i269"
-                                                       "i267"
-                                                       "i265"
-                                                       "i263"
-                                                       "i261"
-                                                       "i259"
-                                                       "i257"
-                                                       "i255"
-                                                       "i253"
-                                                       "i251"
-                                                       "i249"
-                                                       "i247"
-                                                       "i245"
-                                                       "i243"
-                                                       "i241"
-                                                       "i239"
-                                                       "i237"))
+                                                       "i291"
+                                                       "i289"
+                                                       "i287"
+                                                       "i285"
+                                                       "i283"
+                                                       "i281"
+                                                       "i279"
+                                                       "i277"
+                                                       "i275"
+                                                       "i273"
+                                                       "i270"
+                                                       "i268"
+                                                       "i266"
+                                                       "i264"
+                                                       "i262"
+                                                       "i260"
+                                                       "i258"
+                                                       "i256"
+                                                       "i254"
+                                                       "i252"
+                                                       "i250"
+                                                       "i248"
+                                                       "i246"
+                                                       "i244"
+                                                       "i242"
+                                                       "i240"
+                                                       "i238"
+                                                       "i236"))
                                                     #(ribcage
                                                       (define-structure
                                                         
define-expansion-accessors
                                                         
define-expansion-constructors
                                                         and-map*)
                                                       ((top) (top) (top) (top))
-                                                      ("i39"
-                                                       "i38"
+                                                      ("i38"
                                                        "i37"
-                                                       "i35")))
+                                                       "i36"
+                                                       "i34")))
                                                    (hygiene guile))
-                                                #{mod\ 3508}#))))
+                                                #{mod\ 3510}#))))
                                   (values
-                                    (#{remodulate\ 3476}#
-                                      #{exp\ 3509}#
-                                      #{mod\ 3511}#)
-                                    #{r\ 3470}#
-                                    #{w\ 3471}#
-                                    (#{source-annotation\ 359}# #{exp\ 3509}#)
-                                    #{mod\ 3511}#))))
-                            #{tmp\ 3500}#)
+                                    (#{remodulate\ 3478}#
+                                      #{exp\ 3511}#
+                                      #{mod\ 3513}#)
+                                    #{r\ 3472}#
+                                    #{w\ 3473}#
+                                    (#{source-annotation\ 358}# #{exp\ 3511}#)
+                                    #{mod\ 3513}#))))
+                            #{tmp\ 3502}#)
                           (syntax-violation
                             #f
                             "source expression failed to match any pattern"
-                            #{tmp\ 3499}#))))))))
-            (#{global-extend\ 376}#
+                            #{tmp\ 3501}#))))))))
+            (#{global-extend\ 375}#
               'core
               'if
-              (lambda (#{e\ 3513}#
-                       #{r\ 3514}#
-                       #{w\ 3515}#
-                       #{s\ 3516}#
-                       #{mod\ 3517}#)
-                (let ((#{tmp\ 3523}# #{e\ 3513}#))
-                  (let ((#{tmp\ 3524}#
-                          ($sc-dispatch #{tmp\ 3523}# (quote (_ any any)))))
-                    (if #{tmp\ 3524}#
+              (lambda (#{e\ 3515}#
+                       #{r\ 3516}#
+                       #{w\ 3517}#
+                       #{s\ 3518}#
+                       #{mod\ 3519}#)
+                (let ((#{tmp\ 3525}# #{e\ 3515}#))
+                  (let ((#{tmp\ 3526}#
+                          ($sc-dispatch #{tmp\ 3525}# (quote (_ any any)))))
+                    (if #{tmp\ 3526}#
                       (@apply
-                        (lambda (#{test\ 3527}# #{then\ 3528}#)
-                          (#{build-conditional\ 306}#
-                            #{s\ 3516}#
-                            (#{chi\ 465}#
-                              #{test\ 3527}#
-                              #{r\ 3514}#
-                              #{w\ 3515}#
-                              #{mod\ 3517}#)
-                            (#{chi\ 465}#
-                              #{then\ 3528}#
-                              #{r\ 3514}#
-                              #{w\ 3515}#
-                              #{mod\ 3517}#)
-                            (#{build-void\ 302}# #f)))
-                        #{tmp\ 3524}#)
-                      (let ((#{tmp\ 3530}#
+                        (lambda (#{test\ 3529}# #{then\ 3530}#)
+                          (#{build-conditional\ 305}#
+                            #{s\ 3518}#
+                            (#{chi\ 464}#
+                              #{test\ 3529}#
+                              #{r\ 3516}#
+                              #{w\ 3517}#
+                              #{mod\ 3519}#)
+                            (#{chi\ 464}#
+                              #{then\ 3530}#
+                              #{r\ 3516}#
+                              #{w\ 3517}#
+                              #{mod\ 3519}#)
+                            (#{build-void\ 301}# #f)))
+                        #{tmp\ 3526}#)
+                      (let ((#{tmp\ 3532}#
                               ($sc-dispatch
-                                #{tmp\ 3523}#
+                                #{tmp\ 3525}#
                                 '(_ any any any))))
-                        (if #{tmp\ 3530}#
+                        (if #{tmp\ 3532}#
                           (@apply
-                            (lambda (#{test\ 3534}#
-                                     #{then\ 3535}#
-                                     #{else\ 3536}#)
-                              (#{build-conditional\ 306}#
-                                #{s\ 3516}#
-                                (#{chi\ 465}#
-                                  #{test\ 3534}#
-                                  #{r\ 3514}#
-                                  #{w\ 3515}#
-                                  #{mod\ 3517}#)
-                                (#{chi\ 465}#
-                                  #{then\ 3535}#
-                                  #{r\ 3514}#
-                                  #{w\ 3515}#
-                                  #{mod\ 3517}#)
-                                (#{chi\ 465}#
-                                  #{else\ 3536}#
-                                  #{r\ 3514}#
-                                  #{w\ 3515}#
-                                  #{mod\ 3517}#)))
-                            #{tmp\ 3530}#)
+                            (lambda (#{test\ 3536}#
+                                     #{then\ 3537}#
+                                     #{else\ 3538}#)
+                              (#{build-conditional\ 305}#
+                                #{s\ 3518}#
+                                (#{chi\ 464}#
+                                  #{test\ 3536}#
+                                  #{r\ 3516}#
+                                  #{w\ 3517}#
+                                  #{mod\ 3519}#)
+                                (#{chi\ 464}#
+                                  #{then\ 3537}#
+                                  #{r\ 3516}#
+                                  #{w\ 3517}#
+                                  #{mod\ 3519}#)
+                                (#{chi\ 464}#
+                                  #{else\ 3538}#
+                                  #{r\ 3516}#
+                                  #{w\ 3517}#
+                                  #{mod\ 3519}#)))
+                            #{tmp\ 3532}#)
                           (syntax-violation
                             #f
                             "source expression failed to match any pattern"
-                            #{tmp\ 3523}#))))))))
-            (#{global-extend\ 376}#
+                            #{tmp\ 3525}#))))))))
+            (#{global-extend\ 375}#
               'core
               'with-fluids
-              (lambda (#{e\ 3537}#
-                       #{r\ 3538}#
-                       #{w\ 3539}#
-                       #{s\ 3540}#
-                       #{mod\ 3541}#)
-                (let ((#{tmp\ 3547}# #{e\ 3537}#))
-                  (let ((#{tmp\ 3548}#
+              (lambda (#{e\ 3539}#
+                       #{r\ 3540}#
+                       #{w\ 3541}#
+                       #{s\ 3542}#
+                       #{mod\ 3543}#)
+                (let ((#{tmp\ 3549}# #{e\ 3539}#))
+                  (let ((#{tmp\ 3550}#
                           ($sc-dispatch
-                            #{tmp\ 3547}#
+                            #{tmp\ 3549}#
                             '(_ #(each (any any)) any . each-any))))
-                    (if #{tmp\ 3548}#
+                    (if #{tmp\ 3550}#
                       (@apply
-                        (lambda (#{fluid\ 3553}#
-                                 #{val\ 3554}#
-                                 #{b\ 3555}#
-                                 #{b*\ 3556}#)
-                          (#{build-dynlet\ 308}#
-                            #{s\ 3540}#
-                            (map (lambda (#{x\ 3557}#)
-                                   (#{chi\ 465}#
-                                     #{x\ 3557}#
-                                     #{r\ 3538}#
-                                     #{w\ 3539}#
-                                     #{mod\ 3541}#))
-                                 #{fluid\ 3553}#)
-                            (map (lambda (#{x\ 3560}#)
-                                   (#{chi\ 465}#
-                                     #{x\ 3560}#
-                                     #{r\ 3538}#
-                                     #{w\ 3539}#
-                                     #{mod\ 3541}#))
-                                 #{val\ 3554}#)
-                            (#{chi-body\ 473}#
-                              (cons #{b\ 3555}# #{b*\ 3556}#)
-                              (#{source-wrap\ 451}#
-                                #{e\ 3537}#
-                                #{w\ 3539}#
-                                #{s\ 3540}#
-                                #{mod\ 3541}#)
-                              #{r\ 3538}#
-                              #{w\ 3539}#
-                              #{mod\ 3541}#)))
-                        #{tmp\ 3548}#)
+                        (lambda (#{fluid\ 3555}#
+                                 #{val\ 3556}#
+                                 #{b\ 3557}#
+                                 #{b*\ 3558}#)
+                          (#{build-dynlet\ 307}#
+                            #{s\ 3542}#
+                            (map (lambda (#{x\ 3559}#)
+                                   (#{chi\ 464}#
+                                     #{x\ 3559}#
+                                     #{r\ 3540}#
+                                     #{w\ 3541}#
+                                     #{mod\ 3543}#))
+                                 #{fluid\ 3555}#)
+                            (map (lambda (#{x\ 3562}#)
+                                   (#{chi\ 464}#
+                                     #{x\ 3562}#
+                                     #{r\ 3540}#
+                                     #{w\ 3541}#
+                                     #{mod\ 3543}#))
+                                 #{val\ 3556}#)
+                            (#{chi-body\ 472}#
+                              (cons #{b\ 3557}# #{b*\ 3558}#)
+                              (#{source-wrap\ 450}#
+                                #{e\ 3539}#
+                                #{w\ 3541}#
+                                #{s\ 3542}#
+                                #{mod\ 3543}#)
+                              #{r\ 3540}#
+                              #{w\ 3541}#
+                              #{mod\ 3543}#)))
+                        #{tmp\ 3550}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp\ 3547}#))))))
-            (#{global-extend\ 376}#
+                        #{tmp\ 3549}#))))))
+            (#{global-extend\ 375}#
               'begin
               'begin
               '())
-            (#{global-extend\ 376}#
+            (#{global-extend\ 375}#
               'define
               'define
               '())
-            (#{global-extend\ 376}#
+            (#{global-extend\ 375}#
               'define-syntax
               'define-syntax
               '())
-            (#{global-extend\ 376}#
+            (#{global-extend\ 375}#
               'eval-when
               'eval-when
               '())
-            (#{global-extend\ 376}#
+            (#{global-extend\ 375}#
               'core
               'syntax-case
               (letrec*
-                ((#{convert-pattern\ 3565}#
-                   (lambda (#{pattern\ 3572}# #{keys\ 3573}#)
+                ((#{convert-pattern\ 3567}#
+                   (lambda (#{pattern\ 3574}# #{keys\ 3575}#)
                      (letrec*
-                       ((#{cvt*\ 3577}#
-                          (lambda (#{p*\ 3580}# #{n\ 3581}# #{ids\ 3582}#)
-                            (if (null? #{p*\ 3580}#)
-                              (values (quote ()) #{ids\ 3582}#)
+                       ((#{cvt*\ 3579}#
+                          (lambda (#{p*\ 3582}# #{n\ 3583}# #{ids\ 3584}#)
+                            (if (null? #{p*\ 3582}#)
+                              (values (quote ()) #{ids\ 3584}#)
                               (call-with-values
                                 (lambda ()
-                                  (#{cvt*\ 3577}#
-                                    (cdr #{p*\ 3580}#)
-                                    #{n\ 3581}#
-                                    #{ids\ 3582}#))
-                                (lambda (#{y\ 3586}# #{ids\ 3587}#)
+                                  (#{cvt*\ 3579}#
+                                    (cdr #{p*\ 3582}#)
+                                    #{n\ 3583}#
+                                    #{ids\ 3584}#))
+                                (lambda (#{y\ 3588}# #{ids\ 3589}#)
                                   (call-with-values
                                     (lambda ()
-                                      (#{cvt\ 3579}#
-                                        (car #{p*\ 3580}#)
-                                        #{n\ 3581}#
-                                        #{ids\ 3587}#))
-                                    (lambda (#{x\ 3590}# #{ids\ 3591}#)
+                                      (#{cvt\ 3581}#
+                                        (car #{p*\ 3582}#)
+                                        #{n\ 3583}#
+                                        #{ids\ 3589}#))
+                                    (lambda (#{x\ 3592}# #{ids\ 3593}#)
                                       (values
-                                        (cons #{x\ 3590}# #{y\ 3586}#)
-                                        #{ids\ 3591}#))))))))
-                        (#{cvt\ 3579}#
-                          (lambda (#{p\ 3594}# #{n\ 3595}# #{ids\ 3596}#)
-                            (if (#{id?\ 380}# #{p\ 3594}#)
-                              (if (#{bound-id-member?\ 447}#
-                                    #{p\ 3594}#
-                                    #{keys\ 3573}#)
+                                        (cons #{x\ 3592}# #{y\ 3588}#)
+                                        #{ids\ 3593}#))))))))
+                        (#{cvt\ 3581}#
+                          (lambda (#{p\ 3596}# #{n\ 3597}# #{ids\ 3598}#)
+                            (if (#{id?\ 379}# #{p\ 3596}#)
+                              (if (#{bound-id-member?\ 446}#
+                                    #{p\ 3596}#
+                                    #{keys\ 3575}#)
                                 (values
-                                  (vector (quote free-id) #{p\ 3594}#)
-                                  #{ids\ 3596}#)
-                                (if (#{free-id=?\ 439}#
-                                      #{p\ 3594}#
+                                  (vector (quote free-id) #{p\ 3596}#)
+                                  #{ids\ 3598}#)
+                                (if (#{free-id=?\ 438}#
+                                      #{p\ 3596}#
                                       '#(syntax-object
                                          _
                                          ((top)
@@ -11898,22 +11903,22 @@
                                           #(ribcage
                                             #(p n ids)
                                             #((top) (top) (top))
-                                            #("i3597" "i3598" "i3599"))
+                                            #("i3599" "i3600" "i3601"))
                                           #(ribcage
                                             (cvt cvt*)
                                             ((top) (top))
-                                            ("i3578" "i3576"))
+                                            ("i3580" "i3578"))
                                           #(ribcage
                                             #(pattern keys)
                                             #((top) (top))
-                                            #("i3574" "i3575"))
+                                            #("i3576" "i3577"))
                                           #(ribcage
                                             (gen-syntax-case
                                               gen-clause
                                               build-dispatch-call
                                               convert-pattern)
                                             ((top) (top) (top) (top))
-                                            ("i3570" "i3568" "i3566" "i3564"))
+                                            ("i3572" "i3570" "i3568" "i3566"))
                                           #(ribcage
                                             (lambda-var-list
                                               gen-var
@@ -12189,480 +12194,480 @@
                                              (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"
+                                            ("i493"
+                                             "i491"
+                                             "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"
-                                             "i414"
-                                             "i412"
-                                             "i410"
-                                             "i408"
-                                             "i406"
-                                             "i404"
-                                             "i402"
-                                             "i400"
-                                             "i397"
-                                             "i395"
+                                             "i415"
+                                             "i413"
+                                             "i411"
+                                             "i409"
+                                             "i407"
+                                             "i405"
+                                             "i403"
+                                             "i401"
+                                             "i399"
+                                             "i396"
                                              "i394"
                                              "i393"
                                              "i392"
                                              "i391"
                                              "i390"
-                                             "i388"
-                                             "i386"
-                                             "i384"
-                                             "i382"
+                                             "i389"
+                                             "i387"
+                                             "i385"
+                                             "i383"
                                              "i381"
-                                             "i379"
-                                             "i377"
-                                             "i375"
-                                             "i373"
-                                             "i371"
-                                             "i369"
-                                             "i367"
+                                             "i380"
+                                             "i378"
+                                             "i376"
+                                             "i374"
+                                             "i372"
+                                             "i370"
+                                             "i368"
                                              "i366"
-                                             "i364"
-                                             "i362"
+                                             "i365"
+                                             "i363"
                                              "i361"
                                              "i360"
-                                             "i358"
+                                             "i359"
                                              "i357"
-                                             "i355"
-                                             "i353"
-                                             "i351"
-                                             "i349"
-                                             "i347"
-                                             "i345"
-                                             "i343"
-                                             "i341"
-                                             "i339"
-                                             "i337"
-                                             "i335"
-                                             "i333"
-                                             "i331"
-                                             "i329"
-                                             "i327"
-                                             "i325"
-                                             "i323"
-                                             "i321"
-                                             "i319"
-                                             "i317"
-                                             "i315"
-                                             "i313"
-                                             "i311"
-                                             "i309"
-                                             "i307"
-                                             "i305"
-                                             "i303"
-                                             "i301"
-                                             "i299"
-                                             "i297"
-                                             "i295"
-                                             "i293"
+                                             "i356"
+                                             "i354"
+                                             "i352"
+                                             "i350"
+                                             "i348"
+                                             "i346"
+                                             "i344"
+                                             "i342"
+                                             "i340"
+                                             "i338"
+                                             "i336"
+                                             "i334"
+                                             "i332"
+                                             "i330"
+                                             "i328"
+                                             "i326"
+                                             "i324"
+                                             "i322"
+                                             "i320"
+                                             "i318"
+                                             "i316"
+                                             "i314"
+                                             "i312"
+                                             "i310"
+                                             "i308"
+                                             "i306"
+                                             "i304"
+                                             "i302"
+                                             "i300"
+                                             "i298"
+                                             "i296"
+                                             "i294"
                                              "i292"
-                                             "i290"
-                                             "i288"
-                                             "i286"
-                                             "i284"
-                                             "i282"
-                                             "i280"
-                                             "i278"
-                                             "i276"
-                                             "i274"
-                                             "i271"
-                                             "i269"
-                                             "i267"
-                                             "i265"
-                                             "i263"
-                                             "i261"
-                                             "i259"
-                                             "i257"
-                                             "i255"
-                                             "i253"
-                                             "i251"
-                                             "i249"
-                                             "i247"
-                                             "i245"
-                                             "i243"
-                                             "i241"
-                                             "i239"
-                                             "i237"))
+                                             "i291"
+                                             "i289"
+                                             "i287"
+                                             "i285"
+                                             "i283"
+                                             "i281"
+                                             "i279"
+                                             "i277"
+                                             "i275"
+                                             "i273"
+                                             "i270"
+                                             "i268"
+                                             "i266"
+                                             "i264"
+                                             "i262"
+                                             "i260"
+                                             "i258"
+                                             "i256"
+                                             "i254"
+                                             "i252"
+                                             "i250"
+                                             "i248"
+                                             "i246"
+                                             "i244"
+                                             "i242"
+                                             "i240"
+                                             "i238"
+                                             "i236"))
                                           #(ribcage
                                             (define-structure
                                               define-expansion-accessors
                                               define-expansion-constructors
                                               and-map*)
                                             ((top) (top) (top) (top))
-                                            ("i39" "i38" "i37" "i35")))
+                                            ("i38" "i37" "i36" "i34")))
                                          (hygiene guile)))
-                                  (values (quote _) #{ids\ 3596}#)
+                                  (values (quote _) #{ids\ 3598}#)
                                   (values
                                     'any
-                                    (cons (cons #{p\ 3594}# #{n\ 3595}#)
-                                          #{ids\ 3596}#))))
-                              (let ((#{tmp\ 3605}# #{p\ 3594}#))
-                                (let ((#{tmp\ 3606}#
+                                    (cons (cons #{p\ 3596}# #{n\ 3597}#)
+                                          #{ids\ 3598}#))))
+                              (let ((#{tmp\ 3607}# #{p\ 3596}#))
+                                (let ((#{tmp\ 3608}#
                                         ($sc-dispatch
-                                          #{tmp\ 3605}#
+                                          #{tmp\ 3607}#
                                           '(any any))))
-                                  (if (if #{tmp\ 3606}#
+                                  (if (if #{tmp\ 3608}#
                                         (@apply
-                                          (lambda (#{x\ 3609}# #{dots\ 3610}#)
-                                            (#{ellipsis?\ 481}#
-                                              #{dots\ 3610}#))
-                                          #{tmp\ 3606}#)
+                                          (lambda (#{x\ 3611}# #{dots\ 3612}#)
+                                            (#{ellipsis?\ 480}#
+                                              #{dots\ 3612}#))
+                                          #{tmp\ 3608}#)
                                         #f)
                                     (@apply
-                                      (lambda (#{x\ 3613}# #{dots\ 3614}#)
+                                      (lambda (#{x\ 3615}# #{dots\ 3616}#)
                                         (call-with-values
                                           (lambda ()
-                                            (#{cvt\ 3579}#
-                                              #{x\ 3613}#
-                                              (#{fx+\ 281}# #{n\ 3595}# 1)
-                                              #{ids\ 3596}#))
-                                          (lambda (#{p\ 3615}# #{ids\ 3616}#)
+                                            (#{cvt\ 3581}#
+                                              #{x\ 3615}#
+                                              (#{fx+\ 280}# #{n\ 3597}# 1)
+                                              #{ids\ 3598}#))
+                                          (lambda (#{p\ 3617}# #{ids\ 3618}#)
                                             (values
-                                              (if (eq? #{p\ 3615}# (quote any))
+                                              (if (eq? #{p\ 3617}# (quote any))
                                                 'each-any
                                                 (vector
                                                   'each
-                                                  #{p\ 3615}#))
-                                              #{ids\ 3616}#))))
-                                      #{tmp\ 3606}#)
-                                    (let ((#{tmp\ 3619}#
+                                                  #{p\ 3617}#))
+                                              #{ids\ 3618}#))))
+                                      #{tmp\ 3608}#)
+                                    (let ((#{tmp\ 3621}#
                                             ($sc-dispatch
-                                              #{tmp\ 3605}#
+                                              #{tmp\ 3607}#
                                               '(any any . each-any))))
-                                      (if (if #{tmp\ 3619}#
+                                      (if (if #{tmp\ 3621}#
                                             (@apply
-                                              (lambda (#{x\ 3623}#
-                                                       #{dots\ 3624}#
-                                                       #{ys\ 3625}#)
-                                                (#{ellipsis?\ 481}#
-                                                  #{dots\ 3624}#))
-                                              #{tmp\ 3619}#)
+                                              (lambda (#{x\ 3625}#
+                                                       #{dots\ 3626}#
+                                                       #{ys\ 3627}#)
+                                                (#{ellipsis?\ 480}#
+                                                  #{dots\ 3626}#))
+                                              #{tmp\ 3621}#)
                                             #f)
                                         (@apply
-                                          (lambda (#{x\ 3629}#
-                                                   #{dots\ 3630}#
-                                                   #{ys\ 3631}#)
+                                          (lambda (#{x\ 3631}#
+                                                   #{dots\ 3632}#
+                                                   #{ys\ 3633}#)
                                             (call-with-values
                                               (lambda ()
-                                                (#{cvt*\ 3577}#
-                                                  #{ys\ 3631}#
-                                                  #{n\ 3595}#
-                                                  #{ids\ 3596}#))
-                                              (lambda (#{ys\ 3633}#
-                                                       #{ids\ 3634}#)
+                                                (#{cvt*\ 3579}#
+                                                  #{ys\ 3633}#
+                                                  #{n\ 3597}#
+                                                  #{ids\ 3598}#))
+                                              (lambda (#{ys\ 3635}#
+                                                       #{ids\ 3636}#)
                                                 (call-with-values
                                                   (lambda ()
-                                                    (#{cvt\ 3579}#
-                                                      #{x\ 3629}#
-                                                      (1+ #{n\ 3595}#)
-                                                      #{ids\ 3634}#))
-                                                  (lambda (#{x\ 3637}#
-                                                           #{ids\ 3638}#)
+                                                    (#{cvt\ 3581}#
+                                                      #{x\ 3631}#
+                                                      (1+ #{n\ 3597}#)
+                                                      #{ids\ 3636}#))
+                                                  (lambda (#{x\ 3639}#
+                                                           #{ids\ 3640}#)
                                                     (values
                                                       (list->vector
                                                         (cons 'each+
-                                                              (cons #{x\ 3637}#
+                                                              (cons #{x\ 3639}#
                                                                     (cons 
(reverse
-                                                                            
#{ys\ 3633}#)
+                                                                            
#{ys\ 3635}#)
                                                                           
'(())))))
-                                                      #{ids\ 3638}#))))))
-                                          #{tmp\ 3619}#)
-                                        (let ((#{tmp\ 3642}#
+                                                      #{ids\ 3640}#))))))
+                                          #{tmp\ 3621}#)
+                                        (let ((#{tmp\ 3644}#
                                                 ($sc-dispatch
-                                                  #{tmp\ 3605}#
+                                                  #{tmp\ 3607}#
                                                   '(any . any))))
-                                          (if #{tmp\ 3642}#
+                                          (if #{tmp\ 3644}#
                                             (@apply
-                                              (lambda (#{x\ 3645}# #{y\ 3646}#)
+                                              (lambda (#{x\ 3647}# #{y\ 3648}#)
                                                 (call-with-values
                                                   (lambda ()
-                                                    (#{cvt\ 3579}#
-                                                      #{y\ 3646}#
-                                                      #{n\ 3595}#
-                                                      #{ids\ 3596}#))
-                                                  (lambda (#{y\ 3647}#
-                                                           #{ids\ 3648}#)
+                                                    (#{cvt\ 3581}#
+                                                      #{y\ 3648}#
+                                                      #{n\ 3597}#
+                                                      #{ids\ 3598}#))
+                                                  (lambda (#{y\ 3649}#
+                                                           #{ids\ 3650}#)
                                                     (call-with-values
                                                       (lambda ()
-                                                        (#{cvt\ 3579}#
-                                                          #{x\ 3645}#
-                                                          #{n\ 3595}#
-                                                          #{ids\ 3648}#))
-                                                      (lambda (#{x\ 3651}#
-                                                               #{ids\ 3652}#)
+                                                        (#{cvt\ 3581}#
+                                                          #{x\ 3647}#
+                                                          #{n\ 3597}#
+                                                          #{ids\ 3650}#))
+                                                      (lambda (#{x\ 3653}#
+                                                               #{ids\ 3654}#)
                                                         (values
-                                                          (cons #{x\ 3651}#
-                                                                #{y\ 3647}#)
-                                                          #{ids\ 3652}#))))))
-                                              #{tmp\ 3642}#)
-                                            (let ((#{tmp\ 3655}#
+                                                          (cons #{x\ 3653}#
+                                                                #{y\ 3649}#)
+                                                          #{ids\ 3654}#))))))
+                                              #{tmp\ 3644}#)
+                                            (let ((#{tmp\ 3657}#
                                                     ($sc-dispatch
-                                                      #{tmp\ 3605}#
+                                                      #{tmp\ 3607}#
                                                       '())))
-                                              (if #{tmp\ 3655}#
+                                              (if #{tmp\ 3657}#
                                                 (@apply
                                                   (lambda ()
                                                     (values
                                                       '()
-                                                      #{ids\ 3596}#))
-                                                  #{tmp\ 3655}#)
-                                                (let ((#{tmp\ 3656}#
+                                                      #{ids\ 3598}#))
+                                                  #{tmp\ 3657}#)
+                                                (let ((#{tmp\ 3658}#
                                                         ($sc-dispatch
-                                                          #{tmp\ 3605}#
+                                                          #{tmp\ 3607}#
                                                           '#(vector
                                                              each-any))))
-                                                  (if #{tmp\ 3656}#
+                                                  (if #{tmp\ 3658}#
                                                     (@apply
-                                                      (lambda (#{x\ 3658}#)
+                                                      (lambda (#{x\ 3660}#)
                                                         (call-with-values
                                                           (lambda ()
-                                                            (#{cvt\ 3579}#
-                                                              #{x\ 3658}#
-                                                              #{n\ 3595}#
-                                                              #{ids\ 3596}#))
-                                                          (lambda (#{p\ 3660}#
-                                                                   #{ids\ 
3661}#)
+                                                            (#{cvt\ 3581}#
+                                                              #{x\ 3660}#
+                                                              #{n\ 3597}#
+                                                              #{ids\ 3598}#))
+                                                          (lambda (#{p\ 3662}#
+                                                                   #{ids\ 
3663}#)
                                                             (values
                                                               (vector
                                                                 'vector
-                                                                #{p\ 3660}#)
-                                                              #{ids\ 3661}#))))
-                                                      #{tmp\ 3656}#)
-                                                    (let ((#{x\ 3665}#
-                                                            #{tmp\ 3605}#))
+                                                                #{p\ 3662}#)
+                                                              #{ids\ 3663}#))))
+                                                      #{tmp\ 3658}#)
+                                                    (let ((#{x\ 3667}#
+                                                            #{tmp\ 3607}#))
                                                       (values
                                                         (vector
                                                           'atom
-                                                          (#{strip\ 491}#
-                                                            #{p\ 3594}#
+                                                          (#{strip\ 490}#
+                                                            #{p\ 3596}#
                                                             '(())))
-                                                        #{ids\ 
3596}#)))))))))))))))))
+                                                        #{ids\ 
3598}#)))))))))))))))))
                        (begin
-                         (#{cvt\ 3579}# #{pattern\ 3572}# 0 (quote ()))))))
-                 (#{build-dispatch-call\ 3567}#
-                   (lambda (#{pvars\ 3667}#
-                            #{exp\ 3668}#
-                            #{y\ 3669}#
-                            #{r\ 3670}#
-                            #{mod\ 3671}#)
+                         (#{cvt\ 3581}# #{pattern\ 3574}# 0 (quote ()))))))
+                 (#{build-dispatch-call\ 3569}#
+                   (lambda (#{pvars\ 3669}#
+                            #{exp\ 3670}#
+                            #{y\ 3671}#
+                            #{r\ 3672}#
+                            #{mod\ 3673}#)
                      (begin
-                       (map cdr #{pvars\ 3667}#)
-                       (let ((#{ids\ 3679}# (map car #{pvars\ 3667}#)))
+                       (map cdr #{pvars\ 3669}#)
+                       (let ((#{ids\ 3681}# (map car #{pvars\ 3669}#)))
                          (begin
-                           (let ((#{labels\ 3683}#
-                                   (#{gen-labels\ 398}# #{ids\ 3679}#))
-                                 (#{new-vars\ 3684}#
-                                   (map #{gen-var\ 493}# #{ids\ 3679}#)))
-                             (#{build-application\ 304}#
+                           (let ((#{labels\ 3685}#
+                                   (#{gen-labels\ 397}# #{ids\ 3681}#))
+                                 (#{new-vars\ 3686}#
+                                   (map #{gen-var\ 492}# #{ids\ 3681}#)))
+                             (#{build-application\ 303}#
                                #f
-                               (#{build-primref\ 328}# #f (quote apply))
-                               (list (#{build-simple-lambda\ 322}#
+                               (#{build-primref\ 327}# #f (quote apply))
+                               (list (#{build-simple-lambda\ 321}#
                                        #f
-                                       (map syntax->datum #{ids\ 3679}#)
+                                       (map syntax->datum #{ids\ 3681}#)
                                        #f
-                                       #{new-vars\ 3684}#
+                                       #{new-vars\ 3686}#
                                        '()
-                                       (#{chi\ 465}#
-                                         #{exp\ 3668}#
-                                         (#{extend-env\ 368}#
-                                           #{labels\ 3683}#
-                                           (map (lambda (#{var\ 3688}#
-                                                         #{level\ 3689}#)
+                                       (#{chi\ 464}#
+                                         #{exp\ 3670}#
+                                         (#{extend-env\ 367}#
+                                           #{labels\ 3685}#
+                                           (map (lambda (#{var\ 3690}#
+                                                         #{level\ 3691}#)
                                                   (cons 'syntax
-                                                        (cons #{var\ 3688}#
-                                                              #{level\ 
3689}#)))
-                                                #{new-vars\ 3684}#
-                                                (map cdr #{pvars\ 3667}#))
-                                           #{r\ 3670}#)
-                                         (#{make-binding-wrap\ 427}#
-                                           #{ids\ 3679}#
-                                           #{labels\ 3683}#
+                                                        (cons #{var\ 3690}#
+                                                              #{level\ 
3691}#)))
+                                                #{new-vars\ 3686}#
+                                                (map cdr #{pvars\ 3669}#))
+                                           #{r\ 3672}#)
+                                         (#{make-binding-wrap\ 426}#
+                                           #{ids\ 3681}#
+                                           #{labels\ 3685}#
                                            '(()))
-                                         #{mod\ 3671}#))
-                                     #{y\ 3669}#))))))))
-                 (#{gen-clause\ 3569}#
-                   (lambda (#{x\ 3695}#
-                            #{keys\ 3696}#
-                            #{clauses\ 3697}#
-                            #{r\ 3698}#
-                            #{pat\ 3699}#
-                            #{fender\ 3700}#
-                            #{exp\ 3701}#
-                            #{mod\ 3702}#)
+                                         #{mod\ 3673}#))
+                                     #{y\ 3671}#))))))))
+                 (#{gen-clause\ 3571}#
+                   (lambda (#{x\ 3697}#
+                            #{keys\ 3698}#
+                            #{clauses\ 3699}#
+                            #{r\ 3700}#
+                            #{pat\ 3701}#
+                            #{fender\ 3702}#
+                            #{exp\ 3703}#
+                            #{mod\ 3704}#)
                      (call-with-values
                        (lambda ()
-                         (#{convert-pattern\ 3565}#
-                           #{pat\ 3699}#
-                           #{keys\ 3696}#))
-                       (lambda (#{p\ 3711}# #{pvars\ 3712}#)
-                         (if (not (#{distinct-bound-ids?\ 445}#
-                                    (map car #{pvars\ 3712}#)))
+                         (#{convert-pattern\ 3567}#
+                           #{pat\ 3701}#
+                           #{keys\ 3698}#))
+                       (lambda (#{p\ 3713}# #{pvars\ 3714}#)
+                         (if (not (#{distinct-bound-ids?\ 444}#
+                                    (map car #{pvars\ 3714}#)))
                            (syntax-violation
                              'syntax-case
                              "duplicate pattern variable"
-                             #{pat\ 3699}#)
+                             #{pat\ 3701}#)
                            (if (not (and-map
-                                      (lambda (#{x\ 3719}#)
-                                        (not (#{ellipsis?\ 481}#
-                                               (car #{x\ 3719}#))))
-                                      #{pvars\ 3712}#))
+                                      (lambda (#{x\ 3721}#)
+                                        (not (#{ellipsis?\ 480}#
+                                               (car #{x\ 3721}#))))
+                                      #{pvars\ 3714}#))
                              (syntax-violation
                                'syntax-case
                                "misplaced ellipsis"
-                               #{pat\ 3699}#)
+                               #{pat\ 3701}#)
                              (begin
-                               (let ((#{y\ 3723}#
-                                       (#{gen-var\ 493}# (quote tmp))))
-                                 (#{build-application\ 304}#
+                               (let ((#{y\ 3725}#
+                                       (#{gen-var\ 492}# (quote tmp))))
+                                 (#{build-application\ 303}#
                                    #f
-                                   (#{build-simple-lambda\ 322}#
+                                   (#{build-simple-lambda\ 321}#
                                      #f
                                      (list (quote tmp))
                                      #f
-                                     (list #{y\ 3723}#)
+                                     (list #{y\ 3725}#)
                                      '()
                                      (begin
-                                       (let ((#{y\ 3727}#
-                                               (#{build-lexical-reference\ 
310}#
+                                       (let ((#{y\ 3729}#
+                                               (#{build-lexical-reference\ 
309}#
                                                  'value
                                                  #f
                                                  'tmp
-                                                 #{y\ 3723}#)))
-                                         (#{build-conditional\ 306}#
+                                                 #{y\ 3725}#)))
+                                         (#{build-conditional\ 305}#
                                            #f
-                                           (let ((#{tmp\ 3730}#
-                                                   #{fender\ 3700}#))
-                                             (let ((#{tmp\ 3731}#
+                                           (let ((#{tmp\ 3732}#
+                                                   #{fender\ 3702}#))
+                                             (let ((#{tmp\ 3733}#
                                                      ($sc-dispatch
-                                                       #{tmp\ 3730}#
+                                                       #{tmp\ 3732}#
                                                        '#(atom #t))))
-                                               (if #{tmp\ 3731}#
+                                               (if #{tmp\ 3733}#
                                                  (@apply
-                                                   (lambda () #{y\ 3727}#)
-                                                   #{tmp\ 3731}#)
-                                                 (let ((#{_\ 3733}#
-                                                         #{tmp\ 3730}#))
-                                                   (#{build-conditional\ 306}#
+                                                   (lambda () #{y\ 3729}#)
+                                                   #{tmp\ 3733}#)
+                                                 (let ((#{_\ 3735}#
+                                                         #{tmp\ 3732}#))
+                                                   (#{build-conditional\ 305}#
                                                      #f
-                                                     #{y\ 3727}#
-                                                     (#{build-dispatch-call\ 
3567}#
-                                                       #{pvars\ 3712}#
-                                                       #{fender\ 3700}#
-                                                       #{y\ 3727}#
-                                                       #{r\ 3698}#
-                                                       #{mod\ 3702}#)
-                                                     (#{build-data\ 330}#
+                                                     #{y\ 3729}#
+                                                     (#{build-dispatch-call\ 
3569}#
+                                                       #{pvars\ 3714}#
+                                                       #{fender\ 3702}#
+                                                       #{y\ 3729}#
+                                                       #{r\ 3700}#
+                                                       #{mod\ 3704}#)
+                                                     (#{build-data\ 329}#
                                                        #f
                                                        #f))))))
-                                           (#{build-dispatch-call\ 3567}#
-                                             #{pvars\ 3712}#
-                                             #{exp\ 3701}#
-                                             #{y\ 3727}#
-                                             #{r\ 3698}#
-                                             #{mod\ 3702}#)
-                                           (#{gen-syntax-case\ 3571}#
-                                             #{x\ 3695}#
-                                             #{keys\ 3696}#
-                                             #{clauses\ 3697}#
-                                             #{r\ 3698}#
-                                             #{mod\ 3702}#)))))
-                                   (list (if (eq? #{p\ 3711}# (quote any))
-                                           (#{build-application\ 304}#
+                                           (#{build-dispatch-call\ 3569}#
+                                             #{pvars\ 3714}#
+                                             #{exp\ 3703}#
+                                             #{y\ 3729}#
+                                             #{r\ 3700}#
+                                             #{mod\ 3704}#)
+                                           (#{gen-syntax-case\ 3573}#
+                                             #{x\ 3697}#
+                                             #{keys\ 3698}#
+                                             #{clauses\ 3699}#
+                                             #{r\ 3700}#
+                                             #{mod\ 3704}#)))))
+                                   (list (if (eq? #{p\ 3713}# (quote any))
+                                           (#{build-application\ 303}#
                                              #f
-                                             (#{build-primref\ 328}#
+                                             (#{build-primref\ 327}#
                                                #f
                                                'list)
-                                             (list #{x\ 3695}#))
-                                           (#{build-application\ 304}#
+                                             (list #{x\ 3697}#))
+                                           (#{build-application\ 303}#
                                              #f
-                                             (#{build-primref\ 328}#
+                                             (#{build-primref\ 327}#
                                                #f
                                                '$sc-dispatch)
-                                             (list #{x\ 3695}#
-                                                   (#{build-data\ 330}#
+                                             (list #{x\ 3697}#
+                                                   (#{build-data\ 329}#
                                                      #f
-                                                     #{p\ 3711}#))))))))))))))
-                 (#{gen-syntax-case\ 3571}#
-                   (lambda (#{x\ 3741}#
-                            #{keys\ 3742}#
-                            #{clauses\ 3743}#
-                            #{r\ 3744}#
-                            #{mod\ 3745}#)
-                     (if (null? #{clauses\ 3743}#)
-                       (#{build-application\ 304}#
+                                                     #{p\ 3713}#))))))))))))))
+                 (#{gen-syntax-case\ 3573}#
+                   (lambda (#{x\ 3743}#
+                            #{keys\ 3744}#
+                            #{clauses\ 3745}#
+                            #{r\ 3746}#
+                            #{mod\ 3747}#)
+                     (if (null? #{clauses\ 3745}#)
+                       (#{build-application\ 303}#
                          #f
-                         (#{build-primref\ 328}#
+                         (#{build-primref\ 327}#
                            #f
                            'syntax-violation)
-                         (list (#{build-data\ 330}# #f #f)
-                               (#{build-data\ 330}#
+                         (list (#{build-data\ 329}# #f #f)
+                               (#{build-data\ 329}#
                                  #f
                                  "source expression failed to match any 
pattern")
-                               #{x\ 3741}#))
-                       (let ((#{tmp\ 3755}# (car #{clauses\ 3743}#)))
-                         (let ((#{tmp\ 3756}#
+                               #{x\ 3743}#))
+                       (let ((#{tmp\ 3757}# (car #{clauses\ 3745}#)))
+                         (let ((#{tmp\ 3758}#
                                  ($sc-dispatch
-                                   #{tmp\ 3755}#
+                                   #{tmp\ 3757}#
                                    '(any any))))
-                           (if #{tmp\ 3756}#
+                           (if #{tmp\ 3758}#
                              (@apply
-                               (lambda (#{pat\ 3759}# #{exp\ 3760}#)
-                                 (if (if (#{id?\ 380}# #{pat\ 3759}#)
+                               (lambda (#{pat\ 3761}# #{exp\ 3762}#)
+                                 (if (if (#{id?\ 379}# #{pat\ 3761}#)
                                        (and-map
-                                         (lambda (#{x\ 3763}#)
-                                           (not (#{free-id=?\ 439}#
-                                                  #{pat\ 3759}#
-                                                  #{x\ 3763}#)))
+                                         (lambda (#{x\ 3765}#)
+                                           (not (#{free-id=?\ 438}#
+                                                  #{pat\ 3761}#
+                                                  #{x\ 3765}#)))
                                          (cons '#(syntax-object
                                                   ...
                                                   ((top)
                                                    #(ribcage
                                                      #(pat exp)
                                                      #((top) (top))
-                                                     #("i3757" "i3758"))
+                                                     #("i3759" "i3760"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x keys clauses r mod)
@@ -12671,21 +12676,21 @@
                                                        (top)
                                                        (top)
                                                        (top))
-                                                     #("i3746"
-                                                       "i3747"
-                                                       "i3748"
+                                                     #("i3748"
                                                        "i3749"
-                                                       "i3750"))
+                                                       "i3750"
+                                                       "i3751"
+                                                       "i3752"))
                                                    #(ribcage
                                                      (gen-syntax-case
                                                        gen-clause
                                                        build-dispatch-call
                                                        convert-pattern)
                                                      ((top) (top) (top) (top))
-                                                     ("i3570"
+                                                     ("i3572"
+                                                      "i3570"
                                                       "i3568"
-                                                      "i3566"
-                                                      "i3564"))
+                                                      "i3566"))
                                                    #(ribcage
                                                      (lambda-var-list
                                                        gen-var
@@ -12961,183 +12966,183 @@
                                                       (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"
+                                                     ("i493"
+                                                      "i491"
+                                                      "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"
-                                                      "i414"
-                                                      "i412"
-                                                      "i410"
-                                                      "i408"
-                                                      "i406"
-                                                      "i404"
-                                                      "i402"
-                                                      "i400"
-                                                      "i397"
-                                                      "i395"
+                                                      "i415"
+                                                      "i413"
+                                                      "i411"
+                                                      "i409"
+                                                      "i407"
+                                                      "i405"
+                                                      "i403"
+                                                      "i401"
+                                                      "i399"
+                                                      "i396"
                                                       "i394"
                                                       "i393"
                                                       "i392"
                                                       "i391"
                                                       "i390"
-                                                      "i388"
-                                                      "i386"
-                                                      "i384"
-                                                      "i382"
+                                                      "i389"
+                                                      "i387"
+                                                      "i385"
+                                                      "i383"
                                                       "i381"
-                                                      "i379"
-                                                      "i377"
-                                                      "i375"
-                                                      "i373"
-                                                      "i371"
-                                                      "i369"
-                                                      "i367"
+                                                      "i380"
+                                                      "i378"
+                                                      "i376"
+                                                      "i374"
+                                                      "i372"
+                                                      "i370"
+                                                      "i368"
                                                       "i366"
-                                                      "i364"
-                                                      "i362"
+                                                      "i365"
+                                                      "i363"
                                                       "i361"
                                                       "i360"
-                                                      "i358"
+                                                      "i359"
                                                       "i357"
-                                                      "i355"
-                                                      "i353"
-                                                      "i351"
-                                                      "i349"
-                                                      "i347"
-                                                      "i345"
-                                                      "i343"
-                                                      "i341"
-                                                      "i339"
-                                                      "i337"
-                                                      "i335"
-                                                      "i333"
-                                                      "i331"
-                                                      "i329"
-                                                      "i327"
-                                                      "i325"
-                                                      "i323"
-                                                      "i321"
-                                                      "i319"
-                                                      "i317"
-                                                      "i315"
-                                                      "i313"
-                                                      "i311"
-                                                      "i309"
-                                                      "i307"
-                                                      "i305"
-                                                      "i303"
-                                                      "i301"
-                                                      "i299"
-                                                      "i297"
-                                                      "i295"
-                                                      "i293"
+                                                      "i356"
+                                                      "i354"
+                                                      "i352"
+                                                      "i350"
+                                                      "i348"
+                                                      "i346"
+                                                      "i344"
+                                                      "i342"
+                                                      "i340"
+                                                      "i338"
+                                                      "i336"
+                                                      "i334"
+                                                      "i332"
+                                                      "i330"
+                                                      "i328"
+                                                      "i326"
+                                                      "i324"
+                                                      "i322"
+                                                      "i320"
+                                                      "i318"
+                                                      "i316"
+                                                      "i314"
+                                                      "i312"
+                                                      "i310"
+                                                      "i308"
+                                                      "i306"
+                                                      "i304"
+                                                      "i302"
+                                                      "i300"
+                                                      "i298"
+                                                      "i296"
+                                                      "i294"
                                                       "i292"
-                                                      "i290"
-                                                      "i288"
-                                                      "i286"
-                                                      "i284"
-                                                      "i282"
-                                                      "i280"
-                                                      "i278"
-                                                      "i276"
-                                                      "i274"
-                                                      "i271"
-                                                      "i269"
-                                                      "i267"
-                                                      "i265"
-                                                      "i263"
-                                                      "i261"
-                                                      "i259"
-                                                      "i257"
-                                                      "i255"
-                                                      "i253"
-                                                      "i251"
-                                                      "i249"
-                                                      "i247"
-                                                      "i245"
-                                                      "i243"
-                                                      "i241"
-                                                      "i239"
-                                                      "i237"))
+                                                      "i291"
+                                                      "i289"
+                                                      "i287"
+                                                      "i285"
+                                                      "i283"
+                                                      "i281"
+                                                      "i279"
+                                                      "i277"
+                                                      "i275"
+                                                      "i273"
+                                                      "i270"
+                                                      "i268"
+                                                      "i266"
+                                                      "i264"
+                                                      "i262"
+                                                      "i260"
+                                                      "i258"
+                                                      "i256"
+                                                      "i254"
+                                                      "i252"
+                                                      "i250"
+                                                      "i248"
+                                                      "i246"
+                                                      "i244"
+                                                      "i242"
+                                                      "i240"
+                                                      "i238"
+                                                      "i236"))
                                                    #(ribcage
                                                      (define-structure
                                                        
define-expansion-accessors
                                                        
define-expansion-constructors
                                                        and-map*)
                                                      ((top) (top) (top) (top))
-                                                     ("i39"
-                                                      "i38"
+                                                     ("i38"
                                                       "i37"
-                                                      "i35")))
+                                                      "i36"
+                                                      "i34")))
                                                   (hygiene guile))
-                                               #{keys\ 3742}#))
+                                               #{keys\ 3744}#))
                                        #f)
-                                   (if (#{free-id=?\ 439}#
+                                   (if (#{free-id=?\ 438}#
                                          '#(syntax-object
                                             pad
                                             ((top)
                                              #(ribcage
                                                #(pat exp)
                                                #((top) (top))
-                                               #("i3757" "i3758"))
+                                               #("i3759" "i3760"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x keys clauses r mod)
                                                #((top) (top) (top) (top) (top))
-                                               #("i3746"
-                                                 "i3747"
-                                                 "i3748"
+                                               #("i3748"
                                                  "i3749"
-                                                 "i3750"))
+                                                 "i3750"
+                                                 "i3751"
+                                                 "i3752"))
                                              #(ribcage
                                                (gen-syntax-case
                                                  gen-clause
                                                  build-dispatch-call
                                                  convert-pattern)
                                                ((top) (top) (top) (top))
-                                               ("i3570"
+                                               ("i3572"
+                                                "i3570"
                                                 "i3568"
-                                                "i3566"
-                                                "i3564"))
+                                                "i3566"))
                                              #(ribcage
                                                (lambda-var-list
                                                  gen-var
@@ -13413,150 +13418,150 @@
                                                 (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"
+                                               ("i493"
+                                                "i491"
+                                                "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"
-                                                "i414"
-                                                "i412"
-                                                "i410"
-                                                "i408"
-                                                "i406"
-                                                "i404"
-                                                "i402"
-                                                "i400"
-                                                "i397"
-                                                "i395"
+                                                "i415"
+                                                "i413"
+                                                "i411"
+                                                "i409"
+                                                "i407"
+                                                "i405"
+                                                "i403"
+                                                "i401"
+                                                "i399"
+                                                "i396"
                                                 "i394"
                                                 "i393"
                                                 "i392"
                                                 "i391"
                                                 "i390"
-                                                "i388"
-                                                "i386"
-                                                "i384"
-                                                "i382"
+                                                "i389"
+                                                "i387"
+                                                "i385"
+                                                "i383"
                                                 "i381"
-                                                "i379"
-                                                "i377"
-                                                "i375"
-                                                "i373"
-                                                "i371"
-                                                "i369"
-                                                "i367"
+                                                "i380"
+                                                "i378"
+                                                "i376"
+                                                "i374"
+                                                "i372"
+                                                "i370"
+                                                "i368"
                                                 "i366"
-                                                "i364"
-                                                "i362"
+                                                "i365"
+                                                "i363"
                                                 "i361"
                                                 "i360"
-                                                "i358"
+                                                "i359"
                                                 "i357"
-                                                "i355"
-                                                "i353"
-                                                "i351"
-                                                "i349"
-                                                "i347"
-                                                "i345"
-                                                "i343"
-                                                "i341"
-                                                "i339"
-                                                "i337"
-                                                "i335"
-                                                "i333"
-                                                "i331"
-                                                "i329"
-                                                "i327"
-                                                "i325"
-                                                "i323"
-                                                "i321"
-                                                "i319"
-                                                "i317"
-                                                "i315"
-                                                "i313"
-                                                "i311"
-                                                "i309"
-                                                "i307"
-                                                "i305"
-                                                "i303"
-                                                "i301"
-                                                "i299"
-                                                "i297"
-                                                "i295"
-                                                "i293"
+                                                "i356"
+                                                "i354"
+                                                "i352"
+                                                "i350"
+                                                "i348"
+                                                "i346"
+                                                "i344"
+                                                "i342"
+                                                "i340"
+                                                "i338"
+                                                "i336"
+                                                "i334"
+                                                "i332"
+                                                "i330"
+                                                "i328"
+                                                "i326"
+                                                "i324"
+                                                "i322"
+                                                "i320"
+                                                "i318"
+                                                "i316"
+                                                "i314"
+                                                "i312"
+                                                "i310"
+                                                "i308"
+                                                "i306"
+                                                "i304"
+                                                "i302"
+                                                "i300"
+                                                "i298"
+                                                "i296"
+                                                "i294"
                                                 "i292"
-                                                "i290"
-                                                "i288"
-                                                "i286"
-                                                "i284"
-                                                "i282"
-                                                "i280"
-                                                "i278"
-                                                "i276"
-                                                "i274"
-                                                "i271"
-                                                "i269"
-                                                "i267"
-                                                "i265"
-                                                "i263"
-                                                "i261"
-                                                "i259"
-                                                "i257"
-                                                "i255"
-                                                "i253"
-                                                "i251"
-                                                "i249"
-                                                "i247"
-                                                "i245"
-                                                "i243"
-                                                "i241"
-                                                "i239"
-                                                "i237"))
+                                                "i291"
+                                                "i289"
+                                                "i287"
+                                                "i285"
+                                                "i283"
+                                                "i281"
+                                                "i279"
+                                                "i277"
+                                                "i275"
+                                                "i273"
+                                                "i270"
+                                                "i268"
+                                                "i266"
+                                                "i264"
+                                                "i262"
+                                                "i260"
+                                                "i258"
+                                                "i256"
+                                                "i254"
+                                                "i252"
+                                                "i250"
+                                                "i248"
+                                                "i246"
+                                                "i244"
+                                                "i242"
+                                                "i240"
+                                                "i238"
+                                                "i236"))
                                              #(ribcage
                                                (define-structure
                                                  define-expansion-accessors
                                                  define-expansion-constructors
                                                  and-map*)
                                                ((top) (top) (top) (top))
-                                               ("i39" "i38" "i37" "i35")))
+                                               ("i38" "i37" "i36" "i34")))
                                             (hygiene guile))
                                          '#(syntax-object
                                             _
@@ -13564,26 +13569,26 @@
                                              #(ribcage
                                                #(pat exp)
                                                #((top) (top))
-                                               #("i3757" "i3758"))
+                                               #("i3759" "i3760"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x keys clauses r mod)
                                                #((top) (top) (top) (top) (top))
-                                               #("i3746"
-                                                 "i3747"
-                                                 "i3748"
+                                               #("i3748"
                                                  "i3749"
-                                                 "i3750"))
+                                                 "i3750"
+                                                 "i3751"
+                                                 "i3752"))
                                              #(ribcage
                                                (gen-syntax-case
                                                  gen-clause
                                                  build-dispatch-call
                                                  convert-pattern)
                                                ((top) (top) (top) (top))
-                                               ("i3570"
+                                               ("i3572"
+                                                "i3570"
                                                 "i3568"
-                                                "i3566"
-                                                "i3564"))
+                                                "i3566"))
                                              #(ribcage
                                                (lambda-var-list
                                                  gen-var
@@ -13859,750 +13864,750 @@
                                                 (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"
+                                               ("i493"
+                                                "i491"
+                                                "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"
-                                                "i414"
-                                                "i412"
-                                                "i410"
-                                                "i408"
-                                                "i406"
-                                                "i404"
-                                                "i402"
-                                                "i400"
-                                                "i397"
-                                                "i395"
+                                                "i415"
+                                                "i413"
+                                                "i411"
+                                                "i409"
+                                                "i407"
+                                                "i405"
+                                                "i403"
+                                                "i401"
+                                                "i399"
+                                                "i396"
                                                 "i394"
                                                 "i393"
                                                 "i392"
                                                 "i391"
                                                 "i390"
-                                                "i388"
-                                                "i386"
-                                                "i384"
-                                                "i382"
+                                                "i389"
+                                                "i387"
+                                                "i385"
+                                                "i383"
                                                 "i381"
-                                                "i379"
-                                                "i377"
-                                                "i375"
-                                                "i373"
-                                                "i371"
-                                                "i369"
-                                                "i367"
+                                                "i380"
+                                                "i378"
+                                                "i376"
+                                                "i374"
+                                                "i372"
+                                                "i370"
+                                                "i368"
                                                 "i366"
-                                                "i364"
-                                                "i362"
+                                                "i365"
+                                                "i363"
                                                 "i361"
                                                 "i360"
-                                                "i358"
+                                                "i359"
                                                 "i357"
-                                                "i355"
-                                                "i353"
-                                                "i351"
-                                                "i349"
-                                                "i347"
-                                                "i345"
-                                                "i343"
-                                                "i341"
-                                                "i339"
-                                                "i337"
-                                                "i335"
-                                                "i333"
-                                                "i331"
-                                                "i329"
-                                                "i327"
-                                                "i325"
-                                                "i323"
-                                                "i321"
-                                                "i319"
-                                                "i317"
-                                                "i315"
-                                                "i313"
-                                                "i311"
-                                                "i309"
-                                                "i307"
-                                                "i305"
-                                                "i303"
-                                                "i301"
-                                                "i299"
-                                                "i297"
-                                                "i295"
-                                                "i293"
+                                                "i356"
+                                                "i354"
+                                                "i352"
+                                                "i350"
+                                                "i348"
+                                                "i346"
+                                                "i344"
+                                                "i342"
+                                                "i340"
+                                                "i338"
+                                                "i336"
+                                                "i334"
+                                                "i332"
+                                                "i330"
+                                                "i328"
+                                                "i326"
+                                                "i324"
+                                                "i322"
+                                                "i320"
+                                                "i318"
+                                                "i316"
+                                                "i314"
+                                                "i312"
+                                                "i310"
+                                                "i308"
+                                                "i306"
+                                                "i304"
+                                                "i302"
+                                                "i300"
+                                                "i298"
+                                                "i296"
+                                                "i294"
                                                 "i292"
-                                                "i290"
-                                                "i288"
-                                                "i286"
-                                                "i284"
-                                                "i282"
-                                                "i280"
-                                                "i278"
-                                                "i276"
-                                                "i274"
-                                                "i271"
-                                                "i269"
-                                                "i267"
-                                                "i265"
-                                                "i263"
-                                                "i261"
-                                                "i259"
-                                                "i257"
-                                                "i255"
-                                                "i253"
-                                                "i251"
-                                                "i249"
-                                                "i247"
-                                                "i245"
-                                                "i243"
-                                                "i241"
-                                                "i239"
-                                                "i237"))
+                                                "i291"
+                                                "i289"
+                                                "i287"
+                                                "i285"
+                                                "i283"
+                                                "i281"
+                                                "i279"
+                                                "i277"
+                                                "i275"
+                                                "i273"
+                                                "i270"
+                                                "i268"
+                                                "i266"
+                                                "i264"
+                                                "i262"
+                                                "i260"
+                                                "i258"
+                                                "i256"
+                                                "i254"
+                                                "i252"
+                                                "i250"
+                                                "i248"
+                                                "i246"
+                                                "i244"
+                                                "i242"
+                                                "i240"
+                                                "i238"
+                                                "i236"))
                                              #(ribcage
                                                (define-structure
                                                  define-expansion-accessors
                                                  define-expansion-constructors
                                                  and-map*)
                                                ((top) (top) (top) (top))
-                                               ("i39" "i38" "i37" "i35")))
+                                               ("i38" "i37" "i36" "i34")))
                                             (hygiene guile)))
-                                     (#{chi\ 465}#
-                                       #{exp\ 3760}#
-                                       #{r\ 3744}#
+                                     (#{chi\ 464}#
+                                       #{exp\ 3762}#
+                                       #{r\ 3746}#
                                        '(())
-                                       #{mod\ 3745}#)
+                                       #{mod\ 3747}#)
                                      (begin
-                                       (let ((#{labels\ 3768}#
-                                               (list (#{gen-label\ 396}#)))
-                                             (#{var\ 3769}#
-                                               (#{gen-var\ 493}#
-                                                 #{pat\ 3759}#)))
-                                         (#{build-application\ 304}#
+                                       (let ((#{labels\ 3770}#
+                                               (list (#{gen-label\ 395}#)))
+                                             (#{var\ 3771}#
+                                               (#{gen-var\ 492}#
+                                                 #{pat\ 3761}#)))
+                                         (#{build-application\ 303}#
                                            #f
-                                           (#{build-simple-lambda\ 322}#
+                                           (#{build-simple-lambda\ 321}#
                                              #f
                                              (list (syntax->datum
-                                                     #{pat\ 3759}#))
+                                                     #{pat\ 3761}#))
                                              #f
-                                             (list #{var\ 3769}#)
+                                             (list #{var\ 3771}#)
                                              '()
-                                             (#{chi\ 465}#
-                                               #{exp\ 3760}#
-                                               (#{extend-env\ 368}#
-                                                 #{labels\ 3768}#
+                                             (#{chi\ 464}#
+                                               #{exp\ 3762}#
+                                               (#{extend-env\ 367}#
+                                                 #{labels\ 3770}#
                                                  (list (cons 'syntax
-                                                             (cons #{var\ 
3769}#
+                                                             (cons #{var\ 
3771}#
                                                                    0)))
-                                                 #{r\ 3744}#)
-                                               (#{make-binding-wrap\ 427}#
-                                                 (list #{pat\ 3759}#)
-                                                 #{labels\ 3768}#
+                                                 #{r\ 3746}#)
+                                               (#{make-binding-wrap\ 426}#
+                                                 (list #{pat\ 3761}#)
+                                                 #{labels\ 3770}#
                                                  '(()))
-                                               #{mod\ 3745}#))
-                                           (list #{x\ 3741}#)))))
-                                   (#{gen-clause\ 3569}#
-                                     #{x\ 3741}#
-                                     #{keys\ 3742}#
-                                     (cdr #{clauses\ 3743}#)
-                                     #{r\ 3744}#
-                                     #{pat\ 3759}#
+                                               #{mod\ 3747}#))
+                                           (list #{x\ 3743}#)))))
+                                   (#{gen-clause\ 3571}#
+                                     #{x\ 3743}#
+                                     #{keys\ 3744}#
+                                     (cdr #{clauses\ 3745}#)
+                                     #{r\ 3746}#
+                                     #{pat\ 3761}#
                                      #t
-                                     #{exp\ 3760}#
-                                     #{mod\ 3745}#)))
-                               #{tmp\ 3756}#)
-                             (let ((#{tmp\ 3775}#
+                                     #{exp\ 3762}#
+                                     #{mod\ 3747}#)))
+                               #{tmp\ 3758}#)
+                             (let ((#{tmp\ 3777}#
                                      ($sc-dispatch
-                                       #{tmp\ 3755}#
+                                       #{tmp\ 3757}#
                                        '(any any any))))
-                               (if #{tmp\ 3775}#
+                               (if #{tmp\ 3777}#
                                  (@apply
-                                   (lambda (#{pat\ 3779}#
-                                            #{fender\ 3780}#
-                                            #{exp\ 3781}#)
-                                     (#{gen-clause\ 3569}#
-                                       #{x\ 3741}#
-                                       #{keys\ 3742}#
-                                       (cdr #{clauses\ 3743}#)
-                                       #{r\ 3744}#
-                                       #{pat\ 3779}#
-                                       #{fender\ 3780}#
-                                       #{exp\ 3781}#
-                                       #{mod\ 3745}#))
-                                   #{tmp\ 3775}#)
-                                 (let ((#{_\ 3783}# #{tmp\ 3755}#))
+                                   (lambda (#{pat\ 3781}#
+                                            #{fender\ 3782}#
+                                            #{exp\ 3783}#)
+                                     (#{gen-clause\ 3571}#
+                                       #{x\ 3743}#
+                                       #{keys\ 3744}#
+                                       (cdr #{clauses\ 3745}#)
+                                       #{r\ 3746}#
+                                       #{pat\ 3781}#
+                                       #{fender\ 3782}#
+                                       #{exp\ 3783}#
+                                       #{mod\ 3747}#))
+                                   #{tmp\ 3777}#)
+                                 (let ((#{_\ 3785}# #{tmp\ 3757}#))
                                    (syntax-violation
                                      'syntax-case
                                      "invalid clause"
-                                     (car #{clauses\ 3743}#))))))))))))
+                                     (car #{clauses\ 3745}#))))))))))))
                 (begin
-                  (lambda (#{e\ 3784}#
-                           #{r\ 3785}#
-                           #{w\ 3786}#
-                           #{s\ 3787}#
-                           #{mod\ 3788}#)
+                  (lambda (#{e\ 3786}#
+                           #{r\ 3787}#
+                           #{w\ 3788}#
+                           #{s\ 3789}#
+                           #{mod\ 3790}#)
                     (begin
-                      (let ((#{e\ 3795}#
-                              (#{source-wrap\ 451}#
-                                #{e\ 3784}#
-                                #{w\ 3786}#
-                                #{s\ 3787}#
-                                #{mod\ 3788}#)))
-                        (let ((#{tmp\ 3796}# #{e\ 3795}#))
-                          (let ((#{tmp\ 3797}#
+                      (let ((#{e\ 3797}#
+                              (#{source-wrap\ 450}#
+                                #{e\ 3786}#
+                                #{w\ 3788}#
+                                #{s\ 3789}#
+                                #{mod\ 3790}#)))
+                        (let ((#{tmp\ 3798}# #{e\ 3797}#))
+                          (let ((#{tmp\ 3799}#
                                   ($sc-dispatch
-                                    #{tmp\ 3796}#
+                                    #{tmp\ 3798}#
                                     '(_ any each-any . each-any))))
-                            (if #{tmp\ 3797}#
+                            (if #{tmp\ 3799}#
                               (@apply
-                                (lambda (#{val\ 3801}#
-                                         #{key\ 3802}#
-                                         #{m\ 3803}#)
+                                (lambda (#{val\ 3803}#
+                                         #{key\ 3804}#
+                                         #{m\ 3805}#)
                                   (if (and-map
-                                        (lambda (#{x\ 3804}#)
-                                          (if (#{id?\ 380}# #{x\ 3804}#)
-                                            (not (#{ellipsis?\ 481}#
-                                                   #{x\ 3804}#))
+                                        (lambda (#{x\ 3806}#)
+                                          (if (#{id?\ 379}# #{x\ 3806}#)
+                                            (not (#{ellipsis?\ 480}#
+                                                   #{x\ 3806}#))
                                             #f))
-                                        #{key\ 3802}#)
+                                        #{key\ 3804}#)
                                     (begin
-                                      (let ((#{x\ 3810}#
-                                              (#{gen-var\ 493}# (quote tmp))))
-                                        (#{build-application\ 304}#
-                                          #{s\ 3787}#
-                                          (#{build-simple-lambda\ 322}#
+                                      (let ((#{x\ 3812}#
+                                              (#{gen-var\ 492}# (quote tmp))))
+                                        (#{build-application\ 303}#
+                                          #{s\ 3789}#
+                                          (#{build-simple-lambda\ 321}#
                                             #f
                                             (list (quote tmp))
                                             #f
-                                            (list #{x\ 3810}#)
+                                            (list #{x\ 3812}#)
                                             '()
-                                            (#{gen-syntax-case\ 3571}#
-                                              (#{build-lexical-reference\ 310}#
+                                            (#{gen-syntax-case\ 3573}#
+                                              (#{build-lexical-reference\ 309}#
                                                 'value
                                                 #f
                                                 'tmp
-                                                #{x\ 3810}#)
-                                              #{key\ 3802}#
-                                              #{m\ 3803}#
-                                              #{r\ 3785}#
-                                              #{mod\ 3788}#))
-                                          (list (#{chi\ 465}#
-                                                  #{val\ 3801}#
-                                                  #{r\ 3785}#
+                                                #{x\ 3812}#)
+                                              #{key\ 3804}#
+                                              #{m\ 3805}#
+                                              #{r\ 3787}#
+                                              #{mod\ 3790}#))
+                                          (list (#{chi\ 464}#
+                                                  #{val\ 3803}#
+                                                  #{r\ 3787}#
                                                   '(())
-                                                  #{mod\ 3788}#)))))
+                                                  #{mod\ 3790}#)))))
                                     (syntax-violation
                                       'syntax-case
                                       "invalid literals list"
-                                      #{e\ 3795}#)))
-                                #{tmp\ 3797}#)
+                                      #{e\ 3797}#)))
+                                #{tmp\ 3799}#)
                               (syntax-violation
                                 #f
                                 "source expression failed to match any pattern"
-                                #{tmp\ 3796}#))))))))))
+                                #{tmp\ 3798}#))))))))))
             (set! macroexpand
               (lambda*
-                (#{x\ 3816}#
+                (#{x\ 3818}#
                   #:optional
-                  (#{m\ 3818}# (quote e))
-                  (#{esew\ 3820}# (quote (eval))))
-                (#{chi-top\ 463}#
-                  #{x\ 3816}#
+                  (#{m\ 3820}# (quote e))
+                  (#{esew\ 3822}# (quote (eval))))
+                (#{chi-top\ 462}#
+                  #{x\ 3818}#
                   '()
                   '((top))
-                  #{m\ 3818}#
-                  #{esew\ 3820}#
+                  #{m\ 3820}#
+                  #{esew\ 3822}#
                   (cons 'hygiene
                         (module-name (current-module))))))
             (set! identifier?
-              (lambda (#{x\ 3824}#)
-                (#{nonsymbol-id?\ 378}# #{x\ 3824}#)))
+              (lambda (#{x\ 3826}#)
+                (#{nonsymbol-id?\ 377}# #{x\ 3826}#)))
             (set! datum->syntax
-              (lambda (#{id\ 3826}# #{datum\ 3827}#)
-                (#{make-syntax-object\ 342}#
-                  #{datum\ 3827}#
-                  (#{syntax-object-wrap\ 348}# #{id\ 3826}#)
-                  (#{syntax-object-module\ 350}# #{id\ 3826}#))))
+              (lambda (#{id\ 3828}# #{datum\ 3829}#)
+                (#{make-syntax-object\ 341}#
+                  #{datum\ 3829}#
+                  (#{syntax-object-wrap\ 347}# #{id\ 3828}#)
+                  (#{syntax-object-module\ 349}# #{id\ 3828}#))))
             (set! syntax->datum
-              (lambda (#{x\ 3830}#)
-                (#{strip\ 491}# #{x\ 3830}# (quote (())))))
+              (lambda (#{x\ 3832}#)
+                (#{strip\ 490}# #{x\ 3832}# (quote (())))))
             (set! syntax-source
-              (lambda (#{x\ 3833}#)
-                (#{source-annotation\ 359}# #{x\ 3833}#)))
+              (lambda (#{x\ 3835}#)
+                (#{source-annotation\ 358}# #{x\ 3835}#)))
             (set! generate-temporaries
-              (lambda (#{ls\ 3835}#)
+              (lambda (#{ls\ 3837}#)
                 (begin
                   (begin
-                    (let ((#{x\ 3839}# #{ls\ 3835}#))
-                      (if (not (list? #{x\ 3839}#))
+                    (let ((#{x\ 3841}# #{ls\ 3837}#))
+                      (if (not (list? #{x\ 3841}#))
                         (syntax-violation
                           'generate-temporaries
                           "invalid argument"
-                          #{x\ 3839}#))))
-                  (map (lambda (#{x\ 3840}#)
-                         (#{wrap\ 449}# (gensym) (quote ((top))) #f))
-                       #{ls\ 3835}#))))
+                          #{x\ 3841}#))))
+                  (map (lambda (#{x\ 3842}#)
+                         (#{wrap\ 448}# (gensym) (quote ((top))) #f))
+                       #{ls\ 3837}#))))
             (set! free-identifier=?
-              (lambda (#{x\ 3844}# #{y\ 3845}#)
+              (lambda (#{x\ 3846}# #{y\ 3847}#)
                 (begin
                   (begin
-                    (let ((#{x\ 3850}# #{x\ 3844}#))
-                      (if (not (#{nonsymbol-id?\ 378}# #{x\ 3850}#))
+                    (let ((#{x\ 3852}# #{x\ 3846}#))
+                      (if (not (#{nonsymbol-id?\ 377}# #{x\ 3852}#))
                         (syntax-violation
                           'free-identifier=?
                           "invalid argument"
-                          #{x\ 3850}#))))
+                          #{x\ 3852}#))))
                   (begin
-                    (let ((#{x\ 3853}# #{y\ 3845}#))
-                      (if (not (#{nonsymbol-id?\ 378}# #{x\ 3853}#))
+                    (let ((#{x\ 3855}# #{y\ 3847}#))
+                      (if (not (#{nonsymbol-id?\ 377}# #{x\ 3855}#))
                         (syntax-violation
                           'free-identifier=?
                           "invalid argument"
-                          #{x\ 3853}#))))
-                  (#{free-id=?\ 439}# #{x\ 3844}# #{y\ 3845}#))))
+                          #{x\ 3855}#))))
+                  (#{free-id=?\ 438}# #{x\ 3846}# #{y\ 3847}#))))
             (set! bound-identifier=?
-              (lambda (#{x\ 3854}# #{y\ 3855}#)
+              (lambda (#{x\ 3856}# #{y\ 3857}#)
                 (begin
                   (begin
-                    (let ((#{x\ 3860}# #{x\ 3854}#))
-                      (if (not (#{nonsymbol-id?\ 378}# #{x\ 3860}#))
+                    (let ((#{x\ 3862}# #{x\ 3856}#))
+                      (if (not (#{nonsymbol-id?\ 377}# #{x\ 3862}#))
                         (syntax-violation
                           'bound-identifier=?
                           "invalid argument"
-                          #{x\ 3860}#))))
+                          #{x\ 3862}#))))
                   (begin
-                    (let ((#{x\ 3863}# #{y\ 3855}#))
-                      (if (not (#{nonsymbol-id?\ 378}# #{x\ 3863}#))
+                    (let ((#{x\ 3865}# #{y\ 3857}#))
+                      (if (not (#{nonsymbol-id?\ 377}# #{x\ 3865}#))
                         (syntax-violation
                           'bound-identifier=?
                           "invalid argument"
-                          #{x\ 3863}#))))
-                  (#{bound-id=?\ 441}# #{x\ 3854}# #{y\ 3855}#))))
+                          #{x\ 3865}#))))
+                  (#{bound-id=?\ 440}# #{x\ 3856}# #{y\ 3857}#))))
             (set! syntax-violation
-              (lambda (#{who\ 3864}#
-                       #{message\ 3865}#
-                       #{form\ 3866}#
+              (lambda (#{who\ 3866}#
+                       #{message\ 3867}#
+                       #{form\ 3868}#
                        .
-                       #{subform\ 3867}#)
+                       #{subform\ 3869}#)
                 (begin
                   (begin
-                    (let ((#{x\ 3874}# #{who\ 3864}#))
-                      (if (not (let ((#{x\ 3875}# #{x\ 3874}#))
+                    (let ((#{x\ 3876}# #{who\ 3866}#))
+                      (if (not (let ((#{x\ 3877}# #{x\ 3876}#))
                                  (begin
-                                   (let ((#{t\ 3879}# (not #{x\ 3875}#)))
-                                     (if #{t\ 3879}#
-                                       #{t\ 3879}#
+                                   (let ((#{t\ 3881}# (not #{x\ 3877}#)))
+                                     (if #{t\ 3881}#
+                                       #{t\ 3881}#
                                        (begin
-                                         (let ((#{t\ 3882}#
-                                                 (string? #{x\ 3875}#)))
-                                           (if #{t\ 3882}#
-                                             #{t\ 3882}#
-                                             (symbol? #{x\ 3875}#)))))))))
+                                         (let ((#{t\ 3884}#
+                                                 (string? #{x\ 3877}#)))
+                                           (if #{t\ 3884}#
+                                             #{t\ 3884}#
+                                             (symbol? #{x\ 3877}#)))))))))
                         (syntax-violation
                           'syntax-violation
                           "invalid argument"
-                          #{x\ 3874}#))))
+                          #{x\ 3876}#))))
                   (begin
-                    (let ((#{x\ 3886}# #{message\ 3865}#))
-                      (if (not (string? #{x\ 3886}#))
+                    (let ((#{x\ 3888}# #{message\ 3867}#))
+                      (if (not (string? #{x\ 3888}#))
                         (syntax-violation
                           'syntax-violation
                           "invalid argument"
-                          #{x\ 3886}#))))
+                          #{x\ 3888}#))))
                   (scm-error
                     'syntax-error
                     'macroexpand
                     (string-append
-                      (if #{who\ 3864}# "~a: " "")
+                      (if #{who\ 3866}# "~a: " "")
                       "~a "
-                      (if (null? #{subform\ 3867}#)
+                      (if (null? #{subform\ 3869}#)
                         "in ~a"
                         "in subform `~s' of `~s'"))
                     (begin
-                      (let ((#{tail\ 3888}#
-                              (cons #{message\ 3865}#
-                                    (map (lambda (#{x\ 3889}#)
-                                           (#{strip\ 491}#
-                                             #{x\ 3889}#
+                      (let ((#{tail\ 3890}#
+                              (cons #{message\ 3867}#
+                                    (map (lambda (#{x\ 3891}#)
+                                           (#{strip\ 490}#
+                                             #{x\ 3891}#
                                              '(())))
                                          (append
-                                           #{subform\ 3867}#
-                                           (list #{form\ 3866}#))))))
-                        (if #{who\ 3864}#
-                          (cons #{who\ 3864}# #{tail\ 3888}#)
-                          #{tail\ 3888}#)))
+                                           #{subform\ 3869}#
+                                           (list #{form\ 3868}#))))))
+                        (if #{who\ 3866}#
+                          (cons #{who\ 3866}# #{tail\ 3890}#)
+                          #{tail\ 3890}#)))
                     #f))))
             (letrec*
-              ((#{match-each\ 3893}#
-                 (lambda (#{e\ 3906}#
-                          #{p\ 3907}#
-                          #{w\ 3908}#
-                          #{mod\ 3909}#)
-                   (if (pair? #{e\ 3906}#)
+              ((#{match-each\ 3895}#
+                 (lambda (#{e\ 3908}#
+                          #{p\ 3909}#
+                          #{w\ 3910}#
+                          #{mod\ 3911}#)
+                   (if (pair? #{e\ 3908}#)
                      (begin
-                       (let ((#{first\ 3917}#
-                               (#{match\ 3905}#
-                                 (car #{e\ 3906}#)
-                                 #{p\ 3907}#
-                                 #{w\ 3908}#
+                       (let ((#{first\ 3919}#
+                               (#{match\ 3907}#
+                                 (car #{e\ 3908}#)
+                                 #{p\ 3909}#
+                                 #{w\ 3910}#
                                  '()
-                                 #{mod\ 3909}#)))
-                         (if #{first\ 3917}#
+                                 #{mod\ 3911}#)))
+                         (if #{first\ 3919}#
                            (begin
-                             (let ((#{rest\ 3921}#
-                                     (#{match-each\ 3893}#
-                                       (cdr #{e\ 3906}#)
-                                       #{p\ 3907}#
-                                       #{w\ 3908}#
-                                       #{mod\ 3909}#)))
-                               (if #{rest\ 3921}#
-                                 (cons #{first\ 3917}# #{rest\ 3921}#)
+                             (let ((#{rest\ 3923}#
+                                     (#{match-each\ 3895}#
+                                       (cdr #{e\ 3908}#)
+                                       #{p\ 3909}#
+                                       #{w\ 3910}#
+                                       #{mod\ 3911}#)))
+                               (if #{rest\ 3923}#
+                                 (cons #{first\ 3919}# #{rest\ 3923}#)
                                  #f)))
                            #f)))
-                     (if (null? #{e\ 3906}#)
+                     (if (null? #{e\ 3908}#)
                        '()
-                       (if (#{syntax-object?\ 344}# #{e\ 3906}#)
-                         (#{match-each\ 3893}#
-                           (#{syntax-object-expression\ 346}# #{e\ 3906}#)
-                           #{p\ 3907}#
-                           (#{join-wraps\ 431}#
-                             #{w\ 3908}#
-                             (#{syntax-object-wrap\ 348}# #{e\ 3906}#))
-                           (#{syntax-object-module\ 350}# #{e\ 3906}#))
+                       (if (#{syntax-object?\ 343}# #{e\ 3908}#)
+                         (#{match-each\ 3895}#
+                           (#{syntax-object-expression\ 345}# #{e\ 3908}#)
+                           #{p\ 3909}#
+                           (#{join-wraps\ 430}#
+                             #{w\ 3910}#
+                             (#{syntax-object-wrap\ 347}# #{e\ 3908}#))
+                           (#{syntax-object-module\ 349}# #{e\ 3908}#))
                          #f)))))
-               (#{match-each+\ 3895}#
-                 (lambda (#{e\ 3929}#
-                          #{x-pat\ 3930}#
-                          #{y-pat\ 3931}#
-                          #{z-pat\ 3932}#
-                          #{w\ 3933}#
-                          #{r\ 3934}#
-                          #{mod\ 3935}#)
+               (#{match-each+\ 3897}#
+                 (lambda (#{e\ 3931}#
+                          #{x-pat\ 3932}#
+                          #{y-pat\ 3933}#
+                          #{z-pat\ 3934}#
+                          #{w\ 3935}#
+                          #{r\ 3936}#
+                          #{mod\ 3937}#)
                    (letrec*
-                     ((#{f\ 3946}#
-                        (lambda (#{e\ 3947}# #{w\ 3948}#)
-                          (if (pair? #{e\ 3947}#)
+                     ((#{f\ 3948}#
+                        (lambda (#{e\ 3949}# #{w\ 3950}#)
+                          (if (pair? #{e\ 3949}#)
                             (call-with-values
                               (lambda ()
-                                (#{f\ 3946}# (cdr #{e\ 3947}#) #{w\ 3948}#))
-                              (lambda (#{xr*\ 3951}#
-                                       #{y-pat\ 3952}#
-                                       #{r\ 3953}#)
-                                (if #{r\ 3953}#
-                                  (if (null? #{y-pat\ 3952}#)
+                                (#{f\ 3948}# (cdr #{e\ 3949}#) #{w\ 3950}#))
+                              (lambda (#{xr*\ 3953}#
+                                       #{y-pat\ 3954}#
+                                       #{r\ 3955}#)
+                                (if #{r\ 3955}#
+                                  (if (null? #{y-pat\ 3954}#)
                                     (begin
-                                      (let ((#{xr\ 3958}#
-                                              (#{match\ 3905}#
-                                                (car #{e\ 3947}#)
-                                                #{x-pat\ 3930}#
-                                                #{w\ 3948}#
+                                      (let ((#{xr\ 3960}#
+                                              (#{match\ 3907}#
+                                                (car #{e\ 3949}#)
+                                                #{x-pat\ 3932}#
+                                                #{w\ 3950}#
                                                 '()
-                                                #{mod\ 3935}#)))
-                                        (if #{xr\ 3958}#
+                                                #{mod\ 3937}#)))
+                                        (if #{xr\ 3960}#
                                           (values
-                                            (cons #{xr\ 3958}# #{xr*\ 3951}#)
-                                            #{y-pat\ 3952}#
-                                            #{r\ 3953}#)
+                                            (cons #{xr\ 3960}# #{xr*\ 3953}#)
+                                            #{y-pat\ 3954}#
+                                            #{r\ 3955}#)
                                           (values #f #f #f))))
                                     (values
                                       '()
-                                      (cdr #{y-pat\ 3952}#)
-                                      (#{match\ 3905}#
-                                        (car #{e\ 3947}#)
-                                        (car #{y-pat\ 3952}#)
-                                        #{w\ 3948}#
-                                        #{r\ 3953}#
-                                        #{mod\ 3935}#)))
+                                      (cdr #{y-pat\ 3954}#)
+                                      (#{match\ 3907}#
+                                        (car #{e\ 3949}#)
+                                        (car #{y-pat\ 3954}#)
+                                        #{w\ 3950}#
+                                        #{r\ 3955}#
+                                        #{mod\ 3937}#)))
                                   (values #f #f #f))))
-                            (if (#{syntax-object?\ 344}# #{e\ 3947}#)
-                              (#{f\ 3946}#
-                                (#{syntax-object-expression\ 346}# #{e\ 3947}#)
-                                (#{join-wraps\ 431}# #{w\ 3948}# #{e\ 3947}#))
+                            (if (#{syntax-object?\ 343}# #{e\ 3949}#)
+                              (#{f\ 3948}#
+                                (#{syntax-object-expression\ 345}# #{e\ 3949}#)
+                                (#{join-wraps\ 430}# #{w\ 3950}# #{e\ 3949}#))
                               (values
                                 '()
-                                #{y-pat\ 3931}#
-                                (#{match\ 3905}#
-                                  #{e\ 3947}#
-                                  #{z-pat\ 3932}#
-                                  #{w\ 3948}#
-                                  #{r\ 3934}#
-                                  #{mod\ 3935}#)))))))
-                     (begin (#{f\ 3946}# #{e\ 3929}# #{w\ 3933}#)))))
-               (#{match-each-any\ 3897}#
-                 (lambda (#{e\ 3962}# #{w\ 3963}# #{mod\ 3964}#)
-                   (if (pair? #{e\ 3962}#)
+                                #{y-pat\ 3933}#
+                                (#{match\ 3907}#
+                                  #{e\ 3949}#
+                                  #{z-pat\ 3934}#
+                                  #{w\ 3950}#
+                                  #{r\ 3936}#
+                                  #{mod\ 3937}#)))))))
+                     (begin (#{f\ 3948}# #{e\ 3931}# #{w\ 3935}#)))))
+               (#{match-each-any\ 3899}#
+                 (lambda (#{e\ 3964}# #{w\ 3965}# #{mod\ 3966}#)
+                   (if (pair? #{e\ 3964}#)
                      (begin
-                       (let ((#{l\ 3971}#
-                               (#{match-each-any\ 3897}#
-                                 (cdr #{e\ 3962}#)
-                                 #{w\ 3963}#
-                                 #{mod\ 3964}#)))
-                         (if #{l\ 3971}#
-                           (cons (#{wrap\ 449}#
-                                   (car #{e\ 3962}#)
-                                   #{w\ 3963}#
-                                   #{mod\ 3964}#)
-                                 #{l\ 3971}#)
+                       (let ((#{l\ 3973}#
+                               (#{match-each-any\ 3899}#
+                                 (cdr #{e\ 3964}#)
+                                 #{w\ 3965}#
+                                 #{mod\ 3966}#)))
+                         (if #{l\ 3973}#
+                           (cons (#{wrap\ 448}#
+                                   (car #{e\ 3964}#)
+                                   #{w\ 3965}#
+                                   #{mod\ 3966}#)
+                                 #{l\ 3973}#)
                            #f)))
-                     (if (null? #{e\ 3962}#)
+                     (if (null? #{e\ 3964}#)
                        '()
-                       (if (#{syntax-object?\ 344}# #{e\ 3962}#)
-                         (#{match-each-any\ 3897}#
-                           (#{syntax-object-expression\ 346}# #{e\ 3962}#)
-                           (#{join-wraps\ 431}#
-                             #{w\ 3963}#
-                             (#{syntax-object-wrap\ 348}# #{e\ 3962}#))
-                           #{mod\ 3964}#)
+                       (if (#{syntax-object?\ 343}# #{e\ 3964}#)
+                         (#{match-each-any\ 3899}#
+                           (#{syntax-object-expression\ 345}# #{e\ 3964}#)
+                           (#{join-wraps\ 430}#
+                             #{w\ 3965}#
+                             (#{syntax-object-wrap\ 347}# #{e\ 3964}#))
+                           #{mod\ 3966}#)
                          #f)))))
-               (#{match-empty\ 3899}#
-                 (lambda (#{p\ 3979}# #{r\ 3980}#)
-                   (if (null? #{p\ 3979}#)
-                     #{r\ 3980}#
-                     (if (eq? #{p\ 3979}# (quote _))
-                       #{r\ 3980}#
-                       (if (eq? #{p\ 3979}# (quote any))
-                         (cons (quote ()) #{r\ 3980}#)
-                         (if (pair? #{p\ 3979}#)
-                           (#{match-empty\ 3899}#
-                             (car #{p\ 3979}#)
-                             (#{match-empty\ 3899}#
-                               (cdr #{p\ 3979}#)
-                               #{r\ 3980}#))
-                           (if (eq? #{p\ 3979}# (quote each-any))
-                             (cons (quote ()) #{r\ 3980}#)
+               (#{match-empty\ 3901}#
+                 (lambda (#{p\ 3981}# #{r\ 3982}#)
+                   (if (null? #{p\ 3981}#)
+                     #{r\ 3982}#
+                     (if (eq? #{p\ 3981}# (quote _))
+                       #{r\ 3982}#
+                       (if (eq? #{p\ 3981}# (quote any))
+                         (cons (quote ()) #{r\ 3982}#)
+                         (if (pair? #{p\ 3981}#)
+                           (#{match-empty\ 3901}#
+                             (car #{p\ 3981}#)
+                             (#{match-empty\ 3901}#
+                               (cdr #{p\ 3981}#)
+                               #{r\ 3982}#))
+                           (if (eq? #{p\ 3981}# (quote each-any))
+                             (cons (quote ()) #{r\ 3982}#)
                              (begin
-                               (let ((#{atom-key\ 3996}#
-                                       (vector-ref #{p\ 3979}# 0)))
-                                 (if (eqv? #{atom-key\ 3996}# (quote each))
-                                   (#{match-empty\ 3899}#
-                                     (vector-ref #{p\ 3979}# 1)
-                                     #{r\ 3980}#)
-                                   (if (eqv? #{atom-key\ 3996}# (quote each+))
-                                     (#{match-empty\ 3899}#
-                                       (vector-ref #{p\ 3979}# 1)
-                                       (#{match-empty\ 3899}#
-                                         (reverse (vector-ref #{p\ 3979}# 2))
-                                         (#{match-empty\ 3899}#
-                                           (vector-ref #{p\ 3979}# 3)
-                                           #{r\ 3980}#)))
-                                     (if (if (eqv? #{atom-key\ 3996}#
+                               (let ((#{atom-key\ 3998}#
+                                       (vector-ref #{p\ 3981}# 0)))
+                                 (if (eqv? #{atom-key\ 3998}# (quote each))
+                                   (#{match-empty\ 3901}#
+                                     (vector-ref #{p\ 3981}# 1)
+                                     #{r\ 3982}#)
+                                   (if (eqv? #{atom-key\ 3998}# (quote each+))
+                                     (#{match-empty\ 3901}#
+                                       (vector-ref #{p\ 3981}# 1)
+                                       (#{match-empty\ 3901}#
+                                         (reverse (vector-ref #{p\ 3981}# 2))
+                                         (#{match-empty\ 3901}#
+                                           (vector-ref #{p\ 3981}# 3)
+                                           #{r\ 3982}#)))
+                                     (if (if (eqv? #{atom-key\ 3998}#
                                                    'free-id)
                                            #t
-                                           (eqv? #{atom-key\ 3996}#
+                                           (eqv? #{atom-key\ 3998}#
                                                  'atom))
-                                       #{r\ 3980}#
-                                       (if (eqv? #{atom-key\ 3996}#
+                                       #{r\ 3982}#
+                                       (if (eqv? #{atom-key\ 3998}#
                                                  'vector)
-                                         (#{match-empty\ 3899}#
-                                           (vector-ref #{p\ 3979}# 1)
-                                           #{r\ 3980}#))))))))))))))
-               (#{combine\ 3901}#
-                 (lambda (#{r*\ 4001}# #{r\ 4002}#)
-                   (if (null? (car #{r*\ 4001}#))
-                     #{r\ 4002}#
-                     (cons (map car #{r*\ 4001}#)
-                           (#{combine\ 3901}#
-                             (map cdr #{r*\ 4001}#)
-                             #{r\ 4002}#)))))
-               (#{match*\ 3903}#
-                 (lambda (#{e\ 4005}#
-                          #{p\ 4006}#
-                          #{w\ 4007}#
-                          #{r\ 4008}#
-                          #{mod\ 4009}#)
-                   (if (null? #{p\ 4006}#)
-                     (if (null? #{e\ 4005}#) #{r\ 4008}# #f)
-                     (if (pair? #{p\ 4006}#)
-                       (if (pair? #{e\ 4005}#)
-                         (#{match\ 3905}#
-                           (car #{e\ 4005}#)
-                           (car #{p\ 4006}#)
-                           #{w\ 4007}#
-                           (#{match\ 3905}#
-                             (cdr #{e\ 4005}#)
-                             (cdr #{p\ 4006}#)
-                             #{w\ 4007}#
-                             #{r\ 4008}#
-                             #{mod\ 4009}#)
-                           #{mod\ 4009}#)
+                                         (#{match-empty\ 3901}#
+                                           (vector-ref #{p\ 3981}# 1)
+                                           #{r\ 3982}#))))))))))))))
+               (#{combine\ 3903}#
+                 (lambda (#{r*\ 4003}# #{r\ 4004}#)
+                   (if (null? (car #{r*\ 4003}#))
+                     #{r\ 4004}#
+                     (cons (map car #{r*\ 4003}#)
+                           (#{combine\ 3903}#
+                             (map cdr #{r*\ 4003}#)
+                             #{r\ 4004}#)))))
+               (#{match*\ 3905}#
+                 (lambda (#{e\ 4007}#
+                          #{p\ 4008}#
+                          #{w\ 4009}#
+                          #{r\ 4010}#
+                          #{mod\ 4011}#)
+                   (if (null? #{p\ 4008}#)
+                     (if (null? #{e\ 4007}#) #{r\ 4010}# #f)
+                     (if (pair? #{p\ 4008}#)
+                       (if (pair? #{e\ 4007}#)
+                         (#{match\ 3907}#
+                           (car #{e\ 4007}#)
+                           (car #{p\ 4008}#)
+                           #{w\ 4009}#
+                           (#{match\ 3907}#
+                             (cdr #{e\ 4007}#)
+                             (cdr #{p\ 4008}#)
+                             #{w\ 4009}#
+                             #{r\ 4010}#
+                             #{mod\ 4011}#)
+                           #{mod\ 4011}#)
                          #f)
-                       (if (eq? #{p\ 4006}# (quote each-any))
+                       (if (eq? #{p\ 4008}# (quote each-any))
                          (begin
-                           (let ((#{l\ 4026}#
-                                   (#{match-each-any\ 3897}#
-                                     #{e\ 4005}#
-                                     #{w\ 4007}#
-                                     #{mod\ 4009}#)))
-                             (if #{l\ 4026}#
-                               (cons #{l\ 4026}# #{r\ 4008}#)
+                           (let ((#{l\ 4028}#
+                                   (#{match-each-any\ 3899}#
+                                     #{e\ 4007}#
+                                     #{w\ 4009}#
+                                     #{mod\ 4011}#)))
+                             (if #{l\ 4028}#
+                               (cons #{l\ 4028}# #{r\ 4010}#)
                                #f)))
                          (begin
-                           (let ((#{atom-key\ 4032}#
-                                   (vector-ref #{p\ 4006}# 0)))
-                             (if (eqv? #{atom-key\ 4032}# (quote each))
-                               (if (null? #{e\ 4005}#)
-                                 (#{match-empty\ 3899}#
-                                   (vector-ref #{p\ 4006}# 1)
-                                   #{r\ 4008}#)
+                           (let ((#{atom-key\ 4034}#
+                                   (vector-ref #{p\ 4008}# 0)))
+                             (if (eqv? #{atom-key\ 4034}# (quote each))
+                               (if (null? #{e\ 4007}#)
+                                 (#{match-empty\ 3901}#
+                                   (vector-ref #{p\ 4008}# 1)
+                                   #{r\ 4010}#)
                                  (begin
-                                   (let ((#{l\ 4035}#
-                                           (#{match-each\ 3893}#
-                                             #{e\ 4005}#
-                                             (vector-ref #{p\ 4006}# 1)
-                                             #{w\ 4007}#
-                                             #{mod\ 4009}#)))
-                                     (if #{l\ 4035}#
+                                   (let ((#{l\ 4037}#
+                                           (#{match-each\ 3895}#
+                                             #{e\ 4007}#
+                                             (vector-ref #{p\ 4008}# 1)
+                                             #{w\ 4009}#
+                                             #{mod\ 4011}#)))
+                                     (if #{l\ 4037}#
                                        (letrec*
-                                         ((#{collect\ 4040}#
-                                            (lambda (#{l\ 4041}#)
-                                              (if (null? (car #{l\ 4041}#))
-                                                #{r\ 4008}#
-                                                (cons (map car #{l\ 4041}#)
-                                                      (#{collect\ 4040}#
+                                         ((#{collect\ 4042}#
+                                            (lambda (#{l\ 4043}#)
+                                              (if (null? (car #{l\ 4043}#))
+                                                #{r\ 4010}#
+                                                (cons (map car #{l\ 4043}#)
+                                                      (#{collect\ 4042}#
                                                         (map cdr
-                                                             #{l\ 4041}#)))))))
+                                                             #{l\ 4043}#)))))))
                                          (begin
-                                           (#{collect\ 4040}# #{l\ 4035}#)))
+                                           (#{collect\ 4042}# #{l\ 4037}#)))
                                        #f))))
-                               (if (eqv? #{atom-key\ 4032}# (quote each+))
+                               (if (eqv? #{atom-key\ 4034}# (quote each+))
                                  (call-with-values
                                    (lambda ()
-                                     (#{match-each+\ 3895}#
-                                       #{e\ 4005}#
-                                       (vector-ref #{p\ 4006}# 1)
-                                       (vector-ref #{p\ 4006}# 2)
-                                       (vector-ref #{p\ 4006}# 3)
-                                       #{w\ 4007}#
-                                       #{r\ 4008}#
-                                       #{mod\ 4009}#))
-                                   (lambda (#{xr*\ 4043}#
-                                            #{y-pat\ 4044}#
-                                            #{r\ 4045}#)
-                                     (if #{r\ 4045}#
-                                       (if (null? #{y-pat\ 4044}#)
-                                         (if (null? #{xr*\ 4043}#)
-                                           (#{match-empty\ 3899}#
-                                             (vector-ref #{p\ 4006}# 1)
-                                             #{r\ 4045}#)
-                                           (#{combine\ 3901}#
-                                             #{xr*\ 4043}#
-                                             #{r\ 4045}#))
+                                     (#{match-each+\ 3897}#
+                                       #{e\ 4007}#
+                                       (vector-ref #{p\ 4008}# 1)
+                                       (vector-ref #{p\ 4008}# 2)
+                                       (vector-ref #{p\ 4008}# 3)
+                                       #{w\ 4009}#
+                                       #{r\ 4010}#
+                                       #{mod\ 4011}#))
+                                   (lambda (#{xr*\ 4045}#
+                                            #{y-pat\ 4046}#
+                                            #{r\ 4047}#)
+                                     (if #{r\ 4047}#
+                                       (if (null? #{y-pat\ 4046}#)
+                                         (if (null? #{xr*\ 4045}#)
+                                           (#{match-empty\ 3901}#
+                                             (vector-ref #{p\ 4008}# 1)
+                                             #{r\ 4047}#)
+                                           (#{combine\ 3903}#
+                                             #{xr*\ 4045}#
+                                             #{r\ 4047}#))
                                          #f)
                                        #f)))
-                                 (if (eqv? #{atom-key\ 4032}# (quote free-id))
-                                   (if (#{id?\ 380}# #{e\ 4005}#)
-                                     (if (#{free-id=?\ 439}#
-                                           (#{wrap\ 449}#
-                                             #{e\ 4005}#
-                                             #{w\ 4007}#
-                                             #{mod\ 4009}#)
-                                           (vector-ref #{p\ 4006}# 1))
-                                       #{r\ 4008}#
+                                 (if (eqv? #{atom-key\ 4034}# (quote free-id))
+                                   (if (#{id?\ 379}# #{e\ 4007}#)
+                                     (if (#{free-id=?\ 438}#
+                                           (#{wrap\ 448}#
+                                             #{e\ 4007}#
+                                             #{w\ 4009}#
+                                             #{mod\ 4011}#)
+                                           (vector-ref #{p\ 4008}# 1))
+                                       #{r\ 4010}#
                                        #f)
                                      #f)
-                                   (if (eqv? #{atom-key\ 4032}# (quote atom))
+                                   (if (eqv? #{atom-key\ 4034}# (quote atom))
                                      (if (equal?
-                                           (vector-ref #{p\ 4006}# 1)
-                                           (#{strip\ 491}#
-                                             #{e\ 4005}#
-                                             #{w\ 4007}#))
-                                       #{r\ 4008}#
+                                           (vector-ref #{p\ 4008}# 1)
+                                           (#{strip\ 490}#
+                                             #{e\ 4007}#
+                                             #{w\ 4009}#))
+                                       #{r\ 4010}#
                                        #f)
-                                     (if (eqv? #{atom-key\ 4032}#
+                                     (if (eqv? #{atom-key\ 4034}#
                                                'vector)
-                                       (if (vector? #{e\ 4005}#)
-                                         (#{match\ 3905}#
-                                           (vector->list #{e\ 4005}#)
-                                           (vector-ref #{p\ 4006}# 1)
-                                           #{w\ 4007}#
-                                           #{r\ 4008}#
-                                           #{mod\ 4009}#)
+                                       (if (vector? #{e\ 4007}#)
+                                         (#{match\ 3907}#
+                                           (vector->list #{e\ 4007}#)
+                                           (vector-ref #{p\ 4008}# 1)
+                                           #{w\ 4009}#
+                                           #{r\ 4010}#
+                                           #{mod\ 4011}#)
                                          #f)))))))))))))
-               (#{match\ 3905}#
-                 (lambda (#{e\ 4062}#
-                          #{p\ 4063}#
-                          #{w\ 4064}#
-                          #{r\ 4065}#
-                          #{mod\ 4066}#)
-                   (if (not #{r\ 4065}#)
+               (#{match\ 3907}#
+                 (lambda (#{e\ 4064}#
+                          #{p\ 4065}#
+                          #{w\ 4066}#
+                          #{r\ 4067}#
+                          #{mod\ 4068}#)
+                   (if (not #{r\ 4067}#)
                      #f
-                     (if (eq? #{p\ 4063}# (quote _))
-                       #{r\ 4065}#
-                       (if (eq? #{p\ 4063}# (quote any))
-                         (cons (#{wrap\ 449}#
-                                 #{e\ 4062}#
-                                 #{w\ 4064}#
-                                 #{mod\ 4066}#)
-                               #{r\ 4065}#)
-                         (if (#{syntax-object?\ 344}# #{e\ 4062}#)
-                           (#{match*\ 3903}#
-                             (#{syntax-object-expression\ 346}# #{e\ 4062}#)
-                             #{p\ 4063}#
-                             (#{join-wraps\ 431}#
-                               #{w\ 4064}#
-                               (#{syntax-object-wrap\ 348}# #{e\ 4062}#))
-                             #{r\ 4065}#
-                             (#{syntax-object-module\ 350}# #{e\ 4062}#))
-                           (#{match*\ 3903}#
-                             #{e\ 4062}#
-                             #{p\ 4063}#
-                             #{w\ 4064}#
-                             #{r\ 4065}#
-                             #{mod\ 4066}#))))))))
+                     (if (eq? #{p\ 4065}# (quote _))
+                       #{r\ 4067}#
+                       (if (eq? #{p\ 4065}# (quote any))
+                         (cons (#{wrap\ 448}#
+                                 #{e\ 4064}#
+                                 #{w\ 4066}#
+                                 #{mod\ 4068}#)
+                               #{r\ 4067}#)
+                         (if (#{syntax-object?\ 343}# #{e\ 4064}#)
+                           (#{match*\ 3905}#
+                             (#{syntax-object-expression\ 345}# #{e\ 4064}#)
+                             #{p\ 4065}#
+                             (#{join-wraps\ 430}#
+                               #{w\ 4066}#
+                               (#{syntax-object-wrap\ 347}# #{e\ 4064}#))
+                             #{r\ 4067}#
+                             (#{syntax-object-module\ 349}# #{e\ 4064}#))
+                           (#{match*\ 3905}#
+                             #{e\ 4064}#
+                             #{p\ 4065}#
+                             #{w\ 4066}#
+                             #{r\ 4067}#
+                             #{mod\ 4068}#))))))))
               (begin
                 (set! $sc-dispatch
-                  (lambda (#{e\ 4081}# #{p\ 4082}#)
-                    (if (eq? #{p\ 4082}# (quote any))
-                      (list #{e\ 4081}#)
-                      (if (eq? #{p\ 4082}# (quote _))
+                  (lambda (#{e\ 4083}# #{p\ 4084}#)
+                    (if (eq? #{p\ 4084}# (quote any))
+                      (list #{e\ 4083}#)
+                      (if (eq? #{p\ 4084}# (quote _))
                         '()
-                        (if (#{syntax-object?\ 344}# #{e\ 4081}#)
-                          (#{match*\ 3903}#
-                            (#{syntax-object-expression\ 346}# #{e\ 4081}#)
-                            #{p\ 4082}#
-                            (#{syntax-object-wrap\ 348}# #{e\ 4081}#)
+                        (if (#{syntax-object?\ 343}# #{e\ 4083}#)
+                          (#{match*\ 3905}#
+                            (#{syntax-object-expression\ 345}# #{e\ 4083}#)
+                            #{p\ 4084}#
+                            (#{syntax-object-wrap\ 347}# #{e\ 4083}#)
                             '()
-                            (#{syntax-object-module\ 350}# #{e\ 4081}#))
-                          (#{match*\ 3903}#
-                            #{e\ 4081}#
-                            #{p\ 4082}#
+                            (#{syntax-object-module\ 349}# #{e\ 4083}#))
+                          (#{match*\ 3905}#
+                            #{e\ 4083}#
+                            #{p\ 4084}#
                             '(())
                             '()
                             #f))))))))))))))
@@ -14611,81 +14616,81 @@
   (make-syntax-transformer
     'with-syntax
     'macro
-    (lambda (#{x\ 4093}#)
-      (let ((#{tmp\ 4095}# #{x\ 4093}#))
-        (let ((#{tmp\ 4096}#
+    (lambda (#{x\ 4095}#)
+      (let ((#{tmp\ 4097}# #{x\ 4095}#))
+        (let ((#{tmp\ 4098}#
                 ($sc-dispatch
-                  #{tmp\ 4095}#
+                  #{tmp\ 4097}#
                   '(_ () any . each-any))))
-          (if #{tmp\ 4096}#
+          (if #{tmp\ 4098}#
             (@apply
-              (lambda (#{e1\ 4099}# #{e2\ 4100}#)
+              (lambda (#{e1\ 4101}# #{e2\ 4102}#)
                 (cons '#(syntax-object
                          begin
                          ((top)
                           #(ribcage
                             #(e1 e2)
                             #((top) (top))
-                            #("i4097" "i4098"))
+                            #("i4099" "i4100"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4094")))
+                          #(ribcage #(x) #((top)) #("i4096")))
                          (hygiene guile))
-                      (cons #{e1\ 4099}# #{e2\ 4100}#)))
-              #{tmp\ 4096}#)
-            (let ((#{tmp\ 4102}#
+                      (cons #{e1\ 4101}# #{e2\ 4102}#)))
+              #{tmp\ 4098}#)
+            (let ((#{tmp\ 4104}#
                     ($sc-dispatch
-                      #{tmp\ 4095}#
+                      #{tmp\ 4097}#
                       '(_ ((any any)) any . each-any))))
-              (if #{tmp\ 4102}#
+              (if #{tmp\ 4104}#
                 (@apply
-                  (lambda (#{out\ 4107}#
-                           #{in\ 4108}#
-                           #{e1\ 4109}#
-                           #{e2\ 4110}#)
+                  (lambda (#{out\ 4109}#
+                           #{in\ 4110}#
+                           #{e1\ 4111}#
+                           #{e2\ 4112}#)
                     (list '#(syntax-object
                              syntax-case
                              ((top)
                               #(ribcage
                                 #(out in e1 e2)
                                 #((top) (top) (top) (top))
-                                #("i4103" "i4104" "i4105" "i4106"))
+                                #("i4105" "i4106" "i4107" "i4108"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4094")))
+                              #(ribcage #(x) #((top)) #("i4096")))
                              (hygiene guile))
-                          #{in\ 4108}#
+                          #{in\ 4110}#
                           '()
-                          (list #{out\ 4107}#
+                          (list #{out\ 4109}#
                                 (cons '#(syntax-object
                                          begin
                                          ((top)
                                           #(ribcage
                                             #(out in e1 e2)
                                             #((top) (top) (top) (top))
-                                            #("i4103" "i4104" "i4105" "i4106"))
+                                            #("i4105" "i4106" "i4107" "i4108"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4094")))
+                                          #(ribcage #(x) #((top)) #("i4096")))
                                          (hygiene guile))
-                                      (cons #{e1\ 4109}# #{e2\ 4110}#)))))
-                  #{tmp\ 4102}#)
-                (let ((#{tmp\ 4112}#
+                                      (cons #{e1\ 4111}# #{e2\ 4112}#)))))
+                  #{tmp\ 4104}#)
+                (let ((#{tmp\ 4114}#
                         ($sc-dispatch
-                          #{tmp\ 4095}#
+                          #{tmp\ 4097}#
                           '(_ #(each (any any)) any . each-any))))
-                  (if #{tmp\ 4112}#
+                  (if #{tmp\ 4114}#
                     (@apply
-                      (lambda (#{out\ 4117}#
-                               #{in\ 4118}#
-                               #{e1\ 4119}#
-                               #{e2\ 4120}#)
+                      (lambda (#{out\ 4119}#
+                               #{in\ 4120}#
+                               #{e1\ 4121}#
+                               #{e2\ 4122}#)
                         (list '#(syntax-object
                                  syntax-case
                                  ((top)
                                   #(ribcage
                                     #(out in e1 e2)
                                     #((top) (top) (top) (top))
-                                    #("i4113" "i4114" "i4115" "i4116"))
+                                    #("i4115" "i4116" "i4117" "i4118"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4094")))
+                                  #(ribcage #(x) #((top)) #("i4096")))
                                  (hygiene guile))
                               (cons '#(syntax-object
                                        list
@@ -14693,61 +14698,61 @@
                                         #(ribcage
                                           #(out in e1 e2)
                                           #((top) (top) (top) (top))
-                                          #("i4113" "i4114" "i4115" "i4116"))
+                                          #("i4115" "i4116" "i4117" "i4118"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4094")))
+                                        #(ribcage #(x) #((top)) #("i4096")))
                                        (hygiene guile))
-                                    #{in\ 4118}#)
+                                    #{in\ 4120}#)
                               '()
-                              (list #{out\ 4117}#
+                              (list #{out\ 4119}#
                                     (cons '#(syntax-object
                                              begin
                                              ((top)
                                               #(ribcage
                                                 #(out in e1 e2)
                                                 #((top) (top) (top) (top))
-                                                #("i4113"
-                                                  "i4114"
-                                                  "i4115"
-                                                  "i4116"))
+                                                #("i4115"
+                                                  "i4116"
+                                                  "i4117"
+                                                  "i4118"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(x)
                                                 #((top))
-                                                #("i4094")))
+                                                #("i4096")))
                                              (hygiene guile))
-                                          (cons #{e1\ 4119}# #{e2\ 4120}#)))))
-                      #{tmp\ 4112}#)
+                                          (cons #{e1\ 4121}# #{e2\ 4122}#)))))
+                      #{tmp\ 4114}#)
                     (syntax-violation
                       #f
                       "source expression failed to match any pattern"
-                      #{tmp\ 4095}#)))))))))))
+                      #{tmp\ 4097}#)))))))))))
 
 (define syntax-rules
   (make-syntax-transformer
     'syntax-rules
     'macro
-    (lambda (#{x\ 4124}#)
-      (let ((#{tmp\ 4126}# #{x\ 4124}#))
-        (let ((#{tmp\ 4127}#
+    (lambda (#{x\ 4126}#)
+      (let ((#{tmp\ 4128}# #{x\ 4126}#))
+        (let ((#{tmp\ 4129}#
                 ($sc-dispatch
-                  #{tmp\ 4126}#
+                  #{tmp\ 4128}#
                   '(_ each-any . #(each ((any . any) any))))))
-          (if #{tmp\ 4127}#
+          (if #{tmp\ 4129}#
             (@apply
-              (lambda (#{k\ 4132}#
-                       #{keyword\ 4133}#
-                       #{pattern\ 4134}#
-                       #{template\ 4135}#)
+              (lambda (#{k\ 4134}#
+                       #{keyword\ 4135}#
+                       #{pattern\ 4136}#
+                       #{template\ 4137}#)
                 (list '#(syntax-object
                          lambda
                          ((top)
                           #(ribcage
                             #(k keyword pattern template)
                             #((top) (top) (top) (top))
-                            #("i4128" "i4129" "i4130" "i4131"))
+                            #("i4130" "i4131" "i4132" "i4133"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4125")))
+                          #(ribcage #(x) #((top)) #("i4127")))
                          (hygiene guile))
                       '(#(syntax-object
                           x
@@ -14755,9 +14760,9 @@
                            #(ribcage
                              #(k keyword pattern template)
                              #((top) (top) (top) (top))
-                             #("i4128" "i4129" "i4130" "i4131"))
+                             #("i4130" "i4131" "i4132" "i4133"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i4125")))
+                           #(ribcage #(x) #((top)) #("i4127")))
                           (hygiene guile)))
                       (vector
                         '(#(syntax-object
@@ -14766,9 +14771,9 @@
                              #(ribcage
                                #(k keyword pattern template)
                                #((top) (top) (top) (top))
-                               #("i4128" "i4129" "i4130" "i4131"))
+                               #("i4130" "i4131" "i4132" "i4133"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4125")))
+                             #(ribcage #(x) #((top)) #("i4127")))
                             (hygiene guile))
                           .
                           #(syntax-object
@@ -14777,9 +14782,9 @@
                              #(ribcage
                                #(k keyword pattern template)
                                #((top) (top) (top) (top))
-                               #("i4128" "i4129" "i4130" "i4131"))
+                               #("i4130" "i4131" "i4132" "i4133"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4125")))
+                             #(ribcage #(x) #((top)) #("i4127")))
                             (hygiene guile)))
                         (cons '#(syntax-object
                                  patterns
@@ -14787,20 +14792,20 @@
                                   #(ribcage
                                     #(k keyword pattern template)
                                     #((top) (top) (top) (top))
-                                    #("i4128" "i4129" "i4130" "i4131"))
+                                    #("i4130" "i4131" "i4132" "i4133"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4125")))
+                                  #(ribcage #(x) #((top)) #("i4127")))
                                  (hygiene guile))
-                              #{pattern\ 4134}#))
+                              #{pattern\ 4136}#))
                       (cons '#(syntax-object
                                syntax-case
                                ((top)
                                 #(ribcage
                                   #(k keyword pattern template)
                                   #((top) (top) (top) (top))
-                                  #("i4128" "i4129" "i4130" "i4131"))
+                                  #("i4130" "i4131" "i4132" "i4133"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4125")))
+                                #(ribcage #(x) #((top)) #("i4127")))
                                (hygiene guile))
                             (cons '#(syntax-object
                                      x
@@ -14808,13 +14813,13 @@
                                       #(ribcage
                                         #(k keyword pattern template)
                                         #((top) (top) (top) (top))
-                                        #("i4128" "i4129" "i4130" "i4131"))
+                                        #("i4130" "i4131" "i4132" "i4133"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4125")))
+                                      #(ribcage #(x) #((top)) #("i4127")))
                                      (hygiene guile))
-                                  (cons #{k\ 4132}#
-                                        (map (lambda (#{tmp\ 4139}#
-                                                      #{tmp\ 4138}#)
+                                  (cons #{k\ 4134}#
+                                        (map (lambda (#{tmp\ 4141}#
+                                                      #{tmp\ 4140}#)
                                                (list (cons '#(syntax-object
                                                               dummy
                                                               ((top)
@@ -14827,10 +14832,10 @@
                                                                    (top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4128"
-                                                                   "i4129"
-                                                                   "i4130"
-                                                                   "i4131"))
+                                                                 #("i4130"
+                                                                   "i4131"
+                                                                   "i4132"
+                                                                   "i4133"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -14838,9 +14843,9 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4125")))
+                                                                 #("i4127")))
                                                               (hygiene guile))
-                                                           #{tmp\ 4138}#)
+                                                           #{tmp\ 4140}#)
                                                      (list '#(syntax-object
                                                               syntax
                                                               ((top)
@@ -14853,10 +14858,10 @@
                                                                    (top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4128"
-                                                                   "i4129"
-                                                                   "i4130"
-                                                                   "i4131"))
+                                                                 #("i4130"
+                                                                   "i4131"
+                                                                   "i4132"
+                                                                   "i4133"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -14864,47 +14869,47 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4125")))
+                                                                 #("i4127")))
                                                               (hygiene guile))
-                                                           #{tmp\ 4139}#)))
-                                             #{template\ 4135}#
-                                             #{pattern\ 4134}#))))))
-              #{tmp\ 4127}#)
+                                                           #{tmp\ 4141}#)))
+                                             #{template\ 4137}#
+                                             #{pattern\ 4136}#))))))
+              #{tmp\ 4129}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp\ 4126}#)))))))
+              #{tmp\ 4128}#)))))))
 
 (define let*
   (make-syntax-transformer
     'let*
     'macro
-    (lambda (#{x\ 4140}#)
-      (let ((#{tmp\ 4142}# #{x\ 4140}#))
-        (let ((#{tmp\ 4143}#
+    (lambda (#{x\ 4142}#)
+      (let ((#{tmp\ 4144}# #{x\ 4142}#))
+        (let ((#{tmp\ 4145}#
                 ($sc-dispatch
-                  #{tmp\ 4142}#
+                  #{tmp\ 4144}#
                   '(any #(each (any any)) any . each-any))))
-          (if (if #{tmp\ 4143}#
+          (if (if #{tmp\ 4145}#
                 (@apply
-                  (lambda (#{let*\ 4149}#
-                           #{x\ 4150}#
-                           #{v\ 4151}#
-                           #{e1\ 4152}#
-                           #{e2\ 4153}#)
-                    (and-map identifier? #{x\ 4150}#))
-                  #{tmp\ 4143}#)
+                  (lambda (#{let*\ 4151}#
+                           #{x\ 4152}#
+                           #{v\ 4153}#
+                           #{e1\ 4154}#
+                           #{e2\ 4155}#)
+                    (and-map identifier? #{x\ 4152}#))
+                  #{tmp\ 4145}#)
                 #f)
             (@apply
-              (lambda (#{let*\ 4160}#
-                       #{x\ 4161}#
-                       #{v\ 4162}#
-                       #{e1\ 4163}#
-                       #{e2\ 4164}#)
+              (lambda (#{let*\ 4162}#
+                       #{x\ 4163}#
+                       #{v\ 4164}#
+                       #{e1\ 4165}#
+                       #{e2\ 4166}#)
                 (letrec*
-                  ((#{f\ 4167}#
-                     (lambda (#{bindings\ 4168}#)
-                       (if (null? #{bindings\ 4168}#)
+                  ((#{f\ 4169}#
+                     (lambda (#{bindings\ 4170}#)
+                       (if (null? #{bindings\ 4170}#)
                          (cons '#(syntax-object
                                   let
                                   ((top)
@@ -14912,128 +14917,128 @@
                                    #(ribcage
                                      #(f bindings)
                                      #((top) (top))
-                                     #("i4165" "i4166"))
+                                     #("i4167" "i4168"))
                                    #(ribcage
                                      #(let* x v e1 e2)
                                      #((top) (top) (top) (top) (top))
-                                     #("i4155"
-                                       "i4156"
-                                       "i4157"
+                                     #("i4157"
                                        "i4158"
-                                       "i4159"))
+                                       "i4159"
+                                       "i4160"
+                                       "i4161"))
                                    #(ribcage () () ())
-                                   #(ribcage #(x) #((top)) #("i4141")))
+                                   #(ribcage #(x) #((top)) #("i4143")))
                                   (hygiene guile))
                                (cons '()
-                                     (cons #{e1\ 4163}# #{e2\ 4164}#)))
-                         (let ((#{tmp\ 4173}#
-                                 (list (#{f\ 4167}# (cdr #{bindings\ 4168}#))
-                                       (car #{bindings\ 4168}#))))
-                           (let ((#{tmp\ 4174}#
+                                     (cons #{e1\ 4165}# #{e2\ 4166}#)))
+                         (let ((#{tmp\ 4175}#
+                                 (list (#{f\ 4169}# (cdr #{bindings\ 4170}#))
+                                       (car #{bindings\ 4170}#))))
+                           (let ((#{tmp\ 4176}#
                                    ($sc-dispatch
-                                     #{tmp\ 4173}#
+                                     #{tmp\ 4175}#
                                      '(any any))))
-                             (if #{tmp\ 4174}#
+                             (if #{tmp\ 4176}#
                                (@apply
-                                 (lambda (#{body\ 4177}# #{binding\ 4178}#)
+                                 (lambda (#{body\ 4179}# #{binding\ 4180}#)
                                    (list '#(syntax-object
                                             let
                                             ((top)
                                              #(ribcage
                                                #(body binding)
                                                #((top) (top))
-                                               #("i4175" "i4176"))
+                                               #("i4177" "i4178"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(f bindings)
                                                #((top) (top))
-                                               #("i4165" "i4166"))
+                                               #("i4167" "i4168"))
                                              #(ribcage
                                                #(let* x v e1 e2)
                                                #((top) (top) (top) (top) (top))
-                                               #("i4155"
-                                                 "i4156"
-                                                 "i4157"
+                                               #("i4157"
                                                  "i4158"
-                                                 "i4159"))
+                                                 "i4159"
+                                                 "i4160"
+                                                 "i4161"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x)
                                                #((top))
-                                               #("i4141")))
+                                               #("i4143")))
                                             (hygiene guile))
-                                         (list #{binding\ 4178}#)
-                                         #{body\ 4177}#))
-                                 #{tmp\ 4174}#)
+                                         (list #{binding\ 4180}#)
+                                         #{body\ 4179}#))
+                                 #{tmp\ 4176}#)
                                (syntax-violation
                                  #f
                                  "source expression failed to match any 
pattern"
-                                 #{tmp\ 4173}#))))))))
+                                 #{tmp\ 4175}#))))))))
                   (begin
-                    (#{f\ 4167}# (map list #{x\ 4161}# #{v\ 4162}#)))))
-              #{tmp\ 4143}#)
+                    (#{f\ 4169}# (map list #{x\ 4163}# #{v\ 4164}#)))))
+              #{tmp\ 4145}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp\ 4142}#)))))))
+              #{tmp\ 4144}#)))))))
 
 (define do
   (make-syntax-transformer
     'do
     'macro
-    (lambda (#{orig-x\ 4179}#)
-      (let ((#{tmp\ 4181}# #{orig-x\ 4179}#))
-        (let ((#{tmp\ 4182}#
+    (lambda (#{orig-x\ 4181}#)
+      (let ((#{tmp\ 4183}# #{orig-x\ 4181}#))
+        (let ((#{tmp\ 4184}#
                 ($sc-dispatch
-                  #{tmp\ 4181}#
+                  #{tmp\ 4183}#
                   '(_ #(each (any any . any))
                       (any . each-any)
                       .
                       each-any))))
-          (if #{tmp\ 4182}#
+          (if #{tmp\ 4184}#
             (@apply
-              (lambda (#{var\ 4189}#
-                       #{init\ 4190}#
-                       #{step\ 4191}#
-                       #{e0\ 4192}#
-                       #{e1\ 4193}#
-                       #{c\ 4194}#)
-                (let ((#{tmp\ 4196}#
-                        (map (lambda (#{v\ 4217}# #{s\ 4218}#)
-                               (let ((#{tmp\ 4221}# #{s\ 4218}#))
-                                 (let ((#{tmp\ 4222}#
+              (lambda (#{var\ 4191}#
+                       #{init\ 4192}#
+                       #{step\ 4193}#
+                       #{e0\ 4194}#
+                       #{e1\ 4195}#
+                       #{c\ 4196}#)
+                (let ((#{tmp\ 4198}#
+                        (map (lambda (#{v\ 4219}# #{s\ 4220}#)
+                               (let ((#{tmp\ 4223}# #{s\ 4220}#))
+                                 (let ((#{tmp\ 4224}#
                                          ($sc-dispatch
-                                           #{tmp\ 4221}#
+                                           #{tmp\ 4223}#
                                            '())))
-                                   (if #{tmp\ 4222}#
+                                   (if #{tmp\ 4224}#
                                      (@apply
-                                       (lambda () #{v\ 4217}#)
-                                       #{tmp\ 4222}#)
-                                     (let ((#{tmp\ 4223}#
+                                       (lambda () #{v\ 4219}#)
+                                       #{tmp\ 4224}#)
+                                     (let ((#{tmp\ 4225}#
                                              ($sc-dispatch
-                                               #{tmp\ 4221}#
+                                               #{tmp\ 4223}#
                                                '(any))))
-                                       (if #{tmp\ 4223}#
+                                       (if #{tmp\ 4225}#
                                          (@apply
-                                           (lambda (#{e\ 4225}#) #{e\ 4225}#)
-                                           #{tmp\ 4223}#)
-                                         (let ((#{_\ 4227}# #{tmp\ 4221}#))
+                                           (lambda (#{e\ 4227}#) #{e\ 4227}#)
+                                           #{tmp\ 4225}#)
+                                         (let ((#{_\ 4229}# #{tmp\ 4223}#))
                                            (syntax-violation
                                              'do
                                              "bad step expression"
-                                             #{orig-x\ 4179}#
-                                             #{s\ 4218}#))))))))
-                             #{var\ 4189}#
-                             #{step\ 4191}#)))
-                  (let ((#{tmp\ 4197}#
-                          ($sc-dispatch #{tmp\ 4196}# (quote each-any))))
-                    (if #{tmp\ 4197}#
+                                             #{orig-x\ 4181}#
+                                             #{s\ 4220}#))))))))
+                             #{var\ 4191}#
+                             #{step\ 4193}#)))
+                  (let ((#{tmp\ 4199}#
+                          ($sc-dispatch #{tmp\ 4198}# (quote each-any))))
+                    (if #{tmp\ 4199}#
                       (@apply
-                        (lambda (#{step\ 4199}#)
-                          (let ((#{tmp\ 4200}# #{e1\ 4193}#))
-                            (let ((#{tmp\ 4201}#
-                                    ($sc-dispatch #{tmp\ 4200}# (quote ()))))
-                              (if #{tmp\ 4201}#
+                        (lambda (#{step\ 4201}#)
+                          (let ((#{tmp\ 4202}# #{e1\ 4195}#))
+                            (let ((#{tmp\ 4203}#
+                                    ($sc-dispatch #{tmp\ 4202}# (quote ()))))
+                              (if #{tmp\ 4203}#
                                 (@apply
                                   (lambda ()
                                     (list '#(syntax-object
@@ -15042,7 +15047,7 @@
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i4198"))
+                                                #("i4200"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -15051,17 +15056,17 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i4183"
-                                                  "i4184"
-                                                  "i4185"
+                                                #("i4185"
                                                   "i4186"
                                                   "i4187"
-                                                  "i4188"))
+                                                  "i4188"
+                                                  "i4189"
+                                                  "i4190"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i4180")))
+                                                #("i4182")))
                                              (hygiene guile))
                                           '#(syntax-object
                                              doloop
@@ -15069,7 +15074,7 @@
                                               #(ribcage
                                                 #(step)
                                                 #((top))
-                                                #("i4198"))
+                                                #("i4200"))
                                               #(ribcage
                                                 #(var init step e0 e1 c)
                                                 #((top)
@@ -15078,28 +15083,28 @@
                                                   (top)
                                                   (top)
                                                   (top))
-                                                #("i4183"
-                                                  "i4184"
-                                                  "i4185"
+                                                #("i4185"
                                                   "i4186"
                                                   "i4187"
-                                                  "i4188"))
+                                                  "i4188"
+                                                  "i4189"
+                                                  "i4190"))
                                               #(ribcage () () ())
                                               #(ribcage
                                                 #(orig-x)
                                                 #((top))
-                                                #("i4180")))
+                                                #("i4182")))
                                              (hygiene guile))
                                           (map list
-                                               #{var\ 4189}#
-                                               #{init\ 4190}#)
+                                               #{var\ 4191}#
+                                               #{init\ 4192}#)
                                           (list '#(syntax-object
                                                    if
                                                    ((top)
                                                     #(ribcage
                                                       #(step)
                                                       #((top))
-                                                      #("i4198"))
+                                                      #("i4200"))
                                                     #(ribcage
                                                       #(var init step e0 e1 c)
                                                       #((top)
@@ -15108,17 +15113,17 @@
                                                         (top)
                                                         (top)
                                                         (top))
-                                                      #("i4183"
-                                                        "i4184"
-                                                        "i4185"
+                                                      #("i4185"
                                                         "i4186"
                                                         "i4187"
-                                                        "i4188"))
+                                                        "i4188"
+                                                        "i4189"
+                                                        "i4190"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(orig-x)
                                                       #((top))
-                                                      #("i4180")))
+                                                      #("i4182")))
                                                    (hygiene guile))
                                                 (list '#(syntax-object
                                                          not
@@ -15126,7 +15131,7 @@
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i4198"))
+                                                            #("i4200"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -15140,26 +15145,26 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i4183"
-                                                              "i4184"
-                                                              "i4185"
+                                                            #("i4185"
                                                               "i4186"
                                                               "i4187"
-                                                              "i4188"))
+                                                              "i4188"
+                                                              "i4189"
+                                                              "i4190"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i4180")))
+                                                            #("i4182")))
                                                          (hygiene guile))
-                                                      #{e0\ 4192}#)
+                                                      #{e0\ 4194}#)
                                                 (cons '#(syntax-object
                                                          begin
                                                          ((top)
                                                           #(ribcage
                                                             #(step)
                                                             #((top))
-                                                            #("i4198"))
+                                                            #("i4200"))
                                                           #(ribcage
                                                             #(var
                                                               init
@@ -15173,27 +15178,27 @@
                                                               (top)
                                                               (top)
                                                               (top))
-                                                            #("i4183"
-                                                              "i4184"
-                                                              "i4185"
+                                                            #("i4185"
                                                               "i4186"
                                                               "i4187"
-                                                              "i4188"))
+                                                              "i4188"
+                                                              "i4189"
+                                                              "i4190"))
                                                           #(ribcage () () ())
                                                           #(ribcage
                                                             #(orig-x)
                                                             #((top))
-                                                            #("i4180")))
+                                                            #("i4182")))
                                                          (hygiene guile))
                                                       (append
-                                                        #{c\ 4194}#
+                                                        #{c\ 4196}#
                                                         (list (cons 
'#(syntax-object
                                                                        doloop
                                                                        ((top)
                                                                         
#(ribcage
                                                                           
#(step)
                                                                           
#((top))
-                                                                          
#("i4198"))
+                                                                          
#("i4200"))
                                                                         
#(ribcage
                                                                           #(var
                                                                             
init
@@ -15207,12 +15212,12 @@
                                                                             
(top)
                                                                             
(top)
                                                                             
(top))
-                                                                          
#("i4183"
-                                                                            
"i4184"
-                                                                            
"i4185"
+                                                                          
#("i4185"
                                                                             
"i4186"
                                                                             
"i4187"
-                                                                            
"i4188"))
+                                                                            
"i4188"
+                                                                            
"i4189"
+                                                                            
"i4190"))
                                                                         
#(ribcage
                                                                           ()
                                                                           ()
@@ -15220,29 +15225,29 @@
                                                                         
#(ribcage
                                                                           
#(orig-x)
                                                                           
#((top))
-                                                                          
#("i4180")))
+                                                                          
#("i4182")))
                                                                        (hygiene
                                                                          
guile))
-                                                                    #{step\ 
4199}#)))))))
-                                  #{tmp\ 4201}#)
-                                (let ((#{tmp\ 4206}#
+                                                                    #{step\ 
4201}#)))))))
+                                  #{tmp\ 4203}#)
+                                (let ((#{tmp\ 4208}#
                                         ($sc-dispatch
-                                          #{tmp\ 4200}#
+                                          #{tmp\ 4202}#
                                           '(any . each-any))))
-                                  (if #{tmp\ 4206}#
+                                  (if #{tmp\ 4208}#
                                     (@apply
-                                      (lambda (#{e1\ 4209}# #{e2\ 4210}#)
+                                      (lambda (#{e1\ 4211}# #{e2\ 4212}#)
                                         (list '#(syntax-object
                                                  let
                                                  ((top)
                                                   #(ribcage
                                                     #(e1 e2)
                                                     #((top) (top))
-                                                    #("i4207" "i4208"))
+                                                    #("i4209" "i4210"))
                                                   #(ribcage
                                                     #(step)
                                                     #((top))
-                                                    #("i4198"))
+                                                    #("i4200"))
                                                   #(ribcage
                                                     #(var init step e0 e1 c)
                                                     #((top)
@@ -15251,17 +15256,17 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                    #("i4183"
-                                                      "i4184"
-                                                      "i4185"
+                                                    #("i4185"
                                                       "i4186"
                                                       "i4187"
-                                                      "i4188"))
+                                                      "i4188"
+                                                      "i4189"
+                                                      "i4190"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(orig-x)
                                                     #((top))
-                                                    #("i4180")))
+                                                    #("i4182")))
                                                  (hygiene guile))
                                               '#(syntax-object
                                                  doloop
@@ -15269,11 +15274,11 @@
                                                   #(ribcage
                                                     #(e1 e2)
                                                     #((top) (top))
-                                                    #("i4207" "i4208"))
+                                                    #("i4209" "i4210"))
                                                   #(ribcage
                                                     #(step)
                                                     #((top))
-                                                    #("i4198"))
+                                                    #("i4200"))
                                                   #(ribcage
                                                     #(var init step e0 e1 c)
                                                     #((top)
@@ -15282,32 +15287,32 @@
                                                       (top)
                                                       (top)
                                                       (top))
-                                                    #("i4183"
-                                                      "i4184"
-                                                      "i4185"
+                                                    #("i4185"
                                                       "i4186"
                                                       "i4187"
-                                                      "i4188"))
+                                                      "i4188"
+                                                      "i4189"
+                                                      "i4190"))
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(orig-x)
                                                     #((top))
-                                                    #("i4180")))
+                                                    #("i4182")))
                                                  (hygiene guile))
                                               (map list
-                                                   #{var\ 4189}#
-                                                   #{init\ 4190}#)
+                                                   #{var\ 4191}#
+                                                   #{init\ 4192}#)
                                               (list '#(syntax-object
                                                        if
                                                        ((top)
                                                         #(ribcage
                                                           #(e1 e2)
                                                           #((top) (top))
-                                                          #("i4207" "i4208"))
+                                                          #("i4209" "i4210"))
                                                         #(ribcage
                                                           #(step)
                                                           #((top))
-                                                          #("i4198"))
+                                                          #("i4200"))
                                                         #(ribcage
                                                           #(var
                                                             init
@@ -15321,31 +15326,31 @@
                                                             (top)
                                                             (top)
                                                             (top))
-                                                          #("i4183"
-                                                            "i4184"
-                                                            "i4185"
+                                                          #("i4185"
                                                             "i4186"
                                                             "i4187"
-                                                            "i4188"))
+                                                            "i4188"
+                                                            "i4189"
+                                                            "i4190"))
                                                         #(ribcage () () ())
                                                         #(ribcage
                                                           #(orig-x)
                                                           #((top))
-                                                          #("i4180")))
+                                                          #("i4182")))
                                                        (hygiene guile))
-                                                    #{e0\ 4192}#
+                                                    #{e0\ 4194}#
                                                     (cons '#(syntax-object
                                                              begin
                                                              ((top)
                                                               #(ribcage
                                                                 #(e1 e2)
                                                                 #((top) (top))
-                                                                #("i4207"
-                                                                  "i4208"))
+                                                                #("i4209"
+                                                                  "i4210"))
                                                               #(ribcage
                                                                 #(step)
                                                                 #((top))
-                                                                #("i4198"))
+                                                                #("i4200"))
                                                               #(ribcage
                                                                 #(var
                                                                   init
@@ -15359,12 +15364,12 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i4183"
-                                                                  "i4184"
-                                                                  "i4185"
+                                                                #("i4185"
                                                                   "i4186"
                                                                   "i4187"
-                                                                  "i4188"))
+                                                                  "i4188"
+                                                                  "i4189"
+                                                                  "i4190"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -15372,22 +15377,22 @@
                                                               #(ribcage
                                                                 #(orig-x)
                                                                 #((top))
-                                                                #("i4180")))
+                                                                #("i4182")))
                                                              (hygiene guile))
-                                                          (cons #{e1\ 4209}#
-                                                                #{e2\ 4210}#))
+                                                          (cons #{e1\ 4211}#
+                                                                #{e2\ 4212}#))
                                                     (cons '#(syntax-object
                                                              begin
                                                              ((top)
                                                               #(ribcage
                                                                 #(e1 e2)
                                                                 #((top) (top))
-                                                                #("i4207"
-                                                                  "i4208"))
+                                                                #("i4209"
+                                                                  "i4210"))
                                                               #(ribcage
                                                                 #(step)
                                                                 #((top))
-                                                                #("i4198"))
+                                                                #("i4200"))
                                                               #(ribcage
                                                                 #(var
                                                                   init
@@ -15401,12 +15406,12 @@
                                                                   (top)
                                                                   (top)
                                                                   (top))
-                                                                #("i4183"
-                                                                  "i4184"
-                                                                  "i4185"
+                                                                #("i4185"
                                                                   "i4186"
                                                                   "i4187"
-                                                                  "i4188"))
+                                                                  "i4188"
+                                                                  "i4189"
+                                                                  "i4190"))
                                                               #(ribcage
                                                                 ()
                                                                 ()
@@ -15414,10 +15419,10 @@
                                                               #(ribcage
                                                                 #(orig-x)
                                                                 #((top))
-                                                                #("i4180")))
+                                                                #("i4182")))
                                                              (hygiene guile))
                                                           (append
-                                                            #{c\ 4194}#
+                                                            #{c\ 4196}#
                                                             (list (cons 
'#(syntax-object
                                                                            
doloop
                                                                            
((top)
@@ -15426,12 +15431,12 @@
                                                                                
 e2)
                                                                               
#((top)
                                                                                
 (top))
-                                                                              
#("i4207"
-                                                                               
 "i4208"))
+                                                                              
#("i4209"
+                                                                               
 "i4210"))
                                                                             
#(ribcage
                                                                               
#(step)
                                                                               
#((top))
-                                                                              
#("i4198"))
+                                                                              
#("i4200"))
                                                                             
#(ribcage
                                                                               
#(var
                                                                                
 init
@@ -15445,12 +15450,12 @@
                                                                                
 (top)
                                                                                
 (top)
                                                                                
 (top))
-                                                                              
#("i4183"
-                                                                               
 "i4184"
-                                                                               
 "i4185"
+                                                                              
#("i4185"
                                                                                
 "i4186"
                                                                                
 "i4187"
-                                                                               
 "i4188"))
+                                                                               
 "i4188"
+                                                                               
 "i4189"
+                                                                               
 "i4190"))
                                                                             
#(ribcage
                                                                               
()
                                                                               
()
@@ -15458,43 +15463,43 @@
                                                                             
#(ribcage
                                                                               
#(orig-x)
                                                                               
#((top))
-                                                                              
#("i4180")))
+                                                                              
#("i4182")))
                                                                            
(hygiene
                                                                              
guile))
-                                                                        
#{step\ 4199}#)))))))
-                                      #{tmp\ 4206}#)
+                                                                        
#{step\ 4201}#)))))))
+                                      #{tmp\ 4208}#)
                                     (syntax-violation
                                       #f
                                       "source expression failed to match any 
pattern"
-                                      #{tmp\ 4200}#)))))))
-                        #{tmp\ 4197}#)
+                                      #{tmp\ 4202}#)))))))
+                        #{tmp\ 4199}#)
                       (syntax-violation
                         #f
                         "source expression failed to match any pattern"
-                        #{tmp\ 4196}#)))))
-              #{tmp\ 4182}#)
+                        #{tmp\ 4198}#)))))
+              #{tmp\ 4184}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp\ 4181}#)))))))
+              #{tmp\ 4183}#)))))))
 
 (define quasiquote
   (make-syntax-transformer
     'quasiquote
     'macro
     (letrec*
-      ((#{quasicons\ 4234}#
-         (lambda (#{x\ 4238}# #{y\ 4239}#)
-           (let ((#{tmp\ 4243}# (list #{x\ 4238}# #{y\ 4239}#)))
-             (let ((#{tmp\ 4244}#
-                     ($sc-dispatch #{tmp\ 4243}# (quote (any any)))))
-               (if #{tmp\ 4244}#
+      ((#{quasicons\ 4236}#
+         (lambda (#{x\ 4240}# #{y\ 4241}#)
+           (let ((#{tmp\ 4245}# (list #{x\ 4240}# #{y\ 4241}#)))
+             (let ((#{tmp\ 4246}#
+                     ($sc-dispatch #{tmp\ 4245}# (quote (any any)))))
+               (if #{tmp\ 4246}#
                  (@apply
-                   (lambda (#{x\ 4247}# #{y\ 4248}#)
-                     (let ((#{tmp\ 4249}# #{y\ 4248}#))
-                       (let ((#{tmp\ 4250}#
+                   (lambda (#{x\ 4249}# #{y\ 4250}#)
+                     (let ((#{tmp\ 4251}# #{y\ 4250}#))
+                       (let ((#{tmp\ 4252}#
                                ($sc-dispatch
-                                 #{tmp\ 4249}#
+                                 #{tmp\ 4251}#
                                  '(#(free-id
                                      #(syntax-object
                                        quote
@@ -15502,29 +15507,29 @@
                                         #(ribcage
                                           #(x y)
                                           #((top) (top))
-                                          #("i4245" "i4246"))
+                                          #("i4247" "i4248"))
                                         #(ribcage () () ())
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(x y)
                                           #((top) (top))
-                                          #("i4240" "i4241"))
+                                          #("i4242" "i4243"))
                                         #(ribcage
                                           #(quasicons
                                             quasiappend
                                             quasivector
                                             quasi)
                                           #((top) (top) (top) (top))
-                                          #("i4230" "i4231" "i4232" "i4233")))
+                                          #("i4232" "i4233" "i4234" "i4235")))
                                        (hygiene guile)))
                                    any))))
-                         (if #{tmp\ 4250}#
+                         (if #{tmp\ 4252}#
                            (@apply
-                             (lambda (#{dy\ 4252}#)
-                               (let ((#{tmp\ 4253}# #{x\ 4247}#))
-                                 (let ((#{tmp\ 4254}#
+                             (lambda (#{dy\ 4254}#)
+                               (let ((#{tmp\ 4255}# #{x\ 4249}#))
+                                 (let ((#{tmp\ 4256}#
                                          ($sc-dispatch
-                                           #{tmp\ 4253}#
+                                           #{tmp\ 4255}#
                                            '(#(free-id
                                                #(syntax-object
                                                  quote
@@ -15532,140 +15537,140 @@
                                                   #(ribcage
                                                     #(dy)
                                                     #((top))
-                                                    #("i4251"))
+                                                    #("i4253"))
                                                   #(ribcage
                                                     #(x y)
                                                     #((top) (top))
-                                                    #("i4245" "i4246"))
+                                                    #("i4247" "i4248"))
                                                   #(ribcage () () ())
                                                   #(ribcage () () ())
                                                   #(ribcage
                                                     #(x y)
                                                     #((top) (top))
-                                                    #("i4240" "i4241"))
+                                                    #("i4242" "i4243"))
                                                   #(ribcage
                                                     #(quasicons
                                                       quasiappend
                                                       quasivector
                                                       quasi)
                                                     #((top) (top) (top) (top))
-                                                    #("i4230"
-                                                      "i4231"
-                                                      "i4232"
-                                                      "i4233")))
+                                                    #("i4232"
+                                                      "i4233"
+                                                      "i4234"
+                                                      "i4235")))
                                                  (hygiene guile)))
                                              any))))
-                                   (if #{tmp\ 4254}#
+                                   (if #{tmp\ 4256}#
                                      (@apply
-                                       (lambda (#{dx\ 4256}#)
+                                       (lambda (#{dx\ 4258}#)
                                          (list '#(syntax-object
                                                   quote
                                                   ((top)
                                                    #(ribcage
                                                      #(dx)
                                                      #((top))
-                                                     #("i4255"))
+                                                     #("i4257"))
                                                    #(ribcage
                                                      #(dy)
                                                      #((top))
-                                                     #("i4251"))
+                                                     #("i4253"))
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4245" "i4246"))
+                                                     #("i4247" "i4248"))
                                                    #(ribcage () () ())
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4240" "i4241"))
+                                                     #("i4242" "i4243"))
                                                    #(ribcage
                                                      #(quasicons
                                                        quasiappend
                                                        quasivector
                                                        quasi)
                                                      #((top) (top) (top) (top))
-                                                     #("i4230"
-                                                       "i4231"
-                                                       "i4232"
-                                                       "i4233")))
+                                                     #("i4232"
+                                                       "i4233"
+                                                       "i4234"
+                                                       "i4235")))
                                                   (hygiene guile))
-                                               (cons #{dx\ 4256}#
-                                                     #{dy\ 4252}#)))
-                                       #{tmp\ 4254}#)
-                                     (let ((#{_\ 4258}# #{tmp\ 4253}#))
-                                       (if (null? #{dy\ 4252}#)
+                                               (cons #{dx\ 4258}#
+                                                     #{dy\ 4254}#)))
+                                       #{tmp\ 4256}#)
+                                     (let ((#{_\ 4260}# #{tmp\ 4255}#))
+                                       (if (null? #{dy\ 4254}#)
                                          (list '#(syntax-object
                                                   list
                                                   ((top)
                                                    #(ribcage
                                                      #(_)
                                                      #((top))
-                                                     #("i4257"))
+                                                     #("i4259"))
                                                    #(ribcage
                                                      #(dy)
                                                      #((top))
-                                                     #("i4251"))
+                                                     #("i4253"))
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4245" "i4246"))
+                                                     #("i4247" "i4248"))
                                                    #(ribcage () () ())
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4240" "i4241"))
+                                                     #("i4242" "i4243"))
                                                    #(ribcage
                                                      #(quasicons
                                                        quasiappend
                                                        quasivector
                                                        quasi)
                                                      #((top) (top) (top) (top))
-                                                     #("i4230"
-                                                       "i4231"
-                                                       "i4232"
-                                                       "i4233")))
+                                                     #("i4232"
+                                                       "i4233"
+                                                       "i4234"
+                                                       "i4235")))
                                                   (hygiene guile))
-                                               #{x\ 4247}#)
+                                               #{x\ 4249}#)
                                          (list '#(syntax-object
                                                   cons
                                                   ((top)
                                                    #(ribcage
                                                      #(_)
                                                      #((top))
-                                                     #("i4257"))
+                                                     #("i4259"))
                                                    #(ribcage
                                                      #(dy)
                                                      #((top))
-                                                     #("i4251"))
+                                                     #("i4253"))
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4245" "i4246"))
+                                                     #("i4247" "i4248"))
                                                    #(ribcage () () ())
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x y)
                                                      #((top) (top))
-                                                     #("i4240" "i4241"))
+                                                     #("i4242" "i4243"))
                                                    #(ribcage
                                                      #(quasicons
                                                        quasiappend
                                                        quasivector
                                                        quasi)
                                                      #((top) (top) (top) (top))
-                                                     #("i4230"
-                                                       "i4231"
-                                                       "i4232"
-                                                       "i4233")))
+                                                     #("i4232"
+                                                       "i4233"
+                                                       "i4234"
+                                                       "i4235")))
                                                   (hygiene guile))
-                                               #{x\ 4247}#
-                                               #{y\ 4248}#)))))))
-                             #{tmp\ 4250}#)
-                           (let ((#{tmp\ 4259}#
+                                               #{x\ 4249}#
+                                               #{y\ 4250}#)))))))
+                             #{tmp\ 4252}#)
+                           (let ((#{tmp\ 4261}#
                                    ($sc-dispatch
-                                     #{tmp\ 4249}#
+                                     #{tmp\ 4251}#
                                      '(#(free-id
                                          #(syntax-object
                                            list
@@ -15673,107 +15678,107 @@
                                             #(ribcage
                                               #(x y)
                                               #((top) (top))
-                                              #("i4245" "i4246"))
+                                              #("i4247" "i4248"))
                                             #(ribcage () () ())
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x y)
                                               #((top) (top))
-                                              #("i4240" "i4241"))
+                                              #("i4242" "i4243"))
                                             #(ribcage
                                               #(quasicons
                                                 quasiappend
                                                 quasivector
                                                 quasi)
                                               #((top) (top) (top) (top))
-                                              #("i4230"
-                                                "i4231"
-                                                "i4232"
-                                                "i4233")))
+                                              #("i4232"
+                                                "i4233"
+                                                "i4234"
+                                                "i4235")))
                                            (hygiene guile)))
                                        .
                                        any))))
-                             (if #{tmp\ 4259}#
+                             (if #{tmp\ 4261}#
                                (@apply
-                                 (lambda (#{stuff\ 4261}#)
+                                 (lambda (#{stuff\ 4263}#)
                                    (cons '#(syntax-object
                                             list
                                             ((top)
                                              #(ribcage
                                                #(stuff)
                                                #((top))
-                                               #("i4260"))
+                                               #("i4262"))
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i4245" "i4246"))
+                                               #("i4247" "i4248"))
                                              #(ribcage () () ())
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(x y)
                                                #((top) (top))
-                                               #("i4240" "i4241"))
+                                               #("i4242" "i4243"))
                                              #(ribcage
                                                #(quasicons
                                                  quasiappend
                                                  quasivector
                                                  quasi)
                                                #((top) (top) (top) (top))
-                                               #("i4230"
-                                                 "i4231"
-                                                 "i4232"
-                                                 "i4233")))
+                                               #("i4232"
+                                                 "i4233"
+                                                 "i4234"
+                                                 "i4235")))
                                             (hygiene guile))
-                                         (cons #{x\ 4247}# #{stuff\ 4261}#)))
-                                 #{tmp\ 4259}#)
-                               (let ((#{else\ 4263}# #{tmp\ 4249}#))
+                                         (cons #{x\ 4249}# #{stuff\ 4263}#)))
+                                 #{tmp\ 4261}#)
+                               (let ((#{else\ 4265}# #{tmp\ 4251}#))
                                  (list '#(syntax-object
                                           cons
                                           ((top)
                                            #(ribcage
                                              #(else)
                                              #((top))
-                                             #("i4262"))
+                                             #("i4264"))
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i4245" "i4246"))
+                                             #("i4247" "i4248"))
                                            #(ribcage () () ())
                                            #(ribcage () () ())
                                            #(ribcage
                                              #(x y)
                                              #((top) (top))
-                                             #("i4240" "i4241"))
+                                             #("i4242" "i4243"))
                                            #(ribcage
                                              #(quasicons
                                                quasiappend
                                                quasivector
                                                quasi)
                                              #((top) (top) (top) (top))
-                                             #("i4230"
-                                               "i4231"
-                                               "i4232"
-                                               "i4233")))
+                                             #("i4232"
+                                               "i4233"
+                                               "i4234"
+                                               "i4235")))
                                           (hygiene guile))
-                                       #{x\ 4247}#
-                                       #{y\ 4248}#))))))))
-                   #{tmp\ 4244}#)
+                                       #{x\ 4249}#
+                                       #{y\ 4250}#))))))))
+                   #{tmp\ 4246}#)
                  (syntax-violation
                    #f
                    "source expression failed to match any pattern"
-                   #{tmp\ 4243}#))))))
-       (#{quasiappend\ 4235}#
-         (lambda (#{x\ 4264}# #{y\ 4265}#)
-           (let ((#{tmp\ 4269}# (list #{x\ 4264}# #{y\ 4265}#)))
-             (let ((#{tmp\ 4270}#
-                     ($sc-dispatch #{tmp\ 4269}# (quote (any any)))))
-               (if #{tmp\ 4270}#
+                   #{tmp\ 4245}#))))))
+       (#{quasiappend\ 4237}#
+         (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}#
                  (@apply
-                   (lambda (#{x\ 4273}# #{y\ 4274}#)
-                     (let ((#{tmp\ 4275}# #{y\ 4274}#))
-                       (let ((#{tmp\ 4276}#
+                   (lambda (#{x\ 4275}# #{y\ 4276}#)
+                     (let ((#{tmp\ 4277}# #{y\ 4276}#))
+                       (let ((#{tmp\ 4278}#
                                ($sc-dispatch
-                                 #{tmp\ 4275}#
+                                 #{tmp\ 4277}#
                                  '(#(free-id
                                      #(syntax-object
                                        quote
@@ -15781,160 +15786,160 @@
                                         #(ribcage
                                           #(x y)
                                           #((top) (top))
-                                          #("i4271" "i4272"))
+                                          #("i4273" "i4274"))
                                         #(ribcage () () ())
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(x y)
                                           #((top) (top))
-                                          #("i4266" "i4267"))
+                                          #("i4268" "i4269"))
                                         #(ribcage
                                           #(quasicons
                                             quasiappend
                                             quasivector
                                             quasi)
                                           #((top) (top) (top) (top))
-                                          #("i4230" "i4231" "i4232" "i4233")))
+                                          #("i4232" "i4233" "i4234" "i4235")))
                                        (hygiene guile)))
                                    ()))))
-                         (if #{tmp\ 4276}#
-                           (@apply (lambda () #{x\ 4273}#) #{tmp\ 4276}#)
-                           (let ((#{_\ 4278}# #{tmp\ 4275}#))
+                         (if #{tmp\ 4278}#
+                           (@apply (lambda () #{x\ 4275}#) #{tmp\ 4278}#)
+                           (let ((#{_\ 4280}# #{tmp\ 4277}#))
                              (list '#(syntax-object
                                       append
                                       ((top)
-                                       #(ribcage #(_) #((top)) #("i4277"))
+                                       #(ribcage #(_) #((top)) #("i4279"))
                                        #(ribcage
                                          #(x y)
                                          #((top) (top))
-                                         #("i4271" "i4272"))
+                                         #("i4273" "i4274"))
                                        #(ribcage () () ())
                                        #(ribcage () () ())
                                        #(ribcage
                                          #(x y)
                                          #((top) (top))
-                                         #("i4266" "i4267"))
+                                         #("i4268" "i4269"))
                                        #(ribcage
                                          #(quasicons
                                            quasiappend
                                            quasivector
                                            quasi)
                                          #((top) (top) (top) (top))
-                                         #("i4230" "i4231" "i4232" "i4233")))
+                                         #("i4232" "i4233" "i4234" "i4235")))
                                       (hygiene guile))
-                                   #{x\ 4273}#
-                                   #{y\ 4274}#))))))
-                   #{tmp\ 4270}#)
+                                   #{x\ 4275}#
+                                   #{y\ 4276}#))))))
+                   #{tmp\ 4272}#)
                  (syntax-violation
                    #f
                    "source expression failed to match any pattern"
-                   #{tmp\ 4269}#))))))
-       (#{quasivector\ 4236}#
-         (lambda (#{x\ 4279}#)
-           (let ((#{tmp\ 4282}# #{x\ 4279}#))
-             (let ((#{x\ 4284}# #{tmp\ 4282}#))
-               (let ((#{tmp\ 4285}# #{x\ 4284}#))
-                 (let ((#{tmp\ 4286}#
+                   #{tmp\ 4271}#))))))
+       (#{quasivector\ 4238}#
+         (lambda (#{x\ 4281}#)
+           (let ((#{tmp\ 4284}# #{x\ 4281}#))
+             (let ((#{x\ 4286}# #{tmp\ 4284}#))
+               (let ((#{tmp\ 4287}# #{x\ 4286}#))
+                 (let ((#{tmp\ 4288}#
                          ($sc-dispatch
-                           #{tmp\ 4285}#
+                           #{tmp\ 4287}#
                            '(#(free-id
                                #(syntax-object
                                  quote
                                  ((top)
-                                  #(ribcage #(x) #((top)) #("i4283"))
+                                  #(ribcage #(x) #((top)) #("i4285"))
                                   #(ribcage () () ())
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4280"))
+                                  #(ribcage #(x) #((top)) #("i4282"))
                                   #(ribcage
                                     #(quasicons quasiappend quasivector quasi)
                                     #((top) (top) (top) (top))
-                                    #("i4230" "i4231" "i4232" "i4233")))
+                                    #("i4232" "i4233" "i4234" "i4235")))
                                  (hygiene guile)))
                              each-any))))
-                   (if #{tmp\ 4286}#
+                   (if #{tmp\ 4288}#
                      (@apply
-                       (lambda (#{x\ 4288}#)
+                       (lambda (#{x\ 4290}#)
                          (list '#(syntax-object
                                   quote
                                   ((top)
-                                   #(ribcage #(x) #((top)) #("i4287"))
-                                   #(ribcage #(x) #((top)) #("i4283"))
+                                   #(ribcage #(x) #((top)) #("i4289"))
+                                   #(ribcage #(x) #((top)) #("i4285"))
                                    #(ribcage () () ())
                                    #(ribcage () () ())
-                                   #(ribcage #(x) #((top)) #("i4280"))
+                                   #(ribcage #(x) #((top)) #("i4282"))
                                    #(ribcage
                                      #(quasicons quasiappend quasivector quasi)
                                      #((top) (top) (top) (top))
-                                     #("i4230" "i4231" "i4232" "i4233")))
+                                     #("i4232" "i4233" "i4234" "i4235")))
                                   (hygiene guile))
-                               (list->vector #{x\ 4288}#)))
-                       #{tmp\ 4286}#)
-                     (let ((#{tmp\ 4290}#
+                               (list->vector #{x\ 4290}#)))
+                       #{tmp\ 4288}#)
+                     (let ((#{tmp\ 4292}#
                              ($sc-dispatch
-                               #{tmp\ 4285}#
+                               #{tmp\ 4287}#
                                '(#(free-id
                                    #(syntax-object
                                      list
                                      ((top)
-                                      #(ribcage #(x) #((top)) #("i4283"))
+                                      #(ribcage #(x) #((top)) #("i4285"))
                                       #(ribcage () () ())
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4280"))
+                                      #(ribcage #(x) #((top)) #("i4282"))
                                       #(ribcage
                                         #(quasicons
                                           quasiappend
                                           quasivector
                                           quasi)
                                         #((top) (top) (top) (top))
-                                        #("i4230" "i4231" "i4232" "i4233")))
+                                        #("i4232" "i4233" "i4234" "i4235")))
                                      (hygiene guile)))
                                  .
                                  each-any))))
-                       (if #{tmp\ 4290}#
+                       (if #{tmp\ 4292}#
                          (@apply
-                           (lambda (#{x\ 4292}#)
+                           (lambda (#{x\ 4294}#)
                              (cons '#(syntax-object
                                       vector
                                       ((top)
-                                       #(ribcage #(x) #((top)) #("i4291"))
-                                       #(ribcage #(x) #((top)) #("i4283"))
+                                       #(ribcage #(x) #((top)) #("i4293"))
+                                       #(ribcage #(x) #((top)) #("i4285"))
                                        #(ribcage () () ())
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4280"))
+                                       #(ribcage #(x) #((top)) #("i4282"))
                                        #(ribcage
                                          #(quasicons
                                            quasiappend
                                            quasivector
                                            quasi)
                                          #((top) (top) (top) (top))
-                                         #("i4230" "i4231" "i4232" "i4233")))
+                                         #("i4232" "i4233" "i4234" "i4235")))
                                       (hygiene guile))
-                                   #{x\ 4292}#))
-                           #{tmp\ 4290}#)
-                         (let ((#{_\ 4295}# #{tmp\ 4285}#))
+                                   #{x\ 4294}#))
+                           #{tmp\ 4292}#)
+                         (let ((#{_\ 4297}# #{tmp\ 4287}#))
                            (list '#(syntax-object
                                     list->vector
                                     ((top)
-                                     #(ribcage #(_) #((top)) #("i4294"))
-                                     #(ribcage #(x) #((top)) #("i4283"))
+                                     #(ribcage #(_) #((top)) #("i4296"))
+                                     #(ribcage #(x) #((top)) #("i4285"))
                                      #(ribcage () () ())
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i4280"))
+                                     #(ribcage #(x) #((top)) #("i4282"))
                                      #(ribcage
                                        #(quasicons
                                          quasiappend
                                          quasivector
                                          quasi)
                                        #((top) (top) (top) (top))
-                                       #("i4230" "i4231" "i4232" "i4233")))
+                                       #("i4232" "i4233" "i4234" "i4235")))
                                     (hygiene guile))
-                                 #{x\ 4284}#)))))))))))
-       (#{quasi\ 4237}#
-         (lambda (#{p\ 4296}# #{lev\ 4297}#)
-           (let ((#{tmp\ 4300}# #{p\ 4296}#))
-             (let ((#{tmp\ 4301}#
+                                 #{x\ 4286}#)))))))))))
+       (#{quasi\ 4239}#
+         (lambda (#{p\ 4298}# #{lev\ 4299}#)
+           (let ((#{tmp\ 4302}# #{p\ 4298}#))
+             (let ((#{tmp\ 4303}#
                      ($sc-dispatch
-                       #{tmp\ 4300}#
+                       #{tmp\ 4302}#
                        '(#(free-id
                            #(syntax-object
                              unquote
@@ -15943,54 +15948,54 @@
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4298" "i4299"))
+                                #("i4300" "i4301"))
                               #(ribcage
                                 #(quasicons quasiappend quasivector quasi)
                                 #((top) (top) (top) (top))
-                                #("i4230" "i4231" "i4232" "i4233")))
+                                #("i4232" "i4233" "i4234" "i4235")))
                              (hygiene guile)))
                          any))))
-               (if #{tmp\ 4301}#
+               (if #{tmp\ 4303}#
                  (@apply
-                   (lambda (#{p\ 4303}#)
-                     (if (= #{lev\ 4297}# 0)
-                       #{p\ 4303}#
-                       (#{quasicons\ 4234}#
+                   (lambda (#{p\ 4305}#)
+                     (if (= #{lev\ 4299}# 0)
+                       #{p\ 4305}#
+                       (#{quasicons\ 4236}#
                          '(#(syntax-object
                              quote
                              ((top)
-                              #(ribcage #(p) #((top)) #("i4302"))
+                              #(ribcage #(p) #((top)) #("i4304"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4298" "i4299"))
+                                #("i4300" "i4301"))
                               #(ribcage
                                 #(quasicons quasiappend quasivector quasi)
                                 #((top) (top) (top) (top))
-                                #("i4230" "i4231" "i4232" "i4233")))
+                                #("i4232" "i4233" "i4234" "i4235")))
                              (hygiene guile))
                            #(syntax-object
                              unquote
                              ((top)
-                              #(ribcage #(p) #((top)) #("i4302"))
+                              #(ribcage #(p) #((top)) #("i4304"))
                               #(ribcage () () ())
                               #(ribcage
                                 #(p lev)
                                 #((top) (top))
-                                #("i4298" "i4299"))
+                                #("i4300" "i4301"))
                               #(ribcage
                                 #(quasicons quasiappend quasivector quasi)
                                 #((top) (top) (top) (top))
-                                #("i4230" "i4231" "i4232" "i4233")))
+                                #("i4232" "i4233" "i4234" "i4235")))
                              (hygiene guile)))
-                         (#{quasi\ 4237}#
-                           (list #{p\ 4303}#)
-                           (1- #{lev\ 4297}#)))))
-                   #{tmp\ 4301}#)
-                 (let ((#{tmp\ 4304}#
+                         (#{quasi\ 4239}#
+                           (list #{p\ 4305}#)
+                           (1- #{lev\ 4299}#)))))
+                   #{tmp\ 4303}#)
+                 (let ((#{tmp\ 4306}#
                          ($sc-dispatch
-                           #{tmp\ 4300}#
+                           #{tmp\ 4302}#
                            '(#(free-id
                                #(syntax-object
                                  unquote
@@ -15999,47 +16004,47 @@
                                   #(ribcage
                                     #(p lev)
                                     #((top) (top))
-                                    #("i4298" "i4299"))
+                                    #("i4300" "i4301"))
                                   #(ribcage
                                     #(quasicons quasiappend quasivector quasi)
                                     #((top) (top) (top) (top))
-                                    #("i4230" "i4231" "i4232" "i4233")))
+                                    #("i4232" "i4233" "i4234" "i4235")))
                                  (hygiene guile)))
                              .
                              any))))
-                   (if (if #{tmp\ 4304}#
+                   (if (if #{tmp\ 4306}#
                          (@apply
-                           (lambda (#{args\ 4306}#) (= #{lev\ 4297}# 0))
-                           #{tmp\ 4304}#)
+                           (lambda (#{args\ 4308}#) (= #{lev\ 4299}# 0))
+                           #{tmp\ 4306}#)
                          #f)
                      (@apply
-                       (lambda (#{args\ 4308}#)
+                       (lambda (#{args\ 4310}#)
                          (syntax-violation
                            'unquote
                            "unquote takes exactly one argument"
-                           #{p\ 4296}#
+                           #{p\ 4298}#
                            (cons '#(syntax-object
                                     unquote
                                     ((top)
-                                     #(ribcage #(args) #((top)) #("i4307"))
+                                     #(ribcage #(args) #((top)) #("i4309"))
                                      #(ribcage () () ())
                                      #(ribcage
                                        #(p lev)
                                        #((top) (top))
-                                       #("i4298" "i4299"))
+                                       #("i4300" "i4301"))
                                      #(ribcage
                                        #(quasicons
                                          quasiappend
                                          quasivector
                                          quasi)
                                        #((top) (top) (top) (top))
-                                       #("i4230" "i4231" "i4232" "i4233")))
+                                       #("i4232" "i4233" "i4234" "i4235")))
                                     (hygiene guile))
-                                 #{args\ 4308}#)))
-                       #{tmp\ 4304}#)
-                     (let ((#{tmp\ 4309}#
+                                 #{args\ 4310}#)))
+                       #{tmp\ 4306}#)
+                     (let ((#{tmp\ 4311}#
                              ($sc-dispatch
-                               #{tmp\ 4300}#
+                               #{tmp\ 4302}#
                                '((#(free-id
                                     #(syntax-object
                                       unquote-splicing
@@ -16048,46 +16053,46 @@
                                        #(ribcage
                                          #(p lev)
                                          #((top) (top))
-                                         #("i4298" "i4299"))
+                                         #("i4300" "i4301"))
                                        #(ribcage
                                          #(quasicons
                                            quasiappend
                                            quasivector
                                            quasi)
                                          #((top) (top) (top) (top))
-                                         #("i4230" "i4231" "i4232" "i4233")))
+                                         #("i4232" "i4233" "i4234" "i4235")))
                                       (hygiene guile)))
                                   any)
                                  .
                                  any))))
-                       (if #{tmp\ 4309}#
+                       (if #{tmp\ 4311}#
                          (@apply
-                           (lambda (#{p\ 4312}# #{q\ 4313}#)
-                             (if (= #{lev\ 4297}# 0)
-                               (#{quasiappend\ 4235}#
-                                 #{p\ 4312}#
-                                 (#{quasi\ 4237}# #{q\ 4313}# #{lev\ 4297}#))
-                               (#{quasicons\ 4234}#
-                                 (#{quasicons\ 4234}#
+                           (lambda (#{p\ 4314}# #{q\ 4315}#)
+                             (if (= #{lev\ 4299}# 0)
+                               (#{quasiappend\ 4237}#
+                                 #{p\ 4314}#
+                                 (#{quasi\ 4239}# #{q\ 4315}# #{lev\ 4299}#))
+                               (#{quasicons\ 4236}#
+                                 (#{quasicons\ 4236}#
                                    '(#(syntax-object
                                        quote
                                        ((top)
                                         #(ribcage
                                           #(p q)
                                           #((top) (top))
-                                          #("i4310" "i4311"))
+                                          #("i4312" "i4313"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(p lev)
                                           #((top) (top))
-                                          #("i4298" "i4299"))
+                                          #("i4300" "i4301"))
                                         #(ribcage
                                           #(quasicons
                                             quasiappend
                                             quasivector
                                             quasi)
                                           #((top) (top) (top) (top))
-                                          #("i4230" "i4231" "i4232" "i4233")))
+                                          #("i4232" "i4233" "i4234" "i4235")))
                                        (hygiene guile))
                                      #(syntax-object
                                        unquote-splicing
@@ -16095,28 +16100,28 @@
                                         #(ribcage
                                           #(p q)
                                           #((top) (top))
-                                          #("i4310" "i4311"))
+                                          #("i4312" "i4313"))
                                         #(ribcage () () ())
                                         #(ribcage
                                           #(p lev)
                                           #((top) (top))
-                                          #("i4298" "i4299"))
+                                          #("i4300" "i4301"))
                                         #(ribcage
                                           #(quasicons
                                             quasiappend
                                             quasivector
                                             quasi)
                                           #((top) (top) (top) (top))
-                                          #("i4230" "i4231" "i4232" "i4233")))
+                                          #("i4232" "i4233" "i4234" "i4235")))
                                        (hygiene guile)))
-                                   (#{quasi\ 4237}#
-                                     (list #{p\ 4312}#)
-                                     (1- #{lev\ 4297}#)))
-                                 (#{quasi\ 4237}# #{q\ 4313}# #{lev\ 4297}#))))
-                           #{tmp\ 4309}#)
-                         (let ((#{tmp\ 4314}#
+                                   (#{quasi\ 4239}#
+                                     (list #{p\ 4314}#)
+                                     (1- #{lev\ 4299}#)))
+                                 (#{quasi\ 4239}# #{q\ 4315}# #{lev\ 4299}#))))
+                           #{tmp\ 4311}#)
+                         (let ((#{tmp\ 4316}#
                                  ($sc-dispatch
-                                   #{tmp\ 4300}#
+                                   #{tmp\ 4302}#
                                    '((#(free-id
                                         #(syntax-object
                                           unquote-splicing
@@ -16125,62 +16130,62 @@
                                            #(ribcage
                                              #(p lev)
                                              #((top) (top))
-                                             #("i4298" "i4299"))
+                                             #("i4300" "i4301"))
                                            #(ribcage
                                              #(quasicons
                                                quasiappend
                                                quasivector
                                                quasi)
                                              #((top) (top) (top) (top))
-                                             #("i4230"
-                                               "i4231"
-                                               "i4232"
-                                               "i4233")))
+                                             #("i4232"
+                                               "i4233"
+                                               "i4234"
+                                               "i4235")))
                                           (hygiene guile)))
                                       .
                                       any)
                                      .
                                      any))))
-                           (if (if #{tmp\ 4314}#
+                           (if (if #{tmp\ 4316}#
                                  (@apply
-                                   (lambda (#{args\ 4317}# #{q\ 4318}#)
-                                     (= #{lev\ 4297}# 0))
-                                   #{tmp\ 4314}#)
+                                   (lambda (#{args\ 4319}# #{q\ 4320}#)
+                                     (= #{lev\ 4299}# 0))
+                                   #{tmp\ 4316}#)
                                  #f)
                              (@apply
-                               (lambda (#{args\ 4321}# #{q\ 4322}#)
+                               (lambda (#{args\ 4323}# #{q\ 4324}#)
                                  (syntax-violation
                                    'unquote-splicing
                                    "unquote-splicing takes exactly one 
argument"
-                                   #{p\ 4296}#
+                                   #{p\ 4298}#
                                    (cons '#(syntax-object
                                             unquote-splicing
                                             ((top)
                                              #(ribcage
                                                #(args q)
                                                #((top) (top))
-                                               #("i4319" "i4320"))
+                                               #("i4321" "i4322"))
                                              #(ribcage () () ())
                                              #(ribcage
                                                #(p lev)
                                                #((top) (top))
-                                               #("i4298" "i4299"))
+                                               #("i4300" "i4301"))
                                              #(ribcage
                                                #(quasicons
                                                  quasiappend
                                                  quasivector
                                                  quasi)
                                                #((top) (top) (top) (top))
-                                               #("i4230"
-                                                 "i4231"
-                                                 "i4232"
-                                                 "i4233")))
+                                               #("i4232"
+                                                 "i4233"
+                                                 "i4234"
+                                                 "i4235")))
                                             (hygiene guile))
-                                         #{args\ 4321}#)))
-                               #{tmp\ 4314}#)
-                             (let ((#{tmp\ 4323}#
+                                         #{args\ 4323}#)))
+                               #{tmp\ 4316}#)
+                             (let ((#{tmp\ 4325}#
                                      ($sc-dispatch
-                                       #{tmp\ 4300}#
+                                       #{tmp\ 4302}#
                                        '(#(free-id
                                            #(syntax-object
                                              quasiquote
@@ -16189,107 +16194,107 @@
                                               #(ribcage
                                                 #(p lev)
                                                 #((top) (top))
-                                                #("i4298" "i4299"))
+                                                #("i4300" "i4301"))
                                               #(ribcage
                                                 #(quasicons
                                                   quasiappend
                                                   quasivector
                                                   quasi)
                                                 #((top) (top) (top) (top))
-                                                #("i4230"
-                                                  "i4231"
-                                                  "i4232"
-                                                  "i4233")))
+                                                #("i4232"
+                                                  "i4233"
+                                                  "i4234"
+                                                  "i4235")))
                                              (hygiene guile)))
                                          any))))
-                               (if #{tmp\ 4323}#
+                               (if #{tmp\ 4325}#
                                  (@apply
-                                   (lambda (#{p\ 4325}#)
-                                     (#{quasicons\ 4234}#
+                                   (lambda (#{p\ 4327}#)
+                                     (#{quasicons\ 4236}#
                                        '(#(syntax-object
                                            quote
                                            ((top)
-                                            #(ribcage #(p) #((top)) #("i4324"))
+                                            #(ribcage #(p) #((top)) #("i4326"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(p lev)
                                               #((top) (top))
-                                              #("i4298" "i4299"))
+                                              #("i4300" "i4301"))
                                             #(ribcage
                                               #(quasicons
                                                 quasiappend
                                                 quasivector
                                                 quasi)
                                               #((top) (top) (top) (top))
-                                              #("i4230"
-                                                "i4231"
-                                                "i4232"
-                                                "i4233")))
+                                              #("i4232"
+                                                "i4233"
+                                                "i4234"
+                                                "i4235")))
                                            (hygiene guile))
                                          #(syntax-object
                                            quasiquote
                                            ((top)
-                                            #(ribcage #(p) #((top)) #("i4324"))
+                                            #(ribcage #(p) #((top)) #("i4326"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(p lev)
                                               #((top) (top))
-                                              #("i4298" "i4299"))
+                                              #("i4300" "i4301"))
                                             #(ribcage
                                               #(quasicons
                                                 quasiappend
                                                 quasivector
                                                 quasi)
                                               #((top) (top) (top) (top))
-                                              #("i4230"
-                                                "i4231"
-                                                "i4232"
-                                                "i4233")))
+                                              #("i4232"
+                                                "i4233"
+                                                "i4234"
+                                                "i4235")))
                                            (hygiene guile)))
-                                       (#{quasi\ 4237}#
-                                         (list #{p\ 4325}#)
-                                         (1+ #{lev\ 4297}#))))
-                                   #{tmp\ 4323}#)
-                                 (let ((#{tmp\ 4326}#
+                                       (#{quasi\ 4239}#
+                                         (list #{p\ 4327}#)
+                                         (1+ #{lev\ 4299}#))))
+                                   #{tmp\ 4325}#)
+                                 (let ((#{tmp\ 4328}#
                                          ($sc-dispatch
-                                           #{tmp\ 4300}#
+                                           #{tmp\ 4302}#
                                            '(any . any))))
-                                   (if #{tmp\ 4326}#
+                                   (if #{tmp\ 4328}#
                                      (@apply
-                                       (lambda (#{p\ 4329}# #{q\ 4330}#)
-                                         (#{quasicons\ 4234}#
-                                           (#{quasi\ 4237}#
-                                             #{p\ 4329}#
-                                             #{lev\ 4297}#)
-                                           (#{quasi\ 4237}#
-                                             #{q\ 4330}#
-                                             #{lev\ 4297}#)))
-                                       #{tmp\ 4326}#)
-                                     (let ((#{tmp\ 4331}#
+                                       (lambda (#{p\ 4331}# #{q\ 4332}#)
+                                         (#{quasicons\ 4236}#
+                                           (#{quasi\ 4239}#
+                                             #{p\ 4331}#
+                                             #{lev\ 4299}#)
+                                           (#{quasi\ 4239}#
+                                             #{q\ 4332}#
+                                             #{lev\ 4299}#)))
+                                       #{tmp\ 4328}#)
+                                     (let ((#{tmp\ 4333}#
                                              ($sc-dispatch
-                                               #{tmp\ 4300}#
+                                               #{tmp\ 4302}#
                                                '#(vector each-any))))
-                                       (if #{tmp\ 4331}#
+                                       (if #{tmp\ 4333}#
                                          (@apply
-                                           (lambda (#{x\ 4333}#)
-                                             (#{quasivector\ 4236}#
-                                               (#{quasi\ 4237}#
-                                                 #{x\ 4333}#
-                                                 #{lev\ 4297}#)))
-                                           #{tmp\ 4331}#)
-                                         (let ((#{p\ 4336}# #{tmp\ 4300}#))
+                                           (lambda (#{x\ 4335}#)
+                                             (#{quasivector\ 4238}#
+                                               (#{quasi\ 4239}#
+                                                 #{x\ 4335}#
+                                                 #{lev\ 4299}#)))
+                                           #{tmp\ 4333}#)
+                                         (let ((#{p\ 4338}# #{tmp\ 4302}#))
                                            (list '#(syntax-object
                                                     quote
                                                     ((top)
                                                      #(ribcage
                                                        #(p)
                                                        #((top))
-                                                       #("i4335"))
+                                                       #("i4337"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(p lev)
                                                        #((top) (top))
-                                                       #("i4298" "i4299"))
+                                                       #("i4300" "i4301"))
                                                      #(ribcage
                                                        #(quasicons
                                                          quasiappend
@@ -16299,220 +16304,220 @@
                                                          (top)
                                                          (top)
                                                          (top))
-                                                       #("i4230"
-                                                         "i4231"
-                                                         "i4232"
-                                                         "i4233")))
+                                                       #("i4232"
+                                                         "i4233"
+                                                         "i4234"
+                                                         "i4235")))
                                                     (hygiene guile))
-                                                 #{p\ 
4336}#))))))))))))))))))))
+                                                 #{p\ 
4338}#))))))))))))))))))))
       (begin
-        (lambda (#{x\ 4337}#)
-          (let ((#{tmp\ 4339}# #{x\ 4337}#))
-            (let ((#{tmp\ 4340}#
-                    ($sc-dispatch #{tmp\ 4339}# (quote (_ any)))))
-              (if #{tmp\ 4340}#
+        (lambda (#{x\ 4339}#)
+          (let ((#{tmp\ 4341}# #{x\ 4339}#))
+            (let ((#{tmp\ 4342}#
+                    ($sc-dispatch #{tmp\ 4341}# (quote (_ any)))))
+              (if #{tmp\ 4342}#
                 (@apply
-                  (lambda (#{e\ 4342}#)
-                    (#{quasi\ 4237}# #{e\ 4342}# 0))
-                  #{tmp\ 4340}#)
+                  (lambda (#{e\ 4344}#)
+                    (#{quasi\ 4239}# #{e\ 4344}# 0))
+                  #{tmp\ 4342}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp\ 4339}#)))))))))
+                  #{tmp\ 4341}#)))))))))
 
 (define include
   (make-syntax-transformer
     'include
     'macro
-    (lambda (#{x\ 4343}#)
+    (lambda (#{x\ 4345}#)
       (letrec*
-        ((#{read-file\ 4346}#
-           (lambda (#{fn\ 4347}# #{k\ 4348}#)
+        ((#{read-file\ 4348}#
+           (lambda (#{fn\ 4349}# #{k\ 4350}#)
              (begin
-               (let ((#{p\ 4352}# (open-input-file #{fn\ 4347}#)))
+               (let ((#{p\ 4354}# (open-input-file #{fn\ 4349}#)))
                  (letrec*
-                   ((#{f\ 4356}#
-                      (lambda (#{x\ 4357}# #{result\ 4358}#)
-                        (if (eof-object? #{x\ 4357}#)
+                   ((#{f\ 4358}#
+                      (lambda (#{x\ 4359}# #{result\ 4360}#)
+                        (if (eof-object? #{x\ 4359}#)
                           (begin
-                            (close-input-port #{p\ 4352}#)
-                            (reverse #{result\ 4358}#))
-                          (#{f\ 4356}#
-                            (read #{p\ 4352}#)
-                            (cons (datum->syntax #{k\ 4348}# #{x\ 4357}#)
-                                  #{result\ 4358}#))))))
+                            (close-input-port #{p\ 4354}#)
+                            (reverse #{result\ 4360}#))
+                          (#{f\ 4358}#
+                            (read #{p\ 4354}#)
+                            (cons (datum->syntax #{k\ 4350}# #{x\ 4359}#)
+                                  #{result\ 4360}#))))))
                    (begin
-                     (#{f\ 4356}# (read #{p\ 4352}#) (quote ())))))))))
+                     (#{f\ 4358}# (read #{p\ 4354}#) (quote ())))))))))
         (begin
-          (let ((#{tmp\ 4359}# #{x\ 4343}#))
-            (let ((#{tmp\ 4360}#
-                    ($sc-dispatch #{tmp\ 4359}# (quote (any any)))))
-              (if #{tmp\ 4360}#
+          (let ((#{tmp\ 4361}# #{x\ 4345}#))
+            (let ((#{tmp\ 4362}#
+                    ($sc-dispatch #{tmp\ 4361}# (quote (any any)))))
+              (if #{tmp\ 4362}#
                 (@apply
-                  (lambda (#{k\ 4363}# #{filename\ 4364}#)
+                  (lambda (#{k\ 4365}# #{filename\ 4366}#)
                     (begin
-                      (let ((#{fn\ 4366}# (syntax->datum #{filename\ 4364}#)))
-                        (let ((#{tmp\ 4368}#
-                                (#{read-file\ 4346}#
-                                  #{fn\ 4366}#
-                                  #{filename\ 4364}#)))
-                          (let ((#{tmp\ 4369}#
+                      (let ((#{fn\ 4368}# (syntax->datum #{filename\ 4366}#)))
+                        (let ((#{tmp\ 4370}#
+                                (#{read-file\ 4348}#
+                                  #{fn\ 4368}#
+                                  #{filename\ 4366}#)))
+                          (let ((#{tmp\ 4371}#
                                   ($sc-dispatch
-                                    #{tmp\ 4368}#
+                                    #{tmp\ 4370}#
                                     'each-any)))
-                            (if #{tmp\ 4369}#
+                            (if #{tmp\ 4371}#
                               (@apply
-                                (lambda (#{exp\ 4371}#)
+                                (lambda (#{exp\ 4373}#)
                                   (cons '#(syntax-object
                                            begin
                                            ((top)
                                             #(ribcage
                                               #(exp)
                                               #((top))
-                                              #("i4370"))
+                                              #("i4372"))
                                             #(ribcage () () ())
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(fn)
                                               #((top))
-                                              #("i4365"))
+                                              #("i4367"))
                                             #(ribcage
                                               #(k filename)
                                               #((top) (top))
-                                              #("i4361" "i4362"))
+                                              #("i4363" "i4364"))
                                             #(ribcage
                                               (read-file)
                                               ((top))
-                                              ("i4345"))
+                                              ("i4347"))
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4344")))
+                                              #("i4346")))
                                            (hygiene guile))
-                                        #{exp\ 4371}#))
-                                #{tmp\ 4369}#)
+                                        #{exp\ 4373}#))
+                                #{tmp\ 4371}#)
                               (syntax-violation
                                 #f
                                 "source expression failed to match any pattern"
-                                #{tmp\ 4368}#)))))))
-                  #{tmp\ 4360}#)
+                                #{tmp\ 4370}#)))))))
+                  #{tmp\ 4362}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp\ 4359}#)))))))))
+                  #{tmp\ 4361}#)))))))))
 
 (define include-from-path
   (make-syntax-transformer
     'include-from-path
     'macro
-    (lambda (#{x\ 4373}#)
-      (let ((#{tmp\ 4375}# #{x\ 4373}#))
-        (let ((#{tmp\ 4376}#
-                ($sc-dispatch #{tmp\ 4375}# (quote (any any)))))
-          (if #{tmp\ 4376}#
+    (lambda (#{x\ 4375}#)
+      (let ((#{tmp\ 4377}# #{x\ 4375}#))
+        (let ((#{tmp\ 4378}#
+                ($sc-dispatch #{tmp\ 4377}# (quote (any any)))))
+          (if #{tmp\ 4378}#
             (@apply
-              (lambda (#{k\ 4379}# #{filename\ 4380}#)
+              (lambda (#{k\ 4381}# #{filename\ 4382}#)
                 (begin
-                  (let ((#{fn\ 4382}# (syntax->datum #{filename\ 4380}#)))
-                    (let ((#{tmp\ 4384}#
+                  (let ((#{fn\ 4384}# (syntax->datum #{filename\ 4382}#)))
+                    (let ((#{tmp\ 4386}#
                             (datum->syntax
-                              #{filename\ 4380}#
+                              #{filename\ 4382}#
                               (begin
-                                (let ((#{t\ 4389}#
-                                        (%search-load-path #{fn\ 4382}#)))
-                                  (if #{t\ 4389}#
-                                    #{t\ 4389}#
+                                (let ((#{t\ 4391}#
+                                        (%search-load-path #{fn\ 4384}#)))
+                                  (if #{t\ 4391}#
+                                    #{t\ 4391}#
                                     (syntax-violation
                                       'include-from-path
                                       "file not found in path"
-                                      #{x\ 4373}#
-                                      #{filename\ 4380}#)))))))
-                      (let ((#{fn\ 4386}# #{tmp\ 4384}#))
+                                      #{x\ 4375}#
+                                      #{filename\ 4382}#)))))))
+                      (let ((#{fn\ 4388}# #{tmp\ 4386}#))
                         (list '#(syntax-object
                                  include
                                  ((top)
-                                  #(ribcage #(fn) #((top)) #("i4385"))
+                                  #(ribcage #(fn) #((top)) #("i4387"))
                                   #(ribcage () () ())
                                   #(ribcage () () ())
-                                  #(ribcage #(fn) #((top)) #("i4381"))
+                                  #(ribcage #(fn) #((top)) #("i4383"))
                                   #(ribcage
                                     #(k filename)
                                     #((top) (top))
-                                    #("i4377" "i4378"))
+                                    #("i4379" "i4380"))
                                   #(ribcage () () ())
-                                  #(ribcage #(x) #((top)) #("i4374")))
+                                  #(ribcage #(x) #((top)) #("i4376")))
                                  (hygiene guile))
-                              #{fn\ 4386}#))))))
-              #{tmp\ 4376}#)
+                              #{fn\ 4388}#))))))
+              #{tmp\ 4378}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp\ 4375}#)))))))
+              #{tmp\ 4377}#)))))))
 
 (define unquote
   (make-syntax-transformer
     'unquote
     'macro
-    (lambda (#{x\ 4391}#)
-      (let ((#{tmp\ 4393}# #{x\ 4391}#))
-        (let ((#{tmp\ 4394}#
-                ($sc-dispatch #{tmp\ 4393}# (quote (_ any)))))
-          (if #{tmp\ 4394}#
+    (lambda (#{x\ 4393}#)
+      (let ((#{tmp\ 4395}# #{x\ 4393}#))
+        (let ((#{tmp\ 4396}#
+                ($sc-dispatch #{tmp\ 4395}# (quote (_ any)))))
+          (if #{tmp\ 4396}#
             (@apply
-              (lambda (#{e\ 4396}#)
+              (lambda (#{e\ 4398}#)
                 (syntax-violation
                   'unquote
                   "expression not valid outside of quasiquote"
-                  #{x\ 4391}#))
-              #{tmp\ 4394}#)
+                  #{x\ 4393}#))
+              #{tmp\ 4396}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp\ 4393}#)))))))
+              #{tmp\ 4395}#)))))))
 
 (define unquote-splicing
   (make-syntax-transformer
     'unquote-splicing
     'macro
-    (lambda (#{x\ 4397}#)
-      (let ((#{tmp\ 4399}# #{x\ 4397}#))
-        (let ((#{tmp\ 4400}#
-                ($sc-dispatch #{tmp\ 4399}# (quote (_ any)))))
-          (if #{tmp\ 4400}#
+    (lambda (#{x\ 4399}#)
+      (let ((#{tmp\ 4401}# #{x\ 4399}#))
+        (let ((#{tmp\ 4402}#
+                ($sc-dispatch #{tmp\ 4401}# (quote (_ any)))))
+          (if #{tmp\ 4402}#
             (@apply
-              (lambda (#{e\ 4402}#)
+              (lambda (#{e\ 4404}#)
                 (syntax-violation
                   'unquote-splicing
                   "expression not valid outside of quasiquote"
-                  #{x\ 4397}#))
-              #{tmp\ 4400}#)
+                  #{x\ 4399}#))
+              #{tmp\ 4402}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp\ 4399}#)))))))
+              #{tmp\ 4401}#)))))))
 
 (define case
   (make-syntax-transformer
     'case
     'macro
-    (lambda (#{x\ 4403}#)
-      (let ((#{tmp\ 4405}# #{x\ 4403}#))
-        (let ((#{tmp\ 4406}#
+    (lambda (#{x\ 4405}#)
+      (let ((#{tmp\ 4407}# #{x\ 4405}#))
+        (let ((#{tmp\ 4408}#
                 ($sc-dispatch
-                  #{tmp\ 4405}#
+                  #{tmp\ 4407}#
                   '(_ any any . each-any))))
-          (if #{tmp\ 4406}#
+          (if #{tmp\ 4408}#
             (@apply
-              (lambda (#{e\ 4410}# #{m1\ 4411}# #{m2\ 4412}#)
-                (let ((#{tmp\ 4414}#
+              (lambda (#{e\ 4412}# #{m1\ 4413}# #{m2\ 4414}#)
+                (let ((#{tmp\ 4416}#
                         (letrec*
-                          ((#{f\ 4420}#
-                             (lambda (#{clause\ 4421}# #{clauses\ 4422}#)
-                               (if (null? #{clauses\ 4422}#)
-                                 (let ((#{tmp\ 4424}# #{clause\ 4421}#))
-                                   (let ((#{tmp\ 4425}#
+                          ((#{f\ 4422}#
+                             (lambda (#{clause\ 4423}# #{clauses\ 4424}#)
+                               (if (null? #{clauses\ 4424}#)
+                                 (let ((#{tmp\ 4426}# #{clause\ 4423}#))
+                                   (let ((#{tmp\ 4427}#
                                            ($sc-dispatch
-                                             #{tmp\ 4424}#
+                                             #{tmp\ 4426}#
                                              '(#(free-id
                                                  #(syntax-object
                                                    else
@@ -16521,92 +16526,92 @@
                                                     #(ribcage
                                                       #(f clause clauses)
                                                       #((top) (top) (top))
-                                                      #("i4417"
-                                                        "i4418"
-                                                        "i4419"))
+                                                      #("i4419"
+                                                        "i4420"
+                                                        "i4421"))
                                                     #(ribcage
                                                       #(e m1 m2)
                                                       #((top) (top) (top))
-                                                      #("i4407"
-                                                        "i4408"
-                                                        "i4409"))
+                                                      #("i4409"
+                                                        "i4410"
+                                                        "i4411"))
                                                     #(ribcage () () ())
                                                     #(ribcage
                                                       #(x)
                                                       #((top))
-                                                      #("i4404")))
+                                                      #("i4406")))
                                                    (hygiene guile)))
                                                any
                                                .
                                                each-any))))
-                                     (if #{tmp\ 4425}#
+                                     (if #{tmp\ 4427}#
                                        (@apply
-                                         (lambda (#{e1\ 4428}# #{e2\ 4429}#)
+                                         (lambda (#{e1\ 4430}# #{e2\ 4431}#)
                                            (cons '#(syntax-object
                                                     begin
                                                     ((top)
                                                      #(ribcage
                                                        #(e1 e2)
                                                        #((top) (top))
-                                                       #("i4426" "i4427"))
+                                                       #("i4428" "i4429"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(f clause clauses)
                                                        #((top) (top) (top))
-                                                       #("i4417"
-                                                         "i4418"
-                                                         "i4419"))
+                                                       #("i4419"
+                                                         "i4420"
+                                                         "i4421"))
                                                      #(ribcage
                                                        #(e m1 m2)
                                                        #((top) (top) (top))
-                                                       #("i4407"
-                                                         "i4408"
-                                                         "i4409"))
+                                                       #("i4409"
+                                                         "i4410"
+                                                         "i4411"))
                                                      #(ribcage () () ())
                                                      #(ribcage
                                                        #(x)
                                                        #((top))
-                                                       #("i4404")))
+                                                       #("i4406")))
                                                     (hygiene guile))
-                                                 (cons #{e1\ 4428}#
-                                                       #{e2\ 4429}#)))
-                                         #{tmp\ 4425}#)
-                                       (let ((#{tmp\ 4431}#
+                                                 (cons #{e1\ 4430}#
+                                                       #{e2\ 4431}#)))
+                                         #{tmp\ 4427}#)
+                                       (let ((#{tmp\ 4433}#
                                                ($sc-dispatch
-                                                 #{tmp\ 4424}#
+                                                 #{tmp\ 4426}#
                                                  '(each-any any . each-any))))
-                                         (if #{tmp\ 4431}#
+                                         (if #{tmp\ 4433}#
                                            (@apply
-                                             (lambda (#{k\ 4435}#
-                                                      #{e1\ 4436}#
-                                                      #{e2\ 4437}#)
+                                             (lambda (#{k\ 4437}#
+                                                      #{e1\ 4438}#
+                                                      #{e2\ 4439}#)
                                                (list '#(syntax-object
                                                         if
                                                         ((top)
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i4432"
-                                                             "i4433"
-                                                             "i4434"))
+                                                           #("i4434"
+                                                             "i4435"
+                                                             "i4436"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i4417"
-                                                             "i4418"
-                                                             "i4419"))
+                                                           #("i4419"
+                                                             "i4420"
+                                                             "i4421"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i4407"
-                                                             "i4408"
-                                                             "i4409"))
+                                                           #("i4409"
+                                                             "i4410"
+                                                             "i4411"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4404")))
+                                                           #("i4406")))
                                                         (hygiene guile))
                                                      (list '#(syntax-object
                                                               memv
@@ -16616,9 +16621,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4432"
-                                                                   "i4433"
-                                                                   "i4434"))
+                                                                 #("i4434"
+                                                                   "i4435"
+                                                                   "i4436"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16630,17 +16635,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4417"
-                                                                   "i4418"
-                                                                   "i4419"))
+                                                                 #("i4419"
+                                                                   "i4420"
+                                                                   "i4421"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4407"
-                                                                   "i4408"
-                                                                   "i4409"))
+                                                                 #("i4409"
+                                                                   "i4410"
+                                                                   "i4411"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16648,7 +16653,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4404")))
+                                                                 #("i4406")))
                                                               (hygiene guile))
                                                            '#(syntax-object
                                                               t
@@ -16658,9 +16663,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4432"
-                                                                   "i4433"
-                                                                   "i4434"))
+                                                                 #("i4434"
+                                                                   "i4435"
+                                                                   "i4436"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16672,17 +16677,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4417"
-                                                                   "i4418"
-                                                                   "i4419"))
+                                                                 #("i4419"
+                                                                   "i4420"
+                                                                   "i4421"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4407"
-                                                                   "i4408"
-                                                                   "i4409"))
+                                                                 #("i4409"
+                                                                   "i4410"
+                                                                   "i4411"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16690,7 +16695,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4404")))
+                                                                 #("i4406")))
                                                               (hygiene guile))
                                                            (list 
'#(syntax-object
                                                                     quote
@@ -16702,9 +16707,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4432"
-                                                                         
"i4433"
-                                                                         
"i4434"))
+                                                                       
#("i4434"
+                                                                         
"i4435"
+                                                                         
"i4436"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -16716,9 +16721,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4417"
-                                                                         
"i4418"
-                                                                         
"i4419"))
+                                                                       
#("i4419"
+                                                                         
"i4420"
+                                                                         
"i4421"))
                                                                      #(ribcage
                                                                        #(e
                                                                          m1
@@ -16726,9 +16731,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4407"
-                                                                         
"i4408"
-                                                                         
"i4409"))
+                                                                       
#("i4409"
+                                                                         
"i4410"
+                                                                         
"i4411"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -16736,10 +16741,10 @@
                                                                      #(ribcage
                                                                        #(x)
                                                                        #((top))
-                                                                       
#("i4404")))
+                                                                       
#("i4406")))
                                                                     (hygiene
                                                                       guile))
-                                                                 #{k\ 4435}#))
+                                                                 #{k\ 4437}#))
                                                      (cons '#(syntax-object
                                                               begin
                                                               ((top)
@@ -16748,9 +16753,9 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4432"
-                                                                   "i4433"
-                                                                   "i4434"))
+                                                                 #("i4434"
+                                                                   "i4435"
+                                                                   "i4436"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16762,17 +16767,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4417"
-                                                                   "i4418"
-                                                                   "i4419"))
+                                                                 #("i4419"
+                                                                   "i4420"
+                                                                   "i4421"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4407"
-                                                                   "i4408"
-                                                                   "i4409"))
+                                                                 #("i4409"
+                                                                   "i4410"
+                                                                   "i4411"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16780,63 +16785,63 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4404")))
+                                                                 #("i4406")))
                                                               (hygiene guile))
-                                                           (cons #{e1\ 4436}#
-                                                                 #{e2\ 
4437}#))))
-                                             #{tmp\ 4431}#)
-                                           (let ((#{_\ 4441}# #{tmp\ 4424}#))
+                                                           (cons #{e1\ 4438}#
+                                                                 #{e2\ 
4439}#))))
+                                             #{tmp\ 4433}#)
+                                           (let ((#{_\ 4443}# #{tmp\ 4426}#))
                                              (syntax-violation
                                                'case
                                                "bad clause"
-                                               #{x\ 4403}#
-                                               #{clause\ 4421}#)))))))
-                                 (let ((#{tmp\ 4443}#
-                                         (#{f\ 4420}#
-                                           (car #{clauses\ 4422}#)
-                                           (cdr #{clauses\ 4422}#))))
-                                   (let ((#{rest\ 4445}# #{tmp\ 4443}#))
-                                     (let ((#{tmp\ 4446}# #{clause\ 4421}#))
-                                       (let ((#{tmp\ 4447}#
+                                               #{x\ 4405}#
+                                               #{clause\ 4423}#)))))))
+                                 (let ((#{tmp\ 4445}#
+                                         (#{f\ 4422}#
+                                           (car #{clauses\ 4424}#)
+                                           (cdr #{clauses\ 4424}#))))
+                                   (let ((#{rest\ 4447}# #{tmp\ 4445}#))
+                                     (let ((#{tmp\ 4448}# #{clause\ 4423}#))
+                                       (let ((#{tmp\ 4449}#
                                                ($sc-dispatch
-                                                 #{tmp\ 4446}#
+                                                 #{tmp\ 4448}#
                                                  '(each-any any . each-any))))
-                                         (if #{tmp\ 4447}#
+                                         (if #{tmp\ 4449}#
                                            (@apply
-                                             (lambda (#{k\ 4451}#
-                                                      #{e1\ 4452}#
-                                                      #{e2\ 4453}#)
+                                             (lambda (#{k\ 4453}#
+                                                      #{e1\ 4454}#
+                                                      #{e2\ 4455}#)
                                                (list '#(syntax-object
                                                         if
                                                         ((top)
                                                          #(ribcage
                                                            #(k e1 e2)
                                                            #((top) (top) (top))
-                                                           #("i4448"
-                                                             "i4449"
-                                                             "i4450"))
+                                                           #("i4450"
+                                                             "i4451"
+                                                             "i4452"))
                                                          #(ribcage
                                                            #(rest)
                                                            #((top))
-                                                           #("i4444"))
+                                                           #("i4446"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(f clause clauses)
                                                            #((top) (top) (top))
-                                                           #("i4417"
-                                                             "i4418"
-                                                             "i4419"))
+                                                           #("i4419"
+                                                             "i4420"
+                                                             "i4421"))
                                                          #(ribcage
                                                            #(e m1 m2)
                                                            #((top) (top) (top))
-                                                           #("i4407"
-                                                             "i4408"
-                                                             "i4409"))
+                                                           #("i4409"
+                                                             "i4410"
+                                                             "i4411"))
                                                          #(ribcage () () ())
                                                          #(ribcage
                                                            #(x)
                                                            #((top))
-                                                           #("i4404")))
+                                                           #("i4406")))
                                                         (hygiene guile))
                                                      (list '#(syntax-object
                                                               memv
@@ -16846,13 +16851,13 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4448"
-                                                                   "i4449"
-                                                                   "i4450"))
+                                                                 #("i4450"
+                                                                   "i4451"
+                                                                   "i4452"))
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i4444"))
+                                                                 #("i4446"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16864,17 +16869,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4417"
-                                                                   "i4418"
-                                                                   "i4419"))
+                                                                 #("i4419"
+                                                                   "i4420"
+                                                                   "i4421"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4407"
-                                                                   "i4408"
-                                                                   "i4409"))
+                                                                 #("i4409"
+                                                                   "i4410"
+                                                                   "i4411"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16882,7 +16887,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4404")))
+                                                                 #("i4406")))
                                                               (hygiene guile))
                                                            '#(syntax-object
                                                               t
@@ -16892,13 +16897,13 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4448"
-                                                                   "i4449"
-                                                                   "i4450"))
+                                                                 #("i4450"
+                                                                   "i4451"
+                                                                   "i4452"))
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i4444"))
+                                                                 #("i4446"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16910,17 +16915,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4417"
-                                                                   "i4418"
-                                                                   "i4419"))
+                                                                 #("i4419"
+                                                                   "i4420"
+                                                                   "i4421"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4407"
-                                                                   "i4408"
-                                                                   "i4409"))
+                                                                 #("i4409"
+                                                                   "i4410"
+                                                                   "i4411"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -16928,7 +16933,7 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4404")))
+                                                                 #("i4406")))
                                                               (hygiene guile))
                                                            (list 
'#(syntax-object
                                                                     quote
@@ -16940,13 +16945,13 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4448"
-                                                                         
"i4449"
-                                                                         
"i4450"))
+                                                                       
#("i4450"
+                                                                         
"i4451"
+                                                                         
"i4452"))
                                                                      #(ribcage
                                                                        #(rest)
                                                                        #((top))
-                                                                       
#("i4444"))
+                                                                       
#("i4446"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -16958,9 +16963,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4417"
-                                                                         
"i4418"
-                                                                         
"i4419"))
+                                                                       
#("i4419"
+                                                                         
"i4420"
+                                                                         
"i4421"))
                                                                      #(ribcage
                                                                        #(e
                                                                          m1
@@ -16968,9 +16973,9 @@
                                                                        #((top)
                                                                          (top)
                                                                          (top))
-                                                                       
#("i4407"
-                                                                         
"i4408"
-                                                                         
"i4409"))
+                                                                       
#("i4409"
+                                                                         
"i4410"
+                                                                         
"i4411"))
                                                                      #(ribcage
                                                                        ()
                                                                        ()
@@ -16978,10 +16983,10 @@
                                                                      #(ribcage
                                                                        #(x)
                                                                        #((top))
-                                                                       
#("i4404")))
+                                                                       
#("i4406")))
                                                                     (hygiene
                                                                       guile))
-                                                                 #{k\ 4451}#))
+                                                                 #{k\ 4453}#))
                                                      (cons '#(syntax-object
                                                               begin
                                                               ((top)
@@ -16990,13 +16995,13 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4448"
-                                                                   "i4449"
-                                                                   "i4450"))
+                                                                 #("i4450"
+                                                                   "i4451"
+                                                                   "i4452"))
                                                                #(ribcage
                                                                  #(rest)
                                                                  #((top))
-                                                                 #("i4444"))
+                                                                 #("i4446"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17008,17 +17013,17 @@
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4417"
-                                                                   "i4418"
-                                                                   "i4419"))
+                                                                 #("i4419"
+                                                                   "i4420"
+                                                                   "i4421"))
                                                                #(ribcage
                                                                  #(e m1 m2)
                                                                  #((top)
                                                                    (top)
                                                                    (top))
-                                                                 #("i4407"
-                                                                   "i4408"
-                                                                   "i4409"))
+                                                                 #("i4409"
+                                                                   "i4410"
+                                                                   "i4411"))
                                                                #(ribcage
                                                                  ()
                                                                  ()
@@ -17026,30 +17031,30 @@
                                                                #(ribcage
                                                                  #(x)
                                                                  #((top))
-                                                                 #("i4404")))
+                                                                 #("i4406")))
                                                               (hygiene guile))
-                                                           (cons #{e1\ 4452}#
-                                                                 #{e2\ 4453}#))
-                                                     #{rest\ 4445}#))
-                                             #{tmp\ 4447}#)
-                                           (let ((#{_\ 4457}# #{tmp\ 4446}#))
+                                                           (cons #{e1\ 4454}#
+                                                                 #{e2\ 4455}#))
+                                                     #{rest\ 4447}#))
+                                             #{tmp\ 4449}#)
+                                           (let ((#{_\ 4459}# #{tmp\ 4448}#))
                                              (syntax-violation
                                                'case
                                                "bad clause"
-                                               #{x\ 4403}#
-                                               #{clause\ 4421}#)))))))))))
-                          (begin (#{f\ 4420}# #{m1\ 4411}# #{m2\ 4412}#)))))
-                  (let ((#{body\ 4416}# #{tmp\ 4414}#))
+                                               #{x\ 4405}#
+                                               #{clause\ 4423}#)))))))))))
+                          (begin (#{f\ 4422}# #{m1\ 4413}# #{m2\ 4414}#)))))
+                  (let ((#{body\ 4418}# #{tmp\ 4416}#))
                     (list '#(syntax-object
                              let
                              ((top)
-                              #(ribcage #(body) #((top)) #("i4415"))
+                              #(ribcage #(body) #((top)) #("i4417"))
                               #(ribcage
                                 #(e m1 m2)
                                 #((top) (top) (top))
-                                #("i4407" "i4408" "i4409"))
+                                #("i4409" "i4410" "i4411"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4404")))
+                              #(ribcage #(x) #((top)) #("i4406")))
                              (hygiene guile))
                           (list (list '#(syntax-object
                                          t
@@ -17057,177 +17062,177 @@
                                           #(ribcage
                                             #(body)
                                             #((top))
-                                            #("i4415"))
+                                            #("i4417"))
                                           #(ribcage
                                             #(e m1 m2)
                                             #((top) (top) (top))
-                                            #("i4407" "i4408" "i4409"))
+                                            #("i4409" "i4410" "i4411"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4404")))
+                                          #(ribcage #(x) #((top)) #("i4406")))
                                          (hygiene guile))
-                                      #{e\ 4410}#))
-                          #{body\ 4416}#))))
-              #{tmp\ 4406}#)
+                                      #{e\ 4412}#))
+                          #{body\ 4418}#))))
+              #{tmp\ 4408}#)
             (syntax-violation
               #f
               "source expression failed to match any pattern"
-              #{tmp\ 4405}#)))))))
+              #{tmp\ 4407}#)))))))
 
 (define make-variable-transformer
-  (lambda (#{proc\ 4458}#)
-    (if (procedure? #{proc\ 4458}#)
+  (lambda (#{proc\ 4460}#)
+    (if (procedure? #{proc\ 4460}#)
       (begin
         (letrec*
-          ((#{trans\ 4461}#
-             (lambda (#{x\ 4462}#)
-               (#{proc\ 4458}# #{x\ 4462}#))))
+          ((#{trans\ 4463}#
+             (lambda (#{x\ 4464}#)
+               (#{proc\ 4460}# #{x\ 4464}#))))
           (begin
             (set-procedure-property!
-              #{trans\ 4461}#
+              #{trans\ 4463}#
               'variable-transformer
               #t)
-            #{trans\ 4461}#)))
+            #{trans\ 4463}#)))
       (error "variable transformer not a procedure"
-             #{proc\ 4458}#))))
+             #{proc\ 4460}#))))
 
 (define identifier-syntax
   (make-syntax-transformer
     'identifier-syntax
     'macro
-    (lambda (#{x\ 4464}#)
-      (let ((#{tmp\ 4466}# #{x\ 4464}#))
-        (let ((#{tmp\ 4467}#
-                ($sc-dispatch #{tmp\ 4466}# (quote (_ any)))))
-          (if #{tmp\ 4467}#
+    (lambda (#{x\ 4466}#)
+      (let ((#{tmp\ 4468}# #{x\ 4466}#))
+        (let ((#{tmp\ 4469}#
+                ($sc-dispatch #{tmp\ 4468}# (quote (_ any)))))
+          (if #{tmp\ 4469}#
             (@apply
-              (lambda (#{e\ 4469}#)
+              (lambda (#{e\ 4471}#)
                 (list '#(syntax-object
                          lambda
                          ((top)
-                          #(ribcage #(e) #((top)) #("i4468"))
+                          #(ribcage #(e) #((top)) #("i4470"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4465")))
+                          #(ribcage #(x) #((top)) #("i4467")))
                          (hygiene guile))
                       '(#(syntax-object
                           x
                           ((top)
-                           #(ribcage #(e) #((top)) #("i4468"))
+                           #(ribcage #(e) #((top)) #("i4470"))
                            #(ribcage () () ())
-                           #(ribcage #(x) #((top)) #("i4465")))
+                           #(ribcage #(x) #((top)) #("i4467")))
                           (hygiene guile)))
                       '#((#(syntax-object
                             macro-type
                             ((top)
-                             #(ribcage #(e) #((top)) #("i4468"))
+                             #(ribcage #(e) #((top)) #("i4470"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4465")))
+                             #(ribcage #(x) #((top)) #("i4467")))
                             (hygiene guile))
                           .
                           #(syntax-object
                             identifier-syntax
                             ((top)
-                             #(ribcage #(e) #((top)) #("i4468"))
+                             #(ribcage #(e) #((top)) #("i4470"))
                              #(ribcage () () ())
-                             #(ribcage #(x) #((top)) #("i4465")))
+                             #(ribcage #(x) #((top)) #("i4467")))
                             (hygiene guile))))
                       (list '#(syntax-object
                                syntax-case
                                ((top)
-                                #(ribcage #(e) #((top)) #("i4468"))
+                                #(ribcage #(e) #((top)) #("i4470"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4465")))
+                                #(ribcage #(x) #((top)) #("i4467")))
                                (hygiene guile))
                             '#(syntax-object
                                x
                                ((top)
-                                #(ribcage #(e) #((top)) #("i4468"))
+                                #(ribcage #(e) #((top)) #("i4470"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4465")))
+                                #(ribcage #(x) #((top)) #("i4467")))
                                (hygiene guile))
                             '()
                             (list '#(syntax-object
                                      id
                                      ((top)
-                                      #(ribcage #(e) #((top)) #("i4468"))
+                                      #(ribcage #(e) #((top)) #("i4470"))
                                       #(ribcage () () ())
-                                      #(ribcage #(x) #((top)) #("i4465")))
+                                      #(ribcage #(x) #((top)) #("i4467")))
                                      (hygiene guile))
                                   '(#(syntax-object
                                       identifier?
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4468"))
+                                       #(ribcage #(e) #((top)) #("i4470"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4465")))
+                                       #(ribcage #(x) #((top)) #("i4467")))
                                       (hygiene guile))
                                     (#(syntax-object
                                        syntax
                                        ((top)
-                                        #(ribcage #(e) #((top)) #("i4468"))
+                                        #(ribcage #(e) #((top)) #("i4470"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4465")))
+                                        #(ribcage #(x) #((top)) #("i4467")))
                                        (hygiene guile))
                                      #(syntax-object
                                        id
                                        ((top)
-                                        #(ribcage #(e) #((top)) #("i4468"))
+                                        #(ribcage #(e) #((top)) #("i4470"))
                                         #(ribcage () () ())
-                                        #(ribcage #(x) #((top)) #("i4465")))
+                                        #(ribcage #(x) #((top)) #("i4467")))
                                        (hygiene guile))))
                                   (list '#(syntax-object
                                            syntax
                                            ((top)
-                                            #(ribcage #(e) #((top)) #("i4468"))
+                                            #(ribcage #(e) #((top)) #("i4470"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4465")))
+                                              #("i4467")))
                                            (hygiene guile))
-                                        #{e\ 4469}#))
+                                        #{e\ 4471}#))
                             (list '(#(syntax-object
                                       _
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4468"))
+                                       #(ribcage #(e) #((top)) #("i4470"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4465")))
+                                       #(ribcage #(x) #((top)) #("i4467")))
                                       (hygiene guile))
                                     #(syntax-object
                                       x
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4468"))
+                                       #(ribcage #(e) #((top)) #("i4470"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4465")))
+                                       #(ribcage #(x) #((top)) #("i4467")))
                                       (hygiene guile))
                                     #(syntax-object
                                       ...
                                       ((top)
-                                       #(ribcage #(e) #((top)) #("i4468"))
+                                       #(ribcage #(e) #((top)) #("i4470"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4465")))
+                                       #(ribcage #(x) #((top)) #("i4467")))
                                       (hygiene guile)))
                                   (list '#(syntax-object
                                            syntax
                                            ((top)
-                                            #(ribcage #(e) #((top)) #("i4468"))
+                                            #(ribcage #(e) #((top)) #("i4470"))
                                             #(ribcage () () ())
                                             #(ribcage
                                               #(x)
                                               #((top))
-                                              #("i4465")))
+                                              #("i4467")))
                                            (hygiene guile))
-                                        (cons #{e\ 4469}#
+                                        (cons #{e\ 4471}#
                                               '(#(syntax-object
                                                   x
                                                   ((top)
                                                    #(ribcage
                                                      #(e)
                                                      #((top))
-                                                     #("i4468"))
+                                                     #("i4470"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i4465")))
+                                                     #("i4467")))
                                                   (hygiene guile))
                                                 #(syntax-object
                                                   ...
@@ -17235,55 +17240,55 @@
                                                    #(ribcage
                                                      #(e)
                                                      #((top))
-                                                     #("i4468"))
+                                                     #("i4470"))
                                                    #(ribcage () () ())
                                                    #(ribcage
                                                      #(x)
                                                      #((top))
-                                                     #("i4465")))
+                                                     #("i4467")))
                                                   (hygiene guile)))))))))
-              #{tmp\ 4467}#)
-            (let ((#{tmp\ 4470}#
+              #{tmp\ 4469}#)
+            (let ((#{tmp\ 4472}#
                     ($sc-dispatch
-                      #{tmp\ 4466}#
+                      #{tmp\ 4468}#
                       '(_ (any any)
                           ((#(free-id
                               #(syntax-object
                                 set!
                                 ((top)
                                  #(ribcage () () ())
-                                 #(ribcage #(x) #((top)) #("i4465")))
+                                 #(ribcage #(x) #((top)) #("i4467")))
                                 (hygiene guile)))
                             any
                             any)
                            any)))))
-              (if (if #{tmp\ 4470}#
+              (if (if #{tmp\ 4472}#
                     (@apply
-                      (lambda (#{id\ 4476}#
-                               #{exp1\ 4477}#
-                               #{var\ 4478}#
-                               #{val\ 4479}#
-                               #{exp2\ 4480}#)
-                        (if (identifier? #{id\ 4476}#)
-                          (identifier? #{var\ 4478}#)
+                      (lambda (#{id\ 4478}#
+                               #{exp1\ 4479}#
+                               #{var\ 4480}#
+                               #{val\ 4481}#
+                               #{exp2\ 4482}#)
+                        (if (identifier? #{id\ 4478}#)
+                          (identifier? #{var\ 4480}#)
                           #f))
-                      #{tmp\ 4470}#)
+                      #{tmp\ 4472}#)
                     #f)
                 (@apply
-                  (lambda (#{id\ 4488}#
-                           #{exp1\ 4489}#
-                           #{var\ 4490}#
-                           #{val\ 4491}#
-                           #{exp2\ 4492}#)
+                  (lambda (#{id\ 4490}#
+                           #{exp1\ 4491}#
+                           #{var\ 4492}#
+                           #{val\ 4493}#
+                           #{exp2\ 4494}#)
                     (list '#(syntax-object
                              make-variable-transformer
                              ((top)
                               #(ribcage
                                 #(id exp1 var val exp2)
                                 #((top) (top) (top) (top) (top))
-                                #("i4483" "i4484" "i4485" "i4486" "i4487"))
+                                #("i4485" "i4486" "i4487" "i4488" "i4489"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4465")))
+                              #(ribcage #(x) #((top)) #("i4467")))
                              (hygiene guile))
                           (list '#(syntax-object
                                    lambda
@@ -17291,13 +17296,13 @@
                                     #(ribcage
                                       #(id exp1 var val exp2)
                                       #((top) (top) (top) (top) (top))
-                                      #("i4483"
-                                        "i4484"
-                                        "i4485"
+                                      #("i4485"
                                         "i4486"
-                                        "i4487"))
+                                        "i4487"
+                                        "i4488"
+                                        "i4489"))
                                     #(ribcage () () ())
-                                    #(ribcage #(x) #((top)) #("i4465")))
+                                    #(ribcage #(x) #((top)) #("i4467")))
                                    (hygiene guile))
                                 '(#(syntax-object
                                     x
@@ -17305,13 +17310,13 @@
                                      #(ribcage
                                        #(id exp1 var val exp2)
                                        #((top) (top) (top) (top) (top))
-                                       #("i4483"
-                                         "i4484"
-                                         "i4485"
+                                       #("i4485"
                                          "i4486"
-                                         "i4487"))
+                                         "i4487"
+                                         "i4488"
+                                         "i4489"))
                                      #(ribcage () () ())
-                                     #(ribcage #(x) #((top)) #("i4465")))
+                                     #(ribcage #(x) #((top)) #("i4467")))
                                     (hygiene guile)))
                                 '#((#(syntax-object
                                       macro-type
@@ -17319,13 +17324,13 @@
                                        #(ribcage
                                          #(id exp1 var val exp2)
                                          #((top) (top) (top) (top) (top))
-                                         #("i4483"
-                                           "i4484"
-                                           "i4485"
+                                         #("i4485"
                                            "i4486"
-                                           "i4487"))
+                                           "i4487"
+                                           "i4488"
+                                           "i4489"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4465")))
+                                       #(ribcage #(x) #((top)) #("i4467")))
                                       (hygiene guile))
                                     .
                                     #(syntax-object
@@ -17334,13 +17339,13 @@
                                        #(ribcage
                                          #(id exp1 var val exp2)
                                          #((top) (top) (top) (top) (top))
-                                         #("i4483"
-                                           "i4484"
-                                           "i4485"
+                                         #("i4485"
                                            "i4486"
-                                           "i4487"))
+                                           "i4487"
+                                           "i4488"
+                                           "i4489"))
                                        #(ribcage () () ())
-                                       #(ribcage #(x) #((top)) #("i4465")))
+                                       #(ribcage #(x) #((top)) #("i4467")))
                                       (hygiene guile))))
                                 (list '#(syntax-object
                                          syntax-case
@@ -17348,13 +17353,13 @@
                                           #(ribcage
                                             #(id exp1 var val exp2)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4483"
-                                              "i4484"
-                                              "i4485"
+                                            #("i4485"
                                               "i4486"
-                                              "i4487"))
+                                              "i4487"
+                                              "i4488"
+                                              "i4489"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4465")))
+                                          #(ribcage #(x) #((top)) #("i4467")))
                                          (hygiene guile))
                                       '#(syntax-object
                                          x
@@ -17362,13 +17367,13 @@
                                           #(ribcage
                                             #(id exp1 var val exp2)
                                             #((top) (top) (top) (top) (top))
-                                            #("i4483"
-                                              "i4484"
-                                              "i4485"
+                                            #("i4485"
                                               "i4486"
-                                              "i4487"))
+                                              "i4487"
+                                              "i4488"
+                                              "i4489"))
                                           #(ribcage () () ())
-                                          #(ribcage #(x) #((top)) #("i4465")))
+                                          #(ribcage #(x) #((top)) #("i4467")))
                                          (hygiene guile))
                                       '(#(syntax-object
                                           set!
@@ -17376,13 +17381,13 @@
                                            #(ribcage
                                              #(id exp1 var val exp2)
                                              #((top) (top) (top) (top) (top))
-                                             #("i4483"
-                                               "i4484"
-                                               "i4485"
+                                             #("i4485"
                                                "i4486"
-                                               "i4487"))
+                                               "i4487"
+                                               "i4488"
+                                               "i4489"))
                                            #(ribcage () () ())
-                                           #(ribcage #(x) #((top)) #("i4465")))
+                                           #(ribcage #(x) #((top)) #("i4467")))
                                           (hygiene guile)))
                                       (list (list '#(syntax-object
                                                      set!
@@ -17394,19 +17399,19 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4483"
-                                                          "i4484"
-                                                          "i4485"
+                                                        #("i4485"
                                                           "i4486"
-                                                          "i4487"))
+                                                          "i4487"
+                                                          "i4488"
+                                                          "i4489"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4465")))
+                                                        #("i4467")))
                                                      (hygiene guile))
-                                                  #{var\ 4490}#
-                                                  #{val\ 4491}#)
+                                                  #{var\ 4492}#
+                                                  #{val\ 4493}#)
                                             (list '#(syntax-object
                                                      syntax
                                                      ((top)
@@ -17417,19 +17422,19 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4483"
-                                                          "i4484"
-                                                          "i4485"
+                                                        #("i4485"
                                                           "i4486"
-                                                          "i4487"))
+                                                          "i4487"
+                                                          "i4488"
+                                                          "i4489"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4465")))
+                                                        #("i4467")))
                                                      (hygiene guile))
-                                                  #{exp2\ 4492}#))
-                                      (list (cons #{id\ 4488}#
+                                                  #{exp2\ 4494}#))
+                                      (list (cons #{id\ 4490}#
                                                   '(#(syntax-object
                                                       x
                                                       ((top)
@@ -17444,16 +17449,16 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4483"
-                                                           "i4484"
-                                                           "i4485"
+                                                         #("i4485"
                                                            "i4486"
-                                                           "i4487"))
+                                                           "i4487"
+                                                           "i4488"
+                                                           "i4489"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4465")))
+                                                         #("i4467")))
                                                       (hygiene guile))
                                                     #(syntax-object
                                                       ...
@@ -17469,16 +17474,16 @@
                                                            (top)
                                                            (top)
                                                            (top))
-                                                         #("i4483"
-                                                           "i4484"
-                                                           "i4485"
+                                                         #("i4485"
                                                            "i4486"
-                                                           "i4487"))
+                                                           "i4487"
+                                                           "i4488"
+                                                           "i4489"))
                                                        #(ribcage () () ())
                                                        #(ribcage
                                                          #(x)
                                                          #((top))
-                                                         #("i4465")))
+                                                         #("i4467")))
                                                       (hygiene guile))))
                                             (list '#(syntax-object
                                                      syntax
@@ -17490,18 +17495,18 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4483"
-                                                          "i4484"
-                                                          "i4485"
+                                                        #("i4485"
                                                           "i4486"
-                                                          "i4487"))
+                                                          "i4487"
+                                                          "i4488"
+                                                          "i4489"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4465")))
+                                                        #("i4467")))
                                                      (hygiene guile))
-                                                  (cons #{exp1\ 4489}#
+                                                  (cons #{exp1\ 4491}#
                                                         '(#(syntax-object
                                                             x
                                                             ((top)
@@ -17516,11 +17521,11 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4483"
-                                                                 "i4484"
-                                                                 "i4485"
+                                                               #("i4485"
                                                                  "i4486"
-                                                                 "i4487"))
+                                                                 "i4487"
+                                                                 "i4488"
+                                                                 "i4489"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -17528,7 +17533,7 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i4465")))
+                                                               #("i4467")))
                                                             (hygiene guile))
                                                           #(syntax-object
                                                             ...
@@ -17544,11 +17549,11 @@
                                                                  (top)
                                                                  (top)
                                                                  (top))
-                                                               #("i4483"
-                                                                 "i4484"
-                                                                 "i4485"
+                                                               #("i4485"
                                                                  "i4486"
-                                                                 "i4487"))
+                                                                 "i4487"
+                                                                 "i4488"
+                                                                 "i4489"))
                                                              #(ribcage
                                                                ()
                                                                ()
@@ -17556,10 +17561,10 @@
                                                              #(ribcage
                                                                #(x)
                                                                #((top))
-                                                               #("i4465")))
+                                                               #("i4467")))
                                                             (hygiene
                                                               guile))))))
-                                      (list #{id\ 4488}#
+                                      (list #{id\ 4490}#
                                             (list '#(syntax-object
                                                      identifier?
                                                      ((top)
@@ -17570,16 +17575,16 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4483"
-                                                          "i4484"
-                                                          "i4485"
+                                                        #("i4485"
                                                           "i4486"
-                                                          "i4487"))
+                                                          "i4487"
+                                                          "i4488"
+                                                          "i4489"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4465")))
+                                                        #("i4467")))
                                                      (hygiene guile))
                                                   (list '#(syntax-object
                                                            syntax
@@ -17595,18 +17600,18 @@
                                                                 (top)
                                                                 (top)
                                                                 (top))
-                                                              #("i4483"
-                                                                "i4484"
-                                                                "i4485"
+                                                              #("i4485"
                                                                 "i4486"
-                                                                "i4487"))
+                                                                "i4487"
+                                                                "i4488"
+                                                                "i4489"))
                                                             #(ribcage () () ())
                                                             #(ribcage
                                                               #(x)
                                                               #((top))
-                                                              #("i4465")))
+                                                              #("i4467")))
                                                            (hygiene guile))
-                                                        #{id\ 4488}#))
+                                                        #{id\ 4490}#))
                                             (list '#(syntax-object
                                                      syntax
                                                      ((top)
@@ -17617,69 +17622,69 @@
                                                           (top)
                                                           (top)
                                                           (top))
-                                                        #("i4483"
-                                                          "i4484"
-                                                          "i4485"
+                                                        #("i4485"
                                                           "i4486"
-                                                          "i4487"))
+                                                          "i4487"
+                                                          "i4488"
+                                                          "i4489"))
                                                       #(ribcage () () ())
                                                       #(ribcage
                                                         #(x)
                                                         #((top))
-                                                        #("i4465")))
+                                                        #("i4467")))
                                                      (hygiene guile))
-                                                  #{exp1\ 4489}#))))))
-                  #{tmp\ 4470}#)
+                                                  #{exp1\ 4491}#))))))
+                  #{tmp\ 4472}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp\ 4466}#)))))))))
+                  #{tmp\ 4468}#)))))))))
 
 (define define*
   (make-syntax-transformer
     'define*
     'macro
-    (lambda (#{x\ 4493}#)
-      (let ((#{tmp\ 4495}# #{x\ 4493}#))
-        (let ((#{tmp\ 4496}#
+    (lambda (#{x\ 4495}#)
+      (let ((#{tmp\ 4497}# #{x\ 4495}#))
+        (let ((#{tmp\ 4498}#
                 ($sc-dispatch
-                  #{tmp\ 4495}#
+                  #{tmp\ 4497}#
                   '(_ (any . any) any . each-any))))
-          (if #{tmp\ 4496}#
+          (if #{tmp\ 4498}#
             (@apply
-              (lambda (#{id\ 4501}#
-                       #{args\ 4502}#
-                       #{b0\ 4503}#
-                       #{b1\ 4504}#)
+              (lambda (#{id\ 4503}#
+                       #{args\ 4504}#
+                       #{b0\ 4505}#
+                       #{b1\ 4506}#)
                 (list '#(syntax-object
                          define
                          ((top)
                           #(ribcage
                             #(id args b0 b1)
                             #((top) (top) (top) (top))
-                            #("i4497" "i4498" "i4499" "i4500"))
+                            #("i4499" "i4500" "i4501" "i4502"))
                           #(ribcage () () ())
-                          #(ribcage #(x) #((top)) #("i4494")))
+                          #(ribcage #(x) #((top)) #("i4496")))
                          (hygiene guile))
-                      #{id\ 4501}#
+                      #{id\ 4503}#
                       (cons '#(syntax-object
                                lambda*
                                ((top)
                                 #(ribcage
                                   #(id args b0 b1)
                                   #((top) (top) (top) (top))
-                                  #("i4497" "i4498" "i4499" "i4500"))
+                                  #("i4499" "i4500" "i4501" "i4502"))
                                 #(ribcage () () ())
-                                #(ribcage #(x) #((top)) #("i4494")))
+                                #(ribcage #(x) #((top)) #("i4496")))
                                (hygiene guile))
-                            (cons #{args\ 4502}#
-                                  (cons #{b0\ 4503}# #{b1\ 4504}#)))))
-              #{tmp\ 4496}#)
-            (let ((#{tmp\ 4506}#
-                    ($sc-dispatch #{tmp\ 4495}# (quote (_ any any)))))
-              (if (if #{tmp\ 4506}#
+                            (cons #{args\ 4504}#
+                                  (cons #{b0\ 4505}# #{b1\ 4506}#)))))
+              #{tmp\ 4498}#)
+            (let ((#{tmp\ 4508}#
+                    ($sc-dispatch #{tmp\ 4497}# (quote (_ any any)))))
+              (if (if #{tmp\ 4508}#
                     (@apply
-                      (lambda (#{id\ 4509}# #{val\ 4510}#)
+                      (lambda (#{id\ 4511}# #{val\ 4512}#)
                         (identifier?
                           '#(syntax-object
                              x
@@ -17687,29 +17692,29 @@
                               #(ribcage
                                 #(id val)
                                 #((top) (top))
-                                #("i4507" "i4508"))
+                                #("i4509" "i4510"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4494")))
+                              #(ribcage #(x) #((top)) #("i4496")))
                              (hygiene guile))))
-                      #{tmp\ 4506}#)
+                      #{tmp\ 4508}#)
                     #f)
                 (@apply
-                  (lambda (#{id\ 4513}# #{val\ 4514}#)
+                  (lambda (#{id\ 4515}# #{val\ 4516}#)
                     (list '#(syntax-object
                              define
                              ((top)
                               #(ribcage
                                 #(id val)
                                 #((top) (top))
-                                #("i4511" "i4512"))
+                                #("i4513" "i4514"))
                               #(ribcage () () ())
-                              #(ribcage #(x) #((top)) #("i4494")))
+                              #(ribcage #(x) #((top)) #("i4496")))
                              (hygiene guile))
-                          #{id\ 4513}#
-                          #{val\ 4514}#))
-                  #{tmp\ 4506}#)
+                          #{id\ 4515}#
+                          #{val\ 4516}#))
+                  #{tmp\ 4508}#)
                 (syntax-violation
                   #f
                   "source expression failed to match any pattern"
-                  #{tmp\ 4495}#)))))))))
+                  #{tmp\ 4497}#)))))))))
 
diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm
index b48287d..0d0025f 100644
--- a/module/ice-9/psyntax.scm
+++ b/module/ice-9/psyntax.scm
@@ -656,10 +656,10 @@
                 (macros-only-env (cdr r)))))))
 
   (define lookup
-                                        ; x may be a label or a symbol
-                                        ; although symbols are usually global, 
we check the environment first
-                                        ; anyway because a temporary binding 
may have been established by
-                                        ; fluid-let-syntax
+    ;; x may be a label or a symbol
+    ;; although symbols are usually global, we check the environment first
+    ;; anyway because a temporary binding may have been established by
+    ;; fluid-let-syntax
     (lambda (x r mod)
       (cond
        ((assq x r) => cdr)
@@ -1197,6 +1197,7 @@
                   (chi-void)))))
             ((define-form)
              (let* ((n (id-var-name value w))
+                    ;; Lookup the name in the module of the define form.
                     (type (binding-type (lookup n r mod))))
                (case type
                  ((global core macro module-ref)
@@ -1847,6 +1848,8 @@
                      (lambda (src e r maps ellipsis? mod)
                        (if (id? e)
                            (let ((label (id-var-name e empty-wrap)))
+                             ;; Mod does not matter, we are looking to see if
+                             ;; the id is lexical syntax.
                              (let ((b (lookup label r mod)))
                                (if (eq? (binding-type b) 'syntax)
                                    (call-with-values
@@ -2139,8 +2142,12 @@
                    (syntax-case e ()
                      ((_ id val)
                       (id? #'id)
-                      (let ((n (id-var-name #'id w)))
-                        (let ((b (lookup n r mod)))
+                      (let ((n (id-var-name #'id w))
+                            ;; Lookup id in its module
+                            (id-mod (if (syntax-object? #'id)
+                                        (syntax-object-module #'id)
+                                        mod)))
+                        (let ((b (lookup n r id-mod)))
                           (case (binding-type b)
                             ((lexical)
                              (build-lexical-assignment s
@@ -2148,14 +2155,16 @@
                                                        (binding-value b)
                                                        (chi #'val r w mod)))
                             ((global)
-                             (build-global-assignment s n (chi #'val r w mod) 
mod))
+                             (build-global-assignment s n (chi #'val r w mod) 
id-mod))
                             ((macro)
                              (let ((p (binding-value b)))
                                (if (procedure-property p 'variable-transformer)
-                                   (chi (chi-macro p e r w s #f mod) r w mod)
+                                   ;; As syntax-type does, call chi-macro with
+                                   ;; the mod of the expression. Hmm.
+                                   (chi (chi-macro p e r w s #f mod) r 
empty-wrap mod)
                                    (syntax-violation 'set! "not a variable 
transformer"
                                                      (wrap e w mod)
-                                                     (wrap #'id w mod)))))
+                                                     (wrap #'id w id-mod)))))
                             ((displaced-lexical)
                              (syntax-violation 'set! "identifier out of 
context"
                                                (wrap #'id w mod)))
@@ -2172,8 +2181,8 @@
                                  (lambda (e r w s* mod)
                                    (syntax-case e ()
                                      (e (id? #'e)
-                                      (build-global-assignment s 
(syntax->datum #'e)
-                                                               val mod)))))))
+                                        (build-global-assignment s 
(syntax->datum #'e)
+                                                                 val mod)))))))
                             (else
                              (build-application s
                                                 (chi #'(setter head) r w mod)
diff --git a/module/ice-9/regex.scm b/module/ice-9/regex.scm
index 2327bfe..f7b94b7 100644
--- a/module/ice-9/regex.scm
+++ b/module/ice-9/regex.scm
@@ -1,4 +1,4 @@
-;;;;   Copyright (C) 1997, 1999, 2001, 2004, 2005, 2006, 2008 Free Software 
Foundation, Inc.
+;;;;    Copyright (C) 1997, 1999, 2001, 2004, 2005, 2006, 2008, 2010 Free 
Software Foundation, Inc.
 ;;;;
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -38,10 +38,10 @@
 ;;;; POSIX regex support functions.
 
 (define-module (ice-9 regex)
-  :export (match:count match:string match:prefix match:suffix
-          regexp-match? regexp-quote match:start match:end match:substring
-          string-match regexp-substitute fold-matches list-matches
-          regexp-substitute/global))
+  #:export (match:count match:string match:prefix match:suffix
+           regexp-match? regexp-quote match:start match:end match:substring
+           string-match regexp-substitute fold-matches list-matches
+           regexp-substitute/global))
 
 ;; References:
 ;;
@@ -76,12 +76,12 @@
   (and (vector? match)
        (string? (vector-ref match 0))
        (let loop ((i 1))
-        (cond ((>= i (vector-length match)) #t)
-              ((and (pair? (vector-ref match i))
-                    (integer? (car (vector-ref match i)))
-                    (integer? (cdr (vector-ref match i))))
-               (loop (+ 1 i)))
-              (else #f)))))
+         (cond ((>= i (vector-length match)) #t)
+               ((and (pair? (vector-ref match i))
+                     (integer? (car (vector-ref match i)))
+                     (integer? (cdr (vector-ref match i))))
+                (loop (+ 1 i)))
+               (else #f)))))
 
 ;; * . \ ^ $ and [ are special in both regexp/basic and regexp/extended and
 ;; can be backslash escaped.
@@ -102,43 +102,34 @@
   (call-with-output-string
    (lambda (p)
      (string-for-each (lambda (c)
-                       (case c
-                         ((#\* #\. #\\ #\^ #\$ #\[)
-                          (write-char #\\ p)
-                          (write-char c p))
-                         ((#\( #\) #\+ #\? #\{ #\} #\|)
-                          (write-char #\[ p)
-                          (write-char c p)
-                          (write-char #\] p))
-                         (else
-                          (write-char c p))))
-                     string))))
-
-(define (match:start match . args)
-  (let* ((matchnum (if (pair? args)
-                      (+ 1 (car args))
-                      1))
-        (start (car (vector-ref match matchnum))))
+                        (case c
+                          ((#\* #\. #\\ #\^ #\$ #\[)
+                           (write-char #\\ p)
+                           (write-char c p))
+                          ((#\( #\) #\+ #\? #\{ #\} #\|)
+                           (write-char #\[ p)
+                           (write-char c p)
+                           (write-char #\] p))
+                          (else
+                           (write-char c p))))
+                      string))))
+
+(define* (match:start match #:optional (n 0))
+  (let ((start (car (vector-ref match (1+ n)))))
     (if (= start -1) #f start)))
 
-(define (match:end match . args)
-  (let* ((matchnum (if (pair? args)
-                      (+ 1 (car args))
-                      1))
-        (end (cdr (vector-ref match matchnum))))
+(define* (match:end match #:optional (n 0))
+  (let* ((end (cdr (vector-ref match (1+ n)))))
     (if (= end -1) #f end)))
 
-(define (match:substring match . args)
-  (let* ((matchnum (if (pair? args)
-                      (car args)
-                      0))
-        (start (match:start match matchnum))
-        (end   (match:end match matchnum)))
+(define* (match:substring match #:optional (n 0))
+  (let* ((start (match:start match n))
+         (end   (match:end match n)))
     (and start end (substring (match:string match) start end))))
 
 (define (string-match pattern str . args)
   (let ((rx (make-regexp pattern))
-       (start (if (pair? args) (car args) 0)))
+        (start (if (pair? args) (car args) 0)))
     (regexp-exec rx str start)))
 
 (define (regexp-substitute port match . items)
@@ -146,22 +137,22 @@
   (if (not port)
       (call-with-output-string
        (lambda (p)
-        (apply regexp-substitute p match items)))
+         (apply regexp-substitute p match items)))
 
       ;; Otherwise, process each substitution argument in `items'.
       (for-each (lambda (obj)
-                 (cond ((string? obj)   (display obj port))
-                       ((integer? obj)  (display (match:substring match obj) 
port))
-                       ((eq? 'pre obj)  (display (match:prefix match) port))
-                       ((eq? 'post obj) (display (match:suffix match) port))
-                       (else (error 'wrong-type-arg obj))))
-               items)))
+                  (cond ((string? obj)   (display obj port))
+                        ((integer? obj)  (display (match:substring match obj) 
port))
+                        ((eq? 'pre obj)  (display (match:prefix match) port))
+                        ((eq? 'post obj) (display (match:suffix match) port))
+                        (else (error 'wrong-type-arg obj))))
+                items)))
 
 ;;; If we call fold-matches, below, with a regexp that can match the
 ;;; empty string, it's not obvious what "all the matches" means.  How
 ;;; many empty strings are there in the string "a"?  Our answer:
 ;;;
-;;;    This function applies PROC to every non-overlapping, maximal
+;;;     This function applies PROC to every non-overlapping, maximal
 ;;;     match of REGEXP in STRING.
 ;;;
 ;;; "non-overlapping": There are two non-overlapping matches of "" in
@@ -176,26 +167,25 @@
 ;;; `b'.  Around or within `xxx', only the match covering all three
 ;;; x's counts, because the rest are not maximal.
 
-(define (fold-matches regexp string init proc . flags)
-  (let ((regexp (if (regexp? regexp) regexp (make-regexp regexp)))
-       (flags (if (null? flags) 0 (car flags))))
+(define* (fold-matches regexp string init proc #:optional (flags 0))
+  (let ((regexp (if (regexp? regexp) regexp (make-regexp regexp))))
     (let loop ((start 0)
-              (value init)
-              (abuts #f))              ; True if start abuts a previous match.
+               (value init)
+               (abuts #f))              ; True if start abuts a previous match.
       (let ((m (if (> start (string-length string)) #f
-                  (regexp-exec regexp string start flags))))
-       (cond
-        ((not m) value)
-        ((and (= (match:start m) (match:end m)) abuts)
-         ;; We matched an empty string, but that would overlap the
-         ;; match immediately before.  Try again at a position
-         ;; further to the right.
-         (loop (+ start 1) value #f))
-        (else
-         (loop (match:end m) (proc m value) #t)))))))
-
-(define (list-matches regexp string . flags)
-  (reverse! (apply fold-matches regexp string '() cons flags)))
+                   (regexp-exec regexp string start flags))))
+        (cond
+         ((not m) value)
+         ((and (= (match:start m) (match:end m)) abuts)
+          ;; We matched an empty string, but that would overlap the
+          ;; match immediately before.  Try again at a position
+          ;; further to the right.
+          (loop (+ start 1) value #f))
+         (else
+          (loop (match:end m) (proc m value) #t)))))))
+
+(define* (list-matches regexp string #:optional (flags 0))
+  (reverse! (fold-matches regexp string '() cons flags)))
 
 (define (regexp-substitute/global port regexp string . items)
 
@@ -203,36 +193,36 @@
   (if (not port)
       (call-with-output-string
        (lambda (p)
-        (apply regexp-substitute/global p regexp string items)))
+         (apply regexp-substitute/global p regexp string items)))
 
       ;; Walk the set of non-overlapping, maximal matches.
       (let next-match ((matches (list-matches regexp string))
-                      (start 0))
-       (if (null? matches)
-           (display (substring string start) port)
-           (let ((m (car matches)))
-
-             ;; Process all of the items for this match.  Don't use
-             ;; for-each, because we need to make sure 'post at the
-             ;; end of the item list is a tail call.
-             (let next-item ((items items))
-
-               (define (do-item item)
-                 (cond
-                  ((string? item)    (display item port))
-                  ((integer? item)   (display (match:substring m item) port))
-                  ((procedure? item) (display (item m) port))
-                  ((eq? item 'pre)
-                   (display
-                    (substring string start (match:start m))
-                    port))
-                  ((eq? item 'post)
-                   (next-match (cdr matches) (match:end m)))
-                  (else (error 'wrong-type-arg item))))
-
-               (if (pair? items)
-                   (if (null? (cdr items))
-                       (do-item (car items)) ; This is a tail call.
-                       (begin
-                         (do-item (car items)) ; This is not.
-                         (next-item (cdr items)))))))))))
+                       (start 0))
+        (if (null? matches)
+            (display (substring string start) port)
+            (let ((m (car matches)))
+
+              ;; Process all of the items for this match.  Don't use
+              ;; for-each, because we need to make sure 'post at the
+              ;; end of the item list is a tail call.
+              (let next-item ((items items))
+
+                (define (do-item item)
+                  (cond
+                   ((string? item)    (display item port))
+                   ((integer? item)   (display (match:substring m item) port))
+                   ((procedure? item) (display (item m) port))
+                   ((eq? item 'pre)
+                    (display
+                     (substring string start (match:start m))
+                     port))
+                   ((eq? item 'post)
+                    (next-match (cdr matches) (match:end m)))
+                   (else (error 'wrong-type-arg item))))
+
+                (if (pair? items)
+                    (if (null? (cdr items))
+                        (do-item (car items)) ; This is a tail call.
+                        (begin
+                          (do-item (car items)) ; This is not.
+                          (next-item (cdr items)))))))))))
diff --git a/module/system/repl/command.scm b/module/system/repl/command.scm
index 0c3d707..7b092e6 100644
--- a/module/system/repl/command.scm
+++ b/module/system/repl/command.scm
@@ -24,6 +24,7 @@
   #:use-module (system base pmatch)
   #:use-module (system base compile)
   #:use-module (system repl common)
+  #:use-module (system repl debug)
   #:use-module (system vm objcode)
   #:use-module (system vm program)
   #:use-module (system vm vm)
@@ -35,6 +36,9 @@
   #:use-module (ice-9 documentation)
   #:use-module (ice-9 and-let-star)
   #:use-module (ice-9 rdelim)
+  #:use-module (ice-9 control)
+  #:use-module ((ice-9 pretty-print) #:select ((pretty-print . pp)))
+  #:use-module ((system vm inspect) #:select ((inspect . %inspect)))
   #:use-module (statprof)
   #:export (meta-command))
 
@@ -44,14 +48,17 @@
 ;;;
 
 (define *command-table*
-  '((help     (help h) (show s) (apropos a) (describe d) (option o) (quit q))
-    (module   (module m) (import i) (load l) (binding b))
+  '((help     (help h) (show s) (apropos a) (describe d))
+    (module   (module m) (import use) (load l) (binding b))
     (language (language L))
     (compile  (compile c) (compile-file cc)
              (disassemble x) (disassemble-file xx))
-    (profile  (time t) (profile pr))
-    (debug    (trace tr))
-    (system   (gc) (statistics stat))))
+    (profile  (time t) (profile pr) (trace tr))
+    (debug    (backtrace bt) (up) (down) (frame fr)
+              (procedure proc) (locals))
+    (inspect  (inspect i) (pretty-print pp))
+    (system   (gc) (statistics stat) (option o)
+              (quit q continue cont))))
 
 (define *show-table*
   '((show (warranty w) (copying c) (version v))))
@@ -61,7 +68,7 @@
 
 (define *command-module* (current-module))
 (define (command-name c) (car c))
-(define (command-abbrev c) (if (null? (cdr c)) #f (cadr c)))
+(define (command-abbrevs c) (cdr c))
 (define (command-procedure c) (module-ref *command-module* (command-name c)))
 (define (command-doc c) (procedure-documentation (command-procedure c)))
 
@@ -88,10 +95,10 @@
          (else (loop groups (cdr commands))))))
 
 (define* (display-group group #:optional (abbrev? #t))
-  (format #t "~:(~A~) Commands [abbrev]:~2%" (group-name group))
+  (format #t "~:(~A~) Commands~:[~; [abbrev]~]:~2%" (group-name group) abbrev?)
   (for-each (lambda (c)
              (display-summary (command-usage c)
-                              (and abbrev? (command-abbrev c))
+                              (if abbrev? (command-abbrevs c) '())
                               (command-summary c)))
            (group-commands group))
   (newline))
@@ -101,12 +108,37 @@
   (display (command-doc command))
   (newline))
 
-(define (display-summary usage abbrev summary)
-  (let ((abbrev (if abbrev (format #f "[,~A]" abbrev) "")))
-    (format #t " ,~24A address@hidden - ~A\n" usage abbrev summary)))
-
-(define (read-datum repl)
-  (read (repl-inport repl)))
+(define (display-summary usage abbrevs summary)
+  (let* ((usage-len (string-length usage))
+         (abbrevs (if (pair? abbrevs)
+                      (format #f "[,~A~{ ,~A~}]" (car abbrevs) (cdr abbrevs))
+                      ""))
+         (abbrevs-len (string-length abbrevs)))
+    (format #t " ,~A~A~A - ~A\n"
+            usage
+            (cond
+             ((> abbrevs-len 32)
+              (error "abbrevs too long" abbrevs))
+             ((> (+ usage-len abbrevs-len) 32)
+              (format #f "~%~v_" (+ 2 (- 32 abbrevs-len))))
+             (else
+              (format #f "~v_" (- 32 abbrevs-len usage-len))))
+            abbrevs
+            summary)))
+
+(define (read-command repl)
+  (catch #t
+    (lambda () (read (pk (repl-inport repl))))
+    (lambda (key . args)
+      (pmatch args
+        ((,subr ,msg ,args . ,rest)
+         (format #t "Throw to key `~a' while reading command:\n" key)
+         (display-error #f (current-output-port) subr msg args rest))
+        (else
+         (format #t "Throw to key `~a' with args `~s' while reading command.\n"
+                 key args)))
+      (force-output)
+      *unspecified*)))
 
 (define read-line
   (let ((orig-read-line read-line))
@@ -114,34 +146,57 @@
       (orig-read-line (repl-inport repl)))))
 
 (define (meta-command repl)
-  (let ((command (read-datum repl)))
-    (if (not (symbol? command))
-        (user-error "Meta-command not a symbol: ~s" command))
-    (let ((c (lookup-command command)))
-      (if c
-          ((command-procedure c) repl)
-          (user-error "Unknown meta command: ~A" command)))))
+  (let ((command (read-command repl)))
+    (cond
+     ((eq? command *unspecified*)) ; read error, already signalled; pass.
+     ((not (symbol? command))
+      (format #t "Meta-command not a symbol: ~s~%" command))
+     ((lookup-command command)
+      => (lambda (c) ((command-procedure c) repl)))
+     (else
+      (format #t "Unknown meta command: ~A~%" command)))))
 
 (define-syntax define-meta-command
   (syntax-rules ()
     ((_ (name repl (expression0 ...) . datums) docstring b0 b1 ...)
      (define (name repl)
        docstring
-       (let* ((expression0
-               (repl-reader ""
-                            (lambda* (#:optional (port (repl-inport repl)))
-                              ((language-reader (repl-language repl))
-                               port (current-module)))))
-              ...)
-         (apply (lambda* datums
-                  (with-output-to-port (repl-outport repl)
-                    (lambda () b0 b1 ...)))
-                (let ((port (open-input-string (read-line repl))))
-                  (let lp ((out '()))
-                    (let ((x (read port)))
-                      (if (eof-object? x)
-                          (reverse out)
-                          (lp (cons x out))))))))))
+       (define (handle-read-error form-name key args)
+         (pmatch args
+           ((,subr ,msg ,args . ,rest)
+            (format #t "Throw to key `~a' while reading address@hidden `~A' of 
~]command `~A':\n"
+                    key form-name 'name)
+            (display-error #f (current-output-port) subr msg args rest))
+           (else
+            (format #t "Throw to key `~a' with args `~s' while reading 
address@hidden argument `~A' of ~]command `~A'.\n"
+                    key args form-name 'name)))
+         (abort))
+       
+       (% (let* ((expression0
+                  (catch #t
+                    (lambda ()
+                      (repl-reader ""
+                                   (lambda* (#:optional (port (repl-inport 
repl)))
+                                     ((language-reader (repl-language repl))
+                                      port (current-module)))))
+                    (lambda (k . args)
+                      (handle-read-error 'expression0 k args))))
+                 ...)
+            (apply (lambda* datums
+                     (with-output-to-port (repl-outport repl)
+                       (lambda () b0 b1 ...)))
+                   (catch #t
+                     (lambda ()
+                       (let ((port (open-input-string (read-line repl))))
+                         (let lp ((out '()))
+                           (let ((x (read port)))
+                             (if (eof-object? x)
+                                 (reverse out)
+                                 (lp (cons x out)))))))
+                     (lambda (k . args)
+                       (handle-read-error #f k args)))))
+          (lambda (k) #f)))) ; the abort handler
+
     ((_ (name repl . datums) docstring b0 b1 ...)
      (define-meta-command (name repl () . datums)
        docstring b0 b1 ...))))
@@ -153,11 +208,8 @@
 ;;;
 
 (define-meta-command (help repl . args)
-  "help 
-help GROUP
-help [-c] COMMAND
-
-Gives help on the meta-commands available at the REPL.
+  "help [all | GROUP | [-c] COMMAND]
+Show help.
 
 With one argument, tries to look up the argument as a group name, giving
 help on that group if successful. Otherwise tries to look up the
@@ -191,16 +243,14 @@ are displayed."
     ((-c ,command) (guard (lookup-command command))
      (display-command (lookup-command command)))
     ((,command)
-     (user-error "Unknown command or group: ~A" command))
+     (format #t "Unknown command or group: ~A~%" command))
     ((-c ,command)
-     (user-error "Unknown command: ~A" command))
+     (format #t "Unknown command: ~A~%" command))
     (else
-     (user-error "Bad arguments: ~A" args))))
+     (format #t "Bad arguments: ~A~%" args))))
 
 (define-meta-command (show repl . args)
-  "show
-show TOPIC
-
+  "show [TOPIC]
 Gives information about Guile.
 
 With one argument, tries to show a particular piece of information;
@@ -216,9 +266,9 @@ Without any argument, a list of topics is displayed."
     ((,topic) (guard (lookup-command topic *show-table*))
      ((command-procedure (lookup-command topic *show-table*)) repl))
     ((,command)
-     (user-error "Unknown topic: ~A" command))
+     (format #t "Unknown topic: ~A~%" command))
     (else
-     (user-error "Bad arguments: ~A" args))))
+     (format #t "Bad arguments: ~A~%" args))))
 
 (define (warranty repl)
   "show warranty
@@ -291,7 +341,7 @@ Import modules / List those imported."
       (let ((mod (resolve-interface name)))
         (if mod
             (module-use! (current-module) mod)
-            (user-error "No such module: ~A" name))))
+            (format #t "No such module: ~A~%" name))))
     (if (null? args)
         (for-each puts (map module-name (module-uses (current-module))))
         (for-each use args))))
@@ -333,7 +383,7 @@ Change languages."
 ;;;
 
 (define-meta-command (compile repl (form))
-  "compile FORM
+  "compile EXP
 Generate compiled code."
   (let ((x (repl-compile repl (repl-parse repl form))))
     (cond ((objcode? x) (guile:disassemble x))
@@ -349,8 +399,8 @@ Compile a file."
   ((@ (language assembly disassemble) disassemble) x))
 
 (define-meta-command (disassemble repl (form))
-  "disassemble PROGRAM
-Disassemble a program."
+  "disassemble EXP
+Disassemble a compiled procedure."
   (guile:disassemble (repl-eval repl (repl-parse repl form))))
 
 (define-meta-command (disassemble-file repl file)
@@ -364,7 +414,7 @@ Disassemble a file."
 ;;;
 
 (define-meta-command (time repl (form))
-  "time FORM
+  "time EXP
 Time execution."
   (let* ((gc-start (gc-run-time))
         (tms-start (times))
@@ -385,21 +435,15 @@ Time execution."
     result))
 
 (define-meta-command (profile repl (form) . opts)
-  "profile FORM
+  "profile EXP
 Profile execution."
   ;; FIXME opts
   (apply statprof
          (make-program (repl-compile repl (repl-parse repl form)))
          opts))
 
-
-
-;;;
-;;; Debug commands
-;;;
-
 (define-meta-command (trace repl (form) . opts)
-  "trace FORM
+  "trace EXP
 Trace execution."
   ;; FIXME: doc options, or somehow deal with them better
   (apply vm-trace
@@ -407,6 +451,139 @@ Trace execution."
          (make-program (repl-compile repl (repl-parse repl form)))
          opts))
 
+
+;;;
+;;; Debug commands
+;;;
+
+(define-syntax define-stack-command
+  (lambda (x)
+    (syntax-case x ()
+      ((_ (name repl . args) docstring body body* ...)
+       #`(define-meta-command (name repl . args)
+           docstring
+           (let ((debug (repl-debug repl)))
+             (if debug
+                 (letrec-syntax
+                     ((#,(datum->syntax #'repl 'frames)
+                       (identifier-syntax (debug-frames debug)))
+                      (#,(datum->syntax #'repl 'index)
+                       (identifier-syntax
+                        (id (debug-index debug))
+                        ((set! id exp) (set! (debug-index debug) exp))))
+                      (#,(datum->syntax #'repl 'cur)
+                       (identifier-syntax
+                        (vector-ref #,(datum->syntax #'repl 'frames)
+                                    #,(datum->syntax #'repl 'index)))))
+                   body body* ...)
+                 (format #t "Nothing to debug.~%"))))))))
+
+(define-stack-command (backtrace repl #:optional count
+                                 #:key (width 72) full?)
+  "backtrace [COUNT] [#:width W] [#:full? F]
+Print a backtrace.
+
+Print a backtrace of all stack frames, or innermost COUNT frames.
+If COUNT is negative, the last COUNT frames will be shown."
+  (print-frames frames 
+                #:count count
+                #:width width
+                #:full? full?))
+      
+(define-stack-command (up repl #:optional (count 1))
+  "up [COUNT]
+Select a calling stack frame.
+
+Select and print stack frames that called this one.
+An argument says how many frames up to go."
+  (cond
+   ((or (not (integer? count)) (<= count 0))
+    (format #t "Invalid argument to `up': expected a positive integer for 
COUNT.~%"))
+   ((>= (+ count index) (vector-length frames))
+    (cond
+     ((= index (1- (vector-length frames)))
+      (format #t "Already at outermost frame.\n"))
+     (else
+      (set! index (1- (vector-length frames)))
+      (print-frame cur #:index index))))
+   (else
+    (set! index (+ count index))
+    (print-frame cur #:index index))))
+
+(define-stack-command (down repl #:optional (count 1))
+  "down [COUNT]
+Select a called stack frame.
+
+Select and print stack frames called by this one.
+An argument says how many frames down to go."
+  (cond
+   ((or (not (integer? count)) (<= count 0))
+    (format #t "Invalid argument to `down': expected a positive integer for 
COUNT.~%"))
+   ((< (- index count) 0)
+    (cond
+     ((zero? index)
+      (format #t "Already at innermost frame.\n"))
+     (else
+      (set! index 0)
+      (print-frame cur #:index index))))
+   (else
+    (set! index (- index count))
+    (print-frame cur #:index index))))
+
+(define-stack-command (frame repl #:optional idx)
+  "frame [IDX]
+Show a frame.
+
+Show the selected frame.
+With an argument, select a frame by index, then show it."
+  (cond
+   (idx
+    (cond
+     ((or (not (integer? idx)) (< idx 0))
+      (format #t "Invalid argument to `frame': expected a non-negative integer 
for IDX.~%"))
+     ((< idx (vector-length frames))
+      (set! index idx)
+      (print-frame cur #:index index))
+     (else
+      (format #t "No such frame.~%"))))
+   (else (print-frame cur #:index index))))
+
+(define-stack-command (procedure repl)
+  "procedure
+Print the procedure for the selected frame.
+
+Foo."
+  (repl-print repl (frame-procedure cur)))
+      
+(define-stack-command (locals repl)
+  "locals
+Show local variables.
+
+Show locally-bound variables in the selected frame."
+  (print-locals cur))
+      
+
+;;;
+;;; Inspection commands
+;;;
+
+(define-stack-command (inspect repl (form))
+  "inspect EXP
+Inspect the result(s) of evaluating EXP."
+  (call-with-values (make-program (repl-compile repl (repl-parse repl form)))
+    (lambda args
+      (for-each %inspect args))))
+
+(define-meta-command (pretty-print repl (form))
+  "pretty-print EXP
+Pretty-print the result(s) of evaluating EXP."
+  (call-with-values (make-program (repl-compile repl (repl-parse repl form)))
+    (lambda args
+      (for-each
+       (lambda (x)
+         (run-hook before-print-hook x)
+         (pp x))
+       args))))
 
 
 ;;;
diff --git a/module/system/repl/common.scm b/module/system/repl/common.scm
index 2d50d44..9d71e99 100644
--- a/module/system/repl/common.scm
+++ b/module/system/repl/common.scm
@@ -26,7 +26,8 @@
   #:use-module (ice-9 control)
   #:export (<repl> make-repl repl-language repl-options
             repl-tm-stats repl-gc-stats repl-inport repl-outport repl-debug
-            repl-welcome repl-prompt repl-read repl-compile repl-eval
+            repl-welcome repl-prompt
+            repl-read repl-compile repl-prepare-eval-thunk repl-eval
             repl-parse repl-print repl-option-ref repl-option-set!
             repl-default-option-set! repl-default-prompt-set!
             puts ->string user-error
@@ -152,18 +153,22 @@ See <http://www.gnu.org/licenses/lgpl.html>, for more 
details.")
   (let ((parser (language-parser (repl-language repl))))
     (if parser (parser form) form)))
 
+(define (repl-prepare-eval-thunk repl form)
+  (let* ((eval (language-evaluator (repl-language repl))))
+    (if (and eval
+             (or (null? (language-compilers (repl-language repl)))
+                 (assq-ref (repl-options repl) 'interp)))
+        (lambda () (eval form (current-module)))
+        (make-program (repl-compile repl form)))))
+
 (define (repl-eval repl form)
-  (let* ((eval (language-evaluator (repl-language repl)))
-         (thunk (if (and eval
-                         (or (null? (language-compilers (repl-language repl)))
-                             (assq-ref (repl-options repl) 'interp)))
-                    (lambda () (eval form (current-module)))
-                    (make-program (repl-compile repl form)))))
+  (let ((thunk (repl-prepare-eval-thunk repl form)))
     (% (thunk))))
 
 (define (repl-print repl val)
   (if (not (eq? val *unspecified*))
       (begin
+        (run-hook before-print-hook val)
         ;; The result of an evaluation is representable in scheme, and
         ;; should be printed with the generic printer, `write'. The
         ;; language-printer is something else: it prints expressions of
diff --git a/module/system/repl/debug.scm b/module/system/repl/debug.scm
new file mode 100644
index 0000000..f9b6af2
--- /dev/null
+++ b/module/system/repl/debug.scm
@@ -0,0 +1,177 @@
+;;; Guile VM debugging facilities
+
+;;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc.
+;;;
+;;; This library is free software; you can redistribute it and/or
+;;; modify it under the terms of the GNU Lesser General Public
+;;; License as published by the Free Software Foundation; either
+;;; version 3 of the License, or (at your option) any later version.
+;;;
+;;; This library is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;;; Lesser General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU Lesser General Public
+;;; License along with this library; if not, write to the Free Software
+;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 
USA
+
+;;; Code:
+
+(define-module (system repl debug)
+  #:use-module (system base pmatch)
+  #:use-module (system base syntax)
+  #:use-module (system base language)
+  #:use-module (system vm vm)
+  #:use-module (system vm frame)
+  #:use-module (ice-9 rdelim)
+  #:use-module (ice-9 pretty-print)
+  #:use-module (ice-9 format)
+  #:use-module ((system vm inspect) #:select ((inspect . %inspect)))
+  #:use-module (system vm program)
+  #:export (<debug>
+            make-debug debug? debug-frames debug-index
+            print-locals print-frame print-frames frame->module
+            stack->vector narrow-stack->vector))
+
+;;; FIXME: add more repl meta-commands: continue, inspect, etc...
+
+;;;
+;;; Debugger
+;;;
+;;; The actual interaction loop of the debugger is run by the repl. This module
+;;; simply exports a data structure to hold the debugger state, along with its
+;;; accessors, and provides some helper functions.
+;;;
+
+(define-record <debug> frames index)
+
+
+
+(define (reverse-hashq h)
+  (let ((ret (make-hash-table)))
+    (hash-for-each
+     (lambda (k v)
+       (hashq-set! ret v (cons k (hashq-ref ret v '()))))
+     h)
+    ret))
+
+(define* (print-locals frame #:optional (port (current-output-port))
+                       #:key (width 72) (per-line-prefix ""))
+  (let ((bindings (frame-bindings frame)))
+    (cond
+     ((null? bindings)
+      (format port "~aNo local variables.~%" per-line-prefix))
+     (else
+      (format port "~aLocal variables:~%" per-line-prefix)
+      (for-each
+       (lambda (binding)
+         (format port "~a~4d ~a~:[~; (boxed)~] = ~v:@y\n"
+                 per-line-prefix
+                 (binding:index binding)
+                 (binding:name binding)
+                 (binding:boxed? binding)
+                 width
+                 (let ((x (frame-local-ref frame (binding:index binding))))
+                   (if (binding:boxed? binding)
+                       (variable-ref x)
+                       x))))
+       (frame-bindings frame))))))
+
+(define* (print-frame frame #:optional (port (current-output-port))
+                      #:key index (width 72) (full? #f) (last-source #f))
+  (define (source:pretty-file source)
+    (if source
+        (or (source:file source) "current input")
+        "unknown file"))
+  (let* ((source (frame-source frame))
+         (file (source:pretty-file source))
+         (line (and=> source source:line)))
+    (if (and file (not (equal? file (source:pretty-file last-source))))
+        (format port "~&In ~a:~&" file))
+    (format port "~:[~*~6_~;~5d:~]~:[~*~3_~;~3d~] ~v:@y~%"
+            line line index index width (frame-call-representation frame))
+    (if full?
+        (print-locals frame #:width width
+                      #:per-line-prefix "     "))))
+
+(define* (print-frames frames
+                       #:optional (port (current-output-port))
+                       #:key (width 72) (full? #f) (forward? #f) count)
+  (let* ((len (vector-length frames))
+         (lower-idx (if (or (not count) (positive? count))
+                        0
+                        (max 0 (+ len count))))
+         (upper-idx (if (and count (negative? count))
+                        (1- len)
+                        (1- (if count (min count len) len))))
+         (inc (if forward? 1 -1)))
+    (let lp ((i (if forward? lower-idx upper-idx))
+             (last-source #f))
+      (if (<= lower-idx i upper-idx)
+          (let* ((frame (vector-ref frames i)))
+            (print-frame frame port #:index i #:width width #:full? full?
+                         #:last-source last-source)
+            (lp (+ i inc) (frame-source frame)))))))
+
+;; Ideally here we would have something much more syntactic, in that a set! to 
a
+;; local var that is not settable would raise an error, and export etc forms
+;; would modify the module in question: but alack, this is what we have now.
+;; Patches welcome!
+(define (frame->module frame)
+  (let ((proc (frame-procedure frame)))
+    (if (program? proc)
+        (let* ((mod (or (program-module proc) (current-module)))
+               (mod* (make-module)))
+          (module-use! mod* mod)
+          (for-each
+           (lambda (binding)
+             (let* ((x (frame-local-ref frame (binding:index binding)))
+                    (var (if (binding:boxed? binding) x (make-variable x))))
+               (format #t
+                       "~:[Read-only~;Mutable~] local variable ~a = ~70:@y\n"
+                       (binding:boxed? binding)
+                       (binding:name binding)
+                       (if (variable-bound? var) (variable-ref var) var))
+               (module-add! mod* (binding:name binding) var)))
+           (frame-bindings frame))
+          mod*)
+        (current-module))))
+
+
+;; TODO:
+;;
+;; eval expression in context of frame
+;; set local variable in frame
+;; step until next instruction
+;; step until next function call/return
+;; step until return from frame
+;; step until different source line
+;; step until greater source line
+;; watch expression
+;; break on a function
+;; remove breakpoints
+;; set printing width
+;; display a truncated backtrace
+;; go to a frame by index
+;; (reuse gdb commands perhaps)
+;; disassemble a function
+;; disassemble the current function
+;; inspect any object
+;; hm, trace via reassigning global vars. tricksy.
+;; (state associated with vm ?)
+
+(define (stack->vector stack)
+  (let* ((len (stack-length stack))
+         (v (make-vector len)))
+    (if (positive? len)
+        (let lp ((i 0) (frame (stack-ref stack 0)))
+          (if (< i len)
+              (begin
+                (vector-set! v i frame)
+                (lp (1+ i) (frame-previous frame))))))
+    v))
+
+(define (narrow-stack->vector stack . args)
+  (stack->vector (apply make-stack (stack-ref stack 0) args)))
+
diff --git a/module/system/repl/error-handling.scm 
b/module/system/repl/error-handling.scm
new file mode 100644
index 0000000..d7d43bd
--- /dev/null
+++ b/module/system/repl/error-handling.scm
@@ -0,0 +1,114 @@
+;;; Error handling in the REPL
+
+;; Copyright (C) 2001, 2009, 2010 Free Software Foundation, Inc.
+
+;; This library is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU Lesser General Public
+;; License as published by the Free Software Foundation; either
+;; version 3 of the License, or (at your option) any later version.
+;; 
+;; This library is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+;; Lesser General Public License for more details.
+;; 
+;; You should have received a copy of the GNU Lesser General Public
+;; License along with this library; if not, write to the Free Software
+;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+;; 02110-1301 USA
+
+;;; Code:
+
+(define-module (system repl error-handling)
+  #:use-module (system base pmatch)
+  #:use-module (system repl debug)
+  #:export (call-with-error-handling
+            with-error-handling))
+
+
+
+
+;;;
+;;; Error handling via repl debugging
+;;;
+
+(define* (call-with-error-handling thunk #:key
+                                   (on-error 'debug) (post-error 'catch)
+                                   (pass-keys '(quit)))
+  (let ((in (current-input-port))
+        (out (current-output-port))
+        (err (current-error-port)))
+    (define (with-saved-ports thunk)
+      (with-input-from-port in
+        (lambda ()
+          (with-output-to-port out
+            (lambda ()
+              (with-error-to-port err
+                thunk))))))
+    
+    (catch #t
+      (lambda () (%start-stack #t thunk))
+
+      (case post-error
+        ((catch)
+         (lambda (key . args)
+           (if (memq key pass-keys)
+               (apply throw key args)
+               (begin
+                 (pmatch args
+                  ((,subr ,msg ,args . ,rest)
+                   (with-saved-ports
+                    (lambda ()
+                      (run-hook before-error-hook)
+                      (display-error #f err subr msg args rest)
+                      (run-hook after-error-hook)
+                      (force-output err))))
+                  (else
+                   (format err "\nERROR: uncaught throw to `~a', args: ~a\n"
+                           key args)))
+                 (if #f #f)))))
+        (else
+         (if (procedure? post-error)
+             post-error ; a handler proc
+             (error "Unknown post-error strategy" post-error))))
+    
+      (case on-error
+        ((debug)
+         (lambda (key . args)
+           (let ((stack (make-stack #t)))
+             (with-saved-ports
+              (lambda ()
+                (pmatch args
+                  ((,subr ,msg ,args . ,rest)
+                   (format #t "Throw to key `~a':\n" key)
+                   (display-error stack (current-output-port) subr msg args 
rest))
+                  (else
+                   (format #t "Throw to key `~a' with args `~s'." key args)))
+                (format #t "Entering a new prompt. Type `,bt' for a backtrace")
+                (format #t " or `,q' to return to the old prompt.\n")
+                (let ((debug
+                       (make-debug
+                        (narrow-stack->vector
+                         stack
+                         ;; Cut three frames from the top of the stack:
+                         ;; make-stack, this one, and the throw handler.
+                         3 
+                         ;; Narrow the end of the stack to the most recent
+                         ;; start-stack.
+                         (and (pair? (fluid-ref %stacks))
+                              (cdar (fluid-ref %stacks))))
+                        0)))
+                  ((@ (system repl repl) start-repl) #:debug debug)))))))
+        ((pass)
+         (lambda (key . args)
+           ;; fall through to rethrow
+           #t))
+        (else
+         (if (procedure? on-error)
+             on-error ; pre-unwind handler
+             (error "Unknown on-error strategy" on-error)))))))
+
+(define-syntax with-error-handling
+  (syntax-rules ()
+    ((_ form)
+     (call-with-error-handling (lambda () form)))))
diff --git a/module/system/repl/repl.scm b/module/system/repl/repl.scm
index 48c6eb0..ce309a9 100644
--- a/module/system/repl/repl.scm
+++ b/module/system/repl/repl.scm
@@ -24,12 +24,18 @@
   #:use-module (system base pmatch)
   #:use-module (system base compile)
   #:use-module (system base language)
+  #:use-module (system vm vm)
+  #:use-module (system repl error-handling)
   #:use-module (system repl common)
   #:use-module (system repl command)
-  #:use-module (system vm vm)
-  #:use-module (system vm debug)
   #:export (start-repl))
 
+
+
+;;;
+;;; Meta commands
+;;;
+
 (define meta-command-token (cons 'meta 'command))
 
 (define (meta-reader read env)
@@ -53,12 +59,25 @@
 ;;
 ;; Catches read errors, returning *unspecified* in that case.
 (define (prompting-meta-read repl)
-  (call-with-error-handling
-   (lambda ()
-     (repl-reader (lambda () (repl-prompt repl))
-                  (meta-reader (language-reader (repl-language repl))
-                               (current-module))))
-   #:on-error 'pass))
+  (catch #t
+    (lambda ()
+      (repl-reader (lambda () (repl-prompt repl))
+                   (meta-reader (language-reader (repl-language repl))
+                                (current-module))))
+    (lambda (key . args)
+      (case key
+        ((quit)
+         (apply throw key args))
+        (else
+         (pmatch args
+           ((,subr ,msg ,args . ,rest)
+            (format #t "Throw to key `~a' while reading expression:\n" key)
+            (display-error #f (current-output-port) subr msg args rest))
+           (else
+            (format #t "Throw to key `~a' with args `~s' while reading 
expression.\n"
+                    key args)))
+         (force-output)
+         *unspecified*)))))
 
 
 
@@ -66,49 +85,53 @@
 ;;; The repl
 ;;;
 
-(define* (start-repl #:optional (lang (current-language)))
-  (let ((repl (make-repl lang))
-        (status #f))
-    (with-fluids ((*repl-stack* (cons repl
-                                      (or (fluid-ref *repl-stack*) '())))
-                  (*debug-input-port*
-                   (or (fluid-ref *debug-input-port*) (current-input-port)))
-                  (*debug-output-port*
-                   (or (fluid-ref *debug-output-port*) (current-output-port))))
-      (if (null? (cdr (fluid-ref *repl-stack*)))
-          (repl-welcome repl))
-      (let prompt-loop ()
-        (let ((exp (prompting-meta-read repl)))
-          (cond
-           ((eqv? exp (if #f #f)))      ; read error, pass
-           ((eq? exp meta-command-token)
-            (with-error-handling (meta-command repl)))
-           ((eof-object? exp)
-            (newline)
-            (set! status '()))
-           (else
-            ;; since the input port is line-buffered, consume up to the
-            ;; newline
-            (flush-to-newline)
-            (with-error-handling
-             (catch 'quit
-               (lambda ()
-                 (call-with-values
-                     (lambda ()
-                       (run-hook before-eval-hook exp)
-                       (start-stack #t
-                                    (repl-eval repl (repl-parse repl exp))))
-                   (lambda l
-                     (for-each (lambda (v)
-                                 (run-hook before-print-hook v)
-                                 (repl-print repl v))
-                               l))))
-               (lambda (k . args)
-                 (set! status args))))))
-          (or status
-              (begin
-                (next-char #f) ;; consume trailing whitespace
-                (prompt-loop))))))))
+(define* (start-repl #:optional (lang (current-language)) #:key debug)
+  (run-repl (make-repl lang debug)))
+
+(define (run-repl repl)
+  (let ((tag (make-prompt-tag "repl ")))
+    (call-with-prompt
+     tag
+     (lambda ()
+       (with-fluids ((*repl-stack*
+                      (cons repl (or (fluid-ref *repl-stack*) '()))))
+         (if (null? (cdr (fluid-ref *repl-stack*)))
+             (repl-welcome repl))
+         (let prompt-loop ()
+           (let ((exp (prompting-meta-read repl)))
+             (cond
+              ((eqv? exp *unspecified*))   ; read error, pass
+              ((eq? exp meta-command-token)
+               (catch 'quit
+                 (lambda () (meta-command repl))
+                 (lambda (k . args)
+                   (abort-to-prompt tag args))))
+              ((eof-object? exp)
+               (newline)
+               (abort-to-prompt tag '()))
+              (else
+               ;; since the input port is line-buffered, consume up to the
+               ;; newline
+               (flush-to-newline)
+               (call-with-error-handling
+                (lambda ()
+                  (catch 'quit
+                    (lambda ()
+                      (call-with-values
+                          (lambda ()
+                            (run-hook before-eval-hook exp)
+                            (start-stack #t
+                                         (repl-eval repl (repl-parse repl 
exp))))
+                        (lambda l
+                          (for-each (lambda (v)
+                                      (repl-print repl v))
+                                    l))))
+                    (lambda (k . args)
+                      (abort-to-prompt tag args)))))))
+             (next-char #f) ;; consume trailing whitespace
+             (prompt-loop)))))
+     (lambda (k status)
+       status))))
 
 (define (next-char wait)
   (if (or wait (char-ready?))
diff --git a/test-suite/tests/syncase.test b/test-suite/tests/syncase.test
index 87d7890..5f48567 100644
--- a/test-suite/tests/syncase.test
+++ b/test-suite/tests/syncase.test
@@ -152,3 +152,71 @@
                    (ciao 1))
                 (current-module))
           "ciao"))
+
+(define qux 30)
+
+(with-test-prefix "identifier-syntax"
+  
+  (pass-if "global reference"
+    (let-syntax ((baz (identifier-syntax qux)))
+      (equal? baz qux)))
+
+  (pass-if "lexical hygienic reference"
+    (let-syntax ((baz (identifier-syntax qux)))
+      (let ((qux 20))
+        (equal? (+ baz qux)
+                50))))
+  
+  (pass-if "lexical hygienic reference (bound)"
+    (let ((qux 20))
+      (let-syntax ((baz (identifier-syntax qux)))
+        (equal? (+ baz qux)
+                40))))
+  
+  (pass-if "global reference (settable)"
+    (let-syntax ((baz (identifier-syntax
+                       (id qux)
+                       ((set! id expr) (set! qux expr)))))
+      (equal? baz qux)))
+
+  (pass-if "lexical hygienic reference (settable)"
+    (let-syntax ((baz (identifier-syntax
+                       (id qux)
+                       ((set! id expr) (set! qux expr)))))
+      (let ((qux 20))
+        (equal? (+ baz qux)
+                50))))
+  
+  (pass-if "lexical hygienic reference (bound, settable)"
+    (let ((qux 20))
+      (let-syntax ((baz (identifier-syntax
+                         (id qux)
+                         ((set! id expr) (set! qux expr)))))
+        (equal? (+ baz qux)
+                40))))
+
+  (pass-if "global set!"
+    (let-syntax ((baz (identifier-syntax
+                       (id qux)
+                       ((set! id expr) (set! qux expr)))))
+      (set! baz 10)
+      (equal? (+ baz qux) 20)))
+
+  (pass-if "lexical hygienic set!"
+    (let-syntax ((baz (identifier-syntax
+                       (id qux)
+                       ((set! id expr) (set! qux expr)))))
+      (and (let ((qux 20))
+             (set! baz 5)
+             (equal? (+ baz qux)
+                     25))
+           (equal? qux 5))))
+  
+  (pass-if "lexical hygienic set! (bound)"
+    (let ((qux 20))
+      (let-syntax ((baz (identifier-syntax
+                         (id qux)
+                         ((set! id expr) (set! qux expr)))))
+        (set! baz 50)
+        (equal? (+ baz qux)
+                100)))))


hooks/post-receive
-- 
GNU Guile



reply via email to

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